@lovrabet/rabetbase-cli 2.1.6 → 2.1.7-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/delete.js +1 -0
- package/lib/commands/dataset/detail.js +1 -1
- package/lib/commands/dataset/index.js +1 -1
- package/lib/commands/dataset/link-create.js +1 -0
- package/lib/commands/dataset/link-delete.js +1 -0
- package/lib/commands/dataset/link-shared.js +1 -0
- package/lib/commands/dataset/link-update.js +1 -0
- package/lib/commands/dataset/links.js +1 -1
- package/lib/commands/dataset/list.js +1 -1
- package/lib/commands/dataset/operations.js +1 -1
- package/lib/commands/db/analyze-cancel.js +1 -1
- package/lib/commands/db/analyze-start.js +1 -1
- package/lib/commands/db/analyze-status.js +1 -1
- package/lib/commands/db/create.js +1 -1
- package/lib/commands/db/delete.js +1 -1
- package/lib/commands/db/detail.js +1 -1
- package/lib/commands/db/diff.js +1 -1
- package/lib/commands/db/index.js +1 -1
- package/lib/commands/db/list.js +1 -1
- package/lib/commands/db/shared.js +1 -1
- package/lib/commands/db/tables.js +1 -1
- package/lib/commands/db/test.js +1 -1
- package/lib/commands/db/update.js +1 -1
- package/lib/commands/doctor.js +1 -1
- package/lib/commands/init/index.js +1 -1
- package/lib/commands/issue/index.js +1 -0
- package/lib/commands/issue/report.js +1 -0
- package/lib/commands/logs/index.js +1 -1
- package/lib/commands/menu/index.js +1 -1
- package/lib/commands/menu/shared/compare-table.js +1 -1
- package/lib/commands/menu/shared/index.js +1 -1
- package/lib/commands/menu/shared/inquirer.js +1 -1
- package/lib/commands/menu/shared/local-pages.js +1 -1
- package/lib/commands/menu/shared/logic.js +1 -1
- package/lib/commands/menu/shared/service.js +1 -1
- package/lib/commands/menu/shared/sync-core.js +1 -1
- package/lib/commands/menu/shared/update-core.js +1 -1
- package/lib/commands/menu/shared/valid-url.js +1 -1
- package/lib/commands/menu/sync.js +1 -1
- package/lib/commands/menu/update.js +1 -1
- package/lib/commands/page/generate-start.js +1 -1
- package/lib/commands/page/generate-status.js +1 -1
- package/lib/commands/page/index.js +1 -1
- package/lib/commands/page/pull.js +1 -1
- package/lib/commands/page/push.js +1 -1
- package/lib/commands/page/shared.js +1 -1
- package/lib/commands/page/standard-page-status.js +1 -1
- package/lib/commands/page/sync.js +1 -1
- package/lib/commands/project/create/enhanced-guided-create.js +1 -1
- package/lib/commands/project/create/format-elapsed.js +1 -1
- package/lib/commands/project/create/main.js +1 -1
- package/lib/commands/project/create/non-interactive.js +1 -1
- package/lib/commands/project/create/project-template-path.js +1 -1
- package/lib/commands/project/create/use-copy-project-template.js +1 -1
- package/lib/commands/project/create/use-format-code.js +1 -1
- package/lib/commands/project/create/use-install-dependencies.js +1 -1
- package/lib/commands/project/index.js +1 -1
- package/lib/commands/project/init.js +1 -1
- package/lib/commands/project/upgrade.js +1 -1
- package/lib/commands/registry.js +1 -1
- package/lib/commands/run/index.js +1 -1
- package/lib/commands/schema.js +1 -1
- package/lib/commands/skill/index.js +1 -1
- package/lib/commands/sql/create.js +1 -1
- package/lib/commands/sql/delete.js +1 -1
- package/lib/commands/sql/detail.js +1 -1
- package/lib/commands/sql/exec.js +1 -1
- package/lib/commands/sql/index.js +1 -1
- package/lib/commands/sql/list.js +1 -1
- package/lib/commands/sql/pull.js +1 -1
- package/lib/commands/sql/push.js +1 -1
- package/lib/commands/sql/save.js +1 -1
- package/lib/commands/sql/shared.js +1 -1
- package/lib/commands/sql/status.js +1 -1
- package/lib/commands/sql/validate.js +1 -1
- package/lib/config/schema.js +1 -1
- package/lib/constant/cdn.js +1 -1
- package/lib/constant/cli.js +1 -1
- package/lib/constant/defaults.js +1 -1
- package/lib/constant/domain.js +1 -1
- package/lib/constant/env.js +1 -1
- package/lib/constant/output.js +1 -1
- package/lib/constant/paths.js +1 -1
- package/lib/constant/risk.js +1 -1
- package/lib/context.js +1 -1
- package/lib/core/alias-resolver.js +1 -1
- package/lib/core/api-client.js +1 -1
- package/lib/core/bff/config.js +1 -1
- package/lib/core/bff/file-system.js +1 -1
- package/lib/core/bff/hash.js +1 -1
- package/lib/core/bff/lock.js +1 -1
- package/lib/core/bff/utils.js +1 -1
- package/lib/core/db-resolver.js +1 -1
- package/lib/core/page/file-system.js +1 -1
- package/lib/core/page/hash.js +1 -1
- package/lib/core/page/lock.js +1 -1
- package/lib/core/sql-sync/config.js +1 -1
- package/lib/core/sql-sync/file-system.js +1 -1
- package/lib/core/sql-sync/hash.js +1 -1
- package/lib/core/sql-sync/lock.js +1 -1
- package/lib/core/sql-sync/utils.js +1 -1
- package/lib/core/sql-validator.js +1 -1
- package/lib/errors.js +1 -1
- package/lib/framework/build-all-flags.js +1 -1
- package/lib/framework/flags.js +1 -1
- package/lib/framework/help.js +1 -1
- package/lib/framework/index.js +1 -1
- package/lib/framework/output.js +1 -1
- package/lib/framework/response.js +1 -1
- package/lib/framework/runner-alias.js +1 -1
- package/lib/framework/runner.js +1 -1
- package/lib/framework/schema-export.js +1 -1
- package/lib/framework/types.js +1 -1
- package/lib/generated/build-info.js +1 -1
- package/lib/help.js +1 -1
- package/lib/skills/main.js +1 -1
- package/lib/skills/npx-skills-add.js +1 -1
- package/lib/telemetry/cli-command-trace.js +1 -1
- package/lib/telemetry/cli-help-trace.js +1 -1
- package/lib/telemetry/ensure-cli-otel-config.js +1 -1
- package/lib/telemetry/register-otel-exit-shutdown.js +1 -1
- package/lib/telemetry/send-cli-trace-log.js +1 -1
- package/lib/telemetry/send-platform-issue-collect-log.js +1 -0
- package/lib/utils/ai_config.js +1 -1
- package/lib/utils/apply-jq-filter.js +1 -1
- package/lib/utils/cdn-config.js +1 -1
- package/lib/utils/check-sdk-version.js +1 -1
- package/lib/utils/cli-version-check.js +1 -1
- package/lib/utils/cli-version-policy.js +1 -1
- package/lib/utils/config.js +1 -1
- package/lib/utils/copy-directory.js +1 -1
- package/lib/utils/entity-with-id.js +1 -1
- package/lib/utils/file-utils.js +1 -1
- package/lib/utils/guides-cdn.js +1 -1
- package/lib/utils/http-client.js +1 -1
- package/lib/utils/is-non-interactive.js +1 -1
- package/lib/utils/logger.js +1 -1
- package/lib/utils/params.js +1 -1
- package/lib/utils/platform.js +1 -1
- package/lib/utils/rules-cdn.js +1 -1
- package/lib/utils/sleep.js +1 -1
- package/lib/utils/template-replacer.js +1 -1
- package/lib/utils/version.js +1 -1
- package/lib/utils/with-active-cookie.js +1 -1
- package/lib/utils/write-cli-side-channel.js +1 -1
- package/package.json +2 -1
|
@@ -1 +1 @@
|
|
|
1
|
-
(function(
|
|
1
|
+
(function(_0x36f06c,_0x1217b8){const _0x3392d3=a102_0x46e8,_0x56ccf8=_0x36f06c();while(!![]){try{const _0x5acad=-parseInt(_0x3392d3(0x1c4))/0x1*(parseInt(_0x3392d3(0x1cf))/0x2)+-parseInt(_0x3392d3(0x1b3))/0x3*(-parseInt(_0x3392d3(0x1d0))/0x4)+parseInt(_0x3392d3(0x1af))/0x5*(parseInt(_0x3392d3(0x1ab))/0x6)+parseInt(_0x3392d3(0x1ce))/0x7+-parseInt(_0x3392d3(0x1a5))/0x8+parseInt(_0x3392d3(0x1c3))/0x9+parseInt(_0x3392d3(0x1d2))/0xa*(-parseInt(_0x3392d3(0x1b9))/0xb);if(_0x5acad===_0x1217b8)break;else _0x56ccf8['push'](_0x56ccf8['shift']());}catch(_0x5be5d7){_0x56ccf8['push'](_0x56ccf8['shift']());}}}(a102_0x10bc,0xdfa3c));import a102_0x47c5a9 from'path';import a102_0x2bd400 from'fs/promises';import{existsSync}from'fs';import{CLI_BIN_NAME}from'../../../constant/cli.js';import{DEFAULT_API_DIR}from'../../../constant/paths.js';import{exec,execSync}from'child_process';import{copyDirectory}from'../../../utils/copy-directory.js';import{promisify}from'util';import{assertCliVersionSupported,checkCliVersion,printCliUpgradeWarning}from'../../../utils/cli-version-check.js';import{writeConfigFile,NEW_CONFIG_NAME}from'../../../context.js';import{readConfig}from'../../../utils/config.js';import{getCliVersion}from'../../../utils/version.js';function a102_0x46e8(_0x353256,_0x4036ca){_0x353256=_0x353256-0x19f;const _0x10bcd6=a102_0x10bc();let _0x46e86a=_0x10bcd6[_0x353256];return _0x46e86a;}import{CliErrors}from'../../../errors.js';import{fetchModelList}from'../../../api/fetch-model-list.js';import{generateApiFile}from'../../../api/generate-api-file.js';import{initEnv}from'../../../constant/env.js';import{getSubAppReactDemoTemplateDir}from'../../../commands/project/create/project-template-path.js';import{PROJECT_CREATE_INHERITABLE_KEYS,buildCanonicalProjectConfig}from'../../../config/schema.js';const execAsync=promisify(exec);export async function createProjectNonInteractive(_0x4a399b,_0x6ccab5,_0x4f31ce,_0x45f844){const _0x585ec1=a102_0x46e8,_0x5ea6d6=await checkCliVersion();(_0x5ea6d6[_0x585ec1(0x1c6)]||_0x5ea6d6['belowMinimum'])&&(printCliUpgradeWarning(_0x5ea6d6),assertCliVersionSupported(_0x5ea6d6));if(!_0x4a399b||_0x4a399b[_0x585ec1(0x1cb)]()==='')throw CliErrors[_0x585ec1(0x1ad)]('Project\x20name\x20cannot\x20be\x20empty.');const _0x348854=/[<>:"|?*\x00-\x1f\x7f]/;if(_0x348854[_0x585ec1(0x1a4)](_0x4a399b))throw CliErrors[_0x585ec1(0x1ad)]('Project\x20name\x20contains\x20invalid\x20characters.',_0x585ec1(0x1d5));if(_0x4a399b[_0x585ec1(0x1be)]>0x64)throw CliErrors['validation'](_0x585ec1(0x1c8));const _0x9e2836=a102_0x47c5a9[_0x585ec1(0x1bf)](process['cwd'](),_0x4a399b);if(existsSync(_0x9e2836))throw CliErrors[_0x585ec1(0x1ad)]('Project\x20directory\x20\x22'+_0x4a399b+_0x585ec1(0x1bc),_0x585ec1(0x1ac));try{const _0x48ec0c=a102_0x47c5a9[_0x585ec1(0x1d7)](_0x9e2836);await a102_0x2bd400[_0x585ec1(0x1b5)](_0x48ec0c,a102_0x2bd400[_0x585ec1(0x1b8)]['W_OK']);}catch{throw CliErrors['validation'](_0x585ec1(0x1cd),_0x585ec1(0x1c1));}try{console[_0x585ec1(0x1bd)](_0x585ec1(0x1b1)+_0x4a399b+_0x585ec1(0x1b0));const _0x54af8a=getSubAppReactDemoTemplateDir();await copyDirectory(_0x54af8a,_0x9e2836),console[_0x585ec1(0x1bd)](_0x585ec1(0x1c9)),await updatePackageJsonName(_0x4a399b),console['log']('\x20\x20√\x20package.json\x20updated'),console['log'](_0x585ec1(0x1c5)),console[_0x585ec1(0x1bd)]('\x20\x20√\x20Dependency\x20install\x20skipped\x20(non-interactive)'),await formatCode(_0x9e2836),console[_0x585ec1(0x1bd)](_0x585ec1(0x1a1)),await configureProject(_0x4a399b,_0x4f31ce,_0x6ccab5),console[_0x585ec1(0x1bd)](_0x585ec1(0x1b7)),_0x4f31ce&&await pullApiConfig(_0x9e2836,_0x4f31ce,_0x6ccab5,_0x45f844),console[_0x585ec1(0x1bd)]('\x0a√\x20Project\x20'+_0x4a399b+_0x585ec1(0x1ae)),console[_0x585ec1(0x1bd)](_0x585ec1(0x1a2)+_0x4a399b),console[_0x585ec1(0x1bd)](_0x585ec1(0x1a7));}catch(_0x126e34){try{existsSync(_0x9e2836)&&await a102_0x2bd400['rm'](_0x9e2836,{'recursive':!![],'force':!![]});}catch{}throw _0x126e34;}}async function updatePackageJsonName(_0x573b0f){const _0x15183b=a102_0x46e8,_0x3adc36=a102_0x47c5a9['resolve'](process['cwd'](),_0x573b0f),_0x315652=a102_0x47c5a9[_0x15183b(0x1bb)](_0x3adc36,'package.json'),_0x43ee35=await a102_0x2bd400[_0x15183b(0x1b6)](_0x315652,_0x15183b(0x1a8)),_0x1a8098=JSON[_0x15183b(0x1d1)](_0x43ee35);_0x1a8098['name']=_0x573b0f,_0x1a8098[_0x15183b(0x1c0)]=_0x15183b(0x19f),await a102_0x2bd400[_0x15183b(0x1ba)](_0x315652,JSON[_0x15183b(0x1a0)](_0x1a8098,null,0x2)+'\x0a');}function detectPackageManager(){const _0x324cad=a102_0x46e8;try{return execSync(_0x324cad(0x1b4),{'stdio':_0x324cad(0x1cc)}),'bun';}catch{return _0x324cad(0x1ca);}}async function formatCode(_0x476d6f){const _0x5587b4=a102_0x46e8;try{await execAsync(_0x5587b4(0x1d8),{'cwd':_0x476d6f});}catch{}}async function configureProject(_0x4b7179,_0x1e685a,_0x302b97){const _0x3dd470=a102_0x46e8,_0x434596=a102_0x47c5a9[_0x3dd470(0x1bf)](process[_0x3dd470(0x1b2)](),_0x4b7179),_0x27e2e9=a102_0x47c5a9[_0x3dd470(0x1bb)](_0x434596,NEW_CONFIG_NAME),_0x4b4421=readConfig(),_0x176143=typeof _0x4b4421['env']===_0x3dd470(0x1aa)?_0x4b4421[_0x3dd470(0x1c7)]:undefined,_0x3d218e={};for(const _0x5dd1c9 of PROJECT_CREATE_INHERITABLE_KEYS){if(_0x4b4421[_0x5dd1c9]!=null)_0x3d218e[_0x5dd1c9]=_0x4b4421[_0x5dd1c9];}const _0x3cd4e7=buildCanonicalProjectConfig(_0x3d218e,{'appCodes':_0x1e685a?[_0x1e685a]:[],'env':_0x302b97||_0x176143||_0x3dd470(0x1c2),'metadata':{'createdAt':new Date()['toLocaleString'](),'version':getCliVersion()}});writeConfigFile(_0x27e2e9,_0x3cd4e7);}async function pullApiConfig(_0x5180f5,_0x2db953,_0x643466,_0x25cce2){const _0x4e6c13=a102_0x46e8,_0x567dc3=process[_0x4e6c13(0x1b2)]();try{process[_0x4e6c13(0x1d4)](_0x5180f5);const _0x3fea7c=_0x643466||_0x4e6c13(0x1c2);initEnv(_0x3fea7c),console[_0x4e6c13(0x1bd)]('\x20\x20Pulling\x20API\x20configuration...');const {configArray:_0xc78186}=await fetchModelList(_0x2db953,_0x25cce2||''),_0x2fed62=await generateApiFile(_0xc78186,'',_0x2db953,!![],_0x3fea7c,DEFAULT_API_DIR);console['log']('\x20\x20√\x20Pulled\x20'+_0xc78186[_0x4e6c13(0x1be)]+_0x4e6c13(0x1a9)+_0x2fed62[_0x4e6c13(0x1a3)]+_0x4e6c13(0x1d6));}catch(_0x316f56){console['log'](_0x4e6c13(0x1a6)+CLI_BIN_NAME+_0x4e6c13(0x1d3));}finally{process[_0x4e6c13(0x1d4)](_0x567dc3);}}function a102_0x10bc(){const _0x87b2df=['A\x20project\x20created\x20with\x20Lovrabet\x20CLI','stringify','\x20\x20√\x20Code\x20formatted','\x0a\x20\x20cd\x20','modelCount','test','6051600IZlfQk','\x20\x20!\x20API\x20pull\x20failed,\x20run\x20`','\x20\x20rabetbase\x20run\x20start\x0a','utf-8','\x20dataset(s),\x20generated\x20','string','5628YixiEb','Use\x20a\x20different\x20project\x20name.','validation','\x20created\x20successfully!','325oTPjqk','...','*\x20Creating\x20project\x20','cwd','4132497PYntUF','bun\x20--version','access','readFile','\x20\x20√\x20Configuration\x20file\x20created','constants','11jHIfkJ','writeFile','join','\x22\x20already\x20exists.','log','length','resolve','description','Check\x20directory\x20permissions.','production','9238491YnaNIZ','20431mQjVBZ','\x20\x20Installing\x20dependencies...','needsUpgrade','env','Project\x20name\x20is\x20too\x20long,\x20maximum\x20100\x20characters.','\x20\x20√\x20Project\x20template\x20created','npm','trim','ignore','Cannot\x20create\x20project\x20in\x20current\x20directory.','7374017dOennx','58QyUZQf','4SrsJan','parse','12534220lHWGtg','\x20api\x20pull`\x20manually\x20later.','chdir','Not\x20allowed:\x20<\x20>\x20:\x20\x22\x20|\x20?\x20*\x20and\x20control\x20characters','\x20model(s)','dirname','bun\x20run\x20format'];a102_0x10bc=function(){return _0x87b2df;};return a102_0x10bc();}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
const
|
|
1
|
+
const a103_0x13931a=a103_0x3b96;function a103_0x47d6(){const _0x1b8e01=['2498384ZBoeCV','2761388mVwnoa','sub-app-react-demo','584860wWstYH','3309978urOTaQ','projects','1979742NgDRms','../../../../','6twKKoZ','dirname','529994NeeBXl','620111sYyZtL','resolve'];a103_0x47d6=function(){return _0x1b8e01;};return a103_0x47d6();}(function(_0x39c645,_0x2cddc1){const _0x2a295a=a103_0x3b96,_0x32ad71=_0x39c645();while(!![]){try{const _0x33965e=-parseInt(_0x2a295a(0x1a6))/0x1+-parseInt(_0x2a295a(0x1a5))/0x2+parseInt(_0x2a295a(0x1a1))/0x3+parseInt(_0x2a295a(0x1a9))/0x4+-parseInt(_0x2a295a(0x1ab))/0x5*(-parseInt(_0x2a295a(0x1a3))/0x6)+-parseInt(_0x2a295a(0x19f))/0x7+parseInt(_0x2a295a(0x1a8))/0x8;if(_0x33965e===_0x2cddc1)break;else _0x32ad71['push'](_0x32ad71['shift']());}catch(_0x90e9ea){_0x32ad71['push'](_0x32ad71['shift']());}}}(a103_0x47d6,0x66ec1));import a103_0x1789f1 from'node:path';import{fileURLToPath}from'node:url';function a103_0x3b96(_0x8257d1,_0x1e1d36){_0x8257d1=_0x8257d1-0x19f;const _0x47d60c=a103_0x47d6();let _0x3b96bd=_0x47d60c[_0x8257d1];return _0x3b96bd;}const __dirname=a103_0x1789f1[a103_0x13931a(0x1a4)](fileURLToPath(import.meta.url));export function getRabetbaseCliPackageRoot(){const _0x35beee=a103_0x13931a;return a103_0x1789f1[_0x35beee(0x1a7)](__dirname,_0x35beee(0x1a2));}export function getSubAppReactDemoTemplateDir(){const _0xfc8364=a103_0x13931a;return a103_0x1789f1['join'](getRabetbaseCliPackageRoot(),'templates',_0xfc8364(0x1a0),_0xfc8364(0x1aa));}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
(function(
|
|
1
|
+
function a104_0x5bc9(){const _0x31ed6f=['success','334367RcIBdX','48Ddhxer','copy','3474392ZCBvYR','项目模板复制完成','info','235442ZudVzw','1130hYPDzd','message','738445kojdhK','556619qJbrim','10WgtNIC','项目模板复制失败','1773nRciTZ','13256KvvzGx','5341404HdDhQO','now'];a104_0x5bc9=function(){return _0x31ed6f;};return a104_0x5bc9();}(function(_0x2b579d,_0x4f1266){const _0xcff74b=a104_0x1479,_0x4714cb=_0x2b579d();while(!![]){try{const _0x43fa5b=parseInt(_0xcff74b(0xa4))/0x1+parseInt(_0xcff74b(0xa1))/0x2*(-parseInt(_0xcff74b(0x9c))/0x3)+parseInt(_0xcff74b(0x9e))/0x4+parseInt(_0xcff74b(0xa6))/0x5*(-parseInt(_0xcff74b(0xaa))/0x6)+-parseInt(_0xcff74b(0xa5))/0x7+parseInt(_0xcff74b(0xa9))/0x8*(-parseInt(_0xcff74b(0xa8))/0x9)+-parseInt(_0xcff74b(0xa2))/0xa*(-parseInt(_0xcff74b(0xad))/0xb);if(_0x43fa5b===_0x4f1266)break;else _0x4714cb['push'](_0x4714cb['shift']());}catch(_0x390d14){_0x4714cb['push'](_0x4714cb['shift']());}}}(a104_0x5bc9,0xed4b2));import a104_0x2d6018 from'node:path';import{copyDirectory}from'../../../utils/copy-directory.js';import{formatElapsed}from'../../../commands/project/create/format-elapsed.js';import{logger}from'../../../utils/logger.js';import{getSubAppReactDemoTemplateDir}from'../../../commands/project/create/project-template-path.js';const templateDir=getSubAppReactDemoTemplateDir();function a104_0x1479(_0x436b1e,_0x431738){_0x436b1e=_0x436b1e-0x9c;const _0x5bc9eb=a104_0x5bc9();let _0x147902=_0x5bc9eb[_0x436b1e];return _0x147902;}export async function copyProjectTemplate(_0x56b098){const _0x77e4bf=a104_0x1479,_0x3b7881=Date['now'](),_0x57261a=a104_0x2d6018['resolve'](process['cwd'](),_0x56b098);try{logger[_0x77e4bf(0xa0)](_0x77e4bf(0x9d),'开始复制项目模板',{'projectCode':_0x56b098,'templateDir':templateDir}),await copyDirectory(templateDir,_0x57261a);const _0x4bd563=Date['now']()-_0x3b7881;logger[_0x77e4bf(0xac)](_0x77e4bf(0x9d),_0x77e4bf(0x9f),_0x4bd563,{'projectCode':_0x56b098});}catch(_0x11b9af){const _0x21b73e=Date[_0x77e4bf(0xab)]()-_0x3b7881;logger['error'](_0x77e4bf(0x9d),_0x77e4bf(0xa7),{'projectCode':_0x56b098,'error':_0x11b9af instanceof Error?_0x11b9af[_0x77e4bf(0xa3)]:String(_0x11b9af),'duration':_0x21b73e});throw _0x11b9af;}return formatElapsed(_0x3b7881);}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
(function(
|
|
1
|
+
(function(_0x1bafa4,_0x258cc3){const _0x12c856=a105_0x5d5e,_0xd97862=_0x1bafa4();while(!![]){try{const _0x3de543=-parseInt(_0x12c856(0x15d))/0x1*(parseInt(_0x12c856(0x162))/0x2)+parseInt(_0x12c856(0x156))/0x3*(parseInt(_0x12c856(0x160))/0x4)+-parseInt(_0x12c856(0x15a))/0x5*(parseInt(_0x12c856(0x158))/0x6)+parseInt(_0x12c856(0x161))/0x7*(parseInt(_0x12c856(0x14f))/0x8)+-parseInt(_0x12c856(0x151))/0x9+parseInt(_0x12c856(0x153))/0xa+-parseInt(_0x12c856(0x15b))/0xb*(-parseInt(_0x12c856(0x14e))/0xc);if(_0x3de543===_0x258cc3)break;else _0xd97862['push'](_0xd97862['shift']());}catch(_0x363db9){_0xd97862['push'](_0xd97862['shift']());}}}(a105_0x2e05,0xa67bb));import a105_0x2ce30e from'node:path';import{execa}from'execa';import{formatElapsed}from'../../../commands/project/create/format-elapsed.js';import{logger}from'../../../utils/logger.js';function a105_0x2e05(){const _0x491548=['74708OfGkwH','49QIeOqL','2265628FhfjaJ','--write','1008qXNYxp','1203416vjBCjG','代码格式化失败','1475370soltyT','format','6254230owwUPu','success','error','69NayMkQ','resolve','40368ZgnxSF','now','240UQkKFq','25355UXnEYL','cwd','1zRHyhH','开始格式化代码','message'];a105_0x2e05=function(){return _0x491548;};return a105_0x2e05();}import{resolveNpmBin}from'../../../utils/platform.js';function a105_0x5d5e(_0x3411b4,_0x41f9cd){_0x3411b4=_0x3411b4-0x14d;const _0x2e05be=a105_0x2e05();let _0x5d5e1b=_0x2e05be[_0x3411b4];return _0x5d5e1b;}export async function formatProjectCode(_0x46849d){const _0x56c0e4=a105_0x5d5e,_0xd2a6a8=Date[_0x56c0e4(0x159)](),_0x57d5cb=a105_0x2ce30e[_0x56c0e4(0x157)](process[_0x56c0e4(0x15c)](),_0x46849d);try{logger['info'](_0x56c0e4(0x152),_0x56c0e4(0x15e),{'projectCode':_0x46849d}),await execa(resolveNpmBin('npx'),['prettier',_0x56c0e4(0x14d),'.'],{'cwd':_0x57d5cb});const _0x47e2f4=Date[_0x56c0e4(0x159)]()-_0xd2a6a8;logger[_0x56c0e4(0x154)]('format','代码格式化完成',_0x47e2f4,{'projectCode':_0x46849d});}catch(_0x5c9fc7){const _0x4af330=Date[_0x56c0e4(0x159)]()-_0xd2a6a8;logger[_0x56c0e4(0x155)]('format',_0x56c0e4(0x150),{'projectCode':_0x46849d,'error':_0x5c9fc7 instanceof Error?_0x5c9fc7[_0x56c0e4(0x15f)]:String(_0x5c9fc7),'duration':_0x4af330});throw _0x5c9fc7;}return formatElapsed(_0xd2a6a8);}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
(function(
|
|
1
|
+
(function(_0x3bf49c,_0x5cdb59){const _0x3cc4e6=a106_0x22d5,_0x240287=_0x3bf49c();while(!![]){try{const _0x49fccd=-parseInt(_0x3cc4e6(0x19d))/0x1+-parseInt(_0x3cc4e6(0x198))/0x2+parseInt(_0x3cc4e6(0x1a1))/0x3*(parseInt(_0x3cc4e6(0x194))/0x4)+-parseInt(_0x3cc4e6(0x19b))/0x5*(-parseInt(_0x3cc4e6(0x196))/0x6)+parseInt(_0x3cc4e6(0x199))/0x7+-parseInt(_0x3cc4e6(0x19a))/0x8+-parseInt(_0x3cc4e6(0x193))/0x9*(-parseInt(_0x3cc4e6(0x1a3))/0xa);if(_0x49fccd===_0x5cdb59)break;else _0x240287['push'](_0x240287['shift']());}catch(_0x3f4dbc){_0x240287['push'](_0x240287['shift']());}}}(a106_0x3b0b,0x60753));import a106_0x1f8320 from'node:path';function a106_0x22d5(_0x703f44,_0x62464b){_0x703f44=_0x703f44-0x192;const _0x3b0b78=a106_0x3b0b();let _0x22d513=_0x3b0b78[_0x703f44];return _0x22d513;}import{execa}from'execa';import{formatElapsed}from'../../../commands/project/create/format-elapsed.js';function a106_0x3b0b(){const _0x53716e=['info','error','117vkJtkj','12wxUrTK','resolve','1953654sqMrEG','依赖安装完成','1493680bKzwJN','3876740XqzodV','3592744ZDyrEx','10lsReoo','--registry','495121sSJhar','now','开始安装依赖','npm','454551JxAkqe','success','328120muryYR','install','https://registry.npmmirror.com'];a106_0x3b0b=function(){return _0x53716e;};return a106_0x3b0b();}import{logger}from'../../../utils/logger.js';import{resolveNpmBin}from'../../../utils/platform.js';export async function installDependencies(_0x391e33){const _0x3f8f70=a106_0x22d5,_0x53948c=Date[_0x3f8f70(0x19e)](),_0x55c856=a106_0x1f8320[_0x3f8f70(0x195)](process['cwd'](),_0x391e33);try{logger[_0x3f8f70(0x1a6)](_0x3f8f70(0x1a4),_0x3f8f70(0x19f),{'projectCode':_0x391e33,'registry':_0x3f8f70(0x1a5)}),await execa(resolveNpmBin(_0x3f8f70(0x1a0)),[_0x3f8f70(0x1a4),_0x3f8f70(0x19c),_0x3f8f70(0x1a5)],{'cwd':_0x55c856});const _0x30ff7f=Date['now']()-_0x53948c;logger[_0x3f8f70(0x1a2)](_0x3f8f70(0x1a4),_0x3f8f70(0x197),_0x30ff7f,{'projectCode':_0x391e33});}catch(_0x35a3c9){const _0x55c39f=Date[_0x3f8f70(0x19e)]()-_0x53948c;logger[_0x3f8f70(0x192)](_0x3f8f70(0x1a4),'依赖安装失败',{'projectCode':_0x391e33,'error':_0x35a3c9 instanceof Error?_0x35a3c9['message']:String(_0x35a3c9),'duration':_0x55c39f});throw _0x35a3c9;}return formatElapsed(_0x53948c);}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
const
|
|
1
|
+
const a107_0x35bec1=a107_0x49fc;function a107_0x342d(){const _0x881e73=['App\x20code\x20to\x20bind\x20(skips\x20interactive\x20selection)','project','1786807HtyADm','371018mHPzdo','str','boolean','59515mkSUCX','write','4527gBDdxj','env','5rDRteW','init','name','Non-interactive\x20mode\x20requires\x20a\x20project\x20name.','upgrade','Skip\x20confirmation\x20prompt','66DMdXdP','bool','yes','Create\x20a\x20new\x20project','10QzFShK','string','25934112QYTieo','appcode','3612JTkEpT','../../commands/project/create/main.js','Project\x20code/name\x20(optional,\x20prompts\x20if\x20omitted)','cookie','project-name','177vyxcpG','../../commands/project/create/non-interactive.js','Upgrade\x20from\x20lovrabet-cli\x20to\x20rabetbase-cli','6441897LOlsOo','trim','Project\x20name','nonInteractive','4232LIhALI','Target\x20environment','validation'];a107_0x342d=function(){return _0x881e73;};return a107_0x342d();}(function(_0x28183e,_0x5c2545){const _0x38ddb5=a107_0x49fc,_0x4068f0=_0x28183e();while(!![]){try{const _0x2c6a3a=-parseInt(_0x38ddb5(0xc4))/0x1*(parseInt(_0x38ddb5(0xbd))/0x2)+parseInt(_0x38ddb5(0xb0))/0x3*(parseInt(_0x38ddb5(0xd2))/0x4)+-parseInt(_0x38ddb5(0xc0))/0x5*(-parseInt(_0x38ddb5(0xca))/0x6)+-parseInt(_0x38ddb5(0xb3))/0x7+-parseInt(_0x38ddb5(0xb7))/0x8*(-parseInt(_0x38ddb5(0xc2))/0x9)+-parseInt(_0x38ddb5(0xce))/0xa*(-parseInt(_0x38ddb5(0xbc))/0xb)+parseInt(_0x38ddb5(0xd0))/0xc;if(_0x2c6a3a===_0x5c2545)break;else _0x4068f0['push'](_0x4068f0['shift']());}catch(_0x12c92f){_0x4068f0['push'](_0x4068f0['shift']());}}}(a107_0x342d,0xe218e));function a107_0x49fc(_0x231fcb,_0x5de266){_0x231fcb=_0x231fcb-0xb0;const _0x342da9=a107_0x342d();let _0x49fc1d=_0x342da9[_0x231fcb];return _0x49fc1d;}import{CliErrors}from'../../errors.js';import{CLI_BIN_NAME}from'../../constant/cli.js';import{initConfig}from'../../commands/project/init.js';import{upgradeApp}from'../../commands/project/upgrade.js';const initFlags=[{'name':'appcode','type':a107_0x35bec1(0xcf),'description':'App\x20code\x20to\x20initialize'},{'name':a107_0x35bec1(0xc3),'type':a107_0x35bec1(0xcf),'description':a107_0x35bec1(0xb8)},{'name':a107_0x35bec1(0xcc),'type':'boolean','description':'Auto-confirm\x20prompts','default':![]}],createFlags=[{'name':a107_0x35bec1(0xc6),'type':'string','description':a107_0x35bec1(0xb5)},{'name':a107_0x35bec1(0xc3),'type':'string','description':'Target\x20environment'},{'name':a107_0x35bec1(0xd1),'type':a107_0x35bec1(0xcf),'description':a107_0x35bec1(0xba)}],upgradeFlags=[{'name':'yes','type':a107_0x35bec1(0xbf),'description':a107_0x35bec1(0xc9),'default':![]}];export const projectDefinitions=[{'service':a107_0x35bec1(0xbb),'command':a107_0x35bec1(0xc5),'description':'Initialize\x20.rabetbase.json\x20config\x20in\x20existing\x20project','risk':'write','requiresAuth':![],'requiresAppCode':![],'hasFormat':![],'flags':initFlags,async 'execute'(_0x81263f){const _0x24f0f2=a107_0x35bec1;return await initConfig({'appcode':_0x81263f[_0x24f0f2(0xbe)]('appcode')||undefined,'env':_0x81263f['str']('env')||undefined,'autoYes':_0x81263f[_0x24f0f2(0xcb)](_0x24f0f2(0xcc))}),{'ok':!![]};}},{'service':a107_0x35bec1(0xbb),'command':'create','description':a107_0x35bec1(0xcd),'risk':'write','requiresAuth':!![],'requiresAppCode':![],'hasFormat':![],'args':[{'name':a107_0x35bec1(0xd6),'description':a107_0x35bec1(0xd4),'required':![]}],'flags':createFlags,async 'execute'(_0x1df891){const _0x52ade1=a107_0x35bec1,{createApp:_0x4a6496}=await import(_0x52ade1(0xd3)),{createProjectNonInteractive:_0x3e6b43}=await import(_0x52ade1(0xb1)),_0x257919=_0x1df891[_0x52ade1(0xbe)](_0x52ade1(0xc6))[_0x52ade1(0xb4)]()||_0x1df891['args'][0x0]?.[_0x52ade1(0xb4)](),_0xc2be27=_0x1df891[_0x52ade1(0xbe)](_0x52ade1(0xc3))||undefined,_0x42dba2=_0x1df891['str'](_0x52ade1(0xd1))||undefined;if(_0x1df891[_0x52ade1(0xb6)]){if(!_0x257919)throw CliErrors[_0x52ade1(0xb9)](_0x52ade1(0xc7),'Usage:\x20'+CLI_BIN_NAME+'\x20project\x20create\x20<project-name>\x20[--appcode\x20<code>]');await _0x3e6b43(_0x257919,_0xc2be27,_0x42dba2,_0x1df891[_0x52ade1(0xd5)]);}else await _0x4a6496({'projectCode':_0x257919,'appCode':_0x42dba2,'env':_0xc2be27,'cookie':_0x1df891[_0x52ade1(0xd5)]});return{'ok':!![]};}},{'service':a107_0x35bec1(0xbb),'command':a107_0x35bec1(0xc8),'description':a107_0x35bec1(0xb2),'risk':a107_0x35bec1(0xc1),'requiresAuth':![],'requiresAppCode':![],'hasFormat':![],'flags':upgradeFlags,async 'execute'(_0x32ee32){const _0x4d8c78=a107_0x35bec1;return await upgradeApp(_0x32ee32[_0x4d8c78(0xb6)],{'yes':_0x32ee32[_0x4d8c78(0xcb)](_0x4d8c78(0xcc))}),{'ok':!![]};}}];
|
|
@@ -1 +1 @@
|
|
|
1
|
-
|
|
1
|
+
(function(_0xf8ed81,_0x5c0880){const _0x3bc09e=a108_0x1b15,_0x22a512=_0xf8ed81();while(!![]){try{const _0x3eb12f=parseInt(_0x3bc09e(0x117))/0x1*(-parseInt(_0x3bc09e(0xfb))/0x2)+-parseInt(_0x3bc09e(0x106))/0x3+parseInt(_0x3bc09e(0x104))/0x4+parseInt(_0x3bc09e(0x11c))/0x5+-parseInt(_0x3bc09e(0x107))/0x6*(parseInt(_0x3bc09e(0x115))/0x7)+parseInt(_0x3bc09e(0x10f))/0x8+parseInt(_0x3bc09e(0xfa))/0x9;if(_0x3eb12f===_0x5c0880)break;else _0x22a512['push'](_0x22a512['shift']());}catch(_0x20d400){_0x22a512['push'](_0x22a512['shift']());}}}(a108_0x424f,0x2e4db));import{readFileSync,existsSync,renameSync}from'node:fs';import{resolve,dirname,basename}from'node:path';function a108_0x424f(){const _0x354927=['?\x20(Old\x20file\x20→\x20*.bak)','parse','version','2426672wkdwbP','cwd','.bak','.rabetbase.json\x20already\x20exists\x20in\x20current\x20directory.\x20Nothing\x20to\x20do.','trim','1.0.0','848099rEvZRX','gray','47cqMJZs','✓\x20Upgraded\x20','初始化项目配置文件成功','\x20→\x20.rabetbase.json','\x20project\x20init`\x20to\x20start\x20fresh.','1004510UaCxiO','log','keys','cyan','production','App\x20Code\x20cannot\x20be\x20empty','.rabetbase.json','utf8','green','\x20\x20Old\x20file\x20backed\x20up\x20as\x20','join','init','Please\x20enter\x20App\x20Code:','yellow','从旧配置文件升级成功','../..','env','2328687OBmNnO','4404gOzPHc','apps','\x20api\x20generate\x27\x20and\x20\x27','Invalid\x20App\x20Code','\x20\x20Apps:\x20','app','defaultApp','setLogPath','string','715204yxlWFq','appcode','855468pNiJno','18Vqylcs','⚠\x20Found\x20legacy\x20configuration\x20file:\x20','info','bold','package.json'];a108_0x424f=function(){return _0x354927;};return a108_0x424f();}import{fileURLToPath}from'node:url';import a108_0x3e8930 from'chalk';import{input,confirm}from'@inquirer/prompts';import{CLI_BIN_NAME}from'../../constant/cli.js';import{logger}from'../../utils/logger.js';import{readRawConfig,getProjectConfigPath,writeConfigFile,NEW_CONFIG_NAME,LEGACY_CONFIG_NAMES}from'../../context.js';import{validateAppcode}from'../../commands/common/validate.js';import{buildCanonicalProjectConfig}from'../../config/schema.js';function a108_0x1b15(_0x3efc1d,_0xa41753){_0x3efc1d=_0x3efc1d-0xf8;const _0x424f59=a108_0x424f();let _0x1b153a=_0x424f59[_0x3efc1d];return _0x1b153a;}export async function initConfig(_0x1c95de){const _0x36540a=a108_0x1b15,{appcode:_0x5b3f3d,env:_0x2a8826,autoYes:_0x184850}=_0x1c95de,_0x4fdaa7=process[_0x36540a(0x110)]();if(getProjectConfigPath())throw new Error(_0x36540a(0x112));let _0x21135e;for(const _0x52f667 of LEGACY_CONFIG_NAMES){const _0x13a05c=resolve(_0x4fdaa7,_0x52f667);if(existsSync(_0x13a05c)){_0x21135e=_0x13a05c;break;}}if(_0x21135e){let _0x1c9e3b={};try{_0x1c9e3b=JSON[_0x36540a(0x10d)](readFileSync(_0x21135e,'utf8'));}catch{}const _0x354c14=basename(_0x21135e),_0x2308e0=_0x1c9e3b?.['appcode']||_0x1c9e3b?.[_0x36540a(0x100)];let _0x214280=_0x184850;!_0x184850&&(console['log'](a108_0x3e8930[_0x36540a(0x129)](_0x36540a(0x108)+a108_0x3e8930[_0x36540a(0x10a)](_0x354c14))),_0x2308e0&&console['log'](a108_0x3e8930[_0x36540a(0x11f)]('\x20\x20appcode:\x20'+_0x2308e0)),_0x214280=await confirm({'message':'Upgrade\x20it\x20to\x20'+a108_0x3e8930[_0x36540a(0x10a)](_0x36540a(0x122))+_0x36540a(0x10c),'default':!![]}));if(!_0x214280){console['log']('Migration\x20cancelled.\x20Run\x20`'+CLI_BIN_NAME+_0x36540a(0x11b));return;}const _0x2e5948=resolve(_0x4fdaa7,NEW_CONFIG_NAME),_0x3c6b7e=getCliVersionFromPkg(),_0x326c39=readRawConfig(),_0x82d2c3=_0x5b3f3d||(typeof _0x1c9e3b?.[_0x36540a(0x105)]==='string'?_0x1c9e3b[_0x36540a(0x105)]:undefined)||(typeof _0x1c9e3b?.[_0x36540a(0x100)]===_0x36540a(0x103)?_0x1c9e3b[_0x36540a(0x100)]:undefined)||await askAppcode(),_0x348c69=typeof _0x1c9e3b?.[_0x36540a(0xf9)]===_0x36540a(0x103)?_0x1c9e3b[_0x36540a(0xf9)]:typeof _0x326c39[_0x36540a(0xf9)]===_0x36540a(0x103)?_0x326c39[_0x36540a(0xf9)]:_0x36540a(0x120),_0x94afee=buildCanonicalProjectConfig({..._0x326c39,..._0x1c9e3b},{'appCodes':[_0x82d2c3],'env':_0x348c69,'metadata':{'version':_0x3c6b7e,'migratedAt':new Date()['toLocaleString'](),'migratedFrom':_0x21135e}});writeConfigFile(_0x2e5948,_0x94afee);const _0x36c331=_0x21135e+_0x36540a(0x111);renameSync(_0x21135e,_0x36c331),logger[_0x36540a(0x102)](_0x4fdaa7),logger[_0x36540a(0x109)](_0x36540a(0x127),_0x36540a(0x12a),{'from':_0x21135e,'to':_0x2e5948,'appcode':_0x82d2c3,'env':_0x94afee[_0x36540a(0xf9)]}),console['log'](a108_0x3e8930[_0x36540a(0x124)](_0x36540a(0x118)+_0x354c14+_0x36540a(0x11a))),console[_0x36540a(0x11d)](a108_0x3e8930[_0x36540a(0x11f)](_0x36540a(0xff)+Object[_0x36540a(0x11e)](_0x94afee['apps']||{})['join'](',\x20'))),console['log'](a108_0x3e8930[_0x36540a(0x11f)]('\x20\x20Default:\x20'+_0x94afee[_0x36540a(0x101)])),console['log'](a108_0x3e8930[_0x36540a(0x116)](_0x36540a(0x125)+_0x354c14+_0x36540a(0x111)));return;}const _0x33d528=_0x5b3f3d||await askAppcode(),_0x30093f=resolve(_0x4fdaa7,NEW_CONFIG_NAME),_0x6c4202=getCliVersionFromPkg(),_0x1ddd25=readRawConfig(),_0x37ff7b=typeof _0x1ddd25['env']===_0x36540a(0x103)?_0x1ddd25['env']:undefined,_0x365245=buildCanonicalProjectConfig({},{'appCodes':[_0x33d528],'env':_0x2a8826||_0x37ff7b||_0x36540a(0x120),'metadata':{'version':_0x6c4202,'createdAt':new Date()['toLocaleString']()}});writeConfigFile(_0x30093f,_0x365245),logger[_0x36540a(0x102)](_0x4fdaa7),logger[_0x36540a(0x109)](_0x36540a(0x127),_0x36540a(0x119),{'appcode':_0x33d528,'env':_0x365245[_0x36540a(0xf9)],'version':_0x365245[_0x36540a(0x10e)],'configPath':_0x30093f}),console[_0x36540a(0x11d)](a108_0x3e8930[_0x36540a(0x124)]('✓\x20Successfully\x20initialized\x20.rabetbase.json\x20in\x20current\x20directory')),console[_0x36540a(0x11d)](a108_0x3e8930['cyan'](_0x36540a(0xff)+Object[_0x36540a(0x11e)](_0x365245[_0x36540a(0xfc)]||{})[_0x36540a(0x126)](',\x20'))),console['log'](a108_0x3e8930['cyan']('\x20\x20Default:\x20'+_0x365245[_0x36540a(0x101)])),console['log']('\x20\x20You\x20can\x20now\x20use\x20commands\x20like\x20\x27'+CLI_BIN_NAME+_0x36540a(0xfd)+CLI_BIN_NAME+'\x20api\x20pull\x27');}function askAppcode(){const _0x21f4d2=a108_0x1b15;return input({'message':_0x21f4d2(0x128),'validate':_0x23e389=>{const _0x4a3479=_0x21f4d2;if(!_0x23e389[_0x4a3479(0x113)]())return _0x4a3479(0x121);const {valid:_0x102bc9,message:_0x39a46e}=validateAppcode(_0x23e389['trim']());return _0x102bc9||_0x39a46e||_0x4a3479(0xfe);}});}function getCliVersionFromPkg(){const _0x4a89a1=a108_0x1b15;try{const _0x5ce7a1=fileURLToPath(import.meta.url),_0x33ad1d=resolve(dirname(_0x5ce7a1),_0x4a89a1(0xf8)),_0x4a45e5=JSON[_0x4a89a1(0x10d)](readFileSync(resolve(_0x33ad1d,_0x4a89a1(0x10b)),_0x4a89a1(0x123)));return _0x4a45e5[_0x4a89a1(0x10e)]||_0x4a89a1(0x114);}catch{return _0x4a89a1(0x114);}}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
const a102_0x17c204=a102_0x40ce;(function(_0x405185,_0x244253){const _0x1bc987=a102_0x40ce,_0x3316bd=_0x405185();while(!![]){try{const _0xc6c826=-parseInt(_0x1bc987(0x11c))/0x1*(parseInt(_0x1bc987(0x141))/0x2)+-parseInt(_0x1bc987(0x122))/0x3*(parseInt(_0x1bc987(0x13a))/0x4)+-parseInt(_0x1bc987(0x183))/0x5+-parseInt(_0x1bc987(0x170))/0x6+-parseInt(_0x1bc987(0x185))/0x7*(-parseInt(_0x1bc987(0x156))/0x8)+-parseInt(_0x1bc987(0x166))/0x9+parseInt(_0x1bc987(0x14d))/0xa;if(_0xc6c826===_0x244253)break;else _0x3316bd['push'](_0x3316bd['shift']());}catch(_0x410c1e){_0x3316bd['push'](_0x3316bd['shift']());}}}(a102_0x22a1,0x5f29f));import a102_0x21c6d6 from'chalk';import a102_0x3257de from'ora';function a102_0x40ce(_0x42ed83,_0x263e81){_0x42ed83=_0x42ed83-0x119;const _0x22a15d=a102_0x22a1();let _0x40ce17=_0x22a15d[_0x42ed83];return _0x40ce17;}import{existsSync,readFileSync,renameSync,rmSync,statSync,unlinkSync,writeFileSync}from'node:fs';import{resolve}from'node:path';import{CONFIG_NAMES,NEW_CONFIG_NAME,readConfigFile,writeConfigFile}from'../../context.js';import{CORE_IDE_CONFIGS}from'../../utils/ai_config.js';import{NPX_SKILLS_ADD_GLOBAL_COMMAND_LINE,runNpxSkillsAddGlobal,runNpxSkillsRemove}from'../../skills/npx-skills-add.js';import{askConfirm}from'../../commands/menu/shared/inquirer.js';const LEGACY_CONFIG_NAMES=CONFIG_NAMES[a102_0x17c204(0x16e)](_0x568304=>_0x568304!==NEW_CONFIG_NAME);function collectIdeSkillFiles(_0x27a965){const _0xd7da9b=a102_0x17c204,_0x523f19=[];for(const _0x30495f of Object[_0xd7da9b(0x198)](CORE_IDE_CONFIGS)){if(_0x30495f[_0xd7da9b(0x14b)])for(const _0x558c26 of _0x30495f[_0xd7da9b(0x14b)]){_0x523f19['push'](resolve(_0x27a965,_0x558c26['path']));}}return _0x523f19;}function analyse(_0x59b4ad){const _0x5466b5=a102_0x17c204;let _0x5c37d8=null;const _0xfd220=resolve(_0x59b4ad,NEW_CONFIG_NAME),_0xf49577=existsSync(_0xfd220);for(const _0x1d0303 of LEGACY_CONFIG_NAMES){const _0x9a86df=resolve(_0x59b4ad,_0x1d0303);if(existsSync(_0x9a86df)){const _0x549f19=readConfigFile(_0x9a86df),_0x1e8350=Object[_0x5466b5(0x133)](_0x549f19)[_0x5466b5(0x16e)](_0x22ac44=>typeof _0x549f19[_0x22ac44]!=='undefined');_0x5c37d8={'oldPath':_0x9a86df,'hasNewConfig':_0xf49577,'fields':_0x1e8350};break;}}const _0x3a0b99=[],_0x300bb5=resolve(_0x59b4ad,_0x5466b5(0x173));if(existsSync(_0x300bb5))_0x3a0b99['push'](_0x300bb5);const _0x2672e8=resolve(_0x59b4ad,_0x5466b5(0x153));if(existsSync(_0x2672e8))_0x3a0b99[_0x5466b5(0x18f)](_0x2672e8);const _0x535f37=resolve(_0x59b4ad,_0x5466b5(0x17b));if(existsSync(_0x535f37))_0x3a0b99['push'](_0x535f37);for(const _0x1498bd of collectIdeSkillFiles(_0x59b4ad)){if(existsSync(_0x1498bd))_0x3a0b99['push'](_0x1498bd);}let _0x37bfee=null;const _0x5e95e8=resolve(_0x59b4ad,'.cursor/mcp.json');if(existsSync(_0x5e95e8))try{const _0x32df31=JSON[_0x5466b5(0x13b)](readFileSync(_0x5e95e8,_0x5466b5(0x12f)));if(_0x32df31?.[_0x5466b5(0x19d)]&&typeof _0x32df31[_0x5466b5(0x19d)]===_0x5466b5(0x164)){const _0x4751f3=[];for(const [_0x547d3e,_0x900e0]of Object[_0x5466b5(0x123)](_0x32df31[_0x5466b5(0x19d)])){const _0x1f5df5=_0x900e0;_0x1f5df5?.[_0x5466b5(0x13e)]&&Array[_0x5466b5(0x14e)](_0x1f5df5[_0x5466b5(0x13e)])&&_0x1f5df5[_0x5466b5(0x13e)][_0x5466b5(0x14f)](_0x4347b2=>typeof _0x4347b2===_0x5466b5(0x197)&&_0x4347b2[_0x5466b5(0x160)]('@lovrabet/dataset-mcp-server'))&&_0x4751f3[_0x5466b5(0x18f)](_0x547d3e);}_0x4751f3[_0x5466b5(0x145)]>0x0&&(_0x37bfee={'path':_0x5e95e8,'keys':_0x4751f3});}}catch{}const _0x41836b=_0x3a0b99[_0x5466b5(0x145)]>0x0||_0x5c37d8!==null;let _0x36b690=null;const _0x51b83f=resolve(_0x59b4ad,_0x5466b5(0x140));if(existsSync(_0x51b83f))try{const _0x42a64b=JSON['parse'](readFileSync(_0x51b83f,_0x5466b5(0x12f)));for(const _0x34cdeb of['dependencies',_0x5466b5(0x11e)]){const _0x15f528=_0x42a64b?.[_0x34cdeb]?.[_0x5466b5(0x186)];if(typeof _0x15f528===_0x5466b5(0x197)){_0x15f528!==_0x5466b5(0x12d)&&(_0x36b690={'pkgPath':_0x51b83f,'currentVersion':_0x15f528,'field':_0x34cdeb});break;}}}catch{}return{'configMigration':_0x5c37d8,'oldArtifacts':_0x3a0b99,'oldMcpConfig':_0x37bfee,'needsSkillSwap':_0x41836b,'sdkUpgrade':_0x36b690};}function printReport(_0x244a75){const _0x29fe89=a102_0x17c204,{configMigration:_0x44d273,oldArtifacts:_0x380aee,oldMcpConfig:_0x54c176,needsSkillSwap:_0x29af28}=_0x244a75;console['log'](''),console[_0x29fe89(0x19b)](a102_0x21c6d6[_0x29fe89(0x169)]('===\x20Upgrade\x20Analysis\x20===')),console[_0x29fe89(0x19b)]('');_0x44d273?(console[_0x29fe89(0x19b)](a102_0x21c6d6[_0x29fe89(0x137)]('Config\x20file:')+('\x20\x20'+a102_0x21c6d6[_0x29fe89(0x193)](_0x44d273[_0x29fe89(0x124)]))),console[_0x29fe89(0x19b)](_0x29fe89(0x165)+(_0x44d273[_0x29fe89(0x15e)]?a102_0x21c6d6[_0x29fe89(0x128)](_0x29fe89(0x180)):a102_0x21c6d6[_0x29fe89(0x15c)](_0x29fe89(0x17f)))),console[_0x29fe89(0x19b)](_0x29fe89(0x144)+_0x44d273[_0x29fe89(0x18e)][_0x29fe89(0x13c)](',\x20')),console[_0x29fe89(0x19b)](_0x29fe89(0x189))):console[_0x29fe89(0x19b)](a102_0x21c6d6[_0x29fe89(0x137)](_0x29fe89(0x14c))+'\x20\x20'+a102_0x21c6d6[_0x29fe89(0x15c)]('no\x20legacy\x20config\x20found'));console[_0x29fe89(0x19b)]('');if(_0x380aee['length']>0x0){console[_0x29fe89(0x19b)](a102_0x21c6d6[_0x29fe89(0x137)](_0x29fe89(0x132)));for(const _0x36ae63 of _0x380aee){console['log']('\x20\x20'+a102_0x21c6d6[_0x29fe89(0x168)](_0x29fe89(0x181))+'\x20\x20'+_0x36ae63);}console['log'](_0x29fe89(0x196));}else console['log'](a102_0x21c6d6[_0x29fe89(0x137)]('Legacy\x20artifacts:')+'\x20\x20'+a102_0x21c6d6[_0x29fe89(0x15c)](_0x29fe89(0x16f)));console['log']('');_0x54c176?(console[_0x29fe89(0x19b)](a102_0x21c6d6[_0x29fe89(0x137)]('MCP\x20config:')+('\x20\x20'+a102_0x21c6d6['yellow'](_0x54c176[_0x29fe89(0x152)])+_0x29fe89(0x167)+_0x54c176['keys'][_0x29fe89(0x13c)](',\x20'))),console[_0x29fe89(0x19b)](_0x29fe89(0x19c))):console[_0x29fe89(0x19b)](a102_0x21c6d6[_0x29fe89(0x137)]('MCP\x20config:')+'\x20\x20'+a102_0x21c6d6[_0x29fe89(0x15c)](_0x29fe89(0x190)));console[_0x29fe89(0x19b)](''),console[_0x29fe89(0x19b)](a102_0x21c6d6[_0x29fe89(0x137)](_0x29fe89(0x199))+('\x20\x20'+(_0x29af28?a102_0x21c6d6[_0x29fe89(0x193)](_0x29fe89(0x18d)):a102_0x21c6d6[_0x29fe89(0x128)](_0x29fe89(0x15d)))));_0x29af28&&console['log']('\x20\x20Action:\x20remove\x20old\x20lovrabet/lovrabet-skill,\x20add\x20via\x20`'+NPX_SKILLS_ADD_GLOBAL_COMMAND_LINE+'`');console[_0x29fe89(0x19b)]('');if(_0x244a75['sdkUpgrade']){const {currentVersion:_0x543a84,field:_0x567fd0,pkgPath:_0x3ec74a}=_0x244a75[_0x29fe89(0x192)];console['log'](a102_0x21c6d6[_0x29fe89(0x137)]('@lovrabet/sdk:')+('\x20\x20'+a102_0x21c6d6[_0x29fe89(0x193)](_0x3ec74a))),console[_0x29fe89(0x19b)](_0x29fe89(0x194)+_0x567fd0+':\x20'+a102_0x21c6d6['yellow'](_0x543a84)+_0x29fe89(0x179)+a102_0x21c6d6[_0x29fe89(0x128)](_0x29fe89(0x12d))),console[_0x29fe89(0x19b)](_0x29fe89(0x161));}else console[_0x29fe89(0x19b)](a102_0x21c6d6[_0x29fe89(0x137)](_0x29fe89(0x16d))+'\x20\x20'+a102_0x21c6d6[_0x29fe89(0x15c)](_0x29fe89(0x142)));console[_0x29fe89(0x19b)]('');}function execConfigMigration(_0x5b41a7,_0x8609af){const _0x52d8e9=a102_0x17c204,{configMigration:_0x524fd2}=_0x5b41a7;if(!_0x524fd2?.[_0x52d8e9(0x124)])return{'step':0x1,'label':_0x52d8e9(0x162),'ok':!![],'detail':_0x52d8e9(0x16c)};const _0x2c436d=readConfigFile(_0x524fd2[_0x52d8e9(0x124)]),_0x20c607=resolve(_0x8609af,NEW_CONFIG_NAME),_0x1c30cf=_0x524fd2[_0x52d8e9(0x15e)]?readConfigFile(_0x20c607):{};for(const [_0x434971,_0x32186a]of Object[_0x52d8e9(0x123)](_0x2c436d)){!(_0x434971 in _0x1c30cf)&&(_0x1c30cf[_0x434971]=_0x32186a);}writeConfigFile(_0x20c607,_0x1c30cf);const _0xaa420e=_0x524fd2[_0x52d8e9(0x124)]+_0x52d8e9(0x13f);return renameSync(_0x524fd2[_0x52d8e9(0x124)],_0xaa420e),{'step':0x1,'label':'Config\x20migration','ok':!![],'detail':_0x524fd2[_0x52d8e9(0x124)]+_0x52d8e9(0x179)+_0x20c607+'\x20(backup:\x20'+_0xaa420e+')'};}function execRemoveOldArtifacts(_0x17d906){const _0xe593d5=a102_0x17c204,_0x17af72=[];for(const _0x363c0b of _0x17d906){try{if(!existsSync(_0x363c0b))continue;const _0x27fdc4=tryStat(_0x363c0b);_0x27fdc4?.['isDirectory']()?rmSync(_0x363c0b,{'recursive':!![],'force':!![]}):unlinkSync(_0x363c0b);}catch(_0x26122c){_0x17af72[_0xe593d5(0x18f)](_0x363c0b+':\x20'+_0x26122c[_0xe593d5(0x136)]);}}return{'step':0x3,'label':_0xe593d5(0x12a),'ok':_0x17af72[_0xe593d5(0x145)]===0x0,'detail':_0x17af72['length']>0x0?_0x17d906[_0xe593d5(0x145)]-_0x17af72[_0xe593d5(0x145)]+'/'+_0x17d906[_0xe593d5(0x145)]+_0xe593d5(0x139)+_0x17af72[_0xe593d5(0x13c)](';\x20')+')':_0x17d906[_0xe593d5(0x145)]+_0xe593d5(0x16b)};}function execCleanMcp(_0x3d8815){const _0x5eecda=a102_0x17c204;if(!_0x3d8815['oldMcpConfig'])return{'step':0x4,'label':_0x5eecda(0x15f),'ok':!![],'detail':_0x5eecda(0x148)};try{const _0x5ad2e0=readFileSync(_0x3d8815['oldMcpConfig'][_0x5eecda(0x152)],_0x5eecda(0x12f)),_0xcb120d=JSON[_0x5eecda(0x13b)](_0x5ad2e0);if(_0xcb120d?.[_0x5eecda(0x19d)]&&typeof _0xcb120d[_0x5eecda(0x19d)]==='object'){const _0x5d7244=[];for(const [_0x433c74,_0x30b6c4]of Object[_0x5eecda(0x123)](_0xcb120d[_0x5eecda(0x19d)])){_0x30b6c4?.[_0x5eecda(0x13e)]&&Array[_0x5eecda(0x14e)](_0x30b6c4[_0x5eecda(0x13e)])&&_0x30b6c4[_0x5eecda(0x13e)][_0x5eecda(0x14f)](_0x378c47=>typeof _0x378c47===_0x5eecda(0x197)&&_0x378c47[_0x5eecda(0x160)](_0x5eecda(0x15b)))&&_0x5d7244[_0x5eecda(0x18f)](_0x433c74);}for(const _0x1201ad of _0x5d7244){delete _0xcb120d['mcpServers'][_0x1201ad];}return _0x5d7244['length']>0x0&&writeFileSync(_0x3d8815[_0x5eecda(0x187)][_0x5eecda(0x152)],JSON[_0x5eecda(0x11f)](_0xcb120d,null,0x2)+'\x0a','utf8'),{'step':0x4,'label':_0x5eecda(0x15f),'ok':!![],'detail':_0x5eecda(0x11b)+_0x5d7244[_0x5eecda(0x13c)](',\x20')+_0x5eecda(0x138)+_0x3d8815[_0x5eecda(0x187)][_0x5eecda(0x152)]};}return{'step':0x4,'label':_0x5eecda(0x15f),'ok':!![],'detail':'no\x20matching\x20entry\x20found'};}catch(_0x2f5fbc){return{'step':0x4,'label':_0x5eecda(0x15f),'ok':![],'detail':_0x2f5fbc[_0x5eecda(0x136)]};}}function execSkillsRemove(_0x2e6d8f,_0x5d0f3c){const _0x582cd7=a102_0x17c204,_0x4ea073=runNpxSkillsRemove(_0x2e6d8f,{'stdio':_0x582cd7(0x131),'yes':_0x5d0f3c});return{'step':0x5,'label':'Remove\x20old\x20skill','ok':_0x4ea073['ok'],'detail':_0x4ea073['ok']?'lovrabet/lovrabet-skill\x20removed':_0x4ea073['error']??_0x582cd7(0x12e)+_0x4ea073[_0x582cd7(0x176)]};}function a102_0x22a1(){const _0x138839=['Please\x20re-install\x20dependencies\x20to\x20apply\x20the\x20change:','Step\x207/7:\x20Upgrading\x20@lovrabet/sdk\x20in\x20package.json...','@lovrabet/sdk\x20has\x20been\x20updated\x20to\x20latest\x20in\x20package.json.','not\x20found\x20(will\x20create)','already\x20exists\x20(will\x20merge)','FOUND','Upgrade\x20completed\x20successfully!','1586980eQVQvz','Upgrade\x20@lovrabet/sdk','7aJGGiZ','@lovrabet/sdk','oldMcpConfig','label','\x20\x20Action:\x20migrate\x20→\x20backup\x20old\x20as\x20.bak','Step\x202/7:\x20.lovrabet/\x20directory\x20removed','failed','white','needed','fields','push','no\x20legacy\x20entry','info','sdkUpgrade','yellow','\x20\x20Current\x20version\x20in\x20','\x20\x20Step\x20','\x20\x20Action:\x20delete','string','values','Skill\x20swap:','Step\x204/7:\x20Cleaning\x20MCP\x20config...','log','\x20\x20Action:\x20remove\x20entries\x20containing\x20@lovrabet/dataset-mcp-server','mcpServers','Proceed\x20with\x20upgrade?','Step\x205/7:\x20Remove\x20old\x20skill\x20—\x20','removed\x20','255261riLqLO','\x20\x20#\x20or','devDependencies','stringify','No\x20legacy\x20artifacts\x20found.\x20Your\x20project\x20is\x20already\x20up-to-date.','Remove\x20.lovrabet/','352722WWwvpm','entries','oldPath','done','[\x22@lovrabet/sdk\x22]:\x20','\x20\x20npm\x20install','green','Install\x20new\x20skill','Remove\x20legacy\x20artifacts','cwd','lovrabet/rabetbase\x20installed\x20globally','latest','exit\x20','utf8','Some\x20steps\x20failed.\x20Check\x20the\x20summary\x20above\x20for\x20details.','inherit','Legacy\x20artifacts:','keys','oldArtifacts','succeed','message','cyan','\x20from\x20','\x20removed\x20(','24isoLdc','parse','join','Step\x202/7:\x20.lovrabet/\x20not\x20found,\x20skipped','args','.bak','package.json','2CXihOx','not\x20found\x20or\x20already\x20at\x20latest','yes','\x20\x20Fields\x20to\x20migrate:\x20','length','Step\x203/7:\x20Legacy\x20artifacts\x20—\x20','\x20\x20\x20\x20\x20\x20\x20','skipped','Step\x203/7:\x20Removing\x20legacy\x20IDE\x20skill\x20files...','\x20→\x20latest','files','Config\x20file:','17857730TFrmmk','isArray','some','start','Step\x202/7:\x20.lovrabet/\x20removal\x20failed\x20—\x20','path','.cursor/rules/lovrabet_rules.mdc','configMigration','Step\x205/7:\x20Removing\x20old\x20skill...','6181784xZaiaZ','fail','Step\x206/7:\x20Install\x20new\x20skill\x20—\x20','detail','lovrabet/rabetbase','@lovrabet/dataset-mcp-server','gray','not\x20needed','hasNewConfig','Clean\x20MCP\x20config','includes','\x20\x20Action:\x20update\x20package.json\x20(you\x20will\x20need\x20to\x20re-run\x20install)','Config\x20migration','Step\x202/7:\x20Removing\x20.lovrabet/\x20directory...','object','\x20\x20New\x20config\x20(.rabetbase.json):\x20','5186340lCcVWW','\x20→\x20keys:\x20','red','bold','skipped\x20(not\x20found\x20or\x20already\x20at\x20latest)','\x20removed','skipped\x20(no\x20legacy\x20config)','@lovrabet/sdk:','filter','none\x20found','1886064BQDJRt','Step\x201/7:\x20Config\x20migration\x20—\x20','Upgrade\x20cancelled.','.lovrabet','error','Step\x201/7:\x20Migrating\x20config...','status','\x20\x20bun\x20install','Step\x207/7:\x20@lovrabet/sdk\x20—\x20','\x20→\x20','CANCEL','.claude/skills/lovrabet'];a102_0x22a1=function(){return _0x138839;};return a102_0x22a1();}function execSkillsAdd(_0xcef24f,_0x2ecafb){const _0x456967=a102_0x17c204,_0xaa2f05=runNpxSkillsAddGlobal(_0xcef24f,_0x456967(0x15a),{'stdio':_0x456967(0x131),'yes':_0x2ecafb});return{'step':0x6,'label':_0x456967(0x129),'ok':_0xaa2f05['ok'],'detail':_0xaa2f05['ok']?_0x456967(0x12c):_0xaa2f05[_0x456967(0x174)]??_0x456967(0x12e)+_0xaa2f05[_0x456967(0x176)]};}function execUpgradeSdk(_0x3bad58){const _0xd20bec=a102_0x17c204;if(!_0x3bad58['sdkUpgrade'])return{'step':0x7,'label':_0xd20bec(0x184),'ok':!![],'detail':_0xd20bec(0x16a)};const {pkgPath:_0x471060,currentVersion:_0x209d3c,field:_0x4b1516}=_0x3bad58[_0xd20bec(0x192)];try{const _0x483f3a=readFileSync(_0x471060,_0xd20bec(0x12f)),_0x8c54df=JSON[_0xd20bec(0x13b)](_0x483f3a);return _0x8c54df[_0x4b1516][_0xd20bec(0x186)]=_0xd20bec(0x12d),writeFileSync(_0x471060,JSON[_0xd20bec(0x11f)](_0x8c54df,null,0x2)+'\x0a',_0xd20bec(0x12f)),{'step':0x7,'label':_0xd20bec(0x184),'ok':!![],'detail':_0x4b1516+_0xd20bec(0x126)+_0x209d3c+_0xd20bec(0x14a)};}catch(_0x200209){return{'step':0x7,'label':'Upgrade\x20@lovrabet/sdk','ok':![],'detail':_0x200209['message']};}}function tryStat(_0x2c76cc){try{return statSync(_0x2c76cc);}catch{return undefined;}}function printSummary(_0x251015){const _0x411978=a102_0x17c204;console[_0x411978(0x19b)](''),console[_0x411978(0x19b)](a102_0x21c6d6['bold']('===\x20Upgrade\x20Summary\x20===')),console[_0x411978(0x19b)]('');for(const _0xa23b68 of _0x251015){const _0x6a43af=_0xa23b68['ok']?a102_0x21c6d6[_0x411978(0x128)]('OK'):a102_0x21c6d6[_0x411978(0x168)]('FAIL');console[_0x411978(0x19b)]('\x20\x20'+_0x6a43af+_0x411978(0x195)+_0xa23b68['step']+':\x20'+_0xa23b68[_0x411978(0x188)]);if(_0xa23b68[_0x411978(0x159)])console[_0x411978(0x19b)](_0x411978(0x147)+a102_0x21c6d6[_0x411978(0x15c)](_0xa23b68[_0x411978(0x159)]));}console[_0x411978(0x19b)]('');}export async function upgradeApp(_0x214841,_0x4049a2){const _0x36324c=a102_0x17c204,_0xf408a8=process[_0x36324c(0x12b)](),_0x3a0a2f=analyse(_0xf408a8),_0x27684f=!_0x3a0a2f[_0x36324c(0x154)]&&_0x3a0a2f[_0x36324c(0x134)][_0x36324c(0x145)]===0x0&&!_0x3a0a2f[_0x36324c(0x187)]&&!_0x3a0a2f['needsSkillSwap']&&!_0x3a0a2f[_0x36324c(0x192)];if(_0x27684f){console[_0x36324c(0x19b)](a102_0x21c6d6[_0x36324c(0x128)](_0x36324c(0x120)));return;}printReport(_0x3a0a2f);const _0x3c13c7=!!(_0x4049a2[_0x36324c(0x143)]||_0x4049a2['Y']||_0x214841);if(!_0x3c13c7)try{const _0x472879=await askConfirm(_0x36324c(0x119));if(!_0x472879){console['log'](a102_0x21c6d6[_0x36324c(0x15c)]('Upgrade\x20cancelled.'));return;}}catch(_0x2f4110){if(_0x2f4110?.[_0x36324c(0x136)]===_0x36324c(0x17a)){console['log'](a102_0x21c6d6[_0x36324c(0x15c)](_0x36324c(0x172)));return;}throw _0x2f4110;}const _0x1ca150=[],_0x397972=a102_0x3257de({'text':_0x36324c(0x175),'color':_0x36324c(0x137)})[_0x36324c(0x150)](),_0xc785d1=execConfigMigration(_0x3a0a2f,_0xf408a8);_0x1ca150[_0x36324c(0x18f)](_0xc785d1),_0x397972[_0xc785d1['ok']?_0x36324c(0x135):_0x36324c(0x157)](_0x36324c(0x171)+(_0xc785d1['detail']??(_0xc785d1['ok']?_0x36324c(0x125):_0x36324c(0x18b))));const _0xa0fcce=resolve(_0xf408a8,'.lovrabet'),_0x13c1d3=a102_0x3257de({'text':_0x36324c(0x163),'color':_0x36324c(0x137)})['start']();if(existsSync(_0xa0fcce))try{rmSync(_0xa0fcce,{'recursive':!![],'force':!![]}),_0x13c1d3[_0x36324c(0x135)](_0x36324c(0x18a)),_0x1ca150[_0x36324c(0x18f)]({'step':0x2,'label':_0x36324c(0x121),'ok':!![]});}catch(_0x2fd7c2){_0x13c1d3[_0x36324c(0x157)](_0x36324c(0x151)+_0x2fd7c2[_0x36324c(0x136)]),_0x1ca150[_0x36324c(0x18f)]({'step':0x2,'label':_0x36324c(0x121),'ok':![],'detail':_0x2fd7c2[_0x36324c(0x136)]});}else _0x13c1d3[_0x36324c(0x191)](_0x36324c(0x13d)),_0x1ca150[_0x36324c(0x18f)]({'step':0x2,'label':'Remove\x20.lovrabet/','ok':!![],'detail':_0x36324c(0x148)});const _0x1284ce=a102_0x3257de({'text':_0x36324c(0x149),'color':_0x36324c(0x137)})[_0x36324c(0x150)](),_0x5acc74=execRemoveOldArtifacts(_0x3a0a2f['oldArtifacts']);_0x1ca150[_0x36324c(0x18f)](_0x5acc74),_0x1284ce[_0x5acc74['ok']?_0x36324c(0x135):_0x36324c(0x157)](_0x36324c(0x146)+(_0x5acc74['detail']??(_0x5acc74['ok']?_0x36324c(0x125):_0x36324c(0x18b))));const _0x259dbd=a102_0x3257de({'text':_0x36324c(0x19a),'color':_0x36324c(0x137)})[_0x36324c(0x150)](),_0x3abf61=execCleanMcp(_0x3a0a2f);_0x1ca150['push'](_0x3abf61),_0x259dbd[_0x3abf61['ok']?'succeed':_0x36324c(0x157)]('Step\x204/7:\x20MCP\x20config\x20—\x20'+(_0x3abf61[_0x36324c(0x159)]??(_0x3abf61['ok']?'done':_0x36324c(0x18b))));const _0x49abcf=a102_0x3257de({'text':_0x36324c(0x155),'color':_0x36324c(0x137)})[_0x36324c(0x150)](),_0x1e026b=execSkillsRemove(_0xf408a8,_0x3c13c7);_0x1ca150[_0x36324c(0x18f)](_0x1e026b),_0x49abcf[_0x1e026b['ok']?'succeed':_0x36324c(0x157)](_0x36324c(0x11a)+(_0x1e026b[_0x36324c(0x159)]??(_0x1e026b['ok']?_0x36324c(0x125):_0x36324c(0x18b))));const _0x279281=a102_0x3257de({'text':'Step\x206/7:\x20Installing\x20new\x20skill...','color':_0x36324c(0x137)})[_0x36324c(0x150)](),_0x1b1ca7=execSkillsAdd(_0xf408a8,_0x3c13c7);_0x1ca150[_0x36324c(0x18f)](_0x1b1ca7),_0x279281[_0x1b1ca7['ok']?_0x36324c(0x135):_0x36324c(0x157)](_0x36324c(0x158)+(_0x1b1ca7['detail']??(_0x1b1ca7['ok']?_0x36324c(0x125):_0x36324c(0x18b))));const _0x57747d=a102_0x3257de({'text':_0x36324c(0x17d),'color':_0x36324c(0x137)})[_0x36324c(0x150)](),_0x5cefaf=execUpgradeSdk(_0x3a0a2f);_0x1ca150[_0x36324c(0x18f)](_0x5cefaf),_0x57747d[_0x5cefaf['ok']?_0x36324c(0x135):_0x36324c(0x157)](_0x36324c(0x178)+(_0x5cefaf[_0x36324c(0x159)]??(_0x5cefaf['ok']?_0x36324c(0x125):_0x36324c(0x18b)))),printSummary(_0x1ca150);const _0x805f90=_0x1ca150['some'](_0x4c5d95=>!_0x4c5d95['ok']);_0x805f90?console['log'](a102_0x21c6d6[_0x36324c(0x193)](_0x36324c(0x130))):console[_0x36324c(0x19b)](a102_0x21c6d6['green'](_0x36324c(0x182))),_0x5cefaf['ok']&&_0x3a0a2f[_0x36324c(0x192)]&&(console[_0x36324c(0x19b)](''),console[_0x36324c(0x19b)](a102_0x21c6d6[_0x36324c(0x169)][_0x36324c(0x137)](_0x36324c(0x17e))),console['log'](a102_0x21c6d6['cyan'](_0x36324c(0x17c))),console[_0x36324c(0x19b)](''),console[_0x36324c(0x19b)](a102_0x21c6d6['white'](_0x36324c(0x127))),console[_0x36324c(0x19b)](a102_0x21c6d6[_0x36324c(0x18c)](_0x36324c(0x11d))),console[_0x36324c(0x19b)](a102_0x21c6d6[_0x36324c(0x18c)](_0x36324c(0x177))),console[_0x36324c(0x19b)](''));}
|
|
1
|
+
const a109_0x2ff24a=a109_0x1430;(function(_0xc68487,_0x464eed){const _0x255572=a109_0x1430,_0x5c62ed=_0xc68487();while(!![]){try{const _0x45e62b=parseInt(_0x255572(0x106))/0x1+parseInt(_0x255572(0xf1))/0x2+parseInt(_0x255572(0x14e))/0x3+-parseInt(_0x255572(0x109))/0x4*(parseInt(_0x255572(0x14c))/0x5)+parseInt(_0x255572(0x136))/0x6*(parseInt(_0x255572(0xd2))/0x7)+parseInt(_0x255572(0xe5))/0x8+parseInt(_0x255572(0x126))/0x9*(-parseInt(_0x255572(0xf3))/0xa);if(_0x45e62b===_0x464eed)break;else _0x5c62ed['push'](_0x5c62ed['shift']());}catch(_0x8adb3){_0x5c62ed['push'](_0x5c62ed['shift']());}}}(a109_0x1e64,0x19909));import a109_0x5ea4cb from'chalk';import a109_0x70dd2c from'ora';function a109_0x1430(_0x154970,_0x4dd916){_0x154970=_0x154970-0xd2;const _0x1e646b=a109_0x1e64();let _0x143086=_0x1e646b[_0x154970];return _0x143086;}import{existsSync,readFileSync,renameSync,rmSync,statSync,unlinkSync,writeFileSync}from'node:fs';import{resolve}from'node:path';import{CONFIG_NAMES,NEW_CONFIG_NAME,readConfigFile,writeConfigFile}from'../../context.js';import{CORE_IDE_CONFIGS}from'../../utils/ai_config.js';import{NPX_SKILLS_ADD_GLOBAL_COMMAND_LINE,runNpxSkillsAddGlobal,runNpxSkillsRemove}from'../../skills/npx-skills-add.js';import{askConfirm}from'../../commands/menu/shared/inquirer.js';const LEGACY_CONFIG_NAMES=CONFIG_NAMES[a109_0x2ff24a(0xd7)](_0x4fabeb=>_0x4fabeb!==NEW_CONFIG_NAME);function collectIdeSkillFiles(_0x4cd13b){const _0x303e15=a109_0x2ff24a,_0x4b0499=[];for(const _0x2544a2 of Object[_0x303e15(0x105)](CORE_IDE_CONFIGS)){if(_0x2544a2[_0x303e15(0xdd)])for(const _0x2c1165 of _0x2544a2[_0x303e15(0xdd)]){_0x4b0499[_0x303e15(0x112)](resolve(_0x4cd13b,_0x2c1165['path']));}}return _0x4b0499;}function analyse(_0x499428){const _0x2f0ddd=a109_0x2ff24a;let _0x3c2f18=null;const _0x539f1e=resolve(_0x499428,NEW_CONFIG_NAME),_0x3f7719=existsSync(_0x539f1e);for(const _0x504caa of LEGACY_CONFIG_NAMES){const _0xc7b9f8=resolve(_0x499428,_0x504caa);if(existsSync(_0xc7b9f8)){const _0x35c507=readConfigFile(_0xc7b9f8),_0x23f200=Object[_0x2f0ddd(0x13f)](_0x35c507)[_0x2f0ddd(0xd7)](_0x1364bf=>typeof _0x35c507[_0x1364bf]!=='undefined');_0x3c2f18={'oldPath':_0xc7b9f8,'hasNewConfig':_0x3f7719,'fields':_0x23f200};break;}}const _0x3b536d=[],_0x5caaa9=resolve(_0x499428,_0x2f0ddd(0x100));if(existsSync(_0x5caaa9))_0x3b536d[_0x2f0ddd(0x112)](_0x5caaa9);const _0x1784ea=resolve(_0x499428,'.cursor/rules/lovrabet_rules.mdc');if(existsSync(_0x1784ea))_0x3b536d['push'](_0x1784ea);const _0x3586da=resolve(_0x499428,_0x2f0ddd(0xed));if(existsSync(_0x3586da))_0x3b536d[_0x2f0ddd(0x112)](_0x3586da);for(const _0x54e43b of collectIdeSkillFiles(_0x499428)){if(existsSync(_0x54e43b))_0x3b536d[_0x2f0ddd(0x112)](_0x54e43b);}let _0x18c0d9=null;const _0x549ea0=resolve(_0x499428,_0x2f0ddd(0x117));if(existsSync(_0x549ea0))try{const _0xd932af=JSON[_0x2f0ddd(0x133)](readFileSync(_0x549ea0,_0x2f0ddd(0x145)));if(_0xd932af?.[_0x2f0ddd(0xe3)]&&typeof _0xd932af[_0x2f0ddd(0xe3)]===_0x2f0ddd(0x13e)){const _0x5c995d=[];for(const [_0x191df8,_0x2991a3]of Object[_0x2f0ddd(0x131)](_0xd932af[_0x2f0ddd(0xe3)])){const _0x41f3ab=_0x2991a3;_0x41f3ab?.['args']&&Array[_0x2f0ddd(0x144)](_0x41f3ab['args'])&&_0x41f3ab['args'][_0x2f0ddd(0x121)](_0x22a1d6=>typeof _0x22a1d6==='string'&&_0x22a1d6[_0x2f0ddd(0x13c)](_0x2f0ddd(0x14a)))&&_0x5c995d[_0x2f0ddd(0x112)](_0x191df8);}_0x5c995d[_0x2f0ddd(0xfc)]>0x0&&(_0x18c0d9={'path':_0x549ea0,'keys':_0x5c995d});}}catch{}const _0x4a3728=_0x3b536d['length']>0x0||_0x3c2f18!==null;let _0x3eedb2=null;const _0x4e15d1=resolve(_0x499428,_0x2f0ddd(0x14d));if(existsSync(_0x4e15d1))try{const _0x39edc7=JSON[_0x2f0ddd(0x133)](readFileSync(_0x4e15d1,_0x2f0ddd(0x145)));for(const _0x2253a2 of[_0x2f0ddd(0xdb),'devDependencies']){const _0x3a93e7=_0x39edc7?.[_0x2253a2]?.[_0x2f0ddd(0x10f)];if(typeof _0x3a93e7===_0x2f0ddd(0xe2)){_0x3a93e7!==_0x2f0ddd(0xe7)&&(_0x3eedb2={'pkgPath':_0x4e15d1,'currentVersion':_0x3a93e7,'field':_0x2253a2});break;}}}catch{}return{'configMigration':_0x3c2f18,'oldArtifacts':_0x3b536d,'oldMcpConfig':_0x18c0d9,'needsSkillSwap':_0x4a3728,'sdkUpgrade':_0x3eedb2};}function printReport(_0x539229){const _0xb1eb93=a109_0x2ff24a,{configMigration:_0x1c87cd,oldArtifacts:_0x5d5435,oldMcpConfig:_0x1c034,needsSkillSwap:_0x350f6a}=_0x539229;console[_0xb1eb93(0x102)](''),console[_0xb1eb93(0x102)](a109_0x5ea4cb[_0xb1eb93(0xef)](_0xb1eb93(0x14f))),console[_0xb1eb93(0x102)]('');_0x1c87cd?(console['log'](a109_0x5ea4cb['cyan'](_0xb1eb93(0x12e))+('\x20\x20'+a109_0x5ea4cb[_0xb1eb93(0xd6)](_0x1c87cd[_0xb1eb93(0xf7)]))),console['log'](_0xb1eb93(0xe0)+(_0x1c87cd['hasNewConfig']?a109_0x5ea4cb['green']('already\x20exists\x20(will\x20merge)'):a109_0x5ea4cb[_0xb1eb93(0x104)](_0xb1eb93(0x120)))),console[_0xb1eb93(0x102)](_0xb1eb93(0x129)+_0x1c87cd[_0xb1eb93(0xdf)]['join'](',\x20')),console[_0xb1eb93(0x102)]('\x20\x20Action:\x20migrate\x20→\x20backup\x20old\x20as\x20.bak')):console[_0xb1eb93(0x102)](a109_0x5ea4cb['cyan'](_0xb1eb93(0x12e))+'\x20\x20'+a109_0x5ea4cb[_0xb1eb93(0x104)](_0xb1eb93(0xf2)));console[_0xb1eb93(0x102)]('');if(_0x5d5435[_0xb1eb93(0xfc)]>0x0){console[_0xb1eb93(0x102)](a109_0x5ea4cb[_0xb1eb93(0x107)](_0xb1eb93(0x150)));for(const _0x233e95 of _0x5d5435){console[_0xb1eb93(0x102)]('\x20\x20'+a109_0x5ea4cb[_0xb1eb93(0xfa)](_0xb1eb93(0x11a))+'\x20\x20'+_0x233e95);}console[_0xb1eb93(0x102)](_0xb1eb93(0x122));}else console[_0xb1eb93(0x102)](a109_0x5ea4cb[_0xb1eb93(0x107)](_0xb1eb93(0x150))+'\x20\x20'+a109_0x5ea4cb['gray']('none\x20found'));console[_0xb1eb93(0x102)]('');_0x1c034?(console['log'](a109_0x5ea4cb[_0xb1eb93(0x107)](_0xb1eb93(0xde))+('\x20\x20'+a109_0x5ea4cb['yellow'](_0x1c034[_0xb1eb93(0x11c)])+_0xb1eb93(0x143)+_0x1c034[_0xb1eb93(0x13f)]['join'](',\x20'))),console[_0xb1eb93(0x102)](_0xb1eb93(0x12f))):console[_0xb1eb93(0x102)](a109_0x5ea4cb['cyan'](_0xb1eb93(0xde))+'\x20\x20'+a109_0x5ea4cb[_0xb1eb93(0x104)]('no\x20legacy\x20entry'));console['log'](''),console[_0xb1eb93(0x102)](a109_0x5ea4cb[_0xb1eb93(0x107)](_0xb1eb93(0x151))+('\x20\x20'+(_0x350f6a?a109_0x5ea4cb[_0xb1eb93(0xd6)](_0xb1eb93(0x11f)):a109_0x5ea4cb[_0xb1eb93(0x135)](_0xb1eb93(0x12c)))));_0x350f6a&&console[_0xb1eb93(0x102)](_0xb1eb93(0x148)+NPX_SKILLS_ADD_GLOBAL_COMMAND_LINE+'`');console[_0xb1eb93(0x102)]('');if(_0x539229[_0xb1eb93(0x10d)]){const {currentVersion:_0x4d4180,field:_0xd7c0d,pkgPath:_0x4e6a77}=_0x539229[_0xb1eb93(0x10d)];console[_0xb1eb93(0x102)](a109_0x5ea4cb[_0xb1eb93(0x107)](_0xb1eb93(0x137))+('\x20\x20'+a109_0x5ea4cb[_0xb1eb93(0xd6)](_0x4e6a77))),console['log']('\x20\x20Current\x20version\x20in\x20'+_0xd7c0d+':\x20'+a109_0x5ea4cb[_0xb1eb93(0xd6)](_0x4d4180)+_0xb1eb93(0xe8)+a109_0x5ea4cb[_0xb1eb93(0x135)](_0xb1eb93(0xe7))),console['log'](_0xb1eb93(0x128));}else console[_0xb1eb93(0x102)](a109_0x5ea4cb[_0xb1eb93(0x107)](_0xb1eb93(0x137))+'\x20\x20'+a109_0x5ea4cb[_0xb1eb93(0x104)](_0xb1eb93(0x12d)));console[_0xb1eb93(0x102)]('');}function a109_0x1e64(){const _0x366628=['Remove\x20old\x20skill','Step\x203/7:\x20Removing\x20legacy\x20IDE\x20skill\x20files...','\x20\x20npm\x20install','.lovrabet','\x20removed\x20(','log','start','gray','values','154837DpRbUl','cyan','Config\x20migration','128360HYxpFK','Step\x205/7:\x20Removing\x20old\x20skill...','oldArtifacts','\x20\x20Step\x20','sdkUpgrade','\x20from\x20','@lovrabet/sdk','exit\x20','Step\x204/7:\x20MCP\x20config\x20—\x20','push','\x20\x20\x20\x20\x20\x20\x20','white','@lovrabet/sdk\x20has\x20been\x20updated\x20to\x20latest\x20in\x20package.json.','\x20\x20bun\x20install','.cursor/mcp.json','isDirectory','Step\x207/7:\x20Upgrading\x20@lovrabet/sdk\x20in\x20package.json...','FOUND','Step\x202/7:\x20Removing\x20.lovrabet/\x20directory...','path','[\x22@lovrabet/sdk\x22]:\x20','message','needed','not\x20found\x20(will\x20create)','some','\x20\x20Action:\x20delete','Step\x202/7:\x20.lovrabet/\x20directory\x20removed','Remove\x20.lovrabet/','\x20→\x20latest','27GdemjB','\x20(backup:\x20','\x20\x20Action:\x20update\x20package.json\x20(you\x20will\x20need\x20to\x20re-run\x20install)','\x20\x20Fields\x20to\x20migrate:\x20','Step\x201/7:\x20Config\x20migration\x20—\x20','No\x20legacy\x20artifacts\x20found.\x20Your\x20project\x20is\x20already\x20up-to-date.','not\x20needed','not\x20found\x20or\x20already\x20at\x20latest','Config\x20file:','\x20\x20Action:\x20remove\x20entries\x20containing\x20@lovrabet/dataset-mcp-server','Remove\x20legacy\x20artifacts','entries','===\x20Upgrade\x20Summary\x20===','parse','Proceed\x20with\x20upgrade?','green','18708ykDitr','@lovrabet/sdk:','Install\x20new\x20skill','Upgrade\x20cancelled.','skipped\x20(no\x20legacy\x20config)','FAIL','includes','\x20removed','object','keys','Step\x205/7:\x20Remove\x20old\x20skill\x20—\x20','hasNewConfig','lovrabet/lovrabet-skill\x20removed','\x20→\x20keys:\x20','isArray','utf8','join','yes','\x20\x20Action:\x20remove\x20old\x20lovrabet/lovrabet-skill,\x20add\x20via\x20`','Some\x20steps\x20failed.\x20Check\x20the\x20summary\x20above\x20for\x20details.','@lovrabet/dataset-mcp-server','detail','10zqIoBJ','package.json','192954KGXqcC','===\x20Upgrade\x20Analysis\x20===','Legacy\x20artifacts:','Skill\x20swap:','done','266wjQWcl','step','Please\x20re-install\x20dependencies\x20to\x20apply\x20the\x20change:','failed','yellow','filter','skipped','oldMcpConfig','info','dependencies','succeed','files','MCP\x20config:','fields','\x20\x20New\x20config\x20(.rabetbase.json):\x20','Step\x203/7:\x20Legacy\x20artifacts\x20—\x20','string','mcpServers','args','628184hqmFYe','Step\x206/7:\x20Installing\x20new\x20skill...','latest','\x20→\x20','needsSkillSwap','lovrabet/rabetbase','Step\x202/7:\x20.lovrabet/\x20removal\x20failed\x20—\x20','inherit','.claude/skills/lovrabet','\x20\x20#\x20or','bold','configMigration','221868zQovrc','no\x20legacy\x20config\x20found','1194010uxCPwy','fail','Clean\x20MCP\x20config','stringify','oldPath','Upgrade\x20@lovrabet/sdk','error','red','lovrabet/rabetbase\x20installed\x20globally','length'];a109_0x1e64=function(){return _0x366628;};return a109_0x1e64();}function execConfigMigration(_0x243906,_0x4096cb){const _0x1f7e3e=a109_0x2ff24a,{configMigration:_0x316a6d}=_0x243906;if(!_0x316a6d?.['oldPath'])return{'step':0x1,'label':_0x1f7e3e(0x108),'ok':!![],'detail':_0x1f7e3e(0x13a)};const _0x30294b=readConfigFile(_0x316a6d[_0x1f7e3e(0xf7)]),_0x412113=resolve(_0x4096cb,NEW_CONFIG_NAME),_0x85ba97=_0x316a6d[_0x1f7e3e(0x141)]?readConfigFile(_0x412113):{};for(const [_0x17da06,_0x54d50b]of Object[_0x1f7e3e(0x131)](_0x30294b)){!(_0x17da06 in _0x85ba97)&&(_0x85ba97[_0x17da06]=_0x54d50b);}writeConfigFile(_0x412113,_0x85ba97);const _0x156b52=_0x316a6d[_0x1f7e3e(0xf7)]+'.bak';return renameSync(_0x316a6d['oldPath'],_0x156b52),{'step':0x1,'label':_0x1f7e3e(0x108),'ok':!![],'detail':_0x316a6d[_0x1f7e3e(0xf7)]+_0x1f7e3e(0xe8)+_0x412113+_0x1f7e3e(0x127)+_0x156b52+')'};}function execRemoveOldArtifacts(_0x56c038){const _0x29d617=a109_0x2ff24a,_0x3461d3=[];for(const _0x3d84cd of _0x56c038){try{if(!existsSync(_0x3d84cd))continue;const _0x523cbd=tryStat(_0x3d84cd);_0x523cbd?.[_0x29d617(0x118)]()?rmSync(_0x3d84cd,{'recursive':!![],'force':!![]}):unlinkSync(_0x3d84cd);}catch(_0x4962cd){_0x3461d3[_0x29d617(0x112)](_0x3d84cd+':\x20'+_0x4962cd[_0x29d617(0x11e)]);}}return{'step':0x3,'label':_0x29d617(0x130),'ok':_0x3461d3[_0x29d617(0xfc)]===0x0,'detail':_0x3461d3[_0x29d617(0xfc)]>0x0?_0x56c038[_0x29d617(0xfc)]-_0x3461d3[_0x29d617(0xfc)]+'/'+_0x56c038[_0x29d617(0xfc)]+_0x29d617(0x101)+_0x3461d3['join'](';\x20')+')':_0x56c038[_0x29d617(0xfc)]+_0x29d617(0x13d)};}function execCleanMcp(_0x4166d1){const _0x65a59a=a109_0x2ff24a;if(!_0x4166d1['oldMcpConfig'])return{'step':0x4,'label':_0x65a59a(0xf5),'ok':!![],'detail':_0x65a59a(0xd8)};try{const _0xfd939f=readFileSync(_0x4166d1[_0x65a59a(0xd9)]['path'],'utf8'),_0x1a93ae=JSON['parse'](_0xfd939f);if(_0x1a93ae?.[_0x65a59a(0xe3)]&&typeof _0x1a93ae[_0x65a59a(0xe3)]===_0x65a59a(0x13e)){const _0x3c13ca=[];for(const [_0x1d6a99,_0x4a46bc]of Object[_0x65a59a(0x131)](_0x1a93ae[_0x65a59a(0xe3)])){_0x4a46bc?.['args']&&Array[_0x65a59a(0x144)](_0x4a46bc[_0x65a59a(0xe4)])&&_0x4a46bc[_0x65a59a(0xe4)][_0x65a59a(0x121)](_0x5084e9=>typeof _0x5084e9===_0x65a59a(0xe2)&&_0x5084e9[_0x65a59a(0x13c)]('@lovrabet/dataset-mcp-server'))&&_0x3c13ca['push'](_0x1d6a99);}for(const _0x1a672b of _0x3c13ca){delete _0x1a93ae['mcpServers'][_0x1a672b];}return _0x3c13ca['length']>0x0&&writeFileSync(_0x4166d1['oldMcpConfig'][_0x65a59a(0x11c)],JSON[_0x65a59a(0xf6)](_0x1a93ae,null,0x2)+'\x0a',_0x65a59a(0x145)),{'step':0x4,'label':_0x65a59a(0xf5),'ok':!![],'detail':'removed\x20'+_0x3c13ca[_0x65a59a(0x146)](',\x20')+_0x65a59a(0x10e)+_0x4166d1['oldMcpConfig'][_0x65a59a(0x11c)]};}return{'step':0x4,'label':_0x65a59a(0xf5),'ok':!![],'detail':'no\x20matching\x20entry\x20found'};}catch(_0x1c53c0){return{'step':0x4,'label':_0x65a59a(0xf5),'ok':![],'detail':_0x1c53c0[_0x65a59a(0x11e)]};}}function execSkillsRemove(_0x5d2edb,_0x17ae69){const _0x1207b5=a109_0x2ff24a,_0x50b7cc=runNpxSkillsRemove(_0x5d2edb,{'stdio':_0x1207b5(0xec),'yes':_0x17ae69});return{'step':0x5,'label':_0x1207b5(0xfd),'ok':_0x50b7cc['ok'],'detail':_0x50b7cc['ok']?_0x1207b5(0x142):_0x50b7cc[_0x1207b5(0xf9)]??'exit\x20'+_0x50b7cc['status']};}function execSkillsAdd(_0x4f02b2,_0xfe4cb2){const _0x409144=a109_0x2ff24a,_0x3b18c7=runNpxSkillsAddGlobal(_0x4f02b2,_0x409144(0xea),{'stdio':_0x409144(0xec),'yes':_0xfe4cb2});return{'step':0x6,'label':_0x409144(0x138),'ok':_0x3b18c7['ok'],'detail':_0x3b18c7['ok']?_0x409144(0xfb):_0x3b18c7[_0x409144(0xf9)]??_0x409144(0x110)+_0x3b18c7['status']};}function execUpgradeSdk(_0x3560e3){const _0x1887d2=a109_0x2ff24a;if(!_0x3560e3[_0x1887d2(0x10d)])return{'step':0x7,'label':_0x1887d2(0xf8),'ok':!![],'detail':'skipped\x20(not\x20found\x20or\x20already\x20at\x20latest)'};const {pkgPath:_0x16614c,currentVersion:_0x113c8b,field:_0x3b7ba7}=_0x3560e3[_0x1887d2(0x10d)];try{const _0x3efe78=readFileSync(_0x16614c,_0x1887d2(0x145)),_0x1566d1=JSON[_0x1887d2(0x133)](_0x3efe78);return _0x1566d1[_0x3b7ba7]['@lovrabet/sdk']=_0x1887d2(0xe7),writeFileSync(_0x16614c,JSON[_0x1887d2(0xf6)](_0x1566d1,null,0x2)+'\x0a',_0x1887d2(0x145)),{'step':0x7,'label':_0x1887d2(0xf8),'ok':!![],'detail':_0x3b7ba7+_0x1887d2(0x11d)+_0x113c8b+_0x1887d2(0x125)};}catch(_0x64d8a8){return{'step':0x7,'label':_0x1887d2(0xf8),'ok':![],'detail':_0x64d8a8[_0x1887d2(0x11e)]};}}function tryStat(_0x4c9c65){try{return statSync(_0x4c9c65);}catch{return undefined;}}function printSummary(_0x5a9a6e){const _0x1adcc2=a109_0x2ff24a;console['log'](''),console[_0x1adcc2(0x102)](a109_0x5ea4cb['bold'](_0x1adcc2(0x132))),console['log']('');for(const _0x379cc1 of _0x5a9a6e){const _0x3337d0=_0x379cc1['ok']?a109_0x5ea4cb['green']('OK'):a109_0x5ea4cb['red'](_0x1adcc2(0x13b));console[_0x1adcc2(0x102)]('\x20\x20'+_0x3337d0+_0x1adcc2(0x10c)+_0x379cc1[_0x1adcc2(0xd3)]+':\x20'+_0x379cc1['label']);if(_0x379cc1['detail'])console[_0x1adcc2(0x102)](_0x1adcc2(0x113)+a109_0x5ea4cb[_0x1adcc2(0x104)](_0x379cc1['detail']));}console[_0x1adcc2(0x102)]('');}export async function upgradeApp(_0x56e976,_0x1e0b69){const _0x558d7e=a109_0x2ff24a,_0x59cb14=process['cwd'](),_0x2bc6cc=analyse(_0x59cb14),_0x3b8351=!_0x2bc6cc[_0x558d7e(0xf0)]&&_0x2bc6cc[_0x558d7e(0x10b)][_0x558d7e(0xfc)]===0x0&&!_0x2bc6cc[_0x558d7e(0xd9)]&&!_0x2bc6cc[_0x558d7e(0xe9)]&&!_0x2bc6cc['sdkUpgrade'];if(_0x3b8351){console['log'](a109_0x5ea4cb[_0x558d7e(0x135)](_0x558d7e(0x12b)));return;}printReport(_0x2bc6cc);const _0x43d532=!!(_0x1e0b69[_0x558d7e(0x147)]||_0x1e0b69['Y']||_0x56e976);if(!_0x43d532)try{const _0x58d9c1=await askConfirm(_0x558d7e(0x134));if(!_0x58d9c1){console['log'](a109_0x5ea4cb[_0x558d7e(0x104)]('Upgrade\x20cancelled.'));return;}}catch(_0xf1da15){if(_0xf1da15?.[_0x558d7e(0x11e)]==='CANCEL'){console[_0x558d7e(0x102)](a109_0x5ea4cb[_0x558d7e(0x104)](_0x558d7e(0x139)));return;}throw _0xf1da15;}const _0xad3d8b=[],_0x6a29a2=a109_0x70dd2c({'text':'Step\x201/7:\x20Migrating\x20config...','color':_0x558d7e(0x107)})[_0x558d7e(0x103)](),_0x31a3b6=execConfigMigration(_0x2bc6cc,_0x59cb14);_0xad3d8b[_0x558d7e(0x112)](_0x31a3b6),_0x6a29a2[_0x31a3b6['ok']?_0x558d7e(0xdc):'fail'](_0x558d7e(0x12a)+(_0x31a3b6[_0x558d7e(0x14b)]??(_0x31a3b6['ok']?_0x558d7e(0x152):'failed')));const _0x580c60=resolve(_0x59cb14,'.lovrabet'),_0x28bdf5=a109_0x70dd2c({'text':_0x558d7e(0x11b),'color':_0x558d7e(0x107)})[_0x558d7e(0x103)]();if(existsSync(_0x580c60))try{rmSync(_0x580c60,{'recursive':!![],'force':!![]}),_0x28bdf5[_0x558d7e(0xdc)](_0x558d7e(0x123)),_0xad3d8b['push']({'step':0x2,'label':_0x558d7e(0x124),'ok':!![]});}catch(_0x2d9779){_0x28bdf5[_0x558d7e(0xf4)](_0x558d7e(0xeb)+_0x2d9779['message']),_0xad3d8b[_0x558d7e(0x112)]({'step':0x2,'label':_0x558d7e(0x124),'ok':![],'detail':_0x2d9779[_0x558d7e(0x11e)]});}else _0x28bdf5[_0x558d7e(0xda)]('Step\x202/7:\x20.lovrabet/\x20not\x20found,\x20skipped'),_0xad3d8b[_0x558d7e(0x112)]({'step':0x2,'label':_0x558d7e(0x124),'ok':!![],'detail':_0x558d7e(0xd8)});const _0x148ecf=a109_0x70dd2c({'text':_0x558d7e(0xfe),'color':_0x558d7e(0x107)})['start'](),_0x135578=execRemoveOldArtifacts(_0x2bc6cc['oldArtifacts']);_0xad3d8b[_0x558d7e(0x112)](_0x135578),_0x148ecf[_0x135578['ok']?_0x558d7e(0xdc):_0x558d7e(0xf4)](_0x558d7e(0xe1)+(_0x135578[_0x558d7e(0x14b)]??(_0x135578['ok']?_0x558d7e(0x152):_0x558d7e(0xd5))));const _0xbd7bf=a109_0x70dd2c({'text':'Step\x204/7:\x20Cleaning\x20MCP\x20config...','color':_0x558d7e(0x107)})[_0x558d7e(0x103)](),_0x2a6986=execCleanMcp(_0x2bc6cc);_0xad3d8b[_0x558d7e(0x112)](_0x2a6986),_0xbd7bf[_0x2a6986['ok']?_0x558d7e(0xdc):_0x558d7e(0xf4)](_0x558d7e(0x111)+(_0x2a6986['detail']??(_0x2a6986['ok']?_0x558d7e(0x152):_0x558d7e(0xd5))));const _0x3e4be9=a109_0x70dd2c({'text':_0x558d7e(0x10a),'color':_0x558d7e(0x107)})[_0x558d7e(0x103)](),_0x3eca03=execSkillsRemove(_0x59cb14,_0x43d532);_0xad3d8b[_0x558d7e(0x112)](_0x3eca03),_0x3e4be9[_0x3eca03['ok']?_0x558d7e(0xdc):_0x558d7e(0xf4)](_0x558d7e(0x140)+(_0x3eca03['detail']??(_0x3eca03['ok']?_0x558d7e(0x152):_0x558d7e(0xd5))));const _0xdaf02e=a109_0x70dd2c({'text':_0x558d7e(0xe6),'color':_0x558d7e(0x107)})['start'](),_0x2b90c8=execSkillsAdd(_0x59cb14,_0x43d532);_0xad3d8b[_0x558d7e(0x112)](_0x2b90c8),_0xdaf02e[_0x2b90c8['ok']?'succeed':_0x558d7e(0xf4)]('Step\x206/7:\x20Install\x20new\x20skill\x20—\x20'+(_0x2b90c8[_0x558d7e(0x14b)]??(_0x2b90c8['ok']?_0x558d7e(0x152):_0x558d7e(0xd5))));const _0x2f9248=a109_0x70dd2c({'text':_0x558d7e(0x119),'color':_0x558d7e(0x107)})[_0x558d7e(0x103)](),_0x5c9301=execUpgradeSdk(_0x2bc6cc);_0xad3d8b[_0x558d7e(0x112)](_0x5c9301),_0x2f9248[_0x5c9301['ok']?_0x558d7e(0xdc):'fail']('Step\x207/7:\x20@lovrabet/sdk\x20—\x20'+(_0x5c9301[_0x558d7e(0x14b)]??(_0x5c9301['ok']?'done':_0x558d7e(0xd5)))),printSummary(_0xad3d8b);const _0x49f47b=_0xad3d8b[_0x558d7e(0x121)](_0x26c216=>!_0x26c216['ok']);_0x49f47b?console[_0x558d7e(0x102)](a109_0x5ea4cb[_0x558d7e(0xd6)](_0x558d7e(0x149))):console[_0x558d7e(0x102)](a109_0x5ea4cb['green']('Upgrade\x20completed\x20successfully!')),_0x5c9301['ok']&&_0x2bc6cc['sdkUpgrade']&&(console[_0x558d7e(0x102)](''),console[_0x558d7e(0x102)](a109_0x5ea4cb[_0x558d7e(0xef)][_0x558d7e(0x107)](_0x558d7e(0x115))),console[_0x558d7e(0x102)](a109_0x5ea4cb[_0x558d7e(0x107)](_0x558d7e(0xd4))),console[_0x558d7e(0x102)](''),console[_0x558d7e(0x102)](a109_0x5ea4cb[_0x558d7e(0x114)](_0x558d7e(0xff))),console[_0x558d7e(0x102)](a109_0x5ea4cb[_0x558d7e(0x114)](_0x558d7e(0xee))),console[_0x558d7e(0x102)](a109_0x5ea4cb['white'](_0x558d7e(0x116))),console[_0x558d7e(0x102)](''));}
|
package/lib/commands/registry.js
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
const
|
|
1
|
+
const a110_0x48a62a=a110_0x1cc9;(function(_0x4e6a8e,_0x419aae){const _0x186bf2=a110_0x1cc9,_0x349a91=_0x4e6a8e();while(!![]){try{const _0x80d769=-parseInt(_0x186bf2(0x1d7))/0x1*(parseInt(_0x186bf2(0x1c7))/0x2)+-parseInt(_0x186bf2(0x1f1))/0x3+-parseInt(_0x186bf2(0x1d1))/0x4*(-parseInt(_0x186bf2(0x1da))/0x5)+parseInt(_0x186bf2(0x1e4))/0x6+parseInt(_0x186bf2(0x1db))/0x7*(parseInt(_0x186bf2(0x1dc))/0x8)+parseInt(_0x186bf2(0x1d6))/0x9+-parseInt(_0x186bf2(0x1d2))/0xa;if(_0x80d769===_0x419aae)break;else _0x349a91['push'](_0x349a91['shift']());}catch(_0x2bd580){_0x349a91['push'](_0x349a91['shift']());}}}(a110_0x2526,0xa38c6));import{apiDefinitions}from'../commands/api/index.js';import{bffDefinitions}from'../commands/bff/index.js';import{sqlDefinitions}from'../commands/sql/index.js';import{datasetDefinitions}from'../commands/dataset/index.js';import{pageDefinitions}from'../commands/page/index.js';import{dataDefinitions}from'../commands/data/index.js';import{dbDefinitions}from'../commands/db/index.js';function a110_0x2526(){const _0x312ad5=['Run\x20Scripts','Project','risk','<script>','preview','2587506VsrTRO','defaultCommand','get','SQL\x20Queries','Skills','map','show','Schema','project','push','set','create','login','93045ynMqEJ','read','Configuration','length','service','\x20\x20[high-risk-write]','values','isSingleCommand','Self\x20Update','start','API','4OVivwp','App\x20Management','description','commands','auth','Data\x20Query','Menu','BFF\x20Scripts','install','wildcardDef','760pgcmgY','534660oJKUap','Logs','run','\x20\x20[write]','747819fyxZCd','365453BUYWTa','Diagnostics','command','23835GlcNaB','427jVDeGK','8552xFfUDJ','write','Authentication'];a110_0x2526=function(){return _0x312ad5;};return a110_0x2526();}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';function a110_0x1cc9(_0x345588,_0x573b59){_0x345588=_0x345588-0x1c3;const _0x252656=a110_0x2526();let _0x1cc979=_0x252656[_0x345588];return _0x1cc979;}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(_0x29a465){const _0x572407=a110_0x1cc9;for(const _0x5ea1ad of _0x29a465){definitions['set'](_0x5ea1ad[_0x572407(0x1f5)]+':'+_0x5ea1ad['command'],_0x5ea1ad);let _0x25b02b=serviceGroups[_0x572407(0x1e6)](_0x5ea1ad[_0x572407(0x1f5)]);!_0x25b02b&&(_0x25b02b=[],serviceGroups[_0x572407(0x1ee)](_0x5ea1ad['service'],_0x25b02b)),_0x25b02b[_0x572407(0x1ed)](_0x5ea1ad);}}function registerDeclarativeService(_0x43f3b6,_0x24cf1a,_0x52c130){const _0x5af2c3=a110_0x1cc9;registerDefinitions(_0x24cf1a);_0x52c130?.[_0x5af2c3(0x1d0)]&®isterDefinitions([_0x52c130[_0x5af2c3(0x1d0)]]);const _0x27eb09=_0xda2b06=>_0xda2b06===_0x5af2c3(0x1f2)?'':_0xda2b06===_0x5af2c3(0x1dd)?_0x5af2c3(0x1d5):_0x5af2c3(0x1f6),_0x74d9ae={'service':_0x24cf1a[0x0][_0x5af2c3(0x1f5)],'label':_0x43f3b6,'commands':_0x24cf1a[_0x5af2c3(0x1e9)](_0x3a93eb=>({'command':_0x3a93eb[_0x5af2c3(0x1d9)],'description':_0x3a93eb[_0x5af2c3(0x1c9)],'tag':_0x27eb09(_0x3a93eb[_0x5af2c3(0x1e1)])})),'declarative':!![],'defaultCommand':_0x52c130?.[_0x5af2c3(0x1e5)]??(_0x52c130?.[_0x5af2c3(0x1c3)]?_0x24cf1a[0x0][_0x5af2c3(0x1d9)]:undefined),'wildcardDef':_0x52c130?.[_0x5af2c3(0x1d0)],'isSingleCommand':_0x52c130?.['isSingleCommand']};serviceRegistry[_0x5af2c3(0x1ed)](_0x74d9ae),serviceByName[_0x5af2c3(0x1ee)](_0x74d9ae[_0x5af2c3(0x1f5)],_0x74d9ae);}registerDeclarativeService('Quick\x20Start',initDefinitions,{'defaultCommand':'run','isSingleCommand':!![]}),registerDeclarativeService(a110_0x48a62a(0x1e0),projectDefinitions),registerDeclarativeService(a110_0x48a62a(0x1c8),appDefinitions),registerDeclarativeService(a110_0x48a62a(0x1df),[runDefinition],{'wildcardDef':runDefinition});{const last=serviceRegistry[serviceRegistry[a110_0x48a62a(0x1f4)]-0x1];last[a110_0x48a62a(0x1ca)]=[{'command':a110_0x48a62a(0x1e2),'description':'Run\x20any\x20package.json\x20script','tag':''}];}registerDeclarativeService(a110_0x48a62a(0x1de),authDefinitions,{'defaultCommand':a110_0x48a62a(0x1f0)}),registerDeclarativeService(a110_0x48a62a(0x1c4),[updateDefinition],{'isSingleCommand':!![]}),registerDeclarativeService(a110_0x48a62a(0x1d8),[doctorDefinition],{'isSingleCommand':!![]}),registerDeclarativeService(a110_0x48a62a(0x1eb),[schemaDefinition],{'isSingleCommand':!![]}),registerDeclarativeService(a110_0x48a62a(0x1f3),configDefinitions),registerDeclarativeService('Platform\x20Issue',issueDefinitions),registerDeclarativeService(a110_0x48a62a(0x1c6),apiDefinitions),registerDeclarativeService(a110_0x48a62a(0x1cd),menuDefinitions),registerDeclarativeService('Database\x20Connections',dbDefinitions),registerDeclarativeService('Dataset\x20&\x20Operations',datasetDefinitions),registerDeclarativeService('Pages',pageDefinitions),registerDeclarativeService(a110_0x48a62a(0x1cc),dataDefinitions),registerDeclarativeService(a110_0x48a62a(0x1ce),bffDefinitions),registerDeclarativeService(a110_0x48a62a(0x1e7),sqlDefinitions),registerDeclarativeService('Code\x20Generation',codegenDefinitions),registerDeclarativeService(a110_0x48a62a(0x1e8),skillDefinitions),registerDeclarativeService(a110_0x48a62a(0x1d3),logsDefinitions,{'defaultCommand':a110_0x48a62a(0x1ea)});export const deprecatedAliases={'create':{'service':a110_0x48a62a(0x1ec),'command':a110_0x48a62a(0x1ef)},'start':{'service':'run','command':a110_0x48a62a(0x1c5)},'build':{'service':'run','command':'build'},'preview':{'service':a110_0x48a62a(0x1d4),'command':a110_0x48a62a(0x1e3)},'logout':{'service':a110_0x48a62a(0x1cb),'command':'logout'},'skills':{'service':'skill','command':a110_0x48a62a(0x1cf)}};export const deprecatedSubcommands={'bff':{'new':'create'},'sql':{'new':'create'}};export function resolveDeprecatedSubcommand(_0x542658,_0x11be57){return deprecatedSubcommands[_0x542658]?.[_0x11be57];}export function findDefinition(_0x645369,_0x4d1407){const _0x27b769=a110_0x48a62a;return definitions[_0x27b769(0x1e6)](_0x645369+':'+_0x4d1407);}export function isKnownService(_0x10dc58){return serviceByName['has'](_0x10dc58);}export function isDeclarativeService(_0x4a4345){const _0x5aa4e4=a110_0x48a62a;return serviceGroups['has'](_0x4a4345)||serviceByName['get'](_0x4a4345)?.[_0x5aa4e4(0x1d0)]!==undefined;}export function getServiceEntry(_0xe1f844){return serviceByName['get'](_0xe1f844);}export function getLegacyHandler(_0x12df43,_0xbde00d){return undefined;}export function getAllDefinitions(){const _0x477b90=a110_0x48a62a;return Array['from'](definitions[_0x477b90(0x1f7)]());}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
const
|
|
1
|
+
const a111_0x4885ac=a111_0x5d89;(function(_0x1cfa92,_0x1488f1){const _0x5d00e9=a111_0x5d89,_0x10a4a3=_0x1cfa92();while(!![]){try{const _0x2388dc=parseInt(_0x5d00e9(0x1a3))/0x1*(parseInt(_0x5d00e9(0x1a4))/0x2)+parseInt(_0x5d00e9(0x1af))/0x3*(-parseInt(_0x5d00e9(0x1a6))/0x4)+-parseInt(_0x5d00e9(0x18d))/0x5*(-parseInt(_0x5d00e9(0x186))/0x6)+-parseInt(_0x5d00e9(0x181))/0x7+-parseInt(_0x5d00e9(0x190))/0x8+-parseInt(_0x5d00e9(0x19d))/0x9*(-parseInt(_0x5d00e9(0x194))/0xa)+parseInt(_0x5d00e9(0x1b6))/0xb*(parseInt(_0x5d00e9(0x18f))/0xc);if(_0x2388dc===_0x1488f1)break;else _0x10a4a3['push'](_0x10a4a3['shift']());}catch(_0x2d5b92){_0x10a4a3['push'](_0x10a4a3['shift']());}}}(a111_0x1eaa,0x57766));import{readFileSync,existsSync}from'node:fs';import{CLI_BIN_NAME}from'../../constant/cli.js';import{resolve,delimiter,join}from'node:path';import{spawn}from'node:child_process';import{CliErrors}from'../../errors.js';import{checkSdkVersion,printSdkUpgradeWarning}from'../../utils/check-sdk-version.js';import{assertCliVersionSupported,checkCliVersion,printCliUpgradeWarning}from'../../utils/cli-version-check.js';const VERSION_CHECK_SCRIPTS=new Set([a111_0x4885ac(0x1a5),a111_0x4885ac(0x18a)]);function readPackageScripts(_0x34a1ad){const _0x57e9f2=a111_0x4885ac,_0xc2debf=resolve(_0x34a1ad,'package.json');if(!existsSync(_0xc2debf))return null;try{const _0x2c0cb4=JSON[_0x57e9f2(0x1a1)](readFileSync(_0xc2debf,_0x57e9f2(0x1b3)));return _0x2c0cb4['scripts']??{};}catch{return null;}}function a111_0x5d89(_0x10448d,_0x16bbdd){_0x10448d=_0x10448d-0x178;const _0x1eaa32=a111_0x1eaa();let _0x5d8933=_0x1eaa32[_0x10448d];return _0x5d8933;}function detectPackageManager(_0x1fe2b4){const _0x5dd6b3=a111_0x4885ac;if(existsSync(resolve(_0x1fe2b4,_0x5dd6b3(0x17d)))||existsSync(resolve(_0x1fe2b4,_0x5dd6b3(0x1b5))))return _0x5dd6b3(0x185);if(existsSync(resolve(_0x1fe2b4,_0x5dd6b3(0x191))))return _0x5dd6b3(0x184);if(existsSync(resolve(_0x1fe2b4,_0x5dd6b3(0x195))))return _0x5dd6b3(0x17c);return _0x5dd6b3(0x1a8);}async function versionCheck(_0x3945d3){const _0x4e4fc1=a111_0x4885ac,_0x3c35d9=await checkCliVersion();(_0x3c35d9[_0x4e4fc1(0x1ab)]||_0x3c35d9['belowMinimum'])&&(printCliUpgradeWarning(_0x3c35d9),assertCliVersionSupported(_0x3c35d9));const _0x41e136=await checkSdkVersion(_0x3945d3);if(_0x41e136[_0x4e4fc1(0x1ab)])printSdkUpgradeWarning(_0x41e136);}function spawnScript(_0x184b5d,_0x2bc5d5,_0x4e78c1,_0xe8b113){return new Promise((_0x487e22,_0x5766d9)=>{const _0x50846b=a111_0x5d89,_0xc508b3=[_0x50846b(0x1a0),_0x2bc5d5,..._0x4e78c1],_0x431d44=spawn(_0x184b5d,_0xc508b3,{'cwd':_0xe8b113,'stdio':_0x50846b(0x1a9),'shell':!![],'env':{...process.env,'PATH':''+join(_0xe8b113,'node_modules',_0x50846b(0x1ae))+delimiter+process.env.PATH}});_0x431d44['on'](_0x50846b(0x1b2),_0x94d6ab=>{const _0x2e1929=_0x50846b;if(_0x94d6ab===0x0||_0x94d6ab===null)_0x487e22();else _0x5766d9(new Error(_0x184b5d+_0x2e1929(0x1a7)+_0x2bc5d5+_0x2e1929(0x19b)+_0x94d6ab));}),_0x431d44['on']('error',_0x5766d9);});}function spawnViteBuildWatch(_0x3b6cb4){return new Promise((_0x27712f,_0x15ffaf)=>{const _0x20a1e2=a111_0x5d89,_0x397b55=spawn(_0x20a1e2(0x189),['build','--watch'],{'cwd':_0x3b6cb4,'stdio':'inherit','shell':!![],'env':{...process.env,'PATH':''+join(_0x3b6cb4,_0x20a1e2(0x18e),_0x20a1e2(0x1ae))+delimiter+process.env.PATH}});_0x397b55['on'](_0x20a1e2(0x1b2),_0x8bbe9c=>{const _0x5127e5=_0x20a1e2;if(_0x8bbe9c===0x0||_0x8bbe9c===null)_0x27712f();else _0x15ffaf(new Error(_0x5127e5(0x198)+_0x8bbe9c));}),_0x397b55['on'](_0x20a1e2(0x178),_0x15ffaf);});}function spawnVitePreview(_0x3cf6bc){return new Promise((_0x536243,_0x181f20)=>{const _0x150f40=a111_0x5d89,_0x169ca=spawn(_0x150f40(0x189),[_0x150f40(0x1b0)],{'cwd':_0x3cf6bc,'stdio':_0x150f40(0x1a9),'shell':!![],'env':{...process.env,'PATH':''+join(_0x3cf6bc,_0x150f40(0x18e),'.bin')+delimiter+process.env.PATH}});_0x169ca['on'](_0x150f40(0x1b2),_0x4d0cd4=>{const _0xc956b1=_0x150f40;if(_0x4d0cd4===0x0||_0x4d0cd4===null)_0x536243();else _0x181f20(new Error(_0xc956b1(0x1aa)+_0x4d0cd4));}),_0x169ca['on'](_0x150f40(0x178),_0x181f20);});}function a111_0x1eaa(){const _0x1c89d6=['Script\x20\x22','\x20run\x20<script>\x0a','\x20exited\x20with\x20code\x20','length','18OFOhBt','Script\x20name\x20defined\x20in\x20package.json','log','run','parse','\x22\x20not\x20found\x20in\x20package.json.','2oVkLNW','583028IXxGuf','start','2422876itfqnM','\x20run\x20','npm','inherit','vite\x20preview\x20exited\x20with\x20code\x20','needsUpgrade','bool','Available:\x20','.bin','3enRetH','preview','map','close','utf-8','entries','bun.lock','12965117zIqyvn','\x20\x20AVAILABLE\x20SCRIPTS\x20\x20(current\x20project)','\x20\x20\x20\x20','push','cwd','error','Enable\x20watch\x20mode\x20for\x20preview','keys','all','yarn','bun.lockb','\x20run\x20build','has','validation','4270728blMtzt','\x0a\x20\x20Usage:\x20','max','pnpm','bun','4920QbwVXv','\x20run\x20preview','padEnd','vite','dev','watch','\x20\x20EXAMPLES','475HFZUJp','node_modules','12heHebn','2272192eljhCo','pnpm-lock.yaml','script','Run\x20a\x20package.json\x20script','92590GwZlEg','yarn.lock','args','\x20run\x20start','vite\x20build\x20--watch\x20exited\x20with\x20code\x20'];a111_0x1eaa=function(){return _0x1c89d6;};return a111_0x1eaa();}const runFlags=[{'name':a111_0x4885ac(0x18b),'type':'boolean','description':a111_0x4885ac(0x179),'default':![]}];export const runDefinition={'service':a111_0x4885ac(0x1a0),'command':a111_0x4885ac(0x1a0),'description':a111_0x4885ac(0x193),'risk':'read','requiresAuth':![],'requiresAppCode':![],'hasFormat':![],'args':[{'name':a111_0x4885ac(0x192),'description':a111_0x4885ac(0x19e),'required':![]}],'flags':runFlags,'helpExtra':()=>{const _0x3be74f=a111_0x4885ac,_0xba7b83=readPackageScripts(process['cwd']()),_0x46a1bf=[];if(_0xba7b83&&Object[_0x3be74f(0x17a)](_0xba7b83)['length']>0x0){const _0x15519f=Object[_0x3be74f(0x17a)](_0xba7b83),_0x340060=Math[_0x3be74f(0x183)](..._0x15519f[_0x3be74f(0x1b1)](_0xb0fe9b=>_0xb0fe9b[_0x3be74f(0x19c)]));_0x46a1bf[_0x3be74f(0x1b9)](_0x3be74f(0x1b7));for(const [_0x31262b,_0x307f8f]of Object[_0x3be74f(0x1b4)](_0xba7b83)){_0x46a1bf[_0x3be74f(0x1b9)](_0x3be74f(0x1b8)+CLI_BIN_NAME+_0x3be74f(0x1a7)+_0x31262b[_0x3be74f(0x188)](_0x340060+0x2)+'#\x20'+_0x307f8f);}}else _0x46a1bf[_0x3be74f(0x1b9)](_0x3be74f(0x18c)),_0x46a1bf[_0x3be74f(0x1b9)](_0x3be74f(0x1b8)+CLI_BIN_NAME+_0x3be74f(0x197)),_0x46a1bf[_0x3be74f(0x1b9)]('\x20\x20\x20\x20'+CLI_BIN_NAME+_0x3be74f(0x17e)),_0x46a1bf[_0x3be74f(0x1b9)](_0x3be74f(0x1b8)+CLI_BIN_NAME+_0x3be74f(0x187)),_0x46a1bf[_0x3be74f(0x1b9)](_0x3be74f(0x1b8)+CLI_BIN_NAME+'\x20run\x20preview\x20--watch\x20\x20\x20#\x20parallel\x20build\x20--watch\x20+\x20preview');return _0x46a1bf['join']('\x0a');},async 'execute'(_0x28e785){const _0x49afb4=a111_0x4885ac,_0x5b1160=process[_0x49afb4(0x1ba)](),_0x28fa8c=_0x28e785[_0x49afb4(0x196)][0x0],_0x26e4d6=_0x28e785[_0x49afb4(0x196)]['slice'](0x1),_0x1fc716=readPackageScripts(_0x5b1160);if(!_0x1fc716)throw CliErrors[_0x49afb4(0x180)]('No\x20package.json\x20found\x20in\x20current\x20directory.');if(!_0x28fa8c){const _0x3d33f1=Object['keys'](_0x1fc716);if(_0x3d33f1[_0x49afb4(0x19c)]===0x0)console[_0x49afb4(0x19f)]('No\x20scripts\x20defined\x20in\x20package.json.');else{console['log']('\x0a\x20\x20Available\x20scripts:\x0a');const _0xdd384c=Math['max'](..._0x3d33f1['map'](_0x211cae=>_0x211cae[_0x49afb4(0x19c)]));for(const [_0x1b7712,_0x51f4c2]of Object[_0x49afb4(0x1b4)](_0x1fc716)){console[_0x49afb4(0x19f)]('\x20\x20\x20\x20'+_0x1b7712[_0x49afb4(0x188)](_0xdd384c+0x2)+_0x51f4c2);}console['log'](_0x49afb4(0x182)+CLI_BIN_NAME+_0x49afb4(0x19a));}return{'ok':!![]};}if(!_0x1fc716[_0x28fa8c])throw CliErrors['validation'](_0x49afb4(0x199)+_0x28fa8c+_0x49afb4(0x1a2),_0x49afb4(0x1ad)+(Object[_0x49afb4(0x17a)](_0x1fc716)['join'](',\x20')||'(none)'));const _0x561dca=detectPackageManager(_0x5b1160);VERSION_CHECK_SCRIPTS[_0x49afb4(0x17f)](_0x28fa8c)&&await versionCheck(_0x5b1160);if(_0x28fa8c===_0x49afb4(0x1b0)&&_0x28e785[_0x49afb4(0x1ac)](_0x49afb4(0x18b)))return await Promise[_0x49afb4(0x17b)]([spawnViteBuildWatch(_0x5b1160),spawnVitePreview(_0x5b1160)]),{'ok':!![]};return await spawnScript(_0x561dca,_0x28fa8c,_0x26e4d6,_0x5b1160),{'ok':!![]};}};
|
package/lib/commands/schema.js
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
const
|
|
1
|
+
const a112_0x4c6d54=a112_0x5455;(function(_0x31e367,_0xc88bfd){const _0x304c24=a112_0x5455,_0x170664=_0x31e367();while(!![]){try{const _0x4e30f1=-parseInt(_0x304c24(0xf0))/0x1+parseInt(_0x304c24(0xf1))/0x2*(-parseInt(_0x304c24(0xf7))/0x3)+parseInt(_0x304c24(0xef))/0x4*(-parseInt(_0x304c24(0xf3))/0x5)+parseInt(_0x304c24(0xf6))/0x6*(parseInt(_0x304c24(0xf2))/0x7)+parseInt(_0x304c24(0xf9))/0x8+-parseInt(_0x304c24(0xee))/0x9+parseInt(_0x304c24(0xf4))/0xa;if(_0x4e30f1===_0xc88bfd)break;else _0x170664['push'](_0x170664['shift']());}catch(_0x27eb75){_0x170664['push'](_0x170664['shift']());}}}(a112_0x42b9,0x5638a));function a112_0x5455(_0x531485,_0x37060d){_0x531485=_0x531485-0xee;const _0x42b98d=a112_0x42b9();let _0x5455e5=_0x42b98d[_0x531485];return _0x5455e5;}import{buildSchemaPayload}from'../framework/schema-export.js';async function execute(_0x2c009e){const _0x12e37d=await buildSchemaPayload();return{'ok':!![],'data':_0x12e37d};}function a112_0x42b9(){const _0x362dc1=['3nCzoEe','export','2979880lNKJph','2467260kqzxHj','1356LQqfrS','328248SpVMkq','851978hGtczu','266jidusR','3035JuXYYV','8157510kSgdqS','json','63012sWKRqO'];a112_0x42b9=function(){return _0x362dc1;};return a112_0x42b9();}export const schemaDefinition={'service':'schema','command':a112_0x4c6d54(0xf8),'description':'Export\x20machine-readable\x20command\x20schema\x20(JSON)','risk':'read','requiresAuth':![],'requiresAppCode':![],'hasFormat':!![],'defaultOutputFormat':a112_0x4c6d54(0xf5),'flags':[],'execute':execute};
|
|
@@ -1 +1 @@
|
|
|
1
|
-
const
|
|
1
|
+
const a113_0x20346e=a113_0x2ce3;(function(_0x2ea24f,_0x3bc78b){const _0x4606fb=a113_0x2ce3,_0x4545a5=_0x2ea24f();while(!![]){try{const _0x2df87f=-parseInt(_0x4606fb(0x1a7))/0x1*(-parseInt(_0x4606fb(0x198))/0x2)+parseInt(_0x4606fb(0x1a0))/0x3*(parseInt(_0x4606fb(0x19c))/0x4)+-parseInt(_0x4606fb(0x1a2))/0x5+-parseInt(_0x4606fb(0x197))/0x6+-parseInt(_0x4606fb(0x192))/0x7*(parseInt(_0x4606fb(0x196))/0x8)+-parseInt(_0x4606fb(0x195))/0x9+parseInt(_0x4606fb(0x19d))/0xa;if(_0x2df87f===_0x3bc78b)break;else _0x4545a5['push'](_0x4545a5['shift']());}catch(_0x3f5aab){_0x4545a5['push'](_0x4545a5['shift']());}}}(a113_0xa194,0x49308));function a113_0x2ce3(_0x3050d4,_0xed0238){_0x3050d4=_0x3050d4-0x191;const _0xa1944d=a113_0xa194();let _0x2ce390=_0xa1944d[_0x3050d4];return _0x2ce390;}function a113_0xa194(){const _0x21bc73=['执行安装技能包命令(委托给\x20npx\x20skills\x20add\x20-g\x20-y)','apiError','cwd','unknown','7ZBKCNZ','log','error','4709853dHMDos','836456zntxzy','1042014rtDSOJ','145190geMmCJ','inherit','Install\x20developer\x20skill\x20package','info','28PsJlkQ','14565290HnPxjJ','pipe','\x20skill\x20installed','67746XluiJG','install','2929355nEcZTW','setLogPath','skill-install','Skipped\x20npx\x20(RABETBASE_SKIP_NPX_SKILLS=1);\x20assuming\x20skill\x20is\x20already\x20present.',')...','1EwLHwS'];a113_0xa194=function(){return _0x21bc73;};return a113_0xa194();}import{CliErrors}from'../../errors.js';import{CLI_BIN_NAME}from'../../constant/cli.js';import{logger}from'../../utils/logger.js';import{NPX_SKILLS_ADD_GLOBAL_COMMAND_LINE}from'../../skills/npx-skills-add.js';export const skillDefinitions=[{'service':'skill','command':a113_0x20346e(0x1a1),'description':a113_0x20346e(0x19a),'risk':'write','requiresAuth':![],'requiresAppCode':![],'hasFormat':![],'flags':[],async 'execute'(_0x4a39f9){const _0x18220f=a113_0x20346e;logger[_0x18220f(0x1a3)](process['cwd']()),logger[_0x18220f(0x19b)](_0x18220f(0x1a4),_0x18220f(0x1a8));const {runNpxSkillsAddGlobal:_0x3c6053}=await import('../../skills/npx-skills-add.js'),_0x410b08=_0x4a39f9['nonInteractive']?_0x18220f(0x19e):_0x18220f(0x199);console[_0x18220f(0x193)]('Installing\x20official\x20skill\x20via\x20npx\x20('+NPX_SKILLS_ADD_GLOBAL_COMMAND_LINE+_0x18220f(0x1a6));const _0x1b2ec2=_0x3c6053(process[_0x18220f(0x1aa)](),'lovrabet/rabetbase',{'stdio':_0x410b08});if(_0x1b2ec2['skipped'])console[_0x18220f(0x193)](_0x18220f(0x1a5));else{if(_0x1b2ec2['ok'])console[_0x18220f(0x193)](CLI_BIN_NAME+_0x18220f(0x19f));else throw CliErrors[_0x18220f(0x1a9)]('npx\x20skills\x20add\x20failed:\x20'+(_0x1b2ec2[_0x18220f(0x194)]||_0x18220f(0x191)),'Check\x20network\x20connectivity\x20and\x20try\x20again.');}return{'ok':!![]};}}];
|
|
@@ -1 +1 @@
|
|
|
1
|
-
const a107_0x221db3=a107_0x1b9e;(function(_0xda7048,_0x56e6a3){const _0x3207d9=a107_0x1b9e,_0x4280fa=_0xda7048();while(!![]){try{const _0x24039e=-parseInt(_0x3207d9(0x168))/0x1+-parseInt(_0x3207d9(0x15a))/0x2+parseInt(_0x3207d9(0x166))/0x3*(parseInt(_0x3207d9(0x15e))/0x4)+parseInt(_0x3207d9(0x155))/0x5*(parseInt(_0x3207d9(0x14a))/0x6)+parseInt(_0x3207d9(0x16f))/0x7*(parseInt(_0x3207d9(0x171))/0x8)+-parseInt(_0x3207d9(0x163))/0x9*(-parseInt(_0x3207d9(0x18b))/0xa)+-parseInt(_0x3207d9(0x17c))/0xb*(parseInt(_0x3207d9(0x172))/0xc);if(_0x24039e===_0x56e6a3)break;else _0x4280fa['push'](_0x4280fa['shift']());}catch(_0xc6985c){_0x4280fa['push'](_0x4280fa['shift']());}}}(a107_0x1034,0x31ebf));function a107_0x1034(){const _0x2f3dcc=['20KhXuuY','--db-id\x20is\x20required\x20in\x20non-interactive\x20mode.','nonInteractive','<server-generated-sqlCode>','dbId','1356KRAdXy','flagMissing','/smartapi/custom/saveUserCustomSql','map','\x20\x20SELECT\x201\x20AS\x20id','create','mybatisXml','sqlRoot','mode','Created\x20SQL\x20query\x20','Local\x20SQL\x20file\x20mode','7415WMqLnf','flag','parse','str','appCode','409786dQSVMI','SQL\x20名称不能为空','catch','✎\x20手动输入\x20dbId','1223312DwIzOe','MyBatis\x20XML(mybatisXml)','dbId\x20必须为正整数','Invalid\x20database\x20selection\x20payload:\x20','isFinite','252792zZszcj','POST','Target\x20database\x20ID','3ZoZNwE','toISOString','361870CMjClS','SQL\x20query\x20display\x20name','__manual__','sqlRootDir','sqlName','请输入\x20SQL\x20名称:','new','1507786lrCQvU','sqlCode','8CvKQak','1695816rotKhx','trim','validation','string','lockFilePath','Would\x20create\x20a\x20new\x20SQL\x20query\x20and\x20scaffold\x20it\x20under\x20','utf8','sql','请选择本地\x20SQL\x20模式:','sqls','11QLPQmu','length','dbId\x20不能为空','SELECT\x201\x20AS\x20id;','description','number','name','lastSync','适合带动态标签的\x20MyBatis\x20XML\x20SQL','--mode\x20is\x20required\x20in\x20non-interactive\x20mode.','stringify','join','Create\x20a\x20new\x20custom\x20SQL\x20and\x20scaffold\x20it\x20locally','db-id','isInteger'];a107_0x1034=function(){return _0x2f3dcc;};return a107_0x1034();}function a107_0x1b9e(_0x17a3d0,_0x26c4f9){_0x17a3d0=_0x17a3d0-0x149;const _0x103452=a107_0x1034();let _0x1b9e2d=_0x103452[_0x17a3d0];return _0x1b9e2d;}import{writeFile}from'node:fs/promises';import{input,select}from'@inquirer/prompts';import{createSqlQuery}from'../../core/api-client.js';import{getDbName,listDatabases}from'../../core/db-resolver.js';import{loadSqlProjectConfig}from'../../core/sql-sync/config.js';import{ensureParentDirectory,fileExists}from'../../core/bff/file-system.js';import{computeSqlContentHash}from'../../core/sql-sync/hash.js';import{createEmptySqlLock,ensureSqlLockScope,readSqlLockFile,writeSqlLockFile}from'../../core/sql-sync/lock.js';import{buildSqlRelativePath}from'../../core/sql-sync/utils.js';import{CliErrors}from'../../errors.js';import{buildLocalSqlFileContent,buildSqlLockEntry,ensureRemoteSqlContent}from'./shared.js';function generateSqlTemplate(_0x3de735){const _0x393970=a107_0x1b9e;if(_0x3de735===_0x393970(0x150))return['<select\x20id=\x22query\x22\x20resultType=\x22map\x22>',_0x393970(0x14e),'</select>',''][_0x393970(0x187)]('\x0a');return[_0x393970(0x17f),''][_0x393970(0x187)]('\x0a');}export const sqlCreate={'service':a107_0x221db3(0x179),'command':a107_0x221db3(0x14f),'description':a107_0x221db3(0x188),'risk':'high-risk-write','flags':[{'name':a107_0x221db3(0x182),'type':a107_0x221db3(0x175),'description':a107_0x221db3(0x169)},{'name':a107_0x221db3(0x189),'type':a107_0x221db3(0x181),'description':a107_0x221db3(0x165)},{'name':a107_0x221db3(0x152),'type':a107_0x221db3(0x175),'enum':[a107_0x221db3(0x179),a107_0x221db3(0x150)],'description':a107_0x221db3(0x154)}],async 'validate'(_0x406734){const _0x2c2ac3=a107_0x221db3;if(!_0x406734[_0x2c2ac3(0x18d)])return;if(!_0x406734[_0x2c2ac3(0x158)]('name')[_0x2c2ac3(0x173)]())throw CliErrors['flagMissing'](_0x2c2ac3(0x182),'--name\x20is\x20required\x20in\x20non-interactive\x20mode.');const _0x34cc79=resolveProvidedDbId(_0x406734);if(typeof _0x34cc79!==_0x2c2ac3(0x181)||!Number[_0x2c2ac3(0x162)](_0x34cc79)||_0x34cc79<=0x0)throw CliErrors[_0x2c2ac3(0x14b)](_0x2c2ac3(0x189),_0x2c2ac3(0x18c));if(!_0x406734[_0x2c2ac3(0x158)]('mode')[_0x2c2ac3(0x173)]())throw CliErrors[_0x2c2ac3(0x14b)](_0x2c2ac3(0x152),_0x2c2ac3(0x185));},async 'dryRun'(_0x37bfd9){const _0x49fec2=a107_0x221db3,_0x4f957f=loadSqlProjectConfig(_0x37bfd9[_0x49fec2(0x159)]),{sqlName:_0x2289df,dbId:_0x10f016,dbName:_0x444faa,mode:_0x4e16ec}=await resolveSqlNewInputs(_0x37bfd9),_0x1d1a3b=buildSqlRelativePath(_0x49fec2(0x18e),_0x2289df,_0x444faa,_0x4e16ec,_0x10f016),_0x3aa246=_0x4f957f[_0x49fec2(0x16b)]+'/'+_0x1d1a3b;return{'method':_0x49fec2(0x164),'url':_0x49fec2(0x14c),'body':{'appCode':_0x37bfd9[_0x49fec2(0x159)],'sqlName':_0x2289df,'dbId':_0x10f016,'mode':_0x4e16ec,'localPath':_0x3aa246},'description':_0x49fec2(0x177)+_0x4f957f[_0x49fec2(0x16b)]};},async 'execute'(_0x5a9a05){const _0x29f7be=a107_0x221db3,_0x5d17e6=loadSqlProjectConfig(_0x5a9a05[_0x29f7be(0x159)]),{sqlName:_0xb591f8,dbId:_0x317fe7,dbName:_0x1bc469,mode:_0x19c599}=await resolveSqlNewInputs(_0x5a9a05),_0x1bb594=generateSqlTemplate(_0x19c599),_0x33e96f=await createSqlQuery({'appCode':_0x5a9a05['appCode'],'sqlName':_0xb591f8,'dbId':_0x317fe7,'sqlContent':_0x1bb594}),_0x5c4342=ensureRemoteSqlContent(_0x33e96f),_0x3ffca3=_0x1bc469||await getDbName(_0x5a9a05[_0x29f7be(0x159)],_0x317fe7)['catch'](()=>undefined),_0x8b1c0b=buildSqlRelativePath(_0x33e96f[_0x29f7be(0x170)],_0x33e96f[_0x29f7be(0x16c)],_0x3ffca3,_0x19c599,_0x317fe7),_0x9582d5=_0x5d17e6[_0x29f7be(0x16b)]+'/'+_0x8b1c0b,_0x11a380=buildLocalSqlFileContent({'sqlCode':_0x33e96f[_0x29f7be(0x170)],'sqlName':_0x33e96f['sqlName'],'dbId':_0x33e96f[_0x29f7be(0x149)]},_0x5c4342,{'dbName':_0x3ffca3,'mode':_0x19c599,'syncedAt':new Date()[_0x29f7be(0x167)](),'description':_0x33e96f[_0x29f7be(0x180)]});if(await fileExists(_0x9582d5))throw CliErrors[_0x29f7be(0x174)]('File\x20already\x20exists:\x20'+_0x9582d5);await ensureParentDirectory(_0x9582d5),await writeFile(_0x9582d5,_0x11a380,_0x29f7be(0x178));const _0x4e38a3=await readSqlLockFile(_0x5d17e6[_0x29f7be(0x176)]),{lockData:_0x6fc833,appLock:_0x569a1d}=ensureSqlLockScope(_0x4e38a3??createEmptySqlLock(),_0x5d17e6[_0x29f7be(0x159)],_0x5d17e6[_0x29f7be(0x151)],_0x29f7be(0x16e));return _0x569a1d[_0x29f7be(0x17b)][_0x33e96f[_0x29f7be(0x170)]]={...buildSqlLockEntry(_0x33e96f,_0x5c4342,computeSqlContentHash(_0x11a380),{'dbName':_0x3ffca3}),'path':_0x8b1c0b,'mode':_0x19c599},_0x569a1d[_0x29f7be(0x183)]=new Date()[_0x29f7be(0x167)](),await writeSqlLockFile(_0x5d17e6[_0x29f7be(0x176)],_0x6fc833),{'ok':!![],'data':{'id':_0x33e96f['id'],'sqlCode':_0x33e96f[_0x29f7be(0x170)],'sqlName':_0x33e96f[_0x29f7be(0x16c)],'dbId':_0x33e96f['dbId'],'path':_0x9582d5,'mode':_0x19c599},'message':_0x29f7be(0x153)+_0x33e96f['sqlCode']};}};async function resolveSqlNewInputs(_0x324363){const _0x54074b=await resolveSqlNameInput(_0x324363),{dbId:_0x41c4c9,dbName:_0x2b9c74}=await resolveDbSelection(_0x324363),_0x1d2172=await resolveSqlModeInput(_0x324363);return{'sqlName':_0x54074b,'dbId':_0x41c4c9,'dbName':_0x2b9c74,'mode':_0x1d2172};}async function resolveSqlNameInput(_0x3bdda0){const _0x41ba11=a107_0x221db3,_0x2afad0=_0x3bdda0['str'](_0x41ba11(0x182))[_0x41ba11(0x173)]();if(_0x2afad0)return _0x2afad0;if(_0x3bdda0[_0x41ba11(0x18d)])throw CliErrors[_0x41ba11(0x14b)]('name','--name\x20is\x20required\x20in\x20non-interactive\x20mode.');return(await input({'message':_0x41ba11(0x16d),'validate':_0x2e5d77=>_0x2e5d77[_0x41ba11(0x173)]()?!![]:_0x41ba11(0x15b)}))[_0x41ba11(0x173)]();}async function resolveDbSelection(_0x2daf3b){const _0x1cd84d=a107_0x221db3,_0x5eac69=resolveProvidedDbId(_0x2daf3b);if(typeof _0x5eac69==='number'&&Number[_0x1cd84d(0x162)](_0x5eac69)&&_0x5eac69>0x0)return{'dbId':_0x5eac69,'dbName':await getDbName(_0x2daf3b['appCode'],_0x5eac69)[_0x1cd84d(0x15c)](()=>undefined)};if(_0x2daf3b[_0x1cd84d(0x18d)])throw CliErrors[_0x1cd84d(0x14b)](_0x1cd84d(0x189),_0x1cd84d(0x18c));const _0x589895=await listDatabases(_0x2daf3b[_0x1cd84d(0x159)])['catch'](()=>[]);if(_0x589895[_0x1cd84d(0x17d)]===0x1)return{'dbId':_0x589895[0x0][_0x1cd84d(0x149)],'dbName':_0x589895[0x0]['dbName']};if(_0x589895[_0x1cd84d(0x17d)]>0x1){const _0x486de0=await select({'message':'请选择目标数据库:','choices':[..._0x589895[_0x1cd84d(0x14d)](_0xb8fb67=>({'name':_0xb8fb67['dbName']+'\x20('+_0xb8fb67['dbId']+')','value':serializeDbSelection(_0xb8fb67)})),{'name':_0x1cd84d(0x15d),'value':_0x1cd84d(0x16a)}]});if(_0x486de0!==_0x1cd84d(0x16a))return deserializeDbSelection(_0x486de0);}const _0x39ae88=await input({'message':'请输入目标数据库\x20dbId:','validate':_0x11517c=>{const _0x181451=_0x1cd84d,_0x2aa85f=_0x11517c[_0x181451(0x173)]();if(!_0x2aa85f)return _0x181451(0x17e);const _0x175d7d=Number(_0x2aa85f);if(!Number[_0x181451(0x18a)](_0x175d7d)||_0x175d7d<=0x0)return _0x181451(0x160);return!![];}});return{'dbId':Number(_0x39ae88[_0x1cd84d(0x173)]())};}async function resolveSqlModeInput(_0x8a270e){const _0x215e8c=a107_0x221db3,_0x5b590e=_0x8a270e[_0x215e8c(0x158)]('mode')['trim']();if(_0x5b590e===_0x215e8c(0x179)||_0x5b590e===_0x215e8c(0x150))return _0x5b590e;if(_0x8a270e[_0x215e8c(0x18d)])throw CliErrors[_0x215e8c(0x14b)](_0x215e8c(0x152),_0x215e8c(0x185));return await select({'message':_0x215e8c(0x17a),'choices':[{'name':'普通\x20SQL(sql)','value':_0x215e8c(0x179),'description':'适合直接执行的普通\x20SELECT\x20/\x20INSERT\x20/\x20UPDATE\x20/\x20DELETE\x20语句'},{'name':_0x215e8c(0x15f),'value':_0x215e8c(0x150),'description':_0x215e8c(0x184)}]});}function serializeDbSelection(_0x406d9f){const _0x4e3b57=a107_0x221db3;return JSON[_0x4e3b57(0x186)]({'dbId':_0x406d9f[_0x4e3b57(0x149)],'dbName':_0x406d9f['dbName']});}function deserializeDbSelection(_0x480994){const _0x1f950b=a107_0x221db3;try{const _0x4ae51c=JSON[_0x1f950b(0x157)](_0x480994);if(typeof _0x4ae51c[_0x1f950b(0x149)]==='number'&&Number[_0x1f950b(0x162)](_0x4ae51c[_0x1f950b(0x149)]))return{'dbId':_0x4ae51c[_0x1f950b(0x149)],'dbName':_0x4ae51c['dbName']};}catch{}throw CliErrors[_0x1f950b(0x174)](_0x1f950b(0x161)+_0x480994);}function resolveProvidedDbId(_0x5c85b9){const _0x203a66=a107_0x221db3,_0x19ece6=_0x5c85b9[_0x203a66(0x156)](_0x203a66(0x189));if(typeof _0x19ece6===_0x203a66(0x181)&&Number[_0x203a66(0x162)](_0x19ece6))return _0x19ece6;return undefined;}
|
|
1
|
+
const a114_0x3b8044=a114_0x1995;(function(_0x23357a,_0x4e7706){const _0x21bea2=a114_0x1995,_0x524b4a=_0x23357a();while(!![]){try{const _0x4e6df8=parseInt(_0x21bea2(0x1c3))/0x1+-parseInt(_0x21bea2(0x1cc))/0x2*(-parseInt(_0x21bea2(0x1b1))/0x3)+-parseInt(_0x21bea2(0x1c4))/0x4+-parseInt(_0x21bea2(0x1db))/0x5*(-parseInt(_0x21bea2(0x1a0))/0x6)+parseInt(_0x21bea2(0x1ca))/0x7+-parseInt(_0x21bea2(0x1d2))/0x8*(parseInt(_0x21bea2(0x1a4))/0x9)+parseInt(_0x21bea2(0x19d))/0xa*(-parseInt(_0x21bea2(0x1c1))/0xb);if(_0x4e6df8===_0x4e7706)break;else _0x524b4a['push'](_0x524b4a['shift']());}catch(_0x24fe9e){_0x524b4a['push'](_0x524b4a['shift']());}}}(a114_0x54fd,0xf3c7c));import{writeFile}from'node:fs/promises';import{input,select}from'@inquirer/prompts';import{createSqlQuery}from'../../core/api-client.js';import{getDbName,listDatabases}from'../../core/db-resolver.js';import{loadSqlProjectConfig}from'../../core/sql-sync/config.js';import{ensureParentDirectory,fileExists}from'../../core/bff/file-system.js';import{computeSqlContentHash}from'../../core/sql-sync/hash.js';import{createEmptySqlLock,ensureSqlLockScope,readSqlLockFile,writeSqlLockFile}from'../../core/sql-sync/lock.js';import{buildSqlRelativePath}from'../../core/sql-sync/utils.js';import{CliErrors}from'../../errors.js';import{buildLocalSqlFileContent,buildSqlLockEntry,ensureRemoteSqlContent}from'./shared.js';function generateSqlTemplate(_0x35884d){const _0x35cf45=a114_0x1995;if(_0x35884d===_0x35cf45(0x1bd))return[_0x35cf45(0x1cd),_0x35cf45(0x19e),_0x35cf45(0x1c0),''][_0x35cf45(0x1cb)]('\x0a');return[_0x35cf45(0x1e2),''][_0x35cf45(0x1cb)]('\x0a');}function a114_0x54fd(){const _0xdae44b=['map','appCode','Create\x20a\x20new\x20custom\x20SQL\x20and\x20scaffold\x20it\x20locally','catch','4719657tLakaB','SQL\x20名称不能为空','✎\x20手动输入\x20dbId','str','utf8','isFinite','validation','dbId\x20不能为空','lockFilePath','sqls','nonInteractive','--db-id\x20is\x20required\x20in\x20non-interactive\x20mode.','mybatisXml','flag','请输入\x20SQL\x20名称:','</select>','24603843IhkMvS','length','1577586qhqfSQ','7405508pLzcjt','lastSync','sql','请选择目标数据库:','stringify','Local\x20SQL\x20file\x20mode','12817140EYxFcn','join','2PvUBNE','<select\x20id=\x22query\x22\x20resultType=\x22map\x22>','Target\x20database\x20ID','--name\x20is\x20required\x20in\x20non-interactive\x20mode.','mode','flagMissing','2592080IWtGTx','__manual__','isInteger','/smartapi/custom/saveUserCustomSql','trim','description','sqlRootDir','请输入目标数据库\x20dbId:','<server-generated-sqlCode>','714665GrVFes','number','适合直接执行的普通\x20SELECT\x20/\x20INSERT\x20/\x20UPDATE\x20/\x20DELETE\x20语句','--mode\x20is\x20required\x20in\x20non-interactive\x20mode.','Would\x20create\x20a\x20new\x20SQL\x20query\x20and\x20scaffold\x20it\x20under\x20','POST','Created\x20SQL\x20query\x20','SELECT\x201\x20AS\x20id;','适合带动态标签的\x20MyBatis\x20XML\x20SQL','10yhvkPU','\x20\x20SELECT\x201\x20AS\x20id','sqlCode','18Yvsujp','Invalid\x20database\x20selection\x20payload:\x20','db-id','dbId\x20必须为正整数','9XPDXGX','File\x20already\x20exists:\x20','dbId','toISOString','sqlName','string','SQL\x20query\x20display\x20name','name','dbName'];a114_0x54fd=function(){return _0xdae44b;};return a114_0x54fd();}function a114_0x1995(_0x379079,_0x47173d){_0x379079=_0x379079-0x19d;const _0x54fd73=a114_0x54fd();let _0x1995dc=_0x54fd73[_0x379079];return _0x1995dc;}export const sqlCreate={'service':a114_0x3b8044(0x1c6),'command':'create','description':a114_0x3b8044(0x1af),'risk':'high-risk-write','flags':[{'name':a114_0x3b8044(0x1ab),'type':a114_0x3b8044(0x1a9),'description':a114_0x3b8044(0x1aa)},{'name':a114_0x3b8044(0x1a2),'type':a114_0x3b8044(0x1dc),'description':a114_0x3b8044(0x1ce)},{'name':'mode','type':'string','enum':[a114_0x3b8044(0x1c6),a114_0x3b8044(0x1bd)],'description':a114_0x3b8044(0x1c9)}],async 'validate'(_0xfb71ca){const _0xb2cd28=a114_0x3b8044;if(!_0xfb71ca[_0xb2cd28(0x1bb)])return;if(!_0xfb71ca[_0xb2cd28(0x1b4)]('name')['trim']())throw CliErrors[_0xb2cd28(0x1d1)](_0xb2cd28(0x1ab),_0xb2cd28(0x1cf));const _0xdf5e16=resolveProvidedDbId(_0xfb71ca);if(typeof _0xdf5e16!=='number'||!Number[_0xb2cd28(0x1b6)](_0xdf5e16)||_0xdf5e16<=0x0)throw CliErrors['flagMissing'](_0xb2cd28(0x1a2),_0xb2cd28(0x1bc));if(!_0xfb71ca['str'](_0xb2cd28(0x1d0))['trim']())throw CliErrors[_0xb2cd28(0x1d1)](_0xb2cd28(0x1d0),'--mode\x20is\x20required\x20in\x20non-interactive\x20mode.');},async 'dryRun'(_0x4f01ad){const _0x7f4ecb=a114_0x3b8044,_0x1cc3bd=loadSqlProjectConfig(_0x4f01ad[_0x7f4ecb(0x1ae)]),{sqlName:_0x3aba9d,dbId:_0x85f661,dbName:_0x4d5e62,mode:_0x326784}=await resolveSqlNewInputs(_0x4f01ad),_0x3d54e2=buildSqlRelativePath(_0x7f4ecb(0x1da),_0x3aba9d,_0x4d5e62,_0x326784,_0x85f661),_0x39ea7b=_0x1cc3bd['sqlRootDir']+'/'+_0x3d54e2;return{'method':_0x7f4ecb(0x1e0),'url':_0x7f4ecb(0x1d5),'body':{'appCode':_0x4f01ad[_0x7f4ecb(0x1ae)],'sqlName':_0x3aba9d,'dbId':_0x85f661,'mode':_0x326784,'localPath':_0x39ea7b},'description':_0x7f4ecb(0x1df)+_0x1cc3bd[_0x7f4ecb(0x1d8)]};},async 'execute'(_0x15421e){const _0x4cc79d=a114_0x3b8044,_0x1c85ea=loadSqlProjectConfig(_0x15421e[_0x4cc79d(0x1ae)]),{sqlName:_0x248505,dbId:_0x584818,dbName:_0x4ba8e3,mode:_0x2733ba}=await resolveSqlNewInputs(_0x15421e),_0x518d9e=generateSqlTemplate(_0x2733ba),_0xfbe662=await createSqlQuery({'appCode':_0x15421e[_0x4cc79d(0x1ae)],'sqlName':_0x248505,'dbId':_0x584818,'sqlContent':_0x518d9e}),_0x1dea84=ensureRemoteSqlContent(_0xfbe662),_0x3f7472=_0x4ba8e3||await getDbName(_0x15421e['appCode'],_0x584818)[_0x4cc79d(0x1b0)](()=>undefined),_0x2395cf=buildSqlRelativePath(_0xfbe662[_0x4cc79d(0x19f)],_0xfbe662[_0x4cc79d(0x1a8)],_0x3f7472,_0x2733ba,_0x584818),_0x105582=_0x1c85ea[_0x4cc79d(0x1d8)]+'/'+_0x2395cf,_0x59e0a3=buildLocalSqlFileContent({'sqlCode':_0xfbe662[_0x4cc79d(0x19f)],'sqlName':_0xfbe662[_0x4cc79d(0x1a8)],'dbId':_0xfbe662[_0x4cc79d(0x1a6)]},_0x1dea84,{'dbName':_0x3f7472,'mode':_0x2733ba,'syncedAt':new Date()[_0x4cc79d(0x1a7)](),'description':_0xfbe662[_0x4cc79d(0x1d7)]});if(await fileExists(_0x105582))throw CliErrors[_0x4cc79d(0x1b7)](_0x4cc79d(0x1a5)+_0x105582);await ensureParentDirectory(_0x105582),await writeFile(_0x105582,_0x59e0a3,_0x4cc79d(0x1b5));const _0x8e9dd0=await readSqlLockFile(_0x1c85ea[_0x4cc79d(0x1b9)]),{lockData:_0x5b5436,appLock:_0x30e3aa}=ensureSqlLockScope(_0x8e9dd0??createEmptySqlLock(),_0x1c85ea[_0x4cc79d(0x1ae)],_0x1c85ea['sqlRoot'],'new');return _0x30e3aa[_0x4cc79d(0x1ba)][_0xfbe662[_0x4cc79d(0x19f)]]={...buildSqlLockEntry(_0xfbe662,_0x1dea84,computeSqlContentHash(_0x59e0a3),{'dbName':_0x3f7472}),'path':_0x2395cf,'mode':_0x2733ba},_0x30e3aa[_0x4cc79d(0x1c5)]=new Date()['toISOString'](),await writeSqlLockFile(_0x1c85ea['lockFilePath'],_0x5b5436),{'ok':!![],'data':{'id':_0xfbe662['id'],'sqlCode':_0xfbe662['sqlCode'],'sqlName':_0xfbe662[_0x4cc79d(0x1a8)],'dbId':_0xfbe662['dbId'],'path':_0x105582,'mode':_0x2733ba},'message':_0x4cc79d(0x1e1)+_0xfbe662['sqlCode']};}};async function resolveSqlNewInputs(_0x51f7e1){const _0x38e635=await resolveSqlNameInput(_0x51f7e1),{dbId:_0x3c639a,dbName:_0x16c518}=await resolveDbSelection(_0x51f7e1),_0x589059=await resolveSqlModeInput(_0x51f7e1);return{'sqlName':_0x38e635,'dbId':_0x3c639a,'dbName':_0x16c518,'mode':_0x589059};}async function resolveSqlNameInput(_0x461769){const _0x32043d=a114_0x3b8044,_0x5aa4a5=_0x461769[_0x32043d(0x1b4)](_0x32043d(0x1ab))[_0x32043d(0x1d6)]();if(_0x5aa4a5)return _0x5aa4a5;if(_0x461769['nonInteractive'])throw CliErrors[_0x32043d(0x1d1)](_0x32043d(0x1ab),'--name\x20is\x20required\x20in\x20non-interactive\x20mode.');return(await input({'message':_0x32043d(0x1bf),'validate':_0x408166=>_0x408166[_0x32043d(0x1d6)]()?!![]:_0x32043d(0x1b2)}))['trim']();}async function resolveDbSelection(_0xdfe4d4){const _0x5e70a9=a114_0x3b8044,_0x28567d=resolveProvidedDbId(_0xdfe4d4);if(typeof _0x28567d===_0x5e70a9(0x1dc)&&Number[_0x5e70a9(0x1b6)](_0x28567d)&&_0x28567d>0x0)return{'dbId':_0x28567d,'dbName':await getDbName(_0xdfe4d4[_0x5e70a9(0x1ae)],_0x28567d)[_0x5e70a9(0x1b0)](()=>undefined)};if(_0xdfe4d4[_0x5e70a9(0x1bb)])throw CliErrors[_0x5e70a9(0x1d1)](_0x5e70a9(0x1a2),_0x5e70a9(0x1bc));const _0x513702=await listDatabases(_0xdfe4d4['appCode'])[_0x5e70a9(0x1b0)](()=>[]);if(_0x513702['length']===0x1)return{'dbId':_0x513702[0x0]['dbId'],'dbName':_0x513702[0x0][_0x5e70a9(0x1ac)]};if(_0x513702[_0x5e70a9(0x1c2)]>0x1){const _0x354753=await select({'message':_0x5e70a9(0x1c7),'choices':[..._0x513702[_0x5e70a9(0x1ad)](_0x1b754b=>({'name':_0x1b754b[_0x5e70a9(0x1ac)]+'\x20('+_0x1b754b[_0x5e70a9(0x1a6)]+')','value':serializeDbSelection(_0x1b754b)})),{'name':_0x5e70a9(0x1b3),'value':_0x5e70a9(0x1d3)}]});if(_0x354753!=='__manual__')return deserializeDbSelection(_0x354753);}const _0x5613b8=await input({'message':_0x5e70a9(0x1d9),'validate':_0x38c392=>{const _0x3a259e=_0x5e70a9,_0x52ceb9=_0x38c392[_0x3a259e(0x1d6)]();if(!_0x52ceb9)return _0x3a259e(0x1b8);const _0x49ff85=Number(_0x52ceb9);if(!Number[_0x3a259e(0x1d4)](_0x49ff85)||_0x49ff85<=0x0)return _0x3a259e(0x1a3);return!![];}});return{'dbId':Number(_0x5613b8[_0x5e70a9(0x1d6)]())};}async function resolveSqlModeInput(_0x352af5){const _0x38b817=a114_0x3b8044,_0x2e99a5=_0x352af5['str']('mode')[_0x38b817(0x1d6)]();if(_0x2e99a5===_0x38b817(0x1c6)||_0x2e99a5===_0x38b817(0x1bd))return _0x2e99a5;if(_0x352af5[_0x38b817(0x1bb)])throw CliErrors['flagMissing']('mode',_0x38b817(0x1de));return await select({'message':'请选择本地\x20SQL\x20模式:','choices':[{'name':'普通\x20SQL(sql)','value':_0x38b817(0x1c6),'description':_0x38b817(0x1dd)},{'name':'MyBatis\x20XML(mybatisXml)','value':_0x38b817(0x1bd),'description':_0x38b817(0x1e3)}]});}function serializeDbSelection(_0x5814b0){const _0x4e7bdf=a114_0x3b8044;return JSON[_0x4e7bdf(0x1c8)]({'dbId':_0x5814b0[_0x4e7bdf(0x1a6)],'dbName':_0x5814b0['dbName']});}function deserializeDbSelection(_0x6cf019){const _0x280940=a114_0x3b8044;try{const _0x3f2b14=JSON['parse'](_0x6cf019);if(typeof _0x3f2b14[_0x280940(0x1a6)]===_0x280940(0x1dc)&&Number[_0x280940(0x1b6)](_0x3f2b14[_0x280940(0x1a6)]))return{'dbId':_0x3f2b14[_0x280940(0x1a6)],'dbName':_0x3f2b14[_0x280940(0x1ac)]};}catch{}throw CliErrors[_0x280940(0x1b7)](_0x280940(0x1a1)+_0x6cf019);}function resolveProvidedDbId(_0x73a518){const _0x5d4751=a114_0x3b8044,_0x200e04=_0x73a518[_0x5d4751(0x1be)](_0x5d4751(0x1a2));if(typeof _0x200e04==='number'&&Number['isFinite'](_0x200e04))return _0x200e04;return undefined;}
|