@lovrabet/rabetbase-cli 2.1.7-beta.9 → 2.1.9
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/lib/api/api-doc.js +1 -1
- package/lib/api/fetch-model-list.js +1 -1
- package/lib/api/generate-api-file.js +1 -1
- package/lib/auth/auth-server-ui.js +1 -1
- package/lib/auth/auth-server.js +1 -1
- package/lib/auth/constant.js +1 -1
- package/lib/auth/get-cookie.js +1 -1
- package/lib/auth/get-session-user.js +1 -1
- package/lib/auth/is-session-valid.js +1 -1
- package/lib/auth/login-success-html.js +1 -1
- package/lib/auth/logout.js +1 -1
- package/lib/cli-flags.js +1 -1
- package/lib/cli.js +1 -1
- package/lib/commands/api/generate.js +1 -1
- package/lib/commands/api/index.js +1 -1
- package/lib/commands/api/list.js +1 -1
- package/lib/commands/api/pull.js +1 -1
- package/lib/commands/api/shared.js +1 -1
- package/lib/commands/app/add.js +1 -1
- package/lib/commands/app/discover.js +1 -1
- package/lib/commands/app/index.js +1 -1
- package/lib/commands/app/list.js +1 -1
- package/lib/commands/app/remove.js +1 -1
- package/lib/commands/app/shared.js +1 -1
- package/lib/commands/app/use.js +1 -1
- package/lib/commands/auth/index.js +1 -1
- package/lib/commands/bff/create.js +1 -1
- package/lib/commands/bff/delete.js +1 -1
- package/lib/commands/bff/detail.js +1 -1
- package/lib/commands/bff/index.js +1 -1
- package/lib/commands/bff/list.js +1 -1
- package/lib/commands/bff/pull.js +1 -1
- package/lib/commands/bff/push.js +1 -1
- package/lib/commands/bff/status.js +1 -1
- package/lib/commands/cli-update.js +1 -1
- package/lib/commands/codegen/index.js +1 -1
- package/lib/commands/codegen/sdk.js +1 -1
- package/lib/commands/codegen/sql.js +1 -1
- package/lib/commands/common/app-selector.js +1 -1
- package/lib/commands/common/flags.js +1 -1
- package/lib/commands/common/validate.js +1 -1
- package/lib/commands/config/get.js +1 -1
- package/lib/commands/config/index.js +1 -1
- package/lib/commands/config/list.js +1 -1
- package/lib/commands/config/set.js +1 -1
- package/lib/commands/config/shared.js +1 -1
- package/lib/commands/data/filter.js +1 -1
- package/lib/commands/data/getOne.js +1 -1
- package/lib/commands/data/index.js +1 -1
- package/lib/commands/data/shared.js +1 -1
- package/lib/commands/dataset/delete.js +1 -1
- package/lib/commands/dataset/detail.js +1 -1
- package/lib/commands/dataset/index.js +1 -1
- package/lib/commands/dataset/link-create.js +1 -1
- package/lib/commands/dataset/link-delete.js +1 -1
- package/lib/commands/dataset/link-shared.js +1 -1
- package/lib/commands/dataset/link-update.js +1 -1
- package/lib/commands/dataset/links.js +1 -1
- package/lib/commands/dataset/list.js +1 -1
- package/lib/commands/dataset/operations.js +1 -1
- package/lib/commands/db/analyze-cancel.js +1 -1
- package/lib/commands/db/analyze-start.js +1 -1
- package/lib/commands/db/analyze-status.js +1 -1
- package/lib/commands/db/create.js +1 -1
- package/lib/commands/db/delete.js +1 -1
- package/lib/commands/db/detail.js +1 -1
- package/lib/commands/db/diff.js +1 -1
- package/lib/commands/db/index.js +1 -1
- package/lib/commands/db/list.js +1 -1
- package/lib/commands/db/shared.js +1 -1
- package/lib/commands/db/tables.js +1 -1
- package/lib/commands/db/test.js +1 -1
- package/lib/commands/db/update.js +1 -1
- package/lib/commands/doctor.js +1 -1
- package/lib/commands/init/index.js +1 -1
- package/lib/commands/issue/index.js +1 -1
- package/lib/commands/issue/report.js +1 -1
- package/lib/commands/logs/index.js +1 -1
- package/lib/commands/menu/index.js +1 -1
- package/lib/commands/menu/shared/compare-table.js +1 -1
- package/lib/commands/menu/shared/index.js +1 -1
- package/lib/commands/menu/shared/inquirer.js +1 -1
- package/lib/commands/menu/shared/local-pages.js +1 -1
- package/lib/commands/menu/shared/logic.js +1 -1
- package/lib/commands/menu/shared/service.js +1 -1
- package/lib/commands/menu/shared/sync-core.js +1 -1
- package/lib/commands/menu/shared/update-core.js +1 -1
- package/lib/commands/menu/shared/valid-url.js +1 -1
- package/lib/commands/menu/sync.js +1 -1
- package/lib/commands/menu/update.js +1 -1
- package/lib/commands/page/generate-start.js +1 -1
- package/lib/commands/page/generate-status.js +1 -1
- package/lib/commands/page/index.js +1 -1
- package/lib/commands/page/pull.js +1 -1
- package/lib/commands/page/push.js +1 -1
- package/lib/commands/page/shared.js +1 -1
- package/lib/commands/page/standard-page-status.js +1 -1
- package/lib/commands/page/sync.js +1 -1
- package/lib/commands/project/create/enhanced-guided-create.js +1 -1
- package/lib/commands/project/create/format-elapsed.js +1 -1
- package/lib/commands/project/create/main.js +1 -1
- package/lib/commands/project/create/non-interactive.js +1 -1
- package/lib/commands/project/create/project-template-path.js +1 -1
- package/lib/commands/project/create/use-copy-project-template.js +1 -1
- package/lib/commands/project/create/use-format-code.js +1 -1
- package/lib/commands/project/create/use-install-dependencies.js +1 -1
- package/lib/commands/project/index.js +1 -1
- package/lib/commands/project/init.js +1 -1
- package/lib/commands/project/upgrade.js +1 -1
- package/lib/commands/registry.js +1 -1
- package/lib/commands/run/index.js +1 -1
- package/lib/commands/schema.js +1 -1
- package/lib/commands/skill/index.js +1 -1
- package/lib/commands/sql/create.js +1 -1
- package/lib/commands/sql/delete.js +1 -1
- package/lib/commands/sql/detail.js +1 -1
- package/lib/commands/sql/exec.js +1 -1
- package/lib/commands/sql/index.js +1 -1
- package/lib/commands/sql/list.js +1 -1
- package/lib/commands/sql/pull.js +1 -1
- package/lib/commands/sql/push.js +1 -1
- package/lib/commands/sql/save.js +1 -1
- package/lib/commands/sql/shared.js +1 -1
- package/lib/commands/sql/status.js +1 -1
- package/lib/commands/sql/validate.js +1 -1
- package/lib/config/schema.js +1 -1
- package/lib/constant/cdn.js +1 -1
- package/lib/constant/cli.js +1 -1
- package/lib/constant/defaults.js +1 -1
- package/lib/constant/domain.js +1 -1
- package/lib/constant/env.js +1 -1
- package/lib/constant/output.js +1 -1
- package/lib/constant/paths.js +1 -1
- package/lib/constant/risk.js +1 -1
- package/lib/context.js +1 -1
- package/lib/core/alias-resolver.js +1 -1
- package/lib/core/api-client.js +1 -1
- package/lib/core/bff/config.js +1 -1
- package/lib/core/bff/file-system.js +1 -1
- package/lib/core/bff/hash.js +1 -1
- package/lib/core/bff/lock.js +1 -1
- package/lib/core/bff/utils.js +1 -1
- package/lib/core/db-resolver.js +1 -1
- package/lib/core/page/file-system.js +1 -1
- package/lib/core/page/hash.js +1 -1
- package/lib/core/page/lock.js +1 -1
- package/lib/core/sql-sync/config.js +1 -1
- package/lib/core/sql-sync/file-system.js +1 -1
- package/lib/core/sql-sync/hash.js +1 -1
- package/lib/core/sql-sync/lock.js +1 -1
- package/lib/core/sql-sync/utils.js +1 -1
- package/lib/core/sql-validator.js +1 -1
- package/lib/errors.js +1 -1
- package/lib/framework/build-all-flags.js +1 -1
- package/lib/framework/flags.js +1 -1
- package/lib/framework/help.js +1 -1
- package/lib/framework/index.js +1 -1
- package/lib/framework/output.js +1 -1
- package/lib/framework/response.js +1 -1
- package/lib/framework/runner-alias.js +1 -1
- package/lib/framework/runner.js +1 -1
- package/lib/framework/schema-export.js +1 -1
- package/lib/framework/types.js +1 -1
- package/lib/generated/build-info.js +1 -1
- package/lib/help.js +1 -1
- package/lib/skills/main.js +1 -1
- package/lib/skills/npx-skills-add.js +1 -1
- package/lib/telemetry/cli-command-trace.js +1 -1
- package/lib/telemetry/cli-help-trace.js +1 -1
- package/lib/telemetry/ensure-cli-otel-config.js +1 -1
- package/lib/telemetry/register-otel-exit-shutdown.js +1 -1
- package/lib/telemetry/send-cli-trace-log.js +1 -1
- package/lib/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/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 a109_0x3c79(){const _0x281584=['\x20\x20Current\x20version\x20in\x20','dependencies','step','log','some','message','oldMcpConfig','\x20\x20Action:\x20update\x20package.json\x20(you\x20will\x20need\x20to\x20re-run\x20install)','.claude/skills/lovrabet','8BgMzuz','args','Upgrade\x20@lovrabet/sdk','142846sIeqzG','not\x20needed','utf8','cyan','Step\x207/7:\x20@lovrabet/sdk\x20—\x20','Step\x205/7:\x20Remove\x20old\x20skill\x20—\x20','MCP\x20config:','no\x20legacy\x20entry','[\x22@lovrabet/sdk\x22]:\x20','\x20removed','Clean\x20MCP\x20config','error','Step\x205/7:\x20Removing\x20old\x20skill...','1423282FWvCiB','Step\x206/7:\x20Install\x20new\x20skill\x20—\x20','\x20\x20\x20\x20\x20\x20\x20','mcpServers','object','Step\x202/7:\x20.lovrabet/\x20removal\x20failed\x20—\x20','Step\x202/7:\x20.lovrabet/\x20not\x20found,\x20skipped','\x20\x20Action:\x20remove\x20old\x20lovrabet/lovrabet-skill,\x20add\x20via\x20`','2drTtCn','\x20from\x20','oldPath','length','Step\x202/7:\x20Removing\x20.lovrabet/\x20directory...','Step\x201/7:\x20Config\x20migration\x20—\x20','\x20\x20Action:\x20delete','Remove\x20old\x20skill','620KqvoZv','Step\x207/7:\x20Upgrading\x20@lovrabet/sdk\x20in\x20package.json...','removed\x20','Step\x203/7:\x20Legacy\x20artifacts\x20—\x20','failed','Config\x20migration','Legacy\x20artifacts:','Step\x202/7:\x20.lovrabet/\x20directory\x20removed','already\x20exists\x20(will\x20merge)','\x20\x20Step\x20','string','12510025MqftkE','red','@lovrabet/sdk:','lovrabet/rabetbase\x20installed\x20globally','push','inherit','isArray','label','cwd','Install\x20new\x20skill','white','Remove\x20.lovrabet/','4701264HkdnBV','Please\x20re-install\x20dependencies\x20to\x20apply\x20the\x20change:','keys','path','latest','succeed','detail','includes','Step\x201/7:\x20Migrating\x20config...','sdkUpgrade','fail','\x20→\x20','files','oldArtifacts','green','needsSkillSwap','\x20\x20#\x20or','\x20\x20npm\x20install','isDirectory','filter','\x20\x20New\x20config\x20(.rabetbase.json):\x20','stringify','2160700VyhFCC','\x20\x20bun\x20install','Upgrade\x20cancelled.','===\x20Upgrade\x20Summary\x20===','no\x20legacy\x20config\x20found','exit\x20','info','\x20→\x20keys:\x20','.bak','Step\x204/7:\x20Cleaning\x20MCP\x20config...','skipped','fields','7830ESZLtr','none\x20found','status','hasNewConfig','===\x20Upgrade\x20Analysis\x20===','4dscxFi','3021102jkqiFh','yellow','@lovrabet/sdk','Upgrade\x20completed\x20successfully!','.lovrabet','Skill\x20swap:','devDependencies','package.json','parse','done','lovrabet/lovrabet-skill\x20removed','\x20\x20Action:\x20remove\x20entries\x20containing\x20@lovrabet/dataset-mcp-server','.cursor/rules/lovrabet_rules.mdc','skipped\x20(not\x20found\x20or\x20already\x20at\x20latest)','\x20(backup:\x20','not\x20found\x20(will\x20create)','entries','start','lovrabet/rabetbase','gray','Some\x20steps\x20failed.\x20Check\x20the\x20summary\x20above\x20for\x20details.','needed','\x20\x20Fields\x20to\x20migrate:\x20','bold','\x20removed\x20(','join','Step\x206/7:\x20Installing\x20new\x20skill...'];a109_0x3c79=function(){return _0x281584;};return a109_0x3c79();}const a109_0x64a872=a109_0x3006;(function(_0x3384fc,_0x19daca){const _0x2c1125=a109_0x3006,_0x250a7b=_0x3384fc();while(!![]){try{const _0x15fd46=parseInt(_0x2c1125(0x1ef))/0x1*(-parseInt(_0x2c1125(0x25d))/0x2)+parseInt(_0x2c1125(0x236))/0x3*(parseInt(_0x2c1125(0x235))/0x4)+parseInt(_0x2c1125(0x224))/0x5+parseInt(_0x2c1125(0x20e))/0x6+-parseInt(_0x2c1125(0x1e7))/0x7*(parseInt(_0x2c1125(0x25a))/0x8)+parseInt(_0x2c1125(0x230))/0x9*(parseInt(_0x2c1125(0x1f7))/0xa)+-parseInt(_0x2c1125(0x202))/0xb;if(_0x15fd46===_0x19daca)break;else _0x250a7b['push'](_0x250a7b['shift']());}catch(_0x2da595){_0x250a7b['push'](_0x250a7b['shift']());}}}(a109_0x3c79,0xc1a7b));import a109_0xcbdea8 from'chalk';import a109_0x24af01 from'ora';function a109_0x3006(_0x2da7de,_0x39af4b){_0x2da7de=_0x2da7de-0x1e0;const _0x3c79f8=a109_0x3c79();let _0x30061e=_0x3c79f8[_0x2da7de];return _0x30061e;}import{existsSync,readFileSync,renameSync,rmSync,statSync,unlinkSync,writeFileSync}from'node:fs';import{resolve}from'node:path';import{CONFIG_NAMES,NEW_CONFIG_NAME,readConfigFile,writeConfigFile}from'../../context.js';import{CORE_IDE_CONFIGS}from'../../utils/ai_config.js';import{NPX_SKILLS_ADD_GLOBAL_COMMAND_LINE,runNpxSkillsAddGlobal,runNpxSkillsRemove}from'../../skills/npx-skills-add.js';import{askConfirm}from'../../commands/menu/shared/inquirer.js';const LEGACY_CONFIG_NAMES=CONFIG_NAMES[a109_0x64a872(0x221)](_0x2d531c=>_0x2d531c!==NEW_CONFIG_NAME);function collectIdeSkillFiles(_0x237396){const _0x3c3195=a109_0x64a872,_0x1b4349=[];for(const _0x2a26df of Object['values'](CORE_IDE_CONFIGS)){if(_0x2a26df[_0x3c3195(0x21a)])for(const _0x56e133 of _0x2a26df[_0x3c3195(0x21a)]){_0x1b4349[_0x3c3195(0x206)](resolve(_0x237396,_0x56e133[_0x3c3195(0x211)]));}}return _0x1b4349;}function analyse(_0x4e6cf3){const _0x32c435=a109_0x64a872;let _0x1ebabe=null;const _0x4982cd=resolve(_0x4e6cf3,NEW_CONFIG_NAME),_0x1097ae=existsSync(_0x4982cd);for(const _0x1a74e6 of LEGACY_CONFIG_NAMES){const _0x389e29=resolve(_0x4e6cf3,_0x1a74e6);if(existsSync(_0x389e29)){const _0x1f0304=readConfigFile(_0x389e29),_0x4c06c7=Object[_0x32c435(0x210)](_0x1f0304)['filter'](_0x1e2649=>typeof _0x1f0304[_0x1e2649]!=='undefined');_0x1ebabe={'oldPath':_0x389e29,'hasNewConfig':_0x1097ae,'fields':_0x4c06c7};break;}}const _0x1fcc38=[],_0x488279=resolve(_0x4e6cf3,_0x32c435(0x23a));if(existsSync(_0x488279))_0x1fcc38[_0x32c435(0x206)](_0x488279);const _0x33006d=resolve(_0x4e6cf3,_0x32c435(0x242));if(existsSync(_0x33006d))_0x1fcc38[_0x32c435(0x206)](_0x33006d);const _0x34193c=resolve(_0x4e6cf3,_0x32c435(0x259));if(existsSync(_0x34193c))_0x1fcc38[_0x32c435(0x206)](_0x34193c);for(const _0xbb42e1 of collectIdeSkillFiles(_0x4e6cf3)){if(existsSync(_0xbb42e1))_0x1fcc38[_0x32c435(0x206)](_0xbb42e1);}let _0x2c371d=null;const _0x1b7acb=resolve(_0x4e6cf3,'.cursor/mcp.json');if(existsSync(_0x1b7acb))try{const _0x41ff29=JSON[_0x32c435(0x23e)](readFileSync(_0x1b7acb,_0x32c435(0x25f)));if(_0x41ff29?.[_0x32c435(0x1ea)]&&typeof _0x41ff29['mcpServers']===_0x32c435(0x1eb)){const _0x7c6cb7=[];for(const [_0x49f183,_0x1e0b3a]of Object[_0x32c435(0x246)](_0x41ff29['mcpServers'])){const _0x5030ac=_0x1e0b3a;_0x5030ac?.['args']&&Array['isArray'](_0x5030ac[_0x32c435(0x25b)])&&_0x5030ac[_0x32c435(0x25b)][_0x32c435(0x255)](_0x3393a1=>typeof _0x3393a1===_0x32c435(0x201)&&_0x3393a1[_0x32c435(0x215)]('@lovrabet/dataset-mcp-server'))&&_0x7c6cb7[_0x32c435(0x206)](_0x49f183);}_0x7c6cb7['length']>0x0&&(_0x2c371d={'path':_0x1b7acb,'keys':_0x7c6cb7});}}catch{}const _0x3fe2d0=_0x1fcc38['length']>0x0||_0x1ebabe!==null;let _0x489584=null;const _0x30d9eb=resolve(_0x4e6cf3,_0x32c435(0x23d));if(existsSync(_0x30d9eb))try{const _0x4a3192=JSON[_0x32c435(0x23e)](readFileSync(_0x30d9eb,_0x32c435(0x25f)));for(const _0xcdb7e4 of[_0x32c435(0x252),_0x32c435(0x23c)]){const _0x45e0aa=_0x4a3192?.[_0xcdb7e4]?.[_0x32c435(0x238)];if(typeof _0x45e0aa===_0x32c435(0x201)){_0x45e0aa!==_0x32c435(0x212)&&(_0x489584={'pkgPath':_0x30d9eb,'currentVersion':_0x45e0aa,'field':_0xcdb7e4});break;}}}catch{}return{'configMigration':_0x1ebabe,'oldArtifacts':_0x1fcc38,'oldMcpConfig':_0x2c371d,'needsSkillSwap':_0x3fe2d0,'sdkUpgrade':_0x489584};}function printReport(_0x591434){const _0x3e219d=a109_0x64a872,{configMigration:_0x590114,oldArtifacts:_0x571cf8,oldMcpConfig:_0x11a10b,needsSkillSwap:_0x13770e}=_0x591434;console[_0x3e219d(0x254)](''),console['log'](a109_0xcbdea8['bold'](_0x3e219d(0x234))),console[_0x3e219d(0x254)]('');_0x590114?(console[_0x3e219d(0x254)](a109_0xcbdea8[_0x3e219d(0x260)]('Config\x20file:')+('\x20\x20'+a109_0xcbdea8['yellow'](_0x590114['oldPath']))),console['log'](_0x3e219d(0x222)+(_0x590114[_0x3e219d(0x233)]?a109_0xcbdea8['green'](_0x3e219d(0x1ff)):a109_0xcbdea8[_0x3e219d(0x249)](_0x3e219d(0x245)))),console[_0x3e219d(0x254)](_0x3e219d(0x24c)+_0x590114[_0x3e219d(0x22f)][_0x3e219d(0x24f)](',\x20')),console['log']('\x20\x20Action:\x20migrate\x20→\x20backup\x20old\x20as\x20.bak')):console[_0x3e219d(0x254)](a109_0xcbdea8['cyan']('Config\x20file:')+'\x20\x20'+a109_0xcbdea8[_0x3e219d(0x249)](_0x3e219d(0x228)));console[_0x3e219d(0x254)]('');if(_0x571cf8[_0x3e219d(0x1f2)]>0x0){console[_0x3e219d(0x254)](a109_0xcbdea8[_0x3e219d(0x260)](_0x3e219d(0x1fd)));for(const _0x126e94 of _0x571cf8){console[_0x3e219d(0x254)]('\x20\x20'+a109_0xcbdea8[_0x3e219d(0x203)]('FOUND')+'\x20\x20'+_0x126e94);}console[_0x3e219d(0x254)](_0x3e219d(0x1f5));}else console[_0x3e219d(0x254)](a109_0xcbdea8[_0x3e219d(0x260)](_0x3e219d(0x1fd))+'\x20\x20'+a109_0xcbdea8[_0x3e219d(0x249)](_0x3e219d(0x231)));console[_0x3e219d(0x254)]('');_0x11a10b?(console['log'](a109_0xcbdea8[_0x3e219d(0x260)](_0x3e219d(0x1e0))+('\x20\x20'+a109_0xcbdea8[_0x3e219d(0x237)](_0x11a10b[_0x3e219d(0x211)])+_0x3e219d(0x22b)+_0x11a10b[_0x3e219d(0x210)][_0x3e219d(0x24f)](',\x20'))),console[_0x3e219d(0x254)](_0x3e219d(0x241))):console['log'](a109_0xcbdea8[_0x3e219d(0x260)](_0x3e219d(0x1e0))+'\x20\x20'+a109_0xcbdea8['gray'](_0x3e219d(0x1e1)));console[_0x3e219d(0x254)](''),console[_0x3e219d(0x254)](a109_0xcbdea8[_0x3e219d(0x260)](_0x3e219d(0x23b))+('\x20\x20'+(_0x13770e?a109_0xcbdea8[_0x3e219d(0x237)](_0x3e219d(0x24b)):a109_0xcbdea8[_0x3e219d(0x21c)](_0x3e219d(0x25e)))));_0x13770e&&console[_0x3e219d(0x254)](_0x3e219d(0x1ee)+NPX_SKILLS_ADD_GLOBAL_COMMAND_LINE+'`');console['log']('');if(_0x591434[_0x3e219d(0x217)]){const {currentVersion:_0x359d39,field:_0x1b49a1,pkgPath:_0x4483b6}=_0x591434['sdkUpgrade'];console[_0x3e219d(0x254)](a109_0xcbdea8[_0x3e219d(0x260)](_0x3e219d(0x204))+('\x20\x20'+a109_0xcbdea8[_0x3e219d(0x237)](_0x4483b6))),console['log'](_0x3e219d(0x251)+_0x1b49a1+':\x20'+a109_0xcbdea8[_0x3e219d(0x237)](_0x359d39)+_0x3e219d(0x219)+a109_0xcbdea8[_0x3e219d(0x21c)]('latest')),console[_0x3e219d(0x254)](_0x3e219d(0x258));}else console[_0x3e219d(0x254)](a109_0xcbdea8[_0x3e219d(0x260)]('@lovrabet/sdk:')+'\x20\x20'+a109_0xcbdea8[_0x3e219d(0x249)]('not\x20found\x20or\x20already\x20at\x20latest'));console[_0x3e219d(0x254)]('');}function execConfigMigration(_0x47732d,_0x31dddb){const _0x56ef0e=a109_0x64a872,{configMigration:_0x1f1cac}=_0x47732d;if(!_0x1f1cac?.[_0x56ef0e(0x1f1)])return{'step':0x1,'label':_0x56ef0e(0x1fc),'ok':!![],'detail':'skipped\x20(no\x20legacy\x20config)'};const _0x34c006=readConfigFile(_0x1f1cac[_0x56ef0e(0x1f1)]),_0x46c7ef=resolve(_0x31dddb,NEW_CONFIG_NAME),_0x2e08fe=_0x1f1cac[_0x56ef0e(0x233)]?readConfigFile(_0x46c7ef):{};for(const [_0x2f1f75,_0x2d3515]of Object[_0x56ef0e(0x246)](_0x34c006)){!(_0x2f1f75 in _0x2e08fe)&&(_0x2e08fe[_0x2f1f75]=_0x2d3515);}writeConfigFile(_0x46c7ef,_0x2e08fe);const _0xc67828=_0x1f1cac[_0x56ef0e(0x1f1)]+_0x56ef0e(0x22c);return renameSync(_0x1f1cac[_0x56ef0e(0x1f1)],_0xc67828),{'step':0x1,'label':_0x56ef0e(0x1fc),'ok':!![],'detail':_0x1f1cac[_0x56ef0e(0x1f1)]+'\x20→\x20'+_0x46c7ef+_0x56ef0e(0x244)+_0xc67828+')'};}function execRemoveOldArtifacts(_0x36fe81){const _0x464b04=a109_0x64a872,_0x4f6fc5=[];for(const _0x451909 of _0x36fe81){try{if(!existsSync(_0x451909))continue;const _0x565361=tryStat(_0x451909);_0x565361?.[_0x464b04(0x220)]()?rmSync(_0x451909,{'recursive':!![],'force':!![]}):unlinkSync(_0x451909);}catch(_0x21230c){_0x4f6fc5[_0x464b04(0x206)](_0x451909+':\x20'+_0x21230c['message']);}}return{'step':0x3,'label':'Remove\x20legacy\x20artifacts','ok':_0x4f6fc5[_0x464b04(0x1f2)]===0x0,'detail':_0x4f6fc5['length']>0x0?_0x36fe81['length']-_0x4f6fc5[_0x464b04(0x1f2)]+'/'+_0x36fe81['length']+_0x464b04(0x24e)+_0x4f6fc5[_0x464b04(0x24f)](';\x20')+')':_0x36fe81['length']+_0x464b04(0x1e3)};}function execCleanMcp(_0x269714){const _0x27b994=a109_0x64a872;if(!_0x269714[_0x27b994(0x257)])return{'step':0x4,'label':_0x27b994(0x1e4),'ok':!![],'detail':_0x27b994(0x22e)};try{const _0x499a81=readFileSync(_0x269714['oldMcpConfig'][_0x27b994(0x211)],_0x27b994(0x25f)),_0x424e7f=JSON['parse'](_0x499a81);if(_0x424e7f?.[_0x27b994(0x1ea)]&&typeof _0x424e7f[_0x27b994(0x1ea)]==='object'){const _0x15f7dd=[];for(const [_0x849252,_0x311da5]of Object[_0x27b994(0x246)](_0x424e7f['mcpServers'])){_0x311da5?.[_0x27b994(0x25b)]&&Array[_0x27b994(0x208)](_0x311da5[_0x27b994(0x25b)])&&_0x311da5[_0x27b994(0x25b)][_0x27b994(0x255)](_0x37547c=>typeof _0x37547c===_0x27b994(0x201)&&_0x37547c[_0x27b994(0x215)]('@lovrabet/dataset-mcp-server'))&&_0x15f7dd[_0x27b994(0x206)](_0x849252);}for(const _0x31d6f5 of _0x15f7dd){delete _0x424e7f[_0x27b994(0x1ea)][_0x31d6f5];}return _0x15f7dd[_0x27b994(0x1f2)]>0x0&&writeFileSync(_0x269714[_0x27b994(0x257)]['path'],JSON[_0x27b994(0x223)](_0x424e7f,null,0x2)+'\x0a',_0x27b994(0x25f)),{'step':0x4,'label':_0x27b994(0x1e4),'ok':!![],'detail':_0x27b994(0x1f9)+_0x15f7dd[_0x27b994(0x24f)](',\x20')+_0x27b994(0x1f0)+_0x269714['oldMcpConfig']['path']};}return{'step':0x4,'label':_0x27b994(0x1e4),'ok':!![],'detail':'no\x20matching\x20entry\x20found'};}catch(_0x2a6f88){return{'step':0x4,'label':_0x27b994(0x1e4),'ok':![],'detail':_0x2a6f88[_0x27b994(0x256)]};}}function execSkillsRemove(_0x1aa80c,_0x4e6943){const _0x476270=a109_0x64a872,_0x40de73=runNpxSkillsRemove(_0x1aa80c,{'stdio':_0x476270(0x207),'yes':_0x4e6943});return{'step':0x5,'label':_0x476270(0x1f6),'ok':_0x40de73['ok'],'detail':_0x40de73['ok']?_0x476270(0x240):_0x40de73[_0x476270(0x1e5)]??'exit\x20'+_0x40de73[_0x476270(0x232)]};}function execSkillsAdd(_0x3f8664,_0x366b5d){const _0x1ce190=a109_0x64a872,_0x20e75d=runNpxSkillsAddGlobal(_0x3f8664,_0x1ce190(0x248),{'stdio':_0x1ce190(0x207),'yes':_0x366b5d});return{'step':0x6,'label':_0x1ce190(0x20b),'ok':_0x20e75d['ok'],'detail':_0x20e75d['ok']?_0x1ce190(0x205):_0x20e75d[_0x1ce190(0x1e5)]??_0x1ce190(0x229)+_0x20e75d[_0x1ce190(0x232)]};}function execUpgradeSdk(_0x1123a6){const _0x5547ff=a109_0x64a872;if(!_0x1123a6['sdkUpgrade'])return{'step':0x7,'label':'Upgrade\x20@lovrabet/sdk','ok':!![],'detail':_0x5547ff(0x243)};const {pkgPath:_0x61f7ae,currentVersion:_0x567182,field:_0x30e86b}=_0x1123a6[_0x5547ff(0x217)];try{const _0x2118fb=readFileSync(_0x61f7ae,'utf8'),_0x4e7fd2=JSON[_0x5547ff(0x23e)](_0x2118fb);return _0x4e7fd2[_0x30e86b]['@lovrabet/sdk']=_0x5547ff(0x212),writeFileSync(_0x61f7ae,JSON[_0x5547ff(0x223)](_0x4e7fd2,null,0x2)+'\x0a',_0x5547ff(0x25f)),{'step':0x7,'label':_0x5547ff(0x25c),'ok':!![],'detail':_0x30e86b+_0x5547ff(0x1e2)+_0x567182+'\x20→\x20latest'};}catch(_0x4c48d7){return{'step':0x7,'label':_0x5547ff(0x25c),'ok':![],'detail':_0x4c48d7[_0x5547ff(0x256)]};}}function tryStat(_0x47557f){try{return statSync(_0x47557f);}catch{return undefined;}}function printSummary(_0x1ad689){const _0x3b53d3=a109_0x64a872;console[_0x3b53d3(0x254)](''),console[_0x3b53d3(0x254)](a109_0xcbdea8[_0x3b53d3(0x24d)](_0x3b53d3(0x227))),console[_0x3b53d3(0x254)]('');for(const _0x332c71 of _0x1ad689){const _0x58ca4f=_0x332c71['ok']?a109_0xcbdea8['green']('OK'):a109_0xcbdea8[_0x3b53d3(0x203)]('FAIL');console[_0x3b53d3(0x254)]('\x20\x20'+_0x58ca4f+_0x3b53d3(0x200)+_0x332c71[_0x3b53d3(0x253)]+':\x20'+_0x332c71[_0x3b53d3(0x209)]);if(_0x332c71[_0x3b53d3(0x214)])console[_0x3b53d3(0x254)](_0x3b53d3(0x1e9)+a109_0xcbdea8[_0x3b53d3(0x249)](_0x332c71[_0x3b53d3(0x214)]));}console[_0x3b53d3(0x254)]('');}export async function upgradeApp(_0xee582f,_0xdea07e){const _0xc55ed0=a109_0x64a872,_0x2e9b2d=process[_0xc55ed0(0x20a)](),_0x3415f8=analyse(_0x2e9b2d),_0x4c8fae=!_0x3415f8['configMigration']&&_0x3415f8[_0xc55ed0(0x21b)][_0xc55ed0(0x1f2)]===0x0&&!_0x3415f8['oldMcpConfig']&&!_0x3415f8[_0xc55ed0(0x21d)]&&!_0x3415f8[_0xc55ed0(0x217)];if(_0x4c8fae){console[_0xc55ed0(0x254)](a109_0xcbdea8[_0xc55ed0(0x21c)]('No\x20legacy\x20artifacts\x20found.\x20Your\x20project\x20is\x20already\x20up-to-date.'));return;}printReport(_0x3415f8);const _0x111678=!!(_0xdea07e['yes']||_0xdea07e['Y']||_0xee582f);if(!_0x111678)try{const _0x513550=await askConfirm('Proceed\x20with\x20upgrade?');if(!_0x513550){console[_0xc55ed0(0x254)](a109_0xcbdea8[_0xc55ed0(0x249)](_0xc55ed0(0x226)));return;}}catch(_0x36cba7){if(_0x36cba7?.[_0xc55ed0(0x256)]==='CANCEL'){console[_0xc55ed0(0x254)](a109_0xcbdea8[_0xc55ed0(0x249)](_0xc55ed0(0x226)));return;}throw _0x36cba7;}const _0x543d03=[],_0x143263=a109_0x24af01({'text':_0xc55ed0(0x216),'color':_0xc55ed0(0x260)})[_0xc55ed0(0x247)](),_0x2a2128=execConfigMigration(_0x3415f8,_0x2e9b2d);_0x543d03['push'](_0x2a2128),_0x143263[_0x2a2128['ok']?'succeed':_0xc55ed0(0x218)](_0xc55ed0(0x1f4)+(_0x2a2128[_0xc55ed0(0x214)]??(_0x2a2128['ok']?_0xc55ed0(0x23f):'failed')));const _0x231f12=resolve(_0x2e9b2d,_0xc55ed0(0x23a)),_0x153acf=a109_0x24af01({'text':_0xc55ed0(0x1f3),'color':_0xc55ed0(0x260)})[_0xc55ed0(0x247)]();if(existsSync(_0x231f12))try{rmSync(_0x231f12,{'recursive':!![],'force':!![]}),_0x153acf[_0xc55ed0(0x213)](_0xc55ed0(0x1fe)),_0x543d03[_0xc55ed0(0x206)]({'step':0x2,'label':_0xc55ed0(0x20d),'ok':!![]});}catch(_0x2aabb0){_0x153acf[_0xc55ed0(0x218)](_0xc55ed0(0x1ec)+_0x2aabb0['message']),_0x543d03[_0xc55ed0(0x206)]({'step':0x2,'label':_0xc55ed0(0x20d),'ok':![],'detail':_0x2aabb0[_0xc55ed0(0x256)]});}else _0x153acf[_0xc55ed0(0x22a)](_0xc55ed0(0x1ed)),_0x543d03['push']({'step':0x2,'label':_0xc55ed0(0x20d),'ok':!![],'detail':_0xc55ed0(0x22e)});const _0x19efc7=a109_0x24af01({'text':'Step\x203/7:\x20Removing\x20legacy\x20IDE\x20skill\x20files...','color':_0xc55ed0(0x260)})[_0xc55ed0(0x247)](),_0x1d9109=execRemoveOldArtifacts(_0x3415f8[_0xc55ed0(0x21b)]);_0x543d03['push'](_0x1d9109),_0x19efc7[_0x1d9109['ok']?_0xc55ed0(0x213):_0xc55ed0(0x218)](_0xc55ed0(0x1fa)+(_0x1d9109[_0xc55ed0(0x214)]??(_0x1d9109['ok']?_0xc55ed0(0x23f):_0xc55ed0(0x1fb))));const _0xc68cd=a109_0x24af01({'text':_0xc55ed0(0x22d),'color':_0xc55ed0(0x260)})['start'](),_0x4f6d59=execCleanMcp(_0x3415f8);_0x543d03['push'](_0x4f6d59),_0xc68cd[_0x4f6d59['ok']?'succeed':_0xc55ed0(0x218)]('Step\x204/7:\x20MCP\x20config\x20—\x20'+(_0x4f6d59[_0xc55ed0(0x214)]??(_0x4f6d59['ok']?_0xc55ed0(0x23f):'failed')));const _0x7eaba2=a109_0x24af01({'text':_0xc55ed0(0x1e6),'color':_0xc55ed0(0x260)})['start'](),_0x45e249=execSkillsRemove(_0x2e9b2d,_0x111678);_0x543d03[_0xc55ed0(0x206)](_0x45e249),_0x7eaba2[_0x45e249['ok']?'succeed':_0xc55ed0(0x218)](_0xc55ed0(0x262)+(_0x45e249[_0xc55ed0(0x214)]??(_0x45e249['ok']?_0xc55ed0(0x23f):_0xc55ed0(0x1fb))));const _0x174f6c=a109_0x24af01({'text':_0xc55ed0(0x250),'color':_0xc55ed0(0x260)})['start'](),_0x278ba3=execSkillsAdd(_0x2e9b2d,_0x111678);_0x543d03[_0xc55ed0(0x206)](_0x278ba3),_0x174f6c[_0x278ba3['ok']?_0xc55ed0(0x213):_0xc55ed0(0x218)](_0xc55ed0(0x1e8)+(_0x278ba3[_0xc55ed0(0x214)]??(_0x278ba3['ok']?_0xc55ed0(0x23f):_0xc55ed0(0x1fb))));const _0x30863c=a109_0x24af01({'text':_0xc55ed0(0x1f8),'color':_0xc55ed0(0x260)})[_0xc55ed0(0x247)](),_0x4736e0=execUpgradeSdk(_0x3415f8);_0x543d03[_0xc55ed0(0x206)](_0x4736e0),_0x30863c[_0x4736e0['ok']?_0xc55ed0(0x213):_0xc55ed0(0x218)](_0xc55ed0(0x261)+(_0x4736e0[_0xc55ed0(0x214)]??(_0x4736e0['ok']?'done':'failed'))),printSummary(_0x543d03);const _0x1bb865=_0x543d03[_0xc55ed0(0x255)](_0x4e01a9=>!_0x4e01a9['ok']);_0x1bb865?console['log'](a109_0xcbdea8['yellow'](_0xc55ed0(0x24a))):console['log'](a109_0xcbdea8[_0xc55ed0(0x21c)](_0xc55ed0(0x239))),_0x4736e0['ok']&&_0x3415f8['sdkUpgrade']&&(console[_0xc55ed0(0x254)](''),console[_0xc55ed0(0x254)](a109_0xcbdea8[_0xc55ed0(0x24d)][_0xc55ed0(0x260)]('@lovrabet/sdk\x20has\x20been\x20updated\x20to\x20latest\x20in\x20package.json.')),console['log'](a109_0xcbdea8['cyan'](_0xc55ed0(0x20f))),console[_0xc55ed0(0x254)](''),console['log'](a109_0xcbdea8[_0xc55ed0(0x20c)](_0xc55ed0(0x21f))),console['log'](a109_0xcbdea8['white'](_0xc55ed0(0x21e))),console[_0xc55ed0(0x254)](a109_0xcbdea8['white'](_0xc55ed0(0x225))),console[_0xc55ed0(0x254)](''));}
|
|
1
|
+
const a109_0x4933b9=a109_0x1318;(function(_0x3ce0ec,_0x1152c1){const _0x4a9e74=a109_0x1318,_0x135d64=_0x3ce0ec();while(!![]){try{const _0x49d1d4=-parseInt(_0x4a9e74(0x191))/0x1+-parseInt(_0x4a9e74(0x1a3))/0x2+parseInt(_0x4a9e74(0x151))/0x3+parseInt(_0x4a9e74(0x174))/0x4+parseInt(_0x4a9e74(0x163))/0x5+-parseInt(_0x4a9e74(0x189))/0x6*(-parseInt(_0x4a9e74(0x132))/0x7)+parseInt(_0x4a9e74(0x178))/0x8*(-parseInt(_0x4a9e74(0x13d))/0x9);if(_0x49d1d4===_0x1152c1)break;else _0x135d64['push'](_0x135d64['shift']());}catch(_0x57f356){_0x135d64['push'](_0x135d64['shift']());}}}(a109_0x243b,0x3591f));function a109_0x243b(){const _0x448dfa=['some','111534vlfmMd','sdkUpgrade','oldArtifacts','removed\x20','info','red','.lovrabet','===\x20Upgrade\x20Analysis\x20===','utf8','lovrabet/rabetbase\x20installed\x20globally','cyan','\x20removed','Step\x205/7:\x20Removing\x20old\x20skill...','not\x20found\x20or\x20already\x20at\x20latest','Step\x206/7:\x20Installing\x20new\x20skill...','\x20\x20bun\x20install','white','Step\x202/7:\x20.lovrabet/\x20removal\x20failed\x20—\x20','\x20\x20Action:\x20update\x20package.json\x20(you\x20will\x20need\x20to\x20re-run\x20install)','undefined','280hWbwBH','oldMcpConfig','\x20\x20Fields\x20to\x20migrate:\x20','string','no\x20matching\x20entry\x20found','.cursor/mcp.json','\x20→\x20','no\x20legacy\x20config\x20found','Proceed\x20with\x20upgrade?','yellow','isArray','2280843hGFPUi','Legacy\x20artifacts:','not\x20found\x20(will\x20create)','dependencies','Upgrade\x20completed\x20successfully!','error','isDirectory','MCP\x20config:','object','Upgrade\x20cancelled.','Skill\x20swap:','devDependencies','Step\x202/7:\x20.lovrabet/\x20directory\x20removed','FAIL','exit\x20','\x20\x20npm\x20install','log','Install\x20new\x20skill','CANCEL','needed','986322XnXJFW','Step\x205/7:\x20Remove\x20old\x20skill\x20—\x20','green','cwd','Upgrade\x20@lovrabet/sdk','configMigration','parse','skipped\x20(not\x20found\x20or\x20already\x20at\x20latest)','status','@lovrabet/dataset-mcp-server','fields','already\x20exists\x20(will\x20merge)','values','needsSkillSwap','push','Some\x20steps\x20failed.\x20Check\x20the\x20summary\x20above\x20for\x20details.','Step\x204/7:\x20MCP\x20config\x20—\x20','length','1105680vdmcxK','Clean\x20MCP\x20config','oldPath','Step\x203/7:\x20Legacy\x20artifacts\x20—\x20','Step\x202/7:\x20.lovrabet/\x20not\x20found,\x20skipped','FOUND','[\x22@lovrabet/sdk\x22]:\x20','\x20→\x20keys:\x20','\x20→\x20latest','Step\x203/7:\x20Removing\x20legacy\x20IDE\x20skill\x20files...','message','Config\x20file:','bold','join','detail','@lovrabet/sdk:','Step\x204/7:\x20Cleaning\x20MCP\x20config...','990368MsYWmG','gray','not\x20needed','Please\x20re-install\x20dependencies\x20to\x20apply\x20the\x20change:','24Ehjigw','includes','Remove\x20.lovrabet/','package.json','path','Step\x207/7:\x20Upgrading\x20@lovrabet/sdk\x20in\x20package.json...','files','done','hasNewConfig','\x20\x20\x20\x20\x20\x20\x20','args','@lovrabet/sdk\x20has\x20been\x20updated\x20to\x20latest\x20in\x20package.json.','\x20\x20Step\x20','mcpServers','start','Step\x201/7:\x20Migrating\x20config...','none\x20found','48558szmDYs','.cursor/rules/lovrabet_rules.mdc','@lovrabet/sdk','Step\x206/7:\x20Install\x20new\x20skill\x20—\x20','\x20\x20Current\x20version\x20in\x20','lovrabet/rabetbase','stringify','Step\x207/7:\x20@lovrabet/sdk\x20—\x20','85751KXnYgc','.claude/skills/lovrabet','keys','fail','filter','label','skipped','Remove\x20legacy\x20artifacts','succeed','No\x20legacy\x20artifacts\x20found.\x20Your\x20project\x20is\x20already\x20up-to-date.','Step\x201/7:\x20Config\x20migration\x20—\x20','failed','\x20\x20Action:\x20delete','Config\x20migration','\x20(backup:\x20','inherit','entries'];a109_0x243b=function(){return _0x448dfa;};return a109_0x243b();}import a109_0x2de4fe from'chalk';import a109_0x563880 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[a109_0x4933b9(0x195)](_0x2ba821=>_0x2ba821!==NEW_CONFIG_NAME);function collectIdeSkillFiles(_0x47b705){const _0x134333=a109_0x4933b9,_0x125b5b=[];for(const _0x135c83 of Object[_0x134333(0x15d)](CORE_IDE_CONFIGS)){if(_0x135c83[_0x134333(0x17e)])for(const _0x165b4c of _0x135c83[_0x134333(0x17e)]){_0x125b5b['push'](resolve(_0x47b705,_0x165b4c[_0x134333(0x17c)]));}}return _0x125b5b;}function analyse(_0x4f8ea2){const _0x6d2307=a109_0x4933b9;let _0x8523fb=null;const _0x3846e8=resolve(_0x4f8ea2,NEW_CONFIG_NAME),_0x517546=existsSync(_0x3846e8);for(const _0x60d436 of LEGACY_CONFIG_NAMES){const _0x530d20=resolve(_0x4f8ea2,_0x60d436);if(existsSync(_0x530d20)){const _0x12809b=readConfigFile(_0x530d20),_0x549b4e=Object[_0x6d2307(0x193)](_0x12809b)['filter'](_0x108ebc=>typeof _0x12809b[_0x108ebc]!==_0x6d2307(0x131));_0x8523fb={'oldPath':_0x530d20,'hasNewConfig':_0x517546,'fields':_0x549b4e};break;}}const _0x599112=[],_0x22985f=resolve(_0x4f8ea2,_0x6d2307(0x1a9));if(existsSync(_0x22985f))_0x599112['push'](_0x22985f);const _0x2aba89=resolve(_0x4f8ea2,_0x6d2307(0x18a));if(existsSync(_0x2aba89))_0x599112[_0x6d2307(0x15f)](_0x2aba89);const _0x40b145=resolve(_0x4f8ea2,_0x6d2307(0x192));if(existsSync(_0x40b145))_0x599112[_0x6d2307(0x15f)](_0x40b145);for(const _0x1e0df1 of collectIdeSkillFiles(_0x4f8ea2)){if(existsSync(_0x1e0df1))_0x599112[_0x6d2307(0x15f)](_0x1e0df1);}let _0x12683c=null;const _0xd877f3=resolve(_0x4f8ea2,_0x6d2307(0x137));if(existsSync(_0xd877f3))try{const _0x491c65=JSON[_0x6d2307(0x157)](readFileSync(_0xd877f3,_0x6d2307(0x1ab)));if(_0x491c65?.['mcpServers']&&typeof _0x491c65[_0x6d2307(0x185)]===_0x6d2307(0x145)){const _0x125f83=[];for(const [_0x1adea2,_0x3c9ce6]of Object['entries'](_0x491c65[_0x6d2307(0x185)])){const _0x24710c=_0x3c9ce6;_0x24710c?.[_0x6d2307(0x182)]&&Array['isArray'](_0x24710c[_0x6d2307(0x182)])&&_0x24710c[_0x6d2307(0x182)]['some'](_0x5d983c=>typeof _0x5d983c==='string'&&_0x5d983c['includes'](_0x6d2307(0x15a)))&&_0x125f83[_0x6d2307(0x15f)](_0x1adea2);}_0x125f83[_0x6d2307(0x162)]>0x0&&(_0x12683c={'path':_0xd877f3,'keys':_0x125f83});}}catch{}const _0x42273a=_0x599112[_0x6d2307(0x162)]>0x0||_0x8523fb!==null;let _0x3dbc01=null;const _0x25fbcf=resolve(_0x4f8ea2,_0x6d2307(0x17b));if(existsSync(_0x25fbcf))try{const _0x4d9a7f=JSON[_0x6d2307(0x157)](readFileSync(_0x25fbcf,_0x6d2307(0x1ab)));for(const _0x1a3960 of[_0x6d2307(0x140),_0x6d2307(0x148)]){const _0x3844f2=_0x4d9a7f?.[_0x1a3960]?.[_0x6d2307(0x18b)];if(typeof _0x3844f2===_0x6d2307(0x135)){_0x3844f2!=='latest'&&(_0x3dbc01={'pkgPath':_0x25fbcf,'currentVersion':_0x3844f2,'field':_0x1a3960});break;}}}catch{}return{'configMigration':_0x8523fb,'oldArtifacts':_0x599112,'oldMcpConfig':_0x12683c,'needsSkillSwap':_0x42273a,'sdkUpgrade':_0x3dbc01};}function a109_0x1318(_0x5d9255,_0x5e0423){_0x5d9255=_0x5d9255-0x12f;const _0x243bea=a109_0x243b();let _0x131844=_0x243bea[_0x5d9255];return _0x131844;}function printReport(_0x33052c){const _0x4e835e=a109_0x4933b9,{configMigration:_0x2a9028,oldArtifacts:_0x218860,oldMcpConfig:_0x153aac,needsSkillSwap:_0x231dbd}=_0x33052c;console['log'](''),console[_0x4e835e(0x14d)](a109_0x2de4fe['bold'](_0x4e835e(0x1aa))),console[_0x4e835e(0x14d)]('');_0x2a9028?(console['log'](a109_0x2de4fe[_0x4e835e(0x1ad)](_0x4e835e(0x16e))+('\x20\x20'+a109_0x2de4fe[_0x4e835e(0x13b)](_0x2a9028[_0x4e835e(0x165)]))),console[_0x4e835e(0x14d)]('\x20\x20New\x20config\x20(.rabetbase.json):\x20'+(_0x2a9028[_0x4e835e(0x180)]?a109_0x2de4fe['green'](_0x4e835e(0x15c)):a109_0x2de4fe[_0x4e835e(0x175)](_0x4e835e(0x13f)))),console['log'](_0x4e835e(0x134)+_0x2a9028[_0x4e835e(0x15b)][_0x4e835e(0x170)](',\x20')),console['log']('\x20\x20Action:\x20migrate\x20→\x20backup\x20old\x20as\x20.bak')):console[_0x4e835e(0x14d)](a109_0x2de4fe[_0x4e835e(0x1ad)](_0x4e835e(0x16e))+'\x20\x20'+a109_0x2de4fe['gray'](_0x4e835e(0x139)));console['log']('');if(_0x218860[_0x4e835e(0x162)]>0x0){console[_0x4e835e(0x14d)](a109_0x2de4fe[_0x4e835e(0x1ad)](_0x4e835e(0x13e)));for(const _0x119f70 of _0x218860){console['log']('\x20\x20'+a109_0x2de4fe[_0x4e835e(0x1a8)](_0x4e835e(0x168))+'\x20\x20'+_0x119f70);}console['log'](_0x4e835e(0x19d));}else console['log'](a109_0x2de4fe[_0x4e835e(0x1ad)](_0x4e835e(0x13e))+'\x20\x20'+a109_0x2de4fe['gray'](_0x4e835e(0x188)));console[_0x4e835e(0x14d)]('');_0x153aac?(console[_0x4e835e(0x14d)](a109_0x2de4fe[_0x4e835e(0x1ad)]('MCP\x20config:')+('\x20\x20'+a109_0x2de4fe['yellow'](_0x153aac[_0x4e835e(0x17c)])+_0x4e835e(0x16a)+_0x153aac[_0x4e835e(0x193)][_0x4e835e(0x170)](',\x20'))),console['log']('\x20\x20Action:\x20remove\x20entries\x20containing\x20@lovrabet/dataset-mcp-server')):console[_0x4e835e(0x14d)](a109_0x2de4fe['cyan'](_0x4e835e(0x144))+'\x20\x20'+a109_0x2de4fe['gray']('no\x20legacy\x20entry'));console['log'](''),console[_0x4e835e(0x14d)](a109_0x2de4fe[_0x4e835e(0x1ad)](_0x4e835e(0x147))+('\x20\x20'+(_0x231dbd?a109_0x2de4fe[_0x4e835e(0x13b)](_0x4e835e(0x150)):a109_0x2de4fe['green'](_0x4e835e(0x176)))));_0x231dbd&&console['log']('\x20\x20Action:\x20remove\x20old\x20lovrabet/lovrabet-skill,\x20add\x20via\x20`'+NPX_SKILLS_ADD_GLOBAL_COMMAND_LINE+'`');console['log']('');if(_0x33052c[_0x4e835e(0x1a4)]){const {currentVersion:_0xbeb4ac,field:_0x471d81,pkgPath:_0x4a62ad}=_0x33052c[_0x4e835e(0x1a4)];console['log'](a109_0x2de4fe[_0x4e835e(0x1ad)](_0x4e835e(0x172))+('\x20\x20'+a109_0x2de4fe[_0x4e835e(0x13b)](_0x4a62ad))),console[_0x4e835e(0x14d)](_0x4e835e(0x18d)+_0x471d81+':\x20'+a109_0x2de4fe[_0x4e835e(0x13b)](_0xbeb4ac)+_0x4e835e(0x138)+a109_0x2de4fe[_0x4e835e(0x153)]('latest')),console['log'](_0x4e835e(0x130));}else console[_0x4e835e(0x14d)](a109_0x2de4fe[_0x4e835e(0x1ad)](_0x4e835e(0x172))+'\x20\x20'+a109_0x2de4fe[_0x4e835e(0x175)](_0x4e835e(0x1b0)));console[_0x4e835e(0x14d)]('');}function execConfigMigration(_0x503ac1,_0x4028bb){const _0x4c7e6f=a109_0x4933b9,{configMigration:_0x372f84}=_0x503ac1;if(!_0x372f84?.[_0x4c7e6f(0x165)])return{'step':0x1,'label':_0x4c7e6f(0x19e),'ok':!![],'detail':'skipped\x20(no\x20legacy\x20config)'};const _0x281aea=readConfigFile(_0x372f84['oldPath']),_0x2b3e76=resolve(_0x4028bb,NEW_CONFIG_NAME),_0x500eab=_0x372f84['hasNewConfig']?readConfigFile(_0x2b3e76):{};for(const [_0x58d3cf,_0x28be04]of Object['entries'](_0x281aea)){!(_0x58d3cf in _0x500eab)&&(_0x500eab[_0x58d3cf]=_0x28be04);}writeConfigFile(_0x2b3e76,_0x500eab);const _0x46873b=_0x372f84['oldPath']+'.bak';return renameSync(_0x372f84['oldPath'],_0x46873b),{'step':0x1,'label':_0x4c7e6f(0x19e),'ok':!![],'detail':_0x372f84[_0x4c7e6f(0x165)]+_0x4c7e6f(0x138)+_0x2b3e76+_0x4c7e6f(0x19f)+_0x46873b+')'};}function execRemoveOldArtifacts(_0x51eb73){const _0x59be21=a109_0x4933b9,_0x40a2c2=[];for(const _0x4e50cc of _0x51eb73){try{if(!existsSync(_0x4e50cc))continue;const _0x41eb86=tryStat(_0x4e50cc);_0x41eb86?.[_0x59be21(0x143)]()?rmSync(_0x4e50cc,{'recursive':!![],'force':!![]}):unlinkSync(_0x4e50cc);}catch(_0x129716){_0x40a2c2[_0x59be21(0x15f)](_0x4e50cc+':\x20'+_0x129716['message']);}}return{'step':0x3,'label':_0x59be21(0x198),'ok':_0x40a2c2[_0x59be21(0x162)]===0x0,'detail':_0x40a2c2[_0x59be21(0x162)]>0x0?_0x51eb73[_0x59be21(0x162)]-_0x40a2c2[_0x59be21(0x162)]+'/'+_0x51eb73[_0x59be21(0x162)]+'\x20removed\x20('+_0x40a2c2['join'](';\x20')+')':_0x51eb73['length']+_0x59be21(0x1ae)};}function execCleanMcp(_0xfec50d){const _0x597f1d=a109_0x4933b9;if(!_0xfec50d['oldMcpConfig'])return{'step':0x4,'label':_0x597f1d(0x164),'ok':!![],'detail':_0x597f1d(0x197)};try{const _0x57e2ca=readFileSync(_0xfec50d[_0x597f1d(0x133)][_0x597f1d(0x17c)],'utf8'),_0x12820d=JSON[_0x597f1d(0x157)](_0x57e2ca);if(_0x12820d?.[_0x597f1d(0x185)]&&typeof _0x12820d[_0x597f1d(0x185)]===_0x597f1d(0x145)){const _0x4fd956=[];for(const [_0x518715,_0x34d49d]of Object[_0x597f1d(0x1a1)](_0x12820d['mcpServers'])){_0x34d49d?.[_0x597f1d(0x182)]&&Array[_0x597f1d(0x13c)](_0x34d49d[_0x597f1d(0x182)])&&_0x34d49d['args'][_0x597f1d(0x1a2)](_0x533236=>typeof _0x533236===_0x597f1d(0x135)&&_0x533236[_0x597f1d(0x179)](_0x597f1d(0x15a)))&&_0x4fd956[_0x597f1d(0x15f)](_0x518715);}for(const _0x39d990 of _0x4fd956){delete _0x12820d[_0x597f1d(0x185)][_0x39d990];}return _0x4fd956['length']>0x0&&writeFileSync(_0xfec50d[_0x597f1d(0x133)][_0x597f1d(0x17c)],JSON[_0x597f1d(0x18f)](_0x12820d,null,0x2)+'\x0a',_0x597f1d(0x1ab)),{'step':0x4,'label':'Clean\x20MCP\x20config','ok':!![],'detail':_0x597f1d(0x1a6)+_0x4fd956[_0x597f1d(0x170)](',\x20')+'\x20from\x20'+_0xfec50d[_0x597f1d(0x133)][_0x597f1d(0x17c)]};}return{'step':0x4,'label':_0x597f1d(0x164),'ok':!![],'detail':_0x597f1d(0x136)};}catch(_0x3ae6c4){return{'step':0x4,'label':_0x597f1d(0x164),'ok':![],'detail':_0x3ae6c4[_0x597f1d(0x16d)]};}}function execSkillsRemove(_0x1ef4de,_0x14d37a){const _0x4770f7=a109_0x4933b9,_0x1dd77b=runNpxSkillsRemove(_0x1ef4de,{'stdio':'inherit','yes':_0x14d37a});return{'step':0x5,'label':'Remove\x20old\x20skill','ok':_0x1dd77b['ok'],'detail':_0x1dd77b['ok']?'lovrabet/lovrabet-skill\x20removed':_0x1dd77b[_0x4770f7(0x142)]??_0x4770f7(0x14b)+_0x1dd77b[_0x4770f7(0x159)]};}function execSkillsAdd(_0xec9a0b,_0x1253c6){const _0x30bb8c=a109_0x4933b9,_0x38a81f=runNpxSkillsAddGlobal(_0xec9a0b,_0x30bb8c(0x18e),{'stdio':_0x30bb8c(0x1a0),'yes':_0x1253c6});return{'step':0x6,'label':_0x30bb8c(0x14e),'ok':_0x38a81f['ok'],'detail':_0x38a81f['ok']?_0x30bb8c(0x1ac):_0x38a81f['error']??'exit\x20'+_0x38a81f[_0x30bb8c(0x159)]};}function execUpgradeSdk(_0x5ede43){const _0x35ddc4=a109_0x4933b9;if(!_0x5ede43[_0x35ddc4(0x1a4)])return{'step':0x7,'label':_0x35ddc4(0x155),'ok':!![],'detail':_0x35ddc4(0x158)};const {pkgPath:_0x38e1bc,currentVersion:_0x27021b,field:_0x54cb03}=_0x5ede43[_0x35ddc4(0x1a4)];try{const _0x370dc8=readFileSync(_0x38e1bc,_0x35ddc4(0x1ab)),_0x398555=JSON['parse'](_0x370dc8);return _0x398555[_0x54cb03]['@lovrabet/sdk']='latest',writeFileSync(_0x38e1bc,JSON[_0x35ddc4(0x18f)](_0x398555,null,0x2)+'\x0a',_0x35ddc4(0x1ab)),{'step':0x7,'label':_0x35ddc4(0x155),'ok':!![],'detail':_0x54cb03+_0x35ddc4(0x169)+_0x27021b+_0x35ddc4(0x16b)};}catch(_0x2ec22f){return{'step':0x7,'label':_0x35ddc4(0x155),'ok':![],'detail':_0x2ec22f[_0x35ddc4(0x16d)]};}}function tryStat(_0x51026e){try{return statSync(_0x51026e);}catch{return undefined;}}function printSummary(_0x142737){const _0x547aaa=a109_0x4933b9;console[_0x547aaa(0x14d)](''),console[_0x547aaa(0x14d)](a109_0x2de4fe[_0x547aaa(0x16f)]('===\x20Upgrade\x20Summary\x20===')),console[_0x547aaa(0x14d)]('');for(const _0x381728 of _0x142737){const _0x127504=_0x381728['ok']?a109_0x2de4fe['green']('OK'):a109_0x2de4fe[_0x547aaa(0x1a8)](_0x547aaa(0x14a));console[_0x547aaa(0x14d)]('\x20\x20'+_0x127504+_0x547aaa(0x184)+_0x381728['step']+':\x20'+_0x381728[_0x547aaa(0x196)]);if(_0x381728['detail'])console[_0x547aaa(0x14d)](_0x547aaa(0x181)+a109_0x2de4fe[_0x547aaa(0x175)](_0x381728[_0x547aaa(0x171)]));}console[_0x547aaa(0x14d)]('');}export async function upgradeApp(_0x5fa534,_0x2fbee3){const _0x315ded=a109_0x4933b9,_0x26a00d=process[_0x315ded(0x154)](),_0x5b1f66=analyse(_0x26a00d),_0x4b54c4=!_0x5b1f66[_0x315ded(0x156)]&&_0x5b1f66[_0x315ded(0x1a5)][_0x315ded(0x162)]===0x0&&!_0x5b1f66['oldMcpConfig']&&!_0x5b1f66[_0x315ded(0x15e)]&&!_0x5b1f66[_0x315ded(0x1a4)];if(_0x4b54c4){console[_0x315ded(0x14d)](a109_0x2de4fe[_0x315ded(0x153)](_0x315ded(0x19a)));return;}printReport(_0x5b1f66);const _0x1b363a=!!(_0x2fbee3['yes']||_0x2fbee3['Y']||_0x5fa534);if(!_0x1b363a)try{const _0x5a8d07=await askConfirm(_0x315ded(0x13a));if(!_0x5a8d07){console[_0x315ded(0x14d)](a109_0x2de4fe['gray'](_0x315ded(0x146)));return;}}catch(_0x1d9d02){if(_0x1d9d02?.[_0x315ded(0x16d)]===_0x315ded(0x14f)){console['log'](a109_0x2de4fe[_0x315ded(0x175)](_0x315ded(0x146)));return;}throw _0x1d9d02;}const _0x54a49e=[],_0x2eec8a=a109_0x563880({'text':_0x315ded(0x187),'color':_0x315ded(0x1ad)})['start'](),_0x1407d7=execConfigMigration(_0x5b1f66,_0x26a00d);_0x54a49e[_0x315ded(0x15f)](_0x1407d7),_0x2eec8a[_0x1407d7['ok']?_0x315ded(0x199):'fail'](_0x315ded(0x19b)+(_0x1407d7[_0x315ded(0x171)]??(_0x1407d7['ok']?_0x315ded(0x17f):'failed')));const _0x30d062=resolve(_0x26a00d,_0x315ded(0x1a9)),_0x53311c=a109_0x563880({'text':'Step\x202/7:\x20Removing\x20.lovrabet/\x20directory...','color':_0x315ded(0x1ad)})[_0x315ded(0x186)]();if(existsSync(_0x30d062))try{rmSync(_0x30d062,{'recursive':!![],'force':!![]}),_0x53311c[_0x315ded(0x199)](_0x315ded(0x149)),_0x54a49e[_0x315ded(0x15f)]({'step':0x2,'label':'Remove\x20.lovrabet/','ok':!![]});}catch(_0x1f674b){_0x53311c[_0x315ded(0x194)](_0x315ded(0x12f)+_0x1f674b[_0x315ded(0x16d)]),_0x54a49e[_0x315ded(0x15f)]({'step':0x2,'label':_0x315ded(0x17a),'ok':![],'detail':_0x1f674b[_0x315ded(0x16d)]});}else _0x53311c[_0x315ded(0x1a7)](_0x315ded(0x167)),_0x54a49e['push']({'step':0x2,'label':'Remove\x20.lovrabet/','ok':!![],'detail':'skipped'});const _0x23a489=a109_0x563880({'text':_0x315ded(0x16c),'color':_0x315ded(0x1ad)})[_0x315ded(0x186)](),_0x10c1be=execRemoveOldArtifacts(_0x5b1f66['oldArtifacts']);_0x54a49e[_0x315ded(0x15f)](_0x10c1be),_0x23a489[_0x10c1be['ok']?_0x315ded(0x199):_0x315ded(0x194)](_0x315ded(0x166)+(_0x10c1be[_0x315ded(0x171)]??(_0x10c1be['ok']?_0x315ded(0x17f):'failed')));const _0x2b8a88=a109_0x563880({'text':_0x315ded(0x173),'color':_0x315ded(0x1ad)})[_0x315ded(0x186)](),_0x1c0fae=execCleanMcp(_0x5b1f66);_0x54a49e[_0x315ded(0x15f)](_0x1c0fae),_0x2b8a88[_0x1c0fae['ok']?_0x315ded(0x199):_0x315ded(0x194)](_0x315ded(0x161)+(_0x1c0fae[_0x315ded(0x171)]??(_0x1c0fae['ok']?_0x315ded(0x17f):_0x315ded(0x19c))));const _0xf6f5dc=a109_0x563880({'text':_0x315ded(0x1af),'color':_0x315ded(0x1ad)})[_0x315ded(0x186)](),_0x2eb588=execSkillsRemove(_0x26a00d,_0x1b363a);_0x54a49e['push'](_0x2eb588),_0xf6f5dc[_0x2eb588['ok']?_0x315ded(0x199):'fail'](_0x315ded(0x152)+(_0x2eb588[_0x315ded(0x171)]??(_0x2eb588['ok']?_0x315ded(0x17f):'failed')));const _0x3997cc=a109_0x563880({'text':_0x315ded(0x1b1),'color':_0x315ded(0x1ad)})['start'](),_0x106561=execSkillsAdd(_0x26a00d,_0x1b363a);_0x54a49e['push'](_0x106561),_0x3997cc[_0x106561['ok']?'succeed':_0x315ded(0x194)](_0x315ded(0x18c)+(_0x106561['detail']??(_0x106561['ok']?_0x315ded(0x17f):_0x315ded(0x19c))));const _0x68ce06=a109_0x563880({'text':_0x315ded(0x17d),'color':_0x315ded(0x1ad)})['start'](),_0xd529e3=execUpgradeSdk(_0x5b1f66);_0x54a49e[_0x315ded(0x15f)](_0xd529e3),_0x68ce06[_0xd529e3['ok']?_0x315ded(0x199):'fail'](_0x315ded(0x190)+(_0xd529e3[_0x315ded(0x171)]??(_0xd529e3['ok']?'done':_0x315ded(0x19c)))),printSummary(_0x54a49e);const _0x5492a3=_0x54a49e[_0x315ded(0x1a2)](_0x3fddcb=>!_0x3fddcb['ok']);_0x5492a3?console[_0x315ded(0x14d)](a109_0x2de4fe[_0x315ded(0x13b)](_0x315ded(0x160))):console['log'](a109_0x2de4fe[_0x315ded(0x153)](_0x315ded(0x141))),_0xd529e3['ok']&&_0x5b1f66[_0x315ded(0x1a4)]&&(console[_0x315ded(0x14d)](''),console['log'](a109_0x2de4fe[_0x315ded(0x16f)]['cyan'](_0x315ded(0x183))),console[_0x315ded(0x14d)](a109_0x2de4fe[_0x315ded(0x1ad)](_0x315ded(0x177))),console['log'](''),console[_0x315ded(0x14d)](a109_0x2de4fe[_0x315ded(0x1b3)](_0x315ded(0x14c))),console[_0x315ded(0x14d)](a109_0x2de4fe[_0x315ded(0x1b3)]('\x20\x20#\x20or')),console[_0x315ded(0x14d)](a109_0x2de4fe[_0x315ded(0x1b3)](_0x315ded(0x1b2))),console[_0x315ded(0x14d)](''));}
|
package/lib/commands/registry.js
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
const
|
|
1
|
+
const a110_0x304720=a110_0x2f24;(function(_0x37db36,_0x37d4cc){const _0x538ca7=a110_0x2f24,_0x26682d=_0x37db36();while(!![]){try{const _0x11ee80=-parseInt(_0x538ca7(0x17c))/0x1*(-parseInt(_0x538ca7(0x16f))/0x2)+parseInt(_0x538ca7(0x15d))/0x3*(-parseInt(_0x538ca7(0x155))/0x4)+parseInt(_0x538ca7(0x14d))/0x5+-parseInt(_0x538ca7(0x152))/0x6*(-parseInt(_0x538ca7(0x150))/0x7)+-parseInt(_0x538ca7(0x15b))/0x8+parseInt(_0x538ca7(0x17a))/0x9*(parseInt(_0x538ca7(0x161))/0xa)+-parseInt(_0x538ca7(0x157))/0xb*(-parseInt(_0x538ca7(0x167))/0xc);if(_0x11ee80===_0x37d4cc)break;else _0x26682d['push'](_0x26682d['shift']());}catch(_0x17fbe9){_0x26682d['push'](_0x26682d['shift']());}}}(a110_0x4c2e,0x83348));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';function a110_0x4c2e(){const _0x14665e=['write','build','install','4110GVsaFe','auth','API','Dataset\x20&\x20Operations','risk','<script>','312324qzajpq','Smart\x20List\x20Pages','logout','\x20\x20[high-risk-write]','set','\x20\x20[write]','from','SQL\x20Queries','389798IZCccU','read','defaultCommand','Menu','Quick\x20Start','Project','command','Configuration','wildcardDef','Self\x20Update','create','6084BUbUPy','service','3VheGVh','project','Platform\x20Issue','BFF\x20Scripts','Code\x20Generation','push','has','get','Skills','2482240ByQziI','isSingleCommand','Run\x20Scripts','421456mqGAyy','Run\x20any\x20package.json\x20script','84hAyVWL','show','App\x20Management','13224nwFcOu','login','55SNvQIt','preview','commands','run','8088720kyPEKb','skill','711VfAIMh'];a110_0x4c2e=function(){return _0x14665e;};return a110_0x4c2e();}function a110_0x2f24(_0x141e37,_0x2d5309){_0x141e37=_0x141e37-0x145;const _0x4c2e52=a110_0x4c2e();let _0x2f2485=_0x4c2e52[_0x141e37];return _0x2f2485;}export const serviceRegistry=[];const serviceByName=new Map();export const definitions=new Map();export const serviceGroups=new Map();function registerDefinitions(_0x259c1c){const _0x38616d=a110_0x2f24;for(const _0x4c7984 of _0x259c1c){definitions[_0x38616d(0x16b)](_0x4c7984['service']+':'+_0x4c7984['command'],_0x4c7984);let _0x2d3b07=serviceGroups['get'](_0x4c7984[_0x38616d(0x17b)]);!_0x2d3b07&&(_0x2d3b07=[],serviceGroups[_0x38616d(0x16b)](_0x4c7984[_0x38616d(0x17b)],_0x2d3b07)),_0x2d3b07[_0x38616d(0x149)](_0x4c7984);}}function registerDeclarativeService(_0x4e37e7,_0x341e52,_0x40fc68){const _0x2d2f61=a110_0x2f24;registerDefinitions(_0x341e52);_0x40fc68?.[_0x2d2f61(0x177)]&®isterDefinitions([_0x40fc68[_0x2d2f61(0x177)]]);const _0x25cd9c=_0x8e3302=>_0x8e3302===_0x2d2f61(0x170)?'':_0x8e3302===_0x2d2f61(0x15e)?_0x2d2f61(0x16c):_0x2d2f61(0x16a),_0x58cc85={'service':_0x341e52[0x0][_0x2d2f61(0x17b)],'label':_0x4e37e7,'commands':_0x341e52['map'](_0x5af7fc=>({'command':_0x5af7fc[_0x2d2f61(0x175)],'description':_0x5af7fc['description'],'tag':_0x25cd9c(_0x5af7fc[_0x2d2f61(0x165)])})),'declarative':!![],'defaultCommand':_0x40fc68?.[_0x2d2f61(0x171)]??(_0x40fc68?.[_0x2d2f61(0x14e)]?_0x341e52[0x0][_0x2d2f61(0x175)]:undefined),'wildcardDef':_0x40fc68?.[_0x2d2f61(0x177)],'isSingleCommand':_0x40fc68?.[_0x2d2f61(0x14e)]};serviceRegistry[_0x2d2f61(0x149)](_0x58cc85),serviceByName[_0x2d2f61(0x16b)](_0x58cc85[_0x2d2f61(0x17b)],_0x58cc85);}registerDeclarativeService(a110_0x304720(0x173),initDefinitions,{'defaultCommand':a110_0x304720(0x15a),'isSingleCommand':!![]}),registerDeclarativeService(a110_0x304720(0x174),projectDefinitions),registerDeclarativeService(a110_0x304720(0x154),appDefinitions),registerDeclarativeService(a110_0x304720(0x14f),[runDefinition],{'wildcardDef':runDefinition});{const last=serviceRegistry[serviceRegistry['length']-0x1];last[a110_0x304720(0x159)]=[{'command':a110_0x304720(0x166),'description':a110_0x304720(0x151),'tag':''}];}registerDeclarativeService('Authentication',authDefinitions,{'defaultCommand':a110_0x304720(0x156)}),registerDeclarativeService(a110_0x304720(0x178),[updateDefinition],{'isSingleCommand':!![]}),registerDeclarativeService('Diagnostics',[doctorDefinition],{'isSingleCommand':!![]}),registerDeclarativeService('Schema',[schemaDefinition],{'isSingleCommand':!![]}),registerDeclarativeService(a110_0x304720(0x176),configDefinitions),registerDeclarativeService(a110_0x304720(0x146),issueDefinitions),registerDeclarativeService(a110_0x304720(0x163),apiDefinitions),registerDeclarativeService(a110_0x304720(0x172),menuDefinitions),registerDeclarativeService('Database\x20Connections',dbDefinitions),registerDeclarativeService(a110_0x304720(0x164),datasetDefinitions),registerDeclarativeService(a110_0x304720(0x168),pageDefinitions),registerDeclarativeService('Instant\x20API',dataDefinitions),registerDeclarativeService(a110_0x304720(0x147),bffDefinitions),registerDeclarativeService(a110_0x304720(0x16e),sqlDefinitions),registerDeclarativeService(a110_0x304720(0x148),codegenDefinitions),registerDeclarativeService(a110_0x304720(0x14c),skillDefinitions),registerDeclarativeService('Logs',logsDefinitions,{'defaultCommand':a110_0x304720(0x153)});export const deprecatedAliases={'create':{'service':a110_0x304720(0x145),'command':a110_0x304720(0x179)},'start':{'service':a110_0x304720(0x15a),'command':'start'},'build':{'service':'run','command':a110_0x304720(0x15f)},'preview':{'service':a110_0x304720(0x15a),'command':a110_0x304720(0x158)},'logout':{'service':a110_0x304720(0x162),'command':a110_0x304720(0x169)},'skills':{'service':a110_0x304720(0x15c),'command':a110_0x304720(0x160)}};export const deprecatedSubcommands={'bff':{'new':'create'},'sql':{'new':'create'}};export function resolveDeprecatedSubcommand(_0x3e04c1,_0x488192){return deprecatedSubcommands[_0x3e04c1]?.[_0x488192];}export function findDefinition(_0x28bfeb,_0xc9e46b){const _0x1da520=a110_0x304720;return definitions[_0x1da520(0x14b)](_0x28bfeb+':'+_0xc9e46b);}export function isKnownService(_0x4fd220){const _0x442f82=a110_0x304720;return serviceByName[_0x442f82(0x14a)](_0x4fd220);}export function isDeclarativeService(_0x4fca2e){const _0x7c27e4=a110_0x304720;return serviceGroups[_0x7c27e4(0x14a)](_0x4fca2e)||serviceByName[_0x7c27e4(0x14b)](_0x4fca2e)?.[_0x7c27e4(0x177)]!==undefined;}export function getServiceEntry(_0x312579){const _0x4b23ff=a110_0x304720;return serviceByName[_0x4b23ff(0x14b)](_0x312579);}export function getLegacyHandler(_0x15c746,_0xa80413){return undefined;}export function getAllDefinitions(){const _0x34cb34=a110_0x304720;return Array[_0x34cb34(0x16d)](definitions['values']());}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
const
|
|
1
|
+
const a111_0x34d413=a111_0x16e5;(function(_0x27cda0,_0x8486f2){const _0x18161a=a111_0x16e5,_0x1eafec=_0x27cda0();while(!![]){try{const _0xc4a7c2=parseInt(_0x18161a(0xa6))/0x1*(parseInt(_0x18161a(0x9d))/0x2)+parseInt(_0x18161a(0x73))/0x3+parseInt(_0x18161a(0x68))/0x4*(-parseInt(_0x18161a(0x99))/0x5)+-parseInt(_0x18161a(0x8e))/0x6+-parseInt(_0x18161a(0x72))/0x7+parseInt(_0x18161a(0x7e))/0x8*(parseInt(_0x18161a(0x80))/0x9)+parseInt(_0x18161a(0x67))/0xa;if(_0xc4a7c2===_0x8486f2)break;else _0x1eafec['push'](_0x1eafec['shift']());}catch(_0x2af2d4){_0x1eafec['push'](_0x1eafec['shift']());}}}(a111_0x4c7c,0xc7c77));import{readFileSync,existsSync}from'node:fs';import{CLI_BIN_NAME}from'../../constant/cli.js';import{resolve,delimiter,join}from'node:path';import{spawn}from'node:child_process';import{CliErrors}from'../../errors.js';import{checkSdkVersion,printSdkUpgradeWarning}from'../../utils/check-sdk-version.js';import{assertCliVersionSupported,checkCliVersion,printCliUpgradeWarning}from'../../utils/cli-version-check.js';const VERSION_CHECK_SCRIPTS=new Set([a111_0x34d413(0xa1),a111_0x34d413(0x85)]);function readPackageScripts(_0x4fa494){const _0x586a75=a111_0x34d413,_0x3de6bf=resolve(_0x4fa494,_0x586a75(0x78));if(!existsSync(_0x3de6bf))return null;try{const _0x4a82c5=JSON['parse'](readFileSync(_0x3de6bf,_0x586a75(0x74)));return _0x4a82c5[_0x586a75(0x96)]??{};}catch{return null;}}function a111_0x4c7c(){const _0x5f2b58=['build','validation','dev','cwd','\x0a\x20\x20Usage:\x20','all','belowMinimum','max','(none)','\x20\x20AVAILABLE\x20SCRIPTS\x20\x20(current\x20project)','slice','1022514hdMTXf','read','error','keys','node_modules','\x20run\x20','pnpm-lock.yaml','args','scripts','push','bun','100glyrQZ','entries','--watch','\x20\x20\x20\x20','92fiyskw','boolean','length','log','start','bun.lockb','yarn.lock','map','preview','24342TURGyy','No\x20package.json\x20found\x20in\x20current\x20directory.','8549240pyiGGJ','206284XoWygL','bool','\x20run\x20preview\x20--watch\x20\x20\x20#\x20parallel\x20build\x20--watch\x20+\x20preview','\x20run\x20<script>\x0a','bun.lock','Script\x20\x22','needsUpgrade','watch','join','npm','6901972rpIoAp','204195YKLAfa','utf-8','.bin','Available:\x20','\x0a\x20\x20Available\x20scripts:\x0a','package.json','inherit','run','vite\x20build\x20--watch\x20exited\x20with\x20code\x20','\x22\x20not\x20found\x20in\x20package.json.','padEnd','265768ZlseLE','yarn','261xOeVkF','has','\x20run\x20build'];a111_0x4c7c=function(){return _0x5f2b58;};return a111_0x4c7c();}function a111_0x16e5(_0x59ea3d,_0x559ec4){_0x59ea3d=_0x59ea3d-0x67;const _0x4c7cd1=a111_0x4c7c();let _0x16e599=_0x4c7cd1[_0x59ea3d];return _0x16e599;}function detectPackageManager(_0x545973){const _0x21d95a=a111_0x34d413;if(existsSync(resolve(_0x545973,_0x21d95a(0xa2)))||existsSync(resolve(_0x545973,_0x21d95a(0x6c))))return _0x21d95a(0x98);if(existsSync(resolve(_0x545973,_0x21d95a(0x94))))return'pnpm';if(existsSync(resolve(_0x545973,_0x21d95a(0xa3))))return _0x21d95a(0x7f);return _0x21d95a(0x71);}async function versionCheck(_0x444203){const _0xc18546=a111_0x34d413,_0xbf80bf=await checkCliVersion();(_0xbf80bf[_0xc18546(0x6e)]||_0xbf80bf[_0xc18546(0x89)])&&(printCliUpgradeWarning(_0xbf80bf),assertCliVersionSupported(_0xbf80bf));const _0x31084f=await checkSdkVersion(_0x444203);if(_0x31084f[_0xc18546(0x6e)])printSdkUpgradeWarning(_0x31084f);}function spawnScript(_0x4f817d,_0x209f60,_0x2309be,_0x134f28){return new Promise((_0x1a5985,_0x48e64c)=>{const _0x237f5e=a111_0x16e5,_0x21959a=[_0x237f5e(0x7a),_0x209f60,..._0x2309be],_0x4b84e=spawn(_0x4f817d,_0x21959a,{'cwd':_0x134f28,'stdio':_0x237f5e(0x79),'shell':!![],'env':{...process.env,'PATH':''+join(_0x134f28,_0x237f5e(0x92),_0x237f5e(0x75))+delimiter+process.env.PATH}});_0x4b84e['on']('close',_0x283f65=>{const _0x52794d=_0x237f5e;if(_0x283f65===0x0||_0x283f65===null)_0x1a5985();else _0x48e64c(new Error(_0x4f817d+_0x52794d(0x93)+_0x209f60+'\x20exited\x20with\x20code\x20'+_0x283f65));}),_0x4b84e['on'](_0x237f5e(0x90),_0x48e64c);});}function spawnViteBuildWatch(_0x38a05f){return new Promise((_0x5edcd9,_0x262705)=>{const _0x45f1de=a111_0x16e5,_0x4aed93=spawn('vite',[_0x45f1de(0x83),_0x45f1de(0x9b)],{'cwd':_0x38a05f,'stdio':'inherit','shell':!![],'env':{...process.env,'PATH':''+join(_0x38a05f,_0x45f1de(0x92),_0x45f1de(0x75))+delimiter+process.env.PATH}});_0x4aed93['on']('close',_0x110df1=>{const _0x6920bc=_0x45f1de;if(_0x110df1===0x0||_0x110df1===null)_0x5edcd9();else _0x262705(new Error(_0x6920bc(0x7b)+_0x110df1));}),_0x4aed93['on']('error',_0x262705);});}function spawnVitePreview(_0xb0788c){return new Promise((_0x5700e8,_0x234cba)=>{const _0x1a8a3e=a111_0x16e5,_0x2757e4=spawn('vite',[_0x1a8a3e(0xa5)],{'cwd':_0xb0788c,'stdio':'inherit','shell':!![],'env':{...process.env,'PATH':''+join(_0xb0788c,_0x1a8a3e(0x92),_0x1a8a3e(0x75))+delimiter+process.env.PATH}});_0x2757e4['on']('close',_0x283022=>{if(_0x283022===0x0||_0x283022===null)_0x5700e8();else _0x234cba(new Error('vite\x20preview\x20exited\x20with\x20code\x20'+_0x283022));}),_0x2757e4['on']('error',_0x234cba);});}const runFlags=[{'name':a111_0x34d413(0x6f),'type':a111_0x34d413(0x9e),'description':'Enable\x20watch\x20mode\x20for\x20preview','default':![]}];export const runDefinition={'service':a111_0x34d413(0x7a),'command':'run','description':'Run\x20a\x20package.json\x20script','risk':a111_0x34d413(0x8f),'requiresAuth':![],'requiresAppCode':![],'hasFormat':![],'args':[{'name':'script','description':'Script\x20name\x20defined\x20in\x20package.json','required':![]}],'flags':runFlags,'helpExtra':()=>{const _0x2c4d1d=a111_0x34d413,_0x1b65c4=readPackageScripts(process['cwd']()),_0x250d50=[];if(_0x1b65c4&&Object['keys'](_0x1b65c4)[_0x2c4d1d(0x9f)]>0x0){const _0x488bef=Object[_0x2c4d1d(0x91)](_0x1b65c4),_0x1147f5=Math[_0x2c4d1d(0x8a)](..._0x488bef[_0x2c4d1d(0xa4)](_0x486647=>_0x486647[_0x2c4d1d(0x9f)]));_0x250d50[_0x2c4d1d(0x97)](_0x2c4d1d(0x8c));for(const [_0xf94a23,_0xf6c0d9]of Object['entries'](_0x1b65c4)){_0x250d50[_0x2c4d1d(0x97)]('\x20\x20\x20\x20'+CLI_BIN_NAME+'\x20run\x20'+_0xf94a23[_0x2c4d1d(0x7d)](_0x1147f5+0x2)+'#\x20'+_0xf6c0d9);}}else _0x250d50[_0x2c4d1d(0x97)]('\x20\x20EXAMPLES'),_0x250d50['push'](_0x2c4d1d(0x9c)+CLI_BIN_NAME+'\x20run\x20start'),_0x250d50[_0x2c4d1d(0x97)](_0x2c4d1d(0x9c)+CLI_BIN_NAME+_0x2c4d1d(0x82)),_0x250d50[_0x2c4d1d(0x97)](_0x2c4d1d(0x9c)+CLI_BIN_NAME+'\x20run\x20preview'),_0x250d50[_0x2c4d1d(0x97)]('\x20\x20\x20\x20'+CLI_BIN_NAME+_0x2c4d1d(0x6a));return _0x250d50[_0x2c4d1d(0x70)]('\x0a');},async 'execute'(_0x3ee821){const _0x9aa98d=a111_0x34d413,_0x311395=process[_0x9aa98d(0x86)](),_0x4ae7f5=_0x3ee821[_0x9aa98d(0x95)][0x0],_0x448741=_0x3ee821[_0x9aa98d(0x95)][_0x9aa98d(0x8d)](0x1),_0x5a7396=readPackageScripts(_0x311395);if(!_0x5a7396)throw CliErrors[_0x9aa98d(0x84)](_0x9aa98d(0xa7));if(!_0x4ae7f5){const _0xa58de2=Object[_0x9aa98d(0x91)](_0x5a7396);if(_0xa58de2['length']===0x0)console[_0x9aa98d(0xa0)]('No\x20scripts\x20defined\x20in\x20package.json.');else{console[_0x9aa98d(0xa0)](_0x9aa98d(0x77));const _0x2b82eb=Math[_0x9aa98d(0x8a)](..._0xa58de2[_0x9aa98d(0xa4)](_0xac2ad2=>_0xac2ad2[_0x9aa98d(0x9f)]));for(const [_0x302621,_0x314ea5]of Object[_0x9aa98d(0x9a)](_0x5a7396)){console['log']('\x20\x20\x20\x20'+_0x302621[_0x9aa98d(0x7d)](_0x2b82eb+0x2)+_0x314ea5);}console['log'](_0x9aa98d(0x87)+CLI_BIN_NAME+_0x9aa98d(0x6b));}return{'ok':!![]};}if(!_0x5a7396[_0x4ae7f5])throw CliErrors[_0x9aa98d(0x84)](_0x9aa98d(0x6d)+_0x4ae7f5+_0x9aa98d(0x7c),_0x9aa98d(0x76)+(Object[_0x9aa98d(0x91)](_0x5a7396)[_0x9aa98d(0x70)](',\x20')||_0x9aa98d(0x8b)));const _0x943779=detectPackageManager(_0x311395);VERSION_CHECK_SCRIPTS[_0x9aa98d(0x81)](_0x4ae7f5)&&await versionCheck(_0x311395);if(_0x4ae7f5===_0x9aa98d(0xa5)&&_0x3ee821[_0x9aa98d(0x69)](_0x9aa98d(0x6f)))return await Promise[_0x9aa98d(0x88)]([spawnViteBuildWatch(_0x311395),spawnVitePreview(_0x311395)]),{'ok':!![]};return await spawnScript(_0x943779,_0x4ae7f5,_0x448741,_0x311395),{'ok':!![]};}};
|
package/lib/commands/schema.js
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
function
|
|
1
|
+
const a112_0x96c6dc=a112_0x424e;function a112_0x424e(_0x38ee7d,_0x4696b0){_0x38ee7d=_0x38ee7d-0x10b;const _0x4a5dd2=a112_0x4a5d();let _0x424ec5=_0x4a5dd2[_0x38ee7d];return _0x424ec5;}(function(_0x18a0a7,_0x432a5d){const _0x5d13ab=a112_0x424e,_0x2272c9=_0x18a0a7();while(!![]){try{const _0x2058e6=parseInt(_0x5d13ab(0x111))/0x1*(-parseInt(_0x5d13ab(0x10b))/0x2)+-parseInt(_0x5d13ab(0x10f))/0x3+-parseInt(_0x5d13ab(0x117))/0x4*(-parseInt(_0x5d13ab(0x10d))/0x5)+parseInt(_0x5d13ab(0x10c))/0x6*(parseInt(_0x5d13ab(0x119))/0x7)+-parseInt(_0x5d13ab(0x112))/0x8+-parseInt(_0x5d13ab(0x115))/0x9*(parseInt(_0x5d13ab(0x10e))/0xa)+parseInt(_0x5d13ab(0x114))/0xb;if(_0x2058e6===_0x432a5d)break;else _0x2272c9['push'](_0x2272c9['shift']());}catch(_0x534e36){_0x2272c9['push'](_0x2272c9['shift']());}}}(a112_0x4a5d,0xdbdcd));function a112_0x4a5d(){const _0x2274d6=['45624CNbgoo','207095fLIoCQ','20FRniTN','791217SAZWyc','read','65GoIObK','10491208jHYYRL','json','18905040YYHjwp','2197017gieVVh','export','124cFdWHM','Export\x20machine-readable\x20command\x20schema\x20(JSON)','1582RrVPpD','54068xcmHmZ'];a112_0x4a5d=function(){return _0x2274d6;};return a112_0x4a5d();}import{buildSchemaPayload}from'../framework/schema-export.js';async function execute(_0x1fd860){const _0x5a463e=await buildSchemaPayload();return{'ok':!![],'data':_0x5a463e};}export const schemaDefinition={'service':'schema','command':a112_0x96c6dc(0x116),'description':a112_0x96c6dc(0x118),'risk':a112_0x96c6dc(0x110),'requiresAuth':![],'requiresAppCode':![],'hasFormat':!![],'defaultOutputFormat':a112_0x96c6dc(0x113),'flags':[],'execute':execute};
|
|
@@ -1 +1 @@
|
|
|
1
|
-
const
|
|
1
|
+
function a113_0x13c3(){const _0x2a8f2d=['执行安装技能包命令(委托给\x20npx\x20skills\x20add\x20-g\x20-y)','7652840gykOyy','9746060stLtmA',')...','36rqQBzc','Check\x20network\x20connectivity\x20and\x20try\x20again.','Install\x20developer\x20skill\x20package','Skipped\x20npx\x20(RABETBASE_SKIP_NPX_SKILLS=1);\x20assuming\x20skill\x20is\x20already\x20present.','lovrabet/rabetbase','2665205KwCDop','cwd','skill','5970016KDUkxP','8567034eWeNWQ','setLogPath','61764VWFGiI','skipped','skill-install','write','inherit','1151749laWNKv','6WugEUb','npx\x20skills\x20add\x20failed:\x20','error','114OsGbdQ','log'];a113_0x13c3=function(){return _0x2a8f2d;};return a113_0x13c3();}const a113_0x4a4f9c=a113_0x5cfc;(function(_0x134e44,_0x10544b){const _0x992936=a113_0x5cfc,_0x24c7b6=_0x134e44();while(!![]){try{const _0x4abd65=-parseInt(_0x992936(0xa2))/0x1+-parseInt(_0x992936(0x9d))/0x2*(parseInt(_0x992936(0xa6))/0x3)+-parseInt(_0x992936(0x9a))/0x4+parseInt(_0x992936(0x97))/0x5+parseInt(_0x992936(0xa3))/0x6*(parseInt(_0x992936(0x9b))/0x7)+-parseInt(_0x992936(0x8f))/0x8+-parseInt(_0x992936(0x92))/0x9*(-parseInt(_0x992936(0x90))/0xa);if(_0x4abd65===_0x10544b)break;else _0x24c7b6['push'](_0x24c7b6['shift']());}catch(_0x575ff9){_0x24c7b6['push'](_0x24c7b6['shift']());}}}(a113_0x13c3,0xd7139));import{CliErrors}from'../../errors.js';import{CLI_BIN_NAME}from'../../constant/cli.js';import{logger}from'../../utils/logger.js';function a113_0x5cfc(_0x1c9955,_0x4a0461){_0x1c9955=_0x1c9955-0x8f;const _0x13c39a=a113_0x13c3();let _0x5cfc88=_0x13c39a[_0x1c9955];return _0x5cfc88;}import{NPX_SKILLS_ADD_GLOBAL_COMMAND_LINE}from'../../skills/npx-skills-add.js';export const skillDefinitions=[{'service':a113_0x4a4f9c(0x99),'command':'install','description':a113_0x4a4f9c(0x94),'risk':a113_0x4a4f9c(0xa0),'requiresAuth':![],'requiresAppCode':![],'hasFormat':![],'flags':[],async 'execute'(_0xb3f817){const _0x1764d4=a113_0x4a4f9c;logger[_0x1764d4(0x9c)](process[_0x1764d4(0x98)]()),logger['info'](_0x1764d4(0x9f),_0x1764d4(0xa8));const {runNpxSkillsAddGlobal:_0x24af94}=await import('../../skills/npx-skills-add.js'),_0x5bf5cd=_0xb3f817['nonInteractive']?'pipe':_0x1764d4(0xa1);console[_0x1764d4(0xa7)]('Installing\x20official\x20skill\x20via\x20npx\x20('+NPX_SKILLS_ADD_GLOBAL_COMMAND_LINE+_0x1764d4(0x91));const _0x144f6f=_0x24af94(process['cwd'](),_0x1764d4(0x96),{'stdio':_0x5bf5cd});if(_0x144f6f[_0x1764d4(0x9e)])console[_0x1764d4(0xa7)](_0x1764d4(0x95));else{if(_0x144f6f['ok'])console[_0x1764d4(0xa7)](CLI_BIN_NAME+'\x20skill\x20installed');else throw CliErrors['apiError'](_0x1764d4(0xa4)+(_0x144f6f[_0x1764d4(0xa5)]||'unknown'),_0x1764d4(0x93));}return{'ok':!![]};}}];
|
|
@@ -1 +1 @@
|
|
|
1
|
-
function a114_0x6cb4(_0x18dcf4,_0x26cf66){_0x18dcf4=_0x18dcf4-0x17e;const _0x5b399e=a114_0x5b39();let _0x6cb461=_0x5b399e[_0x18dcf4];return _0x6cb461;}const a114_0x529f91=a114_0x6cb4;function a114_0x5b39(){const _0x4c84e7=['普通\x20SQL(sql)','number','dbId','dbId\x20必须为正整数','<server-generated-sqlCode>','适合带动态标签的\x20MyBatis\x20XML\x20SQL','parse','lastSync','sqlCode','POST','</select>','请选择目标数据库:','1081070tEfckV','name','string','--name\x20is\x20required\x20in\x20non-interactive\x20mode.','appCode','4310872JVvUtb','description','请输入\x20SQL\x20名称:','join','File\x20already\x20exists:\x20','--db-id\x20is\x20required\x20in\x20non-interactive\x20mode.','sqlRoot','isFinite','--mode\x20is\x20required\x20in\x20non-interactive\x20mode.','new','dbId\x20不能为空','sql','/smartapi/custom/saveUserCustomSql','sqlName','1322644yzuEfV','nonInteractive','27658jWrBDz','create','Target\x20database\x20ID','7hkGJTh','length','mybatisXml','lockFilePath','map','15958917XHcjpt','3797577RPBgII','trim','catch','flagMissing','mode','Would\x20create\x20a\x20new\x20SQL\x20query\x20and\x20scaffold\x20it\x20under\x20','Create\x20a\x20new\x20custom\x20SQL\x20and\x20scaffold\x20it\x20locally','适合直接执行的普通\x20SELECT\x20/\x20INSERT\x20/\x20UPDATE\x20/\x20DELETE\x20语句','sqls','Created\x20SQL\x20query\x20','Local\x20SQL\x20file\x20mode','3MxXPoJ','toISOString','validation','dbName','high-risk-write','db-id','sqlRootDir','str','1199286GNcABz','\x20\x20SELECT\x201\x20AS\x20id','isInteger'];a114_0x5b39=function(){return _0x4c84e7;};return a114_0x5b39();}(function(_0x24540b,_0x157ca4){const _0x3e2161=a114_0x6cb4,_0x52532e=_0x24540b();while(!![]){try{const _0x60e837=parseInt(_0x3e2161(0x1b0))/0x1*(parseInt(_0x3e2161(0x1ad))/0x2)+parseInt(_0x3e2161(0x181))/0x3*(-parseInt(_0x3e2161(0x1ab))/0x4)+parseInt(_0x3e2161(0x198))/0x5+-parseInt(_0x3e2161(0x189))/0x6+-parseInt(_0x3e2161(0x1b6))/0x7+-parseInt(_0x3e2161(0x19d))/0x8+parseInt(_0x3e2161(0x1b5))/0x9;if(_0x60e837===_0x157ca4)break;else _0x52532e['push'](_0x52532e['shift']());}catch(_0x6120be){_0x52532e['push'](_0x52532e['shift']());}}}(a114_0x5b39,0x73cce));import{writeFile}from'node:fs/promises';import{input,select}from'@inquirer/prompts';import{createSqlQuery}from'../../core/api-client.js';import{getDbName,listDatabases}from'../../core/db-resolver.js';import{loadSqlProjectConfig}from'../../core/sql-sync/config.js';import{ensureParentDirectory,fileExists}from'../../core/bff/file-system.js';import{computeSqlContentHash}from'../../core/sql-sync/hash.js';import{createEmptySqlLock,ensureSqlLockScope,readSqlLockFile,writeSqlLockFile}from'../../core/sql-sync/lock.js';import{buildSqlRelativePath}from'../../core/sql-sync/utils.js';import{CliErrors}from'../../errors.js';import{buildLocalSqlFileContent,buildSqlLockEntry,ensureRemoteSqlContent}from'./shared.js';function generateSqlTemplate(_0x2aeecb){const _0x1a0afa=a114_0x6cb4;if(_0x2aeecb===_0x1a0afa(0x1b2))return['<select\x20id=\x22query\x22\x20resultType=\x22map\x22>',_0x1a0afa(0x18a),_0x1a0afa(0x196),''][_0x1a0afa(0x1a0)]('\x0a');return['SELECT\x201\x20AS\x20id;',''][_0x1a0afa(0x1a0)]('\x0a');}export const sqlCreate={'service':a114_0x529f91(0x1a8),'command':a114_0x529f91(0x1ae),'description':a114_0x529f91(0x1bc),'risk':a114_0x529f91(0x185),'flags':[{'name':'name','type':a114_0x529f91(0x19a),'description':'SQL\x20query\x20display\x20name'},{'name':a114_0x529f91(0x186),'type':a114_0x529f91(0x18d),'description':a114_0x529f91(0x1af)},{'name':a114_0x529f91(0x1ba),'type':'string','enum':[a114_0x529f91(0x1a8),a114_0x529f91(0x1b2)],'description':a114_0x529f91(0x180)}],async 'validate'(_0x37ece9){const _0x9f8209=a114_0x529f91;if(!_0x37ece9['nonInteractive'])return;if(!_0x37ece9[_0x9f8209(0x188)]('name')[_0x9f8209(0x1b7)]())throw CliErrors[_0x9f8209(0x1b9)]('name','--name\x20is\x20required\x20in\x20non-interactive\x20mode.');const _0x4bc47d=resolveProvidedDbId(_0x37ece9);if(typeof _0x4bc47d!=='number'||!Number[_0x9f8209(0x1a4)](_0x4bc47d)||_0x4bc47d<=0x0)throw CliErrors['flagMissing']('db-id',_0x9f8209(0x1a2));if(!_0x37ece9[_0x9f8209(0x188)](_0x9f8209(0x1ba))[_0x9f8209(0x1b7)]())throw CliErrors['flagMissing'](_0x9f8209(0x1ba),_0x9f8209(0x1a5));},async 'dryRun'(_0x2376fd){const _0x36726c=a114_0x529f91,_0x253e95=loadSqlProjectConfig(_0x2376fd[_0x36726c(0x19c)]),{sqlName:_0x3a74c8,dbId:_0x5d0bf2,dbName:_0x51887d,mode:_0x484641}=await resolveSqlNewInputs(_0x2376fd),_0x10a045=buildSqlRelativePath(_0x36726c(0x190),_0x3a74c8,_0x51887d,_0x484641,_0x5d0bf2),_0x1568f2=_0x253e95[_0x36726c(0x187)]+'/'+_0x10a045;return{'method':_0x36726c(0x195),'url':_0x36726c(0x1a9),'body':{'appCode':_0x2376fd[_0x36726c(0x19c)],'sqlName':_0x3a74c8,'dbId':_0x5d0bf2,'mode':_0x484641,'localPath':_0x1568f2},'description':_0x36726c(0x1bb)+_0x253e95[_0x36726c(0x187)]};},async 'execute'(_0x9d9c1c){const _0x1fe4f4=a114_0x529f91,_0x30fc27=loadSqlProjectConfig(_0x9d9c1c[_0x1fe4f4(0x19c)]),{sqlName:_0x5c6ba6,dbId:_0x229814,dbName:_0x57a5b4,mode:_0x2c997c}=await resolveSqlNewInputs(_0x9d9c1c),_0x9727e3=generateSqlTemplate(_0x2c997c),_0x4662fd=await createSqlQuery({'appCode':_0x9d9c1c[_0x1fe4f4(0x19c)],'sqlName':_0x5c6ba6,'dbId':_0x229814,'sqlContent':_0x9727e3}),_0x1fff3a=ensureRemoteSqlContent(_0x4662fd),_0x2834c8=_0x57a5b4||await getDbName(_0x9d9c1c[_0x1fe4f4(0x19c)],_0x229814)[_0x1fe4f4(0x1b8)](()=>undefined),_0x13fbbd=buildSqlRelativePath(_0x4662fd[_0x1fe4f4(0x194)],_0x4662fd[_0x1fe4f4(0x1aa)],_0x2834c8,_0x2c997c,_0x229814),_0x3598fa=_0x30fc27['sqlRootDir']+'/'+_0x13fbbd,_0x2ab26a=buildLocalSqlFileContent({'sqlCode':_0x4662fd[_0x1fe4f4(0x194)],'sqlName':_0x4662fd['sqlName'],'dbId':_0x4662fd[_0x1fe4f4(0x18e)]},_0x1fff3a,{'dbName':_0x2834c8,'mode':_0x2c997c,'syncedAt':new Date()[_0x1fe4f4(0x182)](),'description':_0x4662fd[_0x1fe4f4(0x19e)]});if(await fileExists(_0x3598fa))throw CliErrors[_0x1fe4f4(0x183)](_0x1fe4f4(0x1a1)+_0x3598fa);await ensureParentDirectory(_0x3598fa),await writeFile(_0x3598fa,_0x2ab26a,'utf8');const _0x267bf4=await readSqlLockFile(_0x30fc27[_0x1fe4f4(0x1b3)]),{lockData:_0x4078c7,appLock:_0x33254e}=ensureSqlLockScope(_0x267bf4??createEmptySqlLock(),_0x30fc27[_0x1fe4f4(0x19c)],_0x30fc27[_0x1fe4f4(0x1a3)],_0x1fe4f4(0x1a6));return _0x33254e[_0x1fe4f4(0x17e)][_0x4662fd[_0x1fe4f4(0x194)]]={...buildSqlLockEntry(_0x4662fd,_0x1fff3a,computeSqlContentHash(_0x2ab26a),{'dbName':_0x2834c8}),'path':_0x13fbbd,'mode':_0x2c997c},_0x33254e[_0x1fe4f4(0x193)]=new Date()['toISOString'](),await writeSqlLockFile(_0x30fc27[_0x1fe4f4(0x1b3)],_0x4078c7),{'ok':!![],'data':{'id':_0x4662fd['id'],'sqlCode':_0x4662fd[_0x1fe4f4(0x194)],'sqlName':_0x4662fd['sqlName'],'dbId':_0x4662fd[_0x1fe4f4(0x18e)],'path':_0x3598fa,'mode':_0x2c997c},'message':_0x1fe4f4(0x17f)+_0x4662fd[_0x1fe4f4(0x194)]};}};async function resolveSqlNewInputs(_0x25c3dd){const _0x36ca4c=await resolveSqlNameInput(_0x25c3dd),{dbId:_0x502f27,dbName:_0x23bf2e}=await resolveDbSelection(_0x25c3dd),_0x2fdde6=await resolveSqlModeInput(_0x25c3dd);return{'sqlName':_0x36ca4c,'dbId':_0x502f27,'dbName':_0x23bf2e,'mode':_0x2fdde6};}async function resolveSqlNameInput(_0x1a0335){const _0x48a15a=a114_0x529f91,_0x1199ee=_0x1a0335[_0x48a15a(0x188)](_0x48a15a(0x199))[_0x48a15a(0x1b7)]();if(_0x1199ee)return _0x1199ee;if(_0x1a0335[_0x48a15a(0x1ac)])throw CliErrors['flagMissing'](_0x48a15a(0x199),_0x48a15a(0x19b));return(await input({'message':_0x48a15a(0x19f),'validate':_0x245f73=>_0x245f73['trim']()?!![]:'SQL\x20名称不能为空'}))['trim']();}async function resolveDbSelection(_0x4d9373){const _0x244548=a114_0x529f91,_0x289df1=resolveProvidedDbId(_0x4d9373);if(typeof _0x289df1===_0x244548(0x18d)&&Number['isFinite'](_0x289df1)&&_0x289df1>0x0)return{'dbId':_0x289df1,'dbName':await getDbName(_0x4d9373[_0x244548(0x19c)],_0x289df1)[_0x244548(0x1b8)](()=>undefined)};if(_0x4d9373[_0x244548(0x1ac)])throw CliErrors[_0x244548(0x1b9)](_0x244548(0x186),_0x244548(0x1a2));const _0x4e7984=await listDatabases(_0x4d9373[_0x244548(0x19c)])[_0x244548(0x1b8)](()=>[]);if(_0x4e7984[_0x244548(0x1b1)]===0x1)return{'dbId':_0x4e7984[0x0][_0x244548(0x18e)],'dbName':_0x4e7984[0x0]['dbName']};if(_0x4e7984['length']>0x1){const _0x1a6f23=await select({'message':_0x244548(0x197),'choices':[..._0x4e7984[_0x244548(0x1b4)](_0x6cf83b=>({'name':_0x6cf83b[_0x244548(0x184)]+'\x20('+_0x6cf83b['dbId']+')','value':serializeDbSelection(_0x6cf83b)})),{'name':'✎\x20手动输入\x20dbId','value':'__manual__'}]});if(_0x1a6f23!=='__manual__')return deserializeDbSelection(_0x1a6f23);}const _0x1c1d03=await input({'message':'请输入目标数据库\x20dbId:','validate':_0x3b2a59=>{const _0xe96d2f=_0x244548,_0x3ed3c5=_0x3b2a59[_0xe96d2f(0x1b7)]();if(!_0x3ed3c5)return _0xe96d2f(0x1a7);const _0x2e4ad0=Number(_0x3ed3c5);if(!Number[_0xe96d2f(0x18b)](_0x2e4ad0)||_0x2e4ad0<=0x0)return _0xe96d2f(0x18f);return!![];}});return{'dbId':Number(_0x1c1d03[_0x244548(0x1b7)]())};}async function resolveSqlModeInput(_0x4cc7a2){const _0x3c2280=a114_0x529f91,_0x1c2646=_0x4cc7a2[_0x3c2280(0x188)]('mode')[_0x3c2280(0x1b7)]();if(_0x1c2646===_0x3c2280(0x1a8)||_0x1c2646===_0x3c2280(0x1b2))return _0x1c2646;if(_0x4cc7a2['nonInteractive'])throw CliErrors['flagMissing'](_0x3c2280(0x1ba),_0x3c2280(0x1a5));return await select({'message':'请选择本地\x20SQL\x20模式:','choices':[{'name':_0x3c2280(0x18c),'value':'sql','description':_0x3c2280(0x1bd)},{'name':'MyBatis\x20XML(mybatisXml)','value':_0x3c2280(0x1b2),'description':_0x3c2280(0x191)}]});}function serializeDbSelection(_0x319834){const _0x2bad84=a114_0x529f91;return JSON['stringify']({'dbId':_0x319834[_0x2bad84(0x18e)],'dbName':_0x319834['dbName']});}function deserializeDbSelection(_0x21059b){const _0x5cc958=a114_0x529f91;try{const _0x35c191=JSON[_0x5cc958(0x192)](_0x21059b);if(typeof _0x35c191['dbId']==='number'&&Number[_0x5cc958(0x1a4)](_0x35c191[_0x5cc958(0x18e)]))return{'dbId':_0x35c191[_0x5cc958(0x18e)],'dbName':_0x35c191[_0x5cc958(0x184)]};}catch{}throw CliErrors['validation']('Invalid\x20database\x20selection\x20payload:\x20'+_0x21059b);}function resolveProvidedDbId(_0x4b9619){const _0x55bc5b=a114_0x529f91,_0x266a3f=_0x4b9619['flag'](_0x55bc5b(0x186));if(typeof _0x266a3f===_0x55bc5b(0x18d)&&Number[_0x55bc5b(0x1a4)](_0x266a3f))return _0x266a3f;return undefined;}
|
|
1
|
+
const a114_0x53adff=a114_0x51a8;(function(_0x3d7574,_0x4d2b21){const _0x48b020=a114_0x51a8,_0xba76da=_0x3d7574();while(!![]){try{const _0x779122=-parseInt(_0x48b020(0x10c))/0x1+-parseInt(_0x48b020(0x11a))/0x2+-parseInt(_0x48b020(0x121))/0x3*(parseInt(_0x48b020(0x142))/0x4)+parseInt(_0x48b020(0x13f))/0x5+parseInt(_0x48b020(0x123))/0x6*(-parseInt(_0x48b020(0x106))/0x7)+parseInt(_0x48b020(0x144))/0x8*(-parseInt(_0x48b020(0x137))/0x9)+parseInt(_0x48b020(0x140))/0xa*(parseInt(_0x48b020(0x133))/0xb);if(_0x779122===_0x4d2b21)break;else _0xba76da['push'](_0xba76da['shift']());}catch(_0x70e84b){_0xba76da['push'](_0xba76da['shift']());}}}(a114_0x5070,0xab510));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 a114_0x51a8(_0xbe0407,_0x1c461e){_0xbe0407=_0xbe0407-0x105;const _0x507014=a114_0x5070();let _0x51a8c8=_0x507014[_0xbe0407];return _0x51a8c8;}import{loadSqlProjectConfig}from'../../core/sql-sync/config.js';import{ensureParentDirectory,fileExists}from'../../core/bff/file-system.js';import{computeSqlContentHash}from'../../core/sql-sync/hash.js';import{createEmptySqlLock,ensureSqlLockScope,readSqlLockFile,writeSqlLockFile}from'../../core/sql-sync/lock.js';import{buildSqlRelativePath}from'../../core/sql-sync/utils.js';import{CliErrors}from'../../errors.js';import{buildLocalSqlFileContent,buildSqlLockEntry,ensureRemoteSqlContent}from'./shared.js';function generateSqlTemplate(_0x41d484){const _0xe332e0=a114_0x51a8;if(_0x41d484===_0xe332e0(0x118))return['<select\x20id=\x22query\x22\x20resultType=\x22map\x22>',_0xe332e0(0x148),_0xe332e0(0x117),''][_0xe332e0(0x129)]('\x0a');return[_0xe332e0(0x130),''][_0xe332e0(0x129)]('\x0a');}export const sqlCreate={'service':a114_0x53adff(0x13e),'command':a114_0x53adff(0x122),'description':a114_0x53adff(0x11d),'risk':a114_0x53adff(0x13c),'flags':[{'name':'name','type':a114_0x53adff(0x112),'description':'SQL\x20query\x20display\x20name'},{'name':a114_0x53adff(0x11e),'type':a114_0x53adff(0x13d),'description':'Target\x20database\x20ID'},{'name':'mode','type':'string','enum':['sql',a114_0x53adff(0x118)],'description':'Local\x20SQL\x20file\x20mode'}],async 'validate'(_0xa36ab4){const _0x5abc8e=a114_0x53adff;if(!_0xa36ab4[_0x5abc8e(0x10e)])return;if(!_0xa36ab4[_0x5abc8e(0x12b)](_0x5abc8e(0x147))['trim']())throw CliErrors[_0x5abc8e(0x114)](_0x5abc8e(0x147),_0x5abc8e(0x12a));const _0x5b6ce7=resolveProvidedDbId(_0xa36ab4);if(typeof _0x5b6ce7!==_0x5abc8e(0x13d)||!Number[_0x5abc8e(0x109)](_0x5b6ce7)||_0x5b6ce7<=0x0)throw CliErrors[_0x5abc8e(0x114)](_0x5abc8e(0x11e),_0x5abc8e(0x134));if(!_0xa36ab4[_0x5abc8e(0x12b)](_0x5abc8e(0x13a))['trim']())throw CliErrors[_0x5abc8e(0x114)](_0x5abc8e(0x13a),'--mode\x20is\x20required\x20in\x20non-interactive\x20mode.');},async 'dryRun'(_0x15ae41){const _0x5b4dc4=a114_0x53adff,_0x14fc9a=loadSqlProjectConfig(_0x15ae41[_0x5b4dc4(0x125)]),{sqlName:_0x1dd754,dbId:_0x52ebaf,dbName:_0x1e1c18,mode:_0x5f0681}=await resolveSqlNewInputs(_0x15ae41),_0x90760d=buildSqlRelativePath(_0x5b4dc4(0x10d),_0x1dd754,_0x1e1c18,_0x5f0681,_0x52ebaf),_0x454221=_0x14fc9a[_0x5b4dc4(0x10f)]+'/'+_0x90760d;return{'method':_0x5b4dc4(0x146),'url':_0x5b4dc4(0x116),'body':{'appCode':_0x15ae41[_0x5b4dc4(0x125)],'sqlName':_0x1dd754,'dbId':_0x52ebaf,'mode':_0x5f0681,'localPath':_0x454221},'description':_0x5b4dc4(0x107)+_0x14fc9a['sqlRootDir']};},async 'execute'(_0x18ef6e){const _0x5f5b83=a114_0x53adff,_0x43d522=loadSqlProjectConfig(_0x18ef6e[_0x5f5b83(0x125)]),{sqlName:_0x3a0a65,dbId:_0x69e80c,dbName:_0x32ec05,mode:_0x33935a}=await resolveSqlNewInputs(_0x18ef6e),_0x2a8d54=generateSqlTemplate(_0x33935a),_0x5b2a0e=await createSqlQuery({'appCode':_0x18ef6e['appCode'],'sqlName':_0x3a0a65,'dbId':_0x69e80c,'sqlContent':_0x2a8d54}),_0x5b47a6=ensureRemoteSqlContent(_0x5b2a0e),_0x520963=_0x32ec05||await getDbName(_0x18ef6e[_0x5f5b83(0x125)],_0x69e80c)[_0x5f5b83(0x124)](()=>undefined),_0x1e0ea5=buildSqlRelativePath(_0x5b2a0e[_0x5f5b83(0x143)],_0x5b2a0e[_0x5f5b83(0x128)],_0x520963,_0x33935a,_0x69e80c),_0x178793=_0x43d522['sqlRootDir']+'/'+_0x1e0ea5,_0x284912=buildLocalSqlFileContent({'sqlCode':_0x5b2a0e['sqlCode'],'sqlName':_0x5b2a0e[_0x5f5b83(0x128)],'dbId':_0x5b2a0e[_0x5f5b83(0x126)]},_0x5b47a6,{'dbName':_0x520963,'mode':_0x33935a,'syncedAt':new Date()[_0x5f5b83(0x111)](),'description':_0x5b2a0e[_0x5f5b83(0x113)]});if(await fileExists(_0x178793))throw CliErrors[_0x5f5b83(0x136)](_0x5f5b83(0x115)+_0x178793);await ensureParentDirectory(_0x178793),await writeFile(_0x178793,_0x284912,_0x5f5b83(0x138));const _0x152985=await readSqlLockFile(_0x43d522[_0x5f5b83(0x145)]),{lockData:_0x387ea1,appLock:_0x5768d6}=ensureSqlLockScope(_0x152985??createEmptySqlLock(),_0x43d522[_0x5f5b83(0x125)],_0x43d522['sqlRoot'],_0x5f5b83(0x149));return _0x5768d6['sqls'][_0x5b2a0e[_0x5f5b83(0x143)]]={...buildSqlLockEntry(_0x5b2a0e,_0x5b47a6,computeSqlContentHash(_0x284912),{'dbName':_0x520963}),'path':_0x1e0ea5,'mode':_0x33935a},_0x5768d6[_0x5f5b83(0x12c)]=new Date()[_0x5f5b83(0x111)](),await writeSqlLockFile(_0x43d522[_0x5f5b83(0x145)],_0x387ea1),{'ok':!![],'data':{'id':_0x5b2a0e['id'],'sqlCode':_0x5b2a0e[_0x5f5b83(0x143)],'sqlName':_0x5b2a0e[_0x5f5b83(0x128)],'dbId':_0x5b2a0e[_0x5f5b83(0x126)],'path':_0x178793,'mode':_0x33935a},'message':_0x5f5b83(0x10b)+_0x5b2a0e['sqlCode']};}};async function resolveSqlNewInputs(_0x521700){const _0x2fb052=await resolveSqlNameInput(_0x521700),{dbId:_0x127088,dbName:_0x508f68}=await resolveDbSelection(_0x521700),_0x2cad5b=await resolveSqlModeInput(_0x521700);return{'sqlName':_0x2fb052,'dbId':_0x127088,'dbName':_0x508f68,'mode':_0x2cad5b};}async function resolveSqlNameInput(_0x38187e){const _0xbd708d=a114_0x53adff,_0x4b7a45=_0x38187e[_0xbd708d(0x12b)](_0xbd708d(0x147))[_0xbd708d(0x10a)]();if(_0x4b7a45)return _0x4b7a45;if(_0x38187e[_0xbd708d(0x10e)])throw CliErrors[_0xbd708d(0x114)](_0xbd708d(0x147),'--name\x20is\x20required\x20in\x20non-interactive\x20mode.');return(await input({'message':'请输入\x20SQL\x20名称:','validate':_0x349666=>_0x349666[_0xbd708d(0x10a)]()?!![]:_0xbd708d(0x12d)}))[_0xbd708d(0x10a)]();}async function resolveDbSelection(_0xef990e){const _0x60c1a1=a114_0x53adff,_0x467ff8=resolveProvidedDbId(_0xef990e);if(typeof _0x467ff8==='number'&&Number['isFinite'](_0x467ff8)&&_0x467ff8>0x0)return{'dbId':_0x467ff8,'dbName':await getDbName(_0xef990e[_0x60c1a1(0x125)],_0x467ff8)['catch'](()=>undefined)};if(_0xef990e[_0x60c1a1(0x10e)])throw CliErrors[_0x60c1a1(0x114)](_0x60c1a1(0x11e),_0x60c1a1(0x134));const _0x108e29=await listDatabases(_0xef990e['appCode'])['catch'](()=>[]);if(_0x108e29[_0x60c1a1(0x13b)]===0x1)return{'dbId':_0x108e29[0x0][_0x60c1a1(0x126)],'dbName':_0x108e29[0x0][_0x60c1a1(0x139)]};if(_0x108e29['length']>0x1){const _0x370f0c=await select({'message':_0x60c1a1(0x132),'choices':[..._0x108e29[_0x60c1a1(0x120)](_0x45578d=>({'name':_0x45578d[_0x60c1a1(0x139)]+'\x20('+_0x45578d[_0x60c1a1(0x126)]+')','value':serializeDbSelection(_0x45578d)})),{'name':_0x60c1a1(0x131),'value':_0x60c1a1(0x141)}]});if(_0x370f0c!==_0x60c1a1(0x141))return deserializeDbSelection(_0x370f0c);}const _0x192d77=await input({'message':'请输入目标数据库\x20dbId:','validate':_0x12d144=>{const _0x344ded=_0x60c1a1,_0x46ed78=_0x12d144[_0x344ded(0x10a)]();if(!_0x46ed78)return'dbId\x20不能为空';const _0x12ba08=Number(_0x46ed78);if(!Number[_0x344ded(0x105)](_0x12ba08)||_0x12ba08<=0x0)return _0x344ded(0x12f);return!![];}});return{'dbId':Number(_0x192d77[_0x60c1a1(0x10a)]())};}async function resolveSqlModeInput(_0x2887c5){const _0x36863a=a114_0x53adff,_0x1f8595=_0x2887c5[_0x36863a(0x12b)](_0x36863a(0x13a))[_0x36863a(0x10a)]();if(_0x1f8595===_0x36863a(0x13e)||_0x1f8595===_0x36863a(0x118))return _0x1f8595;if(_0x2887c5[_0x36863a(0x10e)])throw CliErrors['flagMissing'](_0x36863a(0x13a),'--mode\x20is\x20required\x20in\x20non-interactive\x20mode.');return await select({'message':_0x36863a(0x108),'choices':[{'name':_0x36863a(0x110),'value':_0x36863a(0x13e),'description':_0x36863a(0x127)},{'name':_0x36863a(0x12e),'value':_0x36863a(0x118),'description':_0x36863a(0x11c)}]});}function serializeDbSelection(_0x356374){const _0x54ca8=a114_0x53adff;return JSON[_0x54ca8(0x119)]({'dbId':_0x356374[_0x54ca8(0x126)],'dbName':_0x356374[_0x54ca8(0x139)]});}function a114_0x5070(){const _0x288b62=['sqlCode','448xjhfsi','lockFilePath','POST','name','\x20\x20SELECT\x201\x20AS\x20id','new','isInteger','3227SziChj','Would\x20create\x20a\x20new\x20SQL\x20query\x20and\x20scaffold\x20it\x20under\x20','请选择本地\x20SQL\x20模式:','isFinite','trim','Created\x20SQL\x20query\x20','433873XjTrrb','<server-generated-sqlCode>','nonInteractive','sqlRootDir','普通\x20SQL(sql)','toISOString','string','description','flagMissing','File\x20already\x20exists:\x20','/smartapi/custom/saveUserCustomSql','</select>','mybatisXml','stringify','857006wZUfEQ','flag','适合带动态标签的\x20MyBatis\x20XML\x20SQL','Create\x20a\x20new\x20custom\x20SQL\x20and\x20scaffold\x20it\x20locally','db-id','parse','map','156zhXDvf','create','10452OuavIm','catch','appCode','dbId','适合直接执行的普通\x20SELECT\x20/\x20INSERT\x20/\x20UPDATE\x20/\x20DELETE\x20语句','sqlName','join','--name\x20is\x20required\x20in\x20non-interactive\x20mode.','str','lastSync','SQL\x20名称不能为空','MyBatis\x20XML(mybatisXml)','dbId\x20必须为正整数','SELECT\x201\x20AS\x20id;','✎\x20手动输入\x20dbId','请选择目标数据库:','11EIyPvL','--db-id\x20is\x20required\x20in\x20non-interactive\x20mode.','Invalid\x20database\x20selection\x20payload:\x20','validation','1215UmWZMj','utf8','dbName','mode','length','high-risk-write','number','sql','2349595HxtbzB','23475710sVEJGT','__manual__','34060bpkCLy'];a114_0x5070=function(){return _0x288b62;};return a114_0x5070();}function deserializeDbSelection(_0x4754b7){const _0x379193=a114_0x53adff;try{const _0x258977=JSON[_0x379193(0x11f)](_0x4754b7);if(typeof _0x258977[_0x379193(0x126)]===_0x379193(0x13d)&&Number[_0x379193(0x109)](_0x258977['dbId']))return{'dbId':_0x258977[_0x379193(0x126)],'dbName':_0x258977[_0x379193(0x139)]};}catch{}throw CliErrors[_0x379193(0x136)](_0x379193(0x135)+_0x4754b7);}function resolveProvidedDbId(_0x2d6b74){const _0x5912c9=a114_0x53adff,_0x6f332f=_0x2d6b74[_0x5912c9(0x11b)](_0x5912c9(0x11e));if(typeof _0x6f332f===_0x5912c9(0x13d)&&Number[_0x5912c9(0x109)](_0x6f332f))return _0x6f332f;return undefined;}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
const
|
|
1
|
+
const a115_0x42a62e=a115_0x37a8;(function(_0x30089a,_0x5f1188){const _0x3b1abb=a115_0x37a8,_0x47d64c=_0x30089a();while(!![]){try{const _0x450873=parseInt(_0x3b1abb(0x17a))/0x1+parseInt(_0x3b1abb(0x174))/0x2+parseInt(_0x3b1abb(0x16d))/0x3+parseInt(_0x3b1abb(0x173))/0x4+-parseInt(_0x3b1abb(0x166))/0x5+-parseInt(_0x3b1abb(0x169))/0x6+-parseInt(_0x3b1abb(0x165))/0x7*(parseInt(_0x3b1abb(0x183))/0x8);if(_0x450873===_0x5f1188)break;else _0x47d64c['push'](_0x47d64c['shift']());}catch(_0x3e2ce6){_0x47d64c['push'](_0x47d64c['shift']());}}}(a115_0xdd5d,0x5dc00));import{mkdir,readdir,rename,rmdir}from'node:fs/promises';import{dirname,join,relative,resolve,sep}from'node:path';import{deleteSqlQuery}from'../../core/api-client.js';import{loadSqlProjectConfig}from'../../core/sql-sync/config.js';import{fileExists}from'../../core/bff/file-system.js';import{resolveLocalSqlFilePath}from'../../core/sql-sync/file-system.js';import{ensureSqlLockScope,readSqlLockFile,writeSqlLockFile}from'../../core/sql-sync/lock.js';import{CliErrors}from'../../errors.js';import{SQLCODE_FLAG}from'../../commands/common/flags.js';function a115_0x37a8(_0x5a6d3b,_0x49cf64){_0x5a6d3b=_0x5a6d3b-0x163;const _0xdd5d8e=a115_0xdd5d();let _0x37a845=_0xdd5d8e[_0x5a6d3b];return _0x37a845;}function a115_0xdd5d(){const _0x1d0295=['Deleted\x20','toISOString','No\x20SQL\x20lock\x20entry\x20found\x20for\x20\x22','424icXHQN','Would\x20delete\x20SQL\x20','sqls','SQL\x20lock\x20file\x20not\x20found.','35749vtCFuv','678005MIGsZa','sqlcode','sqlRoot','3745764SEgTvj','fromEntries','entries','filter','476376vRoMXS','length','str','appCode','SQL\x20lock\x20file\x20not\x20found.\x20Run\x20`rabetbase\x20sql\x20create`\x20or\x20`rabetbase\x20sql\x20pull`\x20first.','/smartapi/custom/deleteUserCustomSql','1591088SORyQj','541242jLkiCs','remoteId','delete','lockFilePath','trashedTo','Delete\x20a\x20SQL\x20query\x20from\x20remote\x20and\x20local','587381PSpdSM','\x20(local\x20file\x20moved\x20to\x20trash)','validation','lastSync','trashDir','startsWith'];a115_0xdd5d=function(){return _0x1d0295;};return a115_0xdd5d();}export const sqlDelete={'service':'sql','command':a115_0x42a62e(0x176),'description':a115_0x42a62e(0x179),'risk':'high-risk-write','flags':[SQLCODE_FLAG],async 'validate'(_0x5ce1be){const _0xa2e143=a115_0x42a62e,_0x11380f=loadSqlProjectConfig(_0x5ce1be[_0xa2e143(0x170)]),_0x1bf609=await readSqlLockFile(_0x11380f[_0xa2e143(0x177)]);if(!_0x1bf609)throw CliErrors[_0xa2e143(0x17c)](_0xa2e143(0x171));},async 'dryRun'(_0x463b07){const _0x2139d5=a115_0x42a62e,_0x56084b=loadSqlProjectConfig(_0x463b07[_0x2139d5(0x170)]),_0x278cbc=await readSqlLockFile(_0x56084b[_0x2139d5(0x177)]);if(!_0x278cbc)throw CliErrors[_0x2139d5(0x17c)]('SQL\x20lock\x20file\x20not\x20found.\x20Run\x20`rabetbase\x20sql\x20create`\x20or\x20`rabetbase\x20sql\x20pull`\x20first.');const {appLock:_0x1cd8f1}=ensureSqlLockScope(_0x278cbc,_0x463b07[_0x2139d5(0x170)],_0x56084b[_0x2139d5(0x168)],_0x2139d5(0x176)),_0x2a1dbf=_0x463b07[_0x2139d5(0x16f)](_0x2139d5(0x167)),_0x219e7d=_0x1cd8f1[_0x2139d5(0x163)][_0x2a1dbf];if(!_0x219e7d)throw CliErrors['validation']('No\x20SQL\x20lock\x20entry\x20found\x20for\x20\x22'+_0x2a1dbf+'\x22.');return{'method':'POST','url':_0x2139d5(0x172),'body':{'sqlCode':_0x2a1dbf,'id':_0x219e7d[_0x2139d5(0x175)],'localPath':resolveLocalSqlFilePath(_0x56084b,_0x2a1dbf,_0x219e7d)},'description':_0x2139d5(0x184)+_0x2a1dbf+'\x20from\x20remote\x20and\x20move\x20local\x20file\x20to\x20'+_0x56084b[_0x2139d5(0x17e)]};},async 'execute'(_0x2810b7){const _0x4a3ddb=a115_0x42a62e,_0x5ba142=loadSqlProjectConfig(_0x2810b7[_0x4a3ddb(0x170)]),_0x3d41e1=await readSqlLockFile(_0x5ba142[_0x4a3ddb(0x177)]);if(!_0x3d41e1)throw CliErrors[_0x4a3ddb(0x17c)](_0x4a3ddb(0x164));const {lockData:_0x1efc01,appLock:_0x23e146}=ensureSqlLockScope(_0x3d41e1,_0x2810b7['appCode'],_0x5ba142[_0x4a3ddb(0x168)],_0x4a3ddb(0x176)),_0x9c6f6f=_0x2810b7[_0x4a3ddb(0x16f)](_0x4a3ddb(0x167)),_0x5397f7=_0x23e146[_0x4a3ddb(0x163)][_0x9c6f6f];if(!_0x5397f7)throw CliErrors['validation'](_0x4a3ddb(0x182)+_0x9c6f6f+'\x22.');await deleteSqlQuery({'id':_0x5397f7[_0x4a3ddb(0x175)],'sqlCode':_0x9c6f6f}),_0x23e146['sqls']=Object[_0x4a3ddb(0x16a)](Object[_0x4a3ddb(0x16b)](_0x23e146[_0x4a3ddb(0x163)])[_0x4a3ddb(0x16c)](([_0x2511ec])=>_0x2511ec!==_0x9c6f6f)),_0x23e146[_0x4a3ddb(0x17d)]=new Date()['toISOString'](),await writeSqlLockFile(_0x5ba142[_0x4a3ddb(0x177)],_0x1efc01);const _0x1a7c28=resolveLocalSqlFilePath(_0x5ba142,_0x9c6f6f,_0x5397f7);let _0x226fe8;await fileExists(_0x1a7c28)&&(_0x226fe8=await moveToTrash(_0x5ba142['projectRoot'],_0x5ba142['trashDir'],_0x1a7c28),await cleanupEmptyDirectories(dirname(_0x1a7c28),_0x5ba142['sqlRootDir']));const _0x2fa6cc={'deleted':_0x9c6f6f,'remoteId':_0x5397f7[_0x4a3ddb(0x175)]};if(_0x226fe8)_0x2fa6cc[_0x4a3ddb(0x178)]=_0x226fe8;return{'ok':!![],'data':_0x2fa6cc,'message':_0x4a3ddb(0x180)+_0x9c6f6f+(_0x226fe8?_0x4a3ddb(0x17b):'')};}};async function moveToTrash(_0x58f0f,_0xeaabd7,_0x230c83){const _0x279eca=a115_0x42a62e,_0x395177=new Date()[_0x279eca(0x181)]()['replace'](/[:.]/g,'-'),_0x3416c5=relative(_0x58f0f,_0x230c83),_0x566141=join(_0xeaabd7,_0x395177,_0x3416c5);return await mkdir(dirname(_0x566141),{'recursive':!![]}),await rename(_0x230c83,_0x566141),_0x566141;}async function cleanupEmptyDirectories(_0x5e0bf7,_0x198f65){const _0x1db6bd=a115_0x42a62e;let _0x3cd24f=resolve(_0x5e0bf7);const _0x5f6f23=resolve(_0x198f65);while(_0x3cd24f[_0x1db6bd(0x17f)](''+_0x5f6f23+sep)||_0x3cd24f===_0x5f6f23){if(_0x3cd24f===_0x5f6f23)return;try{const _0x107c73=await readdir(_0x3cd24f);if(_0x107c73[_0x1db6bd(0x16e)]>0x0)return;await rmdir(_0x3cd24f);}catch{return;}_0x3cd24f=dirname(_0x3cd24f);}}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
const
|
|
1
|
+
const a116_0x3e8623=a116_0x460c;(function(_0x1b5650,_0x56c3af){const _0x4a5596=a116_0x460c,_0x491af8=_0x1b5650();while(!![]){try{const _0x12cd5a=-parseInt(_0x4a5596(0x1d8))/0x1+-parseInt(_0x4a5596(0x1d9))/0x2+parseInt(_0x4a5596(0x1cf))/0x3*(parseInt(_0x4a5596(0x1d2))/0x4)+-parseInt(_0x4a5596(0x1d7))/0x5*(parseInt(_0x4a5596(0x1d4))/0x6)+parseInt(_0x4a5596(0x1da))/0x7*(-parseInt(_0x4a5596(0x1d5))/0x8)+-parseInt(_0x4a5596(0x1d1))/0x9+parseInt(_0x4a5596(0x1dc))/0xa;if(_0x12cd5a===_0x56c3af)break;else _0x491af8['push'](_0x491af8['shift']());}catch(_0x26e63f){_0x491af8['push'](_0x491af8['shift']());}}}(a116_0x53eb,0x3913a));import{getSqlQueryInfo}from'../../core/api-client.js';import{getDbName}from'../../core/db-resolver.js';function a116_0x53eb(){const _0x95cf3a=['sqlCode','verbose','appCode','description','detail','1138281fcIZrB','str','1437471OhunkM','4TcCQXV','bool','6UcVapa','857512vQhHYg','dbId','1524620HtRpWI','444953NVVrbF','680260aQUXpF','14TZEdmk','sql','13184630vKaJRo','boolean'];a116_0x53eb=function(){return _0x95cf3a;};return a116_0x53eb();}import{SQLCODE_FLAG}from'../../commands/common/flags.js';function a116_0x460c(_0x38d27d,_0x367436){_0x38d27d=_0x38d27d-0x1cf;const _0x53eb1d=a116_0x53eb();let _0x460c43=_0x53eb1d[_0x38d27d];return _0x460c43;}export const sqlDetail={'service':a116_0x3e8623(0x1db),'command':a116_0x3e8623(0x1e2),'description':'Get\x20custom\x20SQL\x20query\x20details\x20by\x20sqlCode','risk':'read','flags':[SQLCODE_FLAG,{'name':a116_0x3e8623(0x1df),'type':a116_0x3e8623(0x1dd),'description':'Return\x20full\x20raw\x20SQL\x20query\x20object'}],async 'execute'(_0x35a2c8){const _0x2565b0=a116_0x3e8623,_0x3d748a=await getSqlQueryInfo(_0x35a2c8[_0x2565b0(0x1e0)],_0x35a2c8[_0x2565b0(0x1d0)]('sqlcode')),_0x34c86c=_0x35a2c8[_0x2565b0(0x1d3)](_0x2565b0(0x1df));if(_0x34c86c)return{'ok':!![],'data':_0x3d748a};const _0x130e0d=_0x3d748a[_0x2565b0(0x1d6)]?await getDbName(_0x35a2c8[_0x2565b0(0x1e0)],_0x3d748a[_0x2565b0(0x1d6)]):undefined;return{'ok':!![],'data':{'sqlCode':_0x3d748a[_0x2565b0(0x1de)],'sqlName':_0x3d748a['sqlName'],'db':_0x130e0d?_0x130e0d+'\x20('+_0x3d748a['dbId']+')':_0x3d748a['dbId']??'','description':_0x3d748a[_0x2565b0(0x1e1)]??'','sqlContent':_0x3d748a['sqlContent']??''}};}};
|
package/lib/commands/sql/exec.js
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
|
|
1
|
+
const a117_0x208b90=a117_0xffce;(function(_0x16eaef,_0x4ff566){const _0x3892b1=a117_0xffce,_0x56214c=_0x16eaef();while(!![]){try{const _0x15ade5=-parseInt(_0x3892b1(0xb8))/0x1+-parseInt(_0x3892b1(0xc8))/0x2+parseInt(_0x3892b1(0xb9))/0x3*(parseInt(_0x3892b1(0xcd))/0x4)+-parseInt(_0x3892b1(0xc0))/0x5+parseInt(_0x3892b1(0xbe))/0x6*(parseInt(_0x3892b1(0xcc))/0x7)+parseInt(_0x3892b1(0xc4))/0x8*(parseInt(_0x3892b1(0xc3))/0x9)+-parseInt(_0x3892b1(0xb5))/0xa*(-parseInt(_0x3892b1(0xc7))/0xb);if(_0x15ade5===_0x4ff566)break;else _0x56214c['push'](_0x56214c['shift']());}catch(_0x4b0be5){_0x56214c['push'](_0x56214c['shift']());}}}(a117_0x37dd,0x6b827));function a117_0xffce(_0x5bb875,_0x1a4073){_0x5bb875=_0x5bb875-0xb5;const _0x37dd2e=a117_0x37dd();let _0xffceb1=_0x37dd2e[_0x5bb875];return _0xffceb1;}import{executeSql}from'../../core/api-client.js';function a117_0x37dd(){const _0x42f5cd=['sqlcode','sql','params','91uubyfq','8940OsOIMr','47870tFlBrc','SQL\x20parameters\x20as\x20JSON\x20string\x20(e.g.\x20\x27{\x22key\x22:\x22value\x22}\x27)','SQL\x20execution\x20failed','258004EvfYRv','222hutzJK','now','length','string','Returned\x20','308874FaeRpl','exec','255515abGhwY','execResult','appCode','81ELPyDl','410776KkLYyB','\x20row(s)\x20in\x20','str','66QtMjMZ','1151992kyeVJh'];a117_0x37dd=function(){return _0x42f5cd;};return a117_0x37dd();}import{SQLCODE_FLAG}from'../../commands/common/flags.js';import{parseJsonParams}from'../../utils/params.js';export const sqlExec={'service':a117_0x208b90(0xca),'command':a117_0x208b90(0xbf),'description':'Execute\x20a\x20custom\x20SQL\x20query\x20by\x20sqlCode','risk':'read','flags':[SQLCODE_FLAG,{'name':a117_0x208b90(0xcb),'type':a117_0x208b90(0xbc),'description':a117_0x208b90(0xb6)}],async 'execute'(_0x2af5e8){const _0x51fb0d=a117_0x208b90,_0x14dbe7=parseJsonParams(_0x2af5e8[_0x51fb0d(0xc6)](_0x51fb0d(0xcb))),_0x1c537a=Date['now'](),_0x21ff7a=await executeSql(_0x2af5e8[_0x51fb0d(0xc2)],_0x2af5e8['str'](_0x51fb0d(0xc9)),_0x14dbe7),_0x4d003f=Date[_0x51fb0d(0xba)]()-_0x1c537a,_0x4a0578=_0x21ff7a?.[_0x51fb0d(0xc1)]??_0x21ff7a,_0x3b1fbf=_0x21ff7a?.['execSuccess']??!![];if(!_0x3b1fbf)return{'ok':![],'data':{'error':_0x21ff7a?.['execError']||_0x51fb0d(0xb7),'elapsed':_0x4d003f},'message':'SQL\x20execution\x20failed'};const _0x59b23b=Array['isArray'](_0x4a0578)?_0x4a0578:[];return{'ok':!![],'data':{'rows':_0x59b23b,'rowCount':_0x59b23b[_0x51fb0d(0xbb)],'elapsed':_0x4d003f},'message':_0x51fb0d(0xbd)+_0x59b23b[_0x51fb0d(0xbb)]+_0x51fb0d(0xc5)+_0x4d003f+'ms'};}};
|
|
@@ -1 +1 @@
|
|
|
1
|
-
(function(
|
|
1
|
+
(function(_0x3c3e5a,_0x2664d3){const _0x378b51=a118_0x58ef,_0x588c54=_0x3c3e5a();while(!![]){try{const _0x5a0af7=parseInt(_0x378b51(0x171))/0x1*(-parseInt(_0x378b51(0x175))/0x2)+parseInt(_0x378b51(0x172))/0x3*(parseInt(_0x378b51(0x178))/0x4)+parseInt(_0x378b51(0x174))/0x5+parseInt(_0x378b51(0x177))/0x6*(parseInt(_0x378b51(0x176))/0x7)+-parseInt(_0x378b51(0x170))/0x8+-parseInt(_0x378b51(0x16f))/0x9*(parseInt(_0x378b51(0x173))/0xa)+-parseInt(_0x378b51(0x179))/0xb;if(_0x5a0af7===_0x2664d3)break;else _0x588c54['push'](_0x588c54['shift']());}catch(_0x4d1a6c){_0x588c54['push'](_0x588c54['shift']());}}}(a118_0x2314,0x890e5));import{sqlList}from'../../commands/sql/list.js';function a118_0x58ef(_0x7eae71,_0x35b51a){_0x7eae71=_0x7eae71-0x16f;const _0x2314c0=a118_0x2314();let _0x58ef7a=_0x2314c0[_0x7eae71];return _0x58ef7a;}import{sqlDetail}from'../../commands/sql/detail.js';import{sqlValidate}from'../../commands/sql/validate.js';import{sqlSave}from'../../commands/sql/save.js';import{sqlExec}from'../../commands/sql/exec.js';import{sqlPull}from'../../commands/sql/pull.js';import{sqlCreate}from'../../commands/sql/create.js';import{sqlStatus}from'../../commands/sql/status.js';import{sqlPush}from'../../commands/sql/push.js';import{sqlDelete}from'../../commands/sql/delete.js';function a118_0x2314(){const _0x1ee9c6=['26643ysDvCV','1110WJyKZR','2837625IzwlTw','852386FSlOQk','7eFdQUu','4402446dlTPZV','396bFpmGO','6461048sSBPzR','38520WuwbiQ','1043704LFZqtm','1DkYLUG'];a118_0x2314=function(){return _0x1ee9c6;};return a118_0x2314();}export const sqlDefinitions=[sqlList,sqlDetail,sqlStatus,sqlCreate,sqlPush,sqlValidate,sqlSave,sqlExec,sqlPull,sqlDelete];
|
package/lib/commands/sql/list.js
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
|
|
1
|
+
const a119_0x4f2f13=a119_0x429e;(function(_0x4d109d,_0x5eccbc){const _0x2ae993=a119_0x429e,_0x48a3e3=_0x4d109d();while(!![]){try{const _0x505b07=-parseInt(_0x2ae993(0xee))/0x1+parseInt(_0x2ae993(0xe6))/0x2*(parseInt(_0x2ae993(0xf6))/0x3)+-parseInt(_0x2ae993(0xf1))/0x4*(-parseInt(_0x2ae993(0xfe))/0x5)+parseInt(_0x2ae993(0xfa))/0x6+-parseInt(_0x2ae993(0x107))/0x7+-parseInt(_0x2ae993(0xfd))/0x8+-parseInt(_0x2ae993(0xf5))/0x9*(-parseInt(_0x2ae993(0xeb))/0xa);if(_0x505b07===_0x5eccbc)break;else _0x48a3e3['push'](_0x48a3e3['shift']());}catch(_0x429201){_0x48a3e3['push'](_0x48a3e3['shift']());}}}(a119_0x2231,0x3e6e3));import{listSqlQueries}from'../../core/api-client.js';import{getDbName}from'../../core/db-resolver.js';function a119_0x2231(){const _0x5779f3=['name','3094511KEFmQU','pagesize','list','map','sql','192130aoxBMr','num','List\x20custom\x20SQL\x20queries','string','page','5576280ifKtxe','Filter\x20by\x20SQL\x20name','totalCount','174747vNEcan','dbId','bool','4qGJKWE','Page\x20size','Return\x20full\x20SQL\x20query\x20objects\x20including\x20parameters\x20and\x20SQL\x20content','verbose','9veMJFY','12LsxgZI','sqlCode','No\x20custom\x20SQL\x20queries\x20found.','length','1534656GcKXMR','boolean','read','3197944veBiPP','373070qlxetb','number','sqlcode','\x20SQL\x20queries\x20(total:\x20','tableData','all','Page\x20number','appCode'];a119_0x2231=function(){return _0x5779f3;};return a119_0x2231();}function a119_0x429e(_0x20caec,_0x39d477){_0x20caec=_0x20caec-0xe2;const _0x22317b=a119_0x2231();let _0x429ec7=_0x22317b[_0x20caec];return _0x429ec7;}import{SQLCODE_FLAG_OPTIONAL}from'../../commands/common/flags.js';export const sqlList={'service':a119_0x4f2f13(0xe5),'command':a119_0x4f2f13(0xe3),'description':a119_0x4f2f13(0xe8),'risk':a119_0x4f2f13(0xfc),'flags':[SQLCODE_FLAG_OPTIONAL,{'name':a119_0x4f2f13(0x106),'type':a119_0x4f2f13(0xe9),'description':a119_0x4f2f13(0xec)},{'name':a119_0x4f2f13(0xea),'type':a119_0x4f2f13(0xff),'description':a119_0x4f2f13(0x104),'default':0x1},{'name':'pagesize','type':a119_0x4f2f13(0xff),'description':a119_0x4f2f13(0xf2)},{'name':a119_0x4f2f13(0xf4),'type':a119_0x4f2f13(0xfb),'description':a119_0x4f2f13(0xf3)}],async 'execute'(_0x564a4d){const _0x404ba=a119_0x4f2f13,_0x107890=await listSqlQueries(_0x564a4d[_0x404ba(0x105)],{'sqlCode':_0x564a4d['str'](_0x404ba(0x100))||undefined,'sqlName':_0x564a4d['str'](_0x404ba(0x106))||undefined,'currentPage':_0x564a4d[_0x404ba(0xe7)](_0x404ba(0xea)),'pageSize':_0x564a4d[_0x404ba(0xe7)](_0x404ba(0xe2),0x32)}),_0x37d278=_0x564a4d[_0x404ba(0xf0)](_0x404ba(0xf4)),_0x3280af=_0x107890[_0x404ba(0x102)]??[],_0x438797=_0x107890['paging']?.[_0x404ba(0xed)]??_0x3280af[_0x404ba(0xf9)];let _0x1c3836;return _0x37d278?_0x1c3836=_0x3280af:_0x1c3836=await Promise[_0x404ba(0x103)](_0x3280af[_0x404ba(0xe4)](async _0x5182b1=>{const _0xd23202=_0x404ba;let _0x1955c0;try{_0x1955c0=_0x5182b1['dbId']?await getDbName(_0x564a4d['appCode'],_0x5182b1[_0xd23202(0xef)]):undefined;}catch{}return{'sqlCode':_0x5182b1[_0xd23202(0xf7)],'sqlName':_0x5182b1['sqlName'],'description':_0x5182b1['description']??'','db':_0x1955c0?_0x1955c0+'\x20('+_0x5182b1['dbId']+')':_0x5182b1[_0xd23202(0xef)]??''};})),{'ok':!![],'data':_0x1c3836,'message':_0x3280af[_0x404ba(0xf9)]===0x0?_0x404ba(0xf8):'Found\x20'+_0x3280af[_0x404ba(0xf9)]+_0x404ba(0x101)+_0x438797+').'};}};
|
package/lib/commands/sql/pull.js
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
function a120_0x28ec(){const _0x219bde=['279232jpVobP','19449QCmaPu','Force\x20overwrite\x20local\x20unsynced\x20changes','Force\x20pull\x20will\x20overwrite\x20local\x20SQL\x20that\x20differs\x20from\x20remote.','boolean','description','join','498rYqRiD','POST','appCode','toISOString','bool','Filter\x20by\x20SQL\x20display\x20name','lockFilePath','lastSync','skipped','apps','1554800cnOOyR','sql','No\x20remote\x20SQL\x20queries\x20matched.','sqlName','replace','sqlRootDir','sqlCode','11963rPFTxK','74082VrTLPt','push','Pull\x20complete:\x20','length','unchanged','/smartapi/custom/queryUserCustomSqlList\x20+\x20/smartapi/custom/getUserCustomSql','Would\x20pull\x20','test','trimStart','Force\x20pull\x20cancelled.','local\x20differs\x20from\x20remote','\x20skipped,\x20','nonInteractive','name','catch','mybatisXml','local\x20differs\x20from\x20remote\x20(use\x20--force\x20to\x20overwrite)','filter','130PxVNZj','4wXVMEi','sqlcode','sqls','paging','str','would_pull','35876pnRtUT','85lrODQy','write','sqlRoot','path','utf8','\x20failed','4113395SFDsfq','Pull\x20remote\x20SQL\x20queries\x20to\x20local\x20.rabetbase/sql/','sqlContent','dbId','\x20written,\x20','conflict','string','pull'];a120_0x28ec=function(){return _0x219bde;};return a120_0x28ec();}const a120_0x5b5265=a120_0x47fb;(function(_0x34ad0f,_0x18df49){const _0x20af07=a120_0x47fb,_0x498bb8=_0x34ad0f();while(!![]){try{const _0x51ff04=parseInt(_0x20af07(0x17d))/0x1+-parseInt(_0x20af07(0x1a9))/0x2*(parseInt(_0x20af07(0x196))/0x3)+-parseInt(_0x20af07(0x1af))/0x4*(parseInt(_0x20af07(0x1b0))/0x5)+-parseInt(_0x20af07(0x184))/0x6*(parseInt(_0x20af07(0x195))/0x7)+-parseInt(_0x20af07(0x18e))/0x8+-parseInt(_0x20af07(0x17e))/0x9*(-parseInt(_0x20af07(0x1a8))/0xa)+parseInt(_0x20af07(0x175))/0xb;if(_0x51ff04===_0x18df49)break;else _0x498bb8['push'](_0x498bb8['shift']());}catch(_0x373da1){_0x498bb8['push'](_0x498bb8['shift']());}}}(a120_0x28ec,0x22f6c));import{readFile,rm,writeFile}from'node:fs/promises';import{join}from'node:path';function a120_0x47fb(_0x5d2be6,_0x8e40ff){_0x5d2be6=_0x5d2be6-0x175;const _0x28ec8e=a120_0x28ec();let _0x47fb3f=_0x28ec8e[_0x5d2be6];return _0x47fb3f;}import{getSqlQueryDetail,listSqlQueries}from'../../core/api-client.js';import{ensureParentDirectory,fileExists}from'../../core/bff/file-system.js';import{getDbName}from'../../core/db-resolver.js';import{loadSqlProjectConfig}from'../../core/sql-sync/config.js';import{computeSqlContentHash}from'../../core/sql-sync/hash.js';import{createEmptySqlLock,ensureSqlLockScope,readSqlLockFile,writeSqlLockFile}from'../../core/sql-sync/lock.js';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(_0x5586ee,_0x11a94f){const _0x493b2c=a120_0x47fb,_0x44aecb=[];let _0x212155=0x1;while(!![]){const _0x1b9fba=await listSqlQueries(_0x5586ee,{'currentPage':_0x212155,'pageSize':PAGE_SIZE,'sqlCode':_0x11a94f[_0x493b2c(0x194)],'sqlName':_0x11a94f[_0x493b2c(0x191)]}),_0x540565=_0x1b9fba['tableData']??[];_0x44aecb[_0x493b2c(0x197)](..._0x540565);if(_0x540565[_0x493b2c(0x199)]===0x0)break;const _0x25924e=_0x1b9fba[_0x493b2c(0x1ac)]?.['totalCount'];if(_0x25924e!=null?_0x44aecb[_0x493b2c(0x199)]>=_0x25924e:_0x540565[_0x493b2c(0x199)]<PAGE_SIZE)break;_0x212155++;}return _0x44aecb;}async function ensureSqlContent(_0x2f5957){const _0x4e7696=a120_0x47fb;if(_0x2f5957[_0x4e7696(0x177)]!=null&&String(_0x2f5957[_0x4e7696(0x177)])[_0x4e7696(0x199)]>0x0)return _0x2f5957;return getSqlQueryDetail(_0x2f5957[_0x4e7696(0x194)]);}export const sqlPull={'service':'sql','command':a120_0x5b5265(0x17c),'description':a120_0x5b5265(0x176),'risk':a120_0x5b5265(0x1b1),'flags':[SQLCODE_FLAG_OPTIONAL,{'name':a120_0x5b5265(0x1a3),'type':a120_0x5b5265(0x17b),'description':a120_0x5b5265(0x189)},{'name':'force','type':a120_0x5b5265(0x181),'description':a120_0x5b5265(0x17f)}],async 'dryRun'(_0x1163e6){const _0x21e039=a120_0x5b5265,_0x291abc=loadSqlProjectConfig(_0x1163e6[_0x21e039(0x186)]),_0x42c3b2=await readSqlLockFile(_0x291abc[_0x21e039(0x18a)]),{appLock:_0x1f37e6}=ensureSqlLockScope(_0x42c3b2??createEmptySqlLock(),_0x291abc[_0x21e039(0x186)],_0x291abc['sqlRoot'],_0x21e039(0x17c)),_0xecb83a=await fetchAllSqlQueries(_0x1163e6[_0x21e039(0x186)],{'sqlCode':_0x1163e6['str']('sqlcode')||undefined,'sqlName':_0x1163e6[_0x21e039(0x1ad)]('name')||undefined}),_0x1f0165=[];for(const _0x3cb94a of _0xecb83a){const _0x477dc7=await ensureSqlContent(_0x3cb94a),_0x37a7e2=ensureRemoteSqlContent(_0x477dc7),_0x3d92b4=detectModeFromSql(_0x477dc7),_0x5898ef=_0x477dc7['dbId']?await getDbName(_0x1163e6[_0x21e039(0x186)],Number(_0x477dc7['dbId']))[_0x21e039(0x1a4)](()=>undefined):undefined,_0x442692=buildLocalSqlFileContent({'sqlCode':_0x477dc7[_0x21e039(0x194)],'sqlName':_0x477dc7[_0x21e039(0x191)],'dbId':_0x477dc7[_0x21e039(0x178)]},_0x37a7e2,{'dbName':_0x5898ef,'mode':_0x3d92b4,'syncedAt':new Date()[_0x21e039(0x187)](),'description':_0x477dc7[_0x21e039(0x182)]}),_0x472c27=buildSqlLockEntry(_0x477dc7,_0x37a7e2,'',{'dbName':_0x5898ef}),_0x14e9cc=resolveLocalSqlFilePath(_0x291abc,_0x477dc7[_0x21e039(0x194)],_0x472c27);let _0x17db02=_0x21e039(0x1ae),_0x189cc8;if(await fileExists(_0x14e9cc)){const _0x491491=await readFile(_0x14e9cc,_0x21e039(0x1b4));isEquivalentPulledSqlFile(_0x491491,_0x442692,_0x3d92b4)?(_0x17db02=_0x21e039(0x18c),_0x189cc8='unchanged'):(_0x17db02=_0x21e039(0x17a),_0x189cc8=_0x21e039(0x1a6));}_0x1f0165[_0x21e039(0x197)]({'sqlCode':_0x477dc7[_0x21e039(0x194)],'sqlName':_0x477dc7['sqlName'],'filePath':_0x14e9cc,'status':_0x17db02,'reason':_0x189cc8});}return{'method':_0x21e039(0x185),'url':_0x21e039(0x19b),'body':{'appCode':_0x1163e6[_0x21e039(0x186)],'sqlCode':_0x1163e6[_0x21e039(0x1ad)]('sqlcode')||null,'sqlName':_0x1163e6[_0x21e039(0x1ad)](_0x21e039(0x1a3))||null,'files':_0x1f0165},'description':_0x21e039(0x19c)+_0x1f0165['length']+'\x20SQL\x20file(s)\x20into\x20'+_0x291abc['sqlRootDir']};},async 'execute'(_0x5ca377){const _0x2b04c5=a120_0x5b5265,_0x4f5355=loadSqlProjectConfig(_0x5ca377[_0x2b04c5(0x186)]),_0x47384b=await readSqlLockFile(_0x4f5355[_0x2b04c5(0x18a)]),{lockData:_0x2bb963,appLock:_0x3c1f91}=ensureSqlLockScope(_0x47384b??createEmptySqlLock(),_0x4f5355[_0x2b04c5(0x186)],_0x4f5355[_0x2b04c5(0x1b2)],_0x2b04c5(0x17c)),_0x3299d8=_0x5ca377[_0x2b04c5(0x188)]('force'),_0x26cc00=await fetchAllSqlQueries(_0x5ca377['appCode'],{'sqlCode':_0x5ca377[_0x2b04c5(0x1ad)](_0x2b04c5(0x1aa))||undefined,'sqlName':_0x5ca377[_0x2b04c5(0x1ad)](_0x2b04c5(0x1a3))||undefined});if(_0x26cc00['length']===0x0)return{'ok':!![],'data':{'pulled':[],'skipped':[],'failed':[]},'message':_0x2b04c5(0x190)};const _0x46cf1d=[],_0x43e4c1=[];for(const _0x5b2b22 of _0x26cc00){try{_0x46cf1d['push'](await ensureSqlContent(_0x5b2b22));}catch(_0x9ad96){_0x43e4c1[_0x2b04c5(0x197)]({'sqlCode':_0x5b2b22[_0x2b04c5(0x194)],'error':_0x9ad96 instanceof Error?_0x9ad96['message']:String(_0x9ad96)});}}if(_0x3299d8&&!_0x5ca377[_0x2b04c5(0x1a2)]){let _0xa2b9ef=![];for(const _0x5ea3d8 of _0x46cf1d){const _0x1e5f9e=detectModeFromSql(_0x5ea3d8),_0x5ce561=_0x5ea3d8[_0x2b04c5(0x178)]?await getDbName(_0x5ca377[_0x2b04c5(0x186)],Number(_0x5ea3d8[_0x2b04c5(0x178)]))[_0x2b04c5(0x1a4)](()=>undefined):undefined,_0x1a71b0=buildLocalSqlFileContent({'sqlCode':_0x5ea3d8[_0x2b04c5(0x194)],'sqlName':_0x5ea3d8[_0x2b04c5(0x191)],'dbId':_0x5ea3d8[_0x2b04c5(0x178)]},ensureRemoteSqlContent(_0x5ea3d8),{'dbName':_0x5ce561,'mode':_0x1e5f9e,'syncedAt':new Date()[_0x2b04c5(0x187)](),'description':_0x5ea3d8[_0x2b04c5(0x182)]}),_0x5c402b=resolveLocalSqlFilePath(_0x4f5355,_0x5ea3d8['sqlCode'],buildSqlLockEntry(_0x5ea3d8,ensureRemoteSqlContent(_0x5ea3d8),'',{'dbName':_0x5ce561}));if(await fileExists(_0x5c402b)){const _0x4057b3=await readFile(_0x5c402b,'utf8');if(!isEquivalentPulledSqlFile(_0x4057b3,_0x1a71b0,_0x1e5f9e)){_0xa2b9ef=!![];break;}}}if(_0xa2b9ef){const _0x3f6a45=await confirmForceOverwrite(_0x2b04c5(0x180));if(!_0x3f6a45)throw CliErrors['cancelled'](_0x2b04c5(0x19f));}}const _0x53de49=cloneSqlLockData(_0x2bb963),_0x3e2214=_0x53de49[_0x2b04c5(0x18d)][_0x4f5355[_0x2b04c5(0x186)]],_0x47d5e0=[],_0x2acf69=[];for(const _0x109307 of _0x46cf1d){const _0x450cc7=_0x3e2214[_0x2b04c5(0x1ab)][_0x109307[_0x2b04c5(0x194)]],_0x432f5b=ensureRemoteSqlContent(_0x109307),_0x502413=detectModeFromSql(_0x109307),_0x358ac7=_0x109307['dbId']?await getDbName(_0x5ca377['appCode'],Number(_0x109307['dbId']))['catch'](()=>undefined):undefined,_0x51f15a=buildLocalSqlFileContent({'sqlCode':_0x109307[_0x2b04c5(0x194)],'sqlName':_0x109307['sqlName'],'dbId':_0x109307[_0x2b04c5(0x178)]},_0x432f5b,{'dbName':_0x358ac7,'mode':_0x502413,'syncedAt':new Date()[_0x2b04c5(0x187)](),'description':_0x109307[_0x2b04c5(0x182)]}),_0x3d0f0a=buildSqlLockEntry(_0x109307,_0x432f5b,computeSqlContentHash(_0x51f15a),{'dbName':_0x358ac7}),_0x3b1d48=_0x3d0f0a[_0x2b04c5(0x1b3)],_0x322547=join(_0x4f5355[_0x2b04c5(0x193)],_0x3b1d48);try{if(await fileExists(_0x322547)){const _0x3ae9f8=await readFile(_0x322547,'utf8');if(isEquivalentPulledSqlFile(_0x3ae9f8,_0x51f15a,_0x502413)){_0x2acf69['push']({'sqlCode':_0x109307['sqlCode'],'reason':_0x2b04c5(0x19a)}),_0x3e2214['sqls'][_0x109307[_0x2b04c5(0x194)]]={..._0x3d0f0a,'hash':computeSqlContentHash(_0x3ae9f8),'path':_0x3b1d48};continue;}if(!_0x3299d8){_0x2acf69[_0x2b04c5(0x197)]({'sqlCode':_0x109307[_0x2b04c5(0x194)],'reason':_0x2b04c5(0x1a0)});continue;}}const _0x15c469=_0x450cc7?.[_0x2b04c5(0x1b3)]?join(_0x4f5355[_0x2b04c5(0x193)],_0x450cc7[_0x2b04c5(0x1b3)]):undefined;_0x15c469&&_0x15c469!==_0x322547&&await fileExists(_0x15c469)&&await rm(_0x15c469,{'force':!![]}),await ensureParentDirectory(_0x322547),await writeFile(_0x322547,_0x51f15a,_0x2b04c5(0x1b4)),_0x3e2214['sqls'][_0x109307[_0x2b04c5(0x194)]]={..._0x3d0f0a,'path':_0x3b1d48},_0x47d5e0[_0x2b04c5(0x197)]({'sqlCode':_0x109307[_0x2b04c5(0x194)],'filePath':_0x322547});}catch(_0x2f542b){_0x43e4c1[_0x2b04c5(0x197)]({'sqlCode':_0x109307[_0x2b04c5(0x194)],'error':_0x2f542b instanceof Error?_0x2f542b['message']:String(_0x2f542b)});}}return _0x3e2214[_0x2b04c5(0x18b)]=new Date()['toISOString'](),await writeSqlLockFile(_0x4f5355[_0x2b04c5(0x18a)],_0x53de49),{'ok':_0x43e4c1[_0x2b04c5(0x199)]===0x0,'data':{'pulled':_0x47d5e0,'skipped':_0x2acf69,'failed':_0x43e4c1},'message':_0x2b04c5(0x198)+_0x47d5e0[_0x2b04c5(0x199)]+_0x2b04c5(0x179)+_0x2acf69['length']+_0x2b04c5(0x1a1)+_0x43e4c1[_0x2b04c5(0x199)]+_0x2b04c5(0x1b5)};}};function detectModeFromSql(_0x5e2a25){const _0x5108dd=a120_0x5b5265,_0x5abcbc=ensureRemoteSqlContent(_0x5e2a25),_0x1b53e6=stripLocalSqlMetadata(_0x5abcbc,_0x5108dd(0x1a5))[_0x5108dd(0x19e)]();if(/^<(select|insert|update|delete)\b/i[_0x5108dd(0x19d)](_0x1b53e6))return _0x5108dd(0x1a5);return _0x5108dd(0x18f);}function isEquivalentPulledSqlFile(_0xab58fe,_0x38a4da,_0x3c1e2e){return normalizePullComparableContent(_0xab58fe,_0x3c1e2e)===normalizePullComparableContent(_0x38a4da,_0x3c1e2e);}function normalizePullComparableContent(_0x1e507b,_0x489231){const _0x42cdc2=a120_0x5b5265,_0x4b8e8c=_0x1e507b[_0x42cdc2(0x192)](/\r\n/g,'\x0a')['split']('\x0a'),_0x42da1a=_0x4b8e8c[_0x42cdc2(0x1a7)](_0xd17786=>!isSyncedAtMetadataLine(_0xd17786,_0x489231));return _0x42da1a[_0x42cdc2(0x183)]('\x0a');}function isSyncedAtMetadataLine(_0x4a194c,_0x5eee3f){const _0x496a3a=a120_0x5b5265;if(_0x5eee3f==='mybatisXml')return/^\s*<!--\s*@lovrabet\.syncedAt:/[_0x496a3a(0x19d)](_0x4a194c);return/^\s*--\s*@lovrabet\.syncedAt:/['test'](_0x4a194c);}
|
|
1
|
+
const a120_0x5bda34=a120_0x3f66;(function(_0x2a9746,_0xc5633c){const _0x240a83=a120_0x3f66,_0x5115c4=_0x2a9746();while(!![]){try{const _0x46d33b=parseInt(_0x240a83(0x20d))/0x1*(-parseInt(_0x240a83(0x1e7))/0x2)+-parseInt(_0x240a83(0x1e6))/0x3+parseInt(_0x240a83(0x201))/0x4+-parseInt(_0x240a83(0x1e5))/0x5+-parseInt(_0x240a83(0x225))/0x6*(parseInt(_0x240a83(0x204))/0x7)+parseInt(_0x240a83(0x1eb))/0x8*(-parseInt(_0x240a83(0x1fb))/0x9)+parseInt(_0x240a83(0x223))/0xa;if(_0x46d33b===_0xc5633c)break;else _0x5115c4['push'](_0x5115c4['shift']());}catch(_0x48d81f){_0x5115c4['push'](_0x5115c4['shift']());}}}(a120_0x3794,0xc9a34));import{readFile,rm,writeFile}from'node:fs/promises';import{join}from'node:path';import{getSqlQueryDetail,listSqlQueries}from'../../core/api-client.js';function a120_0x3f66(_0x224227,_0x4a62ba){_0x224227=_0x224227-0x1e3;const _0x3794dd=a120_0x3794();let _0x3f6607=_0x3794dd[_0x224227];return _0x3f6607;}import{ensureParentDirectory,fileExists}from'../../core/bff/file-system.js';import{getDbName}from'../../core/db-resolver.js';import{loadSqlProjectConfig}from'../../core/sql-sync/config.js';import{computeSqlContentHash}from'../../core/sql-sync/hash.js';import{createEmptySqlLock,ensureSqlLockScope,readSqlLockFile,writeSqlLockFile}from'../../core/sql-sync/lock.js';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(_0x453d42,_0x11f6b3){const _0x38d57c=a120_0x3f66,_0x330d38=[];let _0xa6680a=0x1;while(!![]){const _0x82a2ba=await listSqlQueries(_0x453d42,{'currentPage':_0xa6680a,'pageSize':PAGE_SIZE,'sqlCode':_0x11f6b3[_0x38d57c(0x1f8)],'sqlName':_0x11f6b3[_0x38d57c(0x1f4)]}),_0xc1f96c=_0x82a2ba['tableData']??[];_0x330d38[_0x38d57c(0x210)](..._0xc1f96c);if(_0xc1f96c[_0x38d57c(0x208)]===0x0)break;const _0xfbadd3=_0x82a2ba[_0x38d57c(0x220)]?.[_0x38d57c(0x1f0)];if(_0xfbadd3!=null?_0x330d38[_0x38d57c(0x208)]>=_0xfbadd3:_0xc1f96c[_0x38d57c(0x208)]<PAGE_SIZE)break;_0xa6680a++;}return _0x330d38;}async function ensureSqlContent(_0x57439c){const _0x23bfac=a120_0x3f66;if(_0x57439c[_0x23bfac(0x218)]!=null&&String(_0x57439c[_0x23bfac(0x218)])[_0x23bfac(0x208)]>0x0)return _0x57439c;return getSqlQueryDetail(_0x57439c[_0x23bfac(0x1f8)]);}export const sqlPull={'service':'sql','command':'pull','description':a120_0x5bda34(0x1ee),'risk':a120_0x5bda34(0x214),'flags':[SQLCODE_FLAG_OPTIONAL,{'name':a120_0x5bda34(0x216),'type':a120_0x5bda34(0x21d),'description':a120_0x5bda34(0x1fd)},{'name':a120_0x5bda34(0x1f2),'type':a120_0x5bda34(0x1f9),'description':a120_0x5bda34(0x222)}],async 'dryRun'(_0x382cbf){const _0x330a03=a120_0x5bda34,_0x46a784=loadSqlProjectConfig(_0x382cbf[_0x330a03(0x1f5)]),_0x42a900=await readSqlLockFile(_0x46a784['lockFilePath']),{appLock:_0x189f7c}=ensureSqlLockScope(_0x42a900??createEmptySqlLock(),_0x46a784[_0x330a03(0x1f5)],_0x46a784[_0x330a03(0x21a)],_0x330a03(0x1ff)),_0x406fb5=await fetchAllSqlQueries(_0x382cbf[_0x330a03(0x1f5)],{'sqlCode':_0x382cbf['str'](_0x330a03(0x219))||undefined,'sqlName':_0x382cbf[_0x330a03(0x1ef)](_0x330a03(0x216))||undefined}),_0x532913=[];for(const _0x19d590 of _0x406fb5){const _0x18255f=await ensureSqlContent(_0x19d590),_0x5bcfe6=ensureRemoteSqlContent(_0x18255f),_0x43ebb5=detectModeFromSql(_0x18255f),_0x3a122d=_0x18255f[_0x330a03(0x1e4)]?await getDbName(_0x382cbf['appCode'],Number(_0x18255f[_0x330a03(0x1e4)]))[_0x330a03(0x215)](()=>undefined):undefined,_0xe05460=buildLocalSqlFileContent({'sqlCode':_0x18255f[_0x330a03(0x1f8)],'sqlName':_0x18255f[_0x330a03(0x1f4)],'dbId':_0x18255f[_0x330a03(0x1e4)]},_0x5bcfe6,{'dbName':_0x3a122d,'mode':_0x43ebb5,'syncedAt':new Date()[_0x330a03(0x209)](),'description':_0x18255f[_0x330a03(0x20b)]}),_0x344e04=buildSqlLockEntry(_0x18255f,_0x5bcfe6,'',{'dbName':_0x3a122d}),_0x5e105b=resolveLocalSqlFilePath(_0x46a784,_0x18255f['sqlCode'],_0x344e04);let _0x5dfb3e=_0x330a03(0x202),_0x4b506a;if(await fileExists(_0x5e105b)){const _0x4974d3=await readFile(_0x5e105b,_0x330a03(0x1f7));isEquivalentPulledSqlFile(_0x4974d3,_0xe05460,_0x43ebb5)?(_0x5dfb3e=_0x330a03(0x217),_0x4b506a=_0x330a03(0x1fe)):(_0x5dfb3e=_0x330a03(0x207),_0x4b506a=_0x330a03(0x205));}_0x532913['push']({'sqlCode':_0x18255f[_0x330a03(0x1f8)],'sqlName':_0x18255f[_0x330a03(0x1f4)],'filePath':_0x5e105b,'status':_0x5dfb3e,'reason':_0x4b506a});}return{'method':_0x330a03(0x1fa),'url':'/smartapi/custom/queryUserCustomSqlList\x20+\x20/smartapi/custom/getUserCustomSql','body':{'appCode':_0x382cbf[_0x330a03(0x1f5)],'sqlCode':_0x382cbf[_0x330a03(0x1ef)](_0x330a03(0x219))||null,'sqlName':_0x382cbf[_0x330a03(0x1ef)](_0x330a03(0x216))||null,'files':_0x532913},'description':'Would\x20pull\x20'+_0x532913[_0x330a03(0x208)]+_0x330a03(0x1e9)+_0x46a784[_0x330a03(0x1f1)]};},async 'execute'(_0x4b749d){const _0x31579c=a120_0x5bda34,_0x289249=loadSqlProjectConfig(_0x4b749d[_0x31579c(0x1f5)]),_0x41b30a=await readSqlLockFile(_0x289249[_0x31579c(0x1f3)]),{lockData:_0x3a116d,appLock:_0x300120}=ensureSqlLockScope(_0x41b30a??createEmptySqlLock(),_0x289249[_0x31579c(0x1f5)],_0x289249[_0x31579c(0x21a)],_0x31579c(0x1ff)),_0x422c2d=_0x4b749d[_0x31579c(0x221)](_0x31579c(0x1f2)),_0x4d7bcc=await fetchAllSqlQueries(_0x4b749d[_0x31579c(0x1f5)],{'sqlCode':_0x4b749d[_0x31579c(0x1ef)](_0x31579c(0x219))||undefined,'sqlName':_0x4b749d[_0x31579c(0x1ef)](_0x31579c(0x216))||undefined});if(_0x4d7bcc[_0x31579c(0x208)]===0x0)return{'ok':!![],'data':{'pulled':[],'skipped':[],'failed':[]},'message':_0x31579c(0x21c)};const _0x5133d1=[],_0x2ea1b1=[];for(const _0x578c53 of _0x4d7bcc){try{_0x5133d1['push'](await ensureSqlContent(_0x578c53));}catch(_0x579d20){_0x2ea1b1[_0x31579c(0x210)]({'sqlCode':_0x578c53['sqlCode'],'error':_0x579d20 instanceof Error?_0x579d20[_0x31579c(0x1fc)]:String(_0x579d20)});}}if(_0x422c2d&&!_0x4b749d[_0x31579c(0x20c)]){let _0x183522=![];for(const _0x171793 of _0x5133d1){const _0x5ea632=detectModeFromSql(_0x171793),_0x1a0018=_0x171793[_0x31579c(0x1e4)]?await getDbName(_0x4b749d['appCode'],Number(_0x171793[_0x31579c(0x1e4)]))[_0x31579c(0x215)](()=>undefined):undefined,_0x2f8771=buildLocalSqlFileContent({'sqlCode':_0x171793[_0x31579c(0x1f8)],'sqlName':_0x171793[_0x31579c(0x1f4)],'dbId':_0x171793['dbId']},ensureRemoteSqlContent(_0x171793),{'dbName':_0x1a0018,'mode':_0x5ea632,'syncedAt':new Date()[_0x31579c(0x209)](),'description':_0x171793[_0x31579c(0x20b)]}),_0x40b6a1=resolveLocalSqlFilePath(_0x289249,_0x171793['sqlCode'],buildSqlLockEntry(_0x171793,ensureRemoteSqlContent(_0x171793),'',{'dbName':_0x1a0018}));if(await fileExists(_0x40b6a1)){const _0x4cff03=await readFile(_0x40b6a1,_0x31579c(0x1f7));if(!isEquivalentPulledSqlFile(_0x4cff03,_0x2f8771,_0x5ea632)){_0x183522=!![];break;}}}if(_0x183522){const _0xad85f2=await confirmForceOverwrite('Force\x20pull\x20will\x20overwrite\x20local\x20SQL\x20that\x20differs\x20from\x20remote.');if(!_0xad85f2)throw CliErrors[_0x31579c(0x1ec)](_0x31579c(0x1f6));}}const _0x226754=cloneSqlLockData(_0x3a116d),_0xcd2919=_0x226754[_0x31579c(0x200)][_0x289249[_0x31579c(0x1f5)]],_0x4275d0=[],_0x3ad743=[];for(const _0x4110cb of _0x5133d1){const _0x5c80d6=_0xcd2919['sqls'][_0x4110cb[_0x31579c(0x1f8)]],_0x53e275=ensureRemoteSqlContent(_0x4110cb),_0x42fa6a=detectModeFromSql(_0x4110cb),_0x57f5cf=_0x4110cb['dbId']?await getDbName(_0x4b749d[_0x31579c(0x1f5)],Number(_0x4110cb[_0x31579c(0x1e4)]))[_0x31579c(0x215)](()=>undefined):undefined,_0x4a2c32=buildLocalSqlFileContent({'sqlCode':_0x4110cb[_0x31579c(0x1f8)],'sqlName':_0x4110cb[_0x31579c(0x1f4)],'dbId':_0x4110cb[_0x31579c(0x1e4)]},_0x53e275,{'dbName':_0x57f5cf,'mode':_0x42fa6a,'syncedAt':new Date()[_0x31579c(0x209)](),'description':_0x4110cb[_0x31579c(0x20b)]}),_0xde1cb=buildSqlLockEntry(_0x4110cb,_0x53e275,computeSqlContentHash(_0x4a2c32),{'dbName':_0x57f5cf}),_0x30606f=_0xde1cb[_0x31579c(0x1e3)],_0x553850=join(_0x289249[_0x31579c(0x1f1)],_0x30606f);try{if(await fileExists(_0x553850)){const _0x5e23b4=await readFile(_0x553850,'utf8');if(isEquivalentPulledSqlFile(_0x5e23b4,_0x4a2c32,_0x42fa6a)){_0x3ad743[_0x31579c(0x210)]({'sqlCode':_0x4110cb[_0x31579c(0x1f8)],'reason':_0x31579c(0x1fe)}),_0xcd2919['sqls'][_0x4110cb[_0x31579c(0x1f8)]]={..._0xde1cb,'hash':computeSqlContentHash(_0x5e23b4),'path':_0x30606f};continue;}if(!_0x422c2d){_0x3ad743[_0x31579c(0x210)]({'sqlCode':_0x4110cb[_0x31579c(0x1f8)],'reason':_0x31579c(0x211)});continue;}}const _0x1eb960=_0x5c80d6?.[_0x31579c(0x1e3)]?join(_0x289249[_0x31579c(0x1f1)],_0x5c80d6['path']):undefined;_0x1eb960&&_0x1eb960!==_0x553850&&await fileExists(_0x1eb960)&&await rm(_0x1eb960,{'force':!![]}),await ensureParentDirectory(_0x553850),await writeFile(_0x553850,_0x4a2c32,_0x31579c(0x1f7)),_0xcd2919[_0x31579c(0x20e)][_0x4110cb[_0x31579c(0x1f8)]]={..._0xde1cb,'path':_0x30606f},_0x4275d0[_0x31579c(0x210)]({'sqlCode':_0x4110cb[_0x31579c(0x1f8)],'filePath':_0x553850});}catch(_0x934e7){_0x2ea1b1[_0x31579c(0x210)]({'sqlCode':_0x4110cb[_0x31579c(0x1f8)],'error':_0x934e7 instanceof Error?_0x934e7[_0x31579c(0x1fc)]:String(_0x934e7)});}}return _0xcd2919[_0x31579c(0x20a)]=new Date()[_0x31579c(0x209)](),await writeSqlLockFile(_0x289249[_0x31579c(0x1f3)],_0x226754),{'ok':_0x2ea1b1[_0x31579c(0x208)]===0x0,'data':{'pulled':_0x4275d0,'skipped':_0x3ad743,'failed':_0x2ea1b1},'message':_0x31579c(0x224)+_0x4275d0['length']+_0x31579c(0x21b)+_0x3ad743[_0x31579c(0x208)]+_0x31579c(0x1e8)+_0x2ea1b1[_0x31579c(0x208)]+_0x31579c(0x1ea)};}};function detectModeFromSql(_0x28a0ba){const _0x3174ac=a120_0x5bda34,_0x58fd97=ensureRemoteSqlContent(_0x28a0ba),_0x237e43=stripLocalSqlMetadata(_0x58fd97,'mybatisXml')[_0x3174ac(0x212)]();if(/^<(select|insert|update|delete)\b/i['test'](_0x237e43))return _0x3174ac(0x203);return _0x3174ac(0x213);}function a120_0x3794(){const _0x31d3b6=['72432VLlkSD','6NcQxTO','\x20skipped,\x20','\x20SQL\x20file(s)\x20into\x20','\x20failed','1432PZJIDD','cancelled','split','Pull\x20remote\x20SQL\x20queries\x20to\x20local\x20.rabetbase/sql/','str','totalCount','sqlRootDir','force','lockFilePath','sqlName','appCode','Force\x20pull\x20cancelled.','utf8','sqlCode','boolean','POST','55899IHcLrB','message','Filter\x20by\x20SQL\x20display\x20name','unchanged','pull','apps','4248396iCBnJN','would_pull','mybatisXml','416948DibGsa','local\x20differs\x20from\x20remote\x20(use\x20--force\x20to\x20overwrite)','filter','conflict','length','toISOString','lastSync','description','nonInteractive','42597pBLRDg','sqls','join','push','local\x20differs\x20from\x20remote','trimStart','sql','write','catch','name','skipped','sqlContent','sqlcode','sqlRoot','\x20written,\x20','No\x20remote\x20SQL\x20queries\x20matched.','string','replace','test','paging','bool','Force\x20overwrite\x20local\x20unsynced\x20changes','21130050VEjPQs','Pull\x20complete:\x20','36kGWSRK','path','dbId','3640540LYyjqn'];a120_0x3794=function(){return _0x31d3b6;};return a120_0x3794();}function isEquivalentPulledSqlFile(_0x1b0750,_0x299575,_0x3e099e){return normalizePullComparableContent(_0x1b0750,_0x3e099e)===normalizePullComparableContent(_0x299575,_0x3e099e);}function normalizePullComparableContent(_0x17e1a8,_0x414db3){const _0x11928d=a120_0x5bda34,_0xbc1a82=_0x17e1a8[_0x11928d(0x21e)](/\r\n/g,'\x0a')[_0x11928d(0x1ed)]('\x0a'),_0x3359aa=_0xbc1a82[_0x11928d(0x206)](_0x20a07b=>!isSyncedAtMetadataLine(_0x20a07b,_0x414db3));return _0x3359aa[_0x11928d(0x20f)]('\x0a');}function isSyncedAtMetadataLine(_0x41bebf,_0x307136){const _0x1d409a=a120_0x5bda34;if(_0x307136===_0x1d409a(0x203))return/^\s*<!--\s*@lovrabet\.syncedAt:/[_0x1d409a(0x21f)](_0x41bebf);return/^\s*--\s*@lovrabet\.syncedAt:/['test'](_0x41bebf);}
|