@lovrabet/rabetbase-cli 2.2.1-beta.2 → 2.2.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
|
+
const a116_0xab3248=a116_0x42de;function a116_0x4511(){const _0x991148=['\x20→\x20latest','\x20→\x20keys:\x20','detail','join','log','hasNewConfig','Step\x202/7:\x20.lovrabet/\x20directory\x20removed','label','inherit','exit\x20','\x20\x20New\x20config\x20(.rabetbase.json):\x20','isArray','not\x20found\x20(will\x20create)','oldArtifacts','@lovrabet/sdk\x20has\x20been\x20updated\x20to\x20latest\x20in\x20package.json.','stringify','fields','filter','oldPath','\x20\x20Action:\x20delete','\x20→\x20','length','oldMcpConfig','devDependencies','skipped','yellow','keys','MCP\x20config:','gray','files','\x20removed','Clean\x20MCP\x20config','20VnjZXu','Step\x203/7:\x20Legacy\x20artifacts\x20—\x20','\x20\x20npm\x20install','cyan','mcpServers','Please\x20re-install\x20dependencies\x20to\x20apply\x20the\x20change:','.lovrabet','Remove\x20old\x20skill','136jzxHRN','\x20\x20#\x20or','Step\x202/7:\x20Removing\x20.lovrabet/\x20directory...','Step\x206/7:\x20Installing\x20new\x20skill...','Step\x204/7:\x20MCP\x20config\x20—\x20','already\x20exists\x20(will\x20merge)','fail','Step\x202/7:\x20.lovrabet/\x20removal\x20failed\x20—\x20','none\x20found','status','yes','@lovrabet/dataset-mcp-server','info','Step\x202/7:\x20.lovrabet/\x20not\x20found,\x20skipped','@lovrabet/sdk','not\x20needed','Step\x207/7:\x20Upgrading\x20@lovrabet/sdk\x20in\x20package.json...','Step\x204/7:\x20Cleaning\x20MCP\x20config...','Remove\x20legacy\x20artifacts','Skill\x20swap:','6LFflwz','package.json','@lovrabet/sdk:','done','some','\x20from\x20','.bak','CANCEL','\x20\x20Fields\x20to\x20migrate:\x20','cwd','2745050oBpVIP','24638779DoVHEb','removed\x20','Config\x20file:','isDirectory','No\x20legacy\x20artifacts\x20found.\x20Your\x20project\x20is\x20already\x20up-to-date.','lovrabet/rabetbase','lovrabet/lovrabet-skill\x20removed','Step\x203/7:\x20Removing\x20legacy\x20IDE\x20skill\x20files...','white','args','Remove\x20.lovrabet/','\x20(backup:\x20','Step\x206/7:\x20Install\x20new\x20skill\x20—\x20','not\x20found\x20or\x20already\x20at\x20latest','skipped\x20(no\x20legacy\x20config)','lovrabet/rabetbase\x20installed\x20globally','error','parse','Upgrade\x20completed\x20successfully!','FAIL','step','798989uyiPlY','3gwjrHy','===\x20Upgrade\x20Summary\x20===','needsSkillSwap','entries','red','green','path','Legacy\x20artifacts:','no\x20legacy\x20entry','start','failed','845240XsqEjG','1946108uVJqDS','\x20\x20Action:\x20update\x20package.json\x20(you\x20will\x20need\x20to\x20re-run\x20install)','.cursor/rules/lovrabet_rules.mdc','push','Some\x20steps\x20failed.\x20Check\x20the\x20summary\x20above\x20for\x20details.','\x20\x20Action:\x20remove\x20entries\x20containing\x20@lovrabet/dataset-mcp-server','712413raAhPN','\x20\x20bun\x20install','includes','string','Upgrade\x20@lovrabet/sdk','2665894LPkQxI','values','message','bold','latest','utf8','undefined','===\x20Upgrade\x20Analysis\x20===','succeed','sdkUpgrade','Step\x201/7:\x20Config\x20migration\x20—\x20','Step\x201/7:\x20Migrating\x20config...','\x20\x20Current\x20version\x20in\x20','object'];a116_0x4511=function(){return _0x991148;};return a116_0x4511();}(function(_0x2a0bb7,_0x43de4b){const _0x16ecb7=a116_0x42de,_0x59e854=_0x2a0bb7();while(!![]){try{const _0x379a1e=-parseInt(_0x16ecb7(0x113))/0x1+-parseInt(_0x16ecb7(0xfd))/0x2+-parseInt(_0x16ecb7(0x114))/0x3*(parseInt(_0x16ecb7(0x120))/0x4)+-parseInt(_0x16ecb7(0x11f))/0x5+parseInt(_0x16ecb7(0xf3))/0x6*(parseInt(_0x16ecb7(0x12b))/0x7)+-parseInt(_0x16ecb7(0xdf))/0x8*(parseInt(_0x16ecb7(0x126))/0x9)+-parseInt(_0x16ecb7(0x159))/0xa*(-parseInt(_0x16ecb7(0xfe))/0xb);if(_0x379a1e===_0x43de4b)break;else _0x59e854['push'](_0x59e854['shift']());}catch(_0x1c63f2){_0x59e854['push'](_0x59e854['shift']());}}}(a116_0x4511,0xa7ef6));import a116_0x13a8f8 from'chalk';import a116_0x5ac03d from'ora';import{existsSync,readFileSync,renameSync,rmSync,statSync,unlinkSync,writeFileSync}from'node:fs';import{resolve}from'node:path';import{CONFIG_NAMES,NEW_CONFIG_NAME,readConfigFile,writeConfigFile}from'../../context.js';import{CORE_IDE_CONFIGS}from'../../utils/ai_config.js';import{NPX_SKILLS_ADD_GLOBAL_COMMAND_LINE,runNpxSkillsAddGlobal,runNpxSkillsRemove}from'../../skills/npx-skills-add.js';import{askConfirm}from'../../commands/menu/shared/inquirer.js';const LEGACY_CONFIG_NAMES=CONFIG_NAMES[a116_0xab3248(0x14a)](_0x3bee97=>_0x3bee97!==NEW_CONFIG_NAME);function collectIdeSkillFiles(_0x4a259a){const _0x3abb82=a116_0xab3248,_0x301661=[];for(const _0x3c57f6 of Object[_0x3abb82(0x12c)](CORE_IDE_CONFIGS)){if(_0x3c57f6[_0x3abb82(0x156)])for(const _0x2a8545 of _0x3c57f6[_0x3abb82(0x156)]){_0x301661[_0x3abb82(0x123)](resolve(_0x4a259a,_0x2a8545[_0x3abb82(0x11a)]));}}return _0x301661;}function analyse(_0x2b67d0){const _0x4d22c7=a116_0xab3248;let _0x5ee9b5=null;const _0x316dfd=resolve(_0x2b67d0,NEW_CONFIG_NAME),_0x493dc1=existsSync(_0x316dfd);for(const _0x2291af of LEGACY_CONFIG_NAMES){const _0x58e80c=resolve(_0x2b67d0,_0x2291af);if(existsSync(_0x58e80c)){const _0x8f2ab4=readConfigFile(_0x58e80c),_0x166087=Object['keys'](_0x8f2ab4)[_0x4d22c7(0x14a)](_0x142330=>typeof _0x8f2ab4[_0x142330]!==_0x4d22c7(0x131));_0x5ee9b5={'oldPath':_0x58e80c,'hasNewConfig':_0x493dc1,'fields':_0x166087};break;}}const _0x207905=[],_0x577176=resolve(_0x2b67d0,_0x4d22c7(0xdd));if(existsSync(_0x577176))_0x207905[_0x4d22c7(0x123)](_0x577176);const _0x4d6f86=resolve(_0x2b67d0,_0x4d22c7(0x122));if(existsSync(_0x4d6f86))_0x207905[_0x4d22c7(0x123)](_0x4d6f86);const _0x4eed76=resolve(_0x2b67d0,'.claude/skills/lovrabet');if(existsSync(_0x4eed76))_0x207905[_0x4d22c7(0x123)](_0x4eed76);for(const _0x5cb172 of collectIdeSkillFiles(_0x2b67d0)){if(existsSync(_0x5cb172))_0x207905[_0x4d22c7(0x123)](_0x5cb172);}let _0xc8ef2c=null;const _0x1f9c77=resolve(_0x2b67d0,'.cursor/mcp.json');if(existsSync(_0x1f9c77))try{const _0x3e72de=JSON[_0x4d22c7(0x10f)](readFileSync(_0x1f9c77,_0x4d22c7(0x130)));if(_0x3e72de?.[_0x4d22c7(0x15d)]&&typeof _0x3e72de['mcpServers']==='object'){const _0x762fa1=[];for(const [_0x575ecf,_0x4ad6c5]of Object[_0x4d22c7(0x117)](_0x3e72de[_0x4d22c7(0x15d)])){const _0x447b66=_0x4ad6c5;_0x447b66?.[_0x4d22c7(0x107)]&&Array[_0x4d22c7(0x144)](_0x447b66[_0x4d22c7(0x107)])&&_0x447b66[_0x4d22c7(0x107)][_0x4d22c7(0xf7)](_0x14bc10=>typeof _0x14bc10===_0x4d22c7(0x129)&&_0x14bc10[_0x4d22c7(0x128)](_0x4d22c7(0xea)))&&_0x762fa1[_0x4d22c7(0x123)](_0x575ecf);}_0x762fa1[_0x4d22c7(0x14e)]>0x0&&(_0xc8ef2c={'path':_0x1f9c77,'keys':_0x762fa1});}}catch{}const _0x2bffdf=_0x207905[_0x4d22c7(0x14e)]>0x0||_0x5ee9b5!==null;let _0x1d554c=null;const _0x5ab320=resolve(_0x2b67d0,_0x4d22c7(0xf4));if(existsSync(_0x5ab320))try{const _0x4aa01d=JSON[_0x4d22c7(0x10f)](readFileSync(_0x5ab320,_0x4d22c7(0x130)));for(const _0x5ad960 of['dependencies',_0x4d22c7(0x150)]){const _0x3aa24b=_0x4aa01d?.[_0x5ad960]?.[_0x4d22c7(0xed)];if(typeof _0x3aa24b===_0x4d22c7(0x129)){_0x3aa24b!==_0x4d22c7(0x12f)&&(_0x1d554c={'pkgPath':_0x5ab320,'currentVersion':_0x3aa24b,'field':_0x5ad960});break;}}}catch{}return{'configMigration':_0x5ee9b5,'oldArtifacts':_0x207905,'oldMcpConfig':_0xc8ef2c,'needsSkillSwap':_0x2bffdf,'sdkUpgrade':_0x1d554c};}function printReport(_0x132729){const _0x1bd576=a116_0xab3248,{configMigration:_0x1f3498,oldArtifacts:_0x20828c,oldMcpConfig:_0x355cdc,needsSkillSwap:_0x50e691}=_0x132729;console[_0x1bd576(0x13d)](''),console[_0x1bd576(0x13d)](a116_0x13a8f8['bold'](_0x1bd576(0x132))),console[_0x1bd576(0x13d)]('');_0x1f3498?(console[_0x1bd576(0x13d)](a116_0x13a8f8[_0x1bd576(0x15c)](_0x1bd576(0x100))+('\x20\x20'+a116_0x13a8f8['yellow'](_0x1f3498[_0x1bd576(0x14b)]))),console[_0x1bd576(0x13d)](_0x1bd576(0x143)+(_0x1f3498[_0x1bd576(0x13e)]?a116_0x13a8f8[_0x1bd576(0x119)](_0x1bd576(0xe4)):a116_0x13a8f8['gray'](_0x1bd576(0x145)))),console['log'](_0x1bd576(0xfb)+_0x1f3498[_0x1bd576(0x149)][_0x1bd576(0x13c)](',\x20')),console['log']('\x20\x20Action:\x20migrate\x20→\x20backup\x20old\x20as\x20.bak')):console[_0x1bd576(0x13d)](a116_0x13a8f8[_0x1bd576(0x15c)](_0x1bd576(0x100))+'\x20\x20'+a116_0x13a8f8[_0x1bd576(0x155)]('no\x20legacy\x20config\x20found'));console[_0x1bd576(0x13d)]('');if(_0x20828c[_0x1bd576(0x14e)]>0x0){console[_0x1bd576(0x13d)](a116_0x13a8f8[_0x1bd576(0x15c)](_0x1bd576(0x11b)));for(const _0x354de9 of _0x20828c){console['log']('\x20\x20'+a116_0x13a8f8[_0x1bd576(0x118)]('FOUND')+'\x20\x20'+_0x354de9);}console['log'](_0x1bd576(0x14c));}else console[_0x1bd576(0x13d)](a116_0x13a8f8[_0x1bd576(0x15c)](_0x1bd576(0x11b))+'\x20\x20'+a116_0x13a8f8[_0x1bd576(0x155)](_0x1bd576(0xe7)));console[_0x1bd576(0x13d)]('');_0x355cdc?(console[_0x1bd576(0x13d)](a116_0x13a8f8[_0x1bd576(0x15c)]('MCP\x20config:')+('\x20\x20'+a116_0x13a8f8[_0x1bd576(0x152)](_0x355cdc[_0x1bd576(0x11a)])+_0x1bd576(0x13a)+_0x355cdc[_0x1bd576(0x153)][_0x1bd576(0x13c)](',\x20'))),console[_0x1bd576(0x13d)](_0x1bd576(0x125))):console[_0x1bd576(0x13d)](a116_0x13a8f8[_0x1bd576(0x15c)](_0x1bd576(0x154))+'\x20\x20'+a116_0x13a8f8['gray'](_0x1bd576(0x11c)));console[_0x1bd576(0x13d)](''),console[_0x1bd576(0x13d)](a116_0x13a8f8[_0x1bd576(0x15c)](_0x1bd576(0xf2))+('\x20\x20'+(_0x50e691?a116_0x13a8f8[_0x1bd576(0x152)]('needed'):a116_0x13a8f8[_0x1bd576(0x119)](_0x1bd576(0xee)))));_0x50e691&&console[_0x1bd576(0x13d)]('\x20\x20Action:\x20remove\x20old\x20lovrabet/lovrabet-skill,\x20add\x20via\x20`'+NPX_SKILLS_ADD_GLOBAL_COMMAND_LINE+'`');console[_0x1bd576(0x13d)]('');if(_0x132729[_0x1bd576(0x134)]){const {currentVersion:_0x432852,field:_0x23c4e9,pkgPath:_0x437f82}=_0x132729[_0x1bd576(0x134)];console[_0x1bd576(0x13d)](a116_0x13a8f8[_0x1bd576(0x15c)](_0x1bd576(0xf5))+('\x20\x20'+a116_0x13a8f8[_0x1bd576(0x152)](_0x437f82))),console['log'](_0x1bd576(0x137)+_0x23c4e9+':\x20'+a116_0x13a8f8['yellow'](_0x432852)+_0x1bd576(0x14d)+a116_0x13a8f8[_0x1bd576(0x119)](_0x1bd576(0x12f))),console[_0x1bd576(0x13d)](_0x1bd576(0x121));}else console[_0x1bd576(0x13d)](a116_0x13a8f8[_0x1bd576(0x15c)](_0x1bd576(0xf5))+'\x20\x20'+a116_0x13a8f8[_0x1bd576(0x155)](_0x1bd576(0x10b)));console[_0x1bd576(0x13d)]('');}function execConfigMigration(_0x54dfa3,_0x39f1ee){const _0x3ffd3c=a116_0xab3248,{configMigration:_0x2df234}=_0x54dfa3;if(!_0x2df234?.[_0x3ffd3c(0x14b)])return{'step':0x1,'label':'Config\x20migration','ok':!![],'detail':_0x3ffd3c(0x10c)};const _0x4c012a=readConfigFile(_0x2df234[_0x3ffd3c(0x14b)]),_0x4c1381=resolve(_0x39f1ee,NEW_CONFIG_NAME),_0x579029=_0x2df234[_0x3ffd3c(0x13e)]?readConfigFile(_0x4c1381):{};for(const [_0x50f43a,_0x2ca174]of Object['entries'](_0x4c012a)){!(_0x50f43a in _0x579029)&&(_0x579029[_0x50f43a]=_0x2ca174);}writeConfigFile(_0x4c1381,_0x579029);const _0x3b7f94=_0x2df234['oldPath']+_0x3ffd3c(0xf9);return renameSync(_0x2df234['oldPath'],_0x3b7f94),{'step':0x1,'label':'Config\x20migration','ok':!![],'detail':_0x2df234[_0x3ffd3c(0x14b)]+'\x20→\x20'+_0x4c1381+_0x3ffd3c(0x109)+_0x3b7f94+')'};}function execRemoveOldArtifacts(_0x577970){const _0x11c870=a116_0xab3248,_0x5e76f0=[];for(const _0x3c6a64 of _0x577970){try{if(!existsSync(_0x3c6a64))continue;const _0x4b4dc2=tryStat(_0x3c6a64);_0x4b4dc2?.[_0x11c870(0x101)]()?rmSync(_0x3c6a64,{'recursive':!![],'force':!![]}):unlinkSync(_0x3c6a64);}catch(_0x15fc88){_0x5e76f0[_0x11c870(0x123)](_0x3c6a64+':\x20'+_0x15fc88[_0x11c870(0x12d)]);}}return{'step':0x3,'label':_0x11c870(0xf1),'ok':_0x5e76f0[_0x11c870(0x14e)]===0x0,'detail':_0x5e76f0[_0x11c870(0x14e)]>0x0?_0x577970[_0x11c870(0x14e)]-_0x5e76f0['length']+'/'+_0x577970[_0x11c870(0x14e)]+'\x20removed\x20('+_0x5e76f0[_0x11c870(0x13c)](';\x20')+')':_0x577970[_0x11c870(0x14e)]+_0x11c870(0x157)};}function execCleanMcp(_0x3f1ea4){const _0x20472f=a116_0xab3248;if(!_0x3f1ea4['oldMcpConfig'])return{'step':0x4,'label':'Clean\x20MCP\x20config','ok':!![],'detail':'skipped'};try{const _0x330b62=readFileSync(_0x3f1ea4[_0x20472f(0x14f)][_0x20472f(0x11a)],_0x20472f(0x130)),_0x4d7630=JSON[_0x20472f(0x10f)](_0x330b62);if(_0x4d7630?.[_0x20472f(0x15d)]&&typeof _0x4d7630[_0x20472f(0x15d)]===_0x20472f(0x138)){const _0x2ff0e0=[];for(const [_0x3cda32,_0x14452f]of Object[_0x20472f(0x117)](_0x4d7630[_0x20472f(0x15d)])){_0x14452f?.['args']&&Array[_0x20472f(0x144)](_0x14452f['args'])&&_0x14452f[_0x20472f(0x107)][_0x20472f(0xf7)](_0x48c026=>typeof _0x48c026===_0x20472f(0x129)&&_0x48c026['includes'](_0x20472f(0xea)))&&_0x2ff0e0[_0x20472f(0x123)](_0x3cda32);}for(const _0x226301 of _0x2ff0e0){delete _0x4d7630['mcpServers'][_0x226301];}return _0x2ff0e0[_0x20472f(0x14e)]>0x0&&writeFileSync(_0x3f1ea4[_0x20472f(0x14f)][_0x20472f(0x11a)],JSON['stringify'](_0x4d7630,null,0x2)+'\x0a',_0x20472f(0x130)),{'step':0x4,'label':_0x20472f(0x158),'ok':!![],'detail':_0x20472f(0xff)+_0x2ff0e0[_0x20472f(0x13c)](',\x20')+_0x20472f(0xf8)+_0x3f1ea4[_0x20472f(0x14f)][_0x20472f(0x11a)]};}return{'step':0x4,'label':'Clean\x20MCP\x20config','ok':!![],'detail':'no\x20matching\x20entry\x20found'};}catch(_0x57b30f){return{'step':0x4,'label':_0x20472f(0x158),'ok':![],'detail':_0x57b30f[_0x20472f(0x12d)]};}}function execSkillsRemove(_0x13b371,_0x599ec2){const _0x19f73e=a116_0xab3248,_0x3ab5ca=runNpxSkillsRemove(_0x13b371,{'stdio':_0x19f73e(0x141),'yes':_0x599ec2});return{'step':0x5,'label':_0x19f73e(0xde),'ok':_0x3ab5ca['ok'],'detail':_0x3ab5ca['ok']?_0x19f73e(0x104):_0x3ab5ca[_0x19f73e(0x10e)]??_0x19f73e(0x142)+_0x3ab5ca['status']};}function a116_0x42de(_0x4dc0e2,_0x33258a){_0x4dc0e2=_0x4dc0e2-0xdc;const _0x451137=a116_0x4511();let _0x42deb5=_0x451137[_0x4dc0e2];return _0x42deb5;}function execSkillsAdd(_0x134fcb,_0xd5818){const _0x53081e=a116_0xab3248,_0x47e2de=runNpxSkillsAddGlobal(_0x134fcb,_0x53081e(0x103),{'stdio':_0x53081e(0x141),'yes':_0xd5818});return{'step':0x6,'label':'Install\x20new\x20skill','ok':_0x47e2de['ok'],'detail':_0x47e2de['ok']?_0x53081e(0x10d):_0x47e2de['error']??_0x53081e(0x142)+_0x47e2de[_0x53081e(0xe8)]};}function execUpgradeSdk(_0x47c2f2){const _0x2df4ed=a116_0xab3248;if(!_0x47c2f2['sdkUpgrade'])return{'step':0x7,'label':'Upgrade\x20@lovrabet/sdk','ok':!![],'detail':'skipped\x20(not\x20found\x20or\x20already\x20at\x20latest)'};const {pkgPath:_0x1c3a3e,currentVersion:_0x36558e,field:_0x264eab}=_0x47c2f2[_0x2df4ed(0x134)];try{const _0x2617b5=readFileSync(_0x1c3a3e,_0x2df4ed(0x130)),_0x340202=JSON[_0x2df4ed(0x10f)](_0x2617b5);return _0x340202[_0x264eab][_0x2df4ed(0xed)]=_0x2df4ed(0x12f),writeFileSync(_0x1c3a3e,JSON[_0x2df4ed(0x148)](_0x340202,null,0x2)+'\x0a',_0x2df4ed(0x130)),{'step':0x7,'label':_0x2df4ed(0x12a),'ok':!![],'detail':_0x264eab+'[\x22@lovrabet/sdk\x22]:\x20'+_0x36558e+_0x2df4ed(0x139)};}catch(_0x37382d){return{'step':0x7,'label':'Upgrade\x20@lovrabet/sdk','ok':![],'detail':_0x37382d[_0x2df4ed(0x12d)]};}}function tryStat(_0x10e3ef){try{return statSync(_0x10e3ef);}catch{return undefined;}}function printSummary(_0xb6e573){const _0x1bc8f9=a116_0xab3248;console[_0x1bc8f9(0x13d)](''),console[_0x1bc8f9(0x13d)](a116_0x13a8f8[_0x1bc8f9(0x12e)](_0x1bc8f9(0x115))),console[_0x1bc8f9(0x13d)]('');for(const _0x1bf727 of _0xb6e573){const _0x48e2b0=_0x1bf727['ok']?a116_0x13a8f8[_0x1bc8f9(0x119)]('OK'):a116_0x13a8f8['red'](_0x1bc8f9(0x111));console['log']('\x20\x20'+_0x48e2b0+'\x20\x20Step\x20'+_0x1bf727[_0x1bc8f9(0x112)]+':\x20'+_0x1bf727[_0x1bc8f9(0x140)]);if(_0x1bf727['detail'])console[_0x1bc8f9(0x13d)]('\x20\x20\x20\x20\x20\x20\x20'+a116_0x13a8f8[_0x1bc8f9(0x155)](_0x1bf727[_0x1bc8f9(0x13b)]));}console['log']('');}export async function upgradeApp(_0x1b56ae,_0x3b68ba){const _0x31ac3e=a116_0xab3248,_0x147285=process[_0x31ac3e(0xfc)](),_0x4aa6cf=analyse(_0x147285),_0x1f4d78=!_0x4aa6cf['configMigration']&&_0x4aa6cf[_0x31ac3e(0x146)][_0x31ac3e(0x14e)]===0x0&&!_0x4aa6cf[_0x31ac3e(0x14f)]&&!_0x4aa6cf[_0x31ac3e(0x116)]&&!_0x4aa6cf['sdkUpgrade'];if(_0x1f4d78){console[_0x31ac3e(0x13d)](a116_0x13a8f8['green'](_0x31ac3e(0x102)));return;}printReport(_0x4aa6cf);const _0x72a64d=!!(_0x3b68ba[_0x31ac3e(0xe9)]||_0x3b68ba['Y']||_0x1b56ae);if(!_0x72a64d)try{const _0x580b02=await askConfirm('Proceed\x20with\x20upgrade?');if(!_0x580b02){console['log'](a116_0x13a8f8[_0x31ac3e(0x155)]('Upgrade\x20cancelled.'));return;}}catch(_0x59a641){if(_0x59a641?.[_0x31ac3e(0x12d)]===_0x31ac3e(0xfa)){console[_0x31ac3e(0x13d)](a116_0x13a8f8[_0x31ac3e(0x155)]('Upgrade\x20cancelled.'));return;}throw _0x59a641;}const _0x224bcf=[],_0x62d451=a116_0x5ac03d({'text':_0x31ac3e(0x136),'color':_0x31ac3e(0x15c)})[_0x31ac3e(0x11d)](),_0x2d02c4=execConfigMigration(_0x4aa6cf,_0x147285);_0x224bcf[_0x31ac3e(0x123)](_0x2d02c4),_0x62d451[_0x2d02c4['ok']?'succeed':_0x31ac3e(0xe5)](_0x31ac3e(0x135)+(_0x2d02c4['detail']??(_0x2d02c4['ok']?'done':_0x31ac3e(0x11e))));const _0x4374ff=resolve(_0x147285,_0x31ac3e(0xdd)),_0x243562=a116_0x5ac03d({'text':_0x31ac3e(0xe1),'color':_0x31ac3e(0x15c)})[_0x31ac3e(0x11d)]();if(existsSync(_0x4374ff))try{rmSync(_0x4374ff,{'recursive':!![],'force':!![]}),_0x243562[_0x31ac3e(0x133)](_0x31ac3e(0x13f)),_0x224bcf[_0x31ac3e(0x123)]({'step':0x2,'label':_0x31ac3e(0x108),'ok':!![]});}catch(_0x19482a){_0x243562['fail'](_0x31ac3e(0xe6)+_0x19482a[_0x31ac3e(0x12d)]),_0x224bcf[_0x31ac3e(0x123)]({'step':0x2,'label':'Remove\x20.lovrabet/','ok':![],'detail':_0x19482a[_0x31ac3e(0x12d)]});}else _0x243562[_0x31ac3e(0xeb)](_0x31ac3e(0xec)),_0x224bcf[_0x31ac3e(0x123)]({'step':0x2,'label':'Remove\x20.lovrabet/','ok':!![],'detail':_0x31ac3e(0x151)});const _0x487701=a116_0x5ac03d({'text':_0x31ac3e(0x105),'color':_0x31ac3e(0x15c)})['start'](),_0x3deaf4=execRemoveOldArtifacts(_0x4aa6cf[_0x31ac3e(0x146)]);_0x224bcf[_0x31ac3e(0x123)](_0x3deaf4),_0x487701[_0x3deaf4['ok']?_0x31ac3e(0x133):_0x31ac3e(0xe5)](_0x31ac3e(0x15a)+(_0x3deaf4['detail']??(_0x3deaf4['ok']?_0x31ac3e(0xf6):_0x31ac3e(0x11e))));const _0xa2c19b=a116_0x5ac03d({'text':_0x31ac3e(0xf0),'color':_0x31ac3e(0x15c)})[_0x31ac3e(0x11d)](),_0x4e22a2=execCleanMcp(_0x4aa6cf);_0x224bcf['push'](_0x4e22a2),_0xa2c19b[_0x4e22a2['ok']?_0x31ac3e(0x133):'fail'](_0x31ac3e(0xe3)+(_0x4e22a2[_0x31ac3e(0x13b)]??(_0x4e22a2['ok']?_0x31ac3e(0xf6):_0x31ac3e(0x11e))));const _0x417c8a=a116_0x5ac03d({'text':'Step\x205/7:\x20Removing\x20old\x20skill...','color':_0x31ac3e(0x15c)})[_0x31ac3e(0x11d)](),_0x59565d=execSkillsRemove(_0x147285,_0x72a64d);_0x224bcf[_0x31ac3e(0x123)](_0x59565d),_0x417c8a[_0x59565d['ok']?_0x31ac3e(0x133):'fail']('Step\x205/7:\x20Remove\x20old\x20skill\x20—\x20'+(_0x59565d['detail']??(_0x59565d['ok']?'done':_0x31ac3e(0x11e))));const _0x839e9=a116_0x5ac03d({'text':_0x31ac3e(0xe2),'color':_0x31ac3e(0x15c)})['start'](),_0x49cee6=execSkillsAdd(_0x147285,_0x72a64d);_0x224bcf['push'](_0x49cee6),_0x839e9[_0x49cee6['ok']?_0x31ac3e(0x133):_0x31ac3e(0xe5)](_0x31ac3e(0x10a)+(_0x49cee6['detail']??(_0x49cee6['ok']?'done':_0x31ac3e(0x11e))));const _0x4c36da=a116_0x5ac03d({'text':_0x31ac3e(0xef),'color':_0x31ac3e(0x15c)})[_0x31ac3e(0x11d)](),_0x5af937=execUpgradeSdk(_0x4aa6cf);_0x224bcf[_0x31ac3e(0x123)](_0x5af937),_0x4c36da[_0x5af937['ok']?'succeed':_0x31ac3e(0xe5)]('Step\x207/7:\x20@lovrabet/sdk\x20—\x20'+(_0x5af937[_0x31ac3e(0x13b)]??(_0x5af937['ok']?_0x31ac3e(0xf6):_0x31ac3e(0x11e)))),printSummary(_0x224bcf);const _0x2b11ce=_0x224bcf[_0x31ac3e(0xf7)](_0xf91a17=>!_0xf91a17['ok']);_0x2b11ce?console[_0x31ac3e(0x13d)](a116_0x13a8f8[_0x31ac3e(0x152)](_0x31ac3e(0x124))):console['log'](a116_0x13a8f8[_0x31ac3e(0x119)](_0x31ac3e(0x110))),_0x5af937['ok']&&_0x4aa6cf[_0x31ac3e(0x134)]&&(console[_0x31ac3e(0x13d)](''),console[_0x31ac3e(0x13d)](a116_0x13a8f8['bold'][_0x31ac3e(0x15c)](_0x31ac3e(0x147))),console[_0x31ac3e(0x13d)](a116_0x13a8f8[_0x31ac3e(0x15c)](_0x31ac3e(0xdc))),console[_0x31ac3e(0x13d)](''),console[_0x31ac3e(0x13d)](a116_0x13a8f8[_0x31ac3e(0x106)](_0x31ac3e(0x15b))),console[_0x31ac3e(0x13d)](a116_0x13a8f8[_0x31ac3e(0x106)](_0x31ac3e(0xe0))),console[_0x31ac3e(0x13d)](a116_0x13a8f8['white'](_0x31ac3e(0x127))),console[_0x31ac3e(0x13d)](''));}
|
package/lib/commands/registry.js
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
const
|
|
1
|
+
const a117_0x507e73=a117_0x4c08;(function(_0x3c75ba,_0x5c96ef){const _0x1b7465=a117_0x4c08,_0x5f258b=_0x3c75ba();while(!![]){try{const _0x4920a2=parseInt(_0x1b7465(0xff))/0x1*(parseInt(_0x1b7465(0xf2))/0x2)+parseInt(_0x1b7465(0xe9))/0x3+parseInt(_0x1b7465(0xec))/0x4+parseInt(_0x1b7465(0xd3))/0x5+-parseInt(_0x1b7465(0xe0))/0x6+parseInt(_0x1b7465(0xda))/0x7+-parseInt(_0x1b7465(0xed))/0x8;if(_0x4920a2===_0x5c96ef)break;else _0x5f258b['push'](_0x5f258b['shift']());}catch(_0xc7c881){_0x5f258b['push'](_0x5f258b['shift']());}}}(a117_0x3761,0xc99bc));import{apiDefinitions}from'../commands/api/index.js';import{bffDefinitions}from'../commands/bff/index.js';import{sqlDefinitions}from'../commands/sql/index.js';import{datasetDefinitions}from'../commands/dataset/index.js';import{pageDefinitions}from'../commands/page/index.js';import{dataDefinitions}from'../commands/data/index.js';import{dbDefinitions}from'../commands/db/index.js';import{codegenDefinitions}from'../commands/codegen/index.js';import{menuDefinitions}from'../commands/menu/index.js';import{appDefinitions}from'../commands/app/index.js';import{configDefinitions}from'../commands/config/index.js';import{doctorDefinition}from'../commands/doctor.js';import{updateDefinition}from'../commands/cli-update.js';import{schemaDefinition}from'../commands/schema.js';import{issueDefinitions}from'../commands/issue/index.js';import{authDefinitions}from'../commands/auth/index.js';import{logsDefinitions}from'../commands/logs/index.js';import{skillDefinitions}from'../commands/skill/index.js';import{projectDefinitions}from'../commands/project/index.js';import{initDefinitions}from'../commands/init/index.js';import{runDefinition}from'../commands/run/index.js';export const serviceRegistry=[];const serviceByName=new Map();export const definitions=new Map();export const serviceGroups=new Map();function registerDefinitions(_0x136aaf){const _0x2ef4a0=a117_0x4c08;for(const _0x46e42d of _0x136aaf){definitions['set'](_0x46e42d[_0x2ef4a0(0xd4)]+':'+_0x46e42d['command'],_0x46e42d);let _0x25eac7=serviceGroups[_0x2ef4a0(0xf9)](_0x46e42d[_0x2ef4a0(0xd4)]);!_0x25eac7&&(_0x25eac7=[],serviceGroups[_0x2ef4a0(0xea)](_0x46e42d[_0x2ef4a0(0xd4)],_0x25eac7)),_0x25eac7[_0x2ef4a0(0xd5)](_0x46e42d);}}function registerDeclarativeService(_0x1e805f,_0x77754,_0x767ba3){const _0x4d4384=a117_0x4c08;registerDefinitions(_0x77754);_0x767ba3?.[_0x4d4384(0xcf)]&®isterDefinitions([_0x767ba3[_0x4d4384(0xcf)]]);const _0x1f6539=_0x4860db=>_0x4860db==='read'?'':_0x4860db===_0x4d4384(0xd0)?_0x4d4384(0xe7):_0x4d4384(0xeb),_0x3640bc={'service':_0x77754[0x0]['service'],'label':_0x1e805f,'commands':_0x77754[_0x4d4384(0xf6)](_0x2691ea=>({'command':_0x2691ea[_0x4d4384(0xd7)],'description':_0x2691ea['description'],'tag':_0x1f6539(_0x2691ea['risk'])})),'declarative':!![],'defaultCommand':_0x767ba3?.[_0x4d4384(0xf7)]??(_0x767ba3?.[_0x4d4384(0xe8)]?_0x77754[0x0][_0x4d4384(0xd7)]:undefined),'wildcardDef':_0x767ba3?.[_0x4d4384(0xcf)],'isSingleCommand':_0x767ba3?.['isSingleCommand']};serviceRegistry['push'](_0x3640bc),serviceByName['set'](_0x3640bc[_0x4d4384(0xd4)],_0x3640bc);}registerDeclarativeService('Quick\x20Start',initDefinitions,{'defaultCommand':a117_0x507e73(0xfd),'isSingleCommand':!![]}),registerDeclarativeService(a117_0x507e73(0xf0),projectDefinitions),registerDeclarativeService(a117_0x507e73(0xd1),appDefinitions),registerDeclarativeService(a117_0x507e73(0xdc),[runDefinition],{'wildcardDef':runDefinition});{const last=serviceRegistry[serviceRegistry[a117_0x507e73(0xf8)]-0x1];last[a117_0x507e73(0xf1)]=[{'command':a117_0x507e73(0xf3),'description':a117_0x507e73(0xd8),'tag':''}];}registerDeclarativeService('Authentication',authDefinitions,{'defaultCommand':a117_0x507e73(0xfb)}),registerDeclarativeService(a117_0x507e73(0xf5),[updateDefinition],{'isSingleCommand':!![]}),registerDeclarativeService('Diagnostics',[doctorDefinition],{'isSingleCommand':!![]}),registerDeclarativeService(a117_0x507e73(0xd2),[schemaDefinition],{'isSingleCommand':!![]}),registerDeclarativeService(a117_0x507e73(0xe4),configDefinitions),registerDeclarativeService('Platform\x20Issue',issueDefinitions),registerDeclarativeService(a117_0x507e73(0xdd),apiDefinitions),registerDeclarativeService(a117_0x507e73(0xe6),menuDefinitions),registerDeclarativeService(a117_0x507e73(0xde),dbDefinitions),registerDeclarativeService(a117_0x507e73(0xfe),datasetDefinitions),registerDeclarativeService(a117_0x507e73(0xd9),pageDefinitions),registerDeclarativeService(a117_0x507e73(0xe1),dataDefinitions),registerDeclarativeService(a117_0x507e73(0xd6),bffDefinitions),registerDeclarativeService('SQL\x20Queries',sqlDefinitions),registerDeclarativeService('Code\x20Generation',codegenDefinitions),registerDeclarativeService('Skills',skillDefinitions),registerDeclarativeService(a117_0x507e73(0xf4),logsDefinitions,{'defaultCommand':a117_0x507e73(0xef)});function a117_0x3761(){const _0x2d856c=['Self\x20Update','map','defaultCommand','length','get','skill','login','values','run','Dataset\x20&\x20Operations','2654KjWiur','install','wildcardDef','write','App\x20Management','Schema','3895330YYdDIE','service','push','BFF\x20Scripts','command','Run\x20any\x20package.json\x20script','Smart\x20List\x20Pages','1514016lBQHUD','from','Run\x20Scripts','API','Database\x20Connections','has','7364022zYmWzj','Instant\x20API','build','create','Configuration','project','Menu','\x20\x20[write]','isSingleCommand','87423BlniUA','set','\x20\x20[high-risk-write]','1735048ZmBuoJ','6748800VySfSg','preview','show','Project','commands','1084WTOTfe','<script>','Logs'];a117_0x3761=function(){return _0x2d856c;};return a117_0x3761();}export const deprecatedAliases={'create':{'service':a117_0x507e73(0xe5),'command':a117_0x507e73(0xe3)},'start':{'service':'run','command':'start'},'build':{'service':'run','command':a117_0x507e73(0xe2)},'preview':{'service':a117_0x507e73(0xfd),'command':a117_0x507e73(0xee)},'logout':{'service':'auth','command':'logout'},'skills':{'service':a117_0x507e73(0xfa),'command':a117_0x507e73(0x100)}};function a117_0x4c08(_0x1624fc,_0x2c8744){_0x1624fc=_0x1624fc-0xcf;const _0x3761e6=a117_0x3761();let _0x4c085f=_0x3761e6[_0x1624fc];return _0x4c085f;}export const deprecatedSubcommands={'bff':{'new':'create'},'sql':{'new':'create'}};export function resolveDeprecatedSubcommand(_0x4f28ce,_0x24a3f2){return deprecatedSubcommands[_0x4f28ce]?.[_0x24a3f2];}export function findDefinition(_0x1b277a,_0x5449e3){const _0x2b4536=a117_0x507e73;return definitions[_0x2b4536(0xf9)](_0x1b277a+':'+_0x5449e3);}export function isKnownService(_0x468656){const _0x1cc853=a117_0x507e73;return serviceByName[_0x1cc853(0xdf)](_0x468656);}export function isDeclarativeService(_0x4969d2){const _0xb9ae38=a117_0x507e73;return serviceGroups[_0xb9ae38(0xdf)](_0x4969d2)||serviceByName[_0xb9ae38(0xf9)](_0x4969d2)?.[_0xb9ae38(0xcf)]!==undefined;}export function getServiceEntry(_0x2fca1b){const _0x4bb9af=a117_0x507e73;return serviceByName[_0x4bb9af(0xf9)](_0x2fca1b);}export function getLegacyHandler(_0x4fa227,_0x26f1b4){return undefined;}export function getAllDefinitions(){const _0x3e75a9=a117_0x507e73;return Array[_0x3e75a9(0xdb)](definitions[_0x3e75a9(0xfc)]());}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
const
|
|
1
|
+
const a118_0x16253a=a118_0x2c2a;(function(_0x18976c,_0x371ed0){const _0x440f42=a118_0x2c2a,_0x12cecf=_0x18976c();while(!![]){try{const _0x43e742=parseInt(_0x440f42(0x143))/0x1*(parseInt(_0x440f42(0x10f))/0x2)+-parseInt(_0x440f42(0x146))/0x3*(-parseInt(_0x440f42(0x114))/0x4)+-parseInt(_0x440f42(0x125))/0x5+-parseInt(_0x440f42(0x124))/0x6+parseInt(_0x440f42(0x130))/0x7*(-parseInt(_0x440f42(0x136))/0x8)+-parseInt(_0x440f42(0x11c))/0x9+parseInt(_0x440f42(0x119))/0xa;if(_0x43e742===_0x371ed0)break;else _0x12cecf['push'](_0x12cecf['shift']());}catch(_0xc33676){_0x12cecf['push'](_0x12cecf['shift']());}}}(a118_0x39d9,0x66dbd));import{readFileSync,existsSync}from'node:fs';function a118_0x2c2a(_0x1ef25a,_0x3156e5){_0x1ef25a=_0x1ef25a-0x10a;const _0x39d91c=a118_0x39d9();let _0x2c2afa=_0x39d91c[_0x1ef25a];return _0x2c2afa;}import{CLI_BIN_NAME}from'../../constant/cli.js';import{resolve,delimiter,join}from'node:path';import{spawn}from'node:child_process';import{CliErrors}from'../../errors.js';import{checkSdkVersion,printSdkUpgradeWarning}from'../../utils/check-sdk-version.js';import{assertCliVersionSupported,checkCliVersion,printCliUpgradeWarning}from'../../utils/cli-version-check.js';const VERSION_CHECK_SCRIPTS=new Set(['start',a118_0x16253a(0x117)]);function readPackageScripts(_0x1a86c1){const _0x9d5b65=a118_0x16253a,_0xe41de3=resolve(_0x1a86c1,_0x9d5b65(0x149));if(!existsSync(_0xe41de3))return null;try{const _0x4f82d7=JSON['parse'](readFileSync(_0xe41de3,_0x9d5b65(0x134)));return _0x4f82d7[_0x9d5b65(0x12c)]??{};}catch{return null;}}function detectPackageManager(_0x454e36){const _0x160d12=a118_0x16253a;if(existsSync(resolve(_0x454e36,_0x160d12(0x13c)))||existsSync(resolve(_0x454e36,_0x160d12(0x115))))return'bun';if(existsSync(resolve(_0x454e36,'pnpm-lock.yaml')))return'pnpm';if(existsSync(resolve(_0x454e36,'yarn.lock')))return _0x160d12(0x147);return _0x160d12(0x118);}async function versionCheck(_0xac8249){const _0x42927c=a118_0x16253a,_0x14aaed=await checkCliVersion();(_0x14aaed[_0x42927c(0x10c)]||_0x14aaed['belowMinimum'])&&(printCliUpgradeWarning(_0x14aaed),assertCliVersionSupported(_0x14aaed));const _0x3421a5=await checkSdkVersion(_0xac8249);if(_0x3421a5[_0x42927c(0x10c)])printSdkUpgradeWarning(_0x3421a5);}function spawnScript(_0x2fce19,_0x2598fe,_0x4b3d54,_0x536b78){return new Promise((_0x3fcc63,_0x1bdddc)=>{const _0x324c0a=a118_0x2c2a,_0x1334fc=[_0x324c0a(0x11d),_0x2598fe,..._0x4b3d54],_0x59c5d=spawn(_0x2fce19,_0x1334fc,{'cwd':_0x536b78,'stdio':_0x324c0a(0x142),'shell':!![],'env':{...process.env,'PATH':''+join(_0x536b78,_0x324c0a(0x10e),_0x324c0a(0x12e))+delimiter+process.env.PATH}});_0x59c5d['on'](_0x324c0a(0x135),_0x49f991=>{const _0x2f6626=_0x324c0a;if(_0x49f991===0x0||_0x49f991===null)_0x3fcc63();else _0x1bdddc(new Error(_0x2fce19+_0x2f6626(0x14a)+_0x2598fe+_0x2f6626(0x123)+_0x49f991));}),_0x59c5d['on'](_0x324c0a(0x133),_0x1bdddc);});}function spawnViteBuildWatch(_0x1af09a){return new Promise((_0x3e7623,_0x1f82f0)=>{const _0x26afb2=a118_0x2c2a,_0x489f6c=spawn(_0x26afb2(0x126),[_0x26afb2(0x13e),'--watch'],{'cwd':_0x1af09a,'stdio':'inherit','shell':!![],'env':{...process.env,'PATH':''+join(_0x1af09a,'node_modules',_0x26afb2(0x12e))+delimiter+process.env.PATH}});_0x489f6c['on'](_0x26afb2(0x135),_0x208b81=>{if(_0x208b81===0x0||_0x208b81===null)_0x3e7623();else _0x1f82f0(new Error('vite\x20build\x20--watch\x20exited\x20with\x20code\x20'+_0x208b81));}),_0x489f6c['on'](_0x26afb2(0x133),_0x1f82f0);});}function spawnVitePreview(_0x272752){return new Promise((_0x33a2f6,_0x55b62c)=>{const _0x338603=a118_0x2c2a,_0x18e1c3=spawn(_0x338603(0x126),[_0x338603(0x13b)],{'cwd':_0x272752,'stdio':_0x338603(0x142),'shell':!![],'env':{...process.env,'PATH':''+join(_0x272752,_0x338603(0x10e),'.bin')+delimiter+process.env.PATH}});_0x18e1c3['on'](_0x338603(0x135),_0x28f401=>{const _0x3e5ccf=_0x338603;if(_0x28f401===0x0||_0x28f401===null)_0x33a2f6();else _0x55b62c(new Error(_0x3e5ccf(0x129)+_0x28f401));}),_0x18e1c3['on'](_0x338603(0x133),_0x55b62c);});}const runFlags=[{'name':a118_0x16253a(0x121),'type':a118_0x16253a(0x122),'description':a118_0x16253a(0x10d),'default':![]}];function a118_0x39d9(){const _0xae8125=['boolean','\x20exited\x20with\x20code\x20','1949256idDaKL','755855ifIqbR','vite','all','Run\x20a\x20package.json\x20script','vite\x20preview\x20exited\x20with\x20code\x20','cwd','Script\x20name\x20defined\x20in\x20package.json','scripts','max','.bin','\x22\x20not\x20found\x20in\x20package.json.','7HAuThy','\x20\x20\x20\x20','\x20run\x20build','error','utf-8','close','3168328SKKzak','log','\x20\x20EXAMPLES','slice','(none)','preview','bun.lockb','has','build','No\x20scripts\x20defined\x20in\x20package.json.','validation','push','inherit','2459UoGMoE','keys','\x0a\x20\x20Usage:\x20','330054HYhPhA','yarn','padEnd','package.json','\x20run\x20','bool','map','needsUpgrade','Enable\x20watch\x20mode\x20for\x20preview','node_modules','262vGqkED','\x0a\x20\x20Available\x20scripts:\x0a','No\x20package.json\x20found\x20in\x20current\x20directory.','\x20run\x20preview','join','4xBfQrx','bun.lock','read','dev','npm','12385040UapaEY','entries','script','3395286zqJwNS','run','length','\x20run\x20preview\x20--watch\x20\x20\x20#\x20parallel\x20build\x20--watch\x20+\x20preview','args','watch'];a118_0x39d9=function(){return _0xae8125;};return a118_0x39d9();}export const runDefinition={'service':'run','command':a118_0x16253a(0x11d),'description':a118_0x16253a(0x128),'risk':a118_0x16253a(0x116),'requiresAuth':![],'requiresAppCode':![],'hasFormat':![],'args':[{'name':a118_0x16253a(0x11b),'description':a118_0x16253a(0x12b),'required':![]}],'flags':runFlags,'helpExtra':()=>{const _0x507909=a118_0x16253a,_0x105948=readPackageScripts(process[_0x507909(0x12a)]()),_0x16e6ed=[];if(_0x105948&&Object['keys'](_0x105948)[_0x507909(0x11e)]>0x0){const _0x162a9f=Object['keys'](_0x105948),_0x168df4=Math['max'](..._0x162a9f[_0x507909(0x10b)](_0x3af40d=>_0x3af40d[_0x507909(0x11e)]));_0x16e6ed[_0x507909(0x141)]('\x20\x20AVAILABLE\x20SCRIPTS\x20\x20(current\x20project)');for(const [_0x481ac4,_0x39f15d]of Object['entries'](_0x105948)){_0x16e6ed[_0x507909(0x141)](_0x507909(0x131)+CLI_BIN_NAME+_0x507909(0x14a)+_0x481ac4[_0x507909(0x148)](_0x168df4+0x2)+'#\x20'+_0x39f15d);}}else _0x16e6ed[_0x507909(0x141)](_0x507909(0x138)),_0x16e6ed[_0x507909(0x141)]('\x20\x20\x20\x20'+CLI_BIN_NAME+'\x20run\x20start'),_0x16e6ed[_0x507909(0x141)](_0x507909(0x131)+CLI_BIN_NAME+_0x507909(0x132)),_0x16e6ed['push']('\x20\x20\x20\x20'+CLI_BIN_NAME+_0x507909(0x112)),_0x16e6ed[_0x507909(0x141)](_0x507909(0x131)+CLI_BIN_NAME+_0x507909(0x11f));return _0x16e6ed[_0x507909(0x113)]('\x0a');},async 'execute'(_0x362a01){const _0x416886=a118_0x16253a,_0x24050a=process[_0x416886(0x12a)](),_0x2f3851=_0x362a01[_0x416886(0x120)][0x0],_0x33ee65=_0x362a01[_0x416886(0x120)][_0x416886(0x139)](0x1),_0x23b79f=readPackageScripts(_0x24050a);if(!_0x23b79f)throw CliErrors[_0x416886(0x140)](_0x416886(0x111));if(!_0x2f3851){const _0x560eb0=Object['keys'](_0x23b79f);if(_0x560eb0[_0x416886(0x11e)]===0x0)console[_0x416886(0x137)](_0x416886(0x13f));else{console['log'](_0x416886(0x110));const _0x1c6cff=Math[_0x416886(0x12d)](..._0x560eb0[_0x416886(0x10b)](_0x18bb35=>_0x18bb35[_0x416886(0x11e)]));for(const [_0x2e5c98,_0x2f2bb3]of Object[_0x416886(0x11a)](_0x23b79f)){console[_0x416886(0x137)](_0x416886(0x131)+_0x2e5c98[_0x416886(0x148)](_0x1c6cff+0x2)+_0x2f2bb3);}console[_0x416886(0x137)](_0x416886(0x145)+CLI_BIN_NAME+'\x20run\x20<script>\x0a');}return{'ok':!![]};}if(!_0x23b79f[_0x2f3851])throw CliErrors[_0x416886(0x140)]('Script\x20\x22'+_0x2f3851+_0x416886(0x12f),'Available:\x20'+(Object[_0x416886(0x144)](_0x23b79f)[_0x416886(0x113)](',\x20')||_0x416886(0x13a)));const _0x4dff5a=detectPackageManager(_0x24050a);VERSION_CHECK_SCRIPTS[_0x416886(0x13d)](_0x2f3851)&&await versionCheck(_0x24050a);if(_0x2f3851===_0x416886(0x13b)&&_0x362a01[_0x416886(0x10a)](_0x416886(0x121)))return await Promise[_0x416886(0x127)]([spawnViteBuildWatch(_0x24050a),spawnVitePreview(_0x24050a)]),{'ok':!![]};return await spawnScript(_0x4dff5a,_0x2f3851,_0x33ee65,_0x24050a),{'ok':!![]};}};
|
package/lib/commands/schema.js
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
const
|
|
1
|
+
const a119_0x3aeb2a=a119_0x1f0c;(function(_0x5abe03,_0x57bff7){const _0x2c6804=a119_0x1f0c,_0x329f5f=_0x5abe03();while(!![]){try{const _0x31974e=parseInt(_0x2c6804(0xb4))/0x1+-parseInt(_0x2c6804(0xbd))/0x2+parseInt(_0x2c6804(0xb6))/0x3+-parseInt(_0x2c6804(0xbc))/0x4+-parseInt(_0x2c6804(0xbe))/0x5*(-parseInt(_0x2c6804(0xb7))/0x6)+-parseInt(_0x2c6804(0xba))/0x7+parseInt(_0x2c6804(0xb5))/0x8;if(_0x31974e===_0x57bff7)break;else _0x329f5f['push'](_0x329f5f['shift']());}catch(_0x359321){_0x329f5f['push'](_0x329f5f['shift']());}}}(a119_0x365c,0xd74c2));function a119_0x1f0c(_0x4525f0,_0x3843e6){_0x4525f0=_0x4525f0-0xb4;const _0x365c58=a119_0x365c();let _0x1f0c2e=_0x365c58[_0x4525f0];return _0x1f0c2e;}import{buildSchemaPayload}from'../framework/schema-export.js';async function execute(_0x2a65e1){const _0xccc80f=await buildSchemaPayload();return{'ok':!![],'data':_0xccc80f};}export const schemaDefinition={'service':a119_0x3aeb2a(0xbb),'command':a119_0x3aeb2a(0xc0),'description':a119_0x3aeb2a(0xbf),'risk':a119_0x3aeb2a(0xb8),'requiresAuth':![],'requiresAppCode':![],'hasFormat':!![],'defaultOutputFormat':a119_0x3aeb2a(0xb9),'flags':[],'execute':execute};function a119_0x365c(){const _0x5d815d=['7306288QVFIfN','3010080IKDDAe','132516HkyJux','read','json','4717034jVoKwt','schema','6445176FatrQi','1055600NcfmPs','355pJihbn','Export\x20machine-readable\x20command\x20schema\x20(JSON)','export','210062xuwEco'];a119_0x365c=function(){return _0x5d815d;};return a119_0x365c();}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
const
|
|
1
|
+
function a120_0x2b20(_0x2b6ce1,_0x24fee6){_0x2b6ce1=_0x2b6ce1-0xff;const _0x35b08e=a120_0x35b0();let _0x2b2018=_0x35b08e[_0x2b6ce1];return _0x2b2018;}const a120_0x52dbce=a120_0x2b20;(function(_0x18f7bc,_0x2d3371){const _0x1f49ef=a120_0x2b20,_0x1f1eb1=_0x18f7bc();while(!![]){try{const _0x554253=-parseInt(_0x1f49ef(0x10d))/0x1*(-parseInt(_0x1f49ef(0x103))/0x2)+parseInt(_0x1f49ef(0x10c))/0x3*(parseInt(_0x1f49ef(0x101))/0x4)+parseInt(_0x1f49ef(0x10f))/0x5+parseInt(_0x1f49ef(0x113))/0x6+parseInt(_0x1f49ef(0xff))/0x7*(parseInt(_0x1f49ef(0x108))/0x8)+-parseInt(_0x1f49ef(0x112))/0x9*(-parseInt(_0x1f49ef(0x104))/0xa)+-parseInt(_0x1f49ef(0x10e))/0xb;if(_0x554253===_0x2d3371)break;else _0x1f1eb1['push'](_0x1f1eb1['shift']());}catch(_0x3a64f6){_0x1f1eb1['push'](_0x1f1eb1['shift']());}}}(a120_0x35b0,0xcf8aa));function a120_0x35b0(){const _0x205a62=['Install\x20developer\x20skill\x20package','2419029aHNWxH','2353314dsXZKQ','cwd',')...','inherit','Check\x20network\x20connectivity\x20and\x20try\x20again.','info','error','skill-install','1778AzCrsq','log','812HReqTx','\x20skill\x20installed','1576556AfGKYj','30dmPUEy','install','skipped','Installing\x20official\x20skill\x20via\x20npx\x20(','7312LAlKfJ','npx\x20skills\x20add\x20failed:\x20','执行安装技能包命令(委托给\x20npx\x20skills\x20add\x20-g\x20-y)','setLogPath','11559yQrRRX','2tHQhss','50427146fNUiOz','8224715GMbEnu','nonInteractive'];a120_0x35b0=function(){return _0x205a62;};return a120_0x35b0();}import{CliErrors}from'../../errors.js';import{CLI_BIN_NAME}from'../../constant/cli.js';import{logger}from'../../utils/logger.js';import{NPX_SKILLS_ADD_GLOBAL_COMMAND_LINE}from'../../skills/npx-skills-add.js';export const skillDefinitions=[{'service':'skill','command':a120_0x52dbce(0x105),'description':a120_0x52dbce(0x111),'risk':'write','requiresAuth':![],'requiresAppCode':![],'hasFormat':![],'flags':[],async 'execute'(_0x7b1591){const _0x5bd56b=a120_0x52dbce;logger[_0x5bd56b(0x10b)](process[_0x5bd56b(0x114)]()),logger[_0x5bd56b(0x118)](_0x5bd56b(0x11a),_0x5bd56b(0x10a));const {runNpxSkillsAddGlobal:_0x23d64f}=await import('../../skills/npx-skills-add.js'),_0x5c9220=_0x7b1591[_0x5bd56b(0x110)]?'pipe':_0x5bd56b(0x116);console[_0x5bd56b(0x100)](_0x5bd56b(0x107)+NPX_SKILLS_ADD_GLOBAL_COMMAND_LINE+_0x5bd56b(0x115));const _0x1ff808=_0x23d64f(process[_0x5bd56b(0x114)](),'lovrabet/rabetbase',{'stdio':_0x5c9220});if(_0x1ff808[_0x5bd56b(0x106)])console[_0x5bd56b(0x100)]('Skipped\x20npx\x20(RABETBASE_SKIP_NPX_SKILLS=1);\x20assuming\x20skill\x20is\x20already\x20present.');else{if(_0x1ff808['ok'])console[_0x5bd56b(0x100)](CLI_BIN_NAME+_0x5bd56b(0x102));else throw CliErrors['apiError'](_0x5bd56b(0x109)+(_0x1ff808[_0x5bd56b(0x119)]||'unknown'),_0x5bd56b(0x117));}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_0x55da74=a121_0x564d;(function(_0x4e8f9c,_0x53d94f){const _0x3918cf=a121_0x564d,_0x1d04d3=_0x4e8f9c();while(!![]){try{const _0x1c909d=-parseInt(_0x3918cf(0xa6))/0x1+-parseInt(_0x3918cf(0x6f))/0x2+-parseInt(_0x3918cf(0x86))/0x3+-parseInt(_0x3918cf(0xa0))/0x4*(parseInt(_0x3918cf(0x96))/0x5)+parseInt(_0x3918cf(0x7e))/0x6+parseInt(_0x3918cf(0x9a))/0x7*(-parseInt(_0x3918cf(0xa2))/0x8)+parseInt(_0x3918cf(0xa4))/0x9;if(_0x1c909d===_0x53d94f)break;else _0x1d04d3['push'](_0x1d04d3['shift']());}catch(_0x23b409){_0x1d04d3['push'](_0x1d04d3['shift']());}}}(a121_0x3ba0,0x90b00));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';function a121_0x564d(_0x7d6e38,_0x28814f){_0x7d6e38=_0x7d6e38-0x6b;const _0x3ba078=a121_0x3ba0();let _0x564d5d=_0x3ba078[_0x7d6e38];return _0x564d5d;}import{loadSqlProjectConfig}from'../../core/sql-sync/config.js';function a121_0x3ba0(){const _0x5a2ac0=['3161592QtXHVh','dbId\x20必须为正整数','16486155CkRoyY','dbId\x20不能为空','138196aHNDOT','普通\x20SQL(sql)','Local\x20SQL\x20file\x20mode','sql','lastSync','File\x20already\x20exists:\x20','--name\x20is\x20required\x20in\x20non-interactive\x20mode.','378154fwNIIG','trim','flagMissing','db-id','mybatisXml','--db-id\x20is\x20required\x20in\x20non-interactive\x20mode.','create','stringify','<select\x20id=\x22query\x22\x20resultType=\x22map\x22>','dbId','nonInteractive','utf8','<server-generated-sqlCode>','str','__manual__','4691622ErlZfb','validation','name','number','appCode','catch','请选择本地\x20SQL\x20模式:','string','1749276FohLdj','isInteger','✎\x20手动输入\x20dbId','dbName','Target\x20database\x20ID','parse','sqlRoot','toISOString','sqlCode','适合带动态标签的\x20MyBatis\x20XML\x20SQL','--mode\x20is\x20required\x20in\x20non-interactive\x20mode.','sqlName','SQL\x20名称不能为空','length','sqlRootDir','Would\x20create\x20a\x20new\x20SQL\x20query\x20and\x20scaffold\x20it\x20under\x20','940vNkHzc','请输入\x20SQL\x20名称:','POST','Created\x20SQL\x20query\x20','7Gvknqt','mode','lockFilePath','description','join','/smartapi/custom/saveUserCustomSql','15224yJPlRM','isFinite'];a121_0x3ba0=function(){return _0x5a2ac0;};return a121_0x3ba0();}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(_0x26bc0d){const _0x206975=a121_0x564d;if(_0x26bc0d===_0x206975(0x73))return[_0x206975(0x77),'\x20\x20SELECT\x201\x20AS\x20id','</select>',''][_0x206975(0x9e)]('\x0a');return['SELECT\x201\x20AS\x20id;',''][_0x206975(0x9e)]('\x0a');}export const sqlCreate={'service':a121_0x55da74(0x6b),'command':a121_0x55da74(0x75),'description':'Create\x20a\x20new\x20custom\x20SQL\x20and\x20scaffold\x20it\x20locally','risk':'high-risk-write','flags':[{'name':a121_0x55da74(0x80),'type':a121_0x55da74(0x85),'description':'SQL\x20query\x20display\x20name'},{'name':a121_0x55da74(0x72),'type':a121_0x55da74(0x81),'description':a121_0x55da74(0x8a)},{'name':a121_0x55da74(0x9b),'type':a121_0x55da74(0x85),'enum':[a121_0x55da74(0x6b),'mybatisXml'],'description':a121_0x55da74(0xa8)}],async 'validate'(_0x2de2f3){const _0x3e4b96=a121_0x55da74;if(!_0x2de2f3[_0x3e4b96(0x79)])return;if(!_0x2de2f3[_0x3e4b96(0x7c)](_0x3e4b96(0x80))['trim']())throw CliErrors[_0x3e4b96(0x71)]('name',_0x3e4b96(0x6e));const _0x77b2=resolveProvidedDbId(_0x2de2f3);if(typeof _0x77b2!==_0x3e4b96(0x81)||!Number[_0x3e4b96(0xa1)](_0x77b2)||_0x77b2<=0x0)throw CliErrors['flagMissing'](_0x3e4b96(0x72),_0x3e4b96(0x74));if(!_0x2de2f3[_0x3e4b96(0x7c)](_0x3e4b96(0x9b))[_0x3e4b96(0x70)]())throw CliErrors[_0x3e4b96(0x71)](_0x3e4b96(0x9b),_0x3e4b96(0x90));},async 'dryRun'(_0x131067){const _0x599cce=a121_0x55da74,_0x22bb3a=loadSqlProjectConfig(_0x131067[_0x599cce(0x82)]),{sqlName:_0x17093e,dbId:_0x22aada,dbName:_0x1cbe71,mode:_0x4ca49d}=await resolveSqlNewInputs(_0x131067),_0xf9b6c6=buildSqlRelativePath(_0x599cce(0x7b),_0x17093e,_0x1cbe71,_0x4ca49d,_0x22aada),_0x151c88=_0x22bb3a[_0x599cce(0x94)]+'/'+_0xf9b6c6;return{'method':_0x599cce(0x98),'url':_0x599cce(0x9f),'body':{'appCode':_0x131067[_0x599cce(0x82)],'sqlName':_0x17093e,'dbId':_0x22aada,'mode':_0x4ca49d,'localPath':_0x151c88},'description':_0x599cce(0x95)+_0x22bb3a[_0x599cce(0x94)]};},async 'execute'(_0x107137){const _0x1dfcb2=a121_0x55da74,_0x8b2889=loadSqlProjectConfig(_0x107137[_0x1dfcb2(0x82)]),{sqlName:_0x16272d,dbId:_0xcb3805,dbName:_0x158405,mode:_0x20f435}=await resolveSqlNewInputs(_0x107137),_0x3defd0=generateSqlTemplate(_0x20f435),_0x9873c8=await createSqlQuery({'appCode':_0x107137[_0x1dfcb2(0x82)],'sqlName':_0x16272d,'dbId':_0xcb3805,'sqlContent':_0x3defd0}),_0xca6a94=ensureRemoteSqlContent(_0x9873c8),_0x51c146=_0x158405||await getDbName(_0x107137['appCode'],_0xcb3805)[_0x1dfcb2(0x83)](()=>undefined),_0x230e82=buildSqlRelativePath(_0x9873c8['sqlCode'],_0x9873c8[_0x1dfcb2(0x91)],_0x51c146,_0x20f435,_0xcb3805),_0x103178=_0x8b2889[_0x1dfcb2(0x94)]+'/'+_0x230e82,_0x37f4b4=buildLocalSqlFileContent({'sqlCode':_0x9873c8[_0x1dfcb2(0x8e)],'sqlName':_0x9873c8[_0x1dfcb2(0x91)],'dbId':_0x9873c8[_0x1dfcb2(0x78)]},_0xca6a94,{'dbName':_0x51c146,'mode':_0x20f435,'syncedAt':new Date()[_0x1dfcb2(0x8d)](),'description':_0x9873c8[_0x1dfcb2(0x9d)]});if(await fileExists(_0x103178))throw CliErrors[_0x1dfcb2(0x7f)](_0x1dfcb2(0x6d)+_0x103178);await ensureParentDirectory(_0x103178),await writeFile(_0x103178,_0x37f4b4,_0x1dfcb2(0x7a));const _0x23e864=await readSqlLockFile(_0x8b2889[_0x1dfcb2(0x9c)]),{lockData:_0x5b0080,appLock:_0x2633bf}=ensureSqlLockScope(_0x23e864??createEmptySqlLock(),_0x8b2889[_0x1dfcb2(0x82)],_0x8b2889[_0x1dfcb2(0x8c)],'new');return _0x2633bf['sqls'][_0x9873c8[_0x1dfcb2(0x8e)]]={...buildSqlLockEntry(_0x9873c8,_0xca6a94,computeSqlContentHash(_0x37f4b4),{'dbName':_0x51c146}),'path':_0x230e82,'mode':_0x20f435},_0x2633bf[_0x1dfcb2(0x6c)]=new Date()['toISOString'](),await writeSqlLockFile(_0x8b2889[_0x1dfcb2(0x9c)],_0x5b0080),{'ok':!![],'data':{'id':_0x9873c8['id'],'sqlCode':_0x9873c8[_0x1dfcb2(0x8e)],'sqlName':_0x9873c8[_0x1dfcb2(0x91)],'dbId':_0x9873c8['dbId'],'path':_0x103178,'mode':_0x20f435},'message':_0x1dfcb2(0x99)+_0x9873c8[_0x1dfcb2(0x8e)]};}};async function resolveSqlNewInputs(_0x121880){const _0x2560ec=await resolveSqlNameInput(_0x121880),{dbId:_0x2b6375,dbName:_0x458754}=await resolveDbSelection(_0x121880),_0xc54d0d=await resolveSqlModeInput(_0x121880);return{'sqlName':_0x2560ec,'dbId':_0x2b6375,'dbName':_0x458754,'mode':_0xc54d0d};}async function resolveSqlNameInput(_0xd4ae60){const _0x1dd160=a121_0x55da74,_0x1d4e54=_0xd4ae60[_0x1dd160(0x7c)](_0x1dd160(0x80))[_0x1dd160(0x70)]();if(_0x1d4e54)return _0x1d4e54;if(_0xd4ae60[_0x1dd160(0x79)])throw CliErrors['flagMissing']('name',_0x1dd160(0x6e));return(await input({'message':_0x1dd160(0x97),'validate':_0x35fb3e=>_0x35fb3e['trim']()?!![]:_0x1dd160(0x92)}))[_0x1dd160(0x70)]();}async function resolveDbSelection(_0x448de2){const _0x2af33b=a121_0x55da74,_0x165740=resolveProvidedDbId(_0x448de2);if(typeof _0x165740===_0x2af33b(0x81)&&Number[_0x2af33b(0xa1)](_0x165740)&&_0x165740>0x0)return{'dbId':_0x165740,'dbName':await getDbName(_0x448de2['appCode'],_0x165740)['catch'](()=>undefined)};if(_0x448de2[_0x2af33b(0x79)])throw CliErrors[_0x2af33b(0x71)](_0x2af33b(0x72),'--db-id\x20is\x20required\x20in\x20non-interactive\x20mode.');const _0x235ac8=await listDatabases(_0x448de2[_0x2af33b(0x82)])[_0x2af33b(0x83)](()=>[]);if(_0x235ac8[_0x2af33b(0x93)]===0x1)return{'dbId':_0x235ac8[0x0][_0x2af33b(0x78)],'dbName':_0x235ac8[0x0][_0x2af33b(0x89)]};if(_0x235ac8[_0x2af33b(0x93)]>0x1){const _0x210bb4=await select({'message':'请选择目标数据库:','choices':[..._0x235ac8['map'](_0x518425=>({'name':_0x518425['dbName']+'\x20('+_0x518425[_0x2af33b(0x78)]+')','value':serializeDbSelection(_0x518425)})),{'name':_0x2af33b(0x88),'value':_0x2af33b(0x7d)}]});if(_0x210bb4!==_0x2af33b(0x7d))return deserializeDbSelection(_0x210bb4);}const _0x4f6733=await input({'message':'请输入目标数据库\x20dbId:','validate':_0x55bcbb=>{const _0xf4269f=_0x2af33b,_0x484ad7=_0x55bcbb[_0xf4269f(0x70)]();if(!_0x484ad7)return _0xf4269f(0xa5);const _0x2b018a=Number(_0x484ad7);if(!Number[_0xf4269f(0x87)](_0x2b018a)||_0x2b018a<=0x0)return _0xf4269f(0xa3);return!![];}});return{'dbId':Number(_0x4f6733['trim']())};}async function resolveSqlModeInput(_0x53c62f){const _0x545de0=a121_0x55da74,_0x403831=_0x53c62f[_0x545de0(0x7c)]('mode')[_0x545de0(0x70)]();if(_0x403831===_0x545de0(0x6b)||_0x403831===_0x545de0(0x73))return _0x403831;if(_0x53c62f[_0x545de0(0x79)])throw CliErrors[_0x545de0(0x71)]('mode',_0x545de0(0x90));return await select({'message':_0x545de0(0x84),'choices':[{'name':_0x545de0(0xa7),'value':_0x545de0(0x6b),'description':'适合直接执行的普通\x20SELECT\x20/\x20INSERT\x20/\x20UPDATE\x20/\x20DELETE\x20语句'},{'name':'MyBatis\x20XML(mybatisXml)','value':_0x545de0(0x73),'description':_0x545de0(0x8f)}]});}function serializeDbSelection(_0x16481c){const _0x36660e=a121_0x55da74;return JSON[_0x36660e(0x76)]({'dbId':_0x16481c[_0x36660e(0x78)],'dbName':_0x16481c[_0x36660e(0x89)]});}function deserializeDbSelection(_0x4a9048){const _0x3e31f0=a121_0x55da74;try{const _0x1a5f9a=JSON[_0x3e31f0(0x8b)](_0x4a9048);if(typeof _0x1a5f9a[_0x3e31f0(0x78)]==='number'&&Number[_0x3e31f0(0xa1)](_0x1a5f9a[_0x3e31f0(0x78)]))return{'dbId':_0x1a5f9a[_0x3e31f0(0x78)],'dbName':_0x1a5f9a[_0x3e31f0(0x89)]};}catch{}throw CliErrors[_0x3e31f0(0x7f)]('Invalid\x20database\x20selection\x20payload:\x20'+_0x4a9048);}function resolveProvidedDbId(_0x494e9c){const _0xc93f52=a121_0x55da74,_0x55e135=_0x494e9c['flag'](_0xc93f52(0x72));if(typeof _0x55e135==='number'&&Number[_0xc93f52(0xa1)](_0x55e135))return _0x55e135;return undefined;}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
const
|
|
1
|
+
const a122_0x16ccf3=a122_0x1873;(function(_0x458fe5,_0x196f07){const _0x2fc770=a122_0x1873,_0x57d48f=_0x458fe5();while(!![]){try{const _0x20d2b9=parseInt(_0x2fc770(0x9f))/0x1+-parseInt(_0x2fc770(0xb7))/0x2*(-parseInt(_0x2fc770(0xb5))/0x3)+parseInt(_0x2fc770(0x9c))/0x4+parseInt(_0x2fc770(0x92))/0x5+-parseInt(_0x2fc770(0xaa))/0x6*(parseInt(_0x2fc770(0xa0))/0x7)+-parseInt(_0x2fc770(0x91))/0x8*(-parseInt(_0x2fc770(0x96))/0x9)+-parseInt(_0x2fc770(0x9b))/0xa;if(_0x20d2b9===_0x196f07)break;else _0x57d48f['push'](_0x57d48f['shift']());}catch(_0x984d90){_0x57d48f['push'](_0x57d48f['shift']());}}}(a122_0x2b75,0x830a5));function a122_0x2b75(){const _0x5c23fc=['sqls','entries','sqlcode','sql','validation','3105543fluINj','\x20(local\x20file\x20moved\x20to\x20trash)','2IVDudj','8pBayxq','3144435tSZgpt','startsWith','projectRoot','sqlRootDir','7482897qrmnXt','/smartapi/custom/deleteUserCustomSql','No\x20SQL\x20lock\x20entry\x20found\x20for\x20\x22','toISOString','trashedTo','26553960PsIlqU','1405996aCJzwh','appCode','delete','1029450ovaQTo','7qUWwBS','length','\x20from\x20remote\x20and\x20move\x20local\x20file\x20to\x20','str','Deleted\x20','sqlRoot','lockFilePath','fromEntries','remoteId','replace','4105878YOUBeU','trashDir','POST','high-risk-write','lastSync','SQL\x20lock\x20file\x20not\x20found.\x20Run\x20`rabetbase\x20sql\x20create`\x20or\x20`rabetbase\x20sql\x20pull`\x20first.'];a122_0x2b75=function(){return _0x5c23fc;};return a122_0x2b75();}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';function a122_0x1873(_0x4ba69a,_0x3c2719){_0x4ba69a=_0x4ba69a-0x91;const _0x2b75c5=a122_0x2b75();let _0x18734f=_0x2b75c5[_0x4ba69a];return _0x18734f;}import{ensureSqlLockScope,readSqlLockFile,writeSqlLockFile}from'../../core/sql-sync/lock.js';import{CliErrors}from'../../errors.js';import{SQLCODE_FLAG}from'../../commands/common/flags.js';export const sqlDelete={'service':a122_0x16ccf3(0xb3),'command':a122_0x16ccf3(0x9e),'description':'Delete\x20a\x20SQL\x20query\x20from\x20remote\x20and\x20local','risk':a122_0x16ccf3(0xad),'flags':[SQLCODE_FLAG],async 'validate'(_0x1f1ebc){const _0x405acd=a122_0x16ccf3,_0x5e8916=loadSqlProjectConfig(_0x1f1ebc[_0x405acd(0x9d)]),_0x2b9fdd=await readSqlLockFile(_0x5e8916[_0x405acd(0xa6)]);if(!_0x2b9fdd)throw CliErrors[_0x405acd(0xb4)](_0x405acd(0xaf));},async 'dryRun'(_0x119256){const _0x43742e=a122_0x16ccf3,_0x22718e=loadSqlProjectConfig(_0x119256[_0x43742e(0x9d)]),_0x3ff03b=await readSqlLockFile(_0x22718e[_0x43742e(0xa6)]);if(!_0x3ff03b)throw CliErrors[_0x43742e(0xb4)]('SQL\x20lock\x20file\x20not\x20found.\x20Run\x20`rabetbase\x20sql\x20create`\x20or\x20`rabetbase\x20sql\x20pull`\x20first.');const {appLock:_0x46f046}=ensureSqlLockScope(_0x3ff03b,_0x119256['appCode'],_0x22718e[_0x43742e(0xa5)],'delete'),_0x57e6a9=_0x119256[_0x43742e(0xa3)](_0x43742e(0xb2)),_0x364aad=_0x46f046['sqls'][_0x57e6a9];if(!_0x364aad)throw CliErrors[_0x43742e(0xb4)](_0x43742e(0x98)+_0x57e6a9+'\x22.');return{'method':_0x43742e(0xac),'url':_0x43742e(0x97),'body':{'sqlCode':_0x57e6a9,'id':_0x364aad['remoteId'],'localPath':resolveLocalSqlFilePath(_0x22718e,_0x57e6a9,_0x364aad)},'description':'Would\x20delete\x20SQL\x20'+_0x57e6a9+_0x43742e(0xa2)+_0x22718e[_0x43742e(0xab)]};},async 'execute'(_0x2b13ae){const _0x5ac2c3=a122_0x16ccf3,_0x4510d5=loadSqlProjectConfig(_0x2b13ae[_0x5ac2c3(0x9d)]),_0x199777=await readSqlLockFile(_0x4510d5['lockFilePath']);if(!_0x199777)throw CliErrors[_0x5ac2c3(0xb4)]('SQL\x20lock\x20file\x20not\x20found.');const {lockData:_0x1c36c7,appLock:_0x26786b}=ensureSqlLockScope(_0x199777,_0x2b13ae[_0x5ac2c3(0x9d)],_0x4510d5[_0x5ac2c3(0xa5)],_0x5ac2c3(0x9e)),_0x47724d=_0x2b13ae['str']('sqlcode'),_0x1d9019=_0x26786b['sqls'][_0x47724d];if(!_0x1d9019)throw CliErrors[_0x5ac2c3(0xb4)](_0x5ac2c3(0x98)+_0x47724d+'\x22.');await deleteSqlQuery({'id':_0x1d9019[_0x5ac2c3(0xa8)],'sqlCode':_0x47724d}),_0x26786b[_0x5ac2c3(0xb0)]=Object[_0x5ac2c3(0xa7)](Object[_0x5ac2c3(0xb1)](_0x26786b[_0x5ac2c3(0xb0)])['filter'](([_0x750c26])=>_0x750c26!==_0x47724d)),_0x26786b[_0x5ac2c3(0xae)]=new Date()[_0x5ac2c3(0x99)](),await writeSqlLockFile(_0x4510d5[_0x5ac2c3(0xa6)],_0x1c36c7);const _0x5cb034=resolveLocalSqlFilePath(_0x4510d5,_0x47724d,_0x1d9019);let _0x3a19c8;await fileExists(_0x5cb034)&&(_0x3a19c8=await moveToTrash(_0x4510d5[_0x5ac2c3(0x94)],_0x4510d5['trashDir'],_0x5cb034),await cleanupEmptyDirectories(dirname(_0x5cb034),_0x4510d5[_0x5ac2c3(0x95)]));const _0x15ad97={'deleted':_0x47724d,'remoteId':_0x1d9019[_0x5ac2c3(0xa8)]};if(_0x3a19c8)_0x15ad97[_0x5ac2c3(0x9a)]=_0x3a19c8;return{'ok':!![],'data':_0x15ad97,'message':_0x5ac2c3(0xa4)+_0x47724d+(_0x3a19c8?_0x5ac2c3(0xb6):'')};}};async function moveToTrash(_0x5cbe9b,_0x1952cd,_0x260f8a){const _0x5507af=a122_0x16ccf3,_0x86df44=new Date()['toISOString']()[_0x5507af(0xa9)](/[:.]/g,'-'),_0x2989de=relative(_0x5cbe9b,_0x260f8a),_0x501099=join(_0x1952cd,_0x86df44,_0x2989de);return await mkdir(dirname(_0x501099),{'recursive':!![]}),await rename(_0x260f8a,_0x501099),_0x501099;}async function cleanupEmptyDirectories(_0x450381,_0x2d7909){const _0x304553=a122_0x16ccf3;let _0x1a447a=resolve(_0x450381);const _0x12dc57=resolve(_0x2d7909);while(_0x1a447a[_0x304553(0x93)](''+_0x12dc57+sep)||_0x1a447a===_0x12dc57){if(_0x1a447a===_0x12dc57)return;try{const _0xb251ca=await readdir(_0x1a447a);if(_0xb251ca[_0x304553(0xa1)]>0x0)return;await rmdir(_0x1a447a);}catch{return;}_0x1a447a=dirname(_0x1a447a);}}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
const
|
|
1
|
+
const a123_0x78f00e=a123_0x11b0;(function(_0x50ffab,_0x17dfa4){const _0x2ac91c=a123_0x11b0,_0x3375c1=_0x50ffab();while(!![]){try{const _0x2cf18a=parseInt(_0x2ac91c(0x1c9))/0x1+parseInt(_0x2ac91c(0x1c5))/0x2*(parseInt(_0x2ac91c(0x1d4))/0x3)+-parseInt(_0x2ac91c(0x1d9))/0x4*(parseInt(_0x2ac91c(0x1d2))/0x5)+-parseInt(_0x2ac91c(0x1dc))/0x6+parseInt(_0x2ac91c(0x1d3))/0x7*(parseInt(_0x2ac91c(0x1ce))/0x8)+-parseInt(_0x2ac91c(0x1ca))/0x9+-parseInt(_0x2ac91c(0x1cb))/0xa*(-parseInt(_0x2ac91c(0x1d1))/0xb);if(_0x2cf18a===_0x17dfa4)break;else _0x3375c1['push'](_0x3375c1['shift']());}catch(_0x51f3dc){_0x3375c1['push'](_0x3375c1['shift']());}}}(a123_0x2d18,0x3b141));function a123_0x11b0(_0x3a074f,_0x3eb55f){_0x3a074f=_0x3a074f-0x1c5;const _0x2d1808=a123_0x2d18();let _0x11b072=_0x2d1808[_0x3a074f];return _0x11b072;}import{getSqlQueryInfo}from'../../core/api-client.js';import{getDbName}from'../../core/db-resolver.js';import{SQLCODE_FLAG}from'../../commands/common/flags.js';function a123_0x2d18(){const _0x2ba346=['27766njOAVj','boolean','Get\x20custom\x20SQL\x20query\x20details\x20by\x20sqlCode','verbose','136336OJhTCW','417528oOhrFG','788630XlYIES','sqlcode','read','8lDHbXj','appCode','sqlContent','22XFlXze','155wBCCGP','2380546GlmirJ','51ixvsEJ','str','detail','sqlName','dbId','23224qOOaep','sql','sqlCode','2410728mwdeRD'];a123_0x2d18=function(){return _0x2ba346;};return a123_0x2d18();}export const sqlDetail={'service':a123_0x78f00e(0x1da),'command':a123_0x78f00e(0x1d6),'description':a123_0x78f00e(0x1c7),'risk':a123_0x78f00e(0x1cd),'flags':[SQLCODE_FLAG,{'name':'verbose','type':a123_0x78f00e(0x1c6),'description':'Return\x20full\x20raw\x20SQL\x20query\x20object'}],async 'execute'(_0x403c7d){const _0x5a7b78=a123_0x78f00e,_0x55371f=await getSqlQueryInfo(_0x403c7d[_0x5a7b78(0x1cf)],_0x403c7d[_0x5a7b78(0x1d5)](_0x5a7b78(0x1cc))),_0xc8a97e=_0x403c7d['bool'](_0x5a7b78(0x1c8));if(_0xc8a97e)return{'ok':!![],'data':_0x55371f};const _0x45d015=_0x55371f[_0x5a7b78(0x1d8)]?await getDbName(_0x403c7d[_0x5a7b78(0x1cf)],_0x55371f['dbId']):undefined;return{'ok':!![],'data':{'sqlCode':_0x55371f[_0x5a7b78(0x1db)],'sqlName':_0x55371f[_0x5a7b78(0x1d7)],'db':_0x45d015?_0x45d015+'\x20('+_0x55371f['dbId']+')':_0x55371f[_0x5a7b78(0x1d8)]??'','description':_0x55371f['description']??'','sqlContent':_0x55371f[_0x5a7b78(0x1d0)]??''}};}};
|
package/lib/commands/sql/exec.js
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
const
|
|
1
|
+
const a124_0x8ea790=a124_0x3b91;(function(_0x3fecc5,_0x37b1be){const _0x437bb0=a124_0x3b91,_0x30294f=_0x3fecc5();while(!![]){try{const _0x4655a7=-parseInt(_0x437bb0(0x121))/0x1*(-parseInt(_0x437bb0(0x116))/0x2)+parseInt(_0x437bb0(0x117))/0x3*(-parseInt(_0x437bb0(0x112))/0x4)+parseInt(_0x437bb0(0x10e))/0x5+parseInt(_0x437bb0(0x10c))/0x6+-parseInt(_0x437bb0(0x11c))/0x7*(parseInt(_0x437bb0(0x11a))/0x8)+-parseInt(_0x437bb0(0x119))/0x9+-parseInt(_0x437bb0(0x11f))/0xa*(-parseInt(_0x437bb0(0x110))/0xb);if(_0x4655a7===_0x37b1be)break;else _0x30294f['push'](_0x30294f['shift']());}catch(_0x5b095d){_0x30294f['push'](_0x30294f['shift']());}}}(a124_0x396c,0xa5821));import{executeSql}from'../../core/api-client.js';function a124_0x396c(){const _0x805771=['SQL\x20execution\x20failed','4lcbOxp','471CnMxeu','sqlcode','6474915agmWrJ','8760RRLLZS','str','4592XkUKIP','isArray','sql','1437190jBVPHt','params','44373iDhaui','Execute\x20a\x20custom\x20SQL\x20query\x20by\x20sqlCode','string','3763908pLjiZu','appCode','6040620qeLtZo','\x20row(s)\x20in\x20','99cZqsBc','length','28076qawVWC','execSuccess','execResult'];a124_0x396c=function(){return _0x805771;};return a124_0x396c();}import{SQLCODE_FLAG}from'../../commands/common/flags.js';import{parseJsonParams}from'../../utils/params.js';function a124_0x3b91(_0x2798d1,_0x30827f){_0x2798d1=_0x2798d1-0x10c;const _0x396c35=a124_0x396c();let _0x3b9140=_0x396c35[_0x2798d1];return _0x3b9140;}export const sqlExec={'service':a124_0x8ea790(0x11e),'command':'exec','description':a124_0x8ea790(0x122),'risk':'read','flags':[SQLCODE_FLAG,{'name':a124_0x8ea790(0x120),'type':a124_0x8ea790(0x123),'description':'SQL\x20parameters\x20as\x20JSON\x20string\x20(e.g.\x20\x27{\x22key\x22:\x22value\x22}\x27)'}],async 'execute'(_0x2636a1){const _0x165a69=a124_0x8ea790,_0x365cbe=parseJsonParams(_0x2636a1['str'](_0x165a69(0x120))),_0x38ce8f=Date['now'](),_0x312adf=await executeSql(_0x2636a1[_0x165a69(0x10d)],_0x2636a1[_0x165a69(0x11b)](_0x165a69(0x118)),_0x365cbe),_0x58a690=Date['now']()-_0x38ce8f,_0x1a8ffd=_0x312adf?.[_0x165a69(0x114)]??_0x312adf,_0x299fbe=_0x312adf?.[_0x165a69(0x113)]??!![];if(!_0x299fbe)return{'ok':![],'data':{'error':_0x312adf?.['execError']||'SQL\x20execution\x20failed','elapsed':_0x58a690},'message':_0x165a69(0x115)};const _0x4a5b2c=Array[_0x165a69(0x11d)](_0x1a8ffd)?_0x1a8ffd:[];return{'ok':!![],'data':{'rows':_0x4a5b2c,'rowCount':_0x4a5b2c[_0x165a69(0x111)],'elapsed':_0x58a690},'message':'Returned\x20'+_0x4a5b2c['length']+_0x165a69(0x10f)+_0x58a690+'ms'};}};
|
|
@@ -1 +1 @@
|
|
|
1
|
-
(function(
|
|
1
|
+
(function(_0x4401dc,_0x116828){const _0x547d47=a125_0x43d5,_0x3007cc=_0x4401dc();while(!![]){try{const _0x49b3e8=-parseInt(_0x547d47(0x1c9))/0x1*(-parseInt(_0x547d47(0x1c6))/0x2)+parseInt(_0x547d47(0x1cd))/0x3*(parseInt(_0x547d47(0x1c2))/0x4)+parseInt(_0x547d47(0x1c8))/0x5+-parseInt(_0x547d47(0x1cc))/0x6*(parseInt(_0x547d47(0x1ca))/0x7)+parseInt(_0x547d47(0x1c7))/0x8*(-parseInt(_0x547d47(0x1c4))/0x9)+parseInt(_0x547d47(0x1c1))/0xa*(parseInt(_0x547d47(0x1c3))/0xb)+parseInt(_0x547d47(0x1cb))/0xc*(-parseInt(_0x547d47(0x1c5))/0xd);if(_0x49b3e8===_0x116828)break;else _0x3007cc['push'](_0x3007cc['shift']());}catch(_0x25b629){_0x3007cc['push'](_0x3007cc['shift']());}}}(a125_0xaa83,0xee87d));import{sqlList}from'../../commands/sql/list.js';import{sqlDetail}from'../../commands/sql/detail.js';import{sqlValidate}from'../../commands/sql/validate.js';import{sqlSave}from'../../commands/sql/save.js';function a125_0xaa83(){const _0x48452f=['112GLgVGo','1135585KyGJYD','24yLWzdi','87402QFLNGs','24HLFLMh','366qcjCYp','442983AbQbsy','10PFWeXB','28DWYLEx','11534281sCqfOG','760446AJAddU','3453970IvHceu','95304OUlgep'];a125_0xaa83=function(){return _0x48452f;};return a125_0xaa83();}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';function a125_0x43d5(_0x2e5704,_0x1d82ae){_0x2e5704=_0x2e5704-0x1c1;const _0xaa8312=a125_0xaa83();let _0x43d58b=_0xaa8312[_0x2e5704];return _0x43d58b;}import{sqlDelete}from'../../commands/sql/delete.js';export const sqlDefinitions=[sqlList,sqlDetail,sqlStatus,sqlCreate,sqlPush,sqlValidate,sqlSave,sqlExec,sqlPull,sqlDelete];
|
package/lib/commands/sql/list.js
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
function
|
|
1
|
+
const a126_0x8a9279=a126_0x1d64;function a126_0x1d64(_0x56c6a7,_0x192c1a){_0x56c6a7=_0x56c6a7-0x1d3;const _0x3b05af=a126_0x3b05();let _0x1d642d=_0x3b05af[_0x56c6a7];return _0x1d642d;}(function(_0x44d0e0,_0x4b7c41){const _0x5357df=a126_0x1d64,_0x574fea=_0x44d0e0();while(!![]){try{const _0x4304d1=parseInt(_0x5357df(0x1d9))/0x1*(parseInt(_0x5357df(0x1d3))/0x2)+parseInt(_0x5357df(0x1d7))/0x3+parseInt(_0x5357df(0x1ed))/0x4*(-parseInt(_0x5357df(0x1df))/0x5)+parseInt(_0x5357df(0x1e5))/0x6+-parseInt(_0x5357df(0x1db))/0x7*(-parseInt(_0x5357df(0x1f4))/0x8)+-parseInt(_0x5357df(0x1f6))/0x9+parseInt(_0x5357df(0x1e1))/0xa*(-parseInt(_0x5357df(0x1ef))/0xb);if(_0x4304d1===_0x4b7c41)break;else _0x574fea['push'](_0x574fea['shift']());}catch(_0x46bdcd){_0x574fea['push'](_0x574fea['shift']());}}}(a126_0x3b05,0x62067));import{listSqlQueries}from'../../core/api-client.js';import{getDbName}from'../../core/db-resolver.js';import{SQLCODE_FLAG_OPTIONAL}from'../../commands/common/flags.js';function a126_0x3b05(){const _0x3fbd74=['sqlcode','1876440mMWzuR','Return\x20full\x20SQL\x20query\x20objects\x20including\x20parameters\x20and\x20SQL\x20content','20sMgFOt','read','all','dbId','785472sAWbKM','sqlCode','verbose','page','Found\x20','string','bool','Page\x20size','8RDOGwk','boolean','1093697fBOxNa','tableData','number','\x20SQL\x20queries\x20(total:\x20','sql','8CadmbK','map','2217051xxAzex','List\x20custom\x20SQL\x20queries','name','description','totalCount','89574HKESpN','list','appCode','str','1239867DXBrZh','num','8ZVngAN','pagesize','4863481AlbzPX','Filter\x20by\x20SQL\x20name','length'];a126_0x3b05=function(){return _0x3fbd74;};return a126_0x3b05();}export const sqlList={'service':a126_0x8a9279(0x1f3),'command':a126_0x8a9279(0x1d4),'description':a126_0x8a9279(0x1f7),'risk':a126_0x8a9279(0x1e2),'flags':[SQLCODE_FLAG_OPTIONAL,{'name':a126_0x8a9279(0x1f8),'type':a126_0x8a9279(0x1ea),'description':a126_0x8a9279(0x1dc)},{'name':a126_0x8a9279(0x1e8),'type':a126_0x8a9279(0x1f1),'description':'Page\x20number','default':0x1},{'name':a126_0x8a9279(0x1da),'type':'number','description':a126_0x8a9279(0x1ec)},{'name':'verbose','type':a126_0x8a9279(0x1ee),'description':a126_0x8a9279(0x1e0)}],async 'execute'(_0x4173ec){const _0x12e403=a126_0x8a9279,_0x886674=await listSqlQueries(_0x4173ec[_0x12e403(0x1d5)],{'sqlCode':_0x4173ec[_0x12e403(0x1d6)](_0x12e403(0x1de))||undefined,'sqlName':_0x4173ec[_0x12e403(0x1d6)](_0x12e403(0x1f8))||undefined,'currentPage':_0x4173ec[_0x12e403(0x1d8)](_0x12e403(0x1e8)),'pageSize':_0x4173ec[_0x12e403(0x1d8)](_0x12e403(0x1da),0x32)}),_0x1dbc44=_0x4173ec[_0x12e403(0x1eb)](_0x12e403(0x1e7)),_0x352c85=_0x886674[_0x12e403(0x1f0)]??[],_0x326f5f=_0x886674['paging']?.[_0x12e403(0x1fa)]??_0x352c85['length'];let _0xc0433;return _0x1dbc44?_0xc0433=_0x352c85:_0xc0433=await Promise[_0x12e403(0x1e3)](_0x352c85[_0x12e403(0x1f5)](async _0x292ac2=>{const _0x7d6345=_0x12e403;let _0x2cc4a2;try{_0x2cc4a2=_0x292ac2['dbId']?await getDbName(_0x4173ec[_0x7d6345(0x1d5)],_0x292ac2[_0x7d6345(0x1e4)]):undefined;}catch{}return{'sqlCode':_0x292ac2[_0x7d6345(0x1e6)],'sqlName':_0x292ac2['sqlName'],'description':_0x292ac2[_0x7d6345(0x1f9)]??'','db':_0x2cc4a2?_0x2cc4a2+'\x20('+_0x292ac2['dbId']+')':_0x292ac2[_0x7d6345(0x1e4)]??''};})),{'ok':!![],'data':_0xc0433,'message':_0x352c85[_0x12e403(0x1dd)]===0x0?'No\x20custom\x20SQL\x20queries\x20found.':_0x12e403(0x1e9)+_0x352c85['length']+_0x12e403(0x1f2)+_0x326f5f+').'};}};
|
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_0x336a76=a127_0x196c;(function(_0x3a7e97,_0x2713c4){const _0x2a76a1=a127_0x196c,_0x3658e2=_0x3a7e97();while(!![]){try{const _0x17c654=parseInt(_0x2a76a1(0x218))/0x1+-parseInt(_0x2a76a1(0x1e0))/0x2*(parseInt(_0x2a76a1(0x206))/0x3)+parseInt(_0x2a76a1(0x1f6))/0x4*(parseInt(_0x2a76a1(0x1f7))/0x5)+parseInt(_0x2a76a1(0x1da))/0x6*(parseInt(_0x2a76a1(0x1f8))/0x7)+-parseInt(_0x2a76a1(0x1fd))/0x8+-parseInt(_0x2a76a1(0x1e5))/0x9*(-parseInt(_0x2a76a1(0x1dc))/0xa)+-parseInt(_0x2a76a1(0x1db))/0xb;if(_0x17c654===_0x2713c4)break;else _0x3658e2['push'](_0x3658e2['shift']());}catch(_0x58f641){_0x3658e2['push'](_0x3658e2['shift']());}}}(a127_0xe37e,0x88faa));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';function a127_0x196c(_0xb767e4,_0x5dbf89){_0xb767e4=_0xb767e4-0x1d9;const _0xe37e2d=a127_0xe37e();let _0x196ce1=_0xe37e2d[_0xb767e4];return _0x196ce1;}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';function a127_0xe37e(){const _0x48e8e6=['pull','8190168HuQAIl','description','sqlRoot','sqls','sqlName','appCode','lockFilePath','sqlcode','split','124530ZGaVzN','string','dbId','cancelled','\x20written,\x20','test','str','unchanged','paging','join','POST','write','No\x20remote\x20SQL\x20queries\x20matched.','apps','\x20skipped,\x20','mybatisXml','sqlContent','sqlCode','650546jQXJHX','length','96WMbgvR','4124549cLltTk','2110JnMSsB','Pull\x20remote\x20SQL\x20queries\x20to\x20local\x20.rabetbase/sql/','Pull\x20complete:\x20','would_pull','34JzOjIF','sql','path','local\x20differs\x20from\x20remote\x20(use\x20--force\x20to\x20overwrite)','\x20failed','13302ZenvtO','sqlRootDir','Filter\x20by\x20SQL\x20display\x20name','bool','trimStart','Would\x20pull\x20','name','local\x20differs\x20from\x20remote','\x20SQL\x20file(s)\x20into\x20','toISOString','filter','replace','push','conflict','utf8','skipped','tableData','144664KrZvMU','85IttMzX','476105jswquA','totalCount','force','catch'];a127_0xe37e=function(){return _0x48e8e6;};return a127_0xe37e();}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(_0x1d1906,_0x2e1b7f){const _0x3fb2bf=a127_0x196c,_0x1060d7=[];let _0x637ae7=0x1;while(!![]){const _0x453c2c=await listSqlQueries(_0x1d1906,{'currentPage':_0x637ae7,'pageSize':PAGE_SIZE,'sqlCode':_0x2e1b7f['sqlCode'],'sqlName':_0x2e1b7f[_0x3fb2bf(0x201)]}),_0x210a9a=_0x453c2c[_0x3fb2bf(0x1f5)]??[];_0x1060d7[_0x3fb2bf(0x1f1)](..._0x210a9a);if(_0x210a9a[_0x3fb2bf(0x1d9)]===0x0)break;const _0x1b987d=_0x453c2c[_0x3fb2bf(0x20e)]?.[_0x3fb2bf(0x1f9)];if(_0x1b987d!=null?_0x1060d7[_0x3fb2bf(0x1d9)]>=_0x1b987d:_0x210a9a[_0x3fb2bf(0x1d9)]<PAGE_SIZE)break;_0x637ae7++;}return _0x1060d7;}async function ensureSqlContent(_0x44f3af){const _0x43adf8=a127_0x196c;if(_0x44f3af[_0x43adf8(0x216)]!=null&&String(_0x44f3af[_0x43adf8(0x216)])[_0x43adf8(0x1d9)]>0x0)return _0x44f3af;return getSqlQueryDetail(_0x44f3af[_0x43adf8(0x217)]);}export const sqlPull={'service':a127_0x336a76(0x1e1),'command':a127_0x336a76(0x1fc),'description':a127_0x336a76(0x1dd),'risk':a127_0x336a76(0x211),'flags':[SQLCODE_FLAG_OPTIONAL,{'name':a127_0x336a76(0x1eb),'type':a127_0x336a76(0x207),'description':a127_0x336a76(0x1e7)},{'name':a127_0x336a76(0x1fa),'type':'boolean','description':'Force\x20overwrite\x20local\x20unsynced\x20changes'}],async 'dryRun'(_0x4dc823){const _0x5934ba=a127_0x336a76,_0x56be6b=loadSqlProjectConfig(_0x4dc823[_0x5934ba(0x202)]),_0x3da7d8=await readSqlLockFile(_0x56be6b[_0x5934ba(0x203)]),{appLock:_0x51af85}=ensureSqlLockScope(_0x3da7d8??createEmptySqlLock(),_0x56be6b[_0x5934ba(0x202)],_0x56be6b[_0x5934ba(0x1ff)],'pull'),_0x170250=await fetchAllSqlQueries(_0x4dc823[_0x5934ba(0x202)],{'sqlCode':_0x4dc823['str'](_0x5934ba(0x204))||undefined,'sqlName':_0x4dc823['str']('name')||undefined}),_0x57cc3d=[];for(const _0x268f19 of _0x170250){const _0x2538d3=await ensureSqlContent(_0x268f19),_0x11bfc5=ensureRemoteSqlContent(_0x2538d3),_0x2a489d=detectModeFromSql(_0x2538d3),_0x1a3606=_0x2538d3[_0x5934ba(0x208)]?await getDbName(_0x4dc823['appCode'],Number(_0x2538d3[_0x5934ba(0x208)]))[_0x5934ba(0x1fb)](()=>undefined):undefined,_0x84443d=buildLocalSqlFileContent({'sqlCode':_0x2538d3[_0x5934ba(0x217)],'sqlName':_0x2538d3['sqlName'],'dbId':_0x2538d3[_0x5934ba(0x208)]},_0x11bfc5,{'dbName':_0x1a3606,'mode':_0x2a489d,'syncedAt':new Date()['toISOString'](),'description':_0x2538d3[_0x5934ba(0x1fe)]}),_0x37d1f4=buildSqlLockEntry(_0x2538d3,_0x11bfc5,'',{'dbName':_0x1a3606}),_0x100773=resolveLocalSqlFilePath(_0x56be6b,_0x2538d3[_0x5934ba(0x217)],_0x37d1f4);let _0x10451c=_0x5934ba(0x1df),_0x559b81;if(await fileExists(_0x100773)){const _0x225111=await readFile(_0x100773,'utf8');isEquivalentPulledSqlFile(_0x225111,_0x84443d,_0x2a489d)?(_0x10451c=_0x5934ba(0x1f4),_0x559b81=_0x5934ba(0x20d)):(_0x10451c=_0x5934ba(0x1f2),_0x559b81=_0x5934ba(0x1e3));}_0x57cc3d[_0x5934ba(0x1f1)]({'sqlCode':_0x2538d3[_0x5934ba(0x217)],'sqlName':_0x2538d3[_0x5934ba(0x201)],'filePath':_0x100773,'status':_0x10451c,'reason':_0x559b81});}return{'method':_0x5934ba(0x210),'url':'/smartapi/custom/queryUserCustomSqlList\x20+\x20/smartapi/custom/getUserCustomSql','body':{'appCode':_0x4dc823['appCode'],'sqlCode':_0x4dc823['str'](_0x5934ba(0x204))||null,'sqlName':_0x4dc823['str']('name')||null,'files':_0x57cc3d},'description':_0x5934ba(0x1ea)+_0x57cc3d[_0x5934ba(0x1d9)]+_0x5934ba(0x1ed)+_0x56be6b[_0x5934ba(0x1e6)]};},async 'execute'(_0x5eca45){const _0x5d2ee3=a127_0x336a76,_0x41d2a8=loadSqlProjectConfig(_0x5eca45[_0x5d2ee3(0x202)]),_0x1cdb3f=await readSqlLockFile(_0x41d2a8[_0x5d2ee3(0x203)]),{lockData:_0x30d94e,appLock:_0x201d28}=ensureSqlLockScope(_0x1cdb3f??createEmptySqlLock(),_0x41d2a8[_0x5d2ee3(0x202)],_0x41d2a8[_0x5d2ee3(0x1ff)],'pull'),_0x4a5488=_0x5eca45[_0x5d2ee3(0x1e8)](_0x5d2ee3(0x1fa)),_0x21ffa8=await fetchAllSqlQueries(_0x5eca45[_0x5d2ee3(0x202)],{'sqlCode':_0x5eca45['str'](_0x5d2ee3(0x204))||undefined,'sqlName':_0x5eca45[_0x5d2ee3(0x20c)](_0x5d2ee3(0x1eb))||undefined});if(_0x21ffa8[_0x5d2ee3(0x1d9)]===0x0)return{'ok':!![],'data':{'pulled':[],'skipped':[],'failed':[]},'message':_0x5d2ee3(0x212)};const _0x59ad3a=[],_0x450c1c=[];for(const _0x45b5b3 of _0x21ffa8){try{_0x59ad3a[_0x5d2ee3(0x1f1)](await ensureSqlContent(_0x45b5b3));}catch(_0x3c0a41){_0x450c1c[_0x5d2ee3(0x1f1)]({'sqlCode':_0x45b5b3[_0x5d2ee3(0x217)],'error':_0x3c0a41 instanceof Error?_0x3c0a41['message']:String(_0x3c0a41)});}}if(_0x4a5488&&!_0x5eca45['nonInteractive']){let _0x20d1d9=![];for(const _0xaebded of _0x59ad3a){const _0x429e12=detectModeFromSql(_0xaebded),_0x20d7b8=_0xaebded[_0x5d2ee3(0x208)]?await getDbName(_0x5eca45[_0x5d2ee3(0x202)],Number(_0xaebded[_0x5d2ee3(0x208)]))[_0x5d2ee3(0x1fb)](()=>undefined):undefined,_0x360838=buildLocalSqlFileContent({'sqlCode':_0xaebded[_0x5d2ee3(0x217)],'sqlName':_0xaebded[_0x5d2ee3(0x201)],'dbId':_0xaebded['dbId']},ensureRemoteSqlContent(_0xaebded),{'dbName':_0x20d7b8,'mode':_0x429e12,'syncedAt':new Date()[_0x5d2ee3(0x1ee)](),'description':_0xaebded[_0x5d2ee3(0x1fe)]}),_0x5a9c2c=resolveLocalSqlFilePath(_0x41d2a8,_0xaebded[_0x5d2ee3(0x217)],buildSqlLockEntry(_0xaebded,ensureRemoteSqlContent(_0xaebded),'',{'dbName':_0x20d7b8}));if(await fileExists(_0x5a9c2c)){const _0x5f1dc1=await readFile(_0x5a9c2c,_0x5d2ee3(0x1f3));if(!isEquivalentPulledSqlFile(_0x5f1dc1,_0x360838,_0x429e12)){_0x20d1d9=!![];break;}}}if(_0x20d1d9){const _0x5984bc=await confirmForceOverwrite('Force\x20pull\x20will\x20overwrite\x20local\x20SQL\x20that\x20differs\x20from\x20remote.');if(!_0x5984bc)throw CliErrors[_0x5d2ee3(0x209)]('Force\x20pull\x20cancelled.');}}const _0x495e17=cloneSqlLockData(_0x30d94e),_0x3fd35d=_0x495e17[_0x5d2ee3(0x213)][_0x41d2a8[_0x5d2ee3(0x202)]],_0x4a6bc1=[],_0x408938=[];for(const _0x26006c of _0x59ad3a){const _0x50fb35=_0x3fd35d[_0x5d2ee3(0x200)][_0x26006c['sqlCode']],_0x49f471=ensureRemoteSqlContent(_0x26006c),_0x39729a=detectModeFromSql(_0x26006c),_0x40faa7=_0x26006c[_0x5d2ee3(0x208)]?await getDbName(_0x5eca45[_0x5d2ee3(0x202)],Number(_0x26006c['dbId']))[_0x5d2ee3(0x1fb)](()=>undefined):undefined,_0x46d55b=buildLocalSqlFileContent({'sqlCode':_0x26006c['sqlCode'],'sqlName':_0x26006c[_0x5d2ee3(0x201)],'dbId':_0x26006c['dbId']},_0x49f471,{'dbName':_0x40faa7,'mode':_0x39729a,'syncedAt':new Date()[_0x5d2ee3(0x1ee)](),'description':_0x26006c[_0x5d2ee3(0x1fe)]}),_0xe267bf=buildSqlLockEntry(_0x26006c,_0x49f471,computeSqlContentHash(_0x46d55b),{'dbName':_0x40faa7}),_0x4d17a2=_0xe267bf[_0x5d2ee3(0x1e2)],_0x1b4824=join(_0x41d2a8[_0x5d2ee3(0x1e6)],_0x4d17a2);try{if(await fileExists(_0x1b4824)){const _0x59a231=await readFile(_0x1b4824,_0x5d2ee3(0x1f3));if(isEquivalentPulledSqlFile(_0x59a231,_0x46d55b,_0x39729a)){_0x408938[_0x5d2ee3(0x1f1)]({'sqlCode':_0x26006c['sqlCode'],'reason':_0x5d2ee3(0x20d)}),_0x3fd35d[_0x5d2ee3(0x200)][_0x26006c[_0x5d2ee3(0x217)]]={..._0xe267bf,'hash':computeSqlContentHash(_0x59a231),'path':_0x4d17a2};continue;}if(!_0x4a5488){_0x408938[_0x5d2ee3(0x1f1)]({'sqlCode':_0x26006c[_0x5d2ee3(0x217)],'reason':_0x5d2ee3(0x1ec)});continue;}}const _0x51e622=_0x50fb35?.['path']?join(_0x41d2a8['sqlRootDir'],_0x50fb35['path']):undefined;_0x51e622&&_0x51e622!==_0x1b4824&&await fileExists(_0x51e622)&&await rm(_0x51e622,{'force':!![]}),await ensureParentDirectory(_0x1b4824),await writeFile(_0x1b4824,_0x46d55b,_0x5d2ee3(0x1f3)),_0x3fd35d[_0x5d2ee3(0x200)][_0x26006c[_0x5d2ee3(0x217)]]={..._0xe267bf,'path':_0x4d17a2},_0x4a6bc1[_0x5d2ee3(0x1f1)]({'sqlCode':_0x26006c[_0x5d2ee3(0x217)],'filePath':_0x1b4824});}catch(_0xb0fde1){_0x450c1c[_0x5d2ee3(0x1f1)]({'sqlCode':_0x26006c['sqlCode'],'error':_0xb0fde1 instanceof Error?_0xb0fde1['message']:String(_0xb0fde1)});}}return _0x3fd35d['lastSync']=new Date()[_0x5d2ee3(0x1ee)](),await writeSqlLockFile(_0x41d2a8[_0x5d2ee3(0x203)],_0x495e17),{'ok':_0x450c1c[_0x5d2ee3(0x1d9)]===0x0,'data':{'pulled':_0x4a6bc1,'skipped':_0x408938,'failed':_0x450c1c},'message':_0x5d2ee3(0x1de)+_0x4a6bc1[_0x5d2ee3(0x1d9)]+_0x5d2ee3(0x20a)+_0x408938[_0x5d2ee3(0x1d9)]+_0x5d2ee3(0x214)+_0x450c1c[_0x5d2ee3(0x1d9)]+_0x5d2ee3(0x1e4)};}};function detectModeFromSql(_0x12defc){const _0xc3427=a127_0x336a76,_0x50290e=ensureRemoteSqlContent(_0x12defc),_0x32245d=stripLocalSqlMetadata(_0x50290e,_0xc3427(0x215))[_0xc3427(0x1e9)]();if(/^<(select|insert|update|delete)\b/i[_0xc3427(0x20b)](_0x32245d))return _0xc3427(0x215);return _0xc3427(0x1e1);}function isEquivalentPulledSqlFile(_0x4c336a,_0xb04510,_0x37aca7){return normalizePullComparableContent(_0x4c336a,_0x37aca7)===normalizePullComparableContent(_0xb04510,_0x37aca7);}function normalizePullComparableContent(_0x5b57c2,_0x463beb){const _0x3ae753=a127_0x336a76,_0x4370d5=_0x5b57c2[_0x3ae753(0x1f0)](/\r\n/g,'\x0a')[_0x3ae753(0x205)]('\x0a'),_0x3c0e55=_0x4370d5[_0x3ae753(0x1ef)](_0x570b5e=>!isSyncedAtMetadataLine(_0x570b5e,_0x463beb));return _0x3c0e55[_0x3ae753(0x20f)]('\x0a');}function isSyncedAtMetadataLine(_0x381656,_0x383ff1){const _0x277988=a127_0x336a76;if(_0x383ff1===_0x277988(0x215))return/^\s*<!--\s*@lovrabet\.syncedAt:/[_0x277988(0x20b)](_0x381656);return/^\s*--\s*@lovrabet\.syncedAt:/[_0x277988(0x20b)](_0x381656);}
|