@lovrabet/rabetbase-cli 2.2.1-beta.2 → 2.2.2-beta.1
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/lib/api/api-doc.js +1 -1
- package/lib/api/fetch-model-list.js +1 -1
- package/lib/api/generate-api-file.js +1 -1
- package/lib/auth/auth-server-ui.js +1 -1
- package/lib/auth/auth-server.js +1 -1
- package/lib/auth/constant.js +1 -1
- package/lib/auth/get-cookie.js +1 -1
- package/lib/auth/get-session-user.js +1 -1
- package/lib/auth/is-session-valid.js +1 -1
- package/lib/auth/login-success-html.js +1 -1
- package/lib/auth/logout.js +1 -1
- package/lib/cli-flags.js +1 -1
- package/lib/cli.js +1 -1
- package/lib/commands/api/generate.js +1 -1
- package/lib/commands/api/index.js +1 -1
- package/lib/commands/api/list.js +1 -1
- package/lib/commands/api/pull.js +1 -1
- package/lib/commands/api/shared.js +1 -1
- package/lib/commands/app/add.js +1 -1
- package/lib/commands/app/discover.js +1 -1
- package/lib/commands/app/index.js +1 -1
- package/lib/commands/app/list.js +1 -1
- package/lib/commands/app/remove.js +1 -1
- package/lib/commands/app/shared.js +1 -1
- package/lib/commands/app/use.js +1 -1
- package/lib/commands/auth/index.js +1 -1
- package/lib/commands/bff/create.js +1 -1
- package/lib/commands/bff/delete.js +1 -1
- package/lib/commands/bff/detail.js +1 -1
- package/lib/commands/bff/index.js +1 -1
- package/lib/commands/bff/list.js +1 -1
- package/lib/commands/bff/pull.js +1 -1
- package/lib/commands/bff/push.js +1 -1
- package/lib/commands/bff/status.js +1 -1
- package/lib/commands/cli-update.js +1 -1
- package/lib/commands/codegen/index.js +1 -1
- package/lib/commands/codegen/sdk.js +1 -1
- package/lib/commands/codegen/sql.js +1 -1
- package/lib/commands/common/app-selector.js +1 -1
- package/lib/commands/common/flags.js +1 -1
- package/lib/commands/common/validate.js +1 -1
- package/lib/commands/config/get.js +1 -1
- package/lib/commands/config/index.js +1 -1
- package/lib/commands/config/list.js +1 -1
- package/lib/commands/config/set.js +1 -1
- package/lib/commands/config/shared.js +1 -1
- package/lib/commands/data/filter.js +1 -1
- package/lib/commands/data/getOne.js +1 -1
- package/lib/commands/data/index.js +1 -1
- package/lib/commands/data/shared.js +1 -1
- package/lib/commands/dataset/capability.js +1 -1
- package/lib/commands/dataset/delete.js +1 -1
- package/lib/commands/dataset/detail.js +1 -1
- package/lib/commands/dataset/extend-update.js +1 -1
- package/lib/commands/dataset/field-update.js +1 -1
- package/lib/commands/dataset/index.js +1 -1
- package/lib/commands/dataset/list.js +1 -1
- package/lib/commands/dataset/operations.js +1 -1
- package/lib/commands/dataset/relation-create.js +1 -1
- package/lib/commands/dataset/relation-delete.js +1 -1
- package/lib/commands/dataset/relation-shared.js +1 -1
- package/lib/commands/dataset/relation-update.js +1 -1
- package/lib/commands/dataset/relations.js +1 -1
- package/lib/commands/dataset/rename.js +1 -1
- package/lib/commands/db/analyze-cancel.js +1 -1
- package/lib/commands/db/analyze-start.js +1 -1
- package/lib/commands/db/analyze-status.js +1 -1
- package/lib/commands/db/create.js +1 -1
- package/lib/commands/db/delete.js +1 -1
- package/lib/commands/db/detail.js +1 -1
- package/lib/commands/db/diff.js +1 -1
- package/lib/commands/db/index.js +1 -1
- package/lib/commands/db/list.js +1 -1
- package/lib/commands/db/shared.js +1 -1
- package/lib/commands/db/tables.js +1 -1
- package/lib/commands/db/test.js +1 -1
- package/lib/commands/db/update.js +1 -1
- package/lib/commands/doctor.js +1 -1
- package/lib/commands/init/index.js +1 -1
- package/lib/commands/issue/index.js +1 -1
- package/lib/commands/issue/nudge.js +1 -1
- package/lib/commands/issue/report.js +1 -1
- package/lib/commands/issue/shared.js +1 -1
- package/lib/commands/logs/index.js +1 -1
- package/lib/commands/menu/index.js +1 -1
- package/lib/commands/menu/shared/compare-table.js +1 -1
- package/lib/commands/menu/shared/index.js +1 -1
- package/lib/commands/menu/shared/inquirer.js +1 -1
- package/lib/commands/menu/shared/local-pages.js +1 -1
- package/lib/commands/menu/shared/logic.js +1 -1
- package/lib/commands/menu/shared/service.js +1 -1
- package/lib/commands/menu/shared/sync-core.js +1 -1
- package/lib/commands/menu/shared/update-core.js +1 -1
- package/lib/commands/menu/shared/valid-url.js +1 -1
- package/lib/commands/menu/sync.js +1 -1
- package/lib/commands/menu/update.js +1 -1
- package/lib/commands/page/generate-start.js +1 -1
- package/lib/commands/page/generate-status.js +1 -1
- package/lib/commands/page/index.js +1 -1
- package/lib/commands/page/pull.js +1 -1
- package/lib/commands/page/push.js +1 -1
- package/lib/commands/page/relation-audit.js +1 -1
- package/lib/commands/page/shared.js +1 -1
- package/lib/commands/page/standard-page-status.js +1 -1
- package/lib/commands/page/sync.js +1 -1
- package/lib/commands/project/create/enhanced-guided-create.js +1 -1
- package/lib/commands/project/create/format-elapsed.js +1 -1
- package/lib/commands/project/create/main.js +1 -1
- package/lib/commands/project/create/non-interactive.js +1 -1
- package/lib/commands/project/create/project-template-path.js +1 -1
- package/lib/commands/project/create/use-copy-project-template.js +1 -1
- package/lib/commands/project/create/use-format-code.js +1 -1
- package/lib/commands/project/create/use-install-dependencies.js +1 -1
- package/lib/commands/project/index.js +1 -1
- package/lib/commands/project/init.js +1 -1
- package/lib/commands/project/upgrade.js +1 -1
- package/lib/commands/registry.js +1 -1
- package/lib/commands/run/index.js +1 -1
- package/lib/commands/schema.js +1 -1
- package/lib/commands/skill/index.js +1 -1
- package/lib/commands/sql/create.js +1 -1
- package/lib/commands/sql/delete.js +1 -1
- package/lib/commands/sql/detail.js +1 -1
- package/lib/commands/sql/exec.js +1 -1
- package/lib/commands/sql/index.js +1 -1
- package/lib/commands/sql/list.js +1 -1
- package/lib/commands/sql/pull.js +1 -1
- package/lib/commands/sql/push.js +1 -1
- package/lib/commands/sql/save.js +1 -1
- package/lib/commands/sql/shared.js +1 -1
- package/lib/commands/sql/status.js +1 -1
- package/lib/commands/sql/validate.js +1 -1
- package/lib/config/schema.js +1 -1
- package/lib/constant/cdn.js +1 -1
- package/lib/constant/cli.js +1 -1
- package/lib/constant/defaults.js +1 -1
- package/lib/constant/domain.js +1 -1
- package/lib/constant/env.js +1 -1
- package/lib/constant/output.js +1 -1
- package/lib/constant/paths.js +1 -1
- package/lib/constant/risk.js +1 -1
- package/lib/context.js +1 -1
- package/lib/core/alias-resolver.js +1 -1
- package/lib/core/api-client.js +1 -1
- package/lib/core/bff/config.js +1 -1
- package/lib/core/bff/file-system.js +1 -1
- package/lib/core/bff/hash.js +1 -1
- package/lib/core/bff/lock.js +1 -1
- package/lib/core/bff/utils.js +1 -1
- package/lib/core/db-resolver.js +1 -1
- package/lib/core/page/file-system.js +1 -1
- package/lib/core/page/hash.js +1 -1
- package/lib/core/page/lock.js +1 -1
- package/lib/core/sql-sync/config.js +1 -1
- package/lib/core/sql-sync/file-system.js +1 -1
- package/lib/core/sql-sync/hash.js +1 -1
- package/lib/core/sql-sync/lock.js +1 -1
- package/lib/core/sql-sync/utils.js +1 -1
- package/lib/core/sql-validator.js +1 -1
- package/lib/errors.js +1 -1
- package/lib/framework/build-all-flags.js +1 -1
- package/lib/framework/flags.js +1 -1
- package/lib/framework/help.js +1 -1
- package/lib/framework/index.js +1 -1
- package/lib/framework/output.js +1 -1
- package/lib/framework/response.js +1 -1
- package/lib/framework/runner-alias.js +1 -1
- package/lib/framework/runner.js +1 -1
- package/lib/framework/schema-export.js +1 -1
- package/lib/framework/types.js +1 -1
- package/lib/generated/build-info.js +1 -1
- package/lib/help.js +1 -1
- package/lib/skills/main.js +1 -1
- package/lib/skills/npx-skills-add.js +1 -1
- package/lib/telemetry/cli-command-trace.js +1 -1
- package/lib/telemetry/cli-help-trace.js +1 -1
- package/lib/telemetry/ensure-cli-otel-config.js +1 -1
- package/lib/telemetry/register-otel-exit-shutdown.js +1 -1
- package/lib/telemetry/send-cli-trace-log.js +1 -1
- package/lib/telemetry/send-platform-issue-collect-log.js +1 -1
- package/lib/utils/ai_config.js +1 -1
- package/lib/utils/apply-jq-filter.js +1 -1
- package/lib/utils/cdn-config.js +1 -1
- package/lib/utils/check-sdk-version.js +1 -1
- package/lib/utils/cli-version-check.js +1 -1
- package/lib/utils/cli-version-policy.js +1 -1
- package/lib/utils/config.js +1 -1
- package/lib/utils/copy-directory.js +1 -1
- package/lib/utils/entity-with-id.js +1 -1
- package/lib/utils/file-utils.js +1 -1
- package/lib/utils/guides-cdn.js +1 -1
- package/lib/utils/http-client.js +1 -1
- package/lib/utils/is-non-interactive.js +1 -1
- package/lib/utils/logger.js +1 -1
- package/lib/utils/params.js +1 -1
- package/lib/utils/platform.js +1 -1
- package/lib/utils/rules-cdn.js +1 -1
- package/lib/utils/sleep.js +1 -1
- package/lib/utils/template-replacer.js +1 -1
- package/lib/utils/update-notice.js +1 -1
- package/lib/utils/version.js +1 -1
- package/lib/utils/with-active-cookie.js +1 -1
- package/lib/utils/write-cli-side-channel.js +1 -1
- package/package.json +1 -1
|
@@ -1 +1 @@
|
|
|
1
|
-
(function(_0x1a3264,_0xe5c905){const _0x3e5558=a116_0x493a,_0x3154a6=_0x1a3264();while(!![]){try{const _0x1d3926=parseInt(_0x3e5558(0x1d0))/0x1+-parseInt(_0x3e5558(0x1ac))/0x2+parseInt(_0x3e5558(0x1fa))/0x3+-parseInt(_0x3e5558(0x192))/0x4+parseInt(_0x3e5558(0x206))/0x5*(-parseInt(_0x3e5558(0x1c5))/0x6)+parseInt(_0x3e5558(0x19b))/0x7+-parseInt(_0x3e5558(0x1e8))/0x8*(-parseInt(_0x3e5558(0x1a7))/0x9);if(_0x1d3926===_0xe5c905)break;else _0x3154a6['push'](_0x3154a6['shift']());}catch(_0xf9b78b){_0x3154a6['push'](_0x3154a6['shift']());}}}(a116_0x327f,0xaaf16));function a116_0x493a(_0x18264e,_0x215ca3){_0x18264e=_0x18264e-0x190;const _0x327fbb=a116_0x327f();let _0x493a18=_0x327fbb[_0x18264e];return _0x493a18;}import a116_0x52e7c2 from'chalk';import a116_0x4ddca7 from'ora';import{existsSync,readFileSync,renameSync,rmSync,statSync,unlinkSync,writeFileSync}from'node:fs';import{resolve}from'node:path';import{CONFIG_NAMES,NEW_CONFIG_NAME,readConfigFile,writeConfigFile}from'../../context.js';function a116_0x327f(){const _0x2077f8=['yes','oldPath','hasNewConfig','\x20(backup:\x20','step','gray','package.json','already\x20exists\x20(will\x20merge)','Upgrade\x20cancelled.','path','isDirectory','\x20\x20Action:\x20remove\x20entries\x20containing\x20@lovrabet/dataset-mcp-server','latest','log','cyan','files','No\x20legacy\x20artifacts\x20found.\x20Your\x20project\x20is\x20already\x20up-to-date.','825426BvJeuL','no\x20legacy\x20config\x20found','===\x20Upgrade\x20Analysis\x20===','push','@lovrabet/dataset-mcp-server','join','dependencies','Step\x206/7:\x20Install\x20new\x20skill\x20—\x20','Step\x202/7:\x20.lovrabet/\x20not\x20found,\x20skipped','\x20\x20Step\x20','Skill\x20swap:','error','1145bErisW','stringify','entries','@lovrabet/sdk:','status','\x20→\x20','263372JNDTfr','object','needed','Config\x20file:','string','\x20\x20Fields\x20to\x20migrate:\x20','none\x20found','Step\x205/7:\x20Remove\x20old\x20skill\x20—\x20','Remove\x20legacy\x20artifacts','845229FvTfcz','Legacy\x20artifacts:','bold','\x20→\x20keys:\x20','lovrabet/rabetbase\x20installed\x20globally','Step\x204/7:\x20MCP\x20config\x20—\x20','skipped','.cursor/mcp.json','Remove\x20old\x20skill','@lovrabet/sdk','Config\x20migration','some','1636623OMPCcN','@lovrabet/sdk\x20has\x20been\x20updated\x20to\x20latest\x20in\x20package.json.','succeed','cwd','skipped\x20(not\x20found\x20or\x20already\x20at\x20latest)','2444454tTiBCb','parse','values','Step\x203/7:\x20Removing\x20legacy\x20IDE\x20skill\x20files...','\x20\x20Action:\x20migrate\x20→\x20backup\x20old\x20as\x20.bak','.bak','white','Step\x207/7:\x20@lovrabet/sdk\x20—\x20','red','configMigration','no\x20matching\x20entry\x20found','\x20removed','lovrabet/lovrabet-skill\x20removed','utf8','failed','Step\x201/7:\x20Migrating\x20config...','oldMcpConfig','inherit','undefined','\x20\x20#\x20or','green','Remove\x20.lovrabet/','CANCEL','sdkUpgrade','yellow','20220OBUiNI','lovrabet/rabetbase','isArray','info','mcpServers','no\x20legacy\x20entry','devDependencies','start','args','needsSkillSwap','\x20\x20Action:\x20update\x20package.json\x20(you\x20will\x20need\x20to\x20re-run\x20install)','82Pnlqad','fields','length','\x20\x20Action:\x20delete','fail','MCP\x20config:','exit\x20','includes','Step\x205/7:\x20Removing\x20old\x20skill...','Step\x202/7:\x20.lovrabet/\x20removal\x20failed\x20—\x20','done','oldArtifacts','message','keys','detail','\x20→\x20latest','Clean\x20MCP\x20config','skipped\x20(no\x20legacy\x20config)','FOUND','\x20\x20npm\x20install','Proceed\x20with\x20upgrade?','\x20\x20New\x20config\x20(.rabetbase.json):\x20','===\x20Upgrade\x20Summary\x20===','Upgrade\x20@lovrabet/sdk','104WBXAdA'];a116_0x327f=function(){return _0x2077f8;};return a116_0x327f();}import{CORE_IDE_CONFIGS}from'../../utils/ai_config.js';import{NPX_SKILLS_ADD_GLOBAL_COMMAND_LINE,runNpxSkillsAddGlobal,runNpxSkillsRemove}from'../../skills/npx-skills-add.js';import{askConfirm}from'../../commands/menu/shared/inquirer.js';const LEGACY_CONFIG_NAMES=CONFIG_NAMES['filter'](_0x5588ee=>_0x5588ee!==NEW_CONFIG_NAME);function collectIdeSkillFiles(_0x38b3c0){const _0xe89bf2=a116_0x493a,_0x3239a6=[];for(const _0x39f521 of Object[_0xe89bf2(0x1ae)](CORE_IDE_CONFIGS)){if(_0x39f521[_0xe89bf2(0x1f8)])for(const _0x44df97 of _0x39f521['files']){_0x3239a6[_0xe89bf2(0x1fd)](resolve(_0x38b3c0,_0x44df97[_0xe89bf2(0x1f2)]));}}return _0x3239a6;}function analyse(_0x54e9be){const _0x10298a=a116_0x493a;let _0x1f344c=null;const _0x9cd8a0=resolve(_0x54e9be,NEW_CONFIG_NAME),_0x4c9a45=existsSync(_0x9cd8a0);for(const _0x32a200 of LEGACY_CONFIG_NAMES){const _0x9a27df=resolve(_0x54e9be,_0x32a200);if(existsSync(_0x9a27df)){const _0x50786d=readConfigFile(_0x9a27df),_0x53e2b2=Object['keys'](_0x50786d)['filter'](_0x3084fe=>typeof _0x50786d[_0x3084fe]!==_0x10298a(0x1be));_0x1f344c={'oldPath':_0x9a27df,'hasNewConfig':_0x4c9a45,'fields':_0x53e2b2};break;}}const _0x1b4b91=[],_0x1f6b4a=resolve(_0x54e9be,'.lovrabet');if(existsSync(_0x1f6b4a))_0x1b4b91[_0x10298a(0x1fd)](_0x1f6b4a);const _0x4ec186=resolve(_0x54e9be,'.cursor/rules/lovrabet_rules.mdc');if(existsSync(_0x4ec186))_0x1b4b91[_0x10298a(0x1fd)](_0x4ec186);const _0x19c365=resolve(_0x54e9be,'.claude/skills/lovrabet');if(existsSync(_0x19c365))_0x1b4b91[_0x10298a(0x1fd)](_0x19c365);for(const _0x187e8c of collectIdeSkillFiles(_0x54e9be)){if(existsSync(_0x187e8c))_0x1b4b91['push'](_0x187e8c);}let _0x10589d=null;const _0x9cb9d9=resolve(_0x54e9be,_0x10298a(0x1a2));if(existsSync(_0x9cb9d9))try{const _0x30c3af=JSON[_0x10298a(0x1ad)](readFileSync(_0x9cb9d9,_0x10298a(0x1b9)));if(_0x30c3af?.[_0x10298a(0x1c9)]&&typeof _0x30c3af[_0x10298a(0x1c9)]===_0x10298a(0x193)){const _0x56b085=[];for(const [_0x3c213d,_0xa63ae4]of Object[_0x10298a(0x208)](_0x30c3af['mcpServers'])){const _0x43cb5f=_0xa63ae4;_0x43cb5f?.[_0x10298a(0x1cd)]&&Array[_0x10298a(0x1c7)](_0x43cb5f['args'])&&_0x43cb5f['args'][_0x10298a(0x1a6)](_0x594ed1=>typeof _0x594ed1==='string'&&_0x594ed1['includes'](_0x10298a(0x1fe)))&&_0x56b085['push'](_0x3c213d);}_0x56b085[_0x10298a(0x1d2)]>0x0&&(_0x10589d={'path':_0x9cb9d9,'keys':_0x56b085});}}catch{}const _0x10efb3=_0x1b4b91[_0x10298a(0x1d2)]>0x0||_0x1f344c!==null;let _0x4bbddf=null;const _0x3dc58e=resolve(_0x54e9be,_0x10298a(0x1ef));if(existsSync(_0x3dc58e))try{const _0x4fff5d=JSON[_0x10298a(0x1ad)](readFileSync(_0x3dc58e,_0x10298a(0x1b9)));for(const _0x37e98c of[_0x10298a(0x200),_0x10298a(0x1cb)]){const _0x2b00f8=_0x4fff5d?.[_0x37e98c]?.[_0x10298a(0x1a4)];if(typeof _0x2b00f8==='string'){_0x2b00f8!==_0x10298a(0x1f5)&&(_0x4bbddf={'pkgPath':_0x3dc58e,'currentVersion':_0x2b00f8,'field':_0x37e98c});break;}}}catch{}return{'configMigration':_0x1f344c,'oldArtifacts':_0x1b4b91,'oldMcpConfig':_0x10589d,'needsSkillSwap':_0x10efb3,'sdkUpgrade':_0x4bbddf};}function printReport(_0x5b57fd){const _0x153051=a116_0x493a,{configMigration:_0x53c4e9,oldArtifacts:_0xcf66e2,oldMcpConfig:_0x9f9fa0,needsSkillSwap:_0x494007}=_0x5b57fd;console[_0x153051(0x1f6)](''),console['log'](a116_0x52e7c2[_0x153051(0x19d)](_0x153051(0x1fc))),console[_0x153051(0x1f6)]('');_0x53c4e9?(console[_0x153051(0x1f6)](a116_0x52e7c2[_0x153051(0x1f7)](_0x153051(0x195))+('\x20\x20'+a116_0x52e7c2[_0x153051(0x1c4)](_0x53c4e9['oldPath']))),console[_0x153051(0x1f6)](_0x153051(0x1e5)+(_0x53c4e9['hasNewConfig']?a116_0x52e7c2[_0x153051(0x1c0)](_0x153051(0x1f0)):a116_0x52e7c2['gray']('not\x20found\x20(will\x20create)'))),console[_0x153051(0x1f6)](_0x153051(0x197)+_0x53c4e9[_0x153051(0x1d1)][_0x153051(0x1ff)](',\x20')),console[_0x153051(0x1f6)](_0x153051(0x1b0))):console[_0x153051(0x1f6)](a116_0x52e7c2[_0x153051(0x1f7)](_0x153051(0x195))+'\x20\x20'+a116_0x52e7c2[_0x153051(0x1ee)](_0x153051(0x1fb)));console[_0x153051(0x1f6)]('');if(_0xcf66e2[_0x153051(0x1d2)]>0x0){console[_0x153051(0x1f6)](a116_0x52e7c2[_0x153051(0x1f7)](_0x153051(0x19c)));for(const _0x20491f of _0xcf66e2){console[_0x153051(0x1f6)]('\x20\x20'+a116_0x52e7c2[_0x153051(0x1b4)](_0x153051(0x1e2))+'\x20\x20'+_0x20491f);}console[_0x153051(0x1f6)](_0x153051(0x1d3));}else console['log'](a116_0x52e7c2[_0x153051(0x1f7)](_0x153051(0x19c))+'\x20\x20'+a116_0x52e7c2[_0x153051(0x1ee)](_0x153051(0x198)));console['log']('');_0x9f9fa0?(console['log'](a116_0x52e7c2[_0x153051(0x1f7)](_0x153051(0x1d5))+('\x20\x20'+a116_0x52e7c2['yellow'](_0x9f9fa0[_0x153051(0x1f2)])+_0x153051(0x19e)+_0x9f9fa0[_0x153051(0x1dd)][_0x153051(0x1ff)](',\x20'))),console[_0x153051(0x1f6)](_0x153051(0x1f4))):console['log'](a116_0x52e7c2[_0x153051(0x1f7)](_0x153051(0x1d5))+'\x20\x20'+a116_0x52e7c2[_0x153051(0x1ee)](_0x153051(0x1ca)));console[_0x153051(0x1f6)](''),console[_0x153051(0x1f6)](a116_0x52e7c2[_0x153051(0x1f7)](_0x153051(0x204))+('\x20\x20'+(_0x494007?a116_0x52e7c2[_0x153051(0x1c4)](_0x153051(0x194)):a116_0x52e7c2[_0x153051(0x1c0)]('not\x20needed'))));_0x494007&&console['log']('\x20\x20Action:\x20remove\x20old\x20lovrabet/lovrabet-skill,\x20add\x20via\x20`'+NPX_SKILLS_ADD_GLOBAL_COMMAND_LINE+'`');console['log']('');if(_0x5b57fd[_0x153051(0x1c3)]){const {currentVersion:_0x49d5fe,field:_0xf02dd9,pkgPath:_0xa6e4cb}=_0x5b57fd[_0x153051(0x1c3)];console[_0x153051(0x1f6)](a116_0x52e7c2[_0x153051(0x1f7)](_0x153051(0x209))+('\x20\x20'+a116_0x52e7c2[_0x153051(0x1c4)](_0xa6e4cb))),console[_0x153051(0x1f6)]('\x20\x20Current\x20version\x20in\x20'+_0xf02dd9+':\x20'+a116_0x52e7c2[_0x153051(0x1c4)](_0x49d5fe)+_0x153051(0x191)+a116_0x52e7c2[_0x153051(0x1c0)](_0x153051(0x1f5))),console[_0x153051(0x1f6)](_0x153051(0x1cf));}else console['log'](a116_0x52e7c2[_0x153051(0x1f7)]('@lovrabet/sdk:')+'\x20\x20'+a116_0x52e7c2[_0x153051(0x1ee)]('not\x20found\x20or\x20already\x20at\x20latest'));console[_0x153051(0x1f6)]('');}function execConfigMigration(_0x2df5e6,_0x1f1058){const _0x33f1b9=a116_0x493a,{configMigration:_0x5e39a2}=_0x2df5e6;if(!_0x5e39a2?.[_0x33f1b9(0x1ea)])return{'step':0x1,'label':_0x33f1b9(0x1a5),'ok':!![],'detail':_0x33f1b9(0x1e1)};const _0x276f81=readConfigFile(_0x5e39a2[_0x33f1b9(0x1ea)]),_0x564556=resolve(_0x1f1058,NEW_CONFIG_NAME),_0x308551=_0x5e39a2[_0x33f1b9(0x1eb)]?readConfigFile(_0x564556):{};for(const [_0xf8a899,_0x65a43f]of Object[_0x33f1b9(0x208)](_0x276f81)){!(_0xf8a899 in _0x308551)&&(_0x308551[_0xf8a899]=_0x65a43f);}writeConfigFile(_0x564556,_0x308551);const _0x2330a4=_0x5e39a2[_0x33f1b9(0x1ea)]+_0x33f1b9(0x1b1);return renameSync(_0x5e39a2[_0x33f1b9(0x1ea)],_0x2330a4),{'step':0x1,'label':_0x33f1b9(0x1a5),'ok':!![],'detail':_0x5e39a2['oldPath']+_0x33f1b9(0x191)+_0x564556+_0x33f1b9(0x1ec)+_0x2330a4+')'};}function execRemoveOldArtifacts(_0xf405ec){const _0x56453d=a116_0x493a,_0x3f9146=[];for(const _0x3fc0cb of _0xf405ec){try{if(!existsSync(_0x3fc0cb))continue;const _0x53364d=tryStat(_0x3fc0cb);_0x53364d?.[_0x56453d(0x1f3)]()?rmSync(_0x3fc0cb,{'recursive':!![],'force':!![]}):unlinkSync(_0x3fc0cb);}catch(_0x4e8f48){_0x3f9146['push'](_0x3fc0cb+':\x20'+_0x4e8f48[_0x56453d(0x1dc)]);}}return{'step':0x3,'label':_0x56453d(0x19a),'ok':_0x3f9146[_0x56453d(0x1d2)]===0x0,'detail':_0x3f9146[_0x56453d(0x1d2)]>0x0?_0xf405ec['length']-_0x3f9146[_0x56453d(0x1d2)]+'/'+_0xf405ec[_0x56453d(0x1d2)]+'\x20removed\x20('+_0x3f9146['join'](';\x20')+')':_0xf405ec[_0x56453d(0x1d2)]+_0x56453d(0x1b7)};}function execCleanMcp(_0x306512){const _0x1996a0=a116_0x493a;if(!_0x306512['oldMcpConfig'])return{'step':0x4,'label':_0x1996a0(0x1e0),'ok':!![],'detail':_0x1996a0(0x1a1)};try{const _0x534615=readFileSync(_0x306512['oldMcpConfig'][_0x1996a0(0x1f2)],_0x1996a0(0x1b9)),_0x2ce9b2=JSON[_0x1996a0(0x1ad)](_0x534615);if(_0x2ce9b2?.[_0x1996a0(0x1c9)]&&typeof _0x2ce9b2[_0x1996a0(0x1c9)]===_0x1996a0(0x193)){const _0x311af5=[];for(const [_0x1d3516,_0x2b2c96]of Object['entries'](_0x2ce9b2[_0x1996a0(0x1c9)])){_0x2b2c96?.[_0x1996a0(0x1cd)]&&Array[_0x1996a0(0x1c7)](_0x2b2c96[_0x1996a0(0x1cd)])&&_0x2b2c96[_0x1996a0(0x1cd)][_0x1996a0(0x1a6)](_0x38403f=>typeof _0x38403f===_0x1996a0(0x196)&&_0x38403f[_0x1996a0(0x1d7)](_0x1996a0(0x1fe)))&&_0x311af5[_0x1996a0(0x1fd)](_0x1d3516);}for(const _0x4130b1 of _0x311af5){delete _0x2ce9b2[_0x1996a0(0x1c9)][_0x4130b1];}return _0x311af5[_0x1996a0(0x1d2)]>0x0&&writeFileSync(_0x306512['oldMcpConfig']['path'],JSON[_0x1996a0(0x207)](_0x2ce9b2,null,0x2)+'\x0a',_0x1996a0(0x1b9)),{'step':0x4,'label':_0x1996a0(0x1e0),'ok':!![],'detail':'removed\x20'+_0x311af5[_0x1996a0(0x1ff)](',\x20')+'\x20from\x20'+_0x306512[_0x1996a0(0x1bc)][_0x1996a0(0x1f2)]};}return{'step':0x4,'label':_0x1996a0(0x1e0),'ok':!![],'detail':_0x1996a0(0x1b6)};}catch(_0x3dc340){return{'step':0x4,'label':_0x1996a0(0x1e0),'ok':![],'detail':_0x3dc340[_0x1996a0(0x1dc)]};}}function execSkillsRemove(_0xcf16a7,_0x52a590){const _0x3c1922=a116_0x493a,_0xba686a=runNpxSkillsRemove(_0xcf16a7,{'stdio':_0x3c1922(0x1bd),'yes':_0x52a590});return{'step':0x5,'label':_0x3c1922(0x1a3),'ok':_0xba686a['ok'],'detail':_0xba686a['ok']?_0x3c1922(0x1b8):_0xba686a[_0x3c1922(0x205)]??_0x3c1922(0x1d6)+_0xba686a[_0x3c1922(0x190)]};}function execSkillsAdd(_0x253a63,_0x3b9788){const _0x1b7dc8=a116_0x493a,_0x1ff055=runNpxSkillsAddGlobal(_0x253a63,_0x1b7dc8(0x1c6),{'stdio':_0x1b7dc8(0x1bd),'yes':_0x3b9788});return{'step':0x6,'label':'Install\x20new\x20skill','ok':_0x1ff055['ok'],'detail':_0x1ff055['ok']?_0x1b7dc8(0x19f):_0x1ff055[_0x1b7dc8(0x205)]??'exit\x20'+_0x1ff055[_0x1b7dc8(0x190)]};}function execUpgradeSdk(_0x7cce5c){const _0xb435c5=a116_0x493a;if(!_0x7cce5c['sdkUpgrade'])return{'step':0x7,'label':_0xb435c5(0x1e7),'ok':!![],'detail':_0xb435c5(0x1ab)};const {pkgPath:_0xaa7d8c,currentVersion:_0x69b844,field:_0x2e76d3}=_0x7cce5c[_0xb435c5(0x1c3)];try{const _0x2f1544=readFileSync(_0xaa7d8c,_0xb435c5(0x1b9)),_0x5d7201=JSON[_0xb435c5(0x1ad)](_0x2f1544);return _0x5d7201[_0x2e76d3][_0xb435c5(0x1a4)]='latest',writeFileSync(_0xaa7d8c,JSON[_0xb435c5(0x207)](_0x5d7201,null,0x2)+'\x0a',_0xb435c5(0x1b9)),{'step':0x7,'label':'Upgrade\x20@lovrabet/sdk','ok':!![],'detail':_0x2e76d3+'[\x22@lovrabet/sdk\x22]:\x20'+_0x69b844+_0xb435c5(0x1df)};}catch(_0x4fbd83){return{'step':0x7,'label':'Upgrade\x20@lovrabet/sdk','ok':![],'detail':_0x4fbd83[_0xb435c5(0x1dc)]};}}function tryStat(_0x260c44){try{return statSync(_0x260c44);}catch{return undefined;}}function printSummary(_0x205e37){const _0x5f10d8=a116_0x493a;console['log'](''),console[_0x5f10d8(0x1f6)](a116_0x52e7c2['bold'](_0x5f10d8(0x1e6))),console[_0x5f10d8(0x1f6)]('');for(const _0x1b7fdb of _0x205e37){const _0x189f9c=_0x1b7fdb['ok']?a116_0x52e7c2['green']('OK'):a116_0x52e7c2[_0x5f10d8(0x1b4)]('FAIL');console[_0x5f10d8(0x1f6)]('\x20\x20'+_0x189f9c+_0x5f10d8(0x203)+_0x1b7fdb[_0x5f10d8(0x1ed)]+':\x20'+_0x1b7fdb['label']);if(_0x1b7fdb['detail'])console[_0x5f10d8(0x1f6)]('\x20\x20\x20\x20\x20\x20\x20'+a116_0x52e7c2[_0x5f10d8(0x1ee)](_0x1b7fdb[_0x5f10d8(0x1de)]));}console[_0x5f10d8(0x1f6)]('');}export async function upgradeApp(_0x26bc27,_0x1c288c){const _0x363b62=a116_0x493a,_0x26f19c=process[_0x363b62(0x1aa)](),_0x3a39f6=analyse(_0x26f19c),_0x3af7b4=!_0x3a39f6[_0x363b62(0x1b5)]&&_0x3a39f6[_0x363b62(0x1db)]['length']===0x0&&!_0x3a39f6['oldMcpConfig']&&!_0x3a39f6[_0x363b62(0x1ce)]&&!_0x3a39f6[_0x363b62(0x1c3)];if(_0x3af7b4){console[_0x363b62(0x1f6)](a116_0x52e7c2[_0x363b62(0x1c0)](_0x363b62(0x1f9)));return;}printReport(_0x3a39f6);const _0x1b839f=!!(_0x1c288c[_0x363b62(0x1e9)]||_0x1c288c['Y']||_0x26bc27);if(!_0x1b839f)try{const _0x300ebe=await askConfirm(_0x363b62(0x1e4));if(!_0x300ebe){console[_0x363b62(0x1f6)](a116_0x52e7c2['gray'](_0x363b62(0x1f1)));return;}}catch(_0x33be66){if(_0x33be66?.[_0x363b62(0x1dc)]===_0x363b62(0x1c2)){console[_0x363b62(0x1f6)](a116_0x52e7c2[_0x363b62(0x1ee)](_0x363b62(0x1f1)));return;}throw _0x33be66;}const _0x24b1e9=[],_0x40e3b1=a116_0x4ddca7({'text':_0x363b62(0x1bb),'color':_0x363b62(0x1f7)})[_0x363b62(0x1cc)](),_0x94cc5c=execConfigMigration(_0x3a39f6,_0x26f19c);_0x24b1e9['push'](_0x94cc5c),_0x40e3b1[_0x94cc5c['ok']?_0x363b62(0x1a9):'fail']('Step\x201/7:\x20Config\x20migration\x20—\x20'+(_0x94cc5c['detail']??(_0x94cc5c['ok']?'done':'failed')));const _0x599c5f=resolve(_0x26f19c,'.lovrabet'),_0x467d2b=a116_0x4ddca7({'text':'Step\x202/7:\x20Removing\x20.lovrabet/\x20directory...','color':'cyan'})[_0x363b62(0x1cc)]();if(existsSync(_0x599c5f))try{rmSync(_0x599c5f,{'recursive':!![],'force':!![]}),_0x467d2b[_0x363b62(0x1a9)]('Step\x202/7:\x20.lovrabet/\x20directory\x20removed'),_0x24b1e9[_0x363b62(0x1fd)]({'step':0x2,'label':_0x363b62(0x1c1),'ok':!![]});}catch(_0x5932b0){_0x467d2b[_0x363b62(0x1d4)](_0x363b62(0x1d9)+_0x5932b0[_0x363b62(0x1dc)]),_0x24b1e9[_0x363b62(0x1fd)]({'step':0x2,'label':_0x363b62(0x1c1),'ok':![],'detail':_0x5932b0[_0x363b62(0x1dc)]});}else _0x467d2b[_0x363b62(0x1c8)](_0x363b62(0x202)),_0x24b1e9[_0x363b62(0x1fd)]({'step':0x2,'label':_0x363b62(0x1c1),'ok':!![],'detail':_0x363b62(0x1a1)});const _0x4fea17=a116_0x4ddca7({'text':_0x363b62(0x1af),'color':_0x363b62(0x1f7)})['start'](),_0x4f51c9=execRemoveOldArtifacts(_0x3a39f6[_0x363b62(0x1db)]);_0x24b1e9[_0x363b62(0x1fd)](_0x4f51c9),_0x4fea17[_0x4f51c9['ok']?'succeed':'fail']('Step\x203/7:\x20Legacy\x20artifacts\x20—\x20'+(_0x4f51c9[_0x363b62(0x1de)]??(_0x4f51c9['ok']?'done':_0x363b62(0x1ba))));const _0x35f365=a116_0x4ddca7({'text':'Step\x204/7:\x20Cleaning\x20MCP\x20config...','color':_0x363b62(0x1f7)})[_0x363b62(0x1cc)](),_0x38dbd9=execCleanMcp(_0x3a39f6);_0x24b1e9[_0x363b62(0x1fd)](_0x38dbd9),_0x35f365[_0x38dbd9['ok']?_0x363b62(0x1a9):_0x363b62(0x1d4)](_0x363b62(0x1a0)+(_0x38dbd9[_0x363b62(0x1de)]??(_0x38dbd9['ok']?_0x363b62(0x1da):_0x363b62(0x1ba))));const _0x11b098=a116_0x4ddca7({'text':_0x363b62(0x1d8),'color':_0x363b62(0x1f7)})['start'](),_0x3792e5=execSkillsRemove(_0x26f19c,_0x1b839f);_0x24b1e9[_0x363b62(0x1fd)](_0x3792e5),_0x11b098[_0x3792e5['ok']?_0x363b62(0x1a9):_0x363b62(0x1d4)](_0x363b62(0x199)+(_0x3792e5['detail']??(_0x3792e5['ok']?'done':_0x363b62(0x1ba))));const _0x3057d2=a116_0x4ddca7({'text':'Step\x206/7:\x20Installing\x20new\x20skill...','color':'cyan'})[_0x363b62(0x1cc)](),_0xd13445=execSkillsAdd(_0x26f19c,_0x1b839f);_0x24b1e9[_0x363b62(0x1fd)](_0xd13445),_0x3057d2[_0xd13445['ok']?'succeed':_0x363b62(0x1d4)](_0x363b62(0x201)+(_0xd13445[_0x363b62(0x1de)]??(_0xd13445['ok']?_0x363b62(0x1da):'failed')));const _0x158bec=a116_0x4ddca7({'text':'Step\x207/7:\x20Upgrading\x20@lovrabet/sdk\x20in\x20package.json...','color':'cyan'})[_0x363b62(0x1cc)](),_0x449af6=execUpgradeSdk(_0x3a39f6);_0x24b1e9[_0x363b62(0x1fd)](_0x449af6),_0x158bec[_0x449af6['ok']?_0x363b62(0x1a9):'fail'](_0x363b62(0x1b3)+(_0x449af6[_0x363b62(0x1de)]??(_0x449af6['ok']?_0x363b62(0x1da):_0x363b62(0x1ba)))),printSummary(_0x24b1e9);const _0x3ec4db=_0x24b1e9[_0x363b62(0x1a6)](_0x441cb9=>!_0x441cb9['ok']);_0x3ec4db?console[_0x363b62(0x1f6)](a116_0x52e7c2[_0x363b62(0x1c4)]('Some\x20steps\x20failed.\x20Check\x20the\x20summary\x20above\x20for\x20details.')):console[_0x363b62(0x1f6)](a116_0x52e7c2[_0x363b62(0x1c0)]('Upgrade\x20completed\x20successfully!')),_0x449af6['ok']&&_0x3a39f6[_0x363b62(0x1c3)]&&(console['log'](''),console[_0x363b62(0x1f6)](a116_0x52e7c2['bold']['cyan'](_0x363b62(0x1a8))),console['log'](a116_0x52e7c2[_0x363b62(0x1f7)]('Please\x20re-install\x20dependencies\x20to\x20apply\x20the\x20change:')),console[_0x363b62(0x1f6)](''),console[_0x363b62(0x1f6)](a116_0x52e7c2[_0x363b62(0x1b2)](_0x363b62(0x1e3))),console[_0x363b62(0x1f6)](a116_0x52e7c2['white'](_0x363b62(0x1bf))),console[_0x363b62(0x1f6)](a116_0x52e7c2[_0x363b62(0x1b2)]('\x20\x20bun\x20install')),console[_0x363b62(0x1f6)](''));}
|
|
1
|
+
(function(_0x52b97b,_0x39a035){const _0x227640=a116_0xcfed,_0x57235b=_0x52b97b();while(!![]){try{const _0x283692=-parseInt(_0x227640(0x146))/0x1+-parseInt(_0x227640(0x1a7))/0x2+parseInt(_0x227640(0x184))/0x3+parseInt(_0x227640(0x18c))/0x4*(parseInt(_0x227640(0x197))/0x5)+-parseInt(_0x227640(0x179))/0x6+-parseInt(_0x227640(0x13c))/0x7+parseInt(_0x227640(0x195))/0x8;if(_0x283692===_0x39a035)break;else _0x57235b['push'](_0x57235b['shift']());}catch(_0x4a7b9f){_0x57235b['push'](_0x57235b['shift']());}}}(a116_0x1efd,0x51c44));import a116_0x31302e from'chalk';import a116_0x1825cd from'ora';import{existsSync,readFileSync,renameSync,rmSync,statSync,unlinkSync,writeFileSync}from'node:fs';import{resolve}from'node:path';import{CONFIG_NAMES,NEW_CONFIG_NAME,readConfigFile,writeConfigFile}from'../../context.js';import{CORE_IDE_CONFIGS}from'../../utils/ai_config.js';import{NPX_SKILLS_ADD_GLOBAL_COMMAND_LINE,runNpxSkillsAddGlobal,runNpxSkillsRemove}from'../../skills/npx-skills-add.js';function a116_0xcfed(_0xdc299f,_0x1b4504){_0xdc299f=_0xdc299f-0x139;const _0x1efdeb=a116_0x1efd();let _0xcfed3=_0x1efdeb[_0xdc299f];return _0xcfed3;}import{askConfirm}from'../../commands/menu/shared/inquirer.js';const LEGACY_CONFIG_NAMES=CONFIG_NAMES['filter'](_0x3b19a9=>_0x3b19a9!==NEW_CONFIG_NAME);function collectIdeSkillFiles(_0x224126){const _0x64ef5d=a116_0xcfed,_0x5b8907=[];for(const _0x18c2bb of Object[_0x64ef5d(0x1a6)](CORE_IDE_CONFIGS)){if(_0x18c2bb[_0x64ef5d(0x159)])for(const _0x2e6f86 of _0x18c2bb[_0x64ef5d(0x159)]){_0x5b8907[_0x64ef5d(0x17b)](resolve(_0x224126,_0x2e6f86[_0x64ef5d(0x14d)]));}}return _0x5b8907;}function analyse(_0x154abd){const _0x4cd6ff=a116_0xcfed;let _0x3a4497=null;const _0x588572=resolve(_0x154abd,NEW_CONFIG_NAME),_0x4cc45=existsSync(_0x588572);for(const _0x5d36a7 of LEGACY_CONFIG_NAMES){const _0x4369f6=resolve(_0x154abd,_0x5d36a7);if(existsSync(_0x4369f6)){const _0x1d8106=readConfigFile(_0x4369f6),_0x161f65=Object[_0x4cd6ff(0x15d)](_0x1d8106)[_0x4cd6ff(0x190)](_0x49aac5=>typeof _0x1d8106[_0x49aac5]!==_0x4cd6ff(0x148));_0x3a4497={'oldPath':_0x4369f6,'hasNewConfig':_0x4cc45,'fields':_0x161f65};break;}}const _0x5a9f76=[],_0x5038ee=resolve(_0x154abd,_0x4cd6ff(0x17a));if(existsSync(_0x5038ee))_0x5a9f76[_0x4cd6ff(0x17b)](_0x5038ee);const _0xac6dcc=resolve(_0x154abd,_0x4cd6ff(0x17e));if(existsSync(_0xac6dcc))_0x5a9f76[_0x4cd6ff(0x17b)](_0xac6dcc);const _0x2b2141=resolve(_0x154abd,'.claude/skills/lovrabet');if(existsSync(_0x2b2141))_0x5a9f76[_0x4cd6ff(0x17b)](_0x2b2141);for(const _0x351dce of collectIdeSkillFiles(_0x154abd)){if(existsSync(_0x351dce))_0x5a9f76[_0x4cd6ff(0x17b)](_0x351dce);}let _0x1bff6c=null;const _0x2d32e5=resolve(_0x154abd,_0x4cd6ff(0x142));if(existsSync(_0x2d32e5))try{const _0x1e3c62=JSON['parse'](readFileSync(_0x2d32e5,_0x4cd6ff(0x15f)));if(_0x1e3c62?.[_0x4cd6ff(0x16e)]&&typeof _0x1e3c62[_0x4cd6ff(0x16e)]===_0x4cd6ff(0x19b)){const _0xe3749c=[];for(const [_0x2563fb,_0x348b25]of Object[_0x4cd6ff(0x1a1)](_0x1e3c62[_0x4cd6ff(0x16e)])){const _0x3384ca=_0x348b25;_0x3384ca?.[_0x4cd6ff(0x143)]&&Array[_0x4cd6ff(0x183)](_0x3384ca['args'])&&_0x3384ca[_0x4cd6ff(0x143)][_0x4cd6ff(0x177)](_0x2dd123=>typeof _0x2dd123===_0x4cd6ff(0x166)&&_0x2dd123[_0x4cd6ff(0x176)](_0x4cd6ff(0x1a8)))&&_0xe3749c[_0x4cd6ff(0x17b)](_0x2563fb);}_0xe3749c['length']>0x0&&(_0x1bff6c={'path':_0x2d32e5,'keys':_0xe3749c});}}catch{}const _0x5d667b=_0x5a9f76[_0x4cd6ff(0x14e)]>0x0||_0x3a4497!==null;let _0x4defbf=null;const _0x52d5fe=resolve(_0x154abd,_0x4cd6ff(0x18d));if(existsSync(_0x52d5fe))try{const _0x326d28=JSON[_0x4cd6ff(0x150)](readFileSync(_0x52d5fe,_0x4cd6ff(0x15f)));for(const _0x7628fc of[_0x4cd6ff(0x1ae),_0x4cd6ff(0x19a)]){const _0x4293a5=_0x326d28?.[_0x7628fc]?.[_0x4cd6ff(0x172)];if(typeof _0x4293a5===_0x4cd6ff(0x166)){_0x4293a5!==_0x4cd6ff(0x18b)&&(_0x4defbf={'pkgPath':_0x52d5fe,'currentVersion':_0x4293a5,'field':_0x7628fc});break;}}}catch{}return{'configMigration':_0x3a4497,'oldArtifacts':_0x5a9f76,'oldMcpConfig':_0x1bff6c,'needsSkillSwap':_0x5d667b,'sdkUpgrade':_0x4defbf};}function printReport(_0x1755b7){const _0x525b0e=a116_0xcfed,{configMigration:_0x4c9f9a,oldArtifacts:_0x593812,oldMcpConfig:_0x20509f,needsSkillSwap:_0x16ed73}=_0x1755b7;console[_0x525b0e(0x14c)](''),console[_0x525b0e(0x14c)](a116_0x31302e[_0x525b0e(0x185)](_0x525b0e(0x16c))),console[_0x525b0e(0x14c)]('');_0x4c9f9a?(console[_0x525b0e(0x14c)](a116_0x31302e[_0x525b0e(0x13f)](_0x525b0e(0x17d))+('\x20\x20'+a116_0x31302e[_0x525b0e(0x16b)](_0x4c9f9a[_0x525b0e(0x18f)]))),console[_0x525b0e(0x14c)](_0x525b0e(0x18e)+(_0x4c9f9a[_0x525b0e(0x199)]?a116_0x31302e[_0x525b0e(0x1a0)](_0x525b0e(0x191)):a116_0x31302e[_0x525b0e(0x1ad)](_0x525b0e(0x1a9)))),console['log'](_0x525b0e(0x147)+_0x4c9f9a['fields'][_0x525b0e(0x154)](',\x20')),console[_0x525b0e(0x14c)](_0x525b0e(0x196))):console[_0x525b0e(0x14c)](a116_0x31302e[_0x525b0e(0x13f)](_0x525b0e(0x17d))+'\x20\x20'+a116_0x31302e[_0x525b0e(0x1ad)](_0x525b0e(0x15a)));console[_0x525b0e(0x14c)]('');if(_0x593812[_0x525b0e(0x14e)]>0x0){console[_0x525b0e(0x14c)](a116_0x31302e['cyan']('Legacy\x20artifacts:'));for(const _0x38b240 of _0x593812){console[_0x525b0e(0x14c)]('\x20\x20'+a116_0x31302e['red']('FOUND')+'\x20\x20'+_0x38b240);}console[_0x525b0e(0x14c)](_0x525b0e(0x194));}else console['log'](a116_0x31302e['cyan']('Legacy\x20artifacts:')+'\x20\x20'+a116_0x31302e[_0x525b0e(0x1ad)](_0x525b0e(0x1a4)));console['log']('');_0x20509f?(console[_0x525b0e(0x14c)](a116_0x31302e[_0x525b0e(0x13f)](_0x525b0e(0x186))+('\x20\x20'+a116_0x31302e[_0x525b0e(0x16b)](_0x20509f[_0x525b0e(0x14d)])+'\x20→\x20keys:\x20'+_0x20509f[_0x525b0e(0x15d)][_0x525b0e(0x154)](',\x20'))),console[_0x525b0e(0x14c)](_0x525b0e(0x14a))):console['log'](a116_0x31302e[_0x525b0e(0x13f)]('MCP\x20config:')+'\x20\x20'+a116_0x31302e['gray'](_0x525b0e(0x13e)));console[_0x525b0e(0x14c)](''),console[_0x525b0e(0x14c)](a116_0x31302e['cyan']('Skill\x20swap:')+('\x20\x20'+(_0x16ed73?a116_0x31302e[_0x525b0e(0x16b)]('needed'):a116_0x31302e[_0x525b0e(0x1a0)](_0x525b0e(0x171)))));_0x16ed73&&console['log']('\x20\x20Action:\x20remove\x20old\x20lovrabet/lovrabet-skill,\x20add\x20via\x20`'+NPX_SKILLS_ADD_GLOBAL_COMMAND_LINE+'`');console[_0x525b0e(0x14c)]('');if(_0x1755b7[_0x525b0e(0x173)]){const {currentVersion:_0x492979,field:_0x1914c9,pkgPath:_0x3cfdbe}=_0x1755b7[_0x525b0e(0x173)];console[_0x525b0e(0x14c)](a116_0x31302e['cyan'](_0x525b0e(0x164))+('\x20\x20'+a116_0x31302e[_0x525b0e(0x16b)](_0x3cfdbe))),console['log'](_0x525b0e(0x17c)+_0x1914c9+':\x20'+a116_0x31302e[_0x525b0e(0x16b)](_0x492979)+'\x20→\x20'+a116_0x31302e[_0x525b0e(0x1a0)](_0x525b0e(0x18b))),console[_0x525b0e(0x14c)](_0x525b0e(0x162));}else console[_0x525b0e(0x14c)](a116_0x31302e['cyan']('@lovrabet/sdk:')+'\x20\x20'+a116_0x31302e[_0x525b0e(0x1ad)]('not\x20found\x20or\x20already\x20at\x20latest'));console[_0x525b0e(0x14c)]('');}function execConfigMigration(_0x55295d,_0x129c23){const _0x4aeb5a=a116_0xcfed,{configMigration:_0x402ed4}=_0x55295d;if(!_0x402ed4?.['oldPath'])return{'step':0x1,'label':'Config\x20migration','ok':!![],'detail':_0x4aeb5a(0x189)};const _0xdb860c=readConfigFile(_0x402ed4[_0x4aeb5a(0x18f)]),_0xb267eb=resolve(_0x129c23,NEW_CONFIG_NAME),_0x587d7d=_0x402ed4[_0x4aeb5a(0x199)]?readConfigFile(_0xb267eb):{};for(const [_0x5b6100,_0x2fa063]of Object['entries'](_0xdb860c)){!(_0x5b6100 in _0x587d7d)&&(_0x587d7d[_0x5b6100]=_0x2fa063);}writeConfigFile(_0xb267eb,_0x587d7d);const _0x99ede6=_0x402ed4['oldPath']+_0x4aeb5a(0x1a3);return renameSync(_0x402ed4[_0x4aeb5a(0x18f)],_0x99ede6),{'step':0x1,'label':_0x4aeb5a(0x145),'ok':!![],'detail':_0x402ed4[_0x4aeb5a(0x18f)]+'\x20→\x20'+_0xb267eb+'\x20(backup:\x20'+_0x99ede6+')'};}function execRemoveOldArtifacts(_0x36637e){const _0x57dda9=a116_0xcfed,_0x5d373b=[];for(const _0xa0cc52 of _0x36637e){try{if(!existsSync(_0xa0cc52))continue;const _0x1d4c42=tryStat(_0xa0cc52);_0x1d4c42?.[_0x57dda9(0x1a5)]()?rmSync(_0xa0cc52,{'recursive':!![],'force':!![]}):unlinkSync(_0xa0cc52);}catch(_0x2277b9){_0x5d373b[_0x57dda9(0x17b)](_0xa0cc52+':\x20'+_0x2277b9[_0x57dda9(0x13a)]);}}return{'step':0x3,'label':_0x57dda9(0x13b),'ok':_0x5d373b[_0x57dda9(0x14e)]===0x0,'detail':_0x5d373b[_0x57dda9(0x14e)]>0x0?_0x36637e[_0x57dda9(0x14e)]-_0x5d373b['length']+'/'+_0x36637e[_0x57dda9(0x14e)]+_0x57dda9(0x182)+_0x5d373b[_0x57dda9(0x154)](';\x20')+')':_0x36637e[_0x57dda9(0x14e)]+'\x20removed'};}function execCleanMcp(_0x443a66){const _0x21cd52=a116_0xcfed;if(!_0x443a66[_0x21cd52(0x1a2)])return{'step':0x4,'label':'Clean\x20MCP\x20config','ok':!![],'detail':'skipped'};try{const _0x501e96=readFileSync(_0x443a66[_0x21cd52(0x1a2)][_0x21cd52(0x14d)],'utf8'),_0x1cd26e=JSON[_0x21cd52(0x150)](_0x501e96);if(_0x1cd26e?.[_0x21cd52(0x16e)]&&typeof _0x1cd26e[_0x21cd52(0x16e)]==='object'){const _0x2d6f32=[];for(const [_0x551671,_0x31ba40]of Object[_0x21cd52(0x1a1)](_0x1cd26e[_0x21cd52(0x16e)])){_0x31ba40?.[_0x21cd52(0x143)]&&Array[_0x21cd52(0x183)](_0x31ba40[_0x21cd52(0x143)])&&_0x31ba40[_0x21cd52(0x143)][_0x21cd52(0x177)](_0xef0061=>typeof _0xef0061===_0x21cd52(0x166)&&_0xef0061[_0x21cd52(0x176)](_0x21cd52(0x1a8)))&&_0x2d6f32[_0x21cd52(0x17b)](_0x551671);}for(const _0x1d2925 of _0x2d6f32){delete _0x1cd26e['mcpServers'][_0x1d2925];}return _0x2d6f32['length']>0x0&&writeFileSync(_0x443a66[_0x21cd52(0x1a2)][_0x21cd52(0x14d)],JSON['stringify'](_0x1cd26e,null,0x2)+'\x0a',_0x21cd52(0x15f)),{'step':0x4,'label':'Clean\x20MCP\x20config','ok':!![],'detail':'removed\x20'+_0x2d6f32[_0x21cd52(0x154)](',\x20')+'\x20from\x20'+_0x443a66[_0x21cd52(0x1a2)][_0x21cd52(0x14d)]};}return{'step':0x4,'label':'Clean\x20MCP\x20config','ok':!![],'detail':'no\x20matching\x20entry\x20found'};}catch(_0x5dbe79){return{'step':0x4,'label':'Clean\x20MCP\x20config','ok':![],'detail':_0x5dbe79[_0x21cd52(0x13a)]};}}function execSkillsRemove(_0xcea07e,_0x5d12e7){const _0x325805=a116_0xcfed,_0x3709a4=runNpxSkillsRemove(_0xcea07e,{'stdio':_0x325805(0x1ac),'yes':_0x5d12e7});return{'step':0x5,'label':_0x325805(0x139),'ok':_0x3709a4['ok'],'detail':_0x3709a4['ok']?'lovrabet/lovrabet-skill\x20removed':_0x3709a4[_0x325805(0x140)]??_0x325805(0x19f)+_0x3709a4[_0x325805(0x174)]};}function execSkillsAdd(_0x274017,_0x1b3d08){const _0x44721c=a116_0xcfed,_0x2f0787=runNpxSkillsAddGlobal(_0x274017,_0x44721c(0x13d),{'stdio':_0x44721c(0x1ac),'yes':_0x1b3d08});return{'step':0x6,'label':_0x44721c(0x188),'ok':_0x2f0787['ok'],'detail':_0x2f0787['ok']?'lovrabet/rabetbase\x20installed\x20globally':_0x2f0787[_0x44721c(0x140)]??_0x44721c(0x19f)+_0x2f0787[_0x44721c(0x174)]};}function execUpgradeSdk(_0x4b19db){const _0x430164=a116_0xcfed;if(!_0x4b19db[_0x430164(0x173)])return{'step':0x7,'label':'Upgrade\x20@lovrabet/sdk','ok':!![],'detail':'skipped\x20(not\x20found\x20or\x20already\x20at\x20latest)'};const {pkgPath:_0x4c5706,currentVersion:_0x39168a,field:_0x181b36}=_0x4b19db[_0x430164(0x173)];try{const _0x41c292=readFileSync(_0x4c5706,_0x430164(0x15f)),_0x4de040=JSON['parse'](_0x41c292);return _0x4de040[_0x181b36][_0x430164(0x172)]=_0x430164(0x18b),writeFileSync(_0x4c5706,JSON['stringify'](_0x4de040,null,0x2)+'\x0a',_0x430164(0x15f)),{'step':0x7,'label':_0x430164(0x18a),'ok':!![],'detail':_0x181b36+'[\x22@lovrabet/sdk\x22]:\x20'+_0x39168a+_0x430164(0x14b)};}catch(_0x4c424e){return{'step':0x7,'label':_0x430164(0x18a),'ok':![],'detail':_0x4c424e[_0x430164(0x13a)]};}}function tryStat(_0x22c0c6){try{return statSync(_0x22c0c6);}catch{return undefined;}}function a116_0x1efd(){const _0x32a35b=['@lovrabet/sdk\x20has\x20been\x20updated\x20to\x20latest\x20in\x20package.json.','Config\x20migration','551635wUPtXL','\x20\x20Fields\x20to\x20migrate:\x20','undefined','needsSkillSwap','\x20\x20Action:\x20remove\x20entries\x20containing\x20@lovrabet/dataset-mcp-server','\x20→\x20latest','log','path','length','step','parse','succeed','start','failed','join','Step\x206/7:\x20Install\x20new\x20skill\x20—\x20','oldArtifacts','red','\x20\x20\x20\x20\x20\x20\x20','files','no\x20legacy\x20config\x20found','\x20\x20#\x20or','Step\x205/7:\x20Remove\x20old\x20skill\x20—\x20','keys','info','utf8','Step\x207/7:\x20Upgrading\x20@lovrabet/sdk\x20in\x20package.json...','Step\x202/7:\x20.lovrabet/\x20removal\x20failed\x20—\x20','\x20\x20Action:\x20update\x20package.json\x20(you\x20will\x20need\x20to\x20re-run\x20install)','done','@lovrabet/sdk:','label','string','Step\x201/7:\x20Config\x20migration\x20—\x20','Upgrade\x20completed\x20successfully!','CANCEL','Step\x202/7:\x20.lovrabet/\x20directory\x20removed','yellow','===\x20Upgrade\x20Analysis\x20===','yes','mcpServers','Step\x203/7:\x20Removing\x20legacy\x20IDE\x20skill\x20files...','cwd','not\x20needed','@lovrabet/sdk','sdkUpgrade','status','Step\x205/7:\x20Removing\x20old\x20skill...','includes','some','fail','3563226MCCOqO','.lovrabet','push','\x20\x20Current\x20version\x20in\x20','Config\x20file:','.cursor/rules/lovrabet_rules.mdc','white','Upgrade\x20cancelled.','\x20\x20bun\x20install','\x20removed\x20(','isArray','1670322JDbRNk','bold','MCP\x20config:','Please\x20re-install\x20dependencies\x20to\x20apply\x20the\x20change:','Install\x20new\x20skill','skipped\x20(no\x20legacy\x20config)','Upgrade\x20@lovrabet/sdk','latest','2288EtsTsz','package.json','\x20\x20New\x20config\x20(.rabetbase.json):\x20','oldPath','filter','already\x20exists\x20(will\x20merge)','Step\x204/7:\x20Cleaning\x20MCP\x20config...','FAIL','\x20\x20Action:\x20delete','13341376DXCVrO','\x20\x20Action:\x20migrate\x20→\x20backup\x20old\x20as\x20.bak','1080thJGUl','Step\x206/7:\x20Installing\x20new\x20skill...','hasNewConfig','devDependencies','object','\x20\x20npm\x20install','Proceed\x20with\x20upgrade?','Remove\x20.lovrabet/','exit\x20','green','entries','oldMcpConfig','.bak','none\x20found','isDirectory','values','976054WPoBWi','@lovrabet/dataset-mcp-server','not\x20found\x20(will\x20create)','detail','skipped','inherit','gray','dependencies','Step\x202/7:\x20Removing\x20.lovrabet/\x20directory...','Remove\x20old\x20skill','message','Remove\x20legacy\x20artifacts','2656843KCiGaY','lovrabet/rabetbase','no\x20legacy\x20entry','cyan','error','No\x20legacy\x20artifacts\x20found.\x20Your\x20project\x20is\x20already\x20up-to-date.','.cursor/mcp.json','args'];a116_0x1efd=function(){return _0x32a35b;};return a116_0x1efd();}function printSummary(_0x3e2818){const _0x2bbc84=a116_0xcfed;console[_0x2bbc84(0x14c)](''),console[_0x2bbc84(0x14c)](a116_0x31302e[_0x2bbc84(0x185)]('===\x20Upgrade\x20Summary\x20===')),console[_0x2bbc84(0x14c)]('');for(const _0x36f135 of _0x3e2818){const _0x4f06ca=_0x36f135['ok']?a116_0x31302e[_0x2bbc84(0x1a0)]('OK'):a116_0x31302e[_0x2bbc84(0x157)](_0x2bbc84(0x193));console['log']('\x20\x20'+_0x4f06ca+'\x20\x20Step\x20'+_0x36f135[_0x2bbc84(0x14f)]+':\x20'+_0x36f135[_0x2bbc84(0x165)]);if(_0x36f135[_0x2bbc84(0x1aa)])console[_0x2bbc84(0x14c)](_0x2bbc84(0x158)+a116_0x31302e[_0x2bbc84(0x1ad)](_0x36f135[_0x2bbc84(0x1aa)]));}console[_0x2bbc84(0x14c)]('');}export async function upgradeApp(_0x46d46f,_0x1f83ee){const _0x179f7b=a116_0xcfed,_0x3e1998=process[_0x179f7b(0x170)](),_0x401910=analyse(_0x3e1998),_0x28b9c6=!_0x401910['configMigration']&&_0x401910[_0x179f7b(0x156)][_0x179f7b(0x14e)]===0x0&&!_0x401910[_0x179f7b(0x1a2)]&&!_0x401910[_0x179f7b(0x149)]&&!_0x401910[_0x179f7b(0x173)];if(_0x28b9c6){console[_0x179f7b(0x14c)](a116_0x31302e['green'](_0x179f7b(0x141)));return;}printReport(_0x401910);const _0x2283cf=!!(_0x1f83ee[_0x179f7b(0x16d)]||_0x1f83ee['Y']||_0x46d46f);if(!_0x2283cf)try{const _0xbc48ad=await askConfirm(_0x179f7b(0x19d));if(!_0xbc48ad){console[_0x179f7b(0x14c)](a116_0x31302e[_0x179f7b(0x1ad)](_0x179f7b(0x180)));return;}}catch(_0x146b51){if(_0x146b51?.[_0x179f7b(0x13a)]===_0x179f7b(0x169)){console[_0x179f7b(0x14c)](a116_0x31302e[_0x179f7b(0x1ad)]('Upgrade\x20cancelled.'));return;}throw _0x146b51;}const _0x471857=[],_0xc61e35=a116_0x1825cd({'text':'Step\x201/7:\x20Migrating\x20config...','color':_0x179f7b(0x13f)})[_0x179f7b(0x152)](),_0x3f7684=execConfigMigration(_0x401910,_0x3e1998);_0x471857['push'](_0x3f7684),_0xc61e35[_0x3f7684['ok']?_0x179f7b(0x151):_0x179f7b(0x178)](_0x179f7b(0x167)+(_0x3f7684[_0x179f7b(0x1aa)]??(_0x3f7684['ok']?_0x179f7b(0x163):_0x179f7b(0x153))));const _0x39ca32=resolve(_0x3e1998,_0x179f7b(0x17a)),_0xd0c83c=a116_0x1825cd({'text':_0x179f7b(0x1af),'color':_0x179f7b(0x13f)})['start']();if(existsSync(_0x39ca32))try{rmSync(_0x39ca32,{'recursive':!![],'force':!![]}),_0xd0c83c[_0x179f7b(0x151)](_0x179f7b(0x16a)),_0x471857[_0x179f7b(0x17b)]({'step':0x2,'label':_0x179f7b(0x19e),'ok':!![]});}catch(_0x223748){_0xd0c83c['fail'](_0x179f7b(0x161)+_0x223748[_0x179f7b(0x13a)]),_0x471857['push']({'step':0x2,'label':'Remove\x20.lovrabet/','ok':![],'detail':_0x223748['message']});}else _0xd0c83c[_0x179f7b(0x15e)]('Step\x202/7:\x20.lovrabet/\x20not\x20found,\x20skipped'),_0x471857['push']({'step':0x2,'label':_0x179f7b(0x19e),'ok':!![],'detail':_0x179f7b(0x1ab)});const _0x4df2c8=a116_0x1825cd({'text':_0x179f7b(0x16f),'color':_0x179f7b(0x13f)})[_0x179f7b(0x152)](),_0x93b8da=execRemoveOldArtifacts(_0x401910[_0x179f7b(0x156)]);_0x471857[_0x179f7b(0x17b)](_0x93b8da),_0x4df2c8[_0x93b8da['ok']?'succeed':_0x179f7b(0x178)]('Step\x203/7:\x20Legacy\x20artifacts\x20—\x20'+(_0x93b8da['detail']??(_0x93b8da['ok']?'done':_0x179f7b(0x153))));const _0x383dbc=a116_0x1825cd({'text':_0x179f7b(0x192),'color':_0x179f7b(0x13f)})[_0x179f7b(0x152)](),_0x2ea306=execCleanMcp(_0x401910);_0x471857[_0x179f7b(0x17b)](_0x2ea306),_0x383dbc[_0x2ea306['ok']?_0x179f7b(0x151):_0x179f7b(0x178)]('Step\x204/7:\x20MCP\x20config\x20—\x20'+(_0x2ea306[_0x179f7b(0x1aa)]??(_0x2ea306['ok']?_0x179f7b(0x163):_0x179f7b(0x153))));const _0x19e600=a116_0x1825cd({'text':_0x179f7b(0x175),'color':_0x179f7b(0x13f)})[_0x179f7b(0x152)](),_0x1a8045=execSkillsRemove(_0x3e1998,_0x2283cf);_0x471857['push'](_0x1a8045),_0x19e600[_0x1a8045['ok']?'succeed':_0x179f7b(0x178)](_0x179f7b(0x15c)+(_0x1a8045[_0x179f7b(0x1aa)]??(_0x1a8045['ok']?_0x179f7b(0x163):_0x179f7b(0x153))));const _0x4bbd52=a116_0x1825cd({'text':_0x179f7b(0x198),'color':'cyan'})[_0x179f7b(0x152)](),_0x13fb52=execSkillsAdd(_0x3e1998,_0x2283cf);_0x471857[_0x179f7b(0x17b)](_0x13fb52),_0x4bbd52[_0x13fb52['ok']?_0x179f7b(0x151):_0x179f7b(0x178)](_0x179f7b(0x155)+(_0x13fb52[_0x179f7b(0x1aa)]??(_0x13fb52['ok']?_0x179f7b(0x163):_0x179f7b(0x153))));const _0x1975e3=a116_0x1825cd({'text':_0x179f7b(0x160),'color':_0x179f7b(0x13f)})[_0x179f7b(0x152)](),_0x153cb5=execUpgradeSdk(_0x401910);_0x471857[_0x179f7b(0x17b)](_0x153cb5),_0x1975e3[_0x153cb5['ok']?_0x179f7b(0x151):_0x179f7b(0x178)]('Step\x207/7:\x20@lovrabet/sdk\x20—\x20'+(_0x153cb5['detail']??(_0x153cb5['ok']?_0x179f7b(0x163):_0x179f7b(0x153)))),printSummary(_0x471857);const _0x3682d2=_0x471857[_0x179f7b(0x177)](_0x1a6941=>!_0x1a6941['ok']);_0x3682d2?console[_0x179f7b(0x14c)](a116_0x31302e['yellow']('Some\x20steps\x20failed.\x20Check\x20the\x20summary\x20above\x20for\x20details.')):console[_0x179f7b(0x14c)](a116_0x31302e[_0x179f7b(0x1a0)](_0x179f7b(0x168))),_0x153cb5['ok']&&_0x401910['sdkUpgrade']&&(console[_0x179f7b(0x14c)](''),console[_0x179f7b(0x14c)](a116_0x31302e['bold'][_0x179f7b(0x13f)](_0x179f7b(0x144))),console[_0x179f7b(0x14c)](a116_0x31302e[_0x179f7b(0x13f)](_0x179f7b(0x187))),console[_0x179f7b(0x14c)](''),console[_0x179f7b(0x14c)](a116_0x31302e[_0x179f7b(0x17f)](_0x179f7b(0x19c))),console[_0x179f7b(0x14c)](a116_0x31302e[_0x179f7b(0x17f)](_0x179f7b(0x15b))),console['log'](a116_0x31302e[_0x179f7b(0x17f)](_0x179f7b(0x181))),console['log'](''));}
|
package/lib/commands/registry.js
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
const
|
|
1
|
+
const a117_0x3ac06a=a117_0x2123;(function(_0x444b25,_0x2c0320){const _0x13d162=a117_0x2123,_0x153f7e=_0x444b25();while(!![]){try{const _0x126abb=-parseInt(_0x13d162(0x98))/0x1*(-parseInt(_0x13d162(0xa8))/0x2)+parseInt(_0x13d162(0x92))/0x3+-parseInt(_0x13d162(0x87))/0x4*(parseInt(_0x13d162(0x95))/0x5)+-parseInt(_0x13d162(0x7d))/0x6*(parseInt(_0x13d162(0xa0))/0x7)+-parseInt(_0x13d162(0xa9))/0x8+parseInt(_0x13d162(0xa2))/0x9*(-parseInt(_0x13d162(0x82))/0xa)+parseInt(_0x13d162(0x9d))/0xb;if(_0x126abb===_0x2c0320)break;else _0x153f7e['push'](_0x153f7e['shift']());}catch(_0x39093d){_0x153f7e['push'](_0x153f7e['shift']());}}}(a117_0xe33a,0x7fcef));import{apiDefinitions}from'../commands/api/index.js';import{bffDefinitions}from'../commands/bff/index.js';function a117_0xe33a(){const _0x402874=['commands','service','29534923xslzDC','API','<script>','721opSmBH','project','9vnvytT','get','Diagnostics','Code\x20Generation','has','\x20\x20[high-risk-write]','22VQQqef','7512672IoEdeY','Self\x20Update','Platform\x20Issue','\x20\x20[write]','write','create','Smart\x20List\x20Pages','push','Quick\x20Start','Menu','start','Run\x20Scripts','52662VzbTjX','command','Skills','skill','Schema','5710190TwTAmE','Project','Logs','SQL\x20Queries','values','211540jMncYi','Authentication','isSingleCommand','install','Dataset\x20&\x20Operations','build','Configuration','risk','length','show','Instant\x20API','410268TXOztK','set','run','5PKhfRy','preview','wildcardDef','15343LacYEI','description','defaultCommand'];a117_0xe33a=function(){return _0x402874;};return a117_0xe33a();}import{sqlDefinitions}from'../commands/sql/index.js';import{datasetDefinitions}from'../commands/dataset/index.js';import{pageDefinitions}from'../commands/page/index.js';import{dataDefinitions}from'../commands/data/index.js';import{dbDefinitions}from'../commands/db/index.js';import{codegenDefinitions}from'../commands/codegen/index.js';import{menuDefinitions}from'../commands/menu/index.js';import{appDefinitions}from'../commands/app/index.js';import{configDefinitions}from'../commands/config/index.js';import{doctorDefinition}from'../commands/doctor.js';import{updateDefinition}from'../commands/cli-update.js';import{schemaDefinition}from'../commands/schema.js';import{issueDefinitions}from'../commands/issue/index.js';import{authDefinitions}from'../commands/auth/index.js';import{logsDefinitions}from'../commands/logs/index.js';import{skillDefinitions}from'../commands/skill/index.js';import{projectDefinitions}from'../commands/project/index.js';import{initDefinitions}from'../commands/init/index.js';import{runDefinition}from'../commands/run/index.js';export const serviceRegistry=[];const serviceByName=new Map();export const definitions=new Map();function a117_0x2123(_0x4a1dce,_0x527047){_0x4a1dce=_0x4a1dce-0x78;const _0xe33ae=a117_0xe33a();let _0x21239f=_0xe33ae[_0x4a1dce];return _0x21239f;}export const serviceGroups=new Map();function registerDefinitions(_0x56c570){const _0x512250=a117_0x2123;for(const _0x5df89d of _0x56c570){definitions[_0x512250(0x93)](_0x5df89d['service']+':'+_0x5df89d[_0x512250(0x7e)],_0x5df89d);let _0x2988b1=serviceGroups[_0x512250(0xa3)](_0x5df89d['service']);!_0x2988b1&&(_0x2988b1=[],serviceGroups[_0x512250(0x93)](_0x5df89d[_0x512250(0x9c)],_0x2988b1)),_0x2988b1['push'](_0x5df89d);}}function registerDeclarativeService(_0x568ed5,_0x2ec3d6,_0x420915){const _0x2105d8=a117_0x2123;registerDefinitions(_0x2ec3d6);_0x420915?.[_0x2105d8(0x97)]&®isterDefinitions([_0x420915[_0x2105d8(0x97)]]);const _0x753a93=_0x2a0990=>_0x2a0990==='read'?'':_0x2a0990===_0x2105d8(0xad)?_0x2105d8(0xac):_0x2105d8(0xa7),_0x9756ea={'service':_0x2ec3d6[0x0]['service'],'label':_0x568ed5,'commands':_0x2ec3d6['map'](_0x4e8e0c=>({'command':_0x4e8e0c[_0x2105d8(0x7e)],'description':_0x4e8e0c[_0x2105d8(0x99)],'tag':_0x753a93(_0x4e8e0c[_0x2105d8(0x8e)])})),'declarative':!![],'defaultCommand':_0x420915?.[_0x2105d8(0x9a)]??(_0x420915?.[_0x2105d8(0x89)]?_0x2ec3d6[0x0]['command']:undefined),'wildcardDef':_0x420915?.[_0x2105d8(0x97)],'isSingleCommand':_0x420915?.[_0x2105d8(0x89)]};serviceRegistry[_0x2105d8(0x78)](_0x9756ea),serviceByName['set'](_0x9756ea['service'],_0x9756ea);}registerDeclarativeService(a117_0x3ac06a(0x79),initDefinitions,{'defaultCommand':a117_0x3ac06a(0x94),'isSingleCommand':!![]}),registerDeclarativeService(a117_0x3ac06a(0x83),projectDefinitions),registerDeclarativeService('App\x20Management',appDefinitions),registerDeclarativeService(a117_0x3ac06a(0x7c),[runDefinition],{'wildcardDef':runDefinition});{const last=serviceRegistry[serviceRegistry[a117_0x3ac06a(0x8f)]-0x1];last[a117_0x3ac06a(0x9b)]=[{'command':a117_0x3ac06a(0x9f),'description':'Run\x20any\x20package.json\x20script','tag':''}];}registerDeclarativeService(a117_0x3ac06a(0x88),authDefinitions,{'defaultCommand':'login'}),registerDeclarativeService(a117_0x3ac06a(0xaa),[updateDefinition],{'isSingleCommand':!![]}),registerDeclarativeService(a117_0x3ac06a(0xa4),[doctorDefinition],{'isSingleCommand':!![]}),registerDeclarativeService(a117_0x3ac06a(0x81),[schemaDefinition],{'isSingleCommand':!![]}),registerDeclarativeService(a117_0x3ac06a(0x8d),configDefinitions),registerDeclarativeService(a117_0x3ac06a(0xab),issueDefinitions),registerDeclarativeService(a117_0x3ac06a(0x9e),apiDefinitions),registerDeclarativeService(a117_0x3ac06a(0x7a),menuDefinitions),registerDeclarativeService('Database\x20Connections',dbDefinitions),registerDeclarativeService(a117_0x3ac06a(0x8b),datasetDefinitions),registerDeclarativeService(a117_0x3ac06a(0xaf),pageDefinitions),registerDeclarativeService(a117_0x3ac06a(0x91),dataDefinitions),registerDeclarativeService('BFF\x20Scripts',bffDefinitions),registerDeclarativeService(a117_0x3ac06a(0x85),sqlDefinitions),registerDeclarativeService(a117_0x3ac06a(0xa5),codegenDefinitions),registerDeclarativeService(a117_0x3ac06a(0x7f),skillDefinitions),registerDeclarativeService(a117_0x3ac06a(0x84),logsDefinitions,{'defaultCommand':a117_0x3ac06a(0x90)});export const deprecatedAliases={'create':{'service':a117_0x3ac06a(0xa1),'command':a117_0x3ac06a(0xae)},'start':{'service':'run','command':a117_0x3ac06a(0x7b)},'build':{'service':'run','command':a117_0x3ac06a(0x8c)},'preview':{'service':a117_0x3ac06a(0x94),'command':a117_0x3ac06a(0x96)},'logout':{'service':'auth','command':'logout'},'skills':{'service':a117_0x3ac06a(0x80),'command':a117_0x3ac06a(0x8a)}};export const deprecatedSubcommands={'bff':{'new':a117_0x3ac06a(0xae)},'sql':{'new':a117_0x3ac06a(0xae)}};export function resolveDeprecatedSubcommand(_0x3965b7,_0x404358){return deprecatedSubcommands[_0x3965b7]?.[_0x404358];}export function findDefinition(_0x592580,_0x384fc3){const _0x533988=a117_0x3ac06a;return definitions[_0x533988(0xa3)](_0x592580+':'+_0x384fc3);}export function isKnownService(_0x1d5007){const _0x58051e=a117_0x3ac06a;return serviceByName[_0x58051e(0xa6)](_0x1d5007);}export function isDeclarativeService(_0x2c88cd){const _0x491c67=a117_0x3ac06a;return serviceGroups[_0x491c67(0xa6)](_0x2c88cd)||serviceByName[_0x491c67(0xa3)](_0x2c88cd)?.[_0x491c67(0x97)]!==undefined;}export function getServiceEntry(_0x2f3e40){const _0x1b862c=a117_0x3ac06a;return serviceByName[_0x1b862c(0xa3)](_0x2f3e40);}export function getLegacyHandler(_0x263284,_0x340e48){return undefined;}export function getAllDefinitions(){const _0x3de705=a117_0x3ac06a;return Array['from'](definitions[_0x3de705(0x86)]());}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
|
|
1
|
+
function a118_0x3270(){const _0x8be9d2=['utf-8','Script\x20\x22','2282112JfcqpV','node_modules','log','Enable\x20watch\x20mode\x20for\x20preview','validation','padEnd','push','157592oloPkZ','yarn.lock','bun.lockb','\x20run\x20build','close','preview','dev','boolean','map','yarn','pnpm-lock.yaml','package.json','bool','join','Script\x20name\x20defined\x20in\x20package.json','length','all','error','vite\x20build\x20--watch\x20exited\x20with\x20code\x20','keys','1080774WrmKdq','args','--watch','\x20exited\x20with\x20code\x20','belowMinimum','.bin','\x20\x20\x20\x20','vite','\x20\x20AVAILABLE\x20SCRIPTS\x20\x20(current\x20project)','inherit','slice','3502890HNoqde','parse','pnpm','321354siUPaX','read','72476eMnKes','max','run','cwd','7qiceuA','\x0a\x20\x20Available\x20scripts:\x0a','463542zFvBzu','has','bun.lock','watch','\x0a\x20\x20Usage:\x20','npm','\x20\x20EXAMPLES','\x20run\x20<script>\x0a','5wMWOSG','entries','Available:\x20','\x20run\x20start','\x20run\x20preview','needsUpgrade'];a118_0x3270=function(){return _0x8be9d2;};return a118_0x3270();}const a118_0x30d01f=a118_0x4364;(function(_0x458f40,_0x387e72){const _0x26a673=a118_0x4364,_0x20f668=_0x458f40();while(!![]){try{const _0x1dd00a=parseInt(_0x26a673(0x1ce))/0x1+parseInt(_0x26a673(0x1f9))/0x2+-parseInt(_0x26a673(0x1de))/0x3+parseInt(_0x26a673(0x1c8))/0x4*(-parseInt(_0x26a673(0x1d6))/0x5)+-parseInt(_0x26a673(0x1c6))/0x6*(-parseInt(_0x26a673(0x1cc))/0x7)+parseInt(_0x26a673(0x1e5))/0x8+parseInt(_0x26a673(0x1c3))/0x9;if(_0x1dd00a===_0x387e72)break;else _0x20f668['push'](_0x20f668['shift']());}catch(_0x4854ff){_0x20f668['push'](_0x20f668['shift']());}}}(a118_0x3270,0xa7dd6));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';function a118_0x4364(_0x5f2a76,_0xc965d9){_0x5f2a76=_0x5f2a76-0x1c3;const _0x32706f=a118_0x3270();let _0x436433=_0x32706f[_0x5f2a76];return _0x436433;}const VERSION_CHECK_SCRIPTS=new Set(['start',a118_0x30d01f(0x1eb)]);function readPackageScripts(_0x1386ba){const _0x50c91d=a118_0x30d01f,_0x32f2af=resolve(_0x1386ba,_0x50c91d(0x1f0));if(!existsSync(_0x32f2af))return null;try{const _0x338c47=JSON[_0x50c91d(0x1c4)](readFileSync(_0x32f2af,_0x50c91d(0x1dc)));return _0x338c47['scripts']??{};}catch{return null;}}function detectPackageManager(_0x57c807){const _0x3aefe8=a118_0x30d01f;if(existsSync(resolve(_0x57c807,_0x3aefe8(0x1e7)))||existsSync(resolve(_0x57c807,_0x3aefe8(0x1d0))))return'bun';if(existsSync(resolve(_0x57c807,_0x3aefe8(0x1ef))))return _0x3aefe8(0x1c5);if(existsSync(resolve(_0x57c807,_0x3aefe8(0x1e6))))return _0x3aefe8(0x1ee);return _0x3aefe8(0x1d3);}async function versionCheck(_0x2098f2){const _0x43b8bf=a118_0x30d01f,_0x3e9335=await checkCliVersion();(_0x3e9335[_0x43b8bf(0x1db)]||_0x3e9335[_0x43b8bf(0x1fd)])&&(printCliUpgradeWarning(_0x3e9335),assertCliVersionSupported(_0x3e9335));const _0x3c5c=await checkSdkVersion(_0x2098f2);if(_0x3c5c[_0x43b8bf(0x1db)])printSdkUpgradeWarning(_0x3c5c);}function spawnScript(_0x51cc3d,_0x38c877,_0x72ec1a,_0x3e0a25){return new Promise((_0x65334d,_0x7197c4)=>{const _0x5bcb22=a118_0x4364,_0x58af66=[_0x5bcb22(0x1ca),_0x38c877,..._0x72ec1a],_0x437ef8=spawn(_0x51cc3d,_0x58af66,{'cwd':_0x3e0a25,'stdio':_0x5bcb22(0x202),'shell':!![],'env':{...process.env,'PATH':''+join(_0x3e0a25,'node_modules','.bin')+delimiter+process.env.PATH}});_0x437ef8['on']('close',_0x11d087=>{const _0x4126cb=_0x5bcb22;if(_0x11d087===0x0||_0x11d087===null)_0x65334d();else _0x7197c4(new Error(_0x51cc3d+'\x20run\x20'+_0x38c877+_0x4126cb(0x1fc)+_0x11d087));}),_0x437ef8['on']('error',_0x7197c4);});}function spawnViteBuildWatch(_0x32a3b4){return new Promise((_0x4743f1,_0x2b05bf)=>{const _0x2acede=a118_0x4364,_0x571169=spawn(_0x2acede(0x200),['build',_0x2acede(0x1fb)],{'cwd':_0x32a3b4,'stdio':_0x2acede(0x202),'shell':!![],'env':{...process.env,'PATH':''+join(_0x32a3b4,_0x2acede(0x1df),_0x2acede(0x1fe))+delimiter+process.env.PATH}});_0x571169['on']('close',_0x21029d=>{const _0x6accc=_0x2acede;if(_0x21029d===0x0||_0x21029d===null)_0x4743f1();else _0x2b05bf(new Error(_0x6accc(0x1f7)+_0x21029d));}),_0x571169['on'](_0x2acede(0x1f6),_0x2b05bf);});}function spawnVitePreview(_0x3fde85){return new Promise((_0x17358d,_0x112b6b)=>{const _0x56051d=a118_0x4364,_0x3c9d04=spawn(_0x56051d(0x200),[_0x56051d(0x1ea)],{'cwd':_0x3fde85,'stdio':_0x56051d(0x202),'shell':!![],'env':{...process.env,'PATH':''+join(_0x3fde85,'node_modules','.bin')+delimiter+process.env.PATH}});_0x3c9d04['on'](_0x56051d(0x1e9),_0x1d5773=>{if(_0x1d5773===0x0||_0x1d5773===null)_0x17358d();else _0x112b6b(new Error('vite\x20preview\x20exited\x20with\x20code\x20'+_0x1d5773));}),_0x3c9d04['on'](_0x56051d(0x1f6),_0x112b6b);});}const runFlags=[{'name':a118_0x30d01f(0x1d1),'type':a118_0x30d01f(0x1ec),'description':a118_0x30d01f(0x1e1),'default':![]}];export const runDefinition={'service':a118_0x30d01f(0x1ca),'command':a118_0x30d01f(0x1ca),'description':'Run\x20a\x20package.json\x20script','risk':a118_0x30d01f(0x1c7),'requiresAuth':![],'requiresAppCode':![],'hasFormat':![],'args':[{'name':'script','description':a118_0x30d01f(0x1f3),'required':![]}],'flags':runFlags,'helpExtra':()=>{const _0x1074e1=a118_0x30d01f,_0x581ea3=readPackageScripts(process[_0x1074e1(0x1cb)]()),_0x472ea5=[];if(_0x581ea3&&Object[_0x1074e1(0x1f8)](_0x581ea3)[_0x1074e1(0x1f4)]>0x0){const _0x4a54b6=Object[_0x1074e1(0x1f8)](_0x581ea3),_0x1f8dcb=Math[_0x1074e1(0x1c9)](..._0x4a54b6[_0x1074e1(0x1ed)](_0x4e414f=>_0x4e414f['length']));_0x472ea5['push'](_0x1074e1(0x201));for(const [_0x393da6,_0x592af2]of Object[_0x1074e1(0x1d7)](_0x581ea3)){_0x472ea5[_0x1074e1(0x1e4)](_0x1074e1(0x1ff)+CLI_BIN_NAME+'\x20run\x20'+_0x393da6[_0x1074e1(0x1e3)](_0x1f8dcb+0x2)+'#\x20'+_0x592af2);}}else _0x472ea5[_0x1074e1(0x1e4)](_0x1074e1(0x1d4)),_0x472ea5[_0x1074e1(0x1e4)]('\x20\x20\x20\x20'+CLI_BIN_NAME+_0x1074e1(0x1d9)),_0x472ea5[_0x1074e1(0x1e4)](_0x1074e1(0x1ff)+CLI_BIN_NAME+_0x1074e1(0x1e8)),_0x472ea5[_0x1074e1(0x1e4)](_0x1074e1(0x1ff)+CLI_BIN_NAME+_0x1074e1(0x1da)),_0x472ea5[_0x1074e1(0x1e4)](_0x1074e1(0x1ff)+CLI_BIN_NAME+'\x20run\x20preview\x20--watch\x20\x20\x20#\x20parallel\x20build\x20--watch\x20+\x20preview');return _0x472ea5[_0x1074e1(0x1f2)]('\x0a');},async 'execute'(_0x57cdf7){const _0x50d2fb=a118_0x30d01f,_0x1bf324=process['cwd'](),_0xed3a36=_0x57cdf7[_0x50d2fb(0x1fa)][0x0],_0x2109fa=_0x57cdf7[_0x50d2fb(0x1fa)][_0x50d2fb(0x203)](0x1),_0x566fa0=readPackageScripts(_0x1bf324);if(!_0x566fa0)throw CliErrors[_0x50d2fb(0x1e2)]('No\x20package.json\x20found\x20in\x20current\x20directory.');if(!_0xed3a36){const _0x39569c=Object[_0x50d2fb(0x1f8)](_0x566fa0);if(_0x39569c['length']===0x0)console[_0x50d2fb(0x1e0)]('No\x20scripts\x20defined\x20in\x20package.json.');else{console[_0x50d2fb(0x1e0)](_0x50d2fb(0x1cd));const _0xf543cd=Math[_0x50d2fb(0x1c9)](..._0x39569c[_0x50d2fb(0x1ed)](_0x5f441b=>_0x5f441b['length']));for(const [_0x1bb772,_0x2b203f]of Object['entries'](_0x566fa0)){console[_0x50d2fb(0x1e0)](_0x50d2fb(0x1ff)+_0x1bb772[_0x50d2fb(0x1e3)](_0xf543cd+0x2)+_0x2b203f);}console['log'](_0x50d2fb(0x1d2)+CLI_BIN_NAME+_0x50d2fb(0x1d5));}return{'ok':!![]};}if(!_0x566fa0[_0xed3a36])throw CliErrors[_0x50d2fb(0x1e2)](_0x50d2fb(0x1dd)+_0xed3a36+'\x22\x20not\x20found\x20in\x20package.json.',_0x50d2fb(0x1d8)+(Object[_0x50d2fb(0x1f8)](_0x566fa0)[_0x50d2fb(0x1f2)](',\x20')||'(none)'));const _0x559982=detectPackageManager(_0x1bf324);VERSION_CHECK_SCRIPTS[_0x50d2fb(0x1cf)](_0xed3a36)&&await versionCheck(_0x1bf324);if(_0xed3a36===_0x50d2fb(0x1ea)&&_0x57cdf7[_0x50d2fb(0x1f1)](_0x50d2fb(0x1d1)))return await Promise[_0x50d2fb(0x1f5)]([spawnViteBuildWatch(_0x1bf324),spawnVitePreview(_0x1bf324)]),{'ok':!![]};return await spawnScript(_0x559982,_0xed3a36,_0x2109fa,_0x1bf324),{'ok':!![]};}};
|
package/lib/commands/schema.js
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
const
|
|
1
|
+
const a119_0x1ef6b1=a119_0x1f18;(function(_0x18e3a2,_0x4b28c4){const _0x130c4c=a119_0x1f18,_0x553226=_0x18e3a2();while(!![]){try{const _0x139e5e=parseInt(_0x130c4c(0x1e2))/0x1*(parseInt(_0x130c4c(0x1ed))/0x2)+-parseInt(_0x130c4c(0x1e6))/0x3*(-parseInt(_0x130c4c(0x1e4))/0x4)+parseInt(_0x130c4c(0x1e0))/0x5+-parseInt(_0x130c4c(0x1e8))/0x6*(parseInt(_0x130c4c(0x1e5))/0x7)+-parseInt(_0x130c4c(0x1ea))/0x8*(-parseInt(_0x130c4c(0x1ee))/0x9)+parseInt(_0x130c4c(0x1e3))/0xa*(-parseInt(_0x130c4c(0x1ec))/0xb)+-parseInt(_0x130c4c(0x1df))/0xc*(parseInt(_0x130c4c(0x1e7))/0xd);if(_0x139e5e===_0x4b28c4)break;else _0x553226['push'](_0x553226['shift']());}catch(_0x236e1c){_0x553226['push'](_0x553226['shift']());}}}(a119_0x30cf,0xee18a));function a119_0x30cf(){const _0x69105d=['1302UEMYmJ','273jYRzll','247yafaWl','19626YkfieJ','schema','16cTdnzy','read','15710563pxElNr','54550XkOySz','8587395uESvRq','270132SQZeMP','4993330yVlxtR','Export\x20machine-readable\x20command\x20schema\x20(JSON)','4FKGoEu','10itIuje','18616GUuMrd'];a119_0x30cf=function(){return _0x69105d;};return a119_0x30cf();}function a119_0x1f18(_0x247bca,_0x474a4c){_0x247bca=_0x247bca-0x1df;const _0x30cf26=a119_0x30cf();let _0x1f18cb=_0x30cf26[_0x247bca];return _0x1f18cb;}import{buildSchemaPayload}from'../framework/schema-export.js';async function execute(_0x3e3b71){const _0x4b42f9=await buildSchemaPayload();return{'ok':!![],'data':_0x4b42f9};}export const schemaDefinition={'service':a119_0x1ef6b1(0x1e9),'command':'export','description':a119_0x1ef6b1(0x1e1),'risk':a119_0x1ef6b1(0x1eb),'requiresAuth':![],'requiresAppCode':![],'hasFormat':!![],'defaultOutputFormat':'json','flags':[],'execute':execute};
|
|
@@ -1 +1 @@
|
|
|
1
|
-
const
|
|
1
|
+
const a120_0x2b7c97=a120_0x134b;(function(_0x2ca76e,_0x39b189){const _0x4a11d4=a120_0x134b,_0x3d1c62=_0x2ca76e();while(!![]){try{const _0xefac29=-parseInt(_0x4a11d4(0x125))/0x1*(-parseInt(_0x4a11d4(0x120))/0x2)+parseInt(_0x4a11d4(0x123))/0x3*(parseInt(_0x4a11d4(0x11f))/0x4)+-parseInt(_0x4a11d4(0x12c))/0x5+-parseInt(_0x4a11d4(0x12d))/0x6*(parseInt(_0x4a11d4(0x127))/0x7)+-parseInt(_0x4a11d4(0x11c))/0x8*(-parseInt(_0x4a11d4(0x115))/0x9)+-parseInt(_0x4a11d4(0x12e))/0xa*(-parseInt(_0x4a11d4(0x121))/0xb)+parseInt(_0x4a11d4(0x117))/0xc*(-parseInt(_0x4a11d4(0x116))/0xd);if(_0xefac29===_0x39b189)break;else _0x3d1c62['push'](_0x3d1c62['shift']());}catch(_0x2cca83){_0x3d1c62['push'](_0x3d1c62['shift']());}}}(a120_0x2835,0xf383a));function a120_0x134b(_0x464149,_0x428dc5){_0x464149=_0x464149-0x114;const _0x2835df=a120_0x2835();let _0x134b96=_0x2835df[_0x464149];return _0x134b96;}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';function a120_0x2835(){const _0x5200a0=['8832444lXcMgF','10lrsPLT','cwd','lovrabet/rabetbase','18rJJbLE','351LLqLfd','414156lIorUH','log','error','write','unknown','6921560irNHsa','pipe','../../skills/npx-skills-add.js','410744twAQoz','629354zpefSh','12321595DADDed',')...','12EiZmWF','skipped','2aqJhXk','Installing\x20official\x20skill\x20via\x20npx\x20(','7JTXbOR','skill-install','npx\x20skills\x20add\x20failed:\x20','info','inherit','2446370oKrrnq'];a120_0x2835=function(){return _0x5200a0;};return a120_0x2835();}export const skillDefinitions=[{'service':'skill','command':'install','description':'Install\x20developer\x20skill\x20package','risk':a120_0x2b7c97(0x11a),'requiresAuth':![],'requiresAppCode':![],'hasFormat':![],'flags':[],async 'execute'(_0x184922){const _0x32db51=a120_0x2b7c97;logger['setLogPath'](process[_0x32db51(0x12f)]()),logger[_0x32db51(0x12a)](_0x32db51(0x128),'执行安装技能包命令(委托给\x20npx\x20skills\x20add\x20-g\x20-y)');const {runNpxSkillsAddGlobal:_0x2adebd}=await import(_0x32db51(0x11e)),_0x129bcc=_0x184922['nonInteractive']?_0x32db51(0x11d):_0x32db51(0x12b);console[_0x32db51(0x118)](_0x32db51(0x126)+NPX_SKILLS_ADD_GLOBAL_COMMAND_LINE+_0x32db51(0x122));const _0x1fbd13=_0x2adebd(process['cwd'](),_0x32db51(0x114),{'stdio':_0x129bcc});if(_0x1fbd13[_0x32db51(0x124)])console[_0x32db51(0x118)]('Skipped\x20npx\x20(RABETBASE_SKIP_NPX_SKILLS=1);\x20assuming\x20skill\x20is\x20already\x20present.');else{if(_0x1fbd13['ok'])console[_0x32db51(0x118)](CLI_BIN_NAME+'\x20skill\x20installed');else throw CliErrors['apiError'](_0x32db51(0x129)+(_0x1fbd13[_0x32db51(0x119)]||_0x32db51(0x11b)),'Check\x20network\x20connectivity\x20and\x20try\x20again.');}return{'ok':!![]};}}];
|
|
@@ -1 +1 @@
|
|
|
1
|
-
const a121_0x1ede5e=a121_0x36b3;(function(_0x50384b,_0x4e72e1){const _0x37c944=a121_0x36b3,_0x4bb1c0=_0x50384b();while(!![]){try{const _0x78ab09=parseInt(_0x37c944(0x1bf))/0x1+-parseInt(_0x37c944(0x1bc))/0x2*(-parseInt(_0x37c944(0x1b5))/0x3)+-parseInt(_0x37c944(0x1a2))/0x4+-parseInt(_0x37c944(0x1b8))/0x5*(-parseInt(_0x37c944(0x1d6))/0x6)+-parseInt(_0x37c944(0x1ab))/0x7*(parseInt(_0x37c944(0x1b1))/0x8)+-parseInt(_0x37c944(0x1b6))/0x9+-parseInt(_0x37c944(0x1bb))/0xa;if(_0x78ab09===_0x4e72e1)break;else _0x4bb1c0['push'](_0x4bb1c0['shift']());}catch(_0x192eb3){_0x4bb1c0['push'](_0x4bb1c0['shift']());}}}(a121_0x457e,0xc1469));function a121_0x36b3(_0xe11972,_0x5ade5f){_0xe11972=_0xe11972-0x1a1;const _0x457ebb=a121_0x457e();let _0x36b38f=_0x457ebb[_0xe11972];return _0x36b38f;}import{writeFile}from'node:fs/promises';import{input,select}from'@inquirer/prompts';import{createSqlQuery}from'../../core/api-client.js';import{getDbName,listDatabases}from'../../core/db-resolver.js';import{loadSqlProjectConfig}from'../../core/sql-sync/config.js';import{ensureParentDirectory,fileExists}from'../../core/bff/file-system.js';import{computeSqlContentHash}from'../../core/sql-sync/hash.js';import{createEmptySqlLock,ensureSqlLockScope,readSqlLockFile,writeSqlLockFile}from'../../core/sql-sync/lock.js';import{buildSqlRelativePath}from'../../core/sql-sync/utils.js';function a121_0x457e(){const _0x58a829=['length','Create\x20a\x20new\x20custom\x20SQL\x20and\x20scaffold\x20it\x20locally','string','nonInteractive','dbId\x20不能为空','lockFilePath','sqlRootDir','sqls','3948522JkRPjC','appCode','\x20\x20SELECT\x201\x20AS\x20id','join','Would\x20create\x20a\x20new\x20SQL\x20query\x20and\x20scaffold\x20it\x20under\x20','trim','请输入目标数据库\x20dbId:','--mode\x20is\x20required\x20in\x20non-interactive\x20mode.','SQL\x20名称不能为空','--db-id\x20is\x20required\x20in\x20non-interactive\x20mode.','--name\x20is\x20required\x20in\x20non-interactive\x20mode.','__manual__','mode','<select\x20id=\x22query\x22\x20resultType=\x22map\x22>','name','767200wVEDST','sql','请选择本地\x20SQL\x20模式:','str','请输入\x20SQL\x20名称:','description','db-id','high-risk-write','toISOString','9569fsbJLv','flagMissing','普通\x20SQL(sql)','catch','dbName','请选择目标数据库:','568urQEPu','map','number','Created\x20SQL\x20query\x20','1722KcvXPE','3743865jdgOOt','/smartapi/custom/saveUserCustomSql','5GobSrU','File\x20already\x20exists:\x20','mybatisXml','4913790QHJgHt','4042TnzQYl','lastSync','flag','169737mgPdur','MyBatis\x20XML(mybatisXml)','parse','适合带动态标签的\x20MyBatis\x20XML\x20SQL','utf8','create','sqlName','isFinite','validation','适合直接执行的普通\x20SELECT\x20/\x20INSERT\x20/\x20UPDATE\x20/\x20DELETE\x20语句','dbId','isInteger','✎\x20手动输入\x20dbId','sqlCode','sqlRoot'];a121_0x457e=function(){return _0x58a829;};return a121_0x457e();}import{CliErrors}from'../../errors.js';import{buildLocalSqlFileContent,buildSqlLockEntry,ensureRemoteSqlContent}from'./shared.js';function generateSqlTemplate(_0x2f0ce5){const _0x226a71=a121_0x36b3;if(_0x2f0ce5===_0x226a71(0x1ba))return[_0x226a71(0x1e3),_0x226a71(0x1d8),'</select>',''][_0x226a71(0x1d9)]('\x0a');return['SELECT\x201\x20AS\x20id;',''][_0x226a71(0x1d9)]('\x0a');}export const sqlCreate={'service':a121_0x1ede5e(0x1a3),'command':a121_0x1ede5e(0x1c4),'description':a121_0x1ede5e(0x1cf),'risk':a121_0x1ede5e(0x1a9),'flags':[{'name':a121_0x1ede5e(0x1a1),'type':a121_0x1ede5e(0x1d0),'description':'SQL\x20query\x20display\x20name'},{'name':a121_0x1ede5e(0x1a8),'type':a121_0x1ede5e(0x1b3),'description':'Target\x20database\x20ID'},{'name':a121_0x1ede5e(0x1e2),'type':a121_0x1ede5e(0x1d0),'enum':[a121_0x1ede5e(0x1a3),a121_0x1ede5e(0x1ba)],'description':'Local\x20SQL\x20file\x20mode'}],async 'validate'(_0x26f0c8){const _0x33b145=a121_0x1ede5e;if(!_0x26f0c8[_0x33b145(0x1d1)])return;if(!_0x26f0c8[_0x33b145(0x1a5)](_0x33b145(0x1a1))[_0x33b145(0x1db)]())throw CliErrors[_0x33b145(0x1ac)]('name',_0x33b145(0x1e0));const _0x35a779=resolveProvidedDbId(_0x26f0c8);if(typeof _0x35a779!=='number'||!Number['isFinite'](_0x35a779)||_0x35a779<=0x0)throw CliErrors[_0x33b145(0x1ac)](_0x33b145(0x1a8),_0x33b145(0x1df));if(!_0x26f0c8[_0x33b145(0x1a5)](_0x33b145(0x1e2))[_0x33b145(0x1db)]())throw CliErrors['flagMissing'](_0x33b145(0x1e2),'--mode\x20is\x20required\x20in\x20non-interactive\x20mode.');},async 'dryRun'(_0x142f54){const _0x33f804=a121_0x1ede5e,_0x12ec51=loadSqlProjectConfig(_0x142f54['appCode']),{sqlName:_0x45e770,dbId:_0x235d14,dbName:_0x33f446,mode:_0x4d1b6e}=await resolveSqlNewInputs(_0x142f54),_0x7a4762=buildSqlRelativePath('<server-generated-sqlCode>',_0x45e770,_0x33f446,_0x4d1b6e,_0x235d14),_0x158b60=_0x12ec51['sqlRootDir']+'/'+_0x7a4762;return{'method':'POST','url':_0x33f804(0x1b7),'body':{'appCode':_0x142f54[_0x33f804(0x1d7)],'sqlName':_0x45e770,'dbId':_0x235d14,'mode':_0x4d1b6e,'localPath':_0x158b60},'description':_0x33f804(0x1da)+_0x12ec51[_0x33f804(0x1d4)]};},async 'execute'(_0x256121){const _0x3e53cf=a121_0x1ede5e,_0x3da09b=loadSqlProjectConfig(_0x256121[_0x3e53cf(0x1d7)]),{sqlName:_0x2d8fa5,dbId:_0x30a41c,dbName:_0x22d671,mode:_0x571e1d}=await resolveSqlNewInputs(_0x256121),_0x50518e=generateSqlTemplate(_0x571e1d),_0x5e7555=await createSqlQuery({'appCode':_0x256121[_0x3e53cf(0x1d7)],'sqlName':_0x2d8fa5,'dbId':_0x30a41c,'sqlContent':_0x50518e}),_0x4f877d=ensureRemoteSqlContent(_0x5e7555),_0x541bf0=_0x22d671||await getDbName(_0x256121['appCode'],_0x30a41c)[_0x3e53cf(0x1ae)](()=>undefined),_0x241bdf=buildSqlRelativePath(_0x5e7555[_0x3e53cf(0x1cc)],_0x5e7555[_0x3e53cf(0x1c5)],_0x541bf0,_0x571e1d,_0x30a41c),_0x28b23f=_0x3da09b[_0x3e53cf(0x1d4)]+'/'+_0x241bdf,_0x451920=buildLocalSqlFileContent({'sqlCode':_0x5e7555[_0x3e53cf(0x1cc)],'sqlName':_0x5e7555[_0x3e53cf(0x1c5)],'dbId':_0x5e7555[_0x3e53cf(0x1c9)]},_0x4f877d,{'dbName':_0x541bf0,'mode':_0x571e1d,'syncedAt':new Date()['toISOString'](),'description':_0x5e7555[_0x3e53cf(0x1a7)]});if(await fileExists(_0x28b23f))throw CliErrors[_0x3e53cf(0x1c7)](_0x3e53cf(0x1b9)+_0x28b23f);await ensureParentDirectory(_0x28b23f),await writeFile(_0x28b23f,_0x451920,_0x3e53cf(0x1c3));const _0x4f44a0=await readSqlLockFile(_0x3da09b[_0x3e53cf(0x1d3)]),{lockData:_0x251b19,appLock:_0x116fe6}=ensureSqlLockScope(_0x4f44a0??createEmptySqlLock(),_0x3da09b[_0x3e53cf(0x1d7)],_0x3da09b[_0x3e53cf(0x1cd)],'new');return _0x116fe6[_0x3e53cf(0x1d5)][_0x5e7555['sqlCode']]={...buildSqlLockEntry(_0x5e7555,_0x4f877d,computeSqlContentHash(_0x451920),{'dbName':_0x541bf0}),'path':_0x241bdf,'mode':_0x571e1d},_0x116fe6[_0x3e53cf(0x1bd)]=new Date()[_0x3e53cf(0x1aa)](),await writeSqlLockFile(_0x3da09b['lockFilePath'],_0x251b19),{'ok':!![],'data':{'id':_0x5e7555['id'],'sqlCode':_0x5e7555[_0x3e53cf(0x1cc)],'sqlName':_0x5e7555[_0x3e53cf(0x1c5)],'dbId':_0x5e7555[_0x3e53cf(0x1c9)],'path':_0x28b23f,'mode':_0x571e1d},'message':_0x3e53cf(0x1b4)+_0x5e7555[_0x3e53cf(0x1cc)]};}};async function resolveSqlNewInputs(_0x9ab216){const _0x34ce58=await resolveSqlNameInput(_0x9ab216),{dbId:_0x523ca1,dbName:_0x4036d7}=await resolveDbSelection(_0x9ab216),_0x770e5b=await resolveSqlModeInput(_0x9ab216);return{'sqlName':_0x34ce58,'dbId':_0x523ca1,'dbName':_0x4036d7,'mode':_0x770e5b};}async function resolveSqlNameInput(_0x5354f8){const _0x49a8bf=a121_0x1ede5e,_0x531693=_0x5354f8[_0x49a8bf(0x1a5)](_0x49a8bf(0x1a1))[_0x49a8bf(0x1db)]();if(_0x531693)return _0x531693;if(_0x5354f8[_0x49a8bf(0x1d1)])throw CliErrors[_0x49a8bf(0x1ac)](_0x49a8bf(0x1a1),_0x49a8bf(0x1e0));return(await input({'message':_0x49a8bf(0x1a6),'validate':_0x53a478=>_0x53a478[_0x49a8bf(0x1db)]()?!![]:_0x49a8bf(0x1de)}))[_0x49a8bf(0x1db)]();}async function resolveDbSelection(_0x17287f){const _0x5d3453=a121_0x1ede5e,_0x557bd0=resolveProvidedDbId(_0x17287f);if(typeof _0x557bd0===_0x5d3453(0x1b3)&&Number[_0x5d3453(0x1c6)](_0x557bd0)&&_0x557bd0>0x0)return{'dbId':_0x557bd0,'dbName':await getDbName(_0x17287f[_0x5d3453(0x1d7)],_0x557bd0)[_0x5d3453(0x1ae)](()=>undefined)};if(_0x17287f[_0x5d3453(0x1d1)])throw CliErrors['flagMissing'](_0x5d3453(0x1a8),_0x5d3453(0x1df));const _0x15fa90=await listDatabases(_0x17287f[_0x5d3453(0x1d7)])[_0x5d3453(0x1ae)](()=>[]);if(_0x15fa90[_0x5d3453(0x1ce)]===0x1)return{'dbId':_0x15fa90[0x0]['dbId'],'dbName':_0x15fa90[0x0]['dbName']};if(_0x15fa90['length']>0x1){const _0x3ffe4d=await select({'message':_0x5d3453(0x1b0),'choices':[..._0x15fa90[_0x5d3453(0x1b2)](_0x4211a8=>({'name':_0x4211a8[_0x5d3453(0x1af)]+'\x20('+_0x4211a8[_0x5d3453(0x1c9)]+')','value':serializeDbSelection(_0x4211a8)})),{'name':_0x5d3453(0x1cb),'value':_0x5d3453(0x1e1)}]});if(_0x3ffe4d!==_0x5d3453(0x1e1))return deserializeDbSelection(_0x3ffe4d);}const _0x4df7e2=await input({'message':_0x5d3453(0x1dc),'validate':_0x213e9c=>{const _0x216226=_0x5d3453,_0xfc9345=_0x213e9c[_0x216226(0x1db)]();if(!_0xfc9345)return _0x216226(0x1d2);const _0x4b865f=Number(_0xfc9345);if(!Number[_0x216226(0x1ca)](_0x4b865f)||_0x4b865f<=0x0)return'dbId\x20必须为正整数';return!![];}});return{'dbId':Number(_0x4df7e2[_0x5d3453(0x1db)]())};}async function resolveSqlModeInput(_0x159d20){const _0x5ed2c4=a121_0x1ede5e,_0x50e695=_0x159d20['str'](_0x5ed2c4(0x1e2))['trim']();if(_0x50e695==='sql'||_0x50e695==='mybatisXml')return _0x50e695;if(_0x159d20[_0x5ed2c4(0x1d1)])throw CliErrors[_0x5ed2c4(0x1ac)](_0x5ed2c4(0x1e2),_0x5ed2c4(0x1dd));return await select({'message':_0x5ed2c4(0x1a4),'choices':[{'name':_0x5ed2c4(0x1ad),'value':'sql','description':_0x5ed2c4(0x1c8)},{'name':_0x5ed2c4(0x1c0),'value':_0x5ed2c4(0x1ba),'description':_0x5ed2c4(0x1c2)}]});}function serializeDbSelection(_0xda67d){const _0x2987ef=a121_0x1ede5e;return JSON['stringify']({'dbId':_0xda67d[_0x2987ef(0x1c9)],'dbName':_0xda67d[_0x2987ef(0x1af)]});}function deserializeDbSelection(_0x47f782){const _0x16259a=a121_0x1ede5e;try{const _0x42bb03=JSON[_0x16259a(0x1c1)](_0x47f782);if(typeof _0x42bb03[_0x16259a(0x1c9)]==='number'&&Number[_0x16259a(0x1c6)](_0x42bb03[_0x16259a(0x1c9)]))return{'dbId':_0x42bb03['dbId'],'dbName':_0x42bb03[_0x16259a(0x1af)]};}catch{}throw CliErrors[_0x16259a(0x1c7)]('Invalid\x20database\x20selection\x20payload:\x20'+_0x47f782);}function resolveProvidedDbId(_0x296192){const _0x4da1d3=a121_0x1ede5e,_0x579792=_0x296192[_0x4da1d3(0x1be)](_0x4da1d3(0x1a8));if(typeof _0x579792===_0x4da1d3(0x1b3)&&Number[_0x4da1d3(0x1c6)](_0x579792))return _0x579792;return undefined;}
|
|
1
|
+
const a121_0x35a378=a121_0x9a3d;(function(_0x4a2437,_0x3c3daf){const _0x119d6d=a121_0x9a3d,_0x51954f=_0x4a2437();while(!![]){try{const _0x34a802=-parseInt(_0x119d6d(0x20b))/0x1*(-parseInt(_0x119d6d(0x1f4))/0x2)+-parseInt(_0x119d6d(0x1fe))/0x3*(parseInt(_0x119d6d(0x1e6))/0x4)+parseInt(_0x119d6d(0x1db))/0x5*(-parseInt(_0x119d6d(0x1cc))/0x6)+-parseInt(_0x119d6d(0x1e8))/0x7+-parseInt(_0x119d6d(0x202))/0x8*(-parseInt(_0x119d6d(0x1dd))/0x9)+-parseInt(_0x119d6d(0x1f0))/0xa*(parseInt(_0x119d6d(0x1ea))/0xb)+-parseInt(_0x119d6d(0x1e1))/0xc*(-parseInt(_0x119d6d(0x200))/0xd);if(_0x34a802===_0x3c3daf)break;else _0x51954f['push'](_0x51954f['shift']());}catch(_0x55057a){_0x51954f['push'](_0x51954f['shift']());}}}(a121_0x2877,0x2d45c));import{writeFile}from'node:fs/promises';import{input,select}from'@inquirer/prompts';function a121_0x9a3d(_0x5299f8,_0x232a07){_0x5299f8=_0x5299f8-0x1ca;const _0x287736=a121_0x2877();let _0x9a3d1e=_0x287736[_0x5299f8];return _0x9a3d1e;}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(_0x5f508e){const _0x471a38=a121_0x9a3d;if(_0x5f508e==='mybatisXml')return['<select\x20id=\x22query\x22\x20resultType=\x22map\x22>','\x20\x20SELECT\x201\x20AS\x20id',_0x471a38(0x1d1),''][_0x471a38(0x1cd)]('\x0a');return[_0x471a38(0x1cf),''][_0x471a38(0x1cd)]('\x0a');}export const sqlCreate={'service':a121_0x35a378(0x1fd),'command':a121_0x35a378(0x1ff),'description':a121_0x35a378(0x1da),'risk':a121_0x35a378(0x20a),'flags':[{'name':a121_0x35a378(0x1d9),'type':'string','description':a121_0x35a378(0x206)},{'name':a121_0x35a378(0x209),'type':a121_0x35a378(0x1dc),'description':a121_0x35a378(0x1d4)},{'name':a121_0x35a378(0x1d5),'type':'string','enum':['sql',a121_0x35a378(0x1de)],'description':a121_0x35a378(0x205)}],async 'validate'(_0x49b7e7){const _0xb06dee=a121_0x35a378;if(!_0x49b7e7[_0xb06dee(0x1f3)])return;if(!_0x49b7e7[_0xb06dee(0x1fa)](_0xb06dee(0x1d9))[_0xb06dee(0x1f8)]())throw CliErrors[_0xb06dee(0x1e5)](_0xb06dee(0x1d9),_0xb06dee(0x204));const _0x36ebd6=resolveProvidedDbId(_0x49b7e7);if(typeof _0x36ebd6!==_0xb06dee(0x1dc)||!Number[_0xb06dee(0x1d7)](_0x36ebd6)||_0x36ebd6<=0x0)throw CliErrors[_0xb06dee(0x1e5)](_0xb06dee(0x209),_0xb06dee(0x1ca));if(!_0x49b7e7[_0xb06dee(0x1fa)](_0xb06dee(0x1d5))['trim']())throw CliErrors[_0xb06dee(0x1e5)]('mode',_0xb06dee(0x1e9));},async 'dryRun'(_0x57f592){const _0x5d9bb2=a121_0x35a378,_0x553826=loadSqlProjectConfig(_0x57f592['appCode']),{sqlName:_0x1708c4,dbId:_0x32da1d,dbName:_0x1975d8,mode:_0x56ea4a}=await resolveSqlNewInputs(_0x57f592),_0x2065e1=buildSqlRelativePath('<server-generated-sqlCode>',_0x1708c4,_0x1975d8,_0x56ea4a,_0x32da1d),_0xc4a17b=_0x553826[_0x5d9bb2(0x1d3)]+'/'+_0x2065e1;return{'method':'POST','url':'/smartapi/custom/saveUserCustomSql','body':{'appCode':_0x57f592[_0x5d9bb2(0x1d8)],'sqlName':_0x1708c4,'dbId':_0x32da1d,'mode':_0x56ea4a,'localPath':_0xc4a17b},'description':_0x5d9bb2(0x1fc)+_0x553826[_0x5d9bb2(0x1d3)]};},async 'execute'(_0x44d0b2){const _0x4a1491=a121_0x35a378,_0x40c8b0=loadSqlProjectConfig(_0x44d0b2['appCode']),{sqlName:_0x578196,dbId:_0x2816a1,dbName:_0x4e0ba6,mode:_0x536882}=await resolveSqlNewInputs(_0x44d0b2),_0x32491e=generateSqlTemplate(_0x536882),_0x27d839=await createSqlQuery({'appCode':_0x44d0b2[_0x4a1491(0x1d8)],'sqlName':_0x578196,'dbId':_0x2816a1,'sqlContent':_0x32491e}),_0x1aad7e=ensureRemoteSqlContent(_0x27d839),_0x11ab54=_0x4e0ba6||await getDbName(_0x44d0b2[_0x4a1491(0x1d8)],_0x2816a1)[_0x4a1491(0x1cb)](()=>undefined),_0x112bd9=buildSqlRelativePath(_0x27d839[_0x4a1491(0x1e0)],_0x27d839[_0x4a1491(0x1e4)],_0x11ab54,_0x536882,_0x2816a1),_0x4ec7fd=_0x40c8b0[_0x4a1491(0x1d3)]+'/'+_0x112bd9,_0x1816f4=buildLocalSqlFileContent({'sqlCode':_0x27d839[_0x4a1491(0x1e0)],'sqlName':_0x27d839[_0x4a1491(0x1e4)],'dbId':_0x27d839[_0x4a1491(0x1e3)]},_0x1aad7e,{'dbName':_0x11ab54,'mode':_0x536882,'syncedAt':new Date()[_0x4a1491(0x1df)](),'description':_0x27d839['description']});if(await fileExists(_0x4ec7fd))throw CliErrors[_0x4a1491(0x1e2)](_0x4a1491(0x201)+_0x4ec7fd);await ensureParentDirectory(_0x4ec7fd),await writeFile(_0x4ec7fd,_0x1816f4,_0x4a1491(0x1ee));const _0x4ab5e2=await readSqlLockFile(_0x40c8b0[_0x4a1491(0x1f1)]),{lockData:_0x33da0e,appLock:_0x4440ac}=ensureSqlLockScope(_0x4ab5e2??createEmptySqlLock(),_0x40c8b0[_0x4a1491(0x1d8)],_0x40c8b0[_0x4a1491(0x1f9)],_0x4a1491(0x1ef));return _0x4440ac['sqls'][_0x27d839[_0x4a1491(0x1e0)]]={...buildSqlLockEntry(_0x27d839,_0x1aad7e,computeSqlContentHash(_0x1816f4),{'dbName':_0x11ab54}),'path':_0x112bd9,'mode':_0x536882},_0x4440ac[_0x4a1491(0x203)]=new Date()[_0x4a1491(0x1df)](),await writeSqlLockFile(_0x40c8b0[_0x4a1491(0x1f1)],_0x33da0e),{'ok':!![],'data':{'id':_0x27d839['id'],'sqlCode':_0x27d839[_0x4a1491(0x1e0)],'sqlName':_0x27d839[_0x4a1491(0x1e4)],'dbId':_0x27d839['dbId'],'path':_0x4ec7fd,'mode':_0x536882},'message':'Created\x20SQL\x20query\x20'+_0x27d839[_0x4a1491(0x1e0)]};}};async function resolveSqlNewInputs(_0x2958be){const _0x479e66=await resolveSqlNameInput(_0x2958be),{dbId:_0x5eda29,dbName:_0x167b1e}=await resolveDbSelection(_0x2958be),_0x413853=await resolveSqlModeInput(_0x2958be);return{'sqlName':_0x479e66,'dbId':_0x5eda29,'dbName':_0x167b1e,'mode':_0x413853};}async function resolveSqlNameInput(_0x2a2379){const _0x458472=a121_0x35a378,_0x252fa8=_0x2a2379[_0x458472(0x1fa)]('name')[_0x458472(0x1f8)]();if(_0x252fa8)return _0x252fa8;if(_0x2a2379['nonInteractive'])throw CliErrors['flagMissing'](_0x458472(0x1d9),_0x458472(0x204));return(await input({'message':_0x458472(0x1d6),'validate':_0x4ef21d=>_0x4ef21d['trim']()?!![]:'SQL\x20名称不能为空'}))[_0x458472(0x1f8)]();}async function resolveDbSelection(_0x39c6f1){const _0xd569d9=a121_0x35a378,_0x1c92d0=resolveProvidedDbId(_0x39c6f1);if(typeof _0x1c92d0===_0xd569d9(0x1dc)&&Number[_0xd569d9(0x1d7)](_0x1c92d0)&&_0x1c92d0>0x0)return{'dbId':_0x1c92d0,'dbName':await getDbName(_0x39c6f1['appCode'],_0x1c92d0)[_0xd569d9(0x1cb)](()=>undefined)};if(_0x39c6f1[_0xd569d9(0x1f3)])throw CliErrors['flagMissing'](_0xd569d9(0x209),_0xd569d9(0x1ca));const _0x451a19=await listDatabases(_0x39c6f1['appCode'])['catch'](()=>[]);if(_0x451a19['length']===0x1)return{'dbId':_0x451a19[0x0][_0xd569d9(0x1e3)],'dbName':_0x451a19[0x0]['dbName']};if(_0x451a19['length']>0x1){const _0xd4e24a=await select({'message':_0xd569d9(0x1f7),'choices':[..._0x451a19[_0xd569d9(0x207)](_0x401812=>({'name':_0x401812['dbName']+'\x20('+_0x401812[_0xd569d9(0x1e3)]+')','value':serializeDbSelection(_0x401812)})),{'name':'✎\x20手动输入\x20dbId','value':_0xd569d9(0x1d2)}]});if(_0xd4e24a!==_0xd569d9(0x1d2))return deserializeDbSelection(_0xd4e24a);}const _0x109f82=await input({'message':_0xd569d9(0x208),'validate':_0x1676fc=>{const _0x1a3b07=_0xd569d9,_0x69e90d=_0x1676fc[_0x1a3b07(0x1f8)]();if(!_0x69e90d)return _0x1a3b07(0x1eb);const _0x5ed591=Number(_0x69e90d);if(!Number[_0x1a3b07(0x1d0)](_0x5ed591)||_0x5ed591<=0x0)return _0x1a3b07(0x1f6);return!![];}});return{'dbId':Number(_0x109f82[_0xd569d9(0x1f8)]())};}async function resolveSqlModeInput(_0x552bbc){const _0x30bb29=a121_0x35a378,_0x589134=_0x552bbc[_0x30bb29(0x1fa)](_0x30bb29(0x1d5))['trim']();if(_0x589134==='sql'||_0x589134===_0x30bb29(0x1de))return _0x589134;if(_0x552bbc[_0x30bb29(0x1f3)])throw CliErrors[_0x30bb29(0x1e5)](_0x30bb29(0x1d5),_0x30bb29(0x1e9));return await select({'message':_0x30bb29(0x1ec),'choices':[{'name':'普通\x20SQL(sql)','value':_0x30bb29(0x1fd),'description':_0x30bb29(0x1f5)},{'name':_0x30bb29(0x1ed),'value':_0x30bb29(0x1de),'description':_0x30bb29(0x1fb)}]});}function serializeDbSelection(_0x232a5b){const _0x34b051=a121_0x35a378;return JSON['stringify']({'dbId':_0x232a5b[_0x34b051(0x1e3)],'dbName':_0x232a5b[_0x34b051(0x1e7)]});}function a121_0x2877(){const _0x156d0e=['trim','sqlRoot','str','适合带动态标签的\x20MyBatis\x20XML\x20SQL','Would\x20create\x20a\x20new\x20SQL\x20query\x20and\x20scaffold\x20it\x20under\x20','sql','84OCrIIq','create','142259xwIccu','File\x20already\x20exists:\x20','11064ANtGBq','lastSync','--name\x20is\x20required\x20in\x20non-interactive\x20mode.','Local\x20SQL\x20file\x20mode','SQL\x20query\x20display\x20name','map','请输入目标数据库\x20dbId:','db-id','high-risk-write','8607LiOsAY','--db-id\x20is\x20required\x20in\x20non-interactive\x20mode.','catch','7044sSLuFs','join','Invalid\x20database\x20selection\x20payload:\x20','SELECT\x201\x20AS\x20id;','isInteger','</select>','__manual__','sqlRootDir','Target\x20database\x20ID','mode','请输入\x20SQL\x20名称:','isFinite','appCode','name','Create\x20a\x20new\x20custom\x20SQL\x20and\x20scaffold\x20it\x20locally','605tvlrEH','number','1692OdZAPz','mybatisXml','toISOString','sqlCode','456NYCzCW','validation','dbId','sqlName','flagMissing','33392CpnbuC','dbName','2360225bzgdCK','--mode\x20is\x20required\x20in\x20non-interactive\x20mode.','243353zibLBr','dbId\x20不能为空','请选择本地\x20SQL\x20模式:','MyBatis\x20XML(mybatisXml)','utf8','new','20ZGpxTK','lockFilePath','parse','nonInteractive','62ZHCTVm','适合直接执行的普通\x20SELECT\x20/\x20INSERT\x20/\x20UPDATE\x20/\x20DELETE\x20语句','dbId\x20必须为正整数','请选择目标数据库:'];a121_0x2877=function(){return _0x156d0e;};return a121_0x2877();}function deserializeDbSelection(_0x203ace){const _0x3c0f73=a121_0x35a378;try{const _0x4a7491=JSON[_0x3c0f73(0x1f2)](_0x203ace);if(typeof _0x4a7491[_0x3c0f73(0x1e3)]===_0x3c0f73(0x1dc)&&Number[_0x3c0f73(0x1d7)](_0x4a7491[_0x3c0f73(0x1e3)]))return{'dbId':_0x4a7491[_0x3c0f73(0x1e3)],'dbName':_0x4a7491[_0x3c0f73(0x1e7)]};}catch{}throw CliErrors['validation'](_0x3c0f73(0x1ce)+_0x203ace);}function resolveProvidedDbId(_0x1184c7){const _0xf5d572=a121_0x35a378,_0x4f0f38=_0x1184c7['flag']('db-id');if(typeof _0x4f0f38===_0xf5d572(0x1dc)&&Number[_0xf5d572(0x1d7)](_0x4f0f38))return _0x4f0f38;return undefined;}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
const
|
|
1
|
+
const a122_0x36525d=a122_0x2421;(function(_0x301787,_0xf91d1f){const _0x5cfd08=a122_0x2421,_0x22251e=_0x301787();while(!![]){try{const _0x5a6747=-parseInt(_0x5cfd08(0xf4))/0x1*(-parseInt(_0x5cfd08(0x102))/0x2)+parseInt(_0x5cfd08(0x105))/0x3*(-parseInt(_0x5cfd08(0xf8))/0x4)+parseInt(_0x5cfd08(0x112))/0x5+parseInt(_0x5cfd08(0xfc))/0x6+-parseInt(_0x5cfd08(0x115))/0x7+parseInt(_0x5cfd08(0xf5))/0x8*(parseInt(_0x5cfd08(0xfd))/0x9)+parseInt(_0x5cfd08(0xfa))/0xa*(-parseInt(_0x5cfd08(0x100))/0xb);if(_0x5a6747===_0xf91d1f)break;else _0x22251e['push'](_0x22251e['shift']());}catch(_0x107d80){_0x22251e['push'](_0x22251e['shift']());}}}(a122_0xf027,0x1fcdf));function a122_0x2421(_0x836a17,_0x353a79){_0x836a17=_0x836a17-0xf4;const _0xf0270e=a122_0xf027();let _0x242165=_0xf0270e[_0x836a17];return _0x242165;}import{mkdir,readdir,rename,rmdir}from'node:fs/promises';import{dirname,join,relative,resolve,sep}from'node:path';import{deleteSqlQuery}from'../../core/api-client.js';import{loadSqlProjectConfig}from'../../core/sql-sync/config.js';import{fileExists}from'../../core/bff/file-system.js';import{resolveLocalSqlFilePath}from'../../core/sql-sync/file-system.js';import{ensureSqlLockScope,readSqlLockFile,writeSqlLockFile}from'../../core/sql-sync/lock.js';import{CliErrors}from'../../errors.js';import{SQLCODE_FLAG}from'../../commands/common/flags.js';function a122_0xf027(){const _0x214de8=['485837WkfLYl','appCode','89422HGRaKO','startsWith','/smartapi/custom/deleteUserCustomSql','174UCavcu','No\x20SQL\x20lock\x20entry\x20found\x20for\x20\x22','str','sqls','POST','filter','remoteId','sqlcode','high-risk-write','sqlRootDir','projectRoot','fromEntries','Would\x20delete\x20SQL\x20','1237405HAItHm','sqlRoot','trashedTo','640262hRLjnS','lockFilePath','delete','\x20(local\x20file\x20moved\x20to\x20trash)','validation','sql','5KiXgSq','16vcSLMg','trashDir','replace','10844lXoZIy','\x20from\x20remote\x20and\x20move\x20local\x20file\x20to\x20','50dDLjPU','SQL\x20lock\x20file\x20not\x20found.\x20Run\x20`rabetbase\x20sql\x20create`\x20or\x20`rabetbase\x20sql\x20pull`\x20first.','597336AnMmlT','131481izfrZe','toISOString','Delete\x20a\x20SQL\x20query\x20from\x20remote\x20and\x20local'];a122_0xf027=function(){return _0x214de8;};return a122_0xf027();}export const sqlDelete={'service':a122_0x36525d(0x11a),'command':a122_0x36525d(0x117),'description':a122_0x36525d(0xff),'risk':a122_0x36525d(0x10d),'flags':[SQLCODE_FLAG],async 'validate'(_0x22a54b){const _0x200b67=a122_0x36525d,_0x481d2f=loadSqlProjectConfig(_0x22a54b['appCode']),_0x2489e0=await readSqlLockFile(_0x481d2f[_0x200b67(0x116)]);if(!_0x2489e0)throw CliErrors['validation'](_0x200b67(0xfb));},async 'dryRun'(_0x33a464){const _0x18f46b=a122_0x36525d,_0x34c6ed=loadSqlProjectConfig(_0x33a464[_0x18f46b(0x101)]),_0x490398=await readSqlLockFile(_0x34c6ed['lockFilePath']);if(!_0x490398)throw CliErrors[_0x18f46b(0x119)](_0x18f46b(0xfb));const {appLock:_0x274d8f}=ensureSqlLockScope(_0x490398,_0x33a464[_0x18f46b(0x101)],_0x34c6ed['sqlRoot'],'delete'),_0x700b81=_0x33a464[_0x18f46b(0x107)]('sqlcode'),_0x54857a=_0x274d8f[_0x18f46b(0x108)][_0x700b81];if(!_0x54857a)throw CliErrors[_0x18f46b(0x119)]('No\x20SQL\x20lock\x20entry\x20found\x20for\x20\x22'+_0x700b81+'\x22.');return{'method':_0x18f46b(0x109),'url':_0x18f46b(0x104),'body':{'sqlCode':_0x700b81,'id':_0x54857a[_0x18f46b(0x10b)],'localPath':resolveLocalSqlFilePath(_0x34c6ed,_0x700b81,_0x54857a)},'description':_0x18f46b(0x111)+_0x700b81+_0x18f46b(0xf9)+_0x34c6ed[_0x18f46b(0xf6)]};},async 'execute'(_0x44f452){const _0x51b048=a122_0x36525d,_0x12ba8d=loadSqlProjectConfig(_0x44f452['appCode']),_0x1562bb=await readSqlLockFile(_0x12ba8d['lockFilePath']);if(!_0x1562bb)throw CliErrors[_0x51b048(0x119)]('SQL\x20lock\x20file\x20not\x20found.');const {lockData:_0x488f11,appLock:_0x1b833c}=ensureSqlLockScope(_0x1562bb,_0x44f452['appCode'],_0x12ba8d[_0x51b048(0x113)],'delete'),_0x1eafb8=_0x44f452[_0x51b048(0x107)](_0x51b048(0x10c)),_0x8c4607=_0x1b833c[_0x51b048(0x108)][_0x1eafb8];if(!_0x8c4607)throw CliErrors[_0x51b048(0x119)](_0x51b048(0x106)+_0x1eafb8+'\x22.');await deleteSqlQuery({'id':_0x8c4607[_0x51b048(0x10b)],'sqlCode':_0x1eafb8}),_0x1b833c['sqls']=Object[_0x51b048(0x110)](Object['entries'](_0x1b833c[_0x51b048(0x108)])[_0x51b048(0x10a)](([_0x2c83d9])=>_0x2c83d9!==_0x1eafb8)),_0x1b833c['lastSync']=new Date()[_0x51b048(0xfe)](),await writeSqlLockFile(_0x12ba8d[_0x51b048(0x116)],_0x488f11);const _0x54454e=resolveLocalSqlFilePath(_0x12ba8d,_0x1eafb8,_0x8c4607);let _0x56acdb;await fileExists(_0x54454e)&&(_0x56acdb=await moveToTrash(_0x12ba8d[_0x51b048(0x10f)],_0x12ba8d[_0x51b048(0xf6)],_0x54454e),await cleanupEmptyDirectories(dirname(_0x54454e),_0x12ba8d[_0x51b048(0x10e)]));const _0x2e565c={'deleted':_0x1eafb8,'remoteId':_0x8c4607[_0x51b048(0x10b)]};if(_0x56acdb)_0x2e565c[_0x51b048(0x114)]=_0x56acdb;return{'ok':!![],'data':_0x2e565c,'message':'Deleted\x20'+_0x1eafb8+(_0x56acdb?_0x51b048(0x118):'')};}};async function moveToTrash(_0x4cd167,_0x17e585,_0x2b0991){const _0x2b0520=a122_0x36525d,_0x517a84=new Date()['toISOString']()[_0x2b0520(0xf7)](/[:.]/g,'-'),_0xd0c0e2=relative(_0x4cd167,_0x2b0991),_0x3bb48c=join(_0x17e585,_0x517a84,_0xd0c0e2);return await mkdir(dirname(_0x3bb48c),{'recursive':!![]}),await rename(_0x2b0991,_0x3bb48c),_0x3bb48c;}async function cleanupEmptyDirectories(_0x2f754b,_0x3ddde4){const _0xc69256=a122_0x36525d;let _0x6556e9=resolve(_0x2f754b);const _0x4ae6c7=resolve(_0x3ddde4);while(_0x6556e9[_0xc69256(0x103)](''+_0x4ae6c7+sep)||_0x6556e9===_0x4ae6c7){if(_0x6556e9===_0x4ae6c7)return;try{const _0x12698c=await readdir(_0x6556e9);if(_0x12698c['length']>0x0)return;await rmdir(_0x6556e9);}catch{return;}_0x6556e9=dirname(_0x6556e9);}}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
const
|
|
1
|
+
const a123_0x17ab96=a123_0x3dc5;(function(_0x1b662f,_0x434f51){const _0x2da42d=a123_0x3dc5,_0x475b0d=_0x1b662f();while(!![]){try{const _0x176196=-parseInt(_0x2da42d(0x1fa))/0x1*(parseInt(_0x2da42d(0x1f4))/0x2)+parseInt(_0x2da42d(0x1f8))/0x3*(-parseInt(_0x2da42d(0x1eb))/0x4)+parseInt(_0x2da42d(0x1ea))/0x5*(parseInt(_0x2da42d(0x1ec))/0x6)+parseInt(_0x2da42d(0x1ee))/0x7+-parseInt(_0x2da42d(0x1f1))/0x8+parseInt(_0x2da42d(0x1e6))/0x9+-parseInt(_0x2da42d(0x1f2))/0xa;if(_0x176196===_0x434f51)break;else _0x475b0d['push'](_0x475b0d['shift']());}catch(_0x42c035){_0x475b0d['push'](_0x475b0d['shift']());}}}(a123_0x47f9,0x1df5d));function a123_0x3dc5(_0x2dd4f3,_0x2c2af8){_0x2dd4f3=_0x2dd4f3-0x1e5;const _0x47f948=a123_0x47f9();let _0x3dc531=_0x47f948[_0x2dd4f3];return _0x3dc531;}import{getSqlQueryInfo}from'../../core/api-client.js';import{getDbName}from'../../core/db-resolver.js';function a123_0x47f9(){const _0x26c41a=['bool','477795ktyQXY','appCode','1vVffDe','sqlName','sqlContent','506070BFJeeM','Get\x20custom\x20SQL\x20query\x20details\x20by\x20sqlCode','sql','sqlCode','10bSXSVg','4Ivcthx','485496MrxJKh','sqlcode','1612044ysHsuV','boolean','dbId','644984JwHJqp','178800ufRcoP','read','135738FGtBqt','verbose','str'];a123_0x47f9=function(){return _0x26c41a;};return a123_0x47f9();}import{SQLCODE_FLAG}from'../../commands/common/flags.js';export const sqlDetail={'service':a123_0x17ab96(0x1e8),'command':'detail','description':a123_0x17ab96(0x1e7),'risk':a123_0x17ab96(0x1f3),'flags':[SQLCODE_FLAG,{'name':a123_0x17ab96(0x1f5),'type':a123_0x17ab96(0x1ef),'description':'Return\x20full\x20raw\x20SQL\x20query\x20object'}],async 'execute'(_0x3e0c7b){const _0x1b6bc5=a123_0x17ab96,_0x529668=await getSqlQueryInfo(_0x3e0c7b[_0x1b6bc5(0x1f9)],_0x3e0c7b[_0x1b6bc5(0x1f6)](_0x1b6bc5(0x1ed))),_0xceda98=_0x3e0c7b[_0x1b6bc5(0x1f7)](_0x1b6bc5(0x1f5));if(_0xceda98)return{'ok':!![],'data':_0x529668};const _0x20e383=_0x529668[_0x1b6bc5(0x1f0)]?await getDbName(_0x3e0c7b[_0x1b6bc5(0x1f9)],_0x529668['dbId']):undefined;return{'ok':!![],'data':{'sqlCode':_0x529668[_0x1b6bc5(0x1e9)],'sqlName':_0x529668[_0x1b6bc5(0x1fb)],'db':_0x20e383?_0x20e383+'\x20('+_0x529668[_0x1b6bc5(0x1f0)]+')':_0x529668[_0x1b6bc5(0x1f0)]??'','description':_0x529668['description']??'','sqlContent':_0x529668[_0x1b6bc5(0x1e5)]??''}};}};
|
package/lib/commands/sql/exec.js
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
|
|
1
|
+
function a124_0x21ac(_0x327ebd,_0xf97f83){_0x327ebd=_0x327ebd-0x1bd;const _0x456c07=a124_0x456c();let _0x21ac41=_0x456c07[_0x327ebd];return _0x21ac41;}const a124_0x2ff574=a124_0x21ac;(function(_0x1e90df,_0x548f5a){const _0x75511e=a124_0x21ac,_0x2ac7df=_0x1e90df();while(!![]){try{const _0x2d458e=-parseInt(_0x75511e(0x1d7))/0x1+parseInt(_0x75511e(0x1d6))/0x2*(-parseInt(_0x75511e(0x1be))/0x3)+parseInt(_0x75511e(0x1c5))/0x4*(-parseInt(_0x75511e(0x1c0))/0x5)+-parseInt(_0x75511e(0x1d2))/0x6+-parseInt(_0x75511e(0x1c3))/0x7*(parseInt(_0x75511e(0x1bd))/0x8)+-parseInt(_0x75511e(0x1c6))/0x9*(-parseInt(_0x75511e(0x1d4))/0xa)+parseInt(_0x75511e(0x1ca))/0xb*(parseInt(_0x75511e(0x1d5))/0xc);if(_0x2d458e===_0x548f5a)break;else _0x2ac7df['push'](_0x2ac7df['shift']());}catch(_0x3546e0){_0x2ac7df['push'](_0x2ac7df['shift']());}}}(a124_0x456c,0x316ba));function a124_0x456c(){const _0x16a75d=['sqlcode','17315WafHAT','str','SQL\x20execution\x20failed','450289sitIPK','sql','376ZCbZYJ','257643iQSjII','length','SQL\x20parameters\x20as\x20JSON\x20string\x20(e.g.\x20\x27{\x22key\x22:\x22value\x22}\x27)','isArray','457831hirjoQ','exec','Execute\x20a\x20custom\x20SQL\x20query\x20by\x20sqlCode','execSuccess','appCode','now','execError','Returned\x20','1503834AaFWMx','params','130qqBudH','360cWEOpM','1352lGpeQP','167011WBBvCS','\x20row(s)\x20in\x20','40mRNrXw','1569KhLkbE'];a124_0x456c=function(){return _0x16a75d;};return a124_0x456c();}import{executeSql}from'../../core/api-client.js';import{SQLCODE_FLAG}from'../../commands/common/flags.js';import{parseJsonParams}from'../../utils/params.js';export const sqlExec={'service':a124_0x2ff574(0x1c4),'command':a124_0x2ff574(0x1cb),'description':a124_0x2ff574(0x1cc),'risk':'read','flags':[SQLCODE_FLAG,{'name':a124_0x2ff574(0x1d3),'type':'string','description':a124_0x2ff574(0x1c8)}],async 'execute'(_0x30614c){const _0x392d7e=a124_0x2ff574,_0x6402e3=parseJsonParams(_0x30614c[_0x392d7e(0x1c1)](_0x392d7e(0x1d3))),_0x4bf036=Date[_0x392d7e(0x1cf)](),_0x2eaedf=await executeSql(_0x30614c[_0x392d7e(0x1ce)],_0x30614c[_0x392d7e(0x1c1)](_0x392d7e(0x1bf)),_0x6402e3),_0x5bf894=Date['now']()-_0x4bf036,_0x1c988c=_0x2eaedf?.['execResult']??_0x2eaedf,_0x4a347e=_0x2eaedf?.[_0x392d7e(0x1cd)]??!![];if(!_0x4a347e)return{'ok':![],'data':{'error':_0x2eaedf?.[_0x392d7e(0x1d0)]||_0x392d7e(0x1c2),'elapsed':_0x5bf894},'message':_0x392d7e(0x1c2)};const _0x51aedf=Array[_0x392d7e(0x1c9)](_0x1c988c)?_0x1c988c:[];return{'ok':!![],'data':{'rows':_0x51aedf,'rowCount':_0x51aedf[_0x392d7e(0x1c7)],'elapsed':_0x5bf894},'message':_0x392d7e(0x1d1)+_0x51aedf[_0x392d7e(0x1c7)]+_0x392d7e(0x1d8)+_0x5bf894+'ms'};}};
|
|
@@ -1 +1 @@
|
|
|
1
|
-
(function(
|
|
1
|
+
(function(_0x704e5a,_0xa52a5e){const _0x3f25b8=a125_0x29f6,_0x21d80f=_0x704e5a();while(!![]){try{const _0x573fc9=parseInt(_0x3f25b8(0xa3))/0x1*(-parseInt(_0x3f25b8(0xa8))/0x2)+parseInt(_0x3f25b8(0xa2))/0x3+parseInt(_0x3f25b8(0xa4))/0x4+parseInt(_0x3f25b8(0xa5))/0x5+parseInt(_0x3f25b8(0xa0))/0x6+parseInt(_0x3f25b8(0xa6))/0x7+-parseInt(_0x3f25b8(0xa7))/0x8*(parseInt(_0x3f25b8(0xa1))/0x9);if(_0x573fc9===_0xa52a5e)break;else _0x21d80f['push'](_0x21d80f['shift']());}catch(_0x15279e){_0x21d80f['push'](_0x21d80f['shift']());}}}(a125_0xdcea,0xebc10));function a125_0x29f6(_0x26f9c0,_0x45ca2a){_0x26f9c0=_0x26f9c0-0xa0;const _0xdcea67=a125_0xdcea();let _0x29f658=_0xdcea67[_0x26f9c0];return _0x29f658;}import{sqlList}from'../../commands/sql/list.js';function a125_0xdcea(){const _0x2d0bfc=['6933635IGLbzb','4840437kvQaIN','3989512JYJmma','2yFuLVD','9412260RocLdE','72vOrXWW','5566692QOGDEn','1760844RdnYQF','4854048nsdFwE'];a125_0xdcea=function(){return _0x2d0bfc;};return a125_0xdcea();}import{sqlDetail}from'../../commands/sql/detail.js';import{sqlValidate}from'../../commands/sql/validate.js';import{sqlSave}from'../../commands/sql/save.js';import{sqlExec}from'../../commands/sql/exec.js';import{sqlPull}from'../../commands/sql/pull.js';import{sqlCreate}from'../../commands/sql/create.js';import{sqlStatus}from'../../commands/sql/status.js';import{sqlPush}from'../../commands/sql/push.js';import{sqlDelete}from'../../commands/sql/delete.js';export const sqlDefinitions=[sqlList,sqlDetail,sqlStatus,sqlCreate,sqlPush,sqlValidate,sqlSave,sqlExec,sqlPull,sqlDelete];
|
package/lib/commands/sql/list.js
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
|
|
1
|
+
const a126_0xe900c2=a126_0x44f1;(function(_0x40df23,_0x18ce90){const _0x5a6eb0=a126_0x44f1,_0x140706=_0x40df23();while(!![]){try{const _0x454f3d=parseInt(_0x5a6eb0(0x1b5))/0x1*(-parseInt(_0x5a6eb0(0x1c2))/0x2)+-parseInt(_0x5a6eb0(0x1ca))/0x3*(-parseInt(_0x5a6eb0(0x1b3))/0x4)+-parseInt(_0x5a6eb0(0x1c1))/0x5+-parseInt(_0x5a6eb0(0x1ba))/0x6*(-parseInt(_0x5a6eb0(0x1c4))/0x7)+-parseInt(_0x5a6eb0(0x1cc))/0x8+parseInt(_0x5a6eb0(0x1c3))/0x9*(parseInt(_0x5a6eb0(0x1be))/0xa)+parseInt(_0x5a6eb0(0x1c7))/0xb;if(_0x454f3d===_0x18ce90)break;else _0x140706['push'](_0x140706['shift']());}catch(_0x24957e){_0x140706['push'](_0x140706['shift']());}}}(a126_0x2942,0xaf9cc));function a126_0x2942(){const _0x1aa2d8=['List\x20custom\x20SQL\x20queries','36EuvccN','\x20SQL\x20queries\x20(total:\x20','Filter\x20by\x20SQL\x20name','dbId','13213190SadQzp','read','Page\x20size','4437535HaypBw','26360MDCgJx','9WPPtzu','362348BphkCS','sqlName','str','6025371gsupCK','name','num','1607013NpdAVB','length','9146808tcCYCY','string','Page\x20number','pagesize','map','sqlcode','appCode','number','sql','bool','all','paging','page','verbose','8gPJlhh','description','38ZvZIdx','sqlCode','totalCount','boolean'];a126_0x2942=function(){return _0x1aa2d8;};return a126_0x2942();}import{listSqlQueries}from'../../core/api-client.js';function a126_0x44f1(_0x2e33b6,_0x4683bd){_0x2e33b6=_0x2e33b6-0x1ae;const _0x2942a8=a126_0x2942();let _0x44f121=_0x2942a8[_0x2e33b6];return _0x44f121;}import{getDbName}from'../../core/db-resolver.js';import{SQLCODE_FLAG_OPTIONAL}from'../../commands/common/flags.js';export const sqlList={'service':a126_0xe900c2(0x1d4),'command':'list','description':a126_0xe900c2(0x1b9),'risk':a126_0xe900c2(0x1bf),'flags':[SQLCODE_FLAG_OPTIONAL,{'name':'name','type':a126_0xe900c2(0x1cd),'description':a126_0xe900c2(0x1bc)},{'name':a126_0xe900c2(0x1b1),'type':a126_0xe900c2(0x1d3),'description':a126_0xe900c2(0x1ce),'default':0x1},{'name':'pagesize','type':a126_0xe900c2(0x1d3),'description':a126_0xe900c2(0x1c0)},{'name':a126_0xe900c2(0x1b2),'type':a126_0xe900c2(0x1b8),'description':'Return\x20full\x20SQL\x20query\x20objects\x20including\x20parameters\x20and\x20SQL\x20content'}],async 'execute'(_0x4a6cc6){const _0x489f53=a126_0xe900c2,_0x4d48e6=await listSqlQueries(_0x4a6cc6['appCode'],{'sqlCode':_0x4a6cc6[_0x489f53(0x1c6)](_0x489f53(0x1d1))||undefined,'sqlName':_0x4a6cc6[_0x489f53(0x1c6)](_0x489f53(0x1c8))||undefined,'currentPage':_0x4a6cc6[_0x489f53(0x1c9)](_0x489f53(0x1b1)),'pageSize':_0x4a6cc6[_0x489f53(0x1c9)](_0x489f53(0x1cf),0x32)}),_0x11635f=_0x4a6cc6[_0x489f53(0x1ae)](_0x489f53(0x1b2)),_0xc28090=_0x4d48e6['tableData']??[],_0x35b133=_0x4d48e6[_0x489f53(0x1b0)]?.[_0x489f53(0x1b7)]??_0xc28090[_0x489f53(0x1cb)];let _0x3a6f48;return _0x11635f?_0x3a6f48=_0xc28090:_0x3a6f48=await Promise[_0x489f53(0x1af)](_0xc28090[_0x489f53(0x1d0)](async _0xbd8359=>{const _0x499afe=_0x489f53;let _0x46ca2f;try{_0x46ca2f=_0xbd8359['dbId']?await getDbName(_0x4a6cc6[_0x499afe(0x1d2)],_0xbd8359['dbId']):undefined;}catch{}return{'sqlCode':_0xbd8359[_0x499afe(0x1b6)],'sqlName':_0xbd8359[_0x499afe(0x1c5)],'description':_0xbd8359[_0x499afe(0x1b4)]??'','db':_0x46ca2f?_0x46ca2f+'\x20('+_0xbd8359[_0x499afe(0x1bd)]+')':_0xbd8359['dbId']??''};})),{'ok':!![],'data':_0x3a6f48,'message':_0xc28090['length']===0x0?'No\x20custom\x20SQL\x20queries\x20found.':'Found\x20'+_0xc28090[_0x489f53(0x1cb)]+_0x489f53(0x1bb)+_0x35b133+').'};}};
|
package/lib/commands/sql/pull.js
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
const a127_0x2d0df4=a127_0x2cbc;(function(_0x4a4d21,_0x6607a){const _0x498331=a127_0x2cbc,_0x35fb8f=_0x4a4d21();while(!![]){try{const _0x3744d8=-parseInt(_0x498331(0x1b1))/0x1*(-parseInt(_0x498331(0x1c3))/0x2)+parseInt(_0x498331(0x1a8))/0x3+-parseInt(_0x498331(0x1c7))/0x4+-parseInt(_0x498331(0x1bf))/0x5*(-parseInt(_0x498331(0x1ca))/0x6)+-parseInt(_0x498331(0x19e))/0x7+parseInt(_0x498331(0x1a5))/0x8*(parseInt(_0x498331(0x1c4))/0x9)+parseInt(_0x498331(0x19f))/0xa*(parseInt(_0x498331(0x1be))/0xb);if(_0x3744d8===_0x6607a)break;else _0x35fb8f['push'](_0x35fb8f['shift']());}catch(_0x3ea2e2){_0x35fb8f['push'](_0x35fb8f['shift']());}}}(a127_0x50b6,0xde035));import{readFile,rm,writeFile}from'node:fs/promises';import{join}from'node:path';import{getSqlQueryDetail,listSqlQueries}from'../../core/api-client.js';import{ensureParentDirectory,fileExists}from'../../core/bff/file-system.js';function a127_0x2cbc(_0x1c7efe,_0x2def5e){_0x1c7efe=_0x1c7efe-0x194;const _0x50b60a=a127_0x50b6();let _0x2cbc7e=_0x50b60a[_0x1c7efe];return _0x2cbc7e;}import{getDbName}from'../../core/db-resolver.js';function a127_0x50b6(){const _0x4a4619=['Force\x20pull\x20cancelled.','join','4026696Nxbqny','unchanged','force','split','catch','POST','tableData','/smartapi/custom/queryUserCustomSqlList\x20+\x20/smartapi/custom/getUserCustomSql','nonInteractive','write','would_pull','pull','name','path','lockFilePath','Pull\x20remote\x20SQL\x20queries\x20to\x20local\x20.rabetbase/sql/','9969246XadKJy','720xxfGJV','test','sqlName','sqlRootDir','\x20skipped,\x20','local\x20differs\x20from\x20remote','95224QBSLGF','dbId','totalCount','2455410jZCzFr','bool','sqls','sql','conflict','utf8','skipped','Force\x20overwrite\x20local\x20unsynced\x20changes','sqlcode','69WdjZRE','sqlContent','description','replace','length','trimStart','lastSync','sqlCode','toISOString','str','local\x20differs\x20from\x20remote\x20(use\x20--force\x20to\x20overwrite)','appCode','Filter\x20by\x20SQL\x20display\x20name','146476nkOQHm','5YHdNar','Would\x20pull\x20','push','mybatisXml','17734KRFNaR','549ZHKibd','filter','string','5810804pGSOry'];a127_0x50b6=function(){return _0x4a4619;};return a127_0x50b6();}import{loadSqlProjectConfig}from'../../core/sql-sync/config.js';import{computeSqlContentHash}from'../../core/sql-sync/hash.js';import{createEmptySqlLock,ensureSqlLockScope,readSqlLockFile,writeSqlLockFile}from'../../core/sql-sync/lock.js';import{resolveLocalSqlFilePath}from'../../core/sql-sync/file-system.js';import{CliErrors}from'../../errors.js';import{SQLCODE_FLAG_OPTIONAL}from'../../commands/common/flags.js';import{buildLocalSqlFileContent,buildSqlLockEntry,cloneSqlLockData,confirmForceOverwrite,ensureRemoteSqlContent,stripLocalSqlMetadata}from'./shared.js';const PAGE_SIZE=0x64;async function fetchAllSqlQueries(_0x8912a,_0x451cb2){const _0x5e65bb=a127_0x2cbc,_0x35a51d=[];let _0x98ce7c=0x1;while(!![]){const _0x46e07e=await listSqlQueries(_0x8912a,{'currentPage':_0x98ce7c,'pageSize':PAGE_SIZE,'sqlCode':_0x451cb2[_0x5e65bb(0x1b8)],'sqlName':_0x451cb2[_0x5e65bb(0x1a1)]}),_0x535cdd=_0x46e07e[_0x5e65bb(0x194)]??[];_0x35a51d[_0x5e65bb(0x1c1)](..._0x535cdd);if(_0x535cdd[_0x5e65bb(0x1b5)]===0x0)break;const _0x35d387=_0x46e07e['paging']?.[_0x5e65bb(0x1a7)];if(_0x35d387!=null?_0x35a51d['length']>=_0x35d387:_0x535cdd[_0x5e65bb(0x1b5)]<PAGE_SIZE)break;_0x98ce7c++;}return _0x35a51d;}async function ensureSqlContent(_0xbb3677){const _0x3c905d=a127_0x2cbc;if(_0xbb3677[_0x3c905d(0x1b2)]!=null&&String(_0xbb3677[_0x3c905d(0x1b2)])[_0x3c905d(0x1b5)]>0x0)return _0xbb3677;return getSqlQueryDetail(_0xbb3677[_0x3c905d(0x1b8)]);}export const sqlPull={'service':a127_0x2d0df4(0x1ab),'command':a127_0x2d0df4(0x199),'description':a127_0x2d0df4(0x19d),'risk':a127_0x2d0df4(0x197),'flags':[SQLCODE_FLAG_OPTIONAL,{'name':'name','type':a127_0x2d0df4(0x1c6),'description':a127_0x2d0df4(0x1bd)},{'name':'force','type':'boolean','description':a127_0x2d0df4(0x1af)}],async 'dryRun'(_0x1bf751){const _0x2da281=a127_0x2d0df4,_0xfae71f=loadSqlProjectConfig(_0x1bf751[_0x2da281(0x1bc)]),_0x1ea870=await readSqlLockFile(_0xfae71f[_0x2da281(0x19c)]),{appLock:_0x48cb5f}=ensureSqlLockScope(_0x1ea870??createEmptySqlLock(),_0xfae71f[_0x2da281(0x1bc)],_0xfae71f['sqlRoot'],_0x2da281(0x199)),_0x4ea9c9=await fetchAllSqlQueries(_0x1bf751[_0x2da281(0x1bc)],{'sqlCode':_0x1bf751[_0x2da281(0x1ba)](_0x2da281(0x1b0))||undefined,'sqlName':_0x1bf751[_0x2da281(0x1ba)](_0x2da281(0x19a))||undefined}),_0x11094e=[];for(const _0x4b97cd of _0x4ea9c9){const _0x19373b=await ensureSqlContent(_0x4b97cd),_0x191bf=ensureRemoteSqlContent(_0x19373b),_0xeab30a=detectModeFromSql(_0x19373b),_0x3779c0=_0x19373b['dbId']?await getDbName(_0x1bf751['appCode'],Number(_0x19373b[_0x2da281(0x1a6)]))['catch'](()=>undefined):undefined,_0x2927b9=buildLocalSqlFileContent({'sqlCode':_0x19373b[_0x2da281(0x1b8)],'sqlName':_0x19373b['sqlName'],'dbId':_0x19373b[_0x2da281(0x1a6)]},_0x191bf,{'dbName':_0x3779c0,'mode':_0xeab30a,'syncedAt':new Date()['toISOString'](),'description':_0x19373b['description']}),_0x16dc21=buildSqlLockEntry(_0x19373b,_0x191bf,'',{'dbName':_0x3779c0}),_0x169828=resolveLocalSqlFilePath(_0xfae71f,_0x19373b[_0x2da281(0x1b8)],_0x16dc21);let _0xbc2c82=_0x2da281(0x198),_0x56a1f0;if(await fileExists(_0x169828)){const _0x315d88=await readFile(_0x169828,_0x2da281(0x1ad));isEquivalentPulledSqlFile(_0x315d88,_0x2927b9,_0xeab30a)?(_0xbc2c82=_0x2da281(0x1ae),_0x56a1f0=_0x2da281(0x1cb)):(_0xbc2c82=_0x2da281(0x1ac),_0x56a1f0=_0x2da281(0x1bb));}_0x11094e['push']({'sqlCode':_0x19373b['sqlCode'],'sqlName':_0x19373b['sqlName'],'filePath':_0x169828,'status':_0xbc2c82,'reason':_0x56a1f0});}return{'method':_0x2da281(0x1cf),'url':_0x2da281(0x195),'body':{'appCode':_0x1bf751[_0x2da281(0x1bc)],'sqlCode':_0x1bf751[_0x2da281(0x1ba)](_0x2da281(0x1b0))||null,'sqlName':_0x1bf751[_0x2da281(0x1ba)](_0x2da281(0x19a))||null,'files':_0x11094e},'description':_0x2da281(0x1c0)+_0x11094e[_0x2da281(0x1b5)]+'\x20SQL\x20file(s)\x20into\x20'+_0xfae71f[_0x2da281(0x1a2)]};},async 'execute'(_0x26c383){const _0x460c42=a127_0x2d0df4,_0x218a84=loadSqlProjectConfig(_0x26c383['appCode']),_0x1d22cc=await readSqlLockFile(_0x218a84[_0x460c42(0x19c)]),{lockData:_0x5350,appLock:_0x2e2146}=ensureSqlLockScope(_0x1d22cc??createEmptySqlLock(),_0x218a84[_0x460c42(0x1bc)],_0x218a84['sqlRoot'],_0x460c42(0x199)),_0x303998=_0x26c383[_0x460c42(0x1a9)](_0x460c42(0x1cc)),_0xea3b27=await fetchAllSqlQueries(_0x26c383[_0x460c42(0x1bc)],{'sqlCode':_0x26c383['str'](_0x460c42(0x1b0))||undefined,'sqlName':_0x26c383[_0x460c42(0x1ba)](_0x460c42(0x19a))||undefined});if(_0xea3b27[_0x460c42(0x1b5)]===0x0)return{'ok':!![],'data':{'pulled':[],'skipped':[],'failed':[]},'message':'No\x20remote\x20SQL\x20queries\x20matched.'};const _0x4e0d52=[],_0x5418e2=[];for(const _0x389852 of _0xea3b27){try{_0x4e0d52[_0x460c42(0x1c1)](await ensureSqlContent(_0x389852));}catch(_0x4b01f1){_0x5418e2['push']({'sqlCode':_0x389852[_0x460c42(0x1b8)],'error':_0x4b01f1 instanceof Error?_0x4b01f1['message']:String(_0x4b01f1)});}}if(_0x303998&&!_0x26c383[_0x460c42(0x196)]){let _0x5d9129=![];for(const _0x104482 of _0x4e0d52){const _0x10f0b5=detectModeFromSql(_0x104482),_0x4b8f74=_0x104482[_0x460c42(0x1a6)]?await getDbName(_0x26c383['appCode'],Number(_0x104482[_0x460c42(0x1a6)]))[_0x460c42(0x1ce)](()=>undefined):undefined,_0x1c1699=buildLocalSqlFileContent({'sqlCode':_0x104482[_0x460c42(0x1b8)],'sqlName':_0x104482[_0x460c42(0x1a1)],'dbId':_0x104482[_0x460c42(0x1a6)]},ensureRemoteSqlContent(_0x104482),{'dbName':_0x4b8f74,'mode':_0x10f0b5,'syncedAt':new Date()[_0x460c42(0x1b9)](),'description':_0x104482['description']}),_0x41b081=resolveLocalSqlFilePath(_0x218a84,_0x104482['sqlCode'],buildSqlLockEntry(_0x104482,ensureRemoteSqlContent(_0x104482),'',{'dbName':_0x4b8f74}));if(await fileExists(_0x41b081)){const _0x51bcf5=await readFile(_0x41b081,_0x460c42(0x1ad));if(!isEquivalentPulledSqlFile(_0x51bcf5,_0x1c1699,_0x10f0b5)){_0x5d9129=!![];break;}}}if(_0x5d9129){const _0x109cd7=await confirmForceOverwrite('Force\x20pull\x20will\x20overwrite\x20local\x20SQL\x20that\x20differs\x20from\x20remote.');if(!_0x109cd7)throw CliErrors['cancelled'](_0x460c42(0x1c8));}}const _0x203918=cloneSqlLockData(_0x5350),_0x491110=_0x203918['apps'][_0x218a84[_0x460c42(0x1bc)]],_0x130beb=[],_0x52f4b6=[];for(const _0x239e02 of _0x4e0d52){const _0x2cf27d=_0x491110[_0x460c42(0x1aa)][_0x239e02[_0x460c42(0x1b8)]],_0x2ccd86=ensureRemoteSqlContent(_0x239e02),_0x332725=detectModeFromSql(_0x239e02),_0x38e8c8=_0x239e02[_0x460c42(0x1a6)]?await getDbName(_0x26c383['appCode'],Number(_0x239e02[_0x460c42(0x1a6)]))[_0x460c42(0x1ce)](()=>undefined):undefined,_0x1f3e43=buildLocalSqlFileContent({'sqlCode':_0x239e02[_0x460c42(0x1b8)],'sqlName':_0x239e02[_0x460c42(0x1a1)],'dbId':_0x239e02[_0x460c42(0x1a6)]},_0x2ccd86,{'dbName':_0x38e8c8,'mode':_0x332725,'syncedAt':new Date()[_0x460c42(0x1b9)](),'description':_0x239e02[_0x460c42(0x1b3)]}),_0x2e2278=buildSqlLockEntry(_0x239e02,_0x2ccd86,computeSqlContentHash(_0x1f3e43),{'dbName':_0x38e8c8}),_0x88eba0=_0x2e2278[_0x460c42(0x19b)],_0x2022ce=join(_0x218a84[_0x460c42(0x1a2)],_0x88eba0);try{if(await fileExists(_0x2022ce)){const _0xc49a8e=await readFile(_0x2022ce,_0x460c42(0x1ad));if(isEquivalentPulledSqlFile(_0xc49a8e,_0x1f3e43,_0x332725)){_0x52f4b6[_0x460c42(0x1c1)]({'sqlCode':_0x239e02[_0x460c42(0x1b8)],'reason':'unchanged'}),_0x491110[_0x460c42(0x1aa)][_0x239e02[_0x460c42(0x1b8)]]={..._0x2e2278,'hash':computeSqlContentHash(_0xc49a8e),'path':_0x88eba0};continue;}if(!_0x303998){_0x52f4b6[_0x460c42(0x1c1)]({'sqlCode':_0x239e02[_0x460c42(0x1b8)],'reason':_0x460c42(0x1a4)});continue;}}const _0x16f6f2=_0x2cf27d?.[_0x460c42(0x19b)]?join(_0x218a84[_0x460c42(0x1a2)],_0x2cf27d[_0x460c42(0x19b)]):undefined;_0x16f6f2&&_0x16f6f2!==_0x2022ce&&await fileExists(_0x16f6f2)&&await rm(_0x16f6f2,{'force':!![]}),await ensureParentDirectory(_0x2022ce),await writeFile(_0x2022ce,_0x1f3e43,_0x460c42(0x1ad)),_0x491110[_0x460c42(0x1aa)][_0x239e02['sqlCode']]={..._0x2e2278,'path':_0x88eba0},_0x130beb[_0x460c42(0x1c1)]({'sqlCode':_0x239e02[_0x460c42(0x1b8)],'filePath':_0x2022ce});}catch(_0x58c464){_0x5418e2[_0x460c42(0x1c1)]({'sqlCode':_0x239e02[_0x460c42(0x1b8)],'error':_0x58c464 instanceof Error?_0x58c464['message']:String(_0x58c464)});}}return _0x491110[_0x460c42(0x1b7)]=new Date()[_0x460c42(0x1b9)](),await writeSqlLockFile(_0x218a84['lockFilePath'],_0x203918),{'ok':_0x5418e2['length']===0x0,'data':{'pulled':_0x130beb,'skipped':_0x52f4b6,'failed':_0x5418e2},'message':'Pull\x20complete:\x20'+_0x130beb[_0x460c42(0x1b5)]+'\x20written,\x20'+_0x52f4b6['length']+_0x460c42(0x1a3)+_0x5418e2[_0x460c42(0x1b5)]+'\x20failed'};}};function detectModeFromSql(_0x259fa2){const _0x7def74=a127_0x2d0df4,_0x117a80=ensureRemoteSqlContent(_0x259fa2),_0xf64e85=stripLocalSqlMetadata(_0x117a80,_0x7def74(0x1c2))[_0x7def74(0x1b6)]();if(/^<(select|insert|update|delete)\b/i[_0x7def74(0x1a0)](_0xf64e85))return _0x7def74(0x1c2);return _0x7def74(0x1ab);}function isEquivalentPulledSqlFile(_0x298f85,_0x5b2afb,_0x45ec84){return normalizePullComparableContent(_0x298f85,_0x45ec84)===normalizePullComparableContent(_0x5b2afb,_0x45ec84);}function normalizePullComparableContent(_0x5e89d5,_0x1775b2){const _0x4c1da8=a127_0x2d0df4,_0x2c8aa3=_0x5e89d5[_0x4c1da8(0x1b4)](/\r\n/g,'\x0a')[_0x4c1da8(0x1cd)]('\x0a'),_0x494834=_0x2c8aa3[_0x4c1da8(0x1c5)](_0x53567c=>!isSyncedAtMetadataLine(_0x53567c,_0x1775b2));return _0x494834[_0x4c1da8(0x1c9)]('\x0a');}function isSyncedAtMetadataLine(_0x4d43ca,_0x1c5d3b){const _0x24812c=a127_0x2d0df4;if(_0x1c5d3b===_0x24812c(0x1c2))return/^\s*<!--\s*@lovrabet\.syncedAt:/['test'](_0x4d43ca);return/^\s*--\s*@lovrabet\.syncedAt:/[_0x24812c(0x1a0)](_0x4d43ca);}
|
|
1
|
+
const a127_0x55ea2b=a127_0x43b8;(function(_0x4744a2,_0x1dd343){const _0x3f10d8=a127_0x43b8,_0x3afdc2=_0x4744a2();while(!![]){try{const _0x2a544c=-parseInt(_0x3f10d8(0xf1))/0x1+parseInt(_0x3f10d8(0xef))/0x2+-parseInt(_0x3f10d8(0xf0))/0x3+-parseInt(_0x3f10d8(0xca))/0x4*(parseInt(_0x3f10d8(0xe2))/0x5)+-parseInt(_0x3f10d8(0xd6))/0x6+parseInt(_0x3f10d8(0xbd))/0x7*(-parseInt(_0x3f10d8(0xe0))/0x8)+-parseInt(_0x3f10d8(0xbe))/0x9*(-parseInt(_0x3f10d8(0xd0))/0xa);if(_0x2a544c===_0x1dd343)break;else _0x3afdc2['push'](_0x3afdc2['shift']());}catch(_0x506610){_0x3afdc2['push'](_0x3afdc2['shift']());}}}(a127_0x28c2,0x92cee));import{readFile,rm,writeFile}from'node:fs/promises';import{join}from'node:path';import{getSqlQueryDetail,listSqlQueries}from'../../core/api-client.js';import{ensureParentDirectory,fileExists}from'../../core/bff/file-system.js';import{getDbName}from'../../core/db-resolver.js';import{loadSqlProjectConfig}from'../../core/sql-sync/config.js';import{computeSqlContentHash}from'../../core/sql-sync/hash.js';import{createEmptySqlLock,ensureSqlLockScope,readSqlLockFile,writeSqlLockFile}from'../../core/sql-sync/lock.js';function a127_0x43b8(_0x13a2cf,_0x2dc642){_0x13a2cf=_0x13a2cf-0xb7;const _0x28c2e7=a127_0x28c2();let _0x43b8b6=_0x28c2e7[_0x13a2cf];return _0x43b8b6;}import{resolveLocalSqlFilePath}from'../../core/sql-sync/file-system.js';import{CliErrors}from'../../errors.js';import{SQLCODE_FLAG_OPTIONAL}from'../../commands/common/flags.js';function a127_0x28c2(){const _0x510bcc=['3262719NpGEMl','553690SZZlHa','Filter\x20by\x20SQL\x20display\x20name','join','bool','unchanged','apps','toISOString','local\x20differs\x20from\x20remote\x20(use\x20--force\x20to\x20overwrite)','lockFilePath','Pull\x20complete:\x20','/smartapi/custom/queryUserCustomSqlList\x20+\x20/smartapi/custom/getUserCustomSql','push','sqlContent','117173VrIduB','190629frrqvc','conflict','message','dbId','appCode','filter','sqlcode','would_pull','test','name','cancelled','catch','584NQRpxF','sql','sqlRootDir','string','mybatisXml','\x20written,\x20','1010fAxhoM','write','Pull\x20remote\x20SQL\x20queries\x20to\x20local\x20.rabetbase/sql/','lastSync','utf8','Force\x20overwrite\x20local\x20unsynced\x20changes','1721400QYsgAA','description','str','paging','path','tableData','split','nonInteractive','length','pull','304ShcING','sqlRoot','4820ioDkzI','Would\x20pull\x20','boolean','sqlCode','Force\x20pull\x20will\x20overwrite\x20local\x20SQL\x20that\x20differs\x20from\x20remote.','sqlName','trimStart','Force\x20pull\x20cancelled.','force','replace','sqls','local\x20differs\x20from\x20remote','\x20skipped,\x20','2334068grdKSA'];a127_0x28c2=function(){return _0x510bcc;};return a127_0x28c2();}import{buildLocalSqlFileContent,buildSqlLockEntry,cloneSqlLockData,confirmForceOverwrite,ensureRemoteSqlContent,stripLocalSqlMetadata}from'./shared.js';const PAGE_SIZE=0x64;async function fetchAllSqlQueries(_0x2092cc,_0x467de1){const _0x5c08ac=a127_0x43b8,_0x3b06d1=[];let _0x1f143b=0x1;while(!![]){const _0x5e7ca1=await listSqlQueries(_0x2092cc,{'currentPage':_0x1f143b,'pageSize':PAGE_SIZE,'sqlCode':_0x467de1[_0x5c08ac(0xe5)],'sqlName':_0x467de1[_0x5c08ac(0xe7)]}),_0x4c8447=_0x5e7ca1[_0x5c08ac(0xdb)]??[];_0x3b06d1[_0x5c08ac(0xbb)](..._0x4c8447);if(_0x4c8447[_0x5c08ac(0xde)]===0x0)break;const _0x428255=_0x5e7ca1[_0x5c08ac(0xd9)]?.['totalCount'];if(_0x428255!=null?_0x3b06d1[_0x5c08ac(0xde)]>=_0x428255:_0x4c8447[_0x5c08ac(0xde)]<PAGE_SIZE)break;_0x1f143b++;}return _0x3b06d1;}async function ensureSqlContent(_0x28bd6b){const _0x4dd6c5=a127_0x43b8;if(_0x28bd6b[_0x4dd6c5(0xbc)]!=null&&String(_0x28bd6b['sqlContent'])[_0x4dd6c5(0xde)]>0x0)return _0x28bd6b;return getSqlQueryDetail(_0x28bd6b['sqlCode']);}export const sqlPull={'service':'sql','command':a127_0x55ea2b(0xdf),'description':a127_0x55ea2b(0xd2),'risk':a127_0x55ea2b(0xd1),'flags':[SQLCODE_FLAG_OPTIONAL,{'name':'name','type':a127_0x55ea2b(0xcd),'description':a127_0x55ea2b(0xf2)},{'name':a127_0x55ea2b(0xea),'type':a127_0x55ea2b(0xe4),'description':a127_0x55ea2b(0xd5)}],async 'dryRun'(_0x3c4412){const _0x44d0d6=a127_0x55ea2b,_0x33969f=loadSqlProjectConfig(_0x3c4412[_0x44d0d6(0xc2)]),_0x34374a=await readSqlLockFile(_0x33969f['lockFilePath']),{appLock:_0x156c4b}=ensureSqlLockScope(_0x34374a??createEmptySqlLock(),_0x33969f['appCode'],_0x33969f[_0x44d0d6(0xe1)],_0x44d0d6(0xdf)),_0x11e482=await fetchAllSqlQueries(_0x3c4412[_0x44d0d6(0xc2)],{'sqlCode':_0x3c4412[_0x44d0d6(0xd8)](_0x44d0d6(0xc4))||undefined,'sqlName':_0x3c4412[_0x44d0d6(0xd8)](_0x44d0d6(0xc7))||undefined}),_0x405806=[];for(const _0x9f9b0c of _0x11e482){const _0x76f50a=await ensureSqlContent(_0x9f9b0c),_0x1c5400=ensureRemoteSqlContent(_0x76f50a),_0x2f2eb2=detectModeFromSql(_0x76f50a),_0x39ef4c=_0x76f50a[_0x44d0d6(0xc1)]?await getDbName(_0x3c4412[_0x44d0d6(0xc2)],Number(_0x76f50a[_0x44d0d6(0xc1)]))['catch'](()=>undefined):undefined,_0x130cbd=buildLocalSqlFileContent({'sqlCode':_0x76f50a['sqlCode'],'sqlName':_0x76f50a[_0x44d0d6(0xe7)],'dbId':_0x76f50a['dbId']},_0x1c5400,{'dbName':_0x39ef4c,'mode':_0x2f2eb2,'syncedAt':new Date()[_0x44d0d6(0xf7)](),'description':_0x76f50a['description']}),_0x65743d=buildSqlLockEntry(_0x76f50a,_0x1c5400,'',{'dbName':_0x39ef4c}),_0xc7f709=resolveLocalSqlFilePath(_0x33969f,_0x76f50a[_0x44d0d6(0xe5)],_0x65743d);let _0x5abd5e=_0x44d0d6(0xc5),_0x559431;if(await fileExists(_0xc7f709)){const _0x11c7bc=await readFile(_0xc7f709,_0x44d0d6(0xd4));isEquivalentPulledSqlFile(_0x11c7bc,_0x130cbd,_0x2f2eb2)?(_0x5abd5e='skipped',_0x559431=_0x44d0d6(0xf5)):(_0x5abd5e=_0x44d0d6(0xbf),_0x559431=_0x44d0d6(0xb7));}_0x405806['push']({'sqlCode':_0x76f50a[_0x44d0d6(0xe5)],'sqlName':_0x76f50a[_0x44d0d6(0xe7)],'filePath':_0xc7f709,'status':_0x5abd5e,'reason':_0x559431});}return{'method':'POST','url':_0x44d0d6(0xba),'body':{'appCode':_0x3c4412[_0x44d0d6(0xc2)],'sqlCode':_0x3c4412[_0x44d0d6(0xd8)]('sqlcode')||null,'sqlName':_0x3c4412[_0x44d0d6(0xd8)](_0x44d0d6(0xc7))||null,'files':_0x405806},'description':_0x44d0d6(0xe3)+_0x405806[_0x44d0d6(0xde)]+'\x20SQL\x20file(s)\x20into\x20'+_0x33969f['sqlRootDir']};},async 'execute'(_0x45eafd){const _0x27fbb9=a127_0x55ea2b,_0x162934=loadSqlProjectConfig(_0x45eafd['appCode']),_0x2e55c9=await readSqlLockFile(_0x162934[_0x27fbb9(0xb8)]),{lockData:_0x432933,appLock:_0x1db543}=ensureSqlLockScope(_0x2e55c9??createEmptySqlLock(),_0x162934[_0x27fbb9(0xc2)],_0x162934['sqlRoot'],_0x27fbb9(0xdf)),_0x1eeae0=_0x45eafd[_0x27fbb9(0xf4)]('force'),_0x525312=await fetchAllSqlQueries(_0x45eafd['appCode'],{'sqlCode':_0x45eafd[_0x27fbb9(0xd8)](_0x27fbb9(0xc4))||undefined,'sqlName':_0x45eafd[_0x27fbb9(0xd8)](_0x27fbb9(0xc7))||undefined});if(_0x525312[_0x27fbb9(0xde)]===0x0)return{'ok':!![],'data':{'pulled':[],'skipped':[],'failed':[]},'message':'No\x20remote\x20SQL\x20queries\x20matched.'};const _0x4776d6=[],_0x42633c=[];for(const _0x26d0cb of _0x525312){try{_0x4776d6[_0x27fbb9(0xbb)](await ensureSqlContent(_0x26d0cb));}catch(_0x43801c){_0x42633c[_0x27fbb9(0xbb)]({'sqlCode':_0x26d0cb['sqlCode'],'error':_0x43801c instanceof Error?_0x43801c[_0x27fbb9(0xc0)]:String(_0x43801c)});}}if(_0x1eeae0&&!_0x45eafd[_0x27fbb9(0xdd)]){let _0x592a57=![];for(const _0x32e0f4 of _0x4776d6){const _0x5e6fc7=detectModeFromSql(_0x32e0f4),_0x4ef66b=_0x32e0f4[_0x27fbb9(0xc1)]?await getDbName(_0x45eafd[_0x27fbb9(0xc2)],Number(_0x32e0f4['dbId']))[_0x27fbb9(0xc9)](()=>undefined):undefined,_0x802d53=buildLocalSqlFileContent({'sqlCode':_0x32e0f4[_0x27fbb9(0xe5)],'sqlName':_0x32e0f4[_0x27fbb9(0xe7)],'dbId':_0x32e0f4[_0x27fbb9(0xc1)]},ensureRemoteSqlContent(_0x32e0f4),{'dbName':_0x4ef66b,'mode':_0x5e6fc7,'syncedAt':new Date()[_0x27fbb9(0xf7)](),'description':_0x32e0f4[_0x27fbb9(0xd7)]}),_0x427da9=resolveLocalSqlFilePath(_0x162934,_0x32e0f4[_0x27fbb9(0xe5)],buildSqlLockEntry(_0x32e0f4,ensureRemoteSqlContent(_0x32e0f4),'',{'dbName':_0x4ef66b}));if(await fileExists(_0x427da9)){const _0x50c87d=await readFile(_0x427da9,_0x27fbb9(0xd4));if(!isEquivalentPulledSqlFile(_0x50c87d,_0x802d53,_0x5e6fc7)){_0x592a57=!![];break;}}}if(_0x592a57){const _0x41e8dd=await confirmForceOverwrite(_0x27fbb9(0xe6));if(!_0x41e8dd)throw CliErrors[_0x27fbb9(0xc8)](_0x27fbb9(0xe9));}}const _0x37e1b9=cloneSqlLockData(_0x432933),_0x2af8fb=_0x37e1b9[_0x27fbb9(0xf6)][_0x162934[_0x27fbb9(0xc2)]],_0xbcb750=[],_0x4774f1=[];for(const _0x24fde7 of _0x4776d6){const _0x4cf953=_0x2af8fb[_0x27fbb9(0xec)][_0x24fde7['sqlCode']],_0x4bd5f6=ensureRemoteSqlContent(_0x24fde7),_0x21ac1d=detectModeFromSql(_0x24fde7),_0x23faa0=_0x24fde7[_0x27fbb9(0xc1)]?await getDbName(_0x45eafd[_0x27fbb9(0xc2)],Number(_0x24fde7[_0x27fbb9(0xc1)]))[_0x27fbb9(0xc9)](()=>undefined):undefined,_0x4dad6e=buildLocalSqlFileContent({'sqlCode':_0x24fde7['sqlCode'],'sqlName':_0x24fde7[_0x27fbb9(0xe7)],'dbId':_0x24fde7[_0x27fbb9(0xc1)]},_0x4bd5f6,{'dbName':_0x23faa0,'mode':_0x21ac1d,'syncedAt':new Date()['toISOString'](),'description':_0x24fde7[_0x27fbb9(0xd7)]}),_0x45f525=buildSqlLockEntry(_0x24fde7,_0x4bd5f6,computeSqlContentHash(_0x4dad6e),{'dbName':_0x23faa0}),_0x4564c5=_0x45f525['path'],_0x48794c=join(_0x162934['sqlRootDir'],_0x4564c5);try{if(await fileExists(_0x48794c)){const _0xec37fc=await readFile(_0x48794c,_0x27fbb9(0xd4));if(isEquivalentPulledSqlFile(_0xec37fc,_0x4dad6e,_0x21ac1d)){_0x4774f1[_0x27fbb9(0xbb)]({'sqlCode':_0x24fde7['sqlCode'],'reason':_0x27fbb9(0xf5)}),_0x2af8fb[_0x27fbb9(0xec)][_0x24fde7[_0x27fbb9(0xe5)]]={..._0x45f525,'hash':computeSqlContentHash(_0xec37fc),'path':_0x4564c5};continue;}if(!_0x1eeae0){_0x4774f1[_0x27fbb9(0xbb)]({'sqlCode':_0x24fde7['sqlCode'],'reason':_0x27fbb9(0xed)});continue;}}const _0x39654c=_0x4cf953?.[_0x27fbb9(0xda)]?join(_0x162934[_0x27fbb9(0xcc)],_0x4cf953[_0x27fbb9(0xda)]):undefined;_0x39654c&&_0x39654c!==_0x48794c&&await fileExists(_0x39654c)&&await rm(_0x39654c,{'force':!![]}),await ensureParentDirectory(_0x48794c),await writeFile(_0x48794c,_0x4dad6e,_0x27fbb9(0xd4)),_0x2af8fb[_0x27fbb9(0xec)][_0x24fde7[_0x27fbb9(0xe5)]]={..._0x45f525,'path':_0x4564c5},_0xbcb750[_0x27fbb9(0xbb)]({'sqlCode':_0x24fde7[_0x27fbb9(0xe5)],'filePath':_0x48794c});}catch(_0x4795db){_0x42633c[_0x27fbb9(0xbb)]({'sqlCode':_0x24fde7['sqlCode'],'error':_0x4795db instanceof Error?_0x4795db[_0x27fbb9(0xc0)]:String(_0x4795db)});}}return _0x2af8fb[_0x27fbb9(0xd3)]=new Date()['toISOString'](),await writeSqlLockFile(_0x162934[_0x27fbb9(0xb8)],_0x37e1b9),{'ok':_0x42633c[_0x27fbb9(0xde)]===0x0,'data':{'pulled':_0xbcb750,'skipped':_0x4774f1,'failed':_0x42633c},'message':_0x27fbb9(0xb9)+_0xbcb750[_0x27fbb9(0xde)]+_0x27fbb9(0xcf)+_0x4774f1[_0x27fbb9(0xde)]+_0x27fbb9(0xee)+_0x42633c[_0x27fbb9(0xde)]+'\x20failed'};}};function detectModeFromSql(_0x1d0f72){const _0x232afc=a127_0x55ea2b,_0x4878a9=ensureRemoteSqlContent(_0x1d0f72),_0x4d59ad=stripLocalSqlMetadata(_0x4878a9,'mybatisXml')[_0x232afc(0xe8)]();if(/^<(select|insert|update|delete)\b/i[_0x232afc(0xc6)](_0x4d59ad))return _0x232afc(0xce);return _0x232afc(0xcb);}function isEquivalentPulledSqlFile(_0x3c3ad6,_0x53c261,_0xb9f6d0){return normalizePullComparableContent(_0x3c3ad6,_0xb9f6d0)===normalizePullComparableContent(_0x53c261,_0xb9f6d0);}function normalizePullComparableContent(_0xd778ab,_0x11155a){const _0x4c2866=a127_0x55ea2b,_0x2f91ca=_0xd778ab[_0x4c2866(0xeb)](/\r\n/g,'\x0a')[_0x4c2866(0xdc)]('\x0a'),_0x1f28af=_0x2f91ca[_0x4c2866(0xc3)](_0x390d94=>!isSyncedAtMetadataLine(_0x390d94,_0x11155a));return _0x1f28af[_0x4c2866(0xf3)]('\x0a');}function isSyncedAtMetadataLine(_0x50a956,_0x53323b){const _0x6be301=a127_0x55ea2b;if(_0x53323b==='mybatisXml')return/^\s*<!--\s*@lovrabet\.syncedAt:/['test'](_0x50a956);return/^\s*--\s*@lovrabet\.syncedAt:/[_0x6be301(0xc6)](_0x50a956);}
|