@lovrabet/rabetbase-cli 2.2.3 → 2.2.4-beta.2
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/lib/api/api-doc.js +1 -1
- package/lib/api/fetch-model-list.js +1 -1
- package/lib/api/generate-api-file.js +1 -1
- package/lib/auth/auth-server-ui.js +1 -1
- package/lib/auth/auth-server.js +1 -1
- package/lib/auth/constant.js +1 -1
- package/lib/auth/get-cookie.js +1 -1
- package/lib/auth/get-session-user.js +1 -1
- package/lib/auth/is-session-valid.js +1 -1
- package/lib/auth/login-success-html.js +1 -1
- package/lib/auth/logout.js +1 -1
- package/lib/cli-flags.js +1 -1
- package/lib/cli.js +1 -1
- package/lib/commands/api/generate.js +1 -1
- package/lib/commands/api/index.js +1 -1
- package/lib/commands/api/list.js +1 -1
- package/lib/commands/api/pull.js +1 -1
- package/lib/commands/api/shared.js +1 -1
- package/lib/commands/app/add.js +1 -1
- package/lib/commands/app/discover.js +1 -1
- package/lib/commands/app/index.js +1 -1
- package/lib/commands/app/list.js +1 -1
- package/lib/commands/app/remove.js +1 -1
- package/lib/commands/app/shared.js +1 -1
- package/lib/commands/app/use.js +1 -1
- package/lib/commands/auth/index.js +1 -1
- package/lib/commands/bff/create.js +1 -1
- package/lib/commands/bff/delete.js +1 -1
- package/lib/commands/bff/detail.js +1 -1
- package/lib/commands/bff/index.js +1 -1
- package/lib/commands/bff/list.js +1 -1
- package/lib/commands/bff/pull.js +1 -1
- package/lib/commands/bff/push.js +1 -1
- package/lib/commands/bff/status.js +1 -1
- package/lib/commands/cli-update.js +1 -1
- package/lib/commands/codegen/index.js +1 -1
- package/lib/commands/codegen/sdk.js +1 -1
- package/lib/commands/codegen/sql.js +1 -1
- package/lib/commands/common/app-selector.js +1 -1
- package/lib/commands/common/flags.js +1 -1
- package/lib/commands/common/validate.js +1 -1
- package/lib/commands/config/get.js +1 -1
- package/lib/commands/config/index.js +1 -1
- package/lib/commands/config/list.js +1 -1
- package/lib/commands/config/set.js +1 -1
- package/lib/commands/config/shared.js +1 -1
- package/lib/commands/data/filter.js +1 -1
- package/lib/commands/data/getOne.js +1 -1
- package/lib/commands/data/index.js +1 -1
- package/lib/commands/data/shared.js +1 -1
- package/lib/commands/dataset/capability.js +1 -1
- package/lib/commands/dataset/delete.js +1 -1
- package/lib/commands/dataset/detail.js +1 -1
- package/lib/commands/dataset/extend-update.js +1 -1
- package/lib/commands/dataset/field-update.js +1 -1
- package/lib/commands/dataset/index.js +1 -1
- package/lib/commands/dataset/list.js +1 -1
- package/lib/commands/dataset/operations.js +1 -1
- package/lib/commands/dataset/relation-create.js +1 -1
- package/lib/commands/dataset/relation-delete.js +1 -1
- package/lib/commands/dataset/relation-shared.js +1 -1
- package/lib/commands/dataset/relation-update.js +1 -1
- package/lib/commands/dataset/relations.js +1 -1
- package/lib/commands/dataset/rename.js +1 -1
- package/lib/commands/db/analyze-cancel.js +1 -1
- package/lib/commands/db/analyze-start.js +1 -1
- package/lib/commands/db/analyze-status.js +1 -1
- package/lib/commands/db/create.js +1 -1
- package/lib/commands/db/delete.js +1 -1
- package/lib/commands/db/detail.js +1 -1
- package/lib/commands/db/diff.js +1 -1
- package/lib/commands/db/index.js +1 -1
- package/lib/commands/db/list.js +1 -1
- package/lib/commands/db/shared.js +1 -1
- package/lib/commands/db/tables.js +1 -1
- package/lib/commands/db/test.js +1 -1
- package/lib/commands/db/update.js +1 -1
- package/lib/commands/doctor.js +1 -1
- package/lib/commands/init/index.js +1 -1
- package/lib/commands/issue/index.js +1 -1
- package/lib/commands/issue/nudge.js +1 -1
- package/lib/commands/issue/report.js +1 -1
- package/lib/commands/issue/shared.js +1 -1
- package/lib/commands/logs/index.js +1 -1
- package/lib/commands/menu/index.js +1 -1
- package/lib/commands/menu/list.js +1 -1
- package/lib/commands/menu/shared/compare-table.js +1 -1
- package/lib/commands/menu/shared/index.js +1 -1
- package/lib/commands/menu/shared/inquirer.js +1 -1
- package/lib/commands/menu/shared/local-pages.js +1 -1
- package/lib/commands/menu/shared/logic.js +1 -1
- package/lib/commands/menu/shared/service.js +1 -1
- package/lib/commands/menu/shared/sync-core.js +1 -1
- package/lib/commands/menu/shared/update-core.js +1 -1
- package/lib/commands/menu/shared/valid-url.js +1 -1
- package/lib/commands/menu/sync.js +1 -1
- package/lib/commands/menu/update.js +1 -1
- package/lib/commands/page/generate-start.js +1 -1
- package/lib/commands/page/generate-status.js +1 -1
- package/lib/commands/page/index.js +1 -1
- package/lib/commands/page/pull.js +1 -1
- package/lib/commands/page/push.js +1 -1
- package/lib/commands/page/relation-audit.js +1 -1
- package/lib/commands/page/shared.js +1 -1
- package/lib/commands/page/standard-page-status.js +1 -1
- package/lib/commands/page/sync.js +1 -1
- package/lib/commands/project/create/enhanced-guided-create.js +1 -1
- package/lib/commands/project/create/format-elapsed.js +1 -1
- package/lib/commands/project/create/main.js +1 -1
- package/lib/commands/project/create/non-interactive.js +1 -1
- package/lib/commands/project/create/project-template-path.js +1 -1
- package/lib/commands/project/create/use-copy-project-template.js +1 -1
- package/lib/commands/project/create/use-format-code.js +1 -1
- package/lib/commands/project/create/use-install-dependencies.js +1 -1
- package/lib/commands/project/index.js +1 -1
- package/lib/commands/project/init.js +1 -1
- package/lib/commands/project/upgrade.js +1 -1
- package/lib/commands/registry.js +1 -1
- package/lib/commands/run/index.js +1 -1
- package/lib/commands/schema.js +1 -1
- package/lib/commands/skill/index.js +1 -1
- package/lib/commands/sql/create.js +1 -1
- package/lib/commands/sql/delete.js +1 -1
- package/lib/commands/sql/detail.js +1 -1
- package/lib/commands/sql/exec.js +1 -1
- package/lib/commands/sql/index.js +1 -1
- package/lib/commands/sql/list.js +1 -1
- package/lib/commands/sql/pull.js +1 -1
- package/lib/commands/sql/push.js +1 -1
- package/lib/commands/sql/save.js +1 -1
- package/lib/commands/sql/shared.js +1 -1
- package/lib/commands/sql/status.js +1 -1
- package/lib/commands/sql/validate.js +1 -1
- package/lib/config/schema.js +1 -1
- package/lib/constant/cdn.js +1 -1
- package/lib/constant/cli.js +1 -1
- package/lib/constant/defaults.js +1 -1
- package/lib/constant/domain.js +1 -1
- package/lib/constant/env.js +1 -1
- package/lib/constant/output.js +1 -1
- package/lib/constant/paths.js +1 -1
- package/lib/constant/risk.js +1 -1
- package/lib/context.js +1 -1
- package/lib/core/alias-resolver.js +1 -1
- package/lib/core/api-client.js +1 -1
- package/lib/core/bff/config.js +1 -1
- package/lib/core/bff/file-system.js +1 -1
- package/lib/core/bff/hash.js +1 -1
- package/lib/core/bff/lock.js +1 -1
- package/lib/core/bff/utils.js +1 -1
- package/lib/core/db-resolver.js +1 -1
- package/lib/core/page/file-system.js +1 -1
- package/lib/core/page/hash.js +1 -1
- package/lib/core/page/lock.js +1 -1
- package/lib/core/sql-sync/config.js +1 -1
- package/lib/core/sql-sync/file-system.js +1 -1
- package/lib/core/sql-sync/hash.js +1 -1
- package/lib/core/sql-sync/lock.js +1 -1
- package/lib/core/sql-sync/utils.js +1 -1
- package/lib/core/sql-validator.js +1 -1
- package/lib/errors.js +1 -1
- package/lib/framework/build-all-flags.js +1 -1
- package/lib/framework/flags.js +1 -1
- package/lib/framework/help.js +1 -1
- package/lib/framework/index.js +1 -1
- package/lib/framework/output.js +1 -1
- package/lib/framework/response.js +1 -1
- package/lib/framework/runner-alias.js +1 -1
- package/lib/framework/runner.js +1 -1
- package/lib/framework/schema-export.js +1 -1
- package/lib/framework/types.js +1 -1
- package/lib/generated/build-info.js +1 -1
- package/lib/help.js +1 -1
- package/lib/skills/main.js +1 -1
- package/lib/skills/npx-skills-add.js +1 -1
- package/lib/telemetry/cli-command-trace.js +1 -1
- package/lib/telemetry/cli-help-trace.js +1 -1
- package/lib/telemetry/ensure-cli-otel-config.js +1 -1
- package/lib/telemetry/register-otel-exit-shutdown.js +1 -1
- package/lib/telemetry/send-cli-trace-log.js +1 -1
- package/lib/telemetry/send-platform-issue-collect-log.js +1 -1
- package/lib/utils/ai_config.js +1 -1
- package/lib/utils/apply-jq-filter.js +1 -1
- package/lib/utils/cdn-config.js +1 -1
- package/lib/utils/check-sdk-version.js +1 -1
- package/lib/utils/cli-version-check.js +1 -1
- package/lib/utils/cli-version-policy.js +1 -1
- package/lib/utils/config.js +1 -1
- package/lib/utils/copy-directory.js +1 -1
- package/lib/utils/entity-with-id.js +1 -1
- package/lib/utils/file-utils.js +1 -1
- package/lib/utils/guides-cdn.js +1 -1
- package/lib/utils/http-client.js +1 -1
- package/lib/utils/is-non-interactive.js +1 -1
- package/lib/utils/logger.js +1 -1
- package/lib/utils/params.js +1 -1
- package/lib/utils/platform.js +1 -1
- package/lib/utils/rules-cdn.js +1 -1
- package/lib/utils/sleep.js +1 -1
- package/lib/utils/template-replacer.js +1 -1
- package/lib/utils/update-notice.js +1 -1
- package/lib/utils/version.js +1 -1
- package/lib/utils/with-active-cookie.js +1 -1
- package/lib/utils/write-cli-side-channel.js +1 -1
- package/package.json +1 -1
|
@@ -1 +1 @@
|
|
|
1
|
-
(function(
|
|
1
|
+
(function(_0x338340,_0x1d274d){const _0x2f453d=a116_0xaf14,_0x58ccc9=_0x338340();while(!![]){try{const _0x3167f1=-parseInt(_0x2f453d(0xbe))/0x1*(-parseInt(_0x2f453d(0xaa))/0x2)+-parseInt(_0x2f453d(0xcb))/0x3*(-parseInt(_0x2f453d(0xb8))/0x4)+parseInt(_0x2f453d(0xbb))/0x5+-parseInt(_0x2f453d(0xc4))/0x6+-parseInt(_0x2f453d(0xbc))/0x7+parseInt(_0x2f453d(0xc5))/0x8+-parseInt(_0x2f453d(0xc0))/0x9;if(_0x3167f1===_0x1d274d)break;else _0x58ccc9['push'](_0x58ccc9['shift']());}catch(_0x275913){_0x58ccc9['push'](_0x58ccc9['shift']());}}}(a116_0xa66f,0xd4e0e));import{readFileSync,existsSync,renameSync}from'node:fs';import{resolve,dirname,basename}from'node:path';import{fileURLToPath}from'node:url';function a116_0xaf14(_0x1b3379,_0x4c2904){_0x1b3379=_0x1b3379-0x9f;const _0xa66fa3=a116_0xa66f();let _0xaf1460=_0xa66fa3[_0x1b3379];return _0xaf1460;}import a116_0x464d19 from'chalk';function a116_0xa66f(){const _0x1f7888=['Please\x20enter\x20App\x20Code:','.rabetbase.json\x20already\x20exists\x20in\x20current\x20directory.\x20Nothing\x20to\x20do.','apps','toLocaleString','join','version','\x20\x20Default:\x20','.rabetbase.json','\x20\x20appcode:\x20','6350468mhWEXP','string','yellow','1240465ISRSkm','2336845MYkfBP','Migration\x20cancelled.\x20Run\x20`','5kGCacY','../..','12405186zWxjDE','green','1.0.0','?\x20(Old\x20file\x20→\x20*.bak)','9453936SRulkx','9603520mURIwA','defaultApp','env','log','\x20api\x20pull\x27','appcode','3gLnQSa','bold','package.json','\x20api\x20generate\x27\x20and\x20\x27','\x20project\x20init`\x20to\x20start\x20fresh.','parse','gray','utf8','keys','\x20\x20Apps:\x20','App\x20Code\x20cannot\x20be\x20empty','.bak','info','从旧配置文件升级成功','app','Invalid\x20App\x20Code','449458efWUMw','trim','production','cyan','✓\x20Successfully\x20initialized\x20.rabetbase.json\x20in\x20current\x20directory'];a116_0xa66f=function(){return _0x1f7888;};return a116_0xa66f();}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(_0x13c4d0){const _0x66ca5e=a116_0xaf14,{appcode:_0x52eb66,env:_0x243702,autoYes:_0x10ca53}=_0x13c4d0,_0x23ca69=process['cwd']();if(getProjectConfigPath())throw new Error(_0x66ca5e(0xb0));let _0x38f1be;for(const _0x521cbf of LEGACY_CONFIG_NAMES){const _0x43eb9d=resolve(_0x23ca69,_0x521cbf);if(existsSync(_0x43eb9d)){_0x38f1be=_0x43eb9d;break;}}if(_0x38f1be){let _0x2577d6={};try{_0x2577d6=JSON['parse'](readFileSync(_0x38f1be,_0x66ca5e(0xa1)));}catch{}const _0x335ffa=basename(_0x38f1be),_0x23de76=_0x2577d6?.[_0x66ca5e(0xca)]||_0x2577d6?.['app'];let _0x1725d6=_0x10ca53;!_0x10ca53&&(console['log'](a116_0x464d19[_0x66ca5e(0xba)]('⚠\x20Found\x20legacy\x20configuration\x20file:\x20'+a116_0x464d19[_0x66ca5e(0xcc)](_0x335ffa))),_0x23de76&&console[_0x66ca5e(0xc8)](a116_0x464d19[_0x66ca5e(0xad)](_0x66ca5e(0xb7)+_0x23de76)),_0x1725d6=await confirm({'message':'Upgrade\x20it\x20to\x20'+a116_0x464d19[_0x66ca5e(0xcc)](_0x66ca5e(0xb6))+_0x66ca5e(0xc3),'default':!![]}));if(!_0x1725d6){console[_0x66ca5e(0xc8)](_0x66ca5e(0xbd)+CLI_BIN_NAME+_0x66ca5e(0xcf));return;}const _0x2b17a6=resolve(_0x23ca69,NEW_CONFIG_NAME),_0x3e0777=getCliVersionFromPkg(),_0x44a6ea=readRawConfig(),_0x6783af=_0x52eb66||(typeof _0x2577d6?.[_0x66ca5e(0xca)]===_0x66ca5e(0xb9)?_0x2577d6['appcode']:undefined)||(typeof _0x2577d6?.[_0x66ca5e(0xa8)]==='string'?_0x2577d6['app']:undefined)||await askAppcode(),_0xc878f7=typeof _0x2577d6?.[_0x66ca5e(0xc7)]===_0x66ca5e(0xb9)?_0x2577d6['env']:typeof _0x44a6ea[_0x66ca5e(0xc7)]===_0x66ca5e(0xb9)?_0x44a6ea[_0x66ca5e(0xc7)]:_0x66ca5e(0xac),_0x307954=buildCanonicalProjectConfig({..._0x44a6ea,..._0x2577d6},{'appCodes':[_0x6783af],'env':_0xc878f7,'metadata':{'version':_0x3e0777,'migratedAt':new Date()[_0x66ca5e(0xb2)](),'migratedFrom':_0x38f1be}});writeConfigFile(_0x2b17a6,_0x307954);const _0x15eabe=_0x38f1be+_0x66ca5e(0xa5);renameSync(_0x38f1be,_0x15eabe),logger['setLogPath'](_0x23ca69),logger[_0x66ca5e(0xa6)]('init',_0x66ca5e(0xa7),{'from':_0x38f1be,'to':_0x2b17a6,'appcode':_0x6783af,'env':_0x307954[_0x66ca5e(0xc7)]}),console[_0x66ca5e(0xc8)](a116_0x464d19[_0x66ca5e(0xc1)]('✓\x20Upgraded\x20'+_0x335ffa+'\x20→\x20.rabetbase.json')),console[_0x66ca5e(0xc8)](a116_0x464d19['cyan'](_0x66ca5e(0xa3)+Object[_0x66ca5e(0xa2)](_0x307954[_0x66ca5e(0xb1)]||{})[_0x66ca5e(0xb3)](',\x20'))),console[_0x66ca5e(0xc8)](a116_0x464d19[_0x66ca5e(0xad)](_0x66ca5e(0xb5)+_0x307954[_0x66ca5e(0xc6)])),console['log'](a116_0x464d19[_0x66ca5e(0xa0)]('\x20\x20Old\x20file\x20backed\x20up\x20as\x20'+_0x335ffa+'.bak'));return;}const _0x53e5a2=_0x52eb66||await askAppcode(),_0x106fa7=resolve(_0x23ca69,NEW_CONFIG_NAME),_0x54d09a=getCliVersionFromPkg(),_0x820523=readRawConfig(),_0x20b9d7=typeof _0x820523[_0x66ca5e(0xc7)]===_0x66ca5e(0xb9)?_0x820523[_0x66ca5e(0xc7)]:undefined,_0x5c04c2=buildCanonicalProjectConfig({},{'appCodes':[_0x53e5a2],'env':_0x243702||_0x20b9d7||'production','metadata':{'version':_0x54d09a,'createdAt':new Date()[_0x66ca5e(0xb2)]()}});writeConfigFile(_0x106fa7,_0x5c04c2),logger['setLogPath'](_0x23ca69),logger[_0x66ca5e(0xa6)]('init','初始化项目配置文件成功',{'appcode':_0x53e5a2,'env':_0x5c04c2['env'],'version':_0x5c04c2['version'],'configPath':_0x106fa7}),console[_0x66ca5e(0xc8)](a116_0x464d19['green'](_0x66ca5e(0xae))),console[_0x66ca5e(0xc8)](a116_0x464d19[_0x66ca5e(0xad)](_0x66ca5e(0xa3)+Object[_0x66ca5e(0xa2)](_0x5c04c2[_0x66ca5e(0xb1)]||{})[_0x66ca5e(0xb3)](',\x20'))),console['log'](a116_0x464d19['cyan'](_0x66ca5e(0xb5)+_0x5c04c2['defaultApp'])),console[_0x66ca5e(0xc8)]('\x20\x20You\x20can\x20now\x20use\x20commands\x20like\x20\x27'+CLI_BIN_NAME+_0x66ca5e(0xce)+CLI_BIN_NAME+_0x66ca5e(0xc9));}function askAppcode(){const _0x4aa63c=a116_0xaf14;return input({'message':_0x4aa63c(0xaf),'validate':_0x12a46b=>{const _0x5d4f5f=_0x4aa63c;if(!_0x12a46b[_0x5d4f5f(0xab)]())return _0x5d4f5f(0xa4);const {valid:_0x606ce2,message:_0x3b1ffb}=validateAppcode(_0x12a46b[_0x5d4f5f(0xab)]());return _0x606ce2||_0x3b1ffb||_0x5d4f5f(0xa9);}});}function getCliVersionFromPkg(){const _0x41d1d7=a116_0xaf14;try{const _0x3f7b54=fileURLToPath(import.meta.url),_0x1bbb89=resolve(dirname(_0x3f7b54),_0x41d1d7(0xbf)),_0x421109=JSON[_0x41d1d7(0x9f)](readFileSync(resolve(_0x1bbb89,_0x41d1d7(0xcd)),_0x41d1d7(0xa1)));return _0x421109[_0x41d1d7(0xb4)]||_0x41d1d7(0xc2);}catch{return _0x41d1d7(0xc2);}}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
function a117_0x31f8(){const _0x22a4d9=['skipped','yes','Step\x206/7:\x20Install\x20new\x20skill\x20—\x20','Step\x203/7:\x20Legacy\x20artifacts\x20—\x20','not\x20needed','inherit','sdkUpgrade','3990780kcYLxs','not\x20found\x20or\x20already\x20at\x20latest','Step\x207/7:\x20Upgrading\x20@lovrabet/sdk\x20in\x20package.json...','green','detail','log','.lovrabet','oldArtifacts','Step\x207/7:\x20@lovrabet/sdk\x20—\x20','697606zVMTUq','mcpServers','needed','\x20\x20Step\x20','latest','isDirectory','oldMcpConfig','undefined','message','.claude/skills/lovrabet','includes','none\x20found','done','@lovrabet/sdk:','no\x20legacy\x20config\x20found','step','\x20\x20Action:\x20update\x20package.json\x20(you\x20will\x20need\x20to\x20re-run\x20install)','Please\x20re-install\x20dependencies\x20to\x20apply\x20the\x20change:','Some\x20steps\x20failed.\x20Check\x20the\x20summary\x20above\x20for\x20details.','gray','bold','Step\x202/7:\x20Removing\x20.lovrabet/\x20directory...','oldPath','label','\x20\x20Action:\x20migrate\x20→\x20backup\x20old\x20as\x20.bak','Proceed\x20with\x20upgrade?','Skill\x20swap:','keys','some','lovrabet/lovrabet-skill\x20removed','Upgrade\x20@lovrabet/sdk','3990848jXVWOa','4umJVNh','cwd','Config\x20file:','yellow','MCP\x20config:','===\x20Upgrade\x20Analysis\x20===','CANCEL','3537170xGZafD','info','.bak','Remove\x20legacy\x20artifacts','dependencies','stringify','files','string','\x20→\x20keys:\x20','Upgrade\x20completed\x20successfully!','Step\x202/7:\x20.lovrabet/\x20removal\x20failed\x20—\x20','skipped\x20(no\x20legacy\x20config)','\x20\x20npm\x20install','Step\x206/7:\x20Installing\x20new\x20skill...','values','1595667lUdoKe','Config\x20migration','.cursor/mcp.json','fail','Remove\x20.lovrabet/','removed\x20','\x20removed\x20(','start','join','status','cyan','succeed','no\x20matching\x20entry\x20found','not\x20found\x20(will\x20create)','Clean\x20MCP\x20config','@lovrabet/dataset-mcp-server','\x20\x20bun\x20install','[\x22@lovrabet/sdk\x22]:\x20','red','path','Step\x205/7:\x20Remove\x20old\x20skill\x20—\x20','\x20\x20Action:\x20delete','error','\x20\x20#\x20or','Install\x20new\x20skill','@lovrabet/sdk','Step\x204/7:\x20MCP\x20config\x20—\x20','Step\x205/7:\x20Removing\x20old\x20skill...','Remove\x20old\x20skill','utf8','Step\x203/7:\x20Removing\x20legacy\x20IDE\x20skill\x20files...','1383453vIHjEK','args','already\x20exists\x20(will\x20merge)','Step\x202/7:\x20.lovrabet/\x20directory\x20removed','object','needsSkillSwap','parse','FAIL','\x20\x20Current\x20version\x20in\x20','\x20\x20Action:\x20remove\x20entries\x20containing\x20@lovrabet/dataset-mcp-server','fields','push','6ZoZoVN','white','Legacy\x20artifacts:','Step\x201/7:\x20Migrating\x20config...','\x20→\x20','\x20removed','517772qavViT','isArray','skipped\x20(not\x20found\x20or\x20already\x20at\x20latest)','filter','\x20\x20New\x20config\x20(.rabetbase.json):\x20','Upgrade\x20cancelled.','length','devDependencies','package.json','@lovrabet/sdk\x20has\x20been\x20updated\x20to\x20latest\x20in\x20package.json.','failed','entries','lovrabet/rabetbase','\x20from\x20'];a117_0x31f8=function(){return _0x22a4d9;};return a117_0x31f8();}const a117_0xcd8c1c=a117_0x1127;(function(_0x3c662e,_0x5ee658){const _0x1c9208=a117_0x1127,_0x155d23=_0x3c662e();while(!![]){try{const _0x1b0fe8=parseInt(_0x1c9208(0x19b))/0x1+parseInt(_0x1c9208(0x17d))/0x2+-parseInt(_0x1c9208(0x14c))/0x3*(-parseInt(_0x1c9208(0x136))/0x4)+-parseInt(_0x1c9208(0x192))/0x5*(parseInt(_0x1c9208(0x177))/0x6)+parseInt(_0x1c9208(0x13d))/0x7+-parseInt(_0x1c9208(0x135))/0x8+-parseInt(_0x1c9208(0x16b))/0x9;if(_0x1b0fe8===_0x5ee658)break;else _0x155d23['push'](_0x155d23['shift']());}catch(_0x59ca79){_0x155d23['push'](_0x155d23['shift']());}}}(a117_0x31f8,0x848f2));import a117_0x2f4a59 from'chalk';import a117_0x19da61 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[a117_0xcd8c1c(0x180)](_0x3add03=>_0x3add03!==NEW_CONFIG_NAME);function a117_0x1127(_0x24d6e7,_0xc1ea48){_0x24d6e7=_0x24d6e7-0x127;const _0x31f80e=a117_0x31f8();let _0x1127ab=_0x31f80e[_0x24d6e7];return _0x1127ab;}function collectIdeSkillFiles(_0x3028f1){const _0x2def36=a117_0xcd8c1c,_0x26b702=[];for(const _0xed6063 of Object[_0x2def36(0x14b)](CORE_IDE_CONFIGS)){if(_0xed6063[_0x2def36(0x143)])for(const _0x86caf7 of _0xed6063['files']){_0x26b702[_0x2def36(0x176)](resolve(_0x3028f1,_0x86caf7[_0x2def36(0x15f)]));}}return _0x26b702;}function analyse(_0xc68b8f){const _0x17cfdb=a117_0xcd8c1c;let _0x53e0f9=null;const _0x311dfc=resolve(_0xc68b8f,NEW_CONFIG_NAME),_0x2bac7d=existsSync(_0x311dfc);for(const _0x382efa of LEGACY_CONFIG_NAMES){const _0xbe263e=resolve(_0xc68b8f,_0x382efa);if(existsSync(_0xbe263e)){const _0xba3762=readConfigFile(_0xbe263e),_0x19e364=Object['keys'](_0xba3762)[_0x17cfdb(0x180)](_0x530755=>typeof _0xba3762[_0x530755]!==_0x17cfdb(0x1a2));_0x53e0f9={'oldPath':_0xbe263e,'hasNewConfig':_0x2bac7d,'fields':_0x19e364};break;}}const _0x422f8f=[],_0x17ac52=resolve(_0xc68b8f,_0x17cfdb(0x198));if(existsSync(_0x17ac52))_0x422f8f['push'](_0x17ac52);const _0x59ccf7=resolve(_0xc68b8f,'.cursor/rules/lovrabet_rules.mdc');if(existsSync(_0x59ccf7))_0x422f8f[_0x17cfdb(0x176)](_0x59ccf7);const _0x1acc51=resolve(_0xc68b8f,_0x17cfdb(0x1a4));if(existsSync(_0x1acc51))_0x422f8f[_0x17cfdb(0x176)](_0x1acc51);for(const _0x27f1cb of collectIdeSkillFiles(_0xc68b8f)){if(existsSync(_0x27f1cb))_0x422f8f[_0x17cfdb(0x176)](_0x27f1cb);}let _0x18bb03=null;const _0x3bb642=resolve(_0xc68b8f,_0x17cfdb(0x14e));if(existsSync(_0x3bb642))try{const _0x3e2362=JSON[_0x17cfdb(0x171)](readFileSync(_0x3bb642,_0x17cfdb(0x169)));if(_0x3e2362?.[_0x17cfdb(0x19c)]&&typeof _0x3e2362[_0x17cfdb(0x19c)]===_0x17cfdb(0x16f)){const _0x2ab699=[];for(const [_0x413d01,_0xc89872]of Object[_0x17cfdb(0x188)](_0x3e2362[_0x17cfdb(0x19c)])){const _0x4551be=_0xc89872;_0x4551be?.[_0x17cfdb(0x16c)]&&Array[_0x17cfdb(0x17e)](_0x4551be[_0x17cfdb(0x16c)])&&_0x4551be[_0x17cfdb(0x16c)][_0x17cfdb(0x132)](_0x2e521e=>typeof _0x2e521e===_0x17cfdb(0x144)&&_0x2e521e[_0x17cfdb(0x1a5)]('@lovrabet/dataset-mcp-server'))&&_0x2ab699[_0x17cfdb(0x176)](_0x413d01);}_0x2ab699['length']>0x0&&(_0x18bb03={'path':_0x3bb642,'keys':_0x2ab699});}}catch{}const _0x14ae0c=_0x422f8f[_0x17cfdb(0x183)]>0x0||_0x53e0f9!==null;let _0x21ce23=null;const _0x1d0854=resolve(_0xc68b8f,_0x17cfdb(0x185));if(existsSync(_0x1d0854))try{const _0x5da6ba=JSON[_0x17cfdb(0x171)](readFileSync(_0x1d0854,_0x17cfdb(0x169)));for(const _0x131670 of[_0x17cfdb(0x141),_0x17cfdb(0x184)]){const _0x5d9238=_0x5da6ba?.[_0x131670]?.[_0x17cfdb(0x165)];if(typeof _0x5d9238===_0x17cfdb(0x144)){_0x5d9238!==_0x17cfdb(0x19f)&&(_0x21ce23={'pkgPath':_0x1d0854,'currentVersion':_0x5d9238,'field':_0x131670});break;}}}catch{}return{'configMigration':_0x53e0f9,'oldArtifacts':_0x422f8f,'oldMcpConfig':_0x18bb03,'needsSkillSwap':_0x14ae0c,'sdkUpgrade':_0x21ce23};}function printReport(_0x129510){const _0x102f73=a117_0xcd8c1c,{configMigration:_0x5515df,oldArtifacts:_0x1e5c74,oldMcpConfig:_0x546447,needsSkillSwap:_0x8ad8e3}=_0x129510;console[_0x102f73(0x197)](''),console[_0x102f73(0x197)](a117_0x2f4a59[_0x102f73(0x12a)](_0x102f73(0x13b))),console[_0x102f73(0x197)]('');_0x5515df?(console['log'](a117_0x2f4a59[_0x102f73(0x156)](_0x102f73(0x138))+('\x20\x20'+a117_0x2f4a59[_0x102f73(0x139)](_0x5515df['oldPath']))),console[_0x102f73(0x197)](_0x102f73(0x181)+(_0x5515df['hasNewConfig']?a117_0x2f4a59[_0x102f73(0x195)](_0x102f73(0x16d)):a117_0x2f4a59[_0x102f73(0x129)](_0x102f73(0x159)))),console['log']('\x20\x20Fields\x20to\x20migrate:\x20'+_0x5515df[_0x102f73(0x175)][_0x102f73(0x154)](',\x20')),console[_0x102f73(0x197)](_0x102f73(0x12e))):console[_0x102f73(0x197)](a117_0x2f4a59[_0x102f73(0x156)](_0x102f73(0x138))+'\x20\x20'+a117_0x2f4a59[_0x102f73(0x129)](_0x102f73(0x1a9)));console[_0x102f73(0x197)]('');if(_0x1e5c74[_0x102f73(0x183)]>0x0){console[_0x102f73(0x197)](a117_0x2f4a59[_0x102f73(0x156)](_0x102f73(0x179)));for(const _0x37f039 of _0x1e5c74){console[_0x102f73(0x197)]('\x20\x20'+a117_0x2f4a59['red']('FOUND')+'\x20\x20'+_0x37f039);}console[_0x102f73(0x197)](_0x102f73(0x161));}else console[_0x102f73(0x197)](a117_0x2f4a59[_0x102f73(0x156)](_0x102f73(0x179))+'\x20\x20'+a117_0x2f4a59[_0x102f73(0x129)](_0x102f73(0x1a6)));console[_0x102f73(0x197)]('');_0x546447?(console[_0x102f73(0x197)](a117_0x2f4a59[_0x102f73(0x156)](_0x102f73(0x13a))+('\x20\x20'+a117_0x2f4a59[_0x102f73(0x139)](_0x546447[_0x102f73(0x15f)])+_0x102f73(0x145)+_0x546447[_0x102f73(0x131)][_0x102f73(0x154)](',\x20'))),console[_0x102f73(0x197)](_0x102f73(0x174))):console['log'](a117_0x2f4a59[_0x102f73(0x156)](_0x102f73(0x13a))+'\x20\x20'+a117_0x2f4a59[_0x102f73(0x129)]('no\x20legacy\x20entry'));console[_0x102f73(0x197)](''),console['log'](a117_0x2f4a59['cyan'](_0x102f73(0x130))+('\x20\x20'+(_0x8ad8e3?a117_0x2f4a59[_0x102f73(0x139)](_0x102f73(0x19d)):a117_0x2f4a59[_0x102f73(0x195)](_0x102f73(0x18f)))));_0x8ad8e3&&console[_0x102f73(0x197)]('\x20\x20Action:\x20remove\x20old\x20lovrabet/lovrabet-skill,\x20add\x20via\x20`'+NPX_SKILLS_ADD_GLOBAL_COMMAND_LINE+'`');console[_0x102f73(0x197)]('');if(_0x129510['sdkUpgrade']){const {currentVersion:_0x3caae8,field:_0x556428,pkgPath:_0x4a1f4f}=_0x129510[_0x102f73(0x191)];console['log'](a117_0x2f4a59[_0x102f73(0x156)](_0x102f73(0x1a8))+('\x20\x20'+a117_0x2f4a59[_0x102f73(0x139)](_0x4a1f4f))),console[_0x102f73(0x197)](_0x102f73(0x173)+_0x556428+':\x20'+a117_0x2f4a59['yellow'](_0x3caae8)+_0x102f73(0x17b)+a117_0x2f4a59['green'](_0x102f73(0x19f))),console['log'](_0x102f73(0x1ab));}else console[_0x102f73(0x197)](a117_0x2f4a59['cyan'](_0x102f73(0x1a8))+'\x20\x20'+a117_0x2f4a59['gray'](_0x102f73(0x193)));console['log']('');}function execConfigMigration(_0x2989d7,_0xc74212){const _0x34542d=a117_0xcd8c1c,{configMigration:_0x37fb5b}=_0x2989d7;if(!_0x37fb5b?.[_0x34542d(0x12c)])return{'step':0x1,'label':_0x34542d(0x14d),'ok':!![],'detail':_0x34542d(0x148)};const _0x5c3e51=readConfigFile(_0x37fb5b[_0x34542d(0x12c)]),_0x3a1dc5=resolve(_0xc74212,NEW_CONFIG_NAME),_0x2527f6=_0x37fb5b['hasNewConfig']?readConfigFile(_0x3a1dc5):{};for(const [_0x56c8c6,_0x5e2933]of Object[_0x34542d(0x188)](_0x5c3e51)){!(_0x56c8c6 in _0x2527f6)&&(_0x2527f6[_0x56c8c6]=_0x5e2933);}writeConfigFile(_0x3a1dc5,_0x2527f6);const _0x4203f4=_0x37fb5b['oldPath']+_0x34542d(0x13f);return renameSync(_0x37fb5b[_0x34542d(0x12c)],_0x4203f4),{'step':0x1,'label':_0x34542d(0x14d),'ok':!![],'detail':_0x37fb5b['oldPath']+_0x34542d(0x17b)+_0x3a1dc5+'\x20(backup:\x20'+_0x4203f4+')'};}function execRemoveOldArtifacts(_0x4f3a54){const _0x2df13b=a117_0xcd8c1c,_0x431d43=[];for(const _0x10f756 of _0x4f3a54){try{if(!existsSync(_0x10f756))continue;const _0x6f98f2=tryStat(_0x10f756);_0x6f98f2?.[_0x2df13b(0x1a0)]()?rmSync(_0x10f756,{'recursive':!![],'force':!![]}):unlinkSync(_0x10f756);}catch(_0x58f3f2){_0x431d43[_0x2df13b(0x176)](_0x10f756+':\x20'+_0x58f3f2['message']);}}return{'step':0x3,'label':_0x2df13b(0x140),'ok':_0x431d43[_0x2df13b(0x183)]===0x0,'detail':_0x431d43['length']>0x0?_0x4f3a54[_0x2df13b(0x183)]-_0x431d43[_0x2df13b(0x183)]+'/'+_0x4f3a54[_0x2df13b(0x183)]+_0x2df13b(0x152)+_0x431d43['join'](';\x20')+')':_0x4f3a54[_0x2df13b(0x183)]+_0x2df13b(0x17c)};}function execCleanMcp(_0x53318a){const _0x36ffb2=a117_0xcd8c1c;if(!_0x53318a[_0x36ffb2(0x1a1)])return{'step':0x4,'label':_0x36ffb2(0x15a),'ok':!![],'detail':_0x36ffb2(0x18b)};try{const _0x4afb58=readFileSync(_0x53318a[_0x36ffb2(0x1a1)]['path'],_0x36ffb2(0x169)),_0x556768=JSON['parse'](_0x4afb58);if(_0x556768?.[_0x36ffb2(0x19c)]&&typeof _0x556768['mcpServers']===_0x36ffb2(0x16f)){const _0x1cb466=[];for(const [_0x28d3e2,_0x19adf3]of Object[_0x36ffb2(0x188)](_0x556768[_0x36ffb2(0x19c)])){_0x19adf3?.[_0x36ffb2(0x16c)]&&Array[_0x36ffb2(0x17e)](_0x19adf3[_0x36ffb2(0x16c)])&&_0x19adf3[_0x36ffb2(0x16c)][_0x36ffb2(0x132)](_0x5a5dec=>typeof _0x5a5dec===_0x36ffb2(0x144)&&_0x5a5dec[_0x36ffb2(0x1a5)](_0x36ffb2(0x15b)))&&_0x1cb466[_0x36ffb2(0x176)](_0x28d3e2);}for(const _0x413a1c of _0x1cb466){delete _0x556768[_0x36ffb2(0x19c)][_0x413a1c];}return _0x1cb466[_0x36ffb2(0x183)]>0x0&&writeFileSync(_0x53318a[_0x36ffb2(0x1a1)][_0x36ffb2(0x15f)],JSON[_0x36ffb2(0x142)](_0x556768,null,0x2)+'\x0a',_0x36ffb2(0x169)),{'step':0x4,'label':_0x36ffb2(0x15a),'ok':!![],'detail':_0x36ffb2(0x151)+_0x1cb466[_0x36ffb2(0x154)](',\x20')+_0x36ffb2(0x18a)+_0x53318a[_0x36ffb2(0x1a1)][_0x36ffb2(0x15f)]};}return{'step':0x4,'label':_0x36ffb2(0x15a),'ok':!![],'detail':_0x36ffb2(0x158)};}catch(_0x4b3434){return{'step':0x4,'label':_0x36ffb2(0x15a),'ok':![],'detail':_0x4b3434[_0x36ffb2(0x1a3)]};}}function execSkillsRemove(_0x31e434,_0x1cba89){const _0x260960=a117_0xcd8c1c,_0x48adee=runNpxSkillsRemove(_0x31e434,{'stdio':_0x260960(0x190),'yes':_0x1cba89});return{'step':0x5,'label':_0x260960(0x168),'ok':_0x48adee['ok'],'detail':_0x48adee['ok']?_0x260960(0x133):_0x48adee[_0x260960(0x162)]??'exit\x20'+_0x48adee[_0x260960(0x155)]};}function execSkillsAdd(_0x51fc76,_0x5e1b84){const _0x1d276b=a117_0xcd8c1c,_0x5c3795=runNpxSkillsAddGlobal(_0x51fc76,_0x1d276b(0x189),{'stdio':_0x1d276b(0x190),'yes':_0x5e1b84});return{'step':0x6,'label':_0x1d276b(0x164),'ok':_0x5c3795['ok'],'detail':_0x5c3795['ok']?'lovrabet/rabetbase\x20installed\x20globally':_0x5c3795[_0x1d276b(0x162)]??'exit\x20'+_0x5c3795[_0x1d276b(0x155)]};}function execUpgradeSdk(_0x554ec3){const _0x1d8b4c=a117_0xcd8c1c;if(!_0x554ec3['sdkUpgrade'])return{'step':0x7,'label':_0x1d8b4c(0x134),'ok':!![],'detail':_0x1d8b4c(0x17f)};const {pkgPath:_0x12c4c7,currentVersion:_0x13745a,field:_0x519551}=_0x554ec3['sdkUpgrade'];try{const _0x38adf9=readFileSync(_0x12c4c7,_0x1d8b4c(0x169)),_0x39ce98=JSON['parse'](_0x38adf9);return _0x39ce98[_0x519551][_0x1d8b4c(0x165)]=_0x1d8b4c(0x19f),writeFileSync(_0x12c4c7,JSON[_0x1d8b4c(0x142)](_0x39ce98,null,0x2)+'\x0a',_0x1d8b4c(0x169)),{'step':0x7,'label':_0x1d8b4c(0x134),'ok':!![],'detail':_0x519551+_0x1d8b4c(0x15d)+_0x13745a+'\x20→\x20latest'};}catch(_0x362699){return{'step':0x7,'label':'Upgrade\x20@lovrabet/sdk','ok':![],'detail':_0x362699[_0x1d8b4c(0x1a3)]};}}function tryStat(_0x122f2b){try{return statSync(_0x122f2b);}catch{return undefined;}}function printSummary(_0x54acc2){const _0x5675dd=a117_0xcd8c1c;console[_0x5675dd(0x197)](''),console[_0x5675dd(0x197)](a117_0x2f4a59[_0x5675dd(0x12a)]('===\x20Upgrade\x20Summary\x20===')),console['log']('');for(const _0x3c84ae of _0x54acc2){const _0x519e90=_0x3c84ae['ok']?a117_0x2f4a59[_0x5675dd(0x195)]('OK'):a117_0x2f4a59[_0x5675dd(0x15e)](_0x5675dd(0x172));console[_0x5675dd(0x197)]('\x20\x20'+_0x519e90+_0x5675dd(0x19e)+_0x3c84ae[_0x5675dd(0x1aa)]+':\x20'+_0x3c84ae[_0x5675dd(0x12d)]);if(_0x3c84ae[_0x5675dd(0x196)])console[_0x5675dd(0x197)]('\x20\x20\x20\x20\x20\x20\x20'+a117_0x2f4a59[_0x5675dd(0x129)](_0x3c84ae[_0x5675dd(0x196)]));}console[_0x5675dd(0x197)]('');}export async function upgradeApp(_0x2313f1,_0x1992bc){const _0x37aa71=a117_0xcd8c1c,_0x4c5823=process[_0x37aa71(0x137)](),_0x5b147a=analyse(_0x4c5823),_0x318562=!_0x5b147a['configMigration']&&_0x5b147a[_0x37aa71(0x199)][_0x37aa71(0x183)]===0x0&&!_0x5b147a['oldMcpConfig']&&!_0x5b147a[_0x37aa71(0x170)]&&!_0x5b147a['sdkUpgrade'];if(_0x318562){console[_0x37aa71(0x197)](a117_0x2f4a59[_0x37aa71(0x195)]('No\x20legacy\x20artifacts\x20found.\x20Your\x20project\x20is\x20already\x20up-to-date.'));return;}printReport(_0x5b147a);const _0x1c12b2=!!(_0x1992bc[_0x37aa71(0x18c)]||_0x1992bc['Y']||_0x2313f1);if(!_0x1c12b2)try{const _0x1928b1=await askConfirm(_0x37aa71(0x12f));if(!_0x1928b1){console[_0x37aa71(0x197)](a117_0x2f4a59[_0x37aa71(0x129)](_0x37aa71(0x182)));return;}}catch(_0x243ee9){if(_0x243ee9?.[_0x37aa71(0x1a3)]===_0x37aa71(0x13c)){console[_0x37aa71(0x197)](a117_0x2f4a59[_0x37aa71(0x129)]('Upgrade\x20cancelled.'));return;}throw _0x243ee9;}const _0x26b025=[],_0x49c7a3=a117_0x19da61({'text':_0x37aa71(0x17a),'color':'cyan'})['start'](),_0x4979ff=execConfigMigration(_0x5b147a,_0x4c5823);_0x26b025[_0x37aa71(0x176)](_0x4979ff),_0x49c7a3[_0x4979ff['ok']?_0x37aa71(0x157):_0x37aa71(0x14f)]('Step\x201/7:\x20Config\x20migration\x20—\x20'+(_0x4979ff[_0x37aa71(0x196)]??(_0x4979ff['ok']?_0x37aa71(0x1a7):_0x37aa71(0x187))));const _0x4e4d1c=resolve(_0x4c5823,_0x37aa71(0x198)),_0x2772b3=a117_0x19da61({'text':_0x37aa71(0x12b),'color':'cyan'})['start']();if(existsSync(_0x4e4d1c))try{rmSync(_0x4e4d1c,{'recursive':!![],'force':!![]}),_0x2772b3[_0x37aa71(0x157)](_0x37aa71(0x16e)),_0x26b025[_0x37aa71(0x176)]({'step':0x2,'label':_0x37aa71(0x150),'ok':!![]});}catch(_0x22be8c){_0x2772b3[_0x37aa71(0x14f)](_0x37aa71(0x147)+_0x22be8c[_0x37aa71(0x1a3)]),_0x26b025[_0x37aa71(0x176)]({'step':0x2,'label':'Remove\x20.lovrabet/','ok':![],'detail':_0x22be8c[_0x37aa71(0x1a3)]});}else _0x2772b3[_0x37aa71(0x13e)]('Step\x202/7:\x20.lovrabet/\x20not\x20found,\x20skipped'),_0x26b025[_0x37aa71(0x176)]({'step':0x2,'label':_0x37aa71(0x150),'ok':!![],'detail':_0x37aa71(0x18b)});const _0x205ea0=a117_0x19da61({'text':_0x37aa71(0x16a),'color':'cyan'})[_0x37aa71(0x153)](),_0x3dd88b=execRemoveOldArtifacts(_0x5b147a[_0x37aa71(0x199)]);_0x26b025['push'](_0x3dd88b),_0x205ea0[_0x3dd88b['ok']?_0x37aa71(0x157):_0x37aa71(0x14f)](_0x37aa71(0x18e)+(_0x3dd88b[_0x37aa71(0x196)]??(_0x3dd88b['ok']?'done':_0x37aa71(0x187))));const _0x4dc3a3=a117_0x19da61({'text':'Step\x204/7:\x20Cleaning\x20MCP\x20config...','color':_0x37aa71(0x156)})[_0x37aa71(0x153)](),_0x47ebdb=execCleanMcp(_0x5b147a);_0x26b025['push'](_0x47ebdb),_0x4dc3a3[_0x47ebdb['ok']?_0x37aa71(0x157):_0x37aa71(0x14f)](_0x37aa71(0x166)+(_0x47ebdb[_0x37aa71(0x196)]??(_0x47ebdb['ok']?_0x37aa71(0x1a7):_0x37aa71(0x187))));const _0x55bc56=a117_0x19da61({'text':_0x37aa71(0x167),'color':'cyan'})[_0x37aa71(0x153)](),_0x2cec2c=execSkillsRemove(_0x4c5823,_0x1c12b2);_0x26b025[_0x37aa71(0x176)](_0x2cec2c),_0x55bc56[_0x2cec2c['ok']?_0x37aa71(0x157):'fail'](_0x37aa71(0x160)+(_0x2cec2c[_0x37aa71(0x196)]??(_0x2cec2c['ok']?_0x37aa71(0x1a7):_0x37aa71(0x187))));const _0x433143=a117_0x19da61({'text':_0x37aa71(0x14a),'color':'cyan'})[_0x37aa71(0x153)](),_0x3032ee=execSkillsAdd(_0x4c5823,_0x1c12b2);_0x26b025[_0x37aa71(0x176)](_0x3032ee),_0x433143[_0x3032ee['ok']?_0x37aa71(0x157):_0x37aa71(0x14f)](_0x37aa71(0x18d)+(_0x3032ee[_0x37aa71(0x196)]??(_0x3032ee['ok']?_0x37aa71(0x1a7):'failed')));const _0x10672e=a117_0x19da61({'text':_0x37aa71(0x194),'color':_0x37aa71(0x156)})[_0x37aa71(0x153)](),_0xd8e303=execUpgradeSdk(_0x5b147a);_0x26b025[_0x37aa71(0x176)](_0xd8e303),_0x10672e[_0xd8e303['ok']?_0x37aa71(0x157):_0x37aa71(0x14f)](_0x37aa71(0x19a)+(_0xd8e303[_0x37aa71(0x196)]??(_0xd8e303['ok']?_0x37aa71(0x1a7):_0x37aa71(0x187)))),printSummary(_0x26b025);const _0x386f7c=_0x26b025[_0x37aa71(0x132)](_0x264ae5=>!_0x264ae5['ok']);_0x386f7c?console[_0x37aa71(0x197)](a117_0x2f4a59[_0x37aa71(0x139)](_0x37aa71(0x128))):console[_0x37aa71(0x197)](a117_0x2f4a59[_0x37aa71(0x195)](_0x37aa71(0x146))),_0xd8e303['ok']&&_0x5b147a[_0x37aa71(0x191)]&&(console[_0x37aa71(0x197)](''),console[_0x37aa71(0x197)](a117_0x2f4a59[_0x37aa71(0x12a)][_0x37aa71(0x156)](_0x37aa71(0x186))),console[_0x37aa71(0x197)](a117_0x2f4a59[_0x37aa71(0x156)](_0x37aa71(0x127))),console[_0x37aa71(0x197)](''),console[_0x37aa71(0x197)](a117_0x2f4a59['white'](_0x37aa71(0x149))),console['log'](a117_0x2f4a59[_0x37aa71(0x178)](_0x37aa71(0x163))),console[_0x37aa71(0x197)](a117_0x2f4a59[_0x37aa71(0x178)](_0x37aa71(0x15c))),console[_0x37aa71(0x197)](''));}
|
|
1
|
+
const a117_0x143f15=a117_0x1695;(function(_0x43402c,_0x27bf80){const _0x232c82=a117_0x1695,_0x41b6d4=_0x43402c();while(!![]){try{const _0x3a0866=parseInt(_0x232c82(0x1ea))/0x1+-parseInt(_0x232c82(0x223))/0x2+-parseInt(_0x232c82(0x227))/0x3+-parseInt(_0x232c82(0x212))/0x4+parseInt(_0x232c82(0x23c))/0x5*(parseInt(_0x232c82(0x21e))/0x6)+-parseInt(_0x232c82(0x21f))/0x7+-parseInt(_0x232c82(0x1da))/0x8*(-parseInt(_0x232c82(0x213))/0x9);if(_0x3a0866===_0x27bf80)break;else _0x41b6d4['push'](_0x41b6d4['shift']());}catch(_0x20689e){_0x41b6d4['push'](_0x41b6d4['shift']());}}}(a117_0x1480,0xcd0cb));import a117_0x245bc0 from'chalk';import a117_0x33dda3 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';function a117_0x1480(){const _0x52943e=['mcpServers','Step\x202/7:\x20Removing\x20.lovrabet/\x20directory...','Step\x201/7:\x20Migrating\x20config...','step','.cursor/mcp.json','\x20(backup:\x20','status','Step\x206/7:\x20Install\x20new\x20skill\x20—\x20','[\x22@lovrabet/sdk\x22]:\x20','white','exit\x20','bold','No\x20legacy\x20artifacts\x20found.\x20Your\x20project\x20is\x20already\x20up-to-date.','.claude/skills/lovrabet','args','\x20removed\x20(','Install\x20new\x20skill','push','oldPath','sdkUpgrade','993505rgxDWR','entries','parse','none\x20found','Step\x207/7:\x20Upgrading\x20@lovrabet/sdk\x20in\x20package.json...','no\x20matching\x20entry\x20found','values','===\x20Upgrade\x20Summary\x20===','\x20→\x20latest','\x20\x20\x20\x20\x20\x20\x20','red','succeed','.bak','.lovrabet','\x20removed','start','Config\x20migration','Please\x20re-install\x20dependencies\x20to\x20apply\x20the\x20change:','gray','string','join','Remove\x20legacy\x20artifacts','Remove\x20.lovrabet/','Step\x207/7:\x20@lovrabet/sdk\x20—\x20','@lovrabet/dataset-mcp-server','fail','yes','lovrabet/lovrabet-skill\x20removed','\x20\x20Action:\x20remove\x20old\x20lovrabet/lovrabet-skill,\x20add\x20via\x20`','stringify','Upgrade\x20@lovrabet/sdk','24365400cAfRCH','files','CANCEL','skipped','Skill\x20swap:','package.json','not\x20needed','Config\x20file:','object','label','removed\x20','lovrabet/rabetbase\x20installed\x20globally','.cursor/rules/lovrabet_rules.mdc','oldArtifacts','utf8','dependencies','611165xFZfxL','Step\x204/7:\x20MCP\x20config\x20—\x20','some','not\x20found\x20or\x20already\x20at\x20latest','devDependencies','Legacy\x20artifacts:','MCP\x20config:','@lovrabet/sdk:','FAIL','green','cyan','needed','Remove\x20old\x20skill','configMigration','done','oldMcpConfig','filter','not\x20found\x20(will\x20create)','Clean\x20MCP\x20config','keys','info','length','log','already\x20exists\x20(will\x20merge)','Step\x201/7:\x20Config\x20migration\x20—\x20','yellow','inherit','failed','\x20\x20New\x20config\x20(.rabetbase.json):\x20','message','latest','Upgrade\x20cancelled.','Step\x203/7:\x20Legacy\x20artifacts\x20—\x20','Upgrade\x20completed\x20successfully!','Step\x202/7:\x20.lovrabet/\x20removal\x20failed\x20—\x20','undefined','error','isDirectory','@lovrabet/sdk','cwd','5824568nONWIl','9JceBgS','\x20\x20Action:\x20remove\x20entries\x20containing\x20@lovrabet/dataset-mcp-server','isArray','Step\x203/7:\x20Removing\x20legacy\x20IDE\x20skill\x20files...','detail','\x20\x20Action:\x20migrate\x20→\x20backup\x20old\x20as\x20.bak','\x20\x20Step\x20','\x20\x20npm\x20install','no\x20legacy\x20entry','\x20→\x20','\x20\x20#\x20or','6qYVApY','1706208UwyRXp','Step\x202/7:\x20.lovrabet/\x20directory\x20removed','hasNewConfig','path','1247410HCwYPX','no\x20legacy\x20config\x20found','\x20\x20Fields\x20to\x20migrate:\x20','Some\x20steps\x20failed.\x20Check\x20the\x20summary\x20above\x20for\x20details.','2076201rBiYZC'];a117_0x1480=function(){return _0x52943e;};return a117_0x1480();}const LEGACY_CONFIG_NAMES=CONFIG_NAMES[a117_0x143f15(0x1fa)](_0x167dac=>_0x167dac!==NEW_CONFIG_NAME);function collectIdeSkillFiles(_0x5bda95){const _0x1573da=a117_0x143f15,_0x447ca0=[];for(const _0xfd6fcd of Object[_0x1573da(0x242)](CORE_IDE_CONFIGS)){if(_0xfd6fcd[_0x1573da(0x1db)])for(const _0x55afc5 of _0xfd6fcd[_0x1573da(0x1db)]){_0x447ca0[_0x1573da(0x239)](resolve(_0x5bda95,_0x55afc5[_0x1573da(0x222)]));}}return _0x447ca0;}function analyse(_0x4208ad){const _0x45f9ee=a117_0x143f15;let _0x4f3f10=null;const _0x57b35f=resolve(_0x4208ad,NEW_CONFIG_NAME),_0x265c55=existsSync(_0x57b35f);for(const _0x3a3b94 of LEGACY_CONFIG_NAMES){const _0x38ceb5=resolve(_0x4208ad,_0x3a3b94);if(existsSync(_0x38ceb5)){const _0x52e242=readConfigFile(_0x38ceb5),_0x756342=Object[_0x45f9ee(0x1fd)](_0x52e242)[_0x45f9ee(0x1fa)](_0x2d73db=>typeof _0x52e242[_0x2d73db]!==_0x45f9ee(0x20d));_0x4f3f10={'oldPath':_0x38ceb5,'hasNewConfig':_0x265c55,'fields':_0x756342};break;}}const _0x58884b=[],_0x16d22c=resolve(_0x4208ad,_0x45f9ee(0x249));if(existsSync(_0x16d22c))_0x58884b[_0x45f9ee(0x239)](_0x16d22c);const _0x53e308=resolve(_0x4208ad,_0x45f9ee(0x1e6));if(existsSync(_0x53e308))_0x58884b[_0x45f9ee(0x239)](_0x53e308);const _0xfaceaf=resolve(_0x4208ad,_0x45f9ee(0x235));if(existsSync(_0xfaceaf))_0x58884b[_0x45f9ee(0x239)](_0xfaceaf);for(const _0x40bdb4 of collectIdeSkillFiles(_0x4208ad)){if(existsSync(_0x40bdb4))_0x58884b[_0x45f9ee(0x239)](_0x40bdb4);}let _0x1ace58=null;const _0x16a943=resolve(_0x4208ad,_0x45f9ee(0x22c));if(existsSync(_0x16a943))try{const _0xf12f2f=JSON[_0x45f9ee(0x23e)](readFileSync(_0x16a943,_0x45f9ee(0x1e8)));if(_0xf12f2f?.['mcpServers']&&typeof _0xf12f2f[_0x45f9ee(0x228)]===_0x45f9ee(0x1e2)){const _0x20a1af=[];for(const [_0x39b8d0,_0x5e5e9c]of Object['entries'](_0xf12f2f[_0x45f9ee(0x228)])){const _0x54a3f1=_0x5e5e9c;_0x54a3f1?.[_0x45f9ee(0x236)]&&Array[_0x45f9ee(0x215)](_0x54a3f1[_0x45f9ee(0x236)])&&_0x54a3f1[_0x45f9ee(0x236)][_0x45f9ee(0x1ec)](_0x1b2fa7=>typeof _0x1b2fa7===_0x45f9ee(0x1ce)&&_0x1b2fa7['includes']('@lovrabet/dataset-mcp-server'))&&_0x20a1af[_0x45f9ee(0x239)](_0x39b8d0);}_0x20a1af[_0x45f9ee(0x1ff)]>0x0&&(_0x1ace58={'path':_0x16a943,'keys':_0x20a1af});}}catch{}const _0x2f727e=_0x58884b[_0x45f9ee(0x1ff)]>0x0||_0x4f3f10!==null;let _0x2ddf0a=null;const _0xe498b2=resolve(_0x4208ad,_0x45f9ee(0x1df));if(existsSync(_0xe498b2))try{const _0x2b5586=JSON['parse'](readFileSync(_0xe498b2,_0x45f9ee(0x1e8)));for(const _0x20e23e of[_0x45f9ee(0x1e9),_0x45f9ee(0x1ee)]){const _0x138431=_0x2b5586?.[_0x20e23e]?.[_0x45f9ee(0x210)];if(typeof _0x138431===_0x45f9ee(0x1ce)){_0x138431!==_0x45f9ee(0x208)&&(_0x2ddf0a={'pkgPath':_0xe498b2,'currentVersion':_0x138431,'field':_0x20e23e});break;}}}catch{}return{'configMigration':_0x4f3f10,'oldArtifacts':_0x58884b,'oldMcpConfig':_0x1ace58,'needsSkillSwap':_0x2f727e,'sdkUpgrade':_0x2ddf0a};}function a117_0x1695(_0x1cf228,_0x14c8b9){_0x1cf228=_0x1cf228-0x1cd;const _0x1480e3=a117_0x1480();let _0x1695f2=_0x1480e3[_0x1cf228];return _0x1695f2;}function printReport(_0x1904f0){const _0x556c86=a117_0x143f15,{configMigration:_0x1c1e8b,oldArtifacts:_0x22a381,oldMcpConfig:_0x5db8d6,needsSkillSwap:_0x2ea57b}=_0x1904f0;console[_0x556c86(0x200)](''),console[_0x556c86(0x200)](a117_0x245bc0[_0x556c86(0x233)]('===\x20Upgrade\x20Analysis\x20===')),console['log']('');_0x1c1e8b?(console[_0x556c86(0x200)](a117_0x245bc0[_0x556c86(0x1f4)](_0x556c86(0x1e1))+('\x20\x20'+a117_0x245bc0['yellow'](_0x1c1e8b['oldPath']))),console[_0x556c86(0x200)](_0x556c86(0x206)+(_0x1c1e8b[_0x556c86(0x221)]?a117_0x245bc0[_0x556c86(0x1f3)](_0x556c86(0x201)):a117_0x245bc0[_0x556c86(0x1cd)](_0x556c86(0x1fb)))),console[_0x556c86(0x200)](_0x556c86(0x225)+_0x1c1e8b['fields'][_0x556c86(0x1cf)](',\x20')),console[_0x556c86(0x200)](_0x556c86(0x218))):console[_0x556c86(0x200)](a117_0x245bc0[_0x556c86(0x1f4)](_0x556c86(0x1e1))+'\x20\x20'+a117_0x245bc0[_0x556c86(0x1cd)](_0x556c86(0x224)));console['log']('');if(_0x22a381[_0x556c86(0x1ff)]>0x0){console[_0x556c86(0x200)](a117_0x245bc0[_0x556c86(0x1f4)]('Legacy\x20artifacts:'));for(const _0x50fc40 of _0x22a381){console[_0x556c86(0x200)]('\x20\x20'+a117_0x245bc0[_0x556c86(0x246)]('FOUND')+'\x20\x20'+_0x50fc40);}console[_0x556c86(0x200)]('\x20\x20Action:\x20delete');}else console[_0x556c86(0x200)](a117_0x245bc0[_0x556c86(0x1f4)](_0x556c86(0x1ef))+'\x20\x20'+a117_0x245bc0[_0x556c86(0x1cd)](_0x556c86(0x23f)));console[_0x556c86(0x200)]('');_0x5db8d6?(console[_0x556c86(0x200)](a117_0x245bc0[_0x556c86(0x1f4)](_0x556c86(0x1f0))+('\x20\x20'+a117_0x245bc0[_0x556c86(0x203)](_0x5db8d6[_0x556c86(0x222)])+'\x20→\x20keys:\x20'+_0x5db8d6[_0x556c86(0x1fd)][_0x556c86(0x1cf)](',\x20'))),console['log'](_0x556c86(0x214))):console['log'](a117_0x245bc0[_0x556c86(0x1f4)]('MCP\x20config:')+'\x20\x20'+a117_0x245bc0[_0x556c86(0x1cd)](_0x556c86(0x21b)));console['log'](''),console[_0x556c86(0x200)](a117_0x245bc0[_0x556c86(0x1f4)](_0x556c86(0x1de))+('\x20\x20'+(_0x2ea57b?a117_0x245bc0['yellow'](_0x556c86(0x1f5)):a117_0x245bc0['green'](_0x556c86(0x1e0)))));_0x2ea57b&&console['log'](_0x556c86(0x1d7)+NPX_SKILLS_ADD_GLOBAL_COMMAND_LINE+'`');console[_0x556c86(0x200)]('');if(_0x1904f0[_0x556c86(0x23b)]){const {currentVersion:_0x4c921e,field:_0x10797c,pkgPath:_0xb72cfe}=_0x1904f0[_0x556c86(0x23b)];console[_0x556c86(0x200)](a117_0x245bc0['cyan'](_0x556c86(0x1f1))+('\x20\x20'+a117_0x245bc0['yellow'](_0xb72cfe))),console[_0x556c86(0x200)]('\x20\x20Current\x20version\x20in\x20'+_0x10797c+':\x20'+a117_0x245bc0['yellow'](_0x4c921e)+_0x556c86(0x21c)+a117_0x245bc0[_0x556c86(0x1f3)](_0x556c86(0x208))),console[_0x556c86(0x200)]('\x20\x20Action:\x20update\x20package.json\x20(you\x20will\x20need\x20to\x20re-run\x20install)');}else console[_0x556c86(0x200)](a117_0x245bc0['cyan'](_0x556c86(0x1f1))+'\x20\x20'+a117_0x245bc0['gray'](_0x556c86(0x1ed)));console['log']('');}function execConfigMigration(_0x2d9893,_0x2adc12){const _0x1937df=a117_0x143f15,{configMigration:_0x59e323}=_0x2d9893;if(!_0x59e323?.[_0x1937df(0x23a)])return{'step':0x1,'label':_0x1937df(0x24c),'ok':!![],'detail':'skipped\x20(no\x20legacy\x20config)'};const _0x345cdc=readConfigFile(_0x59e323[_0x1937df(0x23a)]),_0xc9269c=resolve(_0x2adc12,NEW_CONFIG_NAME),_0x1b8e1a=_0x59e323[_0x1937df(0x221)]?readConfigFile(_0xc9269c):{};for(const [_0xe92445,_0x2ce919]of Object[_0x1937df(0x23d)](_0x345cdc)){!(_0xe92445 in _0x1b8e1a)&&(_0x1b8e1a[_0xe92445]=_0x2ce919);}writeConfigFile(_0xc9269c,_0x1b8e1a);const _0x42e48e=_0x59e323[_0x1937df(0x23a)]+_0x1937df(0x248);return renameSync(_0x59e323['oldPath'],_0x42e48e),{'step':0x1,'label':'Config\x20migration','ok':!![],'detail':_0x59e323[_0x1937df(0x23a)]+'\x20→\x20'+_0xc9269c+_0x1937df(0x22d)+_0x42e48e+')'};}function execRemoveOldArtifacts(_0x489b32){const _0x4232fd=a117_0x143f15,_0x5426a9=[];for(const _0x2dd8e4 of _0x489b32){try{if(!existsSync(_0x2dd8e4))continue;const _0x43f706=tryStat(_0x2dd8e4);_0x43f706?.[_0x4232fd(0x20f)]()?rmSync(_0x2dd8e4,{'recursive':!![],'force':!![]}):unlinkSync(_0x2dd8e4);}catch(_0x4c3aee){_0x5426a9[_0x4232fd(0x239)](_0x2dd8e4+':\x20'+_0x4c3aee[_0x4232fd(0x207)]);}}return{'step':0x3,'label':_0x4232fd(0x1d0),'ok':_0x5426a9[_0x4232fd(0x1ff)]===0x0,'detail':_0x5426a9[_0x4232fd(0x1ff)]>0x0?_0x489b32[_0x4232fd(0x1ff)]-_0x5426a9[_0x4232fd(0x1ff)]+'/'+_0x489b32[_0x4232fd(0x1ff)]+_0x4232fd(0x237)+_0x5426a9['join'](';\x20')+')':_0x489b32[_0x4232fd(0x1ff)]+_0x4232fd(0x24a)};}function execCleanMcp(_0x4f7bfc){const _0x4ccff2=a117_0x143f15;if(!_0x4f7bfc[_0x4ccff2(0x1f9)])return{'step':0x4,'label':_0x4ccff2(0x1fc),'ok':!![],'detail':_0x4ccff2(0x1dd)};try{const _0x2cf854=readFileSync(_0x4f7bfc[_0x4ccff2(0x1f9)][_0x4ccff2(0x222)],_0x4ccff2(0x1e8)),_0x5d41d6=JSON['parse'](_0x2cf854);if(_0x5d41d6?.[_0x4ccff2(0x228)]&&typeof _0x5d41d6[_0x4ccff2(0x228)]===_0x4ccff2(0x1e2)){const _0x296235=[];for(const [_0x2cef77,_0x609dfa]of Object['entries'](_0x5d41d6['mcpServers'])){_0x609dfa?.['args']&&Array[_0x4ccff2(0x215)](_0x609dfa[_0x4ccff2(0x236)])&&_0x609dfa[_0x4ccff2(0x236)]['some'](_0x5560e2=>typeof _0x5560e2===_0x4ccff2(0x1ce)&&_0x5560e2['includes'](_0x4ccff2(0x1d3)))&&_0x296235[_0x4ccff2(0x239)](_0x2cef77);}for(const _0x540747 of _0x296235){delete _0x5d41d6['mcpServers'][_0x540747];}return _0x296235[_0x4ccff2(0x1ff)]>0x0&&writeFileSync(_0x4f7bfc[_0x4ccff2(0x1f9)][_0x4ccff2(0x222)],JSON[_0x4ccff2(0x1d8)](_0x5d41d6,null,0x2)+'\x0a',_0x4ccff2(0x1e8)),{'step':0x4,'label':_0x4ccff2(0x1fc),'ok':!![],'detail':_0x4ccff2(0x1e4)+_0x296235[_0x4ccff2(0x1cf)](',\x20')+'\x20from\x20'+_0x4f7bfc[_0x4ccff2(0x1f9)][_0x4ccff2(0x222)]};}return{'step':0x4,'label':_0x4ccff2(0x1fc),'ok':!![],'detail':_0x4ccff2(0x241)};}catch(_0x37ead8){return{'step':0x4,'label':_0x4ccff2(0x1fc),'ok':![],'detail':_0x37ead8[_0x4ccff2(0x207)]};}}function execSkillsRemove(_0x76b7ee,_0x353c06){const _0x1d65b7=a117_0x143f15,_0x3247cd=runNpxSkillsRemove(_0x76b7ee,{'stdio':_0x1d65b7(0x204),'yes':_0x353c06});return{'step':0x5,'label':_0x1d65b7(0x1f6),'ok':_0x3247cd['ok'],'detail':_0x3247cd['ok']?_0x1d65b7(0x1d6):_0x3247cd[_0x1d65b7(0x20e)]??_0x1d65b7(0x232)+_0x3247cd[_0x1d65b7(0x22e)]};}function execSkillsAdd(_0x29f310,_0x2a0ac6){const _0x13fc55=a117_0x143f15,_0x505c2e=runNpxSkillsAddGlobal(_0x29f310,'lovrabet/rabetbase',{'stdio':_0x13fc55(0x204),'yes':_0x2a0ac6});return{'step':0x6,'label':_0x13fc55(0x238),'ok':_0x505c2e['ok'],'detail':_0x505c2e['ok']?_0x13fc55(0x1e5):_0x505c2e[_0x13fc55(0x20e)]??_0x13fc55(0x232)+_0x505c2e[_0x13fc55(0x22e)]};}function execUpgradeSdk(_0x384677){const _0x34feef=a117_0x143f15;if(!_0x384677[_0x34feef(0x23b)])return{'step':0x7,'label':_0x34feef(0x1d9),'ok':!![],'detail':'skipped\x20(not\x20found\x20or\x20already\x20at\x20latest)'};const {pkgPath:_0x3f3558,currentVersion:_0x332cad,field:_0x31d0fc}=_0x384677[_0x34feef(0x23b)];try{const _0x4e48e6=readFileSync(_0x3f3558,_0x34feef(0x1e8)),_0x5b76e2=JSON['parse'](_0x4e48e6);return _0x5b76e2[_0x31d0fc][_0x34feef(0x210)]=_0x34feef(0x208),writeFileSync(_0x3f3558,JSON[_0x34feef(0x1d8)](_0x5b76e2,null,0x2)+'\x0a',_0x34feef(0x1e8)),{'step':0x7,'label':_0x34feef(0x1d9),'ok':!![],'detail':_0x31d0fc+_0x34feef(0x230)+_0x332cad+_0x34feef(0x244)};}catch(_0x5901a3){return{'step':0x7,'label':_0x34feef(0x1d9),'ok':![],'detail':_0x5901a3[_0x34feef(0x207)]};}}function tryStat(_0x272c47){try{return statSync(_0x272c47);}catch{return undefined;}}function printSummary(_0x53ba2c){const _0x43b9ab=a117_0x143f15;console[_0x43b9ab(0x200)](''),console[_0x43b9ab(0x200)](a117_0x245bc0[_0x43b9ab(0x233)](_0x43b9ab(0x243))),console[_0x43b9ab(0x200)]('');for(const _0xa8141b of _0x53ba2c){const _0x29617e=_0xa8141b['ok']?a117_0x245bc0[_0x43b9ab(0x1f3)]('OK'):a117_0x245bc0['red'](_0x43b9ab(0x1f2));console[_0x43b9ab(0x200)]('\x20\x20'+_0x29617e+_0x43b9ab(0x219)+_0xa8141b[_0x43b9ab(0x22b)]+':\x20'+_0xa8141b[_0x43b9ab(0x1e3)]);if(_0xa8141b['detail'])console[_0x43b9ab(0x200)](_0x43b9ab(0x245)+a117_0x245bc0[_0x43b9ab(0x1cd)](_0xa8141b[_0x43b9ab(0x217)]));}console['log']('');}export async function upgradeApp(_0x1799eb,_0x38a075){const _0x4cd161=a117_0x143f15,_0x4b9483=process[_0x4cd161(0x211)](),_0x36ef27=analyse(_0x4b9483),_0xbfb3ab=!_0x36ef27[_0x4cd161(0x1f7)]&&_0x36ef27[_0x4cd161(0x1e7)]['length']===0x0&&!_0x36ef27[_0x4cd161(0x1f9)]&&!_0x36ef27['needsSkillSwap']&&!_0x36ef27[_0x4cd161(0x23b)];if(_0xbfb3ab){console[_0x4cd161(0x200)](a117_0x245bc0[_0x4cd161(0x1f3)](_0x4cd161(0x234)));return;}printReport(_0x36ef27);const _0x1cdc41=!!(_0x38a075[_0x4cd161(0x1d5)]||_0x38a075['Y']||_0x1799eb);if(!_0x1cdc41)try{const _0x248263=await askConfirm('Proceed\x20with\x20upgrade?');if(!_0x248263){console['log'](a117_0x245bc0[_0x4cd161(0x1cd)](_0x4cd161(0x209)));return;}}catch(_0x5950da){if(_0x5950da?.[_0x4cd161(0x207)]===_0x4cd161(0x1dc)){console[_0x4cd161(0x200)](a117_0x245bc0[_0x4cd161(0x1cd)](_0x4cd161(0x209)));return;}throw _0x5950da;}const _0x32956a=[],_0x410b54=a117_0x33dda3({'text':_0x4cd161(0x22a),'color':_0x4cd161(0x1f4)})['start'](),_0x2dafb6=execConfigMigration(_0x36ef27,_0x4b9483);_0x32956a[_0x4cd161(0x239)](_0x2dafb6),_0x410b54[_0x2dafb6['ok']?'succeed':_0x4cd161(0x1d4)](_0x4cd161(0x202)+(_0x2dafb6[_0x4cd161(0x217)]??(_0x2dafb6['ok']?_0x4cd161(0x1f8):_0x4cd161(0x205))));const _0x5f2417=resolve(_0x4b9483,'.lovrabet'),_0x4cf0bc=a117_0x33dda3({'text':_0x4cd161(0x229),'color':'cyan'})['start']();if(existsSync(_0x5f2417))try{rmSync(_0x5f2417,{'recursive':!![],'force':!![]}),_0x4cf0bc[_0x4cd161(0x247)](_0x4cd161(0x220)),_0x32956a['push']({'step':0x2,'label':'Remove\x20.lovrabet/','ok':!![]});}catch(_0x3dbdce){_0x4cf0bc[_0x4cd161(0x1d4)](_0x4cd161(0x20c)+_0x3dbdce[_0x4cd161(0x207)]),_0x32956a[_0x4cd161(0x239)]({'step':0x2,'label':_0x4cd161(0x1d1),'ok':![],'detail':_0x3dbdce[_0x4cd161(0x207)]});}else _0x4cf0bc[_0x4cd161(0x1fe)]('Step\x202/7:\x20.lovrabet/\x20not\x20found,\x20skipped'),_0x32956a[_0x4cd161(0x239)]({'step':0x2,'label':_0x4cd161(0x1d1),'ok':!![],'detail':_0x4cd161(0x1dd)});const _0x41872b=a117_0x33dda3({'text':_0x4cd161(0x216),'color':_0x4cd161(0x1f4)})[_0x4cd161(0x24b)](),_0x9367d2=execRemoveOldArtifacts(_0x36ef27[_0x4cd161(0x1e7)]);_0x32956a['push'](_0x9367d2),_0x41872b[_0x9367d2['ok']?_0x4cd161(0x247):_0x4cd161(0x1d4)](_0x4cd161(0x20a)+(_0x9367d2[_0x4cd161(0x217)]??(_0x9367d2['ok']?_0x4cd161(0x1f8):_0x4cd161(0x205))));const _0x36dee7=a117_0x33dda3({'text':'Step\x204/7:\x20Cleaning\x20MCP\x20config...','color':_0x4cd161(0x1f4)})[_0x4cd161(0x24b)](),_0x5c8349=execCleanMcp(_0x36ef27);_0x32956a['push'](_0x5c8349),_0x36dee7[_0x5c8349['ok']?_0x4cd161(0x247):'fail'](_0x4cd161(0x1eb)+(_0x5c8349[_0x4cd161(0x217)]??(_0x5c8349['ok']?'done':_0x4cd161(0x205))));const _0x46add1=a117_0x33dda3({'text':'Step\x205/7:\x20Removing\x20old\x20skill...','color':'cyan'})[_0x4cd161(0x24b)](),_0x33867e=execSkillsRemove(_0x4b9483,_0x1cdc41);_0x32956a[_0x4cd161(0x239)](_0x33867e),_0x46add1[_0x33867e['ok']?_0x4cd161(0x247):'fail']('Step\x205/7:\x20Remove\x20old\x20skill\x20—\x20'+(_0x33867e[_0x4cd161(0x217)]??(_0x33867e['ok']?_0x4cd161(0x1f8):_0x4cd161(0x205))));const _0x28b1db=a117_0x33dda3({'text':'Step\x206/7:\x20Installing\x20new\x20skill...','color':_0x4cd161(0x1f4)})[_0x4cd161(0x24b)](),_0x43c714=execSkillsAdd(_0x4b9483,_0x1cdc41);_0x32956a[_0x4cd161(0x239)](_0x43c714),_0x28b1db[_0x43c714['ok']?_0x4cd161(0x247):'fail'](_0x4cd161(0x22f)+(_0x43c714['detail']??(_0x43c714['ok']?_0x4cd161(0x1f8):_0x4cd161(0x205))));const _0x3dbc15=a117_0x33dda3({'text':_0x4cd161(0x240),'color':_0x4cd161(0x1f4)})[_0x4cd161(0x24b)](),_0x2a5094=execUpgradeSdk(_0x36ef27);_0x32956a[_0x4cd161(0x239)](_0x2a5094),_0x3dbc15[_0x2a5094['ok']?_0x4cd161(0x247):_0x4cd161(0x1d4)](_0x4cd161(0x1d2)+(_0x2a5094[_0x4cd161(0x217)]??(_0x2a5094['ok']?_0x4cd161(0x1f8):_0x4cd161(0x205)))),printSummary(_0x32956a);const _0x4146dc=_0x32956a[_0x4cd161(0x1ec)](_0x1bb185=>!_0x1bb185['ok']);_0x4146dc?console[_0x4cd161(0x200)](a117_0x245bc0['yellow'](_0x4cd161(0x226))):console[_0x4cd161(0x200)](a117_0x245bc0[_0x4cd161(0x1f3)](_0x4cd161(0x20b))),_0x2a5094['ok']&&_0x36ef27[_0x4cd161(0x23b)]&&(console[_0x4cd161(0x200)](''),console['log'](a117_0x245bc0[_0x4cd161(0x233)][_0x4cd161(0x1f4)]('@lovrabet/sdk\x20has\x20been\x20updated\x20to\x20latest\x20in\x20package.json.')),console[_0x4cd161(0x200)](a117_0x245bc0[_0x4cd161(0x1f4)](_0x4cd161(0x24d))),console[_0x4cd161(0x200)](''),console[_0x4cd161(0x200)](a117_0x245bc0[_0x4cd161(0x231)](_0x4cd161(0x21a))),console[_0x4cd161(0x200)](a117_0x245bc0['white'](_0x4cd161(0x21d))),console[_0x4cd161(0x200)](a117_0x245bc0[_0x4cd161(0x231)]('\x20\x20bun\x20install')),console[_0x4cd161(0x200)](''));}
|
package/lib/commands/registry.js
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
const
|
|
1
|
+
const a118_0x5e1e24=a118_0x2e66;(function(_0x5b37db,_0x142ab4){const _0x371459=a118_0x2e66,_0x1951c4=_0x5b37db();while(!![]){try{const _0x453f87=parseInt(_0x371459(0x7e))/0x1+parseInt(_0x371459(0x98))/0x2*(-parseInt(_0x371459(0x84))/0x3)+parseInt(_0x371459(0xa0))/0x4*(-parseInt(_0x371459(0x76))/0x5)+-parseInt(_0x371459(0x87))/0x6+-parseInt(_0x371459(0x9e))/0x7*(-parseInt(_0x371459(0x8d))/0x8)+parseInt(_0x371459(0x6f))/0x9*(-parseInt(_0x371459(0x9b))/0xa)+-parseInt(_0x371459(0x8b))/0xb*(-parseInt(_0x371459(0x78))/0xc);if(_0x453f87===_0x142ab4)break;else _0x1951c4['push'](_0x1951c4['shift']());}catch(_0x36959f){_0x1951c4['push'](_0x1951c4['shift']());}}}(a118_0x20a8,0x58a5d));import{apiDefinitions}from'../commands/api/index.js';import{bffDefinitions}from'../commands/bff/index.js';import{sqlDefinitions}from'../commands/sql/index.js';import{datasetDefinitions}from'../commands/dataset/index.js';function a118_0x2e66(_0x4157e6,_0x1a750b){_0x4157e6=_0x4157e6-0x6c;const _0x20a863=a118_0x20a8();let _0x2e66f9=_0x20a863[_0x4157e6];return _0x2e66f9;}import{pageDefinitions}from'../commands/page/index.js';import{dataDefinitions}from'../commands/data/index.js';import{dbDefinitions}from'../commands/db/index.js';import{codegenDefinitions}from'../commands/codegen/index.js';import{menuDefinitions}from'../commands/menu/index.js';import{appDefinitions}from'../commands/app/index.js';import{configDefinitions}from'../commands/config/index.js';import{doctorDefinition}from'../commands/doctor.js';import{updateDefinition}from'../commands/cli-update.js';import{schemaDefinition}from'../commands/schema.js';import{issueDefinitions}from'../commands/issue/index.js';import{authDefinitions}from'../commands/auth/index.js';import{logsDefinitions}from'../commands/logs/index.js';import{skillDefinitions}from'../commands/skill/index.js';import{projectDefinitions}from'../commands/project/index.js';import{initDefinitions}from'../commands/init/index.js';import{runDefinition}from'../commands/run/index.js';export const serviceRegistry=[];const serviceByName=new Map();export const definitions=new Map();export const serviceGroups=new Map();function registerDefinitions(_0x404955){const _0xc7bd35=a118_0x2e66;for(const _0x42f219 of _0x404955){definitions[_0xc7bd35(0x70)](_0x42f219['service']+':'+_0x42f219[_0xc7bd35(0x96)],_0x42f219);let _0x24d5cc=serviceGroups[_0xc7bd35(0xa2)](_0x42f219[_0xc7bd35(0x82)]);!_0x24d5cc&&(_0x24d5cc=[],serviceGroups[_0xc7bd35(0x70)](_0x42f219[_0xc7bd35(0x82)],_0x24d5cc)),_0x24d5cc[_0xc7bd35(0x75)](_0x42f219);}}function registerDeclarativeService(_0x136197,_0x4ae0bb,_0x7d4f06){const _0x2f551d=a118_0x2e66;registerDefinitions(_0x4ae0bb);_0x7d4f06?.[_0x2f551d(0x7a)]&®isterDefinitions([_0x7d4f06[_0x2f551d(0x7a)]]);const _0x13cc4f=_0x5bb70d=>_0x5bb70d===_0x2f551d(0x8f)?'':_0x5bb70d===_0x2f551d(0x93)?'\x20\x20[write]':_0x2f551d(0x71),_0x158ac7={'service':_0x4ae0bb[0x0][_0x2f551d(0x82)],'label':_0x136197,'commands':_0x4ae0bb[_0x2f551d(0x7b)](_0x5da28e=>({'command':_0x5da28e[_0x2f551d(0x96)],'description':_0x5da28e['description'],'tag':_0x13cc4f(_0x5da28e[_0x2f551d(0x89)])})),'declarative':!![],'defaultCommand':_0x7d4f06?.[_0x2f551d(0x91)]??(_0x7d4f06?.[_0x2f551d(0x90)]?_0x4ae0bb[0x0][_0x2f551d(0x96)]:undefined),'wildcardDef':_0x7d4f06?.[_0x2f551d(0x7a)],'isSingleCommand':_0x7d4f06?.[_0x2f551d(0x90)]};serviceRegistry[_0x2f551d(0x75)](_0x158ac7),serviceByName[_0x2f551d(0x70)](_0x158ac7[_0x2f551d(0x82)],_0x158ac7);}registerDeclarativeService('Quick\x20Start',initDefinitions,{'defaultCommand':a118_0x5e1e24(0x94),'isSingleCommand':!![]}),registerDeclarativeService(a118_0x5e1e24(0x8a),projectDefinitions),registerDeclarativeService(a118_0x5e1e24(0x85),appDefinitions),registerDeclarativeService(a118_0x5e1e24(0x7c),[runDefinition],{'wildcardDef':runDefinition});{const last=serviceRegistry[serviceRegistry[a118_0x5e1e24(0x74)]-0x1];last[a118_0x5e1e24(0x6e)]=[{'command':a118_0x5e1e24(0x77),'description':a118_0x5e1e24(0x86),'tag':''}];}registerDeclarativeService(a118_0x5e1e24(0x9a),authDefinitions,{'defaultCommand':a118_0x5e1e24(0x92)}),registerDeclarativeService(a118_0x5e1e24(0x9d),[updateDefinition],{'isSingleCommand':!![]}),registerDeclarativeService(a118_0x5e1e24(0x88),[doctorDefinition],{'isSingleCommand':!![]}),registerDeclarativeService(a118_0x5e1e24(0x95),[schemaDefinition],{'isSingleCommand':!![]}),registerDeclarativeService(a118_0x5e1e24(0x7f),configDefinitions),registerDeclarativeService(a118_0x5e1e24(0x79),issueDefinitions),registerDeclarativeService(a118_0x5e1e24(0x7d),apiDefinitions),registerDeclarativeService('Menu',menuDefinitions),registerDeclarativeService(a118_0x5e1e24(0x6d),dbDefinitions),registerDeclarativeService('Dataset\x20&\x20Operations',datasetDefinitions),registerDeclarativeService(a118_0x5e1e24(0x9f),pageDefinitions),registerDeclarativeService(a118_0x5e1e24(0x99),dataDefinitions),registerDeclarativeService(a118_0x5e1e24(0x6c),bffDefinitions),registerDeclarativeService('SQL\x20Queries',sqlDefinitions),registerDeclarativeService('Code\x20Generation',codegenDefinitions),registerDeclarativeService(a118_0x5e1e24(0xa1),skillDefinitions),registerDeclarativeService('Logs',logsDefinitions,{'defaultCommand':a118_0x5e1e24(0x9c)});function a118_0x20a8(){const _0x2a9c52=['App\x20Management','Run\x20any\x20package.json\x20script','1541682cFaxgM','Diagnostics','risk','Project','3603292TRKqio','skill','263904gbIHAN','values','read','isSingleCommand','defaultCommand','login','write','run','Schema','command','logout','10DlZikq','Instant\x20API','Authentication','960230zXiqKG','show','Self\x20Update','133ZOIJLD','Smart\x20List\x20Pages','358700NIpTsz','Skills','get','BFF\x20Scripts','Database\x20Connections','commands','45VProaK','set','\x20\x20[high-risk-write]','project','from','length','push','5TedFUq','<script>','24QfEyjk','Platform\x20Issue','wildcardDef','map','Run\x20Scripts','API','493647mJTIxP','Configuration','create','start','service','has','351435XcjopO'];a118_0x20a8=function(){return _0x2a9c52;};return a118_0x20a8();}export const deprecatedAliases={'create':{'service':a118_0x5e1e24(0x72),'command':'create'},'start':{'service':a118_0x5e1e24(0x94),'command':a118_0x5e1e24(0x81)},'build':{'service':a118_0x5e1e24(0x94),'command':'build'},'preview':{'service':a118_0x5e1e24(0x94),'command':'preview'},'logout':{'service':'auth','command':a118_0x5e1e24(0x97)},'skills':{'service':a118_0x5e1e24(0x8c),'command':'install'}};export const deprecatedSubcommands={'bff':{'new':a118_0x5e1e24(0x80)},'sql':{'new':a118_0x5e1e24(0x80)}};export function resolveDeprecatedSubcommand(_0x299f7d,_0x159f04){return deprecatedSubcommands[_0x299f7d]?.[_0x159f04];}export function findDefinition(_0x231ee6,_0xb77459){const _0xc61e1a=a118_0x5e1e24;return definitions[_0xc61e1a(0xa2)](_0x231ee6+':'+_0xb77459);}export function isKnownService(_0x381fc5){const _0x59af85=a118_0x5e1e24;return serviceByName[_0x59af85(0x83)](_0x381fc5);}export function isDeclarativeService(_0x8b3b95){const _0x4374dc=a118_0x5e1e24;return serviceGroups['has'](_0x8b3b95)||serviceByName[_0x4374dc(0xa2)](_0x8b3b95)?.[_0x4374dc(0x7a)]!==undefined;}export function getServiceEntry(_0x3244cb){const _0x3e4f67=a118_0x5e1e24;return serviceByName[_0x3e4f67(0xa2)](_0x3244cb);}export function getLegacyHandler(_0x1c9e4d,_0x24b247){return undefined;}export function getAllDefinitions(){const _0x316ea2=a118_0x5e1e24;return Array[_0x316ea2(0x73)](definitions[_0x316ea2(0x8e)]());}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
const
|
|
1
|
+
const a119_0x30110c=a119_0x9dec;function a119_0x9dec(_0x1873c1,_0x513edb){_0x1873c1=_0x1873c1-0x6e;const _0x12eee8=a119_0x12ee();let _0x9dec78=_0x12eee8[_0x1873c1];return _0x9dec78;}(function(_0x171f83,_0x571fab){const _0xc11389=a119_0x9dec,_0x39784c=_0x171f83();while(!![]){try{const _0x245aee=parseInt(_0xc11389(0x8c))/0x1*(-parseInt(_0xc11389(0xb0))/0x2)+parseInt(_0xc11389(0x7c))/0x3+parseInt(_0xc11389(0x88))/0x4*(parseInt(_0xc11389(0x93))/0x5)+-parseInt(_0xc11389(0x8b))/0x6+-parseInt(_0xc11389(0x91))/0x7*(parseInt(_0xc11389(0x92))/0x8)+parseInt(_0xc11389(0x94))/0x9*(-parseInt(_0xc11389(0x7d))/0xa)+parseInt(_0xc11389(0x9a))/0xb;if(_0x245aee===_0x571fab)break;else _0x39784c['push'](_0x39784c['shift']());}catch(_0x274955){_0x39784c['push'](_0x39784c['shift']());}}}(a119_0x12ee,0x8a5c6));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([a119_0x30110c(0xa7),a119_0x30110c(0x90)]);function readPackageScripts(_0x47164e){const _0x215cb3=a119_0x30110c,_0x5dc7ae=resolve(_0x47164e,_0x215cb3(0xa3));if(!existsSync(_0x5dc7ae))return null;try{const _0x31d9c0=JSON['parse'](readFileSync(_0x5dc7ae,_0x215cb3(0x76)));return _0x31d9c0[_0x215cb3(0x81)]??{};}catch{return null;}}function detectPackageManager(_0x29dd29){const _0xbb38e9=a119_0x30110c;if(existsSync(resolve(_0x29dd29,_0xbb38e9(0x7f)))||existsSync(resolve(_0x29dd29,_0xbb38e9(0xa2))))return _0xbb38e9(0x8d);if(existsSync(resolve(_0x29dd29,_0xbb38e9(0xa8))))return _0xbb38e9(0x71);if(existsSync(resolve(_0x29dd29,'yarn.lock')))return'yarn';return _0xbb38e9(0xa6);}function a119_0x12ee(){const _0x271b07=['preview','\x20\x20AVAILABLE\x20SCRIPTS\x20\x20(current\x20project)','Script\x20name\x20defined\x20in\x20package.json','validation','length','bun.lock','package.json','map','\x20run\x20','npm','start','pnpm-lock.yaml','Run\x20a\x20package.json\x20script','max','\x20run\x20preview\x20--watch\x20\x20\x20#\x20parallel\x20build\x20--watch\x20+\x20preview','--watch','run','\x20run\x20preview','Script\x20\x22','1168wIYPoB','\x0a\x20\x20Usage:\x20','close','Available:\x20','push','pnpm','read','belowMinimum','padEnd','entries','utf-8','inherit','\x20exited\x20with\x20code\x20','script','args','vite','1471011nBUGHN','1198850kaMgJQ','watch','bun.lockb','No\x20package.json\x20found\x20in\x20current\x20directory.','scripts','\x0a\x20\x20Available\x20scripts:\x0a','vite\x20preview\x20exited\x20with\x20code\x20','\x20run\x20<script>\x0a','vite\x20build\x20--watch\x20exited\x20with\x20code\x20','needsUpgrade','.bin','4NwoQvU','node_modules','boolean','4912824pedZlS','1258MeVBvH','bun','\x20\x20\x20\x20','cwd','dev','7gTVLHx','8446608oAuKbp','4449575OGaGeh','45YykwgO','Enable\x20watch\x20mode\x20for\x20preview','(none)','\x20run\x20build','log','error','26347211CcHkBP','build','keys'];a119_0x12ee=function(){return _0x271b07;};return a119_0x12ee();}async function versionCheck(_0x38d482){const _0x34ad67=a119_0x30110c,_0x5d2b79=await checkCliVersion();(_0x5d2b79[_0x34ad67(0x86)]||_0x5d2b79[_0x34ad67(0x73)])&&(printCliUpgradeWarning(_0x5d2b79),assertCliVersionSupported(_0x5d2b79));const _0x24ebab=await checkSdkVersion(_0x38d482);if(_0x24ebab[_0x34ad67(0x86)])printSdkUpgradeWarning(_0x24ebab);}function spawnScript(_0x552e6d,_0x1da540,_0x243428,_0x540f8a){return new Promise((_0x1ed899,_0x4aba6e)=>{const _0x532801=a119_0x9dec,_0x16e2d0=[_0x532801(0xad),_0x1da540,..._0x243428],_0x433690=spawn(_0x552e6d,_0x16e2d0,{'cwd':_0x540f8a,'stdio':_0x532801(0x77),'shell':!![],'env':{...process.env,'PATH':''+join(_0x540f8a,'node_modules','.bin')+delimiter+process.env.PATH}});_0x433690['on'](_0x532801(0x6e),_0x2a37b9=>{const _0x8c793c=_0x532801;if(_0x2a37b9===0x0||_0x2a37b9===null)_0x1ed899();else _0x4aba6e(new Error(_0x552e6d+_0x8c793c(0xa5)+_0x1da540+_0x8c793c(0x78)+_0x2a37b9));}),_0x433690['on'](_0x532801(0x99),_0x4aba6e);});}function spawnViteBuildWatch(_0x5ab524){return new Promise((_0x2376df,_0xe246e2)=>{const _0x10211c=a119_0x9dec,_0x39f1cb=spawn(_0x10211c(0x7b),[_0x10211c(0x9b),_0x10211c(0xac)],{'cwd':_0x5ab524,'stdio':_0x10211c(0x77),'shell':!![],'env':{...process.env,'PATH':''+join(_0x5ab524,_0x10211c(0x89),'.bin')+delimiter+process.env.PATH}});_0x39f1cb['on'](_0x10211c(0x6e),_0x12ad5f=>{const _0x16c3d2=_0x10211c;if(_0x12ad5f===0x0||_0x12ad5f===null)_0x2376df();else _0xe246e2(new Error(_0x16c3d2(0x85)+_0x12ad5f));}),_0x39f1cb['on'](_0x10211c(0x99),_0xe246e2);});}function spawnVitePreview(_0x17da54){return new Promise((_0x40f8e6,_0x1eddae)=>{const _0x3203be=a119_0x9dec,_0x4da850=spawn(_0x3203be(0x7b),['preview'],{'cwd':_0x17da54,'stdio':_0x3203be(0x77),'shell':!![],'env':{...process.env,'PATH':''+join(_0x17da54,_0x3203be(0x89),_0x3203be(0x87))+delimiter+process.env.PATH}});_0x4da850['on']('close',_0x43041d=>{const _0x3a907a=_0x3203be;if(_0x43041d===0x0||_0x43041d===null)_0x40f8e6();else _0x1eddae(new Error(_0x3a907a(0x83)+_0x43041d));}),_0x4da850['on'](_0x3203be(0x99),_0x1eddae);});}const runFlags=[{'name':a119_0x30110c(0x7e),'type':a119_0x30110c(0x8a),'description':a119_0x30110c(0x95),'default':![]}];export const runDefinition={'service':a119_0x30110c(0xad),'command':a119_0x30110c(0xad),'description':a119_0x30110c(0xa9),'risk':a119_0x30110c(0x72),'requiresAuth':![],'requiresAppCode':![],'hasFormat':![],'args':[{'name':a119_0x30110c(0x79),'description':a119_0x30110c(0x9f),'required':![]}],'flags':runFlags,'helpExtra':()=>{const _0x478bbd=a119_0x30110c,_0x2e48a5=readPackageScripts(process[_0x478bbd(0x8f)]()),_0x3bd035=[];if(_0x2e48a5&&Object[_0x478bbd(0x9c)](_0x2e48a5)[_0x478bbd(0xa1)]>0x0){const _0x1815aa=Object[_0x478bbd(0x9c)](_0x2e48a5),_0x88440f=Math[_0x478bbd(0xaa)](..._0x1815aa[_0x478bbd(0xa4)](_0x3f2173=>_0x3f2173['length']));_0x3bd035['push'](_0x478bbd(0x9e));for(const [_0x5db878,_0x56b2d1]of Object['entries'](_0x2e48a5)){_0x3bd035[_0x478bbd(0x70)](_0x478bbd(0x8e)+CLI_BIN_NAME+_0x478bbd(0xa5)+_0x5db878[_0x478bbd(0x74)](_0x88440f+0x2)+'#\x20'+_0x56b2d1);}}else _0x3bd035[_0x478bbd(0x70)]('\x20\x20EXAMPLES'),_0x3bd035[_0x478bbd(0x70)](_0x478bbd(0x8e)+CLI_BIN_NAME+'\x20run\x20start'),_0x3bd035['push']('\x20\x20\x20\x20'+CLI_BIN_NAME+_0x478bbd(0x97)),_0x3bd035['push'](_0x478bbd(0x8e)+CLI_BIN_NAME+_0x478bbd(0xae)),_0x3bd035[_0x478bbd(0x70)](_0x478bbd(0x8e)+CLI_BIN_NAME+_0x478bbd(0xab));return _0x3bd035['join']('\x0a');},async 'execute'(_0xc83528){const _0x5a06d8=a119_0x30110c,_0x3db33f=process[_0x5a06d8(0x8f)](),_0x3b8815=_0xc83528[_0x5a06d8(0x7a)][0x0],_0x1256ec=_0xc83528[_0x5a06d8(0x7a)]['slice'](0x1),_0x224f1b=readPackageScripts(_0x3db33f);if(!_0x224f1b)throw CliErrors[_0x5a06d8(0xa0)](_0x5a06d8(0x80));if(!_0x3b8815){const _0x1fff57=Object[_0x5a06d8(0x9c)](_0x224f1b);if(_0x1fff57[_0x5a06d8(0xa1)]===0x0)console[_0x5a06d8(0x98)]('No\x20scripts\x20defined\x20in\x20package.json.');else{console[_0x5a06d8(0x98)](_0x5a06d8(0x82));const _0x5138b0=Math[_0x5a06d8(0xaa)](..._0x1fff57[_0x5a06d8(0xa4)](_0x1bcf27=>_0x1bcf27[_0x5a06d8(0xa1)]));for(const [_0x4b9650,_0x438252]of Object[_0x5a06d8(0x75)](_0x224f1b)){console[_0x5a06d8(0x98)]('\x20\x20\x20\x20'+_0x4b9650[_0x5a06d8(0x74)](_0x5138b0+0x2)+_0x438252);}console[_0x5a06d8(0x98)](_0x5a06d8(0xb1)+CLI_BIN_NAME+_0x5a06d8(0x84));}return{'ok':!![]};}if(!_0x224f1b[_0x3b8815])throw CliErrors[_0x5a06d8(0xa0)](_0x5a06d8(0xaf)+_0x3b8815+'\x22\x20not\x20found\x20in\x20package.json.',_0x5a06d8(0x6f)+(Object['keys'](_0x224f1b)['join'](',\x20')||_0x5a06d8(0x96)));const _0x2b5530=detectPackageManager(_0x3db33f);VERSION_CHECK_SCRIPTS['has'](_0x3b8815)&&await versionCheck(_0x3db33f);if(_0x3b8815===_0x5a06d8(0x9d)&&_0xc83528['bool'](_0x5a06d8(0x7e)))return await Promise['all']([spawnViteBuildWatch(_0x3db33f),spawnVitePreview(_0x3db33f)]),{'ok':!![]};return await spawnScript(_0x2b5530,_0x3b8815,_0x1256ec,_0x3db33f),{'ok':!![]};}};
|
package/lib/commands/schema.js
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
function
|
|
1
|
+
const a120_0x2f08d0=a120_0x486c;function a120_0x486c(_0x29394e,_0x19a505){_0x29394e=_0x29394e-0x1a0;const _0x96ddb2=a120_0x96dd();let _0x486cdd=_0x96ddb2[_0x29394e];return _0x486cdd;}(function(_0x326eaf,_0x6bad9d){const _0x507502=a120_0x486c,_0x56a947=_0x326eaf();while(!![]){try{const _0x164962=parseInt(_0x507502(0x1a0))/0x1+parseInt(_0x507502(0x1a1))/0x2+-parseInt(_0x507502(0x1a4))/0x3*(parseInt(_0x507502(0x1aa))/0x4)+-parseInt(_0x507502(0x1a9))/0x5+parseInt(_0x507502(0x1a6))/0x6+parseInt(_0x507502(0x1ab))/0x7*(-parseInt(_0x507502(0x1a5))/0x8)+parseInt(_0x507502(0x1a2))/0x9*(-parseInt(_0x507502(0x1a7))/0xa);if(_0x164962===_0x6bad9d)break;else _0x56a947['push'](_0x56a947['shift']());}catch(_0x3b7dcd){_0x56a947['push'](_0x56a947['shift']());}}}(a120_0x96dd,0xedc03));function a120_0x96dd(){const _0x14d008=['1564008ahhPKJ','7258110KTgpQR','7292660udILGK','json','4051145Yrxbre','973876pfFuoc','21EOXSJP','schema','read','1475024kWSqpk','3264922mGDxId','9XyFUcN','export','15juwalX'];a120_0x96dd=function(){return _0x14d008;};return a120_0x96dd();}import{buildSchemaPayload}from'../framework/schema-export.js';async function execute(_0x4c234a){const _0x4a5b4b=await buildSchemaPayload();return{'ok':!![],'data':_0x4a5b4b};}export const schemaDefinition={'service':a120_0x2f08d0(0x1ac),'command':a120_0x2f08d0(0x1a3),'description':'Export\x20machine-readable\x20command\x20schema\x20(JSON)','risk':a120_0x2f08d0(0x1ad),'requiresAuth':![],'requiresAppCode':![],'hasFormat':!![],'defaultOutputFormat':a120_0x2f08d0(0x1a8),'flags':[],'execute':execute};
|
|
@@ -1 +1 @@
|
|
|
1
|
-
const
|
|
1
|
+
const a121_0x4ba720=a121_0x5780;(function(_0x3dcbf1,_0x120fd0){const _0x122b5e=a121_0x5780,_0x5a2f1b=_0x3dcbf1();while(!![]){try{const _0xfe5c81=-parseInt(_0x122b5e(0x189))/0x1+parseInt(_0x122b5e(0x187))/0x2*(parseInt(_0x122b5e(0x188))/0x3)+-parseInt(_0x122b5e(0x19d))/0x4*(parseInt(_0x122b5e(0x193))/0x5)+parseInt(_0x122b5e(0x186))/0x6+parseInt(_0x122b5e(0x18d))/0x7+parseInt(_0x122b5e(0x19a))/0x8+-parseInt(_0x122b5e(0x184))/0x9*(parseInt(_0x122b5e(0x199))/0xa);if(_0xfe5c81===_0x120fd0)break;else _0x5a2f1b['push'](_0x5a2f1b['shift']());}catch(_0x3dfb94){_0x5a2f1b['push'](_0x5a2f1b['shift']());}}}(a121_0xdbcb,0x84685));import{CliErrors}from'../../errors.js';import{CLI_BIN_NAME}from'../../constant/cli.js';function a121_0xdbcb(){const _0x3fafdb=['../../skills/npx-skills-add.js','cwd','Installing\x20official\x20skill\x20via\x20npx\x20(','1340BGlmxV','2468048RRZgFv','log','write','328FMITYL','Check\x20network\x20connectivity\x20and\x20try\x20again.','lovrabet/rabetbase','Skipped\x20npx\x20(RABETBASE_SKIP_NPX_SKILLS=1);\x20assuming\x20skill\x20is\x20already\x20present.','unknown','64674SrDIGI','Install\x20developer\x20skill\x20package','2295456jJXpFA','94dxnFhG','45264plkGjn','208087gLLunY','\x20skill\x20installed','skill-install','skill','2962246ZSxDEJ','执行安装技能包命令(委托给\x20npx\x20skills\x20add\x20-g\x20-y)','apiError','skipped',')...','setLogPath','6710poarME','pipe','npx\x20skills\x20add\x20failed:\x20'];a121_0xdbcb=function(){return _0x3fafdb;};return a121_0xdbcb();}function a121_0x5780(_0x57cb73,_0x1c2d3a){_0x57cb73=_0x57cb73-0x181;const _0xdbcbbb=a121_0xdbcb();let _0x57804c=_0xdbcbbb[_0x57cb73];return _0x57804c;}import{logger}from'../../utils/logger.js';import{NPX_SKILLS_ADD_GLOBAL_COMMAND_LINE}from'../../skills/npx-skills-add.js';export const skillDefinitions=[{'service':a121_0x4ba720(0x18c),'command':'install','description':a121_0x4ba720(0x185),'risk':a121_0x4ba720(0x19c),'requiresAuth':![],'requiresAppCode':![],'hasFormat':![],'flags':[],async 'execute'(_0x255e6e){const _0x201a35=a121_0x4ba720;logger[_0x201a35(0x192)](process[_0x201a35(0x197)]()),logger['info'](_0x201a35(0x18b),_0x201a35(0x18e));const {runNpxSkillsAddGlobal:_0x2d1604}=await import(_0x201a35(0x196)),_0x51675b=_0x255e6e['nonInteractive']?_0x201a35(0x194):'inherit';console[_0x201a35(0x19b)](_0x201a35(0x198)+NPX_SKILLS_ADD_GLOBAL_COMMAND_LINE+_0x201a35(0x191));const _0x39bac9=_0x2d1604(process[_0x201a35(0x197)](),_0x201a35(0x181),{'stdio':_0x51675b});if(_0x39bac9[_0x201a35(0x190)])console[_0x201a35(0x19b)](_0x201a35(0x182));else{if(_0x39bac9['ok'])console[_0x201a35(0x19b)](CLI_BIN_NAME+_0x201a35(0x18a));else throw CliErrors[_0x201a35(0x18f)](_0x201a35(0x195)+(_0x39bac9['error']||_0x201a35(0x183)),_0x201a35(0x19e));}return{'ok':!![]};}}];
|
|
@@ -1 +1 @@
|
|
|
1
|
-
const a122_0x40ae5f=a122_0x3a2e;(function(_0x249b13,_0x1cdc97){const _0x431060=a122_0x3a2e,_0x310c82=_0x249b13();while(!![]){try{const _0x53ede6=parseInt(_0x431060(0x189))/0x1+parseInt(_0x431060(0x1c1))/0x2+-parseInt(_0x431060(0x19c))/0x3+parseInt(_0x431060(0x1b6))/0x4+parseInt(_0x431060(0x1b8))/0x5*(parseInt(_0x431060(0x187))/0x6)+parseInt(_0x431060(0x19e))/0x7*(-parseInt(_0x431060(0x18e))/0x8)+parseInt(_0x431060(0x1b4))/0x9*(-parseInt(_0x431060(0x1b0))/0xa);if(_0x53ede6===_0x1cdc97)break;else _0x310c82['push'](_0x310c82['shift']());}catch(_0x4f0e03){_0x310c82['push'](_0x310c82['shift']());}}}(a122_0x58c1,0x20845));import{writeFile}from'node:fs/promises';import{input,select}from'@inquirer/prompts';import{createSqlQuery}from'../../core/api-client.js';function a122_0x58c1(){const _0x50426b=['str','mybatisXml','7938VsMDMd','dbId','348096jdOLJe','sqlRootDir','5vbbmjD','/smartapi/custom/saveUserCustomSql','✎\x20手动输入\x20dbId','description','dbName','请选择目标数据库:','Created\x20SQL\x20query\x20','high-risk-write','SQL\x20query\x20display\x20name','478830gpVzRv','Local\x20SQL\x20file\x20mode','utf8','\x20\x20SELECT\x201\x20AS\x20id','</select>','适合直接执行的普通\x20SELECT\x20/\x20INSERT\x20/\x20UPDATE\x20/\x20DELETE\x20语句','请选择本地\x20SQL\x20模式:','nonInteractive','File\x20already\x20exists:\x20','lastSync','1441914ayGwFi','dbId\x20必须为正整数','214895uoYARY','flagMissing','sql','join','sqlName','248kIPPMc','toISOString','--db-id\x20is\x20required\x20in\x20non-interactive\x20mode.','Create\x20a\x20new\x20custom\x20SQL\x20and\x20scaffold\x20it\x20locally','db-id','<server-generated-sqlCode>','mode','普通\x20SQL(sql)','appCode','isInteger','trim','MyBatis\x20XML(mybatisXml)','stringify','number','288642VzyXoR','lockFilePath','11578VaesFG','sqlRoot','<select\x20id=\x22query\x22\x20resultType=\x22map\x22>','请输入\x20SQL\x20名称:','SELECT\x201\x20AS\x20id;','map','Invalid\x20database\x20selection\x20payload:\x20','validation','--name\x20is\x20required\x20in\x20non-interactive\x20mode.','--mode\x20is\x20required\x20in\x20non-interactive\x20mode.','SQL\x20名称不能为空','sqlCode','__manual__','length','name','catch','dbId\x20不能为空','isFinite','5680FtciXs','string'];a122_0x58c1=function(){return _0x50426b;};return a122_0x58c1();}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(_0x4334e9){const _0x335f8d=a122_0x3a2e;if(_0x4334e9===_0x335f8d(0x1b3))return[_0x335f8d(0x1a0),_0x335f8d(0x1c4),_0x335f8d(0x1c5),''][_0x335f8d(0x18c)]('\x0a');return[_0x335f8d(0x1a2),''][_0x335f8d(0x18c)]('\x0a');}export const sqlCreate={'service':a122_0x40ae5f(0x18b),'command':'create','description':a122_0x40ae5f(0x191),'risk':a122_0x40ae5f(0x1bf),'flags':[{'name':'name','type':a122_0x40ae5f(0x1b1),'description':a122_0x40ae5f(0x1c0)},{'name':a122_0x40ae5f(0x192),'type':a122_0x40ae5f(0x19b),'description':'Target\x20database\x20ID'},{'name':a122_0x40ae5f(0x194),'type':a122_0x40ae5f(0x1b1),'enum':['sql',a122_0x40ae5f(0x1b3)],'description':a122_0x40ae5f(0x1c2)}],async 'validate'(_0x10030e){const _0x27f898=a122_0x40ae5f;if(!_0x10030e[_0x27f898(0x1c8)])return;if(!_0x10030e[_0x27f898(0x1b2)]('name')['trim']())throw CliErrors[_0x27f898(0x18a)]('name',_0x27f898(0x1a6));const _0x54031f=resolveProvidedDbId(_0x10030e);if(typeof _0x54031f!=='number'||!Number['isFinite'](_0x54031f)||_0x54031f<=0x0)throw CliErrors[_0x27f898(0x18a)](_0x27f898(0x192),_0x27f898(0x190));if(!_0x10030e[_0x27f898(0x1b2)](_0x27f898(0x194))[_0x27f898(0x198)]())throw CliErrors[_0x27f898(0x18a)]('mode','--mode\x20is\x20required\x20in\x20non-interactive\x20mode.');},async 'dryRun'(_0x1b4244){const _0x3a7dfd=a122_0x40ae5f,_0x51ccc1=loadSqlProjectConfig(_0x1b4244[_0x3a7dfd(0x196)]),{sqlName:_0x58350b,dbId:_0x4d14be,dbName:_0x4456c9,mode:_0x3ff878}=await resolveSqlNewInputs(_0x1b4244),_0x2b0063=buildSqlRelativePath(_0x3a7dfd(0x193),_0x58350b,_0x4456c9,_0x3ff878,_0x4d14be),_0x4f7990=_0x51ccc1['sqlRootDir']+'/'+_0x2b0063;return{'method':'POST','url':_0x3a7dfd(0x1b9),'body':{'appCode':_0x1b4244[_0x3a7dfd(0x196)],'sqlName':_0x58350b,'dbId':_0x4d14be,'mode':_0x3ff878,'localPath':_0x4f7990},'description':'Would\x20create\x20a\x20new\x20SQL\x20query\x20and\x20scaffold\x20it\x20under\x20'+_0x51ccc1['sqlRootDir']};},async 'execute'(_0x243d63){const _0x159e72=a122_0x40ae5f,_0x56673c=loadSqlProjectConfig(_0x243d63['appCode']),{sqlName:_0x41d95a,dbId:_0x5dafbc,dbName:_0x4762a3,mode:_0x20f58f}=await resolveSqlNewInputs(_0x243d63),_0x2657e0=generateSqlTemplate(_0x20f58f),_0x590efc=await createSqlQuery({'appCode':_0x243d63['appCode'],'sqlName':_0x41d95a,'dbId':_0x5dafbc,'sqlContent':_0x2657e0}),_0x5d326c=ensureRemoteSqlContent(_0x590efc),_0x47ae42=_0x4762a3||await getDbName(_0x243d63[_0x159e72(0x196)],_0x5dafbc)[_0x159e72(0x1ad)](()=>undefined),_0x4ea4a5=buildSqlRelativePath(_0x590efc[_0x159e72(0x1a9)],_0x590efc[_0x159e72(0x18d)],_0x47ae42,_0x20f58f,_0x5dafbc),_0x587d81=_0x56673c[_0x159e72(0x1b7)]+'/'+_0x4ea4a5,_0xe1f0bd=buildLocalSqlFileContent({'sqlCode':_0x590efc[_0x159e72(0x1a9)],'sqlName':_0x590efc[_0x159e72(0x18d)],'dbId':_0x590efc[_0x159e72(0x1b5)]},_0x5d326c,{'dbName':_0x47ae42,'mode':_0x20f58f,'syncedAt':new Date()[_0x159e72(0x18f)](),'description':_0x590efc[_0x159e72(0x1bb)]});if(await fileExists(_0x587d81))throw CliErrors[_0x159e72(0x1a5)](_0x159e72(0x185)+_0x587d81);await ensureParentDirectory(_0x587d81),await writeFile(_0x587d81,_0xe1f0bd,_0x159e72(0x1c3));const _0x346d53=await readSqlLockFile(_0x56673c[_0x159e72(0x19d)]),{lockData:_0x28f4f8,appLock:_0x265e24}=ensureSqlLockScope(_0x346d53??createEmptySqlLock(),_0x56673c[_0x159e72(0x196)],_0x56673c[_0x159e72(0x19f)],'new');return _0x265e24['sqls'][_0x590efc['sqlCode']]={...buildSqlLockEntry(_0x590efc,_0x5d326c,computeSqlContentHash(_0xe1f0bd),{'dbName':_0x47ae42}),'path':_0x4ea4a5,'mode':_0x20f58f},_0x265e24[_0x159e72(0x186)]=new Date()[_0x159e72(0x18f)](),await writeSqlLockFile(_0x56673c[_0x159e72(0x19d)],_0x28f4f8),{'ok':!![],'data':{'id':_0x590efc['id'],'sqlCode':_0x590efc[_0x159e72(0x1a9)],'sqlName':_0x590efc[_0x159e72(0x18d)],'dbId':_0x590efc[_0x159e72(0x1b5)],'path':_0x587d81,'mode':_0x20f58f},'message':_0x159e72(0x1be)+_0x590efc[_0x159e72(0x1a9)]};}};async function resolveSqlNewInputs(_0x2bf4fb){const _0x3b97a0=await resolveSqlNameInput(_0x2bf4fb),{dbId:_0x40faa9,dbName:_0x545211}=await resolveDbSelection(_0x2bf4fb),_0x5644cd=await resolveSqlModeInput(_0x2bf4fb);return{'sqlName':_0x3b97a0,'dbId':_0x40faa9,'dbName':_0x545211,'mode':_0x5644cd};}async function resolveSqlNameInput(_0x38ef49){const _0x2e3435=a122_0x40ae5f,_0x5ea0b9=_0x38ef49[_0x2e3435(0x1b2)](_0x2e3435(0x1ac))['trim']();if(_0x5ea0b9)return _0x5ea0b9;if(_0x38ef49[_0x2e3435(0x1c8)])throw CliErrors['flagMissing']('name',_0x2e3435(0x1a6));return(await input({'message':_0x2e3435(0x1a1),'validate':_0x4ddba7=>_0x4ddba7[_0x2e3435(0x198)]()?!![]:_0x2e3435(0x1a8)}))[_0x2e3435(0x198)]();}async function resolveDbSelection(_0x1d16c5){const _0x4b3c7a=a122_0x40ae5f,_0x4bc25d=resolveProvidedDbId(_0x1d16c5);if(typeof _0x4bc25d===_0x4b3c7a(0x19b)&&Number[_0x4b3c7a(0x1af)](_0x4bc25d)&&_0x4bc25d>0x0)return{'dbId':_0x4bc25d,'dbName':await getDbName(_0x1d16c5[_0x4b3c7a(0x196)],_0x4bc25d)['catch'](()=>undefined)};if(_0x1d16c5[_0x4b3c7a(0x1c8)])throw CliErrors[_0x4b3c7a(0x18a)]('db-id',_0x4b3c7a(0x190));const _0x1217e0=await listDatabases(_0x1d16c5[_0x4b3c7a(0x196)])['catch'](()=>[]);if(_0x1217e0[_0x4b3c7a(0x1ab)]===0x1)return{'dbId':_0x1217e0[0x0]['dbId'],'dbName':_0x1217e0[0x0][_0x4b3c7a(0x1bc)]};if(_0x1217e0[_0x4b3c7a(0x1ab)]>0x1){const _0x476260=await select({'message':_0x4b3c7a(0x1bd),'choices':[..._0x1217e0[_0x4b3c7a(0x1a3)](_0x4416a1=>({'name':_0x4416a1['dbName']+'\x20('+_0x4416a1[_0x4b3c7a(0x1b5)]+')','value':serializeDbSelection(_0x4416a1)})),{'name':_0x4b3c7a(0x1ba),'value':_0x4b3c7a(0x1aa)}]});if(_0x476260!==_0x4b3c7a(0x1aa))return deserializeDbSelection(_0x476260);}const _0x17257e=await input({'message':'请输入目标数据库\x20dbId:','validate':_0x28aff9=>{const _0x3adb4a=_0x4b3c7a,_0x3fb979=_0x28aff9[_0x3adb4a(0x198)]();if(!_0x3fb979)return _0x3adb4a(0x1ae);const _0xea4256=Number(_0x3fb979);if(!Number[_0x3adb4a(0x197)](_0xea4256)||_0xea4256<=0x0)return _0x3adb4a(0x188);return!![];}});return{'dbId':Number(_0x17257e['trim']())};}async function resolveSqlModeInput(_0xeda81a){const _0x380abb=a122_0x40ae5f,_0x14cc2b=_0xeda81a[_0x380abb(0x1b2)](_0x380abb(0x194))[_0x380abb(0x198)]();if(_0x14cc2b===_0x380abb(0x18b)||_0x14cc2b===_0x380abb(0x1b3))return _0x14cc2b;if(_0xeda81a['nonInteractive'])throw CliErrors[_0x380abb(0x18a)](_0x380abb(0x194),_0x380abb(0x1a7));return await select({'message':_0x380abb(0x1c7),'choices':[{'name':_0x380abb(0x195),'value':_0x380abb(0x18b),'description':_0x380abb(0x1c6)},{'name':_0x380abb(0x199),'value':'mybatisXml','description':'适合带动态标签的\x20MyBatis\x20XML\x20SQL'}]});}function serializeDbSelection(_0x486163){const _0x24f607=a122_0x40ae5f;return JSON[_0x24f607(0x19a)]({'dbId':_0x486163['dbId'],'dbName':_0x486163[_0x24f607(0x1bc)]});}function deserializeDbSelection(_0x227e3f){const _0x1c3a06=a122_0x40ae5f;try{const _0x4e52a8=JSON['parse'](_0x227e3f);if(typeof _0x4e52a8[_0x1c3a06(0x1b5)]===_0x1c3a06(0x19b)&&Number[_0x1c3a06(0x1af)](_0x4e52a8[_0x1c3a06(0x1b5)]))return{'dbId':_0x4e52a8[_0x1c3a06(0x1b5)],'dbName':_0x4e52a8['dbName']};}catch{}throw CliErrors[_0x1c3a06(0x1a5)](_0x1c3a06(0x1a4)+_0x227e3f);}function a122_0x3a2e(_0x3fc256,_0x5a01d0){_0x3fc256=_0x3fc256-0x185;const _0x58c1ac=a122_0x58c1();let _0x3a2e1e=_0x58c1ac[_0x3fc256];return _0x3a2e1e;}function resolveProvidedDbId(_0x50832e){const _0x460b29=a122_0x40ae5f,_0x3ff503=_0x50832e['flag']('db-id');if(typeof _0x3ff503===_0x460b29(0x19b)&&Number['isFinite'](_0x3ff503))return _0x3ff503;return undefined;}
|
|
1
|
+
const a122_0x3b4c55=a122_0xe45f;(function(_0x50a0d5,_0xa1a335){const _0x1bd484=a122_0xe45f,_0x33f817=_0x50a0d5();while(!![]){try{const _0x23b0ff=parseInt(_0x1bd484(0x1da))/0x1+-parseInt(_0x1bd484(0x1e4))/0x2+-parseInt(_0x1bd484(0x1f5))/0x3+-parseInt(_0x1bd484(0x201))/0x4+-parseInt(_0x1bd484(0x1e6))/0x5+-parseInt(_0x1bd484(0x1f6))/0x6+parseInt(_0x1bd484(0x1ea))/0x7;if(_0x23b0ff===_0xa1a335)break;else _0x33f817['push'](_0x33f817['shift']());}catch(_0x1386ff){_0x33f817['push'](_0x33f817['shift']());}}}(a122_0x11d4,0xb0784));import{writeFile}from'node:fs/promises';function a122_0xe45f(_0x38b725,_0x90b8b4){_0x38b725=_0x38b725-0x1d9;const _0x11d491=a122_0x11d4();let _0xe45ff7=_0x11d491[_0x38b725];return _0xe45ff7;}import{input,select}from'@inquirer/prompts';import{createSqlQuery}from'../../core/api-client.js';import{getDbName,listDatabases}from'../../core/db-resolver.js';import{loadSqlProjectConfig}from'../../core/sql-sync/config.js';import{ensureParentDirectory,fileExists}from'../../core/bff/file-system.js';import{computeSqlContentHash}from'../../core/sql-sync/hash.js';import{createEmptySqlLock,ensureSqlLockScope,readSqlLockFile,writeSqlLockFile}from'../../core/sql-sync/lock.js';function a122_0x11d4(){const _0x57d510=['mybatisXml','dbName','适合直接执行的普通\x20SELECT\x20/\x20INSERT\x20/\x20UPDATE\x20/\x20DELETE\x20语句','dbId\x20必须为正整数','937432WBXRIR','catch','db-id','MyBatis\x20XML(mybatisXml)','</select>','__manual__','description','isFinite','appCode','str','sqlName','sql','number','/smartapi/custom/saveUserCustomSql','请输入目标数据库\x20dbId:','--name\x20is\x20required\x20in\x20non-interactive\x20mode.','stringify','Created\x20SQL\x20query\x20','high-risk-write','flag','<server-generated-sqlCode>','toISOString','Local\x20SQL\x20file\x20mode','Would\x20create\x20a\x20new\x20SQL\x20query\x20and\x20scaffold\x20it\x20under\x20','211282HCcRWB','isInteger','--mode\x20is\x20required\x20in\x20non-interactive\x20mode.','sqlRoot','new','validation','请选择目标数据库:','create','map','Invalid\x20database\x20selection\x20payload:\x20','196878pIkyfb','dbId','4580070dSzEhP','name','flagMissing','sqls','23833824vmpNui','File\x20already\x20exists:\x20','sqlRootDir','length','nonInteractive','SELECT\x201\x20AS\x20id;','trim','sqlCode','join','Create\x20a\x20new\x20custom\x20SQL\x20and\x20scaffold\x20it\x20locally','适合带动态标签的\x20MyBatis\x20XML\x20SQL','3363186hHsIkN','3140526gIAtxU','dbId\x20不能为空','lockFilePath','请输入\x20SQL\x20名称:','utf8','SQL\x20query\x20display\x20name','mode'];a122_0x11d4=function(){return _0x57d510;};return a122_0x11d4();}import{buildSqlRelativePath}from'../../core/sql-sync/utils.js';import{CliErrors}from'../../errors.js';import{buildLocalSqlFileContent,buildSqlLockEntry,ensureRemoteSqlContent}from'./shared.js';function generateSqlTemplate(_0x5b7d1b){const _0x550c49=a122_0xe45f;if(_0x5b7d1b===_0x550c49(0x1fd))return['<select\x20id=\x22query\x22\x20resultType=\x22map\x22>','\x20\x20SELECT\x201\x20AS\x20id',_0x550c49(0x205),''][_0x550c49(0x1f2)]('\x0a');return[_0x550c49(0x1ef),''][_0x550c49(0x1f2)]('\x0a');}export const sqlCreate={'service':a122_0x3b4c55(0x20c),'command':a122_0x3b4c55(0x1e1),'description':a122_0x3b4c55(0x1f3),'risk':a122_0x3b4c55(0x213),'flags':[{'name':a122_0x3b4c55(0x1e7),'type':'string','description':a122_0x3b4c55(0x1fb)},{'name':'db-id','type':a122_0x3b4c55(0x20d),'description':'Target\x20database\x20ID'},{'name':a122_0x3b4c55(0x1fc),'type':'string','enum':[a122_0x3b4c55(0x20c),'mybatisXml'],'description':a122_0x3b4c55(0x217)}],async 'validate'(_0x3be497){const _0x3dde76=a122_0x3b4c55;if(!_0x3be497[_0x3dde76(0x1ee)])return;if(!_0x3be497[_0x3dde76(0x20a)](_0x3dde76(0x1e7))[_0x3dde76(0x1f0)]())throw CliErrors[_0x3dde76(0x1e8)](_0x3dde76(0x1e7),_0x3dde76(0x210));const _0x59bebf=resolveProvidedDbId(_0x3be497);if(typeof _0x59bebf!==_0x3dde76(0x20d)||!Number['isFinite'](_0x59bebf)||_0x59bebf<=0x0)throw CliErrors['flagMissing'](_0x3dde76(0x203),'--db-id\x20is\x20required\x20in\x20non-interactive\x20mode.');if(!_0x3be497['str'](_0x3dde76(0x1fc))[_0x3dde76(0x1f0)]())throw CliErrors['flagMissing'](_0x3dde76(0x1fc),_0x3dde76(0x1dc));},async 'dryRun'(_0x24a8fb){const _0x3b8c34=a122_0x3b4c55,_0x434aab=loadSqlProjectConfig(_0x24a8fb[_0x3b8c34(0x209)]),{sqlName:_0x508d18,dbId:_0x228f82,dbName:_0x17f529,mode:_0x1c73e2}=await resolveSqlNewInputs(_0x24a8fb),_0xbbce13=buildSqlRelativePath(_0x3b8c34(0x215),_0x508d18,_0x17f529,_0x1c73e2,_0x228f82),_0x5b3511=_0x434aab[_0x3b8c34(0x1ec)]+'/'+_0xbbce13;return{'method':'POST','url':_0x3b8c34(0x20e),'body':{'appCode':_0x24a8fb[_0x3b8c34(0x209)],'sqlName':_0x508d18,'dbId':_0x228f82,'mode':_0x1c73e2,'localPath':_0x5b3511},'description':_0x3b8c34(0x1d9)+_0x434aab[_0x3b8c34(0x1ec)]};},async 'execute'(_0x29214a){const _0x5e6bf7=a122_0x3b4c55,_0x14ba19=loadSqlProjectConfig(_0x29214a['appCode']),{sqlName:_0x386fc4,dbId:_0x1e66d2,dbName:_0x28bd13,mode:_0x57c33c}=await resolveSqlNewInputs(_0x29214a),_0x2a4694=generateSqlTemplate(_0x57c33c),_0x2cc0c2=await createSqlQuery({'appCode':_0x29214a['appCode'],'sqlName':_0x386fc4,'dbId':_0x1e66d2,'sqlContent':_0x2a4694}),_0x4148d7=ensureRemoteSqlContent(_0x2cc0c2),_0x276e89=_0x28bd13||await getDbName(_0x29214a[_0x5e6bf7(0x209)],_0x1e66d2)[_0x5e6bf7(0x202)](()=>undefined),_0x4adfd4=buildSqlRelativePath(_0x2cc0c2[_0x5e6bf7(0x1f1)],_0x2cc0c2[_0x5e6bf7(0x20b)],_0x276e89,_0x57c33c,_0x1e66d2),_0x498e50=_0x14ba19[_0x5e6bf7(0x1ec)]+'/'+_0x4adfd4,_0x29d561=buildLocalSqlFileContent({'sqlCode':_0x2cc0c2[_0x5e6bf7(0x1f1)],'sqlName':_0x2cc0c2[_0x5e6bf7(0x20b)],'dbId':_0x2cc0c2[_0x5e6bf7(0x1e5)]},_0x4148d7,{'dbName':_0x276e89,'mode':_0x57c33c,'syncedAt':new Date()[_0x5e6bf7(0x216)](),'description':_0x2cc0c2[_0x5e6bf7(0x207)]});if(await fileExists(_0x498e50))throw CliErrors[_0x5e6bf7(0x1df)](_0x5e6bf7(0x1eb)+_0x498e50);await ensureParentDirectory(_0x498e50),await writeFile(_0x498e50,_0x29d561,_0x5e6bf7(0x1fa));const _0x4f9b9f=await readSqlLockFile(_0x14ba19[_0x5e6bf7(0x1f8)]),{lockData:_0x4fb1e7,appLock:_0x18fb87}=ensureSqlLockScope(_0x4f9b9f??createEmptySqlLock(),_0x14ba19[_0x5e6bf7(0x209)],_0x14ba19[_0x5e6bf7(0x1dd)],_0x5e6bf7(0x1de));return _0x18fb87[_0x5e6bf7(0x1e9)][_0x2cc0c2[_0x5e6bf7(0x1f1)]]={...buildSqlLockEntry(_0x2cc0c2,_0x4148d7,computeSqlContentHash(_0x29d561),{'dbName':_0x276e89}),'path':_0x4adfd4,'mode':_0x57c33c},_0x18fb87['lastSync']=new Date()[_0x5e6bf7(0x216)](),await writeSqlLockFile(_0x14ba19[_0x5e6bf7(0x1f8)],_0x4fb1e7),{'ok':!![],'data':{'id':_0x2cc0c2['id'],'sqlCode':_0x2cc0c2[_0x5e6bf7(0x1f1)],'sqlName':_0x2cc0c2[_0x5e6bf7(0x20b)],'dbId':_0x2cc0c2[_0x5e6bf7(0x1e5)],'path':_0x498e50,'mode':_0x57c33c},'message':_0x5e6bf7(0x212)+_0x2cc0c2[_0x5e6bf7(0x1f1)]};}};async function resolveSqlNewInputs(_0x561a51){const _0x5b589e=await resolveSqlNameInput(_0x561a51),{dbId:_0xdb32cf,dbName:_0x2eeb5e}=await resolveDbSelection(_0x561a51),_0x1cf44a=await resolveSqlModeInput(_0x561a51);return{'sqlName':_0x5b589e,'dbId':_0xdb32cf,'dbName':_0x2eeb5e,'mode':_0x1cf44a};}async function resolveSqlNameInput(_0x50810c){const _0x46d29c=a122_0x3b4c55,_0x114067=_0x50810c[_0x46d29c(0x20a)]('name')[_0x46d29c(0x1f0)]();if(_0x114067)return _0x114067;if(_0x50810c['nonInteractive'])throw CliErrors[_0x46d29c(0x1e8)](_0x46d29c(0x1e7),_0x46d29c(0x210));return(await input({'message':_0x46d29c(0x1f9),'validate':_0x2865b1=>_0x2865b1['trim']()?!![]:'SQL\x20名称不能为空'}))['trim']();}async function resolveDbSelection(_0x3a386d){const _0x18574e=a122_0x3b4c55,_0x92f0e=resolveProvidedDbId(_0x3a386d);if(typeof _0x92f0e===_0x18574e(0x20d)&&Number[_0x18574e(0x208)](_0x92f0e)&&_0x92f0e>0x0)return{'dbId':_0x92f0e,'dbName':await getDbName(_0x3a386d[_0x18574e(0x209)],_0x92f0e)[_0x18574e(0x202)](()=>undefined)};if(_0x3a386d[_0x18574e(0x1ee)])throw CliErrors[_0x18574e(0x1e8)](_0x18574e(0x203),'--db-id\x20is\x20required\x20in\x20non-interactive\x20mode.');const _0x2a2763=await listDatabases(_0x3a386d['appCode'])['catch'](()=>[]);if(_0x2a2763[_0x18574e(0x1ed)]===0x1)return{'dbId':_0x2a2763[0x0][_0x18574e(0x1e5)],'dbName':_0x2a2763[0x0][_0x18574e(0x1fe)]};if(_0x2a2763['length']>0x1){const _0xd7a4da=await select({'message':_0x18574e(0x1e0),'choices':[..._0x2a2763[_0x18574e(0x1e2)](_0xdf7333=>({'name':_0xdf7333[_0x18574e(0x1fe)]+'\x20('+_0xdf7333['dbId']+')','value':serializeDbSelection(_0xdf7333)})),{'name':'✎\x20手动输入\x20dbId','value':_0x18574e(0x206)}]});if(_0xd7a4da!==_0x18574e(0x206))return deserializeDbSelection(_0xd7a4da);}const _0x5c9214=await input({'message':_0x18574e(0x20f),'validate':_0x3fd295=>{const _0x11ef2e=_0x18574e,_0x224abd=_0x3fd295[_0x11ef2e(0x1f0)]();if(!_0x224abd)return _0x11ef2e(0x1f7);const _0x50e8ef=Number(_0x224abd);if(!Number[_0x11ef2e(0x1db)](_0x50e8ef)||_0x50e8ef<=0x0)return _0x11ef2e(0x200);return!![];}});return{'dbId':Number(_0x5c9214[_0x18574e(0x1f0)]())};}async function resolveSqlModeInput(_0x28632a){const _0x10600e=a122_0x3b4c55,_0x16c043=_0x28632a[_0x10600e(0x20a)](_0x10600e(0x1fc))[_0x10600e(0x1f0)]();if(_0x16c043==='sql'||_0x16c043===_0x10600e(0x1fd))return _0x16c043;if(_0x28632a['nonInteractive'])throw CliErrors[_0x10600e(0x1e8)](_0x10600e(0x1fc),'--mode\x20is\x20required\x20in\x20non-interactive\x20mode.');return await select({'message':'请选择本地\x20SQL\x20模式:','choices':[{'name':'普通\x20SQL(sql)','value':_0x10600e(0x20c),'description':_0x10600e(0x1ff)},{'name':_0x10600e(0x204),'value':_0x10600e(0x1fd),'description':_0x10600e(0x1f4)}]});}function serializeDbSelection(_0x48a947){const _0x3f973e=a122_0x3b4c55;return JSON[_0x3f973e(0x211)]({'dbId':_0x48a947[_0x3f973e(0x1e5)],'dbName':_0x48a947['dbName']});}function deserializeDbSelection(_0x28bcbe){const _0x3facc7=a122_0x3b4c55;try{const _0x25eec9=JSON['parse'](_0x28bcbe);if(typeof _0x25eec9[_0x3facc7(0x1e5)]===_0x3facc7(0x20d)&&Number[_0x3facc7(0x208)](_0x25eec9[_0x3facc7(0x1e5)]))return{'dbId':_0x25eec9[_0x3facc7(0x1e5)],'dbName':_0x25eec9['dbName']};}catch{}throw CliErrors['validation'](_0x3facc7(0x1e3)+_0x28bcbe);}function resolveProvidedDbId(_0x241004){const _0x2e1e9d=a122_0x3b4c55,_0x1f7c21=_0x241004[_0x2e1e9d(0x214)](_0x2e1e9d(0x203));if(typeof _0x1f7c21==='number'&&Number['isFinite'](_0x1f7c21))return _0x1f7c21;return undefined;}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
const
|
|
1
|
+
const a123_0x414378=a123_0x1665;(function(_0x3e365a,_0x32319a){const _0x5b5c94=a123_0x1665,_0xd43214=_0x3e365a();while(!![]){try{const _0x38ee49=parseInt(_0x5b5c94(0x175))/0x1+-parseInt(_0x5b5c94(0x16e))/0x2*(parseInt(_0x5b5c94(0x17d))/0x3)+parseInt(_0x5b5c94(0x158))/0x4*(-parseInt(_0x5b5c94(0x16d))/0x5)+-parseInt(_0x5b5c94(0x17e))/0x6*(-parseInt(_0x5b5c94(0x162))/0x7)+-parseInt(_0x5b5c94(0x16f))/0x8*(-parseInt(_0x5b5c94(0x174))/0x9)+parseInt(_0x5b5c94(0x177))/0xa+parseInt(_0x5b5c94(0x160))/0xb*(parseInt(_0x5b5c94(0x169))/0xc);if(_0x38ee49===_0x32319a)break;else _0xd43214['push'](_0xd43214['shift']());}catch(_0x12c2e4){_0xd43214['push'](_0xd43214['shift']());}}}(a123_0x2e1d,0x61a72));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';function a123_0x2e1d(){const _0x588f1e=['lockFilePath','Would\x20delete\x20SQL\x20','filter','5RsUxtG','17482piHrUq','48512rbMwII','No\x20SQL\x20lock\x20entry\x20found\x20for\x20\x22','SQL\x20lock\x20file\x20not\x20found.\x20Run\x20`rabetbase\x20sql\x20create`\x20or\x20`rabetbase\x20sql\x20pull`\x20first.','appCode','\x20(local\x20file\x20moved\x20to\x20trash)','396ohOXCy','576977LooEqC','Deleted\x20','1178580ekMWDK','SQL\x20lock\x20file\x20not\x20found.','trashDir','POST','high-risk-write','trashedTo','237uABEBh','74988PWuiQO','lastSync','length','validation','\x20from\x20remote\x20and\x20move\x20local\x20file\x20to\x20','toISOString','433308ZChILp','entries','/smartapi/custom/deleteUserCustomSql','Delete\x20a\x20SQL\x20query\x20from\x20remote\x20and\x20local','remoteId','projectRoot','sqlRootDir','sqlcode','28127XGDQdQ','sqls','77WBaLMk','sql','delete','str','sqlRoot','fromEntries','startsWith','468AiqLnx'];a123_0x2e1d=function(){return _0x588f1e;};return a123_0x2e1d();}import{fileExists}from'../../core/bff/file-system.js';import{resolveLocalSqlFilePath}from'../../core/sql-sync/file-system.js';import{ensureSqlLockScope,readSqlLockFile,writeSqlLockFile}from'../../core/sql-sync/lock.js';import{CliErrors}from'../../errors.js';import{SQLCODE_FLAG}from'../../commands/common/flags.js';export const sqlDelete={'service':a123_0x414378(0x163),'command':a123_0x414378(0x164),'description':a123_0x414378(0x15b),'risk':a123_0x414378(0x17b),'flags':[SQLCODE_FLAG],async 'validate'(_0xb2c34d){const _0x45964c=a123_0x414378,_0x142d6d=loadSqlProjectConfig(_0xb2c34d[_0x45964c(0x172)]),_0x161372=await readSqlLockFile(_0x142d6d[_0x45964c(0x16a)]);if(!_0x161372)throw CliErrors[_0x45964c(0x155)](_0x45964c(0x171));},async 'dryRun'(_0x386be6){const _0xa86dd9=a123_0x414378,_0x351188=loadSqlProjectConfig(_0x386be6[_0xa86dd9(0x172)]),_0x58b35c=await readSqlLockFile(_0x351188[_0xa86dd9(0x16a)]);if(!_0x58b35c)throw CliErrors['validation']('SQL\x20lock\x20file\x20not\x20found.\x20Run\x20`rabetbase\x20sql\x20create`\x20or\x20`rabetbase\x20sql\x20pull`\x20first.');const {appLock:_0x1e6a6e}=ensureSqlLockScope(_0x58b35c,_0x386be6[_0xa86dd9(0x172)],_0x351188[_0xa86dd9(0x166)],_0xa86dd9(0x164)),_0x3c5fb3=_0x386be6[_0xa86dd9(0x165)](_0xa86dd9(0x15f)),_0xa4aa88=_0x1e6a6e['sqls'][_0x3c5fb3];if(!_0xa4aa88)throw CliErrors[_0xa86dd9(0x155)]('No\x20SQL\x20lock\x20entry\x20found\x20for\x20\x22'+_0x3c5fb3+'\x22.');return{'method':_0xa86dd9(0x17a),'url':_0xa86dd9(0x15a),'body':{'sqlCode':_0x3c5fb3,'id':_0xa4aa88[_0xa86dd9(0x15c)],'localPath':resolveLocalSqlFilePath(_0x351188,_0x3c5fb3,_0xa4aa88)},'description':_0xa86dd9(0x16b)+_0x3c5fb3+_0xa86dd9(0x156)+_0x351188[_0xa86dd9(0x179)]};},async 'execute'(_0x1dbbc7){const _0x5e2405=a123_0x414378,_0x2429c8=loadSqlProjectConfig(_0x1dbbc7[_0x5e2405(0x172)]),_0x5e2418=await readSqlLockFile(_0x2429c8[_0x5e2405(0x16a)]);if(!_0x5e2418)throw CliErrors[_0x5e2405(0x155)](_0x5e2405(0x178));const {lockData:_0x186b95,appLock:_0x1c24d7}=ensureSqlLockScope(_0x5e2418,_0x1dbbc7['appCode'],_0x2429c8[_0x5e2405(0x166)],_0x5e2405(0x164)),_0x4e6da5=_0x1dbbc7['str']('sqlcode'),_0x567158=_0x1c24d7[_0x5e2405(0x161)][_0x4e6da5];if(!_0x567158)throw CliErrors[_0x5e2405(0x155)](_0x5e2405(0x170)+_0x4e6da5+'\x22.');await deleteSqlQuery({'id':_0x567158[_0x5e2405(0x15c)],'sqlCode':_0x4e6da5}),_0x1c24d7[_0x5e2405(0x161)]=Object[_0x5e2405(0x167)](Object[_0x5e2405(0x159)](_0x1c24d7[_0x5e2405(0x161)])[_0x5e2405(0x16c)](([_0x3b1f54])=>_0x3b1f54!==_0x4e6da5)),_0x1c24d7[_0x5e2405(0x17f)]=new Date()[_0x5e2405(0x157)](),await writeSqlLockFile(_0x2429c8[_0x5e2405(0x16a)],_0x186b95);const _0x803682=resolveLocalSqlFilePath(_0x2429c8,_0x4e6da5,_0x567158);let _0x1f4da5;await fileExists(_0x803682)&&(_0x1f4da5=await moveToTrash(_0x2429c8[_0x5e2405(0x15d)],_0x2429c8[_0x5e2405(0x179)],_0x803682),await cleanupEmptyDirectories(dirname(_0x803682),_0x2429c8[_0x5e2405(0x15e)]));const _0x47ebac={'deleted':_0x4e6da5,'remoteId':_0x567158[_0x5e2405(0x15c)]};if(_0x1f4da5)_0x47ebac[_0x5e2405(0x17c)]=_0x1f4da5;return{'ok':!![],'data':_0x47ebac,'message':_0x5e2405(0x176)+_0x4e6da5+(_0x1f4da5?_0x5e2405(0x173):'')};}};async function moveToTrash(_0xa80044,_0x10beb5,_0x52a62e){const _0x2bc125=a123_0x414378,_0x122383=new Date()[_0x2bc125(0x157)]()['replace'](/[:.]/g,'-'),_0x2a4eab=relative(_0xa80044,_0x52a62e),_0x287241=join(_0x10beb5,_0x122383,_0x2a4eab);return await mkdir(dirname(_0x287241),{'recursive':!![]}),await rename(_0x52a62e,_0x287241),_0x287241;}function a123_0x1665(_0x4278ea,_0xf15464){_0x4278ea=_0x4278ea-0x154;const _0x2e1d6d=a123_0x2e1d();let _0x16656d=_0x2e1d6d[_0x4278ea];return _0x16656d;}async function cleanupEmptyDirectories(_0x12ca1b,_0x3865e7){const _0x217955=a123_0x414378;let _0x27b254=resolve(_0x12ca1b);const _0x38206b=resolve(_0x3865e7);while(_0x27b254[_0x217955(0x168)](''+_0x38206b+sep)||_0x27b254===_0x38206b){if(_0x27b254===_0x38206b)return;try{const _0x4e2654=await readdir(_0x27b254);if(_0x4e2654[_0x217955(0x154)]>0x0)return;await rmdir(_0x27b254);}catch{return;}_0x27b254=dirname(_0x27b254);}}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
const
|
|
1
|
+
const a124_0x73a7db=a124_0x1d2a;(function(_0x5e250b,_0x15dbf9){const _0x2a3af7=a124_0x1d2a,_0x5a4edb=_0x5e250b();while(!![]){try{const _0x12631b=parseInt(_0x2a3af7(0xd8))/0x1+parseInt(_0x2a3af7(0xcf))/0x2*(parseInt(_0x2a3af7(0xd9))/0x3)+parseInt(_0x2a3af7(0xd2))/0x4+-parseInt(_0x2a3af7(0xcd))/0x5*(-parseInt(_0x2a3af7(0xc5))/0x6)+-parseInt(_0x2a3af7(0xda))/0x7*(-parseInt(_0x2a3af7(0xc8))/0x8)+parseInt(_0x2a3af7(0xc9))/0x9+-parseInt(_0x2a3af7(0xd4))/0xa*(parseInt(_0x2a3af7(0xcc))/0xb);if(_0x12631b===_0x15dbf9)break;else _0x5a4edb['push'](_0x5a4edb['shift']());}catch(_0x32da47){_0x5a4edb['push'](_0x5a4edb['shift']());}}}(a124_0xa763,0x91ecd));import{getSqlQueryInfo}from'../../core/api-client.js';function a124_0x1d2a(_0x45bf7e,_0x3878ea){_0x45bf7e=_0x45bf7e-0xc5;const _0xa7630b=a124_0xa763();let _0x1d2a98=_0xa7630b[_0x45bf7e];return _0x1d2a98;}import{getDbName}from'../../core/db-resolver.js';import{SQLCODE_FLAG}from'../../commands/common/flags.js';export const sqlDetail={'service':a124_0x73a7db(0xcb),'command':a124_0x73a7db(0xd5),'description':a124_0x73a7db(0xd3),'risk':'read','flags':[SQLCODE_FLAG,{'name':a124_0x73a7db(0xc7),'type':'boolean','description':a124_0x73a7db(0xdd)}],async 'execute'(_0x168427){const _0x5b235f=a124_0x73a7db,_0x3ff640=await getSqlQueryInfo(_0x168427[_0x5b235f(0xd7)],_0x168427[_0x5b235f(0xce)](_0x5b235f(0xd6))),_0xe12b8a=_0x168427[_0x5b235f(0xdb)](_0x5b235f(0xc7));if(_0xe12b8a)return{'ok':!![],'data':_0x3ff640};const _0x47f1da=_0x3ff640[_0x5b235f(0xca)]?await getDbName(_0x168427['appCode'],_0x3ff640[_0x5b235f(0xca)]):undefined;return{'ok':!![],'data':{'sqlCode':_0x3ff640[_0x5b235f(0xd0)],'sqlName':_0x3ff640[_0x5b235f(0xc6)],'db':_0x47f1da?_0x47f1da+'\x20('+_0x3ff640[_0x5b235f(0xca)]+')':_0x3ff640[_0x5b235f(0xca)]??'','description':_0x3ff640[_0x5b235f(0xd1)]??'','sqlContent':_0x3ff640[_0x5b235f(0xdc)]??''}};}};function a124_0xa763(){const _0x451c42=['3862872iKeQmV','Get\x20custom\x20SQL\x20query\x20details\x20by\x20sqlCode','1040pVShLc','detail','sqlcode','appCode','86421wJYLtg','377499ttkuwa','126WqNcHq','bool','sqlContent','Return\x20full\x20raw\x20SQL\x20query\x20object','3174YdnmWE','sqlName','verbose','137872LmAppO','817713XsvZAv','dbId','sql','213334trOYLy','7410cVMmoQ','str','6GxhNYS','sqlCode','description'];a124_0xa763=function(){return _0x451c42;};return a124_0xa763();}
|
package/lib/commands/sql/exec.js
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
function
|
|
1
|
+
const a125_0x417cc5=a125_0x4e0e;function a125_0x4e0e(_0x386301,_0x4547e){_0x386301=_0x386301-0x1d2;const _0x4e52db=a125_0x4e52();let _0x4e0e1d=_0x4e52db[_0x386301];return _0x4e0e1d;}(function(_0x5cc41d,_0x9fad97){const _0x4b4ff4=a125_0x4e0e,_0xacf4af=_0x5cc41d();while(!![]){try{const _0x3c5762=parseInt(_0x4b4ff4(0x1dc))/0x1*(parseInt(_0x4b4ff4(0x1dd))/0x2)+parseInt(_0x4b4ff4(0x1e6))/0x3+parseInt(_0x4b4ff4(0x1db))/0x4+parseInt(_0x4b4ff4(0x1d7))/0x5*(-parseInt(_0x4b4ff4(0x1e7))/0x6)+-parseInt(_0x4b4ff4(0x1e8))/0x7+parseInt(_0x4b4ff4(0x1d4))/0x8+parseInt(_0x4b4ff4(0x1de))/0x9;if(_0x3c5762===_0x9fad97)break;else _0xacf4af['push'](_0xacf4af['shift']());}catch(_0x3a05a0){_0xacf4af['push'](_0xacf4af['shift']());}}}(a125_0x4e52,0x6eb3d));import{executeSql}from'../../core/api-client.js';import{SQLCODE_FLAG}from'../../commands/common/flags.js';import{parseJsonParams}from'../../utils/params.js';function a125_0x4e52(){const _0xeb24b5=['length','Returned\x20','2380856yTJEdU','sqlcode','string','550gzVDur','appCode','sql','execResult','1408600UTzTkk','17457bFWTdd','22XpOZyQ','2628450lmLEeO','str','read','params','SQL\x20execution\x20failed','execSuccess','exec','now','724563JxLWnS','10362XumQdK','5123636vFuUmC'];a125_0x4e52=function(){return _0xeb24b5;};return a125_0x4e52();}export const sqlExec={'service':a125_0x417cc5(0x1d9),'command':a125_0x417cc5(0x1e4),'description':'Execute\x20a\x20custom\x20SQL\x20query\x20by\x20sqlCode','risk':a125_0x417cc5(0x1e0),'flags':[SQLCODE_FLAG,{'name':a125_0x417cc5(0x1e1),'type':a125_0x417cc5(0x1d6),'description':'SQL\x20parameters\x20as\x20JSON\x20string\x20(e.g.\x20\x27{\x22key\x22:\x22value\x22}\x27)'}],async 'execute'(_0x48ab00){const _0x1c229a=a125_0x417cc5,_0x867b38=parseJsonParams(_0x48ab00['str'](_0x1c229a(0x1e1))),_0x5d5a5b=Date[_0x1c229a(0x1e5)](),_0x52b018=await executeSql(_0x48ab00[_0x1c229a(0x1d8)],_0x48ab00[_0x1c229a(0x1df)](_0x1c229a(0x1d5)),_0x867b38),_0x5366f7=Date[_0x1c229a(0x1e5)]()-_0x5d5a5b,_0x302bae=_0x52b018?.[_0x1c229a(0x1da)]??_0x52b018,_0x48c716=_0x52b018?.[_0x1c229a(0x1e3)]??!![];if(!_0x48c716)return{'ok':![],'data':{'error':_0x52b018?.['execError']||_0x1c229a(0x1e2),'elapsed':_0x5366f7},'message':_0x1c229a(0x1e2)};const _0x4c349a=Array['isArray'](_0x302bae)?_0x302bae:[];return{'ok':!![],'data':{'rows':_0x4c349a,'rowCount':_0x4c349a[_0x1c229a(0x1d2)],'elapsed':_0x5366f7},'message':_0x1c229a(0x1d3)+_0x4c349a['length']+'\x20row(s)\x20in\x20'+_0x5366f7+'ms'};}};
|
|
@@ -1 +1 @@
|
|
|
1
|
-
|
|
1
|
+
(function(_0x177bb2,_0x6b0328){const _0x3e40ef=a126_0x566c,_0x3ca309=_0x177bb2();while(!![]){try{const _0x36b44a=-parseInt(_0x3e40ef(0xd0))/0x1*(parseInt(_0x3e40ef(0xcf))/0x2)+-parseInt(_0x3e40ef(0xd2))/0x3*(parseInt(_0x3e40ef(0xd4))/0x4)+parseInt(_0x3e40ef(0xd1))/0x5*(parseInt(_0x3e40ef(0xd7))/0x6)+parseInt(_0x3e40ef(0xd6))/0x7*(parseInt(_0x3e40ef(0xd3))/0x8)+parseInt(_0x3e40ef(0xd5))/0x9+parseInt(_0x3e40ef(0xce))/0xa+-parseInt(_0x3e40ef(0xcd))/0xb*(parseInt(_0x3e40ef(0xd8))/0xc);if(_0x36b44a===_0x6b0328)break;else _0x3ca309['push'](_0x3ca309['shift']());}catch(_0x327796){_0x3ca309['push'](_0x3ca309['shift']());}}}(a126_0x2ebc,0x97f68));function a126_0x2ebc(){const _0x12d9af=['745296AiiquP','1672eEirgY','5360463OjEeOV','7fxghMK','5537076INbJvH','4708164gkiWEu','44gaBRDc','10364350zBeeEu','736rqlPlI','523PTNYaR','5usRJWE','1893mDZrvL'];a126_0x2ebc=function(){return _0x12d9af;};return a126_0x2ebc();}import{sqlList}from'../../commands/sql/list.js';function a126_0x566c(_0x37a8ab,_0x8a5720){_0x37a8ab=_0x37a8ab-0xcd;const _0x2ebc80=a126_0x2ebc();let _0x566c27=_0x2ebc80[_0x37a8ab];return _0x566c27;}import{sqlDetail}from'../../commands/sql/detail.js';import{sqlValidate}from'../../commands/sql/validate.js';import{sqlSave}from'../../commands/sql/save.js';import{sqlExec}from'../../commands/sql/exec.js';import{sqlPull}from'../../commands/sql/pull.js';import{sqlCreate}from'../../commands/sql/create.js';import{sqlStatus}from'../../commands/sql/status.js';import{sqlPush}from'../../commands/sql/push.js';import{sqlDelete}from'../../commands/sql/delete.js';export const sqlDefinitions=[sqlList,sqlDetail,sqlStatus,sqlCreate,sqlPush,sqlValidate,sqlSave,sqlExec,sqlPull,sqlDelete];
|
package/lib/commands/sql/list.js
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
function
|
|
1
|
+
const a127_0x221d5b=a127_0x1016;function a127_0x1016(_0x7f3506,_0x49ae60){_0x7f3506=_0x7f3506-0x1f2;const _0x32dd23=a127_0x32dd();let _0x101673=_0x32dd23[_0x7f3506];return _0x101673;}(function(_0x4b8a7c,_0xdd3ed3){const _0x31657b=a127_0x1016,_0x3e4380=_0x4b8a7c();while(!![]){try{const _0x520e7c=-parseInt(_0x31657b(0x1f6))/0x1*(-parseInt(_0x31657b(0x1f4))/0x2)+-parseInt(_0x31657b(0x202))/0x3*(-parseInt(_0x31657b(0x1fa))/0x4)+-parseInt(_0x31657b(0x206))/0x5*(-parseInt(_0x31657b(0x20b))/0x6)+parseInt(_0x31657b(0x209))/0x7+parseInt(_0x31657b(0x207))/0x8+parseInt(_0x31657b(0x1fd))/0x9+-parseInt(_0x31657b(0x208))/0xa;if(_0x520e7c===_0xdd3ed3)break;else _0x3e4380['push'](_0x3e4380['shift']());}catch(_0x36a0a3){_0x3e4380['push'](_0x3e4380['shift']());}}}(a127_0x32dd,0x2dcda));import{listSqlQueries}from'../../core/api-client.js';function a127_0x32dd(){const _0x4c45a8=['name','number','56226hfIttT','sqlCode','num','list','1379630BdMnrb','200136RmfJEU','6424010hykewr','2034662tuhTkX','Return\x20full\x20SQL\x20query\x20objects\x20including\x20parameters\x20and\x20SQL\x20content','6tCmhUY','sqlcode','paging','totalCount','length','bool','appCode','4BfPhwD','dbId','70754IEcpfU','No\x20custom\x20SQL\x20queries\x20found.','map','sql','4WJLnDZ','description','page','703368MRzFsW','str','all'];a127_0x32dd=function(){return _0x4c45a8;};return a127_0x32dd();}import{getDbName}from'../../core/db-resolver.js';import{SQLCODE_FLAG_OPTIONAL}from'../../commands/common/flags.js';export const sqlList={'service':a127_0x221d5b(0x1f9),'command':a127_0x221d5b(0x205),'description':'List\x20custom\x20SQL\x20queries','risk':'read','flags':[SQLCODE_FLAG_OPTIONAL,{'name':a127_0x221d5b(0x200),'type':'string','description':'Filter\x20by\x20SQL\x20name'},{'name':a127_0x221d5b(0x1fc),'type':a127_0x221d5b(0x201),'description':'Page\x20number','default':0x1},{'name':'pagesize','type':a127_0x221d5b(0x201),'description':'Page\x20size'},{'name':'verbose','type':'boolean','description':a127_0x221d5b(0x20a)}],async 'execute'(_0x53b7f1){const _0x1a9a84=a127_0x221d5b,_0x23ea9f=await listSqlQueries(_0x53b7f1[_0x1a9a84(0x1f3)],{'sqlCode':_0x53b7f1[_0x1a9a84(0x1fe)](_0x1a9a84(0x20c))||undefined,'sqlName':_0x53b7f1[_0x1a9a84(0x1fe)](_0x1a9a84(0x200))||undefined,'currentPage':_0x53b7f1['num'](_0x1a9a84(0x1fc)),'pageSize':_0x53b7f1[_0x1a9a84(0x204)]('pagesize',0x32)}),_0x145a2f=_0x53b7f1[_0x1a9a84(0x1f2)]('verbose'),_0x1f3547=_0x23ea9f['tableData']??[],_0x3b29dc=_0x23ea9f[_0x1a9a84(0x20d)]?.[_0x1a9a84(0x20e)]??_0x1f3547[_0x1a9a84(0x20f)];let _0x1cf9c7;return _0x145a2f?_0x1cf9c7=_0x1f3547:_0x1cf9c7=await Promise[_0x1a9a84(0x1ff)](_0x1f3547[_0x1a9a84(0x1f8)](async _0x4a565c=>{const _0x59d2f5=_0x1a9a84;let _0x1ff6c9;try{_0x1ff6c9=_0x4a565c[_0x59d2f5(0x1f5)]?await getDbName(_0x53b7f1['appCode'],_0x4a565c[_0x59d2f5(0x1f5)]):undefined;}catch{}return{'sqlCode':_0x4a565c[_0x59d2f5(0x203)],'sqlName':_0x4a565c['sqlName'],'description':_0x4a565c[_0x59d2f5(0x1fb)]??'','db':_0x1ff6c9?_0x1ff6c9+'\x20('+_0x4a565c[_0x59d2f5(0x1f5)]+')':_0x4a565c[_0x59d2f5(0x1f5)]??''};})),{'ok':!![],'data':_0x1cf9c7,'message':_0x1f3547[_0x1a9a84(0x20f)]===0x0?_0x1a9a84(0x1f7):'Found\x20'+_0x1f3547[_0x1a9a84(0x20f)]+'\x20SQL\x20queries\x20(total:\x20'+_0x3b29dc+').'};}};
|