@lovrabet/rabetbase-cli 2.2.0 → 2.2.1-beta.1
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/lib/api/api-doc.js +1 -1
- package/lib/api/fetch-model-list.js +1 -1
- package/lib/api/generate-api-file.js +1 -1
- package/lib/auth/auth-server-ui.js +1 -1
- package/lib/auth/auth-server.js +1 -1
- package/lib/auth/constant.js +1 -1
- package/lib/auth/get-cookie.js +1 -1
- package/lib/auth/get-session-user.js +1 -1
- package/lib/auth/is-session-valid.js +1 -1
- package/lib/auth/login-success-html.js +1 -1
- package/lib/auth/logout.js +1 -1
- package/lib/cli-flags.js +1 -1
- package/lib/cli.js +1 -1
- package/lib/commands/api/generate.js +1 -1
- package/lib/commands/api/index.js +1 -1
- package/lib/commands/api/list.js +1 -1
- package/lib/commands/api/pull.js +1 -1
- package/lib/commands/api/shared.js +1 -1
- package/lib/commands/app/add.js +1 -1
- package/lib/commands/app/discover.js +1 -1
- package/lib/commands/app/index.js +1 -1
- package/lib/commands/app/list.js +1 -1
- package/lib/commands/app/remove.js +1 -1
- package/lib/commands/app/shared.js +1 -1
- package/lib/commands/app/use.js +1 -1
- package/lib/commands/auth/index.js +1 -1
- package/lib/commands/bff/create.js +1 -1
- package/lib/commands/bff/delete.js +1 -1
- package/lib/commands/bff/detail.js +1 -1
- package/lib/commands/bff/index.js +1 -1
- package/lib/commands/bff/list.js +1 -1
- package/lib/commands/bff/pull.js +1 -1
- package/lib/commands/bff/push.js +1 -1
- package/lib/commands/bff/status.js +1 -1
- package/lib/commands/cli-update.js +1 -1
- package/lib/commands/codegen/index.js +1 -1
- package/lib/commands/codegen/sdk.js +1 -1
- package/lib/commands/codegen/sql.js +1 -1
- package/lib/commands/common/app-selector.js +1 -1
- package/lib/commands/common/flags.js +1 -1
- package/lib/commands/common/validate.js +1 -1
- package/lib/commands/config/get.js +1 -1
- package/lib/commands/config/index.js +1 -1
- package/lib/commands/config/list.js +1 -1
- package/lib/commands/config/set.js +1 -1
- package/lib/commands/config/shared.js +1 -1
- package/lib/commands/data/filter.js +1 -1
- package/lib/commands/data/getOne.js +1 -1
- package/lib/commands/data/index.js +1 -1
- package/lib/commands/data/shared.js +1 -1
- package/lib/commands/dataset/capability.js +1 -1
- package/lib/commands/dataset/delete.js +1 -1
- package/lib/commands/dataset/detail.js +1 -1
- package/lib/commands/dataset/extend-update.js +1 -1
- package/lib/commands/dataset/field-update.js +1 -1
- package/lib/commands/dataset/index.js +1 -1
- package/lib/commands/dataset/list.js +1 -1
- package/lib/commands/dataset/operations.js +1 -1
- package/lib/commands/dataset/relation-create.js +1 -1
- package/lib/commands/dataset/relation-delete.js +1 -1
- package/lib/commands/dataset/relation-shared.js +1 -1
- package/lib/commands/dataset/relation-update.js +1 -1
- package/lib/commands/dataset/relations.js +1 -1
- package/lib/commands/dataset/rename.js +1 -1
- package/lib/commands/db/analyze-cancel.js +1 -1
- package/lib/commands/db/analyze-start.js +1 -1
- package/lib/commands/db/analyze-status.js +1 -1
- package/lib/commands/db/create.js +1 -1
- package/lib/commands/db/delete.js +1 -1
- package/lib/commands/db/detail.js +1 -1
- package/lib/commands/db/diff.js +1 -1
- package/lib/commands/db/index.js +1 -1
- package/lib/commands/db/list.js +1 -1
- package/lib/commands/db/shared.js +1 -1
- package/lib/commands/db/tables.js +1 -1
- package/lib/commands/db/test.js +1 -1
- package/lib/commands/db/update.js +1 -1
- package/lib/commands/doctor.js +1 -1
- package/lib/commands/init/index.js +1 -1
- package/lib/commands/issue/index.js +1 -1
- package/lib/commands/issue/nudge.js +1 -1
- package/lib/commands/issue/report.js +1 -1
- package/lib/commands/issue/shared.js +1 -1
- package/lib/commands/logs/index.js +1 -1
- package/lib/commands/menu/index.js +1 -1
- package/lib/commands/menu/shared/compare-table.js +1 -1
- package/lib/commands/menu/shared/index.js +1 -1
- package/lib/commands/menu/shared/inquirer.js +1 -1
- package/lib/commands/menu/shared/local-pages.js +1 -1
- package/lib/commands/menu/shared/logic.js +1 -1
- package/lib/commands/menu/shared/service.js +1 -1
- package/lib/commands/menu/shared/sync-core.js +1 -1
- package/lib/commands/menu/shared/update-core.js +1 -1
- package/lib/commands/menu/shared/valid-url.js +1 -1
- package/lib/commands/menu/sync.js +1 -1
- package/lib/commands/menu/update.js +1 -1
- package/lib/commands/page/generate-start.js +1 -1
- package/lib/commands/page/generate-status.js +1 -1
- package/lib/commands/page/index.js +1 -1
- package/lib/commands/page/pull.js +1 -1
- package/lib/commands/page/push.js +1 -1
- package/lib/commands/page/relation-audit.js +1 -1
- package/lib/commands/page/shared.js +1 -1
- package/lib/commands/page/standard-page-status.js +1 -1
- package/lib/commands/page/sync.js +1 -1
- package/lib/commands/project/create/enhanced-guided-create.js +1 -1
- package/lib/commands/project/create/format-elapsed.js +1 -1
- package/lib/commands/project/create/main.js +1 -1
- package/lib/commands/project/create/non-interactive.js +1 -1
- package/lib/commands/project/create/project-template-path.js +1 -1
- package/lib/commands/project/create/use-copy-project-template.js +1 -1
- package/lib/commands/project/create/use-format-code.js +1 -1
- package/lib/commands/project/create/use-install-dependencies.js +1 -1
- package/lib/commands/project/index.js +1 -1
- package/lib/commands/project/init.js +1 -1
- package/lib/commands/project/upgrade.js +1 -1
- package/lib/commands/registry.js +1 -1
- package/lib/commands/run/index.js +1 -1
- package/lib/commands/schema.js +1 -1
- package/lib/commands/skill/index.js +1 -1
- package/lib/commands/sql/create.js +1 -1
- package/lib/commands/sql/delete.js +1 -1
- package/lib/commands/sql/detail.js +1 -1
- package/lib/commands/sql/exec.js +1 -1
- package/lib/commands/sql/index.js +1 -1
- package/lib/commands/sql/list.js +1 -1
- package/lib/commands/sql/pull.js +1 -1
- package/lib/commands/sql/push.js +1 -1
- package/lib/commands/sql/save.js +1 -1
- package/lib/commands/sql/shared.js +1 -1
- package/lib/commands/sql/status.js +1 -1
- package/lib/commands/sql/validate.js +1 -1
- package/lib/config/schema.js +1 -1
- package/lib/constant/cdn.js +1 -1
- package/lib/constant/cli.js +1 -1
- package/lib/constant/defaults.js +1 -1
- package/lib/constant/domain.js +1 -1
- package/lib/constant/env.js +1 -1
- package/lib/constant/output.js +1 -1
- package/lib/constant/paths.js +1 -1
- package/lib/constant/risk.js +1 -1
- package/lib/context.js +1 -1
- package/lib/core/alias-resolver.js +1 -1
- package/lib/core/api-client.js +1 -1
- package/lib/core/bff/config.js +1 -1
- package/lib/core/bff/file-system.js +1 -1
- package/lib/core/bff/hash.js +1 -1
- package/lib/core/bff/lock.js +1 -1
- package/lib/core/bff/utils.js +1 -1
- package/lib/core/db-resolver.js +1 -1
- package/lib/core/page/file-system.js +1 -1
- package/lib/core/page/hash.js +1 -1
- package/lib/core/page/lock.js +1 -1
- package/lib/core/sql-sync/config.js +1 -1
- package/lib/core/sql-sync/file-system.js +1 -1
- package/lib/core/sql-sync/hash.js +1 -1
- package/lib/core/sql-sync/lock.js +1 -1
- package/lib/core/sql-sync/utils.js +1 -1
- package/lib/core/sql-validator.js +1 -1
- package/lib/errors.js +1 -1
- package/lib/framework/build-all-flags.js +1 -1
- package/lib/framework/flags.js +1 -1
- package/lib/framework/help.js +1 -1
- package/lib/framework/index.js +1 -1
- package/lib/framework/output.js +1 -1
- package/lib/framework/response.js +1 -1
- package/lib/framework/runner-alias.js +1 -1
- package/lib/framework/runner.js +1 -1
- package/lib/framework/schema-export.js +1 -1
- package/lib/framework/types.js +1 -1
- package/lib/generated/build-info.js +1 -1
- package/lib/help.js +1 -1
- package/lib/skills/main.js +1 -1
- package/lib/skills/npx-skills-add.js +1 -1
- package/lib/telemetry/cli-command-trace.js +1 -1
- package/lib/telemetry/cli-help-trace.js +1 -1
- package/lib/telemetry/ensure-cli-otel-config.js +1 -1
- package/lib/telemetry/register-otel-exit-shutdown.js +1 -1
- package/lib/telemetry/send-cli-trace-log.js +1 -1
- package/lib/telemetry/send-platform-issue-collect-log.js +1 -1
- package/lib/utils/ai_config.js +1 -1
- package/lib/utils/apply-jq-filter.js +1 -1
- package/lib/utils/cdn-config.js +1 -1
- package/lib/utils/check-sdk-version.js +1 -1
- package/lib/utils/cli-version-check.js +1 -1
- package/lib/utils/cli-version-policy.js +1 -1
- package/lib/utils/config.js +1 -1
- package/lib/utils/copy-directory.js +1 -1
- package/lib/utils/entity-with-id.js +1 -1
- package/lib/utils/file-utils.js +1 -1
- package/lib/utils/guides-cdn.js +1 -1
- package/lib/utils/http-client.js +1 -1
- package/lib/utils/is-non-interactive.js +1 -1
- package/lib/utils/logger.js +1 -1
- package/lib/utils/params.js +1 -1
- package/lib/utils/platform.js +1 -1
- package/lib/utils/rules-cdn.js +1 -1
- package/lib/utils/sleep.js +1 -1
- package/lib/utils/template-replacer.js +1 -1
- package/lib/utils/update-notice.js +1 -1
- package/lib/utils/version.js +1 -1
- package/lib/utils/with-active-cookie.js +1 -1
- package/lib/utils/write-cli-side-channel.js +1 -1
- package/package.json +1 -1
|
@@ -1 +1 @@
|
|
|
1
|
-
const a116_0x2b2739=a116_0x4426;(function(_0x6c75ad,_0x3b9eec){const _0x1dbe8b=a116_0x4426,_0x1b23e0=_0x6c75ad();while(!![]){try{const _0x40963b=parseInt(_0x1dbe8b(0x1ea))/0x1*(parseInt(_0x1dbe8b(0x23b))/0x2)+-parseInt(_0x1dbe8b(0x1e8))/0x3+-parseInt(_0x1dbe8b(0x223))/0x4*(parseInt(_0x1dbe8b(0x1dc))/0x5)+parseInt(_0x1dbe8b(0x221))/0x6*(-parseInt(_0x1dbe8b(0x1f8))/0x7)+parseInt(_0x1dbe8b(0x22e))/0x8*(-parseInt(_0x1dbe8b(0x1ed))/0x9)+-parseInt(_0x1dbe8b(0x201))/0xa*(-parseInt(_0x1dbe8b(0x1e6))/0xb)+parseInt(_0x1dbe8b(0x219))/0xc;if(_0x40963b===_0x3b9eec)break;else _0x1b23e0['push'](_0x1b23e0['shift']());}catch(_0x4eb14f){_0x1b23e0['push'](_0x1b23e0['shift']());}}}(a116_0x5a56,0xcae59));function a116_0x4426(_0x55da79,_0x533c83){_0x55da79=_0x55da79-0x1c1;const _0x5a5690=a116_0x5a56();let _0x442609=_0x5a5690[_0x55da79];return _0x442609;}import a116_0x1378c6 from'chalk';import a116_0x46d5ca from'ora';import{existsSync,readFileSync,renameSync,rmSync,statSync,unlinkSync,writeFileSync}from'node:fs';import{resolve}from'node:path';import{CONFIG_NAMES,NEW_CONFIG_NAME,readConfigFile,writeConfigFile}from'../../context.js';import{CORE_IDE_CONFIGS}from'../../utils/ai_config.js';import{NPX_SKILLS_ADD_GLOBAL_COMMAND_LINE,runNpxSkillsAddGlobal,runNpxSkillsRemove}from'../../skills/npx-skills-add.js';function a116_0x5a56(){const _0x1c4b13=['files','\x20→\x20latest','\x20\x20Action:\x20delete','139230sYjYVY','Remove\x20.lovrabet/','not\x20found\x20or\x20already\x20at\x20latest','Remove\x20old\x20skill','needed','dependencies','failed','Step\x202/7:\x20.lovrabet/\x20removal\x20failed\x20—\x20','fields','\x20\x20Action:\x20remove\x20entries\x20containing\x20@lovrabet/dataset-mcp-server','11owOEST','Config\x20file:','3664527tXdiHK','isArray','1008913bIeHUu','Step\x202/7:\x20Removing\x20.lovrabet/\x20directory...','needsSkillSwap','81gYmVOT','\x20\x20Action:\x20migrate\x20→\x20backup\x20old\x20as\x20.bak','Upgrade\x20@lovrabet/sdk','done','\x20\x20Step\x20','isDirectory','not\x20found\x20(will\x20create)','mcpServers','Step\x205/7:\x20Remove\x20old\x20skill\x20—\x20','Step\x202/7:\x20.lovrabet/\x20not\x20found,\x20skipped','red','7EUqRzb','\x20\x20New\x20config\x20(.rabetbase.json):\x20','lovrabet/rabetbase\x20installed\x20globally','object','keys','Upgrade\x20cancelled.','Step\x202/7:\x20.lovrabet/\x20directory\x20removed','Remove\x20legacy\x20artifacts','[\x22@lovrabet/sdk\x22]:\x20','3651780mBVbxC','\x20(backup:\x20','\x20\x20\x20\x20\x20\x20\x20','no\x20legacy\x20config\x20found','length','package.json','message','===\x20Upgrade\x20Analysis\x20===','inherit','skipped\x20(no\x20legacy\x20config)','detail','push','\x20\x20#\x20or','log','no\x20legacy\x20entry','\x20→\x20','oldPath','info','hasNewConfig','filter','Config\x20migration','Legacy\x20artifacts:','join','.claude/skills/lovrabet','30553968wnnPCG','utf8','Install\x20new\x20skill','latest','@lovrabet/dataset-mcp-server','@lovrabet/sdk\x20has\x20been\x20updated\x20to\x20latest\x20in\x20package.json.','parse','white','3554556WhrLRB','status','156gZvhEx','succeed','sdkUpgrade','MCP\x20config:','string','green','yellow','Some\x20steps\x20failed.\x20Check\x20the\x20summary\x20above\x20for\x20details.','entries','Step\x204/7:\x20MCP\x20config\x20—\x20','values','168232uLokRz','\x20from\x20','oldMcpConfig','.lovrabet','cwd','oldArtifacts','not\x20needed','removed\x20','Step\x203/7:\x20Legacy\x20artifacts\x20—\x20','lovrabet/rabetbase','@lovrabet/sdk','includes','skipped\x20(not\x20found\x20or\x20already\x20at\x20latest)','2VcGqtF','exit\x20','\x20\x20Current\x20version\x20in\x20','\x20\x20Fields\x20to\x20migrate:\x20','Step\x201/7:\x20Config\x20migration\x20—\x20','undefined','devDependencies','stringify','gray','Please\x20re-install\x20dependencies\x20to\x20apply\x20the\x20change:','configMigration','Step\x207/7:\x20Upgrading\x20@lovrabet/sdk\x20in\x20package.json...','\x20removed\x20(','yes','cyan','\x20removed','lovrabet/lovrabet-skill\x20removed','\x20\x20npm\x20install','===\x20Upgrade\x20Summary\x20===','fail','start','bold','args','Step\x207/7:\x20@lovrabet/sdk\x20—\x20','label','Step\x205/7:\x20Removing\x20old\x20skill...','.cursor/rules/lovrabet_rules.mdc','Clean\x20MCP\x20config','.bak','Skill\x20swap:','@lovrabet/sdk:','path','error'];a116_0x5a56=function(){return _0x1c4b13;};return a116_0x5a56();}import{askConfirm}from'../../commands/menu/shared/inquirer.js';const LEGACY_CONFIG_NAMES=CONFIG_NAMES[a116_0x2b2739(0x214)](_0x473cff=>_0x473cff!==NEW_CONFIG_NAME);function collectIdeSkillFiles(_0x5c9510){const _0x573096=a116_0x2b2739,_0x2f3ca2=[];for(const _0x2e44f2 of Object[_0x573096(0x22d)](CORE_IDE_CONFIGS)){if(_0x2e44f2[_0x573096(0x1d9)])for(const _0xb258f7 of _0x2e44f2[_0x573096(0x1d9)]){_0x2f3ca2[_0x573096(0x20c)](resolve(_0x5c9510,_0xb258f7[_0x573096(0x1d7)]));}}return _0x2f3ca2;}function analyse(_0x3c9649){const _0x538493=a116_0x2b2739;let _0x43783f=null;const _0x3a42ad=resolve(_0x3c9649,NEW_CONFIG_NAME),_0x4ea20b=existsSync(_0x3a42ad);for(const _0x50148e of LEGACY_CONFIG_NAMES){const _0x1aa9ed=resolve(_0x3c9649,_0x50148e);if(existsSync(_0x1aa9ed)){const _0x1b0ae9=readConfigFile(_0x1aa9ed),_0x4f4f19=Object[_0x538493(0x1fc)](_0x1b0ae9)['filter'](_0x5c1bee=>typeof _0x1b0ae9[_0x5c1bee]!==_0x538493(0x240));_0x43783f={'oldPath':_0x1aa9ed,'hasNewConfig':_0x4ea20b,'fields':_0x4f4f19};break;}}const _0x33833c=[],_0x5923af=resolve(_0x3c9649,_0x538493(0x231));if(existsSync(_0x5923af))_0x33833c[_0x538493(0x20c)](_0x5923af);const _0x253ff2=resolve(_0x3c9649,_0x538493(0x1d2));if(existsSync(_0x253ff2))_0x33833c[_0x538493(0x20c)](_0x253ff2);const _0x2ba5f6=resolve(_0x3c9649,_0x538493(0x218));if(existsSync(_0x2ba5f6))_0x33833c[_0x538493(0x20c)](_0x2ba5f6);for(const _0x522f59 of collectIdeSkillFiles(_0x3c9649)){if(existsSync(_0x522f59))_0x33833c['push'](_0x522f59);}let _0x446d1f=null;const _0x593c4c=resolve(_0x3c9649,'.cursor/mcp.json');if(existsSync(_0x593c4c))try{const _0x25ed90=JSON['parse'](readFileSync(_0x593c4c,_0x538493(0x21a)));if(_0x25ed90?.[_0x538493(0x1f4)]&&typeof _0x25ed90[_0x538493(0x1f4)]===_0x538493(0x1fb)){const _0xa6e63=[];for(const [_0x1a88da,_0xc91e6]of Object[_0x538493(0x22b)](_0x25ed90[_0x538493(0x1f4)])){const _0x5373e1=_0xc91e6;_0x5373e1?.[_0x538493(0x1ce)]&&Array[_0x538493(0x1e9)](_0x5373e1['args'])&&_0x5373e1[_0x538493(0x1ce)]['some'](_0xaf51c6=>typeof _0xaf51c6===_0x538493(0x227)&&_0xaf51c6[_0x538493(0x239)](_0x538493(0x21d)))&&_0xa6e63[_0x538493(0x20c)](_0x1a88da);}_0xa6e63[_0x538493(0x205)]>0x0&&(_0x446d1f={'path':_0x593c4c,'keys':_0xa6e63});}}catch{}const _0x334f39=_0x33833c[_0x538493(0x205)]>0x0||_0x43783f!==null;let _0x2d6448=null;const _0x5716cf=resolve(_0x3c9649,_0x538493(0x206));if(existsSync(_0x5716cf))try{const _0x4d775c=JSON[_0x538493(0x21f)](readFileSync(_0x5716cf,_0x538493(0x21a)));for(const _0x487d52 of[_0x538493(0x1e1),_0x538493(0x241)]){const _0x9755c8=_0x4d775c?.[_0x487d52]?.[_0x538493(0x238)];if(typeof _0x9755c8===_0x538493(0x227)){_0x9755c8!==_0x538493(0x21c)&&(_0x2d6448={'pkgPath':_0x5716cf,'currentVersion':_0x9755c8,'field':_0x487d52});break;}}}catch{}return{'configMigration':_0x43783f,'oldArtifacts':_0x33833c,'oldMcpConfig':_0x446d1f,'needsSkillSwap':_0x334f39,'sdkUpgrade':_0x2d6448};}function printReport(_0x1727b5){const _0x45628f=a116_0x2b2739,{configMigration:_0xfa016,oldArtifacts:_0x1b985f,oldMcpConfig:_0x1b73ea,needsSkillSwap:_0x1365b2}=_0x1727b5;console['log'](''),console['log'](a116_0x1378c6[_0x45628f(0x1cd)](_0x45628f(0x208))),console[_0x45628f(0x20e)]('');_0xfa016?(console[_0x45628f(0x20e)](a116_0x1378c6[_0x45628f(0x1c6)]('Config\x20file:')+('\x20\x20'+a116_0x1378c6[_0x45628f(0x229)](_0xfa016['oldPath']))),console['log'](_0x45628f(0x1f9)+(_0xfa016[_0x45628f(0x213)]?a116_0x1378c6[_0x45628f(0x228)]('already\x20exists\x20(will\x20merge)'):a116_0x1378c6['gray'](_0x45628f(0x1f3)))),console[_0x45628f(0x20e)](_0x45628f(0x23e)+_0xfa016[_0x45628f(0x1e4)][_0x45628f(0x217)](',\x20')),console[_0x45628f(0x20e)](_0x45628f(0x1ee))):console[_0x45628f(0x20e)](a116_0x1378c6['cyan'](_0x45628f(0x1e7))+'\x20\x20'+a116_0x1378c6[_0x45628f(0x243)](_0x45628f(0x204)));console[_0x45628f(0x20e)]('');if(_0x1b985f[_0x45628f(0x205)]>0x0){console[_0x45628f(0x20e)](a116_0x1378c6[_0x45628f(0x1c6)](_0x45628f(0x216)));for(const _0x493fbf of _0x1b985f){console[_0x45628f(0x20e)]('\x20\x20'+a116_0x1378c6[_0x45628f(0x1f7)]('FOUND')+'\x20\x20'+_0x493fbf);}console[_0x45628f(0x20e)](_0x45628f(0x1db));}else console[_0x45628f(0x20e)](a116_0x1378c6['cyan']('Legacy\x20artifacts:')+'\x20\x20'+a116_0x1378c6['gray']('none\x20found'));console['log']('');_0x1b73ea?(console[_0x45628f(0x20e)](a116_0x1378c6[_0x45628f(0x1c6)](_0x45628f(0x226))+('\x20\x20'+a116_0x1378c6[_0x45628f(0x229)](_0x1b73ea[_0x45628f(0x1d7)])+'\x20→\x20keys:\x20'+_0x1b73ea[_0x45628f(0x1fc)][_0x45628f(0x217)](',\x20'))),console[_0x45628f(0x20e)](_0x45628f(0x1e5))):console[_0x45628f(0x20e)](a116_0x1378c6['cyan'](_0x45628f(0x226))+'\x20\x20'+a116_0x1378c6[_0x45628f(0x243)](_0x45628f(0x20f)));console[_0x45628f(0x20e)](''),console[_0x45628f(0x20e)](a116_0x1378c6[_0x45628f(0x1c6)](_0x45628f(0x1d5))+('\x20\x20'+(_0x1365b2?a116_0x1378c6[_0x45628f(0x229)](_0x45628f(0x1e0)):a116_0x1378c6[_0x45628f(0x228)](_0x45628f(0x234)))));_0x1365b2&&console[_0x45628f(0x20e)]('\x20\x20Action:\x20remove\x20old\x20lovrabet/lovrabet-skill,\x20add\x20via\x20`'+NPX_SKILLS_ADD_GLOBAL_COMMAND_LINE+'`');console[_0x45628f(0x20e)]('');if(_0x1727b5[_0x45628f(0x225)]){const {currentVersion:_0x2639ee,field:_0x570ff1,pkgPath:_0x184bf3}=_0x1727b5['sdkUpgrade'];console[_0x45628f(0x20e)](a116_0x1378c6[_0x45628f(0x1c6)](_0x45628f(0x1d6))+('\x20\x20'+a116_0x1378c6[_0x45628f(0x229)](_0x184bf3))),console[_0x45628f(0x20e)](_0x45628f(0x23d)+_0x570ff1+':\x20'+a116_0x1378c6[_0x45628f(0x229)](_0x2639ee)+_0x45628f(0x210)+a116_0x1378c6[_0x45628f(0x228)]('latest')),console[_0x45628f(0x20e)]('\x20\x20Action:\x20update\x20package.json\x20(you\x20will\x20need\x20to\x20re-run\x20install)');}else console['log'](a116_0x1378c6[_0x45628f(0x1c6)](_0x45628f(0x1d6))+'\x20\x20'+a116_0x1378c6[_0x45628f(0x243)](_0x45628f(0x1de)));console['log']('');}function execConfigMigration(_0x1b9966,_0x317d4a){const _0x580913=a116_0x2b2739,{configMigration:_0x31ab21}=_0x1b9966;if(!_0x31ab21?.['oldPath'])return{'step':0x1,'label':_0x580913(0x215),'ok':!![],'detail':_0x580913(0x20a)};const _0x5808d9=readConfigFile(_0x31ab21[_0x580913(0x211)]),_0x5f23c1=resolve(_0x317d4a,NEW_CONFIG_NAME),_0x2f62df=_0x31ab21[_0x580913(0x213)]?readConfigFile(_0x5f23c1):{};for(const [_0x393277,_0x33aeb5]of Object[_0x580913(0x22b)](_0x5808d9)){!(_0x393277 in _0x2f62df)&&(_0x2f62df[_0x393277]=_0x33aeb5);}writeConfigFile(_0x5f23c1,_0x2f62df);const _0x717ced=_0x31ab21[_0x580913(0x211)]+_0x580913(0x1d4);return renameSync(_0x31ab21[_0x580913(0x211)],_0x717ced),{'step':0x1,'label':_0x580913(0x215),'ok':!![],'detail':_0x31ab21[_0x580913(0x211)]+_0x580913(0x210)+_0x5f23c1+_0x580913(0x202)+_0x717ced+')'};}function execRemoveOldArtifacts(_0x5c98ee){const _0x27b37e=a116_0x2b2739,_0x1981a5=[];for(const _0xf1fd8e of _0x5c98ee){try{if(!existsSync(_0xf1fd8e))continue;const _0x112356=tryStat(_0xf1fd8e);_0x112356?.[_0x27b37e(0x1f2)]()?rmSync(_0xf1fd8e,{'recursive':!![],'force':!![]}):unlinkSync(_0xf1fd8e);}catch(_0x3857d4){_0x1981a5[_0x27b37e(0x20c)](_0xf1fd8e+':\x20'+_0x3857d4[_0x27b37e(0x207)]);}}return{'step':0x3,'label':_0x27b37e(0x1ff),'ok':_0x1981a5['length']===0x0,'detail':_0x1981a5[_0x27b37e(0x205)]>0x0?_0x5c98ee[_0x27b37e(0x205)]-_0x1981a5[_0x27b37e(0x205)]+'/'+_0x5c98ee[_0x27b37e(0x205)]+_0x27b37e(0x1c4)+_0x1981a5['join'](';\x20')+')':_0x5c98ee[_0x27b37e(0x205)]+_0x27b37e(0x1c7)};}function execCleanMcp(_0x45467b){const _0x24dc5d=a116_0x2b2739;if(!_0x45467b['oldMcpConfig'])return{'step':0x4,'label':_0x24dc5d(0x1d3),'ok':!![],'detail':'skipped'};try{const _0x59c98e=readFileSync(_0x45467b[_0x24dc5d(0x230)][_0x24dc5d(0x1d7)],'utf8'),_0x25b91d=JSON[_0x24dc5d(0x21f)](_0x59c98e);if(_0x25b91d?.['mcpServers']&&typeof _0x25b91d[_0x24dc5d(0x1f4)]==='object'){const _0x328e04=[];for(const [_0x374a19,_0xc561b9]of Object[_0x24dc5d(0x22b)](_0x25b91d[_0x24dc5d(0x1f4)])){_0xc561b9?.[_0x24dc5d(0x1ce)]&&Array[_0x24dc5d(0x1e9)](_0xc561b9[_0x24dc5d(0x1ce)])&&_0xc561b9['args']['some'](_0x7349f1=>typeof _0x7349f1==='string'&&_0x7349f1[_0x24dc5d(0x239)](_0x24dc5d(0x21d)))&&_0x328e04[_0x24dc5d(0x20c)](_0x374a19);}for(const _0x23fed3 of _0x328e04){delete _0x25b91d['mcpServers'][_0x23fed3];}return _0x328e04[_0x24dc5d(0x205)]>0x0&&writeFileSync(_0x45467b['oldMcpConfig'][_0x24dc5d(0x1d7)],JSON[_0x24dc5d(0x242)](_0x25b91d,null,0x2)+'\x0a',_0x24dc5d(0x21a)),{'step':0x4,'label':_0x24dc5d(0x1d3),'ok':!![],'detail':_0x24dc5d(0x235)+_0x328e04[_0x24dc5d(0x217)](',\x20')+_0x24dc5d(0x22f)+_0x45467b[_0x24dc5d(0x230)][_0x24dc5d(0x1d7)]};}return{'step':0x4,'label':_0x24dc5d(0x1d3),'ok':!![],'detail':'no\x20matching\x20entry\x20found'};}catch(_0x2dbf17){return{'step':0x4,'label':'Clean\x20MCP\x20config','ok':![],'detail':_0x2dbf17['message']};}}function execSkillsRemove(_0x375c9f,_0x41fdf3){const _0x1fc16f=a116_0x2b2739,_0x1c3ee6=runNpxSkillsRemove(_0x375c9f,{'stdio':_0x1fc16f(0x209),'yes':_0x41fdf3});return{'step':0x5,'label':_0x1fc16f(0x1df),'ok':_0x1c3ee6['ok'],'detail':_0x1c3ee6['ok']?_0x1fc16f(0x1c8):_0x1c3ee6[_0x1fc16f(0x1d8)]??'exit\x20'+_0x1c3ee6[_0x1fc16f(0x222)]};}function execSkillsAdd(_0x3b7ddb,_0x342264){const _0x1237cd=a116_0x2b2739,_0x2638e6=runNpxSkillsAddGlobal(_0x3b7ddb,_0x1237cd(0x237),{'stdio':_0x1237cd(0x209),'yes':_0x342264});return{'step':0x6,'label':_0x1237cd(0x21b),'ok':_0x2638e6['ok'],'detail':_0x2638e6['ok']?_0x1237cd(0x1fa):_0x2638e6[_0x1237cd(0x1d8)]??_0x1237cd(0x23c)+_0x2638e6[_0x1237cd(0x222)]};}function execUpgradeSdk(_0x2d6a86){const _0x2cb48d=a116_0x2b2739;if(!_0x2d6a86[_0x2cb48d(0x225)])return{'step':0x7,'label':_0x2cb48d(0x1ef),'ok':!![],'detail':_0x2cb48d(0x23a)};const {pkgPath:_0x93ba12,currentVersion:_0x2e51f6,field:_0x55077a}=_0x2d6a86['sdkUpgrade'];try{const _0x22788e=readFileSync(_0x93ba12,_0x2cb48d(0x21a)),_0x5f0eba=JSON[_0x2cb48d(0x21f)](_0x22788e);return _0x5f0eba[_0x55077a][_0x2cb48d(0x238)]=_0x2cb48d(0x21c),writeFileSync(_0x93ba12,JSON[_0x2cb48d(0x242)](_0x5f0eba,null,0x2)+'\x0a',_0x2cb48d(0x21a)),{'step':0x7,'label':_0x2cb48d(0x1ef),'ok':!![],'detail':_0x55077a+_0x2cb48d(0x200)+_0x2e51f6+_0x2cb48d(0x1da)};}catch(_0x50dff5){return{'step':0x7,'label':_0x2cb48d(0x1ef),'ok':![],'detail':_0x50dff5[_0x2cb48d(0x207)]};}}function tryStat(_0x4be0ba){try{return statSync(_0x4be0ba);}catch{return undefined;}}function printSummary(_0x43c19d){const _0x5eaf5d=a116_0x2b2739;console[_0x5eaf5d(0x20e)](''),console[_0x5eaf5d(0x20e)](a116_0x1378c6['bold'](_0x5eaf5d(0x1ca))),console['log']('');for(const _0x2e0905 of _0x43c19d){const _0x3f0b95=_0x2e0905['ok']?a116_0x1378c6[_0x5eaf5d(0x228)]('OK'):a116_0x1378c6[_0x5eaf5d(0x1f7)]('FAIL');console[_0x5eaf5d(0x20e)]('\x20\x20'+_0x3f0b95+_0x5eaf5d(0x1f1)+_0x2e0905['step']+':\x20'+_0x2e0905[_0x5eaf5d(0x1d0)]);if(_0x2e0905['detail'])console[_0x5eaf5d(0x20e)](_0x5eaf5d(0x203)+a116_0x1378c6['gray'](_0x2e0905['detail']));}console[_0x5eaf5d(0x20e)]('');}export async function upgradeApp(_0x3580bc,_0xd8b066){const _0x14279c=a116_0x2b2739,_0xd9ce71=process[_0x14279c(0x232)](),_0x3da033=analyse(_0xd9ce71),_0x562baf=!_0x3da033[_0x14279c(0x1c2)]&&_0x3da033[_0x14279c(0x233)][_0x14279c(0x205)]===0x0&&!_0x3da033['oldMcpConfig']&&!_0x3da033[_0x14279c(0x1ec)]&&!_0x3da033[_0x14279c(0x225)];if(_0x562baf){console[_0x14279c(0x20e)](a116_0x1378c6[_0x14279c(0x228)]('No\x20legacy\x20artifacts\x20found.\x20Your\x20project\x20is\x20already\x20up-to-date.'));return;}printReport(_0x3da033);const _0x5df0a1=!!(_0xd8b066[_0x14279c(0x1c5)]||_0xd8b066['Y']||_0x3580bc);if(!_0x5df0a1)try{const _0x39bc44=await askConfirm('Proceed\x20with\x20upgrade?');if(!_0x39bc44){console['log'](a116_0x1378c6[_0x14279c(0x243)](_0x14279c(0x1fd)));return;}}catch(_0x366bbf){if(_0x366bbf?.['message']==='CANCEL'){console['log'](a116_0x1378c6[_0x14279c(0x243)](_0x14279c(0x1fd)));return;}throw _0x366bbf;}const _0x5f05df=[],_0x2a85ff=a116_0x46d5ca({'text':'Step\x201/7:\x20Migrating\x20config...','color':_0x14279c(0x1c6)})[_0x14279c(0x1cc)](),_0xf36b8d=execConfigMigration(_0x3da033,_0xd9ce71);_0x5f05df['push'](_0xf36b8d),_0x2a85ff[_0xf36b8d['ok']?_0x14279c(0x224):_0x14279c(0x1cb)](_0x14279c(0x23f)+(_0xf36b8d[_0x14279c(0x20b)]??(_0xf36b8d['ok']?_0x14279c(0x1f0):_0x14279c(0x1e2))));const _0x2663c8=resolve(_0xd9ce71,_0x14279c(0x231)),_0x459732=a116_0x46d5ca({'text':_0x14279c(0x1eb),'color':'cyan'})[_0x14279c(0x1cc)]();if(existsSync(_0x2663c8))try{rmSync(_0x2663c8,{'recursive':!![],'force':!![]}),_0x459732['succeed'](_0x14279c(0x1fe)),_0x5f05df['push']({'step':0x2,'label':'Remove\x20.lovrabet/','ok':!![]});}catch(_0x6b1e80){_0x459732[_0x14279c(0x1cb)](_0x14279c(0x1e3)+_0x6b1e80[_0x14279c(0x207)]),_0x5f05df[_0x14279c(0x20c)]({'step':0x2,'label':_0x14279c(0x1dd),'ok':![],'detail':_0x6b1e80[_0x14279c(0x207)]});}else _0x459732[_0x14279c(0x212)](_0x14279c(0x1f6)),_0x5f05df['push']({'step':0x2,'label':'Remove\x20.lovrabet/','ok':!![],'detail':'skipped'});const _0x58a1a6=a116_0x46d5ca({'text':'Step\x203/7:\x20Removing\x20legacy\x20IDE\x20skill\x20files...','color':_0x14279c(0x1c6)})[_0x14279c(0x1cc)](),_0x2bcd21=execRemoveOldArtifacts(_0x3da033['oldArtifacts']);_0x5f05df[_0x14279c(0x20c)](_0x2bcd21),_0x58a1a6[_0x2bcd21['ok']?_0x14279c(0x224):_0x14279c(0x1cb)](_0x14279c(0x236)+(_0x2bcd21[_0x14279c(0x20b)]??(_0x2bcd21['ok']?_0x14279c(0x1f0):'failed')));const _0x379b7f=a116_0x46d5ca({'text':'Step\x204/7:\x20Cleaning\x20MCP\x20config...','color':_0x14279c(0x1c6)})[_0x14279c(0x1cc)](),_0x4a0f78=execCleanMcp(_0x3da033);_0x5f05df[_0x14279c(0x20c)](_0x4a0f78),_0x379b7f[_0x4a0f78['ok']?_0x14279c(0x224):_0x14279c(0x1cb)](_0x14279c(0x22c)+(_0x4a0f78[_0x14279c(0x20b)]??(_0x4a0f78['ok']?'done':'failed')));const _0x29d03e=a116_0x46d5ca({'text':_0x14279c(0x1d1),'color':'cyan'})[_0x14279c(0x1cc)](),_0x4d0805=execSkillsRemove(_0xd9ce71,_0x5df0a1);_0x5f05df['push'](_0x4d0805),_0x29d03e[_0x4d0805['ok']?_0x14279c(0x224):_0x14279c(0x1cb)](_0x14279c(0x1f5)+(_0x4d0805[_0x14279c(0x20b)]??(_0x4d0805['ok']?_0x14279c(0x1f0):_0x14279c(0x1e2))));const _0x49da20=a116_0x46d5ca({'text':'Step\x206/7:\x20Installing\x20new\x20skill...','color':_0x14279c(0x1c6)})[_0x14279c(0x1cc)](),_0x22015e=execSkillsAdd(_0xd9ce71,_0x5df0a1);_0x5f05df['push'](_0x22015e),_0x49da20[_0x22015e['ok']?_0x14279c(0x224):_0x14279c(0x1cb)]('Step\x206/7:\x20Install\x20new\x20skill\x20—\x20'+(_0x22015e['detail']??(_0x22015e['ok']?_0x14279c(0x1f0):_0x14279c(0x1e2))));const _0x4cfef7=a116_0x46d5ca({'text':_0x14279c(0x1c3),'color':_0x14279c(0x1c6)})[_0x14279c(0x1cc)](),_0x16fdfc=execUpgradeSdk(_0x3da033);_0x5f05df[_0x14279c(0x20c)](_0x16fdfc),_0x4cfef7[_0x16fdfc['ok']?_0x14279c(0x224):_0x14279c(0x1cb)](_0x14279c(0x1cf)+(_0x16fdfc[_0x14279c(0x20b)]??(_0x16fdfc['ok']?_0x14279c(0x1f0):_0x14279c(0x1e2)))),printSummary(_0x5f05df);const _0x37ad0e=_0x5f05df['some'](_0x5422fd=>!_0x5422fd['ok']);_0x37ad0e?console[_0x14279c(0x20e)](a116_0x1378c6[_0x14279c(0x229)](_0x14279c(0x22a))):console[_0x14279c(0x20e)](a116_0x1378c6[_0x14279c(0x228)]('Upgrade\x20completed\x20successfully!')),_0x16fdfc['ok']&&_0x3da033['sdkUpgrade']&&(console[_0x14279c(0x20e)](''),console[_0x14279c(0x20e)](a116_0x1378c6[_0x14279c(0x1cd)]['cyan'](_0x14279c(0x21e))),console[_0x14279c(0x20e)](a116_0x1378c6[_0x14279c(0x1c6)](_0x14279c(0x1c1))),console[_0x14279c(0x20e)](''),console[_0x14279c(0x20e)](a116_0x1378c6[_0x14279c(0x220)](_0x14279c(0x1c9))),console[_0x14279c(0x20e)](a116_0x1378c6[_0x14279c(0x220)](_0x14279c(0x20d))),console[_0x14279c(0x20e)](a116_0x1378c6['white']('\x20\x20bun\x20install')),console[_0x14279c(0x20e)](''));}
|
|
1
|
+
const a116_0x4fa0ac=a116_0x3958;(function(_0x15c762,_0x25c833){const _0x50a683=a116_0x3958,_0x112302=_0x15c762();while(!![]){try{const _0x58db0d=parseInt(_0x50a683(0xf5))/0x1*(parseInt(_0x50a683(0x127))/0x2)+-parseInt(_0x50a683(0xc4))/0x3+parseInt(_0x50a683(0xfb))/0x4*(parseInt(_0x50a683(0xf8))/0x5)+parseInt(_0x50a683(0xbd))/0x6*(-parseInt(_0x50a683(0x11e))/0x7)+-parseInt(_0x50a683(0x10b))/0x8*(-parseInt(_0x50a683(0xe6))/0x9)+parseInt(_0x50a683(0xfa))/0xa+-parseInt(_0x50a683(0x137))/0xb;if(_0x58db0d===_0x25c833)break;else _0x112302['push'](_0x112302['shift']());}catch(_0x10b456){_0x112302['push'](_0x112302['shift']());}}}(a116_0x43ca,0xf272b));import a116_0x2295cf from'chalk';import a116_0x20ad00 from'ora';import{existsSync,readFileSync,renameSync,rmSync,statSync,unlinkSync,writeFileSync}from'node:fs';import{resolve}from'node:path';import{CONFIG_NAMES,NEW_CONFIG_NAME,readConfigFile,writeConfigFile}from'../../context.js';function a116_0x43ca(){const _0x5c4aac=['lovrabet/rabetbase','entries','no\x20legacy\x20config\x20found','oldArtifacts','undefined','No\x20legacy\x20artifacts\x20found.\x20Your\x20project\x20is\x20already\x20up-to-date.','Step\x207/7:\x20Upgrading\x20@lovrabet/sdk\x20in\x20package.json...','1304COliYi','Step\x202/7:\x20.lovrabet/\x20not\x20found,\x20skipped','succeed','@lovrabet/sdk:','label','Step\x206/7:\x20Installing\x20new\x20skill...','Upgrade\x20cancelled.','keys','step','files','Upgrade\x20completed\x20successfully!','Step\x203/7:\x20Legacy\x20artifacts\x20—\x20','FAIL','\x20\x20Current\x20version\x20in\x20','\x20→\x20','@lovrabet/dataset-mcp-server','exit\x20','utf8','MCP\x20config:','21QWktcl','none\x20found','cyan','Step\x201/7:\x20Migrating\x20config...','hasNewConfig','object','stringify','Step\x202/7:\x20Removing\x20.lovrabet/\x20directory...','===\x20Upgrade\x20Analysis\x20===','163626xtGoBs','\x20\x20Action:\x20update\x20package.json\x20(you\x20will\x20need\x20to\x20re-run\x20install)','no\x20legacy\x20entry','\x20→\x20keys:\x20','Please\x20re-install\x20dependencies\x20to\x20apply\x20the\x20change:','CANCEL','.lovrabet','fail','skipped','path','includes','message','Legacy\x20artifacts:','Step\x205/7:\x20Remove\x20old\x20skill\x20—\x20','error','oldPath','9994611pxBWqK','Remove\x20.lovrabet/','needed','@lovrabet/sdk','\x20\x20#\x20or','yes','3470526VKBQTr','Step\x201/7:\x20Config\x20migration\x20—\x20','yellow','latest','length','[\x22@lovrabet/sdk\x22]:\x20','\x20\x20New\x20config\x20(.rabetbase.json):\x20','5928645qcbWnD','Step\x202/7:\x20.lovrabet/\x20removal\x20failed\x20—\x20','\x20\x20Action:\x20remove\x20old\x20lovrabet/lovrabet-skill,\x20add\x20via\x20`','fields','Remove\x20legacy\x20artifacts','some','cwd','white','oldMcpConfig','mcpServers','inherit','isArray','Remove\x20old\x20skill','Skill\x20swap:','push','done','failed','not\x20needed','.cursor/rules/lovrabet_rules.mdc','bold','lovrabet/lovrabet-skill\x20removed','parse','\x20→\x20latest','Step\x204/7:\x20Cleaning\x20MCP\x20config...','configMigration','sdkUpgrade','Step\x205/7:\x20Removing\x20old\x20skill...','Step\x206/7:\x20Install\x20new\x20skill\x20—\x20','\x20\x20Action:\x20remove\x20entries\x20containing\x20@lovrabet/dataset-mcp-server','gray','\x20\x20npm\x20install','join','Step\x203/7:\x20Removing\x20legacy\x20IDE\x20skill\x20files...','Clean\x20MCP\x20config','102978LVgifT','status','Config\x20file:','log','Proceed\x20with\x20upgrade?','start','Install\x20new\x20skill','detail','string','args','red','\x20\x20Fields\x20to\x20migrate:\x20','green','Step\x202/7:\x20.lovrabet/\x20directory\x20removed','dependencies','16atTDQT','not\x20found\x20(will\x20create)','Upgrade\x20@lovrabet/sdk','50AnFMYz','already\x20exists\x20(will\x20merge)','18986120RcdAUO','216192fabOBT','filter','\x20\x20bun\x20install','not\x20found\x20or\x20already\x20at\x20latest','values','\x20removed','Config\x20migration','@lovrabet/sdk\x20has\x20been\x20updated\x20to\x20latest\x20in\x20package.json.','\x20\x20Action:\x20delete'];a116_0x43ca=function(){return _0x5c4aac;};return a116_0x43ca();}import{CORE_IDE_CONFIGS}from'../../utils/ai_config.js';import{NPX_SKILLS_ADD_GLOBAL_COMMAND_LINE,runNpxSkillsAddGlobal,runNpxSkillsRemove}from'../../skills/npx-skills-add.js';import{askConfirm}from'../../commands/menu/shared/inquirer.js';const LEGACY_CONFIG_NAMES=CONFIG_NAMES[a116_0x4fa0ac(0xfc)](_0x1f4eb6=>_0x1f4eb6!==NEW_CONFIG_NAME);function collectIdeSkillFiles(_0x218a39){const _0xf7a71f=a116_0x4fa0ac,_0x154dd4=[];for(const _0x415e66 of Object[_0xf7a71f(0xff)](CORE_IDE_CONFIGS)){if(_0x415e66[_0xf7a71f(0x114)])for(const _0xcd276d of _0x415e66[_0xf7a71f(0x114)]){_0x154dd4[_0xf7a71f(0xd2)](resolve(_0x218a39,_0xcd276d[_0xf7a71f(0x130)]));}}return _0x154dd4;}function analyse(_0x2c2d41){const _0x5ab920=a116_0x4fa0ac;let _0x1096b3=null;const _0x1ebfa8=resolve(_0x2c2d41,NEW_CONFIG_NAME),_0x4f1188=existsSync(_0x1ebfa8);for(const _0x5bdbda of LEGACY_CONFIG_NAMES){const _0x3f928e=resolve(_0x2c2d41,_0x5bdbda);if(existsSync(_0x3f928e)){const _0x246289=readConfigFile(_0x3f928e),_0x27e90a=Object['keys'](_0x246289)[_0x5ab920(0xfc)](_0x3bba85=>typeof _0x246289[_0x3bba85]!==_0x5ab920(0x108));_0x1096b3={'oldPath':_0x3f928e,'hasNewConfig':_0x4f1188,'fields':_0x27e90a};break;}}const _0x2e00e9=[],_0x16ab0d=resolve(_0x2c2d41,_0x5ab920(0x12d));if(existsSync(_0x16ab0d))_0x2e00e9[_0x5ab920(0xd2)](_0x16ab0d);const _0x2511c0=resolve(_0x2c2d41,_0x5ab920(0xd6));if(existsSync(_0x2511c0))_0x2e00e9[_0x5ab920(0xd2)](_0x2511c0);const _0x2debfc=resolve(_0x2c2d41,'.claude/skills/lovrabet');if(existsSync(_0x2debfc))_0x2e00e9[_0x5ab920(0xd2)](_0x2debfc);for(const _0x94c6e of collectIdeSkillFiles(_0x2c2d41)){if(existsSync(_0x94c6e))_0x2e00e9['push'](_0x94c6e);}let _0xe86028=null;const _0x25b973=resolve(_0x2c2d41,'.cursor/mcp.json');if(existsSync(_0x25b973))try{const _0x3cc0f3=JSON['parse'](readFileSync(_0x25b973,_0x5ab920(0x11c)));if(_0x3cc0f3?.[_0x5ab920(0xcd)]&&typeof _0x3cc0f3[_0x5ab920(0xcd)]===_0x5ab920(0x123)){const _0x3aecda=[];for(const [_0x4a07fe,_0x213dd4]of Object[_0x5ab920(0x105)](_0x3cc0f3[_0x5ab920(0xcd)])){const _0x390eb2=_0x213dd4;_0x390eb2?.[_0x5ab920(0xef)]&&Array[_0x5ab920(0xcf)](_0x390eb2[_0x5ab920(0xef)])&&_0x390eb2[_0x5ab920(0xef)][_0x5ab920(0xc9)](_0x401bf1=>typeof _0x401bf1===_0x5ab920(0xee)&&_0x401bf1[_0x5ab920(0x131)](_0x5ab920(0x11a)))&&_0x3aecda[_0x5ab920(0xd2)](_0x4a07fe);}_0x3aecda[_0x5ab920(0xc1)]>0x0&&(_0xe86028={'path':_0x25b973,'keys':_0x3aecda});}}catch{}const _0x593a51=_0x2e00e9[_0x5ab920(0xc1)]>0x0||_0x1096b3!==null;let _0xf9ced8=null;const _0x75dc67=resolve(_0x2c2d41,'package.json');if(existsSync(_0x75dc67))try{const _0x4ec584=JSON['parse'](readFileSync(_0x75dc67,_0x5ab920(0x11c)));for(const _0x46c9a9 of[_0x5ab920(0xf4),'devDependencies']){const _0xdbedd6=_0x4ec584?.[_0x46c9a9]?.[_0x5ab920(0x13a)];if(typeof _0xdbedd6===_0x5ab920(0xee)){_0xdbedd6!==_0x5ab920(0xc0)&&(_0xf9ced8={'pkgPath':_0x75dc67,'currentVersion':_0xdbedd6,'field':_0x46c9a9});break;}}}catch{}return{'configMigration':_0x1096b3,'oldArtifacts':_0x2e00e9,'oldMcpConfig':_0xe86028,'needsSkillSwap':_0x593a51,'sdkUpgrade':_0xf9ced8};}function printReport(_0x2f081e){const _0x2b1e07=a116_0x4fa0ac,{configMigration:_0xfe1b77,oldArtifacts:_0x245209,oldMcpConfig:_0x3e7363,needsSkillSwap:_0x41ca90}=_0x2f081e;console['log'](''),console['log'](a116_0x2295cf[_0x2b1e07(0xd7)](_0x2b1e07(0x126))),console[_0x2b1e07(0xe9)]('');_0xfe1b77?(console['log'](a116_0x2295cf[_0x2b1e07(0x120)]('Config\x20file:')+('\x20\x20'+a116_0x2295cf[_0x2b1e07(0xbf)](_0xfe1b77[_0x2b1e07(0x136)]))),console[_0x2b1e07(0xe9)](_0x2b1e07(0xc3)+(_0xfe1b77[_0x2b1e07(0x122)]?a116_0x2295cf[_0x2b1e07(0xf2)](_0x2b1e07(0xf9)):a116_0x2295cf[_0x2b1e07(0xe1)](_0x2b1e07(0xf6)))),console[_0x2b1e07(0xe9)](_0x2b1e07(0xf1)+_0xfe1b77[_0x2b1e07(0xc7)][_0x2b1e07(0xe3)](',\x20')),console[_0x2b1e07(0xe9)]('\x20\x20Action:\x20migrate\x20→\x20backup\x20old\x20as\x20.bak')):console[_0x2b1e07(0xe9)](a116_0x2295cf[_0x2b1e07(0x120)](_0x2b1e07(0xe8))+'\x20\x20'+a116_0x2295cf[_0x2b1e07(0xe1)](_0x2b1e07(0x106)));console[_0x2b1e07(0xe9)]('');if(_0x245209[_0x2b1e07(0xc1)]>0x0){console[_0x2b1e07(0xe9)](a116_0x2295cf[_0x2b1e07(0x120)](_0x2b1e07(0x133)));for(const _0x52f12b of _0x245209){console[_0x2b1e07(0xe9)]('\x20\x20'+a116_0x2295cf[_0x2b1e07(0xf0)]('FOUND')+'\x20\x20'+_0x52f12b);}console['log'](_0x2b1e07(0x103));}else console[_0x2b1e07(0xe9)](a116_0x2295cf[_0x2b1e07(0x120)](_0x2b1e07(0x133))+'\x20\x20'+a116_0x2295cf[_0x2b1e07(0xe1)](_0x2b1e07(0x11f)));console[_0x2b1e07(0xe9)]('');_0x3e7363?(console['log'](a116_0x2295cf[_0x2b1e07(0x120)]('MCP\x20config:')+('\x20\x20'+a116_0x2295cf[_0x2b1e07(0xbf)](_0x3e7363[_0x2b1e07(0x130)])+_0x2b1e07(0x12a)+_0x3e7363[_0x2b1e07(0x112)][_0x2b1e07(0xe3)](',\x20'))),console['log'](_0x2b1e07(0xe0))):console[_0x2b1e07(0xe9)](a116_0x2295cf[_0x2b1e07(0x120)](_0x2b1e07(0x11d))+'\x20\x20'+a116_0x2295cf[_0x2b1e07(0xe1)](_0x2b1e07(0x129)));console['log'](''),console['log'](a116_0x2295cf[_0x2b1e07(0x120)](_0x2b1e07(0xd1))+('\x20\x20'+(_0x41ca90?a116_0x2295cf['yellow'](_0x2b1e07(0x139)):a116_0x2295cf[_0x2b1e07(0xf2)](_0x2b1e07(0xd5)))));_0x41ca90&&console[_0x2b1e07(0xe9)](_0x2b1e07(0xc6)+NPX_SKILLS_ADD_GLOBAL_COMMAND_LINE+'`');console[_0x2b1e07(0xe9)]('');if(_0x2f081e[_0x2b1e07(0xdd)]){const {currentVersion:_0x53083b,field:_0x1e2b85,pkgPath:_0x2b8cb2}=_0x2f081e[_0x2b1e07(0xdd)];console['log'](a116_0x2295cf[_0x2b1e07(0x120)]('@lovrabet/sdk:')+('\x20\x20'+a116_0x2295cf[_0x2b1e07(0xbf)](_0x2b8cb2))),console['log'](_0x2b1e07(0x118)+_0x1e2b85+':\x20'+a116_0x2295cf[_0x2b1e07(0xbf)](_0x53083b)+'\x20→\x20'+a116_0x2295cf[_0x2b1e07(0xf2)](_0x2b1e07(0xc0))),console[_0x2b1e07(0xe9)](_0x2b1e07(0x128));}else console[_0x2b1e07(0xe9)](a116_0x2295cf['cyan'](_0x2b1e07(0x10e))+'\x20\x20'+a116_0x2295cf[_0x2b1e07(0xe1)](_0x2b1e07(0xfe)));console['log']('');}function execConfigMigration(_0x2830fd,_0x3144af){const _0xfb3ed9=a116_0x4fa0ac,{configMigration:_0x3e3d8d}=_0x2830fd;if(!_0x3e3d8d?.['oldPath'])return{'step':0x1,'label':_0xfb3ed9(0x101),'ok':!![],'detail':'skipped\x20(no\x20legacy\x20config)'};const _0x1b4d7d=readConfigFile(_0x3e3d8d['oldPath']),_0x67190b=resolve(_0x3144af,NEW_CONFIG_NAME),_0x2dfe85=_0x3e3d8d[_0xfb3ed9(0x122)]?readConfigFile(_0x67190b):{};for(const [_0x1a70ef,_0x2e28aa]of Object[_0xfb3ed9(0x105)](_0x1b4d7d)){!(_0x1a70ef in _0x2dfe85)&&(_0x2dfe85[_0x1a70ef]=_0x2e28aa);}writeConfigFile(_0x67190b,_0x2dfe85);const _0x815d1c=_0x3e3d8d[_0xfb3ed9(0x136)]+'.bak';return renameSync(_0x3e3d8d['oldPath'],_0x815d1c),{'step':0x1,'label':_0xfb3ed9(0x101),'ok':!![],'detail':_0x3e3d8d[_0xfb3ed9(0x136)]+_0xfb3ed9(0x119)+_0x67190b+'\x20(backup:\x20'+_0x815d1c+')'};}function execRemoveOldArtifacts(_0xfb1529){const _0x9949d6=a116_0x4fa0ac,_0x2c6a91=[];for(const _0x4498b1 of _0xfb1529){try{if(!existsSync(_0x4498b1))continue;const _0x2e8a56=tryStat(_0x4498b1);_0x2e8a56?.['isDirectory']()?rmSync(_0x4498b1,{'recursive':!![],'force':!![]}):unlinkSync(_0x4498b1);}catch(_0xe5b202){_0x2c6a91[_0x9949d6(0xd2)](_0x4498b1+':\x20'+_0xe5b202[_0x9949d6(0x132)]);}}return{'step':0x3,'label':_0x9949d6(0xc8),'ok':_0x2c6a91[_0x9949d6(0xc1)]===0x0,'detail':_0x2c6a91[_0x9949d6(0xc1)]>0x0?_0xfb1529[_0x9949d6(0xc1)]-_0x2c6a91['length']+'/'+_0xfb1529[_0x9949d6(0xc1)]+'\x20removed\x20('+_0x2c6a91['join'](';\x20')+')':_0xfb1529[_0x9949d6(0xc1)]+_0x9949d6(0x100)};}function a116_0x3958(_0x438278,_0x542093){_0x438278=_0x438278-0xbc;const _0x43ca3e=a116_0x43ca();let _0x3958ad=_0x43ca3e[_0x438278];return _0x3958ad;}function execCleanMcp(_0x23e79b){const _0x481f5e=a116_0x4fa0ac;if(!_0x23e79b[_0x481f5e(0xcc)])return{'step':0x4,'label':_0x481f5e(0xe5),'ok':!![],'detail':'skipped'};try{const _0xe3e8c5=readFileSync(_0x23e79b[_0x481f5e(0xcc)]['path'],_0x481f5e(0x11c)),_0x333aa8=JSON[_0x481f5e(0xd9)](_0xe3e8c5);if(_0x333aa8?.[_0x481f5e(0xcd)]&&typeof _0x333aa8[_0x481f5e(0xcd)]===_0x481f5e(0x123)){const _0x2c53f7=[];for(const [_0x30c75a,_0x3d2680]of Object['entries'](_0x333aa8[_0x481f5e(0xcd)])){_0x3d2680?.[_0x481f5e(0xef)]&&Array[_0x481f5e(0xcf)](_0x3d2680['args'])&&_0x3d2680[_0x481f5e(0xef)][_0x481f5e(0xc9)](_0x644881=>typeof _0x644881===_0x481f5e(0xee)&&_0x644881[_0x481f5e(0x131)](_0x481f5e(0x11a)))&&_0x2c53f7['push'](_0x30c75a);}for(const _0x5d9db2 of _0x2c53f7){delete _0x333aa8['mcpServers'][_0x5d9db2];}return _0x2c53f7[_0x481f5e(0xc1)]>0x0&&writeFileSync(_0x23e79b[_0x481f5e(0xcc)]['path'],JSON[_0x481f5e(0x124)](_0x333aa8,null,0x2)+'\x0a','utf8'),{'step':0x4,'label':_0x481f5e(0xe5),'ok':!![],'detail':'removed\x20'+_0x2c53f7['join'](',\x20')+'\x20from\x20'+_0x23e79b[_0x481f5e(0xcc)][_0x481f5e(0x130)]};}return{'step':0x4,'label':'Clean\x20MCP\x20config','ok':!![],'detail':'no\x20matching\x20entry\x20found'};}catch(_0x350bfb){return{'step':0x4,'label':_0x481f5e(0xe5),'ok':![],'detail':_0x350bfb[_0x481f5e(0x132)]};}}function execSkillsRemove(_0x2e3fbc,_0x567838){const _0x311790=a116_0x4fa0ac,_0x3541c3=runNpxSkillsRemove(_0x2e3fbc,{'stdio':_0x311790(0xce),'yes':_0x567838});return{'step':0x5,'label':_0x311790(0xd0),'ok':_0x3541c3['ok'],'detail':_0x3541c3['ok']?_0x311790(0xd8):_0x3541c3[_0x311790(0x135)]??'exit\x20'+_0x3541c3['status']};}function execSkillsAdd(_0x4f9909,_0x94b02a){const _0x220ab4=a116_0x4fa0ac,_0x297e6f=runNpxSkillsAddGlobal(_0x4f9909,_0x220ab4(0x104),{'stdio':_0x220ab4(0xce),'yes':_0x94b02a});return{'step':0x6,'label':_0x220ab4(0xec),'ok':_0x297e6f['ok'],'detail':_0x297e6f['ok']?'lovrabet/rabetbase\x20installed\x20globally':_0x297e6f[_0x220ab4(0x135)]??_0x220ab4(0x11b)+_0x297e6f[_0x220ab4(0xe7)]};}function execUpgradeSdk(_0x429e52){const _0x5ce7ab=a116_0x4fa0ac;if(!_0x429e52[_0x5ce7ab(0xdd)])return{'step':0x7,'label':_0x5ce7ab(0xf7),'ok':!![],'detail':'skipped\x20(not\x20found\x20or\x20already\x20at\x20latest)'};const {pkgPath:_0x426b42,currentVersion:_0x5c2893,field:_0x2b2373}=_0x429e52['sdkUpgrade'];try{const _0x244db2=readFileSync(_0x426b42,_0x5ce7ab(0x11c)),_0x2f5b69=JSON[_0x5ce7ab(0xd9)](_0x244db2);return _0x2f5b69[_0x2b2373][_0x5ce7ab(0x13a)]='latest',writeFileSync(_0x426b42,JSON[_0x5ce7ab(0x124)](_0x2f5b69,null,0x2)+'\x0a',_0x5ce7ab(0x11c)),{'step':0x7,'label':_0x5ce7ab(0xf7),'ok':!![],'detail':_0x2b2373+_0x5ce7ab(0xc2)+_0x5c2893+_0x5ce7ab(0xda)};}catch(_0x37f8a8){return{'step':0x7,'label':'Upgrade\x20@lovrabet/sdk','ok':![],'detail':_0x37f8a8[_0x5ce7ab(0x132)]};}}function tryStat(_0x50b287){try{return statSync(_0x50b287);}catch{return undefined;}}function printSummary(_0x1b92f9){const _0xab0e0a=a116_0x4fa0ac;console[_0xab0e0a(0xe9)](''),console[_0xab0e0a(0xe9)](a116_0x2295cf[_0xab0e0a(0xd7)]('===\x20Upgrade\x20Summary\x20===')),console[_0xab0e0a(0xe9)]('');for(const _0x557363 of _0x1b92f9){const _0x1aff94=_0x557363['ok']?a116_0x2295cf[_0xab0e0a(0xf2)]('OK'):a116_0x2295cf[_0xab0e0a(0xf0)](_0xab0e0a(0x117));console['log']('\x20\x20'+_0x1aff94+'\x20\x20Step\x20'+_0x557363[_0xab0e0a(0x113)]+':\x20'+_0x557363[_0xab0e0a(0x10f)]);if(_0x557363['detail'])console[_0xab0e0a(0xe9)]('\x20\x20\x20\x20\x20\x20\x20'+a116_0x2295cf['gray'](_0x557363[_0xab0e0a(0xed)]));}console['log']('');}export async function upgradeApp(_0x12717f,_0x2da2fd){const _0x1fd814=a116_0x4fa0ac,_0x46cf19=process[_0x1fd814(0xca)](),_0x40f997=analyse(_0x46cf19),_0x153198=!_0x40f997[_0x1fd814(0xdc)]&&_0x40f997['oldArtifacts'][_0x1fd814(0xc1)]===0x0&&!_0x40f997[_0x1fd814(0xcc)]&&!_0x40f997['needsSkillSwap']&&!_0x40f997['sdkUpgrade'];if(_0x153198){console['log'](a116_0x2295cf[_0x1fd814(0xf2)](_0x1fd814(0x109)));return;}printReport(_0x40f997);const _0x3bba57=!!(_0x2da2fd[_0x1fd814(0xbc)]||_0x2da2fd['Y']||_0x12717f);if(!_0x3bba57)try{const _0xd9335d=await askConfirm(_0x1fd814(0xea));if(!_0xd9335d){console[_0x1fd814(0xe9)](a116_0x2295cf[_0x1fd814(0xe1)](_0x1fd814(0x111)));return;}}catch(_0x5722b2){if(_0x5722b2?.[_0x1fd814(0x132)]===_0x1fd814(0x12c)){console[_0x1fd814(0xe9)](a116_0x2295cf[_0x1fd814(0xe1)](_0x1fd814(0x111)));return;}throw _0x5722b2;}const _0x3f4032=[],_0x1a467f=a116_0x20ad00({'text':_0x1fd814(0x121),'color':_0x1fd814(0x120)})['start'](),_0x520151=execConfigMigration(_0x40f997,_0x46cf19);_0x3f4032[_0x1fd814(0xd2)](_0x520151),_0x1a467f[_0x520151['ok']?_0x1fd814(0x10d):_0x1fd814(0x12e)](_0x1fd814(0xbe)+(_0x520151[_0x1fd814(0xed)]??(_0x520151['ok']?'done':_0x1fd814(0xd4))));const _0x34d03a=resolve(_0x46cf19,'.lovrabet'),_0x2e9a48=a116_0x20ad00({'text':_0x1fd814(0x125),'color':_0x1fd814(0x120)})[_0x1fd814(0xeb)]();if(existsSync(_0x34d03a))try{rmSync(_0x34d03a,{'recursive':!![],'force':!![]}),_0x2e9a48[_0x1fd814(0x10d)](_0x1fd814(0xf3)),_0x3f4032[_0x1fd814(0xd2)]({'step':0x2,'label':_0x1fd814(0x138),'ok':!![]});}catch(_0x5a88ae){_0x2e9a48['fail'](_0x1fd814(0xc5)+_0x5a88ae[_0x1fd814(0x132)]),_0x3f4032[_0x1fd814(0xd2)]({'step':0x2,'label':_0x1fd814(0x138),'ok':![],'detail':_0x5a88ae['message']});}else _0x2e9a48['info'](_0x1fd814(0x10c)),_0x3f4032[_0x1fd814(0xd2)]({'step':0x2,'label':_0x1fd814(0x138),'ok':!![],'detail':_0x1fd814(0x12f)});const _0x6c5b14=a116_0x20ad00({'text':_0x1fd814(0xe4),'color':_0x1fd814(0x120)})['start'](),_0x545a52=execRemoveOldArtifacts(_0x40f997[_0x1fd814(0x107)]);_0x3f4032[_0x1fd814(0xd2)](_0x545a52),_0x6c5b14[_0x545a52['ok']?_0x1fd814(0x10d):_0x1fd814(0x12e)](_0x1fd814(0x116)+(_0x545a52[_0x1fd814(0xed)]??(_0x545a52['ok']?_0x1fd814(0xd3):_0x1fd814(0xd4))));const _0x115941=a116_0x20ad00({'text':_0x1fd814(0xdb),'color':_0x1fd814(0x120)})['start'](),_0x8789b5=execCleanMcp(_0x40f997);_0x3f4032[_0x1fd814(0xd2)](_0x8789b5),_0x115941[_0x8789b5['ok']?_0x1fd814(0x10d):_0x1fd814(0x12e)]('Step\x204/7:\x20MCP\x20config\x20—\x20'+(_0x8789b5[_0x1fd814(0xed)]??(_0x8789b5['ok']?_0x1fd814(0xd3):'failed')));const _0x46ee44=a116_0x20ad00({'text':_0x1fd814(0xde),'color':_0x1fd814(0x120)})[_0x1fd814(0xeb)](),_0x52e278=execSkillsRemove(_0x46cf19,_0x3bba57);_0x3f4032[_0x1fd814(0xd2)](_0x52e278),_0x46ee44[_0x52e278['ok']?'succeed':_0x1fd814(0x12e)](_0x1fd814(0x134)+(_0x52e278['detail']??(_0x52e278['ok']?_0x1fd814(0xd3):_0x1fd814(0xd4))));const _0x23932a=a116_0x20ad00({'text':_0x1fd814(0x110),'color':_0x1fd814(0x120)})[_0x1fd814(0xeb)](),_0xed43d3=execSkillsAdd(_0x46cf19,_0x3bba57);_0x3f4032[_0x1fd814(0xd2)](_0xed43d3),_0x23932a[_0xed43d3['ok']?'succeed':'fail'](_0x1fd814(0xdf)+(_0xed43d3[_0x1fd814(0xed)]??(_0xed43d3['ok']?_0x1fd814(0xd3):_0x1fd814(0xd4))));const _0x4344e6=a116_0x20ad00({'text':_0x1fd814(0x10a),'color':_0x1fd814(0x120)})[_0x1fd814(0xeb)](),_0x3ab56a=execUpgradeSdk(_0x40f997);_0x3f4032['push'](_0x3ab56a),_0x4344e6[_0x3ab56a['ok']?'succeed':_0x1fd814(0x12e)]('Step\x207/7:\x20@lovrabet/sdk\x20—\x20'+(_0x3ab56a[_0x1fd814(0xed)]??(_0x3ab56a['ok']?'done':_0x1fd814(0xd4)))),printSummary(_0x3f4032);const _0x4c08a9=_0x3f4032['some'](_0x29f7ac=>!_0x29f7ac['ok']);_0x4c08a9?console[_0x1fd814(0xe9)](a116_0x2295cf['yellow']('Some\x20steps\x20failed.\x20Check\x20the\x20summary\x20above\x20for\x20details.')):console[_0x1fd814(0xe9)](a116_0x2295cf[_0x1fd814(0xf2)](_0x1fd814(0x115))),_0x3ab56a['ok']&&_0x40f997[_0x1fd814(0xdd)]&&(console[_0x1fd814(0xe9)](''),console['log'](a116_0x2295cf[_0x1fd814(0xd7)][_0x1fd814(0x120)](_0x1fd814(0x102))),console['log'](a116_0x2295cf[_0x1fd814(0x120)](_0x1fd814(0x12b))),console[_0x1fd814(0xe9)](''),console[_0x1fd814(0xe9)](a116_0x2295cf['white'](_0x1fd814(0xe2))),console[_0x1fd814(0xe9)](a116_0x2295cf[_0x1fd814(0xcb)](_0x1fd814(0x13b))),console[_0x1fd814(0xe9)](a116_0x2295cf[_0x1fd814(0xcb)](_0x1fd814(0xfd))),console[_0x1fd814(0xe9)](''));}
|
package/lib/commands/registry.js
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
const
|
|
1
|
+
const a117_0x35e827=a117_0x50c2;(function(_0x43f695,_0x9f9a34){const _0x3af6ed=a117_0x50c2,_0xd54a2a=_0x43f695();while(!![]){try{const _0x382b1b=-parseInt(_0x3af6ed(0x145))/0x1*(parseInt(_0x3af6ed(0x16a))/0x2)+-parseInt(_0x3af6ed(0x157))/0x3+-parseInt(_0x3af6ed(0x161))/0x4+-parseInt(_0x3af6ed(0x170))/0x5+parseInt(_0x3af6ed(0x172))/0x6*(-parseInt(_0x3af6ed(0x16d))/0x7)+parseInt(_0x3af6ed(0x148))/0x8*(-parseInt(_0x3af6ed(0x176))/0x9)+parseInt(_0x3af6ed(0x14f))/0xa;if(_0x382b1b===_0x9f9a34)break;else _0xd54a2a['push'](_0xd54a2a['shift']());}catch(_0x28d5e6){_0xd54a2a['push'](_0xd54a2a['shift']());}}}(a117_0x22bc,0xe2cac));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';function a117_0x50c2(_0x3e0a8a,_0x238756){_0x3e0a8a=_0x3e0a8a-0x143;const _0x22bc14=a117_0x22bc();let _0x50c26b=_0x22bc14[_0x3e0a8a];return _0x50c26b;}function a117_0x22bc(){const _0x417b90=['Database\x20Connections','preview','5654gCvcMQ','service','Skills','755713CbVwlW','Platform\x20Issue','start','7439955RThIZo','login','24XngNPO','Run\x20Scripts','project','App\x20Management','36JMHhpG','wildcardDef','\x20\x20[write]','set','106XtXPDJ','push','run','1979688yjiwil','install','from','Authentication','Smart\x20List\x20Pages','Quick\x20Start','Configuration','69838250nbeXpQ','command','defaultCommand','write','Logs','Run\x20any\x20package.json\x20script','has','risk','4600488HdaONk','BFF\x20Scripts','logout','Instant\x20API','API','build','Menu','Dataset\x20&\x20Operations','Schema','isSingleCommand','5248224byEPjN','length','get','create','Project','description','read'];a117_0x22bc=function(){return _0x417b90;};return a117_0x22bc();}import{issueDefinitions}from'../commands/issue/index.js';import{authDefinitions}from'../commands/auth/index.js';import{logsDefinitions}from'../commands/logs/index.js';import{skillDefinitions}from'../commands/skill/index.js';import{projectDefinitions}from'../commands/project/index.js';import{initDefinitions}from'../commands/init/index.js';import{runDefinition}from'../commands/run/index.js';export const serviceRegistry=[];const serviceByName=new Map();export const definitions=new Map();export const serviceGroups=new Map();function registerDefinitions(_0x251106){const _0x4b1247=a117_0x50c2;for(const _0x49d05c of _0x251106){definitions[_0x4b1247(0x144)](_0x49d05c['service']+':'+_0x49d05c[_0x4b1247(0x150)],_0x49d05c);let _0x2d6322=serviceGroups[_0x4b1247(0x163)](_0x49d05c['service']);!_0x2d6322&&(_0x2d6322=[],serviceGroups[_0x4b1247(0x144)](_0x49d05c[_0x4b1247(0x16b)],_0x2d6322)),_0x2d6322[_0x4b1247(0x146)](_0x49d05c);}}function registerDeclarativeService(_0xe052e,_0x5889bf,_0x3681bd){const _0x5ee65d=a117_0x50c2;registerDefinitions(_0x5889bf);_0x3681bd?.['wildcardDef']&®isterDefinitions([_0x3681bd[_0x5ee65d(0x177)]]);const _0xb3bfd4=_0x506c69=>_0x506c69===_0x5ee65d(0x167)?'':_0x506c69===_0x5ee65d(0x152)?_0x5ee65d(0x143):'\x20\x20[high-risk-write]',_0x450c8e={'service':_0x5889bf[0x0][_0x5ee65d(0x16b)],'label':_0xe052e,'commands':_0x5889bf['map'](_0x443a62=>({'command':_0x443a62['command'],'description':_0x443a62[_0x5ee65d(0x166)],'tag':_0xb3bfd4(_0x443a62[_0x5ee65d(0x156)])})),'declarative':!![],'defaultCommand':_0x3681bd?.[_0x5ee65d(0x151)]??(_0x3681bd?.['isSingleCommand']?_0x5889bf[0x0][_0x5ee65d(0x150)]:undefined),'wildcardDef':_0x3681bd?.[_0x5ee65d(0x177)],'isSingleCommand':_0x3681bd?.[_0x5ee65d(0x160)]};serviceRegistry[_0x5ee65d(0x146)](_0x450c8e),serviceByName['set'](_0x450c8e[_0x5ee65d(0x16b)],_0x450c8e);}registerDeclarativeService(a117_0x35e827(0x14d),initDefinitions,{'defaultCommand':'run','isSingleCommand':!![]}),registerDeclarativeService(a117_0x35e827(0x165),projectDefinitions),registerDeclarativeService(a117_0x35e827(0x175),appDefinitions),registerDeclarativeService(a117_0x35e827(0x173),[runDefinition],{'wildcardDef':runDefinition});{const last=serviceRegistry[serviceRegistry[a117_0x35e827(0x162)]-0x1];last['commands']=[{'command':'<script>','description':a117_0x35e827(0x154),'tag':''}];}registerDeclarativeService(a117_0x35e827(0x14b),authDefinitions,{'defaultCommand':a117_0x35e827(0x171)}),registerDeclarativeService('Self\x20Update',[updateDefinition],{'isSingleCommand':!![]}),registerDeclarativeService('Diagnostics',[doctorDefinition],{'isSingleCommand':!![]}),registerDeclarativeService(a117_0x35e827(0x15f),[schemaDefinition],{'isSingleCommand':!![]}),registerDeclarativeService(a117_0x35e827(0x14e),configDefinitions),registerDeclarativeService(a117_0x35e827(0x16e),issueDefinitions),registerDeclarativeService(a117_0x35e827(0x15b),apiDefinitions),registerDeclarativeService(a117_0x35e827(0x15d),menuDefinitions),registerDeclarativeService(a117_0x35e827(0x168),dbDefinitions),registerDeclarativeService(a117_0x35e827(0x15e),datasetDefinitions),registerDeclarativeService(a117_0x35e827(0x14c),pageDefinitions),registerDeclarativeService(a117_0x35e827(0x15a),dataDefinitions),registerDeclarativeService(a117_0x35e827(0x158),bffDefinitions),registerDeclarativeService('SQL\x20Queries',sqlDefinitions),registerDeclarativeService('Code\x20Generation',codegenDefinitions),registerDeclarativeService(a117_0x35e827(0x16c),skillDefinitions),registerDeclarativeService(a117_0x35e827(0x153),logsDefinitions,{'defaultCommand':'show'});export const deprecatedAliases={'create':{'service':a117_0x35e827(0x174),'command':'create'},'start':{'service':a117_0x35e827(0x147),'command':a117_0x35e827(0x16f)},'build':{'service':'run','command':a117_0x35e827(0x15c)},'preview':{'service':'run','command':a117_0x35e827(0x169)},'logout':{'service':'auth','command':a117_0x35e827(0x159)},'skills':{'service':'skill','command':a117_0x35e827(0x149)}};export const deprecatedSubcommands={'bff':{'new':a117_0x35e827(0x164)},'sql':{'new':a117_0x35e827(0x164)}};export function resolveDeprecatedSubcommand(_0xc2a2d9,_0x44a1c9){return deprecatedSubcommands[_0xc2a2d9]?.[_0x44a1c9];}export function findDefinition(_0x29dc2c,_0x3a9086){const _0x20fac7=a117_0x35e827;return definitions[_0x20fac7(0x163)](_0x29dc2c+':'+_0x3a9086);}export function isKnownService(_0x1d36f8){const _0x29564d=a117_0x35e827;return serviceByName[_0x29564d(0x155)](_0x1d36f8);}export function isDeclarativeService(_0x354bfb){const _0x2d6a4e=a117_0x35e827;return serviceGroups[_0x2d6a4e(0x155)](_0x354bfb)||serviceByName[_0x2d6a4e(0x163)](_0x354bfb)?.[_0x2d6a4e(0x177)]!==undefined;}export function getServiceEntry(_0x5c0928){const _0x76eb8a=a117_0x35e827;return serviceByName[_0x76eb8a(0x163)](_0x5c0928);}export function getLegacyHandler(_0x36f69c,_0x4bf0dd){return undefined;}export function getAllDefinitions(){const _0x20edc0=a117_0x35e827;return Array[_0x20edc0(0x14a)](definitions['values']());}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
const
|
|
1
|
+
const a118_0x43199c=a118_0x5794;function a118_0x5794(_0x21a1f3,_0x475df5){_0x21a1f3=_0x21a1f3-0x118;const _0x18bbfd=a118_0x18bb();let _0x579492=_0x18bbfd[_0x21a1f3];return _0x579492;}(function(_0x2af409,_0x153959){const _0x508a68=a118_0x5794,_0x1f28b1=_0x2af409();while(!![]){try{const _0x35f9fc=-parseInt(_0x508a68(0x158))/0x1+-parseInt(_0x508a68(0x136))/0x2+-parseInt(_0x508a68(0x147))/0x3+-parseInt(_0x508a68(0x13e))/0x4*(-parseInt(_0x508a68(0x12b))/0x5)+parseInt(_0x508a68(0x14e))/0x6+-parseInt(_0x508a68(0x135))/0x7*(parseInt(_0x508a68(0x123))/0x8)+parseInt(_0x508a68(0x11d))/0x9;if(_0x35f9fc===_0x153959)break;else _0x1f28b1['push'](_0x1f28b1['shift']());}catch(_0xb39936){_0x1f28b1['push'](_0x1f28b1['shift']());}}}(a118_0x18bb,0xe5e21));import{readFileSync,existsSync}from'node:fs';import{CLI_BIN_NAME}from'../../constant/cli.js';import{resolve,delimiter,join}from'node:path';import{spawn}from'node:child_process';import{CliErrors}from'../../errors.js';import{checkSdkVersion,printSdkUpgradeWarning}from'../../utils/check-sdk-version.js';import{assertCliVersionSupported,checkCliVersion,printCliUpgradeWarning}from'../../utils/cli-version-check.js';function a118_0x18bb(){const _0x340b81=['vite\x20build\x20--watch\x20exited\x20with\x20code\x20','build','2600649gKnVLd','all','\x0a\x20\x20Usage:\x20','node_modules','\x0a\x20\x20Available\x20scripts:\x0a','has','boolean','180318VVYYwa','vite','validation','scripts','map','watch','error','Script\x20\x22','run','\x20run\x20start','1199824kSksaB','slice','read','max','bun','Enable\x20watch\x20mode\x20for\x20preview','.bin','\x20run\x20preview\x20--watch\x20\x20\x20#\x20parallel\x20build\x20--watch\x20+\x20preview','Script\x20name\x20defined\x20in\x20package.json','(none)','close','needsUpgrade','34434819KppFOt','cwd','log','start','length','yarn','98976DfQaLH','\x20\x20\x20\x20','preview','\x20run\x20<script>\x0a','yarn.lock','utf-8','keys','--watch','81240VVDwvj','\x20run\x20','\x20run\x20build','parse','push','vite\x20preview\x20exited\x20with\x20code\x20','inherit','args','Run\x20a\x20package.json\x20script','entries','539mqTQtW','830256DOaMgD','bool','pnpm','join','Available:\x20','pnpm-lock.yaml','No\x20scripts\x20defined\x20in\x20package.json.','package.json','128tDnFcf','\x20exited\x20with\x20code\x20','No\x20package.json\x20found\x20in\x20current\x20directory.','bun.lockb','script','padEnd','\x20run\x20preview'];a118_0x18bb=function(){return _0x340b81;};return a118_0x18bb();}const VERSION_CHECK_SCRIPTS=new Set([a118_0x43199c(0x120),'dev']);function readPackageScripts(_0x58fa01){const _0x24fa24=a118_0x43199c,_0x9e4a13=resolve(_0x58fa01,_0x24fa24(0x13d));if(!existsSync(_0x9e4a13))return null;try{const _0x745b0=JSON[_0x24fa24(0x12e)](readFileSync(_0x9e4a13,_0x24fa24(0x128)));return _0x745b0[_0x24fa24(0x151)]??{};}catch{return null;}}function detectPackageManager(_0x35eaec){const _0x25c678=a118_0x43199c;if(existsSync(resolve(_0x35eaec,_0x25c678(0x141)))||existsSync(resolve(_0x35eaec,'bun.lock')))return _0x25c678(0x15c);if(existsSync(resolve(_0x35eaec,_0x25c678(0x13b))))return _0x25c678(0x138);if(existsSync(resolve(_0x35eaec,_0x25c678(0x127))))return _0x25c678(0x122);return'npm';}async function versionCheck(_0x11ee73){const _0x70d2c0=a118_0x43199c,_0x36dd83=await checkCliVersion();(_0x36dd83[_0x70d2c0(0x11c)]||_0x36dd83['belowMinimum'])&&(printCliUpgradeWarning(_0x36dd83),assertCliVersionSupported(_0x36dd83));const _0x3fb95c=await checkSdkVersion(_0x11ee73);if(_0x3fb95c['needsUpgrade'])printSdkUpgradeWarning(_0x3fb95c);}function spawnScript(_0x5a6db6,_0xe7037f,_0xed8d10,_0x31c7c5){return new Promise((_0x5b69f8,_0x231572)=>{const _0xc53ac1=a118_0x5794,_0x2a191c=['run',_0xe7037f,..._0xed8d10],_0x4451f3=spawn(_0x5a6db6,_0x2a191c,{'cwd':_0x31c7c5,'stdio':_0xc53ac1(0x131),'shell':!![],'env':{...process.env,'PATH':''+join(_0x31c7c5,_0xc53ac1(0x14a),_0xc53ac1(0x15e))+delimiter+process.env.PATH}});_0x4451f3['on']('close',_0x339509=>{const _0x9a8872=_0xc53ac1;if(_0x339509===0x0||_0x339509===null)_0x5b69f8();else _0x231572(new Error(_0x5a6db6+_0x9a8872(0x12c)+_0xe7037f+_0x9a8872(0x13f)+_0x339509));}),_0x4451f3['on'](_0xc53ac1(0x154),_0x231572);});}function spawnViteBuildWatch(_0x34b6a5){return new Promise((_0x474bba,_0x2f327e)=>{const _0x15ed55=a118_0x5794,_0xea0ba0=spawn(_0x15ed55(0x14f),[_0x15ed55(0x146),_0x15ed55(0x12a)],{'cwd':_0x34b6a5,'stdio':_0x15ed55(0x131),'shell':!![],'env':{...process.env,'PATH':''+join(_0x34b6a5,_0x15ed55(0x14a),_0x15ed55(0x15e))+delimiter+process.env.PATH}});_0xea0ba0['on'](_0x15ed55(0x11b),_0x4254b1=>{const _0x28a100=_0x15ed55;if(_0x4254b1===0x0||_0x4254b1===null)_0x474bba();else _0x2f327e(new Error(_0x28a100(0x145)+_0x4254b1));}),_0xea0ba0['on']('error',_0x2f327e);});}function spawnVitePreview(_0x561005){return new Promise((_0x3eedea,_0x5ccd30)=>{const _0x59df3a=a118_0x5794,_0x18a8ff=spawn(_0x59df3a(0x14f),[_0x59df3a(0x125)],{'cwd':_0x561005,'stdio':_0x59df3a(0x131),'shell':!![],'env':{...process.env,'PATH':''+join(_0x561005,'node_modules',_0x59df3a(0x15e))+delimiter+process.env.PATH}});_0x18a8ff['on'](_0x59df3a(0x11b),_0x4705b5=>{const _0xfe21fd=_0x59df3a;if(_0x4705b5===0x0||_0x4705b5===null)_0x3eedea();else _0x5ccd30(new Error(_0xfe21fd(0x130)+_0x4705b5));}),_0x18a8ff['on'](_0x59df3a(0x154),_0x5ccd30);});}const runFlags=[{'name':'watch','type':a118_0x43199c(0x14d),'description':a118_0x43199c(0x15d),'default':![]}];export const runDefinition={'service':a118_0x43199c(0x156),'command':a118_0x43199c(0x156),'description':a118_0x43199c(0x133),'risk':a118_0x43199c(0x15a),'requiresAuth':![],'requiresAppCode':![],'hasFormat':![],'args':[{'name':a118_0x43199c(0x142),'description':a118_0x43199c(0x119),'required':![]}],'flags':runFlags,'helpExtra':()=>{const _0x50c436=a118_0x43199c,_0x3d7db5=readPackageScripts(process[_0x50c436(0x11e)]()),_0x4dd1f2=[];if(_0x3d7db5&&Object[_0x50c436(0x129)](_0x3d7db5)[_0x50c436(0x121)]>0x0){const _0x5ccee1=Object[_0x50c436(0x129)](_0x3d7db5),_0x3d1ec0=Math[_0x50c436(0x15b)](..._0x5ccee1[_0x50c436(0x152)](_0xd4f774=>_0xd4f774['length']));_0x4dd1f2[_0x50c436(0x12f)]('\x20\x20AVAILABLE\x20SCRIPTS\x20\x20(current\x20project)');for(const [_0x25b974,_0x2adb6f]of Object[_0x50c436(0x134)](_0x3d7db5)){_0x4dd1f2['push'](_0x50c436(0x124)+CLI_BIN_NAME+'\x20run\x20'+_0x25b974['padEnd'](_0x3d1ec0+0x2)+'#\x20'+_0x2adb6f);}}else _0x4dd1f2[_0x50c436(0x12f)]('\x20\x20EXAMPLES'),_0x4dd1f2[_0x50c436(0x12f)]('\x20\x20\x20\x20'+CLI_BIN_NAME+_0x50c436(0x157)),_0x4dd1f2['push'](_0x50c436(0x124)+CLI_BIN_NAME+_0x50c436(0x12d)),_0x4dd1f2['push'](_0x50c436(0x124)+CLI_BIN_NAME+_0x50c436(0x144)),_0x4dd1f2[_0x50c436(0x12f)](_0x50c436(0x124)+CLI_BIN_NAME+_0x50c436(0x118));return _0x4dd1f2['join']('\x0a');},async 'execute'(_0xcbf9a3){const _0x69f8a1=a118_0x43199c,_0x1cb6be=process[_0x69f8a1(0x11e)](),_0x582434=_0xcbf9a3[_0x69f8a1(0x132)][0x0],_0x905dd5=_0xcbf9a3[_0x69f8a1(0x132)][_0x69f8a1(0x159)](0x1),_0x487144=readPackageScripts(_0x1cb6be);if(!_0x487144)throw CliErrors[_0x69f8a1(0x150)](_0x69f8a1(0x140));if(!_0x582434){const _0x1b67e1=Object[_0x69f8a1(0x129)](_0x487144);if(_0x1b67e1['length']===0x0)console[_0x69f8a1(0x11f)](_0x69f8a1(0x13c));else{console['log'](_0x69f8a1(0x14b));const _0x43ffa4=Math[_0x69f8a1(0x15b)](..._0x1b67e1['map'](_0x34e7e3=>_0x34e7e3['length']));for(const [_0x368b85,_0x2f6419]of Object[_0x69f8a1(0x134)](_0x487144)){console[_0x69f8a1(0x11f)](_0x69f8a1(0x124)+_0x368b85[_0x69f8a1(0x143)](_0x43ffa4+0x2)+_0x2f6419);}console[_0x69f8a1(0x11f)](_0x69f8a1(0x149)+CLI_BIN_NAME+_0x69f8a1(0x126));}return{'ok':!![]};}if(!_0x487144[_0x582434])throw CliErrors[_0x69f8a1(0x150)](_0x69f8a1(0x155)+_0x582434+'\x22\x20not\x20found\x20in\x20package.json.',_0x69f8a1(0x13a)+(Object[_0x69f8a1(0x129)](_0x487144)[_0x69f8a1(0x139)](',\x20')||_0x69f8a1(0x11a)));const _0x535eff=detectPackageManager(_0x1cb6be);VERSION_CHECK_SCRIPTS[_0x69f8a1(0x14c)](_0x582434)&&await versionCheck(_0x1cb6be);if(_0x582434===_0x69f8a1(0x125)&&_0xcbf9a3[_0x69f8a1(0x137)](_0x69f8a1(0x153)))return await Promise[_0x69f8a1(0x148)]([spawnViteBuildWatch(_0x1cb6be),spawnVitePreview(_0x1cb6be)]),{'ok':!![]};return await spawnScript(_0x535eff,_0x582434,_0x905dd5,_0x1cb6be),{'ok':!![]};}};
|
package/lib/commands/schema.js
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
function
|
|
1
|
+
function a119_0x3a46(_0x5494c1,_0x79b9e1){_0x5494c1=_0x5494c1-0x12b;const _0x300087=a119_0x3000();let _0x3a4638=_0x300087[_0x5494c1];return _0x3a4638;}(function(_0x387ab8,_0x23920c){const _0x4f95c1=a119_0x3a46,_0xb4b426=_0x387ab8();while(!![]){try{const _0x48e56e=parseInt(_0x4f95c1(0x12b))/0x1*(parseInt(_0x4f95c1(0x137))/0x2)+-parseInt(_0x4f95c1(0x12f))/0x3*(-parseInt(_0x4f95c1(0x12d))/0x4)+-parseInt(_0x4f95c1(0x136))/0x5*(-parseInt(_0x4f95c1(0x131))/0x6)+-parseInt(_0x4f95c1(0x12c))/0x7+-parseInt(_0x4f95c1(0x133))/0x8*(parseInt(_0x4f95c1(0x134))/0x9)+-parseInt(_0x4f95c1(0x130))/0xa*(-parseInt(_0x4f95c1(0x132))/0xb)+parseInt(_0x4f95c1(0x12e))/0xc*(-parseInt(_0x4f95c1(0x135))/0xd);if(_0x48e56e===_0x23920c)break;else _0xb4b426['push'](_0xb4b426['shift']());}catch(_0x26a186){_0xb4b426['push'](_0xb4b426['shift']());}}}(a119_0x3000,0x8bcb9));import{buildSchemaPayload}from'../framework/schema-export.js';function a119_0x3000(){const _0x53b14c=['5600PobcjP','3362636hFMnTQ','13980EioLlK','3GPkqkc','21940YPhJNa','261228DiKDZu','5071tKNuEE','22024XnBShQ','1917WSaCtV','17407swpCjE','80jPineF','8144GPQRtF','42fKEuDc'];a119_0x3000=function(){return _0x53b14c;};return a119_0x3000();}async function execute(_0x502957){const _0x4c584a=await buildSchemaPayload();return{'ok':!![],'data':_0x4c584a};}export const schemaDefinition={'service':'schema','command':'export','description':'Export\x20machine-readable\x20command\x20schema\x20(JSON)','risk':'read','requiresAuth':![],'requiresAppCode':![],'hasFormat':!![],'defaultOutputFormat':'json','flags':[],'execute':execute};
|
|
@@ -1 +1 @@
|
|
|
1
|
-
const
|
|
1
|
+
function a120_0x1774(){const _0x458b65=['inherit','1648566garpVG','skill-install','log',')...','unknown','8459208HVRFZK','15713628HAYwzx','166hSiLhF','11rXzJUo','install','npx\x20skills\x20add\x20failed:\x20','3269690ONnquz','Installing\x20official\x20skill\x20via\x20npx\x20(','setLogPath','835ZtUAys','Install\x20developer\x20skill\x20package','apiError','cwd','pipe','153fBNqpg','1384LyJTNa','../../skills/npx-skills-add.js','2509OsENhS','627512oZjCPN','7mYlrkM','skipped','\x20skill\x20installed','Check\x20network\x20connectivity\x20and\x20try\x20again.','error','write','nonInteractive','Skipped\x20npx\x20(RABETBASE_SKIP_NPX_SKILLS=1);\x20assuming\x20skill\x20is\x20already\x20present.'];a120_0x1774=function(){return _0x458b65;};return a120_0x1774();}function a120_0x5879(_0x2fb6c5,_0x17c30b){_0x2fb6c5=_0x2fb6c5-0x160;const _0x1774aa=a120_0x1774();let _0x58790f=_0x1774aa[_0x2fb6c5];return _0x58790f;}const a120_0x583547=a120_0x5879;(function(_0x1c69bd,_0x37cad5){const _0x56821c=a120_0x5879,_0x16a84c=_0x1c69bd();while(!![]){try{const _0x27ea89=-parseInt(_0x56821c(0x173))/0x1*(-parseInt(_0x56821c(0x164))/0x2)+-parseInt(_0x56821c(0x17e))/0x3+parseInt(_0x56821c(0x171))/0x4*(-parseInt(_0x56821c(0x16b))/0x5)+-parseInt(_0x56821c(0x162))/0x6*(-parseInt(_0x56821c(0x175))/0x7)+parseInt(_0x56821c(0x174))/0x8*(parseInt(_0x56821c(0x170))/0x9)+-parseInt(_0x56821c(0x168))/0xa+-parseInt(_0x56821c(0x165))/0xb*(parseInt(_0x56821c(0x163))/0xc);if(_0x27ea89===_0x37cad5)break;else _0x16a84c['push'](_0x16a84c['shift']());}catch(_0xaf00c0){_0x16a84c['push'](_0x16a84c['shift']());}}}(a120_0x1774,0xaccfc));import{CliErrors}from'../../errors.js';import{CLI_BIN_NAME}from'../../constant/cli.js';import{logger}from'../../utils/logger.js';import{NPX_SKILLS_ADD_GLOBAL_COMMAND_LINE}from'../../skills/npx-skills-add.js';export const skillDefinitions=[{'service':'skill','command':a120_0x583547(0x166),'description':a120_0x583547(0x16c),'risk':a120_0x583547(0x17a),'requiresAuth':![],'requiresAppCode':![],'hasFormat':![],'flags':[],async 'execute'(_0x201b60){const _0x5d8f7b=a120_0x583547;logger[_0x5d8f7b(0x16a)](process[_0x5d8f7b(0x16e)]()),logger['info'](_0x5d8f7b(0x17f),'执行安装技能包命令(委托给\x20npx\x20skills\x20add\x20-g\x20-y)');const {runNpxSkillsAddGlobal:_0x3af157}=await import(_0x5d8f7b(0x172)),_0x1d660a=_0x201b60[_0x5d8f7b(0x17b)]?_0x5d8f7b(0x16f):_0x5d8f7b(0x17d);console[_0x5d8f7b(0x180)](_0x5d8f7b(0x169)+NPX_SKILLS_ADD_GLOBAL_COMMAND_LINE+_0x5d8f7b(0x160));const _0xb3a8d1=_0x3af157(process[_0x5d8f7b(0x16e)](),'lovrabet/rabetbase',{'stdio':_0x1d660a});if(_0xb3a8d1[_0x5d8f7b(0x176)])console[_0x5d8f7b(0x180)](_0x5d8f7b(0x17c));else{if(_0xb3a8d1['ok'])console[_0x5d8f7b(0x180)](CLI_BIN_NAME+_0x5d8f7b(0x177));else throw CliErrors[_0x5d8f7b(0x16d)](_0x5d8f7b(0x167)+(_0xb3a8d1[_0x5d8f7b(0x179)]||_0x5d8f7b(0x161)),_0x5d8f7b(0x178));}return{'ok':!![]};}}];
|
|
@@ -1 +1 @@
|
|
|
1
|
-
const a121_0x2aa050=a121_0x1aec;(function(_0x3dc826,_0x1b5e85){const _0x64c523=a121_0x1aec,_0x1e60cd=_0x3dc826();while(!![]){try{const _0x5a4d34=parseInt(_0x64c523(0xd7))/0x1+-parseInt(_0x64c523(0xdc))/0x2*(parseInt(_0x64c523(0xdb))/0x3)+-parseInt(_0x64c523(0xe4))/0x4*(-parseInt(_0x64c523(0xec))/0x5)+-parseInt(_0x64c523(0xb6))/0x6*(parseInt(_0x64c523(0xbf))/0x7)+parseInt(_0x64c523(0xbb))/0x8*(parseInt(_0x64c523(0xc6))/0x9)+parseInt(_0x64c523(0xd3))/0xa+-parseInt(_0x64c523(0xd0))/0xb;if(_0x5a4d34===_0x1b5e85)break;else _0x1e60cd['push'](_0x1e60cd['shift']());}catch(_0x24200c){_0x1e60cd['push'](_0x1e60cd['shift']());}}}(a121_0x95c0,0x63b8a));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';function a121_0x95c0(){const _0x2f41ea=['flag','isFinite','1099773phkYuT','2JEnzYr','Target\x20database\x20ID','普通\x20SQL(sql)','dbName','string','</select>','--db-id\x20is\x20required\x20in\x20non-interactive\x20mode.','--name\x20is\x20required\x20in\x20non-interactive\x20mode.','4WDUlHi','请输入目标数据库\x20dbId:','File\x20already\x20exists:\x20','mode','<server-generated-sqlCode>','sqlCode','sqlRootDir','db-id','1946485uqBeek','sqls','toISOString','Invalid\x20database\x20selection\x20payload:\x20','name','✎\x20手动输入\x20dbId','validation','SQL\x20名称不能为空','flagMissing','join','dbId\x20必须为正整数','Local\x20SQL\x20file\x20mode','sqlRoot','dbId\x20不能为空','12bNcuDN','__manual__','stringify','Create\x20a\x20new\x20custom\x20SQL\x20and\x20scaffold\x20it\x20locally','description','4488600AEFhMv','Created\x20SQL\x20query\x20','create','length','58891LrScNp','mybatisXml','str','sqlName','appCode','catch','new','9YyiYkN','number','dbId','--mode\x20is\x20required\x20in\x20non-interactive\x20mode.','map','/smartapi/custom/saveUserCustomSql','nonInteractive','utf8','<select\x20id=\x22query\x22\x20resultType=\x22map\x22>','high-risk-write','8257733IBEEWj','\x20\x20SELECT\x201\x20AS\x20id','lockFilePath','5877710aUzlmc','trim','SELECT\x201\x20AS\x20id;','sql','4435oJQJrW','SQL\x20query\x20display\x20name'];a121_0x95c0=function(){return _0x2f41ea;};return a121_0x95c0();}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(_0x9223b){const _0x48f5fc=a121_0x1aec;if(_0x9223b===_0x48f5fc(0xc0))return[_0x48f5fc(0xce),_0x48f5fc(0xd1),_0x48f5fc(0xe1),'']['join']('\x0a');return[_0x48f5fc(0xd5),''][_0x48f5fc(0xb1)]('\x0a');}export const sqlCreate={'service':'sql','command':a121_0x2aa050(0xbd),'description':a121_0x2aa050(0xb9),'risk':a121_0x2aa050(0xcf),'flags':[{'name':'name','type':a121_0x2aa050(0xe0),'description':a121_0x2aa050(0xd8)},{'name':'db-id','type':a121_0x2aa050(0xc7),'description':a121_0x2aa050(0xdd)},{'name':a121_0x2aa050(0xe7),'type':a121_0x2aa050(0xe0),'enum':['sql',a121_0x2aa050(0xc0)],'description':a121_0x2aa050(0xb3)}],async 'validate'(_0x28c19f){const _0x3a7dfa=a121_0x2aa050;if(!_0x28c19f[_0x3a7dfa(0xcc)])return;if(!_0x28c19f[_0x3a7dfa(0xc1)](_0x3a7dfa(0xf0))['trim']())throw CliErrors['flagMissing'](_0x3a7dfa(0xf0),'--name\x20is\x20required\x20in\x20non-interactive\x20mode.');const _0x1f503c=resolveProvidedDbId(_0x28c19f);if(typeof _0x1f503c!==_0x3a7dfa(0xc7)||!Number[_0x3a7dfa(0xda)](_0x1f503c)||_0x1f503c<=0x0)throw CliErrors['flagMissing'](_0x3a7dfa(0xeb),_0x3a7dfa(0xe2));if(!_0x28c19f[_0x3a7dfa(0xc1)](_0x3a7dfa(0xe7))[_0x3a7dfa(0xd4)]())throw CliErrors[_0x3a7dfa(0xb0)]('mode',_0x3a7dfa(0xc9));},async 'dryRun'(_0x2372c4){const _0x4cdcaa=a121_0x2aa050,_0x5da64f=loadSqlProjectConfig(_0x2372c4[_0x4cdcaa(0xc3)]),{sqlName:_0x528fb3,dbId:_0x517ea6,dbName:_0x555920,mode:_0x348454}=await resolveSqlNewInputs(_0x2372c4),_0x5ad341=buildSqlRelativePath(_0x4cdcaa(0xe8),_0x528fb3,_0x555920,_0x348454,_0x517ea6),_0x1148fe=_0x5da64f[_0x4cdcaa(0xea)]+'/'+_0x5ad341;return{'method':'POST','url':_0x4cdcaa(0xcb),'body':{'appCode':_0x2372c4[_0x4cdcaa(0xc3)],'sqlName':_0x528fb3,'dbId':_0x517ea6,'mode':_0x348454,'localPath':_0x1148fe},'description':'Would\x20create\x20a\x20new\x20SQL\x20query\x20and\x20scaffold\x20it\x20under\x20'+_0x5da64f['sqlRootDir']};},async 'execute'(_0x593d46){const _0x392fb6=a121_0x2aa050,_0x3bbdae=loadSqlProjectConfig(_0x593d46[_0x392fb6(0xc3)]),{sqlName:_0xf2161c,dbId:_0x10abe5,dbName:_0x7b78c3,mode:_0x87e89d}=await resolveSqlNewInputs(_0x593d46),_0x550851=generateSqlTemplate(_0x87e89d),_0x104a1c=await createSqlQuery({'appCode':_0x593d46['appCode'],'sqlName':_0xf2161c,'dbId':_0x10abe5,'sqlContent':_0x550851}),_0xcd5959=ensureRemoteSqlContent(_0x104a1c),_0x3c5582=_0x7b78c3||await getDbName(_0x593d46['appCode'],_0x10abe5)[_0x392fb6(0xc4)](()=>undefined),_0x443cef=buildSqlRelativePath(_0x104a1c[_0x392fb6(0xe9)],_0x104a1c['sqlName'],_0x3c5582,_0x87e89d,_0x10abe5),_0x1450a1=_0x3bbdae[_0x392fb6(0xea)]+'/'+_0x443cef,_0x54acef=buildLocalSqlFileContent({'sqlCode':_0x104a1c[_0x392fb6(0xe9)],'sqlName':_0x104a1c[_0x392fb6(0xc2)],'dbId':_0x104a1c[_0x392fb6(0xc8)]},_0xcd5959,{'dbName':_0x3c5582,'mode':_0x87e89d,'syncedAt':new Date()[_0x392fb6(0xee)](),'description':_0x104a1c[_0x392fb6(0xba)]});if(await fileExists(_0x1450a1))throw CliErrors['validation'](_0x392fb6(0xe6)+_0x1450a1);await ensureParentDirectory(_0x1450a1),await writeFile(_0x1450a1,_0x54acef,_0x392fb6(0xcd));const _0x3d8985=await readSqlLockFile(_0x3bbdae[_0x392fb6(0xd2)]),{lockData:_0x1e3525,appLock:_0xaa74dd}=ensureSqlLockScope(_0x3d8985??createEmptySqlLock(),_0x3bbdae[_0x392fb6(0xc3)],_0x3bbdae[_0x392fb6(0xb4)],_0x392fb6(0xc5));return _0xaa74dd[_0x392fb6(0xed)][_0x104a1c[_0x392fb6(0xe9)]]={...buildSqlLockEntry(_0x104a1c,_0xcd5959,computeSqlContentHash(_0x54acef),{'dbName':_0x3c5582}),'path':_0x443cef,'mode':_0x87e89d},_0xaa74dd['lastSync']=new Date()[_0x392fb6(0xee)](),await writeSqlLockFile(_0x3bbdae[_0x392fb6(0xd2)],_0x1e3525),{'ok':!![],'data':{'id':_0x104a1c['id'],'sqlCode':_0x104a1c[_0x392fb6(0xe9)],'sqlName':_0x104a1c[_0x392fb6(0xc2)],'dbId':_0x104a1c[_0x392fb6(0xc8)],'path':_0x1450a1,'mode':_0x87e89d},'message':_0x392fb6(0xbc)+_0x104a1c[_0x392fb6(0xe9)]};}};async function resolveSqlNewInputs(_0x1fd0ae){const _0x4d92cc=await resolveSqlNameInput(_0x1fd0ae),{dbId:_0x532b2b,dbName:_0x4cdf31}=await resolveDbSelection(_0x1fd0ae),_0xbb689e=await resolveSqlModeInput(_0x1fd0ae);return{'sqlName':_0x4d92cc,'dbId':_0x532b2b,'dbName':_0x4cdf31,'mode':_0xbb689e};}async function resolveSqlNameInput(_0x26f49e){const _0x4d4ec6=a121_0x2aa050,_0x45ae38=_0x26f49e['str']('name')[_0x4d4ec6(0xd4)]();if(_0x45ae38)return _0x45ae38;if(_0x26f49e[_0x4d4ec6(0xcc)])throw CliErrors[_0x4d4ec6(0xb0)](_0x4d4ec6(0xf0),_0x4d4ec6(0xe3));return(await input({'message':'请输入\x20SQL\x20名称:','validate':_0x27006e=>_0x27006e[_0x4d4ec6(0xd4)]()?!![]:_0x4d4ec6(0xaf)}))[_0x4d4ec6(0xd4)]();}async function resolveDbSelection(_0x38ca3b){const _0x3332f8=a121_0x2aa050,_0x27b98b=resolveProvidedDbId(_0x38ca3b);if(typeof _0x27b98b===_0x3332f8(0xc7)&&Number[_0x3332f8(0xda)](_0x27b98b)&&_0x27b98b>0x0)return{'dbId':_0x27b98b,'dbName':await getDbName(_0x38ca3b[_0x3332f8(0xc3)],_0x27b98b)[_0x3332f8(0xc4)](()=>undefined)};if(_0x38ca3b[_0x3332f8(0xcc)])throw CliErrors[_0x3332f8(0xb0)]('db-id',_0x3332f8(0xe2));const _0xb938e6=await listDatabases(_0x38ca3b[_0x3332f8(0xc3)])[_0x3332f8(0xc4)](()=>[]);if(_0xb938e6['length']===0x1)return{'dbId':_0xb938e6[0x0][_0x3332f8(0xc8)],'dbName':_0xb938e6[0x0][_0x3332f8(0xdf)]};if(_0xb938e6[_0x3332f8(0xbe)]>0x1){const _0x309ae8=await select({'message':'请选择目标数据库:','choices':[..._0xb938e6[_0x3332f8(0xca)](_0x16823a=>({'name':_0x16823a['dbName']+'\x20('+_0x16823a[_0x3332f8(0xc8)]+')','value':serializeDbSelection(_0x16823a)})),{'name':_0x3332f8(0xad),'value':_0x3332f8(0xb7)}]});if(_0x309ae8!==_0x3332f8(0xb7))return deserializeDbSelection(_0x309ae8);}const _0x47a7d6=await input({'message':_0x3332f8(0xe5),'validate':_0x563fa1=>{const _0xfedd06=_0x3332f8,_0xcf398a=_0x563fa1[_0xfedd06(0xd4)]();if(!_0xcf398a)return _0xfedd06(0xb5);const _0x52e9e5=Number(_0xcf398a);if(!Number['isInteger'](_0x52e9e5)||_0x52e9e5<=0x0)return _0xfedd06(0xb2);return!![];}});return{'dbId':Number(_0x47a7d6['trim']())};}async function resolveSqlModeInput(_0x2442a1){const _0x256b1d=a121_0x2aa050,_0x3efa78=_0x2442a1[_0x256b1d(0xc1)](_0x256b1d(0xe7))[_0x256b1d(0xd4)]();if(_0x3efa78===_0x256b1d(0xd6)||_0x3efa78===_0x256b1d(0xc0))return _0x3efa78;if(_0x2442a1['nonInteractive'])throw CliErrors[_0x256b1d(0xb0)](_0x256b1d(0xe7),_0x256b1d(0xc9));return await select({'message':'请选择本地\x20SQL\x20模式:','choices':[{'name':_0x256b1d(0xde),'value':_0x256b1d(0xd6),'description':'适合直接执行的普通\x20SELECT\x20/\x20INSERT\x20/\x20UPDATE\x20/\x20DELETE\x20语句'},{'name':'MyBatis\x20XML(mybatisXml)','value':'mybatisXml','description':'适合带动态标签的\x20MyBatis\x20XML\x20SQL'}]});}function serializeDbSelection(_0x3c5cbb){const _0x5df819=a121_0x2aa050;return JSON[_0x5df819(0xb8)]({'dbId':_0x3c5cbb[_0x5df819(0xc8)],'dbName':_0x3c5cbb[_0x5df819(0xdf)]});}function a121_0x1aec(_0x8e210,_0x1a0780){_0x8e210=_0x8e210-0xad;const _0x95c0ca=a121_0x95c0();let _0x1aec47=_0x95c0ca[_0x8e210];return _0x1aec47;}function deserializeDbSelection(_0x40a952){const _0x46eb6c=a121_0x2aa050;try{const _0xedda84=JSON['parse'](_0x40a952);if(typeof _0xedda84[_0x46eb6c(0xc8)]===_0x46eb6c(0xc7)&&Number[_0x46eb6c(0xda)](_0xedda84[_0x46eb6c(0xc8)]))return{'dbId':_0xedda84['dbId'],'dbName':_0xedda84[_0x46eb6c(0xdf)]};}catch{}throw CliErrors[_0x46eb6c(0xae)](_0x46eb6c(0xef)+_0x40a952);}function resolveProvidedDbId(_0x3155c0){const _0x2dbdfc=a121_0x2aa050,_0x476765=_0x3155c0[_0x2dbdfc(0xd9)](_0x2dbdfc(0xeb));if(typeof _0x476765===_0x2dbdfc(0xc7)&&Number[_0x2dbdfc(0xda)](_0x476765))return _0x476765;return undefined;}
|
|
1
|
+
const a121_0x5050f1=a121_0x498a;(function(_0x5b189c,_0x441243){const _0x1d03da=a121_0x498a,_0x548c74=_0x5b189c();while(!![]){try{const _0x4ea26a=-parseInt(_0x1d03da(0x1b0))/0x1+parseInt(_0x1d03da(0x198))/0x2*(parseInt(_0x1d03da(0x192))/0x3)+parseInt(_0x1d03da(0x1ad))/0x4+-parseInt(_0x1d03da(0x185))/0x5*(-parseInt(_0x1d03da(0x1a9))/0x6)+parseInt(_0x1d03da(0x184))/0x7+-parseInt(_0x1d03da(0x1b5))/0x8+-parseInt(_0x1d03da(0x19e))/0x9*(parseInt(_0x1d03da(0x17f))/0xa);if(_0x4ea26a===_0x441243)break;else _0x548c74['push'](_0x548c74['shift']());}catch(_0x186bd5){_0x548c74['push'](_0x548c74['shift']());}}}(a121_0x5b31,0x7ae63));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';function a121_0x498a(_0x150837,_0x3ab165){_0x150837=_0x150837-0x17d;const _0x5b3108=a121_0x5b31();let _0x498ab2=_0x5b3108[_0x150837];return _0x498ab2;}import{buildSqlRelativePath}from'../../core/sql-sync/utils.js';import{CliErrors}from'../../errors.js';import{buildLocalSqlFileContent,buildSqlLockEntry,ensureRemoteSqlContent}from'./shared.js';function generateSqlTemplate(_0x3e15aa){const _0x2c5b85=a121_0x498a;if(_0x3e15aa===_0x2c5b85(0x1ac))return[_0x2c5b85(0x1a6),_0x2c5b85(0x19f),_0x2c5b85(0x196),'']['join']('\x0a');return['SELECT\x201\x20AS\x20id;','']['join']('\x0a');}export const sqlCreate={'service':'sql','command':a121_0x5050f1(0x186),'description':a121_0x5050f1(0x1bf),'risk':a121_0x5050f1(0x1a7),'flags':[{'name':a121_0x5050f1(0x1aa),'type':a121_0x5050f1(0x183),'description':a121_0x5050f1(0x1af)},{'name':a121_0x5050f1(0x1b1),'type':a121_0x5050f1(0x18d),'description':'Target\x20database\x20ID'},{'name':a121_0x5050f1(0x18b),'type':a121_0x5050f1(0x183),'enum':[a121_0x5050f1(0x1be),a121_0x5050f1(0x1ac)],'description':a121_0x5050f1(0x195)}],async 'validate'(_0x22de19){const _0x12f65b=a121_0x5050f1;if(!_0x22de19['nonInteractive'])return;if(!_0x22de19['str'](_0x12f65b(0x1aa))['trim']())throw CliErrors[_0x12f65b(0x1a3)](_0x12f65b(0x1aa),'--name\x20is\x20required\x20in\x20non-interactive\x20mode.');const _0x231bba=resolveProvidedDbId(_0x22de19);if(typeof _0x231bba!=='number'||!Number[_0x12f65b(0x1a5)](_0x231bba)||_0x231bba<=0x0)throw CliErrors['flagMissing'](_0x12f65b(0x1b1),_0x12f65b(0x17d));if(!_0x22de19['str'](_0x12f65b(0x18b))[_0x12f65b(0x19c)]())throw CliErrors[_0x12f65b(0x1a3)](_0x12f65b(0x18b),_0x12f65b(0x1ba));},async 'dryRun'(_0x22a1e0){const _0x4eafac=a121_0x5050f1,_0x5e2202=loadSqlProjectConfig(_0x22a1e0[_0x4eafac(0x194)]),{sqlName:_0x16851f,dbId:_0x3aafed,dbName:_0x38babd,mode:_0x5a200f}=await resolveSqlNewInputs(_0x22a1e0),_0x60fc95=buildSqlRelativePath('<server-generated-sqlCode>',_0x16851f,_0x38babd,_0x5a200f,_0x3aafed),_0x4e8404=_0x5e2202[_0x4eafac(0x1a2)]+'/'+_0x60fc95;return{'method':'POST','url':'/smartapi/custom/saveUserCustomSql','body':{'appCode':_0x22a1e0[_0x4eafac(0x194)],'sqlName':_0x16851f,'dbId':_0x3aafed,'mode':_0x5a200f,'localPath':_0x4e8404},'description':_0x4eafac(0x193)+_0x5e2202['sqlRootDir']};},async 'execute'(_0x2ac654){const _0x203b2b=a121_0x5050f1,_0x5d75d0=loadSqlProjectConfig(_0x2ac654[_0x203b2b(0x194)]),{sqlName:_0x1de719,dbId:_0x127b2a,dbName:_0x2eebc4,mode:_0x3f61eb}=await resolveSqlNewInputs(_0x2ac654),_0x4618bb=generateSqlTemplate(_0x3f61eb),_0x1d8cd4=await createSqlQuery({'appCode':_0x2ac654[_0x203b2b(0x194)],'sqlName':_0x1de719,'dbId':_0x127b2a,'sqlContent':_0x4618bb}),_0x236690=ensureRemoteSqlContent(_0x1d8cd4),_0x2e3057=_0x2eebc4||await getDbName(_0x2ac654[_0x203b2b(0x194)],_0x127b2a)[_0x203b2b(0x199)](()=>undefined),_0x3ed58e=buildSqlRelativePath(_0x1d8cd4['sqlCode'],_0x1d8cd4[_0x203b2b(0x18f)],_0x2e3057,_0x3f61eb,_0x127b2a),_0x4e8468=_0x5d75d0[_0x203b2b(0x1a2)]+'/'+_0x3ed58e,_0x1f1304=buildLocalSqlFileContent({'sqlCode':_0x1d8cd4['sqlCode'],'sqlName':_0x1d8cd4['sqlName'],'dbId':_0x1d8cd4[_0x203b2b(0x1b8)]},_0x236690,{'dbName':_0x2e3057,'mode':_0x3f61eb,'syncedAt':new Date()[_0x203b2b(0x19a)](),'description':_0x1d8cd4[_0x203b2b(0x1ae)]});if(await fileExists(_0x4e8468))throw CliErrors[_0x203b2b(0x189)](_0x203b2b(0x191)+_0x4e8468);await ensureParentDirectory(_0x4e8468),await writeFile(_0x4e8468,_0x1f1304,_0x203b2b(0x182));const _0x2774e9=await readSqlLockFile(_0x5d75d0[_0x203b2b(0x18a)]),{lockData:_0x101ca5,appLock:_0x2f111a}=ensureSqlLockScope(_0x2774e9??createEmptySqlLock(),_0x5d75d0[_0x203b2b(0x194)],_0x5d75d0[_0x203b2b(0x180)],_0x203b2b(0x190));return _0x2f111a[_0x203b2b(0x1b7)][_0x1d8cd4[_0x203b2b(0x1ab)]]={...buildSqlLockEntry(_0x1d8cd4,_0x236690,computeSqlContentHash(_0x1f1304),{'dbName':_0x2e3057}),'path':_0x3ed58e,'mode':_0x3f61eb},_0x2f111a['lastSync']=new Date()[_0x203b2b(0x19a)](),await writeSqlLockFile(_0x5d75d0[_0x203b2b(0x18a)],_0x101ca5),{'ok':!![],'data':{'id':_0x1d8cd4['id'],'sqlCode':_0x1d8cd4[_0x203b2b(0x1ab)],'sqlName':_0x1d8cd4[_0x203b2b(0x18f)],'dbId':_0x1d8cd4['dbId'],'path':_0x4e8468,'mode':_0x3f61eb},'message':_0x203b2b(0x1bb)+_0x1d8cd4['sqlCode']};}};async function resolveSqlNewInputs(_0x202c2a){const _0x58ba58=await resolveSqlNameInput(_0x202c2a),{dbId:_0x4fb31d,dbName:_0x1c21bb}=await resolveDbSelection(_0x202c2a),_0x56a3db=await resolveSqlModeInput(_0x202c2a);return{'sqlName':_0x58ba58,'dbId':_0x4fb31d,'dbName':_0x1c21bb,'mode':_0x56a3db};}async function resolveSqlNameInput(_0x41d1fc){const _0xde546=a121_0x5050f1,_0x2632da=_0x41d1fc['str'](_0xde546(0x1aa))[_0xde546(0x19c)]();if(_0x2632da)return _0x2632da;if(_0x41d1fc[_0xde546(0x1b3)])throw CliErrors['flagMissing'](_0xde546(0x1aa),_0xde546(0x188));return(await input({'message':_0xde546(0x17e),'validate':_0xa98247=>_0xa98247[_0xde546(0x19c)]()?!![]:_0xde546(0x197)}))[_0xde546(0x19c)]();}async function resolveDbSelection(_0x1313ab){const _0x56bdb4=a121_0x5050f1,_0x5b087b=resolveProvidedDbId(_0x1313ab);if(typeof _0x5b087b==='number'&&Number[_0x56bdb4(0x1a5)](_0x5b087b)&&_0x5b087b>0x0)return{'dbId':_0x5b087b,'dbName':await getDbName(_0x1313ab[_0x56bdb4(0x194)],_0x5b087b)[_0x56bdb4(0x199)](()=>undefined)};if(_0x1313ab['nonInteractive'])throw CliErrors[_0x56bdb4(0x1a3)](_0x56bdb4(0x1b1),_0x56bdb4(0x17d));const _0x14a23f=await listDatabases(_0x1313ab['appCode'])[_0x56bdb4(0x199)](()=>[]);if(_0x14a23f[_0x56bdb4(0x1c2)]===0x1)return{'dbId':_0x14a23f[0x0][_0x56bdb4(0x1b8)],'dbName':_0x14a23f[0x0]['dbName']};if(_0x14a23f[_0x56bdb4(0x1c2)]>0x1){const _0x56fc9a=await select({'message':_0x56bdb4(0x1a1),'choices':[..._0x14a23f[_0x56bdb4(0x181)](_0x45b4ea=>({'name':_0x45b4ea['dbName']+'\x20('+_0x45b4ea[_0x56bdb4(0x1b8)]+')','value':serializeDbSelection(_0x45b4ea)})),{'name':_0x56bdb4(0x19d),'value':_0x56bdb4(0x18c)}]});if(_0x56fc9a!==_0x56bdb4(0x18c))return deserializeDbSelection(_0x56fc9a);}const _0x1a9d23=await input({'message':'请输入目标数据库\x20dbId:','validate':_0xe75ee2=>{const _0x58937f=_0x56bdb4,_0x37a432=_0xe75ee2[_0x58937f(0x19c)]();if(!_0x37a432)return _0x58937f(0x1a8);const _0x38c525=Number(_0x37a432);if(!Number[_0x58937f(0x1bd)](_0x38c525)||_0x38c525<=0x0)return _0x58937f(0x1b9);return!![];}});return{'dbId':Number(_0x1a9d23[_0x56bdb4(0x19c)]())};}async function resolveSqlModeInput(_0x34ac25){const _0x36ff70=a121_0x5050f1,_0x5c2bc2=_0x34ac25[_0x36ff70(0x187)](_0x36ff70(0x18b))[_0x36ff70(0x19c)]();if(_0x5c2bc2===_0x36ff70(0x1be)||_0x5c2bc2===_0x36ff70(0x1ac))return _0x5c2bc2;if(_0x34ac25['nonInteractive'])throw CliErrors[_0x36ff70(0x1a3)](_0x36ff70(0x18b),_0x36ff70(0x1ba));return await select({'message':_0x36ff70(0x1c0),'choices':[{'name':_0x36ff70(0x1bc),'value':_0x36ff70(0x1be),'description':_0x36ff70(0x1b2)},{'name':_0x36ff70(0x18e),'value':_0x36ff70(0x1ac),'description':_0x36ff70(0x1c1)}]});}function a121_0x5b31(){const _0x4b7545=['SQL\x20query\x20display\x20name','561745nKbtgJ','db-id','适合直接执行的普通\x20SELECT\x20/\x20INSERT\x20/\x20UPDATE\x20/\x20DELETE\x20语句','nonInteractive','dbName','3249168nrNwaK','Invalid\x20database\x20selection\x20payload:\x20','sqls','dbId','dbId\x20必须为正整数','--mode\x20is\x20required\x20in\x20non-interactive\x20mode.','Created\x20SQL\x20query\x20','普通\x20SQL(sql)','isInteger','sql','Create\x20a\x20new\x20custom\x20SQL\x20and\x20scaffold\x20it\x20locally','请选择本地\x20SQL\x20模式:','适合带动态标签的\x20MyBatis\x20XML\x20SQL','length','--db-id\x20is\x20required\x20in\x20non-interactive\x20mode.','请输入\x20SQL\x20名称:','1835710Gqrnpl','sqlRoot','map','utf8','string','4048891kAayjj','435lfJYti','create','str','--name\x20is\x20required\x20in\x20non-interactive\x20mode.','validation','lockFilePath','mode','__manual__','number','MyBatis\x20XML(mybatisXml)','sqlName','new','File\x20already\x20exists:\x20','1639827Lyfbeq','Would\x20create\x20a\x20new\x20SQL\x20query\x20and\x20scaffold\x20it\x20under\x20','appCode','Local\x20SQL\x20file\x20mode','</select>','SQL\x20名称不能为空','2TcKYgk','catch','toISOString','parse','trim','✎\x20手动输入\x20dbId','36dyjWlH','\x20\x20SELECT\x201\x20AS\x20id','stringify','请选择目标数据库:','sqlRootDir','flagMissing','flag','isFinite','<select\x20id=\x22query\x22\x20resultType=\x22map\x22>','high-risk-write','dbId\x20不能为空','58098pkfzYz','name','sqlCode','mybatisXml','952508UWtHcD','description'];a121_0x5b31=function(){return _0x4b7545;};return a121_0x5b31();}function serializeDbSelection(_0x3023cb){const _0xed5532=a121_0x5050f1;return JSON[_0xed5532(0x1a0)]({'dbId':_0x3023cb[_0xed5532(0x1b8)],'dbName':_0x3023cb[_0xed5532(0x1b4)]});}function deserializeDbSelection(_0x30d569){const _0x4096a0=a121_0x5050f1;try{const _0x1f0f30=JSON[_0x4096a0(0x19b)](_0x30d569);if(typeof _0x1f0f30[_0x4096a0(0x1b8)]===_0x4096a0(0x18d)&&Number[_0x4096a0(0x1a5)](_0x1f0f30[_0x4096a0(0x1b8)]))return{'dbId':_0x1f0f30[_0x4096a0(0x1b8)],'dbName':_0x1f0f30['dbName']};}catch{}throw CliErrors[_0x4096a0(0x189)](_0x4096a0(0x1b6)+_0x30d569);}function resolveProvidedDbId(_0x23c783){const _0xc64130=a121_0x5050f1,_0x41ac10=_0x23c783[_0xc64130(0x1a4)](_0xc64130(0x1b1));if(typeof _0x41ac10===_0xc64130(0x18d)&&Number['isFinite'](_0x41ac10))return _0x41ac10;return undefined;}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
const
|
|
1
|
+
function a122_0x5507(){const _0x355351=['trashDir','SQL\x20lock\x20file\x20not\x20found.','str','Delete\x20a\x20SQL\x20query\x20from\x20remote\x20and\x20local','SQL\x20lock\x20file\x20not\x20found.\x20Run\x20`rabetbase\x20sql\x20create`\x20or\x20`rabetbase\x20sql\x20pull`\x20first.','262417KoWAoQ','POST','No\x20SQL\x20lock\x20entry\x20found\x20for\x20\x22','length','1572hVqvWJ','replace','toISOString','appCode','validation','Deleted\x20','high-risk-write','sqls','231EMXiul','45xnQNyl','135355qsbFhD','remoteId','1146162CGqOvf','filter','lastSync','Would\x20delete\x20SQL\x20','142168GqTUCJ','\x20(local\x20file\x20moved\x20to\x20trash)','startsWith','sqlcode','\x20from\x20remote\x20and\x20move\x20local\x20file\x20to\x20','/smartapi/custom/deleteUserCustomSql','2ibhtji','5318721IKrZNN','10eHucXJ','fromEntries','326394FJcIZQ','delete','1502816anKxEP','lockFilePath'];a122_0x5507=function(){return _0x355351;};return a122_0x5507();}const a122_0x31dcbc=a122_0x4577;(function(_0x48e570,_0x10de6e){const _0x26f07a=a122_0x4577,_0x5de03d=_0x48e570();while(!![]){try{const _0x1fd74d=parseInt(_0x26f07a(0x205))/0x1*(parseInt(_0x26f07a(0x1f8))/0x2)+-parseInt(_0x26f07a(0x1ee))/0x3+-parseInt(_0x26f07a(0x1fe))/0x4+parseInt(_0x26f07a(0x1eb))/0x5*(-parseInt(_0x26f07a(0x1fc))/0x6)+parseInt(_0x26f07a(0x1ea))/0x7*(-parseInt(_0x26f07a(0x1f2))/0x8)+-parseInt(_0x26f07a(0x1f9))/0x9*(-parseInt(_0x26f07a(0x1fa))/0xa)+-parseInt(_0x26f07a(0x1ec))/0xb*(-parseInt(_0x26f07a(0x209))/0xc);if(_0x1fd74d===_0x10de6e)break;else _0x5de03d['push'](_0x5de03d['shift']());}catch(_0x1b76dd){_0x5de03d['push'](_0x5de03d['shift']());}}}(a122_0x5507,0x9a2fd));import{mkdir,readdir,rename,rmdir}from'node:fs/promises';import{dirname,join,relative,resolve,sep}from'node:path';function a122_0x4577(_0x109e7d,_0x3b670e){_0x109e7d=_0x109e7d-0x1e9;const _0x5507f5=a122_0x5507();let _0x457785=_0x5507f5[_0x109e7d];return _0x457785;}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';export const sqlDelete={'service':'sql','command':'delete','description':a122_0x31dcbc(0x203),'risk':a122_0x31dcbc(0x20f),'flags':[SQLCODE_FLAG],async 'validate'(_0x1ffac6){const _0x1288bd=a122_0x31dcbc,_0x937ca=loadSqlProjectConfig(_0x1ffac6[_0x1288bd(0x20c)]),_0x404015=await readSqlLockFile(_0x937ca[_0x1288bd(0x1ff)]);if(!_0x404015)throw CliErrors[_0x1288bd(0x20d)](_0x1288bd(0x204));},async 'dryRun'(_0x2582fc){const _0x4beb8f=a122_0x31dcbc,_0x5f2122=loadSqlProjectConfig(_0x2582fc[_0x4beb8f(0x20c)]),_0x495768=await readSqlLockFile(_0x5f2122['lockFilePath']);if(!_0x495768)throw CliErrors[_0x4beb8f(0x20d)]('SQL\x20lock\x20file\x20not\x20found.\x20Run\x20`rabetbase\x20sql\x20create`\x20or\x20`rabetbase\x20sql\x20pull`\x20first.');const {appLock:_0x1b13bb}=ensureSqlLockScope(_0x495768,_0x2582fc[_0x4beb8f(0x20c)],_0x5f2122['sqlRoot'],'delete'),_0x46ad1d=_0x2582fc[_0x4beb8f(0x202)](_0x4beb8f(0x1f5)),_0x22ce75=_0x1b13bb[_0x4beb8f(0x1e9)][_0x46ad1d];if(!_0x22ce75)throw CliErrors[_0x4beb8f(0x20d)](_0x4beb8f(0x207)+_0x46ad1d+'\x22.');return{'method':_0x4beb8f(0x206),'url':_0x4beb8f(0x1f7),'body':{'sqlCode':_0x46ad1d,'id':_0x22ce75[_0x4beb8f(0x1ed)],'localPath':resolveLocalSqlFilePath(_0x5f2122,_0x46ad1d,_0x22ce75)},'description':_0x4beb8f(0x1f1)+_0x46ad1d+_0x4beb8f(0x1f6)+_0x5f2122[_0x4beb8f(0x200)]};},async 'execute'(_0x586673){const _0x390c01=a122_0x31dcbc,_0x1d2fbd=loadSqlProjectConfig(_0x586673['appCode']),_0x4dd4f6=await readSqlLockFile(_0x1d2fbd['lockFilePath']);if(!_0x4dd4f6)throw CliErrors[_0x390c01(0x20d)](_0x390c01(0x201));const {lockData:_0x41b116,appLock:_0x596d2c}=ensureSqlLockScope(_0x4dd4f6,_0x586673[_0x390c01(0x20c)],_0x1d2fbd['sqlRoot'],_0x390c01(0x1fd)),_0x518a55=_0x586673[_0x390c01(0x202)]('sqlcode'),_0x957561=_0x596d2c[_0x390c01(0x1e9)][_0x518a55];if(!_0x957561)throw CliErrors[_0x390c01(0x20d)](_0x390c01(0x207)+_0x518a55+'\x22.');await deleteSqlQuery({'id':_0x957561[_0x390c01(0x1ed)],'sqlCode':_0x518a55}),_0x596d2c[_0x390c01(0x1e9)]=Object[_0x390c01(0x1fb)](Object['entries'](_0x596d2c['sqls'])[_0x390c01(0x1ef)](([_0x52b9a6])=>_0x52b9a6!==_0x518a55)),_0x596d2c[_0x390c01(0x1f0)]=new Date()['toISOString'](),await writeSqlLockFile(_0x1d2fbd['lockFilePath'],_0x41b116);const _0x247d92=resolveLocalSqlFilePath(_0x1d2fbd,_0x518a55,_0x957561);let _0xc1a112;await fileExists(_0x247d92)&&(_0xc1a112=await moveToTrash(_0x1d2fbd['projectRoot'],_0x1d2fbd['trashDir'],_0x247d92),await cleanupEmptyDirectories(dirname(_0x247d92),_0x1d2fbd['sqlRootDir']));const _0x7c8c5b={'deleted':_0x518a55,'remoteId':_0x957561[_0x390c01(0x1ed)]};if(_0xc1a112)_0x7c8c5b['trashedTo']=_0xc1a112;return{'ok':!![],'data':_0x7c8c5b,'message':_0x390c01(0x20e)+_0x518a55+(_0xc1a112?_0x390c01(0x1f3):'')};}};async function moveToTrash(_0x56a834,_0xb0b3ab,_0x3b849d){const _0x5e1f58=a122_0x31dcbc,_0x10c85b=new Date()[_0x5e1f58(0x20b)]()[_0x5e1f58(0x20a)](/[:.]/g,'-'),_0x1a2cdd=relative(_0x56a834,_0x3b849d),_0x40502a=join(_0xb0b3ab,_0x10c85b,_0x1a2cdd);return await mkdir(dirname(_0x40502a),{'recursive':!![]}),await rename(_0x3b849d,_0x40502a),_0x40502a;}async function cleanupEmptyDirectories(_0x17a2af,_0x5bcc48){const _0x281411=a122_0x31dcbc;let _0x2b0bf5=resolve(_0x17a2af);const _0x213407=resolve(_0x5bcc48);while(_0x2b0bf5[_0x281411(0x1f4)](''+_0x213407+sep)||_0x2b0bf5===_0x213407){if(_0x2b0bf5===_0x213407)return;try{const _0x389cc3=await readdir(_0x2b0bf5);if(_0x389cc3[_0x281411(0x208)]>0x0)return;await rmdir(_0x2b0bf5);}catch{return;}_0x2b0bf5=dirname(_0x2b0bf5);}}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
|
|
1
|
+
function a123_0x4adf(){const _0x55fcd6=['read','sql','appCode','94784EOYftr','Get\x20custom\x20SQL\x20query\x20details\x20by\x20sqlCode','Return\x20full\x20raw\x20SQL\x20query\x20object','str','255073LIpZZU','11307cehVkP','422832bObVVY','verbose','191555ZxYiMB','32ePYuyD','sqlName','bool','description','342484UxZVdp','sqlcode','30lokmEM','5lDCzat','sqlCode','detail','254619mVcLQb','dbId'];a123_0x4adf=function(){return _0x55fcd6;};return a123_0x4adf();}function a123_0x4d4f(_0x964d90,_0x59c945){_0x964d90=_0x964d90-0x168;const _0x4adf35=a123_0x4adf();let _0x4d4f72=_0x4adf35[_0x964d90];return _0x4d4f72;}const a123_0x22e416=a123_0x4d4f;(function(_0x59963e,_0x140fd3){const _0x4d231b=a123_0x4d4f,_0x2b145d=_0x59963e();while(!![]){try{const _0x4ae40b=-parseInt(_0x4d231b(0x168))/0x1+parseInt(_0x4d231b(0x178))/0x2+parseInt(_0x4d231b(0x17d))/0x3+parseInt(_0x4d231b(0x16d))/0x4*(parseInt(_0x4d231b(0x170))/0x5)+-parseInt(_0x4d231b(0x17e))/0x6+-parseInt(_0x4d231b(0x17c))/0x7*(-parseInt(_0x4d231b(0x169))/0x8)+parseInt(_0x4d231b(0x173))/0x9*(parseInt(_0x4d231b(0x16f))/0xa);if(_0x4ae40b===_0x140fd3)break;else _0x2b145d['push'](_0x2b145d['shift']());}catch(_0xbfa665){_0x2b145d['push'](_0x2b145d['shift']());}}}(a123_0x4adf,0x19ba8));import{getSqlQueryInfo}from'../../core/api-client.js';import{getDbName}from'../../core/db-resolver.js';import{SQLCODE_FLAG}from'../../commands/common/flags.js';export const sqlDetail={'service':a123_0x22e416(0x176),'command':a123_0x22e416(0x172),'description':a123_0x22e416(0x179),'risk':a123_0x22e416(0x175),'flags':[SQLCODE_FLAG,{'name':a123_0x22e416(0x17f),'type':'boolean','description':a123_0x22e416(0x17a)}],async 'execute'(_0x1480bc){const _0x5aa5e2=a123_0x22e416,_0x1fc242=await getSqlQueryInfo(_0x1480bc[_0x5aa5e2(0x177)],_0x1480bc[_0x5aa5e2(0x17b)](_0x5aa5e2(0x16e))),_0x433f34=_0x1480bc[_0x5aa5e2(0x16b)](_0x5aa5e2(0x17f));if(_0x433f34)return{'ok':!![],'data':_0x1fc242};const _0x20dfe3=_0x1fc242['dbId']?await getDbName(_0x1480bc['appCode'],_0x1fc242[_0x5aa5e2(0x174)]):undefined;return{'ok':!![],'data':{'sqlCode':_0x1fc242[_0x5aa5e2(0x171)],'sqlName':_0x1fc242[_0x5aa5e2(0x16a)],'db':_0x20dfe3?_0x20dfe3+'\x20('+_0x1fc242[_0x5aa5e2(0x174)]+')':_0x1fc242['dbId']??'','description':_0x1fc242[_0x5aa5e2(0x16c)]??'','sqlContent':_0x1fc242['sqlContent']??''}};}};
|
package/lib/commands/sql/exec.js
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
const
|
|
1
|
+
const a124_0x494c5f=a124_0x5128;(function(_0x10995e,_0x6f1e93){const _0x471b76=a124_0x5128,_0x4c3c4f=_0x10995e();while(!![]){try{const _0x4c63b7=parseInt(_0x471b76(0x117))/0x1*(parseInt(_0x471b76(0x120))/0x2)+-parseInt(_0x471b76(0x11a))/0x3*(parseInt(_0x471b76(0x114))/0x4)+parseInt(_0x471b76(0x11d))/0x5*(-parseInt(_0x471b76(0x110))/0x6)+-parseInt(_0x471b76(0x112))/0x7+-parseInt(_0x471b76(0x11f))/0x8+parseInt(_0x471b76(0x11c))/0x9*(parseInt(_0x471b76(0x118))/0xa)+parseInt(_0x471b76(0x111))/0xb;if(_0x4c63b7===_0x6f1e93)break;else _0x4c3c4f['push'](_0x4c3c4f['shift']());}catch(_0x3e31b5){_0x4c3c4f['push'](_0x4c3c4f['shift']());}}}(a124_0x43ca,0xc3c8d));import{executeSql}from'../../core/api-client.js';function a124_0x5128(_0xc8771f,_0x5767f3){_0xc8771f=_0xc8771f-0x10b;const _0x43ca16=a124_0x43ca();let _0x512864=_0x43ca16[_0xc8771f];return _0x512864;}import{SQLCODE_FLAG}from'../../commands/common/flags.js';import{parseJsonParams}from'../../utils/params.js';export const sqlExec={'service':a124_0x494c5f(0x115),'command':a124_0x494c5f(0x11b),'description':a124_0x494c5f(0x116),'risk':'read','flags':[SQLCODE_FLAG,{'name':a124_0x494c5f(0x10d),'type':'string','description':a124_0x494c5f(0x10f)}],async 'execute'(_0x1915d5){const _0x3c3e48=a124_0x494c5f,_0x2c59ea=parseJsonParams(_0x1915d5[_0x3c3e48(0x113)](_0x3c3e48(0x10d))),_0x9deca7=Date[_0x3c3e48(0x11e)](),_0x26ae15=await executeSql(_0x1915d5['appCode'],_0x1915d5['str']('sqlcode'),_0x2c59ea),_0x3c36e4=Date[_0x3c3e48(0x11e)]()-_0x9deca7,_0x1f45e7=_0x26ae15?.['execResult']??_0x26ae15,_0x5d5b1a=_0x26ae15?.['execSuccess']??!![];if(!_0x5d5b1a)return{'ok':![],'data':{'error':_0x26ae15?.['execError']||_0x3c3e48(0x10c),'elapsed':_0x3c36e4},'message':_0x3c3e48(0x10c)};const _0x12ecdb=Array[_0x3c3e48(0x121)](_0x1f45e7)?_0x1f45e7:[];return{'ok':!![],'data':{'rows':_0x12ecdb,'rowCount':_0x12ecdb['length'],'elapsed':_0x3c36e4},'message':_0x3c3e48(0x10b)+_0x12ecdb[_0x3c3e48(0x119)]+_0x3c3e48(0x10e)+_0x3c36e4+'ms'};}};function a124_0x43ca(){const _0xa58f3f=['\x20row(s)\x20in\x20','SQL\x20parameters\x20as\x20JSON\x20string\x20(e.g.\x20\x27{\x22key\x22:\x22value\x22}\x27)','1862178DQOVka','33895224XTlJkw','7649754WgglAe','str','824hMmszE','sql','Execute\x20a\x20custom\x20SQL\x20query\x20by\x20sqlCode','142cZMkZx','2403790tBPpWT','length','4893oEqAfL','exec','9ZYGmKs','15HncSvD','now','1959928ruvCoR','1198CmdNuP','isArray','Returned\x20','SQL\x20execution\x20failed','params'];a124_0x43ca=function(){return _0xa58f3f;};return a124_0x43ca();}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
(function(
|
|
1
|
+
(function(_0x11e19d,_0x58832d){const _0x2efde4=a125_0x342c,_0x2c26cb=_0x11e19d();while(!![]){try{const _0x334e04=-parseInt(_0x2efde4(0x1ea))/0x1*(-parseInt(_0x2efde4(0x1eb))/0x2)+-parseInt(_0x2efde4(0x1ed))/0x3*(parseInt(_0x2efde4(0x1ee))/0x4)+parseInt(_0x2efde4(0x1ec))/0x5+-parseInt(_0x2efde4(0x1f0))/0x6+parseInt(_0x2efde4(0x1e9))/0x7+-parseInt(_0x2efde4(0x1ef))/0x8+parseInt(_0x2efde4(0x1e8))/0x9;if(_0x334e04===_0x58832d)break;else _0x2c26cb['push'](_0x2c26cb['shift']());}catch(_0xb3b3cb){_0x2c26cb['push'](_0x2c26cb['shift']());}}}(a125_0x10ff,0x3db73));import{sqlList}from'../../commands/sql/list.js';import{sqlDetail}from'../../commands/sql/detail.js';import{sqlValidate}from'../../commands/sql/validate.js';import{sqlSave}from'../../commands/sql/save.js';function a125_0x10ff(){const _0x546df3=['1798326TgYipM','2882012OEsRTv','164677dYqwcN','6bdyidH','1125445oDfBhb','9YeKNoT','255748cgcBJg','3381576FZItIp','2780130SELIiF'];a125_0x10ff=function(){return _0x546df3;};return a125_0x10ff();}function a125_0x342c(_0x5c41d4,_0xf56892){_0x5c41d4=_0x5c41d4-0x1e8;const _0x10ff38=a125_0x10ff();let _0x342ceb=_0x10ff38[_0x5c41d4];return _0x342ceb;}import{sqlExec}from'../../commands/sql/exec.js';import{sqlPull}from'../../commands/sql/pull.js';import{sqlCreate}from'../../commands/sql/create.js';import{sqlStatus}from'../../commands/sql/status.js';import{sqlPush}from'../../commands/sql/push.js';import{sqlDelete}from'../../commands/sql/delete.js';export const sqlDefinitions=[sqlList,sqlDetail,sqlStatus,sqlCreate,sqlPush,sqlValidate,sqlSave,sqlExec,sqlPull,sqlDelete];
|
package/lib/commands/sql/list.js
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
const
|
|
1
|
+
const a126_0x90335=a126_0x283e;(function(_0x555229,_0x3ca68a){const _0x3790e5=a126_0x283e,_0x491aef=_0x555229();while(!![]){try{const _0x14695b=-parseInt(_0x3790e5(0x187))/0x1*(parseInt(_0x3790e5(0x177))/0x2)+parseInt(_0x3790e5(0x180))/0x3+parseInt(_0x3790e5(0x193))/0x4*(parseInt(_0x3790e5(0x185))/0x5)+parseInt(_0x3790e5(0x188))/0x6+parseInt(_0x3790e5(0x17e))/0x7+parseInt(_0x3790e5(0x17b))/0x8+-parseInt(_0x3790e5(0x191))/0x9;if(_0x14695b===_0x3ca68a)break;else _0x491aef['push'](_0x491aef['shift']());}catch(_0x396fb4){_0x491aef['push'](_0x491aef['shift']());}}}(a126_0x2fb3,0xcc037));function a126_0x2fb3(){const _0x37db3f=['pagesize','1099253SACYBk','7113504PtczTK','sqlCode','Page\x20number','dbId','number','name','tableData','appCode','page','16790445nFQoma','totalCount','8NvxtXz','str','sqlcode','verbose','read','Page\x20size','sql','2rpeRyv','bool','List\x20custom\x20SQL\x20queries','No\x20custom\x20SQL\x20queries\x20found.','3365248rmSHzC','Filter\x20by\x20SQL\x20name','sqlName','4010377fxqtNA','map','2873232NtDYEi','length','\x20SQL\x20queries\x20(total:\x20','boolean','num','1659005FNSjVI'];a126_0x2fb3=function(){return _0x37db3f;};return a126_0x2fb3();}import{listSqlQueries}from'../../core/api-client.js';function a126_0x283e(_0x3c68a5,_0x196ffb){_0x3c68a5=_0x3c68a5-0x174;const _0x2fb396=a126_0x2fb3();let _0x283ee3=_0x2fb396[_0x3c68a5];return _0x283ee3;}import{getDbName}from'../../core/db-resolver.js';import{SQLCODE_FLAG_OPTIONAL}from'../../commands/common/flags.js';export const sqlList={'service':a126_0x90335(0x176),'command':'list','description':a126_0x90335(0x179),'risk':a126_0x90335(0x174),'flags':[SQLCODE_FLAG_OPTIONAL,{'name':a126_0x90335(0x18d),'type':'string','description':a126_0x90335(0x17c)},{'name':a126_0x90335(0x190),'type':'number','description':a126_0x90335(0x18a),'default':0x1},{'name':a126_0x90335(0x186),'type':a126_0x90335(0x18c),'description':a126_0x90335(0x175)},{'name':a126_0x90335(0x196),'type':a126_0x90335(0x183),'description':'Return\x20full\x20SQL\x20query\x20objects\x20including\x20parameters\x20and\x20SQL\x20content'}],async 'execute'(_0x36b678){const _0x3aa7ef=a126_0x90335,_0x52e8f4=await listSqlQueries(_0x36b678[_0x3aa7ef(0x18f)],{'sqlCode':_0x36b678[_0x3aa7ef(0x194)](_0x3aa7ef(0x195))||undefined,'sqlName':_0x36b678['str'](_0x3aa7ef(0x18d))||undefined,'currentPage':_0x36b678[_0x3aa7ef(0x184)](_0x3aa7ef(0x190)),'pageSize':_0x36b678[_0x3aa7ef(0x184)]('pagesize',0x32)}),_0x4cfe71=_0x36b678[_0x3aa7ef(0x178)](_0x3aa7ef(0x196)),_0x2ab665=_0x52e8f4[_0x3aa7ef(0x18e)]??[],_0x4a4459=_0x52e8f4['paging']?.[_0x3aa7ef(0x192)]??_0x2ab665[_0x3aa7ef(0x181)];let _0x445a44;return _0x4cfe71?_0x445a44=_0x2ab665:_0x445a44=await Promise['all'](_0x2ab665[_0x3aa7ef(0x17f)](async _0x45c20e=>{const _0x401ed0=_0x3aa7ef;let _0x36469c;try{_0x36469c=_0x45c20e[_0x401ed0(0x18b)]?await getDbName(_0x36b678['appCode'],_0x45c20e[_0x401ed0(0x18b)]):undefined;}catch{}return{'sqlCode':_0x45c20e[_0x401ed0(0x189)],'sqlName':_0x45c20e[_0x401ed0(0x17d)],'description':_0x45c20e['description']??'','db':_0x36469c?_0x36469c+'\x20('+_0x45c20e[_0x401ed0(0x18b)]+')':_0x45c20e['dbId']??''};})),{'ok':!![],'data':_0x445a44,'message':_0x2ab665[_0x3aa7ef(0x181)]===0x0?_0x3aa7ef(0x17a):'Found\x20'+_0x2ab665['length']+_0x3aa7ef(0x182)+_0x4a4459+').'};}};
|
package/lib/commands/sql/pull.js
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
const a127_0x3e9caa=a127_0x53a8;(function(_0x55f4bc,_0x112f41){const _0x1e76f4=a127_0x53a8,_0x2741a5=_0x55f4bc();while(!![]){try{const _0x2809b6=parseInt(_0x1e76f4(0x1cc))/0x1*(parseInt(_0x1e76f4(0x1c7))/0x2)+-parseInt(_0x1e76f4(0x1c2))/0x3*(parseInt(_0x1e76f4(0x1c0))/0x4)+-parseInt(_0x1e76f4(0x1db))/0x5+-parseInt(_0x1e76f4(0x1f6))/0x6*(-parseInt(_0x1e76f4(0x1f1))/0x7)+-parseInt(_0x1e76f4(0x1cb))/0x8+-parseInt(_0x1e76f4(0x1ce))/0x9*(-parseInt(_0x1e76f4(0x1f8))/0xa)+-parseInt(_0x1e76f4(0x1e4))/0xb;if(_0x2809b6===_0x112f41)break;else _0x2741a5['push'](_0x2741a5['shift']());}catch(_0x596586){_0x2741a5['push'](_0x2741a5['shift']());}}}(a127_0x2b4f,0xb68c7));import{readFile,rm,writeFile}from'node:fs/promises';import{join}from'node:path';import{getSqlQueryDetail,listSqlQueries}from'../../core/api-client.js';import{ensureParentDirectory,fileExists}from'../../core/bff/file-system.js';import{getDbName}from'../../core/db-resolver.js';import{loadSqlProjectConfig}from'../../core/sql-sync/config.js';function a127_0x2b4f(){const _0x3b827e=['replace','No\x20remote\x20SQL\x20queries\x20matched.','lockFilePath','write','6800025VDvoTX','conflict','\x20written,\x20','utf8','sqlName','description','sqlContent','Pull\x20remote\x20SQL\x20queries\x20to\x20local\x20.rabetbase/sql/','Force\x20pull\x20cancelled.','8335184RGKfsv','filter','Force\x20pull\x20will\x20overwrite\x20local\x20SQL\x20that\x20differs\x20from\x20remote.','Would\x20pull\x20','sqlRoot','sqlcode','name','\x20skipped,\x20','catch','local\x20differs\x20from\x20remote','string','Filter\x20by\x20SQL\x20display\x20name','sqls','278803MVdJzz','boolean','local\x20differs\x20from\x20remote\x20(use\x20--force\x20to\x20overwrite)','Pull\x20complete:\x20','toISOString','156cxgDVg','dbId','14500820QUCmsl','pull','str','push','sqlCode','sql','apps','test','47180BbHUzp','lastSync','66dgdeos','unchanged','length','\x20SQL\x20file(s)\x20into\x20','POST','81188lLybTQ','would_pull','\x20failed','Force\x20overwrite\x20local\x20unsynced\x20changes','5277488gSTSgC','32HrlmdF','sqlRootDir','9HmvtyG','path','mybatisXml','split','force','cancelled','/smartapi/custom/queryUserCustomSqlList\x20+\x20/smartapi/custom/getUserCustomSql','tableData','appCode'];a127_0x2b4f=function(){return _0x3b827e;};return a127_0x2b4f();}import{computeSqlContentHash}from'../../core/sql-sync/hash.js';function a127_0x53a8(_0x2839d9,_0x429833){_0x2839d9=_0x2839d9-0x1bb;const _0x2b4fb9=a127_0x2b4f();let _0x53a8ca=_0x2b4fb9[_0x2839d9];return _0x53a8ca;}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(_0x266ffd,_0x7eae3){const _0x700e43=a127_0x53a8,_0x5388d9=[];let _0x3358cd=0x1;while(!![]){const _0x244dde=await listSqlQueries(_0x266ffd,{'currentPage':_0x3358cd,'pageSize':PAGE_SIZE,'sqlCode':_0x7eae3['sqlCode'],'sqlName':_0x7eae3[_0x700e43(0x1df)]}),_0x494768=_0x244dde[_0x700e43(0x1d5)]??[];_0x5388d9[_0x700e43(0x1bb)](..._0x494768);if(_0x494768[_0x700e43(0x1c4)]===0x0)break;const _0x12a95b=_0x244dde['paging']?.['totalCount'];if(_0x12a95b!=null?_0x5388d9[_0x700e43(0x1c4)]>=_0x12a95b:_0x494768[_0x700e43(0x1c4)]<PAGE_SIZE)break;_0x3358cd++;}return _0x5388d9;}async function ensureSqlContent(_0x174791){const _0x508cd6=a127_0x53a8;if(_0x174791['sqlContent']!=null&&String(_0x174791[_0x508cd6(0x1e1)])['length']>0x0)return _0x174791;return getSqlQueryDetail(_0x174791[_0x508cd6(0x1bc)]);}export const sqlPull={'service':a127_0x3e9caa(0x1bd),'command':a127_0x3e9caa(0x1f9),'description':a127_0x3e9caa(0x1e2),'risk':a127_0x3e9caa(0x1da),'flags':[SQLCODE_FLAG_OPTIONAL,{'name':a127_0x3e9caa(0x1ea),'type':a127_0x3e9caa(0x1ee),'description':a127_0x3e9caa(0x1ef)},{'name':a127_0x3e9caa(0x1d2),'type':a127_0x3e9caa(0x1f2),'description':a127_0x3e9caa(0x1ca)}],async 'dryRun'(_0x3153cc){const _0x33ed81=a127_0x3e9caa,_0x15ef9b=loadSqlProjectConfig(_0x3153cc[_0x33ed81(0x1d6)]),_0x2ad256=await readSqlLockFile(_0x15ef9b[_0x33ed81(0x1d9)]),{appLock:_0x55974d}=ensureSqlLockScope(_0x2ad256??createEmptySqlLock(),_0x15ef9b[_0x33ed81(0x1d6)],_0x15ef9b[_0x33ed81(0x1e8)],_0x33ed81(0x1f9)),_0x2ef500=await fetchAllSqlQueries(_0x3153cc[_0x33ed81(0x1d6)],{'sqlCode':_0x3153cc['str']('sqlcode')||undefined,'sqlName':_0x3153cc[_0x33ed81(0x1fa)](_0x33ed81(0x1ea))||undefined}),_0x1a83f8=[];for(const _0x5966fc of _0x2ef500){const _0x517394=await ensureSqlContent(_0x5966fc),_0x599a9e=ensureRemoteSqlContent(_0x517394),_0x52a589=detectModeFromSql(_0x517394),_0x188f53=_0x517394[_0x33ed81(0x1f7)]?await getDbName(_0x3153cc['appCode'],Number(_0x517394[_0x33ed81(0x1f7)]))[_0x33ed81(0x1ec)](()=>undefined):undefined,_0x547ad3=buildLocalSqlFileContent({'sqlCode':_0x517394[_0x33ed81(0x1bc)],'sqlName':_0x517394[_0x33ed81(0x1df)],'dbId':_0x517394[_0x33ed81(0x1f7)]},_0x599a9e,{'dbName':_0x188f53,'mode':_0x52a589,'syncedAt':new Date()[_0x33ed81(0x1f5)](),'description':_0x517394['description']}),_0x51d9dc=buildSqlLockEntry(_0x517394,_0x599a9e,'',{'dbName':_0x188f53}),_0x15fcf4=resolveLocalSqlFilePath(_0x15ef9b,_0x517394['sqlCode'],_0x51d9dc);let _0x26e3c0=_0x33ed81(0x1c8),_0x475af8;if(await fileExists(_0x15fcf4)){const _0x45eb57=await readFile(_0x15fcf4,_0x33ed81(0x1de));isEquivalentPulledSqlFile(_0x45eb57,_0x547ad3,_0x52a589)?(_0x26e3c0='skipped',_0x475af8=_0x33ed81(0x1c3)):(_0x26e3c0=_0x33ed81(0x1dc),_0x475af8=_0x33ed81(0x1f3));}_0x1a83f8[_0x33ed81(0x1bb)]({'sqlCode':_0x517394['sqlCode'],'sqlName':_0x517394[_0x33ed81(0x1df)],'filePath':_0x15fcf4,'status':_0x26e3c0,'reason':_0x475af8});}return{'method':_0x33ed81(0x1c6),'url':_0x33ed81(0x1d4),'body':{'appCode':_0x3153cc['appCode'],'sqlCode':_0x3153cc[_0x33ed81(0x1fa)](_0x33ed81(0x1e9))||null,'sqlName':_0x3153cc[_0x33ed81(0x1fa)]('name')||null,'files':_0x1a83f8},'description':_0x33ed81(0x1e7)+_0x1a83f8['length']+_0x33ed81(0x1c5)+_0x15ef9b[_0x33ed81(0x1cd)]};},async 'execute'(_0x5c8dcb){const _0x6f6ec2=a127_0x3e9caa,_0x48ada9=loadSqlProjectConfig(_0x5c8dcb[_0x6f6ec2(0x1d6)]),_0x56418e=await readSqlLockFile(_0x48ada9[_0x6f6ec2(0x1d9)]),{lockData:_0x18ffa3,appLock:_0x28db20}=ensureSqlLockScope(_0x56418e??createEmptySqlLock(),_0x48ada9[_0x6f6ec2(0x1d6)],_0x48ada9[_0x6f6ec2(0x1e8)],_0x6f6ec2(0x1f9)),_0x5c0da4=_0x5c8dcb['bool'](_0x6f6ec2(0x1d2)),_0x262cd2=await fetchAllSqlQueries(_0x5c8dcb[_0x6f6ec2(0x1d6)],{'sqlCode':_0x5c8dcb[_0x6f6ec2(0x1fa)](_0x6f6ec2(0x1e9))||undefined,'sqlName':_0x5c8dcb['str'](_0x6f6ec2(0x1ea))||undefined});if(_0x262cd2[_0x6f6ec2(0x1c4)]===0x0)return{'ok':!![],'data':{'pulled':[],'skipped':[],'failed':[]},'message':_0x6f6ec2(0x1d8)};const _0x4e8e9e=[],_0x31d374=[];for(const _0x245f33 of _0x262cd2){try{_0x4e8e9e[_0x6f6ec2(0x1bb)](await ensureSqlContent(_0x245f33));}catch(_0x437dad){_0x31d374[_0x6f6ec2(0x1bb)]({'sqlCode':_0x245f33[_0x6f6ec2(0x1bc)],'error':_0x437dad instanceof Error?_0x437dad['message']:String(_0x437dad)});}}if(_0x5c0da4&&!_0x5c8dcb['nonInteractive']){let _0x33ccad=![];for(const _0x2c3130 of _0x4e8e9e){const _0x4d37ea=detectModeFromSql(_0x2c3130),_0x477190=_0x2c3130[_0x6f6ec2(0x1f7)]?await getDbName(_0x5c8dcb['appCode'],Number(_0x2c3130[_0x6f6ec2(0x1f7)]))['catch'](()=>undefined):undefined,_0x2e25f1=buildLocalSqlFileContent({'sqlCode':_0x2c3130['sqlCode'],'sqlName':_0x2c3130[_0x6f6ec2(0x1df)],'dbId':_0x2c3130['dbId']},ensureRemoteSqlContent(_0x2c3130),{'dbName':_0x477190,'mode':_0x4d37ea,'syncedAt':new Date()[_0x6f6ec2(0x1f5)](),'description':_0x2c3130['description']}),_0x48a823=resolveLocalSqlFilePath(_0x48ada9,_0x2c3130[_0x6f6ec2(0x1bc)],buildSqlLockEntry(_0x2c3130,ensureRemoteSqlContent(_0x2c3130),'',{'dbName':_0x477190}));if(await fileExists(_0x48a823)){const _0x16e0ef=await readFile(_0x48a823,'utf8');if(!isEquivalentPulledSqlFile(_0x16e0ef,_0x2e25f1,_0x4d37ea)){_0x33ccad=!![];break;}}}if(_0x33ccad){const _0x456115=await confirmForceOverwrite(_0x6f6ec2(0x1e6));if(!_0x456115)throw CliErrors[_0x6f6ec2(0x1d3)](_0x6f6ec2(0x1e3));}}const _0x259c91=cloneSqlLockData(_0x18ffa3),_0x3f37ae=_0x259c91[_0x6f6ec2(0x1be)][_0x48ada9[_0x6f6ec2(0x1d6)]],_0x551c0d=[],_0x24eafc=[];for(const _0x3ab526 of _0x4e8e9e){const _0x3a920e=_0x3f37ae[_0x6f6ec2(0x1f0)][_0x3ab526['sqlCode']],_0x171916=ensureRemoteSqlContent(_0x3ab526),_0x325ac4=detectModeFromSql(_0x3ab526),_0x56855b=_0x3ab526[_0x6f6ec2(0x1f7)]?await getDbName(_0x5c8dcb[_0x6f6ec2(0x1d6)],Number(_0x3ab526[_0x6f6ec2(0x1f7)]))[_0x6f6ec2(0x1ec)](()=>undefined):undefined,_0x2ac301=buildLocalSqlFileContent({'sqlCode':_0x3ab526[_0x6f6ec2(0x1bc)],'sqlName':_0x3ab526[_0x6f6ec2(0x1df)],'dbId':_0x3ab526['dbId']},_0x171916,{'dbName':_0x56855b,'mode':_0x325ac4,'syncedAt':new Date()[_0x6f6ec2(0x1f5)](),'description':_0x3ab526[_0x6f6ec2(0x1e0)]}),_0x16e6ed=buildSqlLockEntry(_0x3ab526,_0x171916,computeSqlContentHash(_0x2ac301),{'dbName':_0x56855b}),_0x84b0b7=_0x16e6ed['path'],_0x11cef7=join(_0x48ada9[_0x6f6ec2(0x1cd)],_0x84b0b7);try{if(await fileExists(_0x11cef7)){const _0x59c329=await readFile(_0x11cef7,_0x6f6ec2(0x1de));if(isEquivalentPulledSqlFile(_0x59c329,_0x2ac301,_0x325ac4)){_0x24eafc[_0x6f6ec2(0x1bb)]({'sqlCode':_0x3ab526['sqlCode'],'reason':'unchanged'}),_0x3f37ae[_0x6f6ec2(0x1f0)][_0x3ab526['sqlCode']]={..._0x16e6ed,'hash':computeSqlContentHash(_0x59c329),'path':_0x84b0b7};continue;}if(!_0x5c0da4){_0x24eafc[_0x6f6ec2(0x1bb)]({'sqlCode':_0x3ab526[_0x6f6ec2(0x1bc)],'reason':_0x6f6ec2(0x1ed)});continue;}}const _0x5863b3=_0x3a920e?.[_0x6f6ec2(0x1cf)]?join(_0x48ada9['sqlRootDir'],_0x3a920e[_0x6f6ec2(0x1cf)]):undefined;_0x5863b3&&_0x5863b3!==_0x11cef7&&await fileExists(_0x5863b3)&&await rm(_0x5863b3,{'force':!![]}),await ensureParentDirectory(_0x11cef7),await writeFile(_0x11cef7,_0x2ac301,_0x6f6ec2(0x1de)),_0x3f37ae[_0x6f6ec2(0x1f0)][_0x3ab526[_0x6f6ec2(0x1bc)]]={..._0x16e6ed,'path':_0x84b0b7},_0x551c0d[_0x6f6ec2(0x1bb)]({'sqlCode':_0x3ab526[_0x6f6ec2(0x1bc)],'filePath':_0x11cef7});}catch(_0x4bee49){_0x31d374[_0x6f6ec2(0x1bb)]({'sqlCode':_0x3ab526[_0x6f6ec2(0x1bc)],'error':_0x4bee49 instanceof Error?_0x4bee49['message']:String(_0x4bee49)});}}return _0x3f37ae[_0x6f6ec2(0x1c1)]=new Date()['toISOString'](),await writeSqlLockFile(_0x48ada9['lockFilePath'],_0x259c91),{'ok':_0x31d374[_0x6f6ec2(0x1c4)]===0x0,'data':{'pulled':_0x551c0d,'skipped':_0x24eafc,'failed':_0x31d374},'message':_0x6f6ec2(0x1f4)+_0x551c0d['length']+_0x6f6ec2(0x1dd)+_0x24eafc[_0x6f6ec2(0x1c4)]+_0x6f6ec2(0x1eb)+_0x31d374['length']+_0x6f6ec2(0x1c9)};}};function detectModeFromSql(_0x2dd021){const _0x36bd7c=a127_0x3e9caa,_0x4212d7=ensureRemoteSqlContent(_0x2dd021),_0x258af5=stripLocalSqlMetadata(_0x4212d7,_0x36bd7c(0x1d0))['trimStart']();if(/^<(select|insert|update|delete)\b/i['test'](_0x258af5))return _0x36bd7c(0x1d0);return _0x36bd7c(0x1bd);}function isEquivalentPulledSqlFile(_0xb64ea8,_0x419671,_0x77316c){return normalizePullComparableContent(_0xb64ea8,_0x77316c)===normalizePullComparableContent(_0x419671,_0x77316c);}function normalizePullComparableContent(_0xdfcfc1,_0x4fce48){const _0x6122fb=a127_0x3e9caa,_0x3db615=_0xdfcfc1[_0x6122fb(0x1d7)](/\r\n/g,'\x0a')[_0x6122fb(0x1d1)]('\x0a'),_0x411886=_0x3db615[_0x6122fb(0x1e5)](_0x4e4600=>!isSyncedAtMetadataLine(_0x4e4600,_0x4fce48));return _0x411886['join']('\x0a');}function isSyncedAtMetadataLine(_0x4e749b,_0x16baa1){const _0x19c144=a127_0x3e9caa;if(_0x16baa1===_0x19c144(0x1d0))return/^\s*<!--\s*@lovrabet\.syncedAt:/[_0x19c144(0x1bf)](_0x4e749b);return/^\s*--\s*@lovrabet\.syncedAt:/[_0x19c144(0x1bf)](_0x4e749b);}
|
|
1
|
+
const a127_0xcfa1cd=a127_0x474a;(function(_0x266d33,_0x48bbc1){const _0x2f266e=a127_0x474a,_0x585a0e=_0x266d33();while(!![]){try{const _0x1d1f78=parseInt(_0x2f266e(0x19b))/0x1+-parseInt(_0x2f266e(0x187))/0x2+-parseInt(_0x2f266e(0x178))/0x3+parseInt(_0x2f266e(0x180))/0x4*(-parseInt(_0x2f266e(0x186))/0x5)+-parseInt(_0x2f266e(0x1a1))/0x6*(parseInt(_0x2f266e(0x174))/0x7)+parseInt(_0x2f266e(0x191))/0x8*(-parseInt(_0x2f266e(0x16e))/0x9)+parseInt(_0x2f266e(0x167))/0xa*(parseInt(_0x2f266e(0x199))/0xb);if(_0x1d1f78===_0x48bbc1)break;else _0x585a0e['push'](_0x585a0e['shift']());}catch(_0xa93c2){_0x585a0e['push'](_0x585a0e['shift']());}}}(a127_0x4a63,0x19ba5));import{readFile,rm,writeFile}from'node:fs/promises';import{join}from'node:path';import{getSqlQueryDetail,listSqlQueries}from'../../core/api-client.js';import{ensureParentDirectory,fileExists}from'../../core/bff/file-system.js';import{getDbName}from'../../core/db-resolver.js';import{loadSqlProjectConfig}from'../../core/sql-sync/config.js';import{computeSqlContentHash}from'../../core/sql-sync/hash.js';import{createEmptySqlLock,ensureSqlLockScope,readSqlLockFile,writeSqlLockFile}from'../../core/sql-sync/lock.js';import{resolveLocalSqlFilePath}from'../../core/sql-sync/file-system.js';function a127_0x474a(_0x2204a5,_0x2a1271){_0x2204a5=_0x2204a5-0x165;const _0x4a6349=a127_0x4a63();let _0x474afd=_0x4a6349[_0x2204a5];return _0x474afd;}import{CliErrors}from'../../errors.js';function a127_0x4a63(){const _0x2366e0=['423OvLFOg','trimStart','description','Force\x20pull\x20will\x20overwrite\x20local\x20SQL\x20that\x20differs\x20from\x20remote.','force','push','21343hhgBEN','utf8','sqlcode','totalCount','201705xaHHqB','Force\x20pull\x20cancelled.','dbId','catch','pull','boolean','sqlRootDir','sqlContent','31660nnbyhE','local\x20differs\x20from\x20remote\x20(use\x20--force\x20to\x20overwrite)','local\x20differs\x20from\x20remote','join','Filter\x20by\x20SQL\x20display\x20name','bool','105OvnaLT','69354UwMfRI','nonInteractive','appCode','path','POST','Force\x20overwrite\x20local\x20unsynced\x20changes','message','test','/smartapi/custom/queryUserCustomSqlList\x20+\x20/smartapi/custom/getUserCustomSql','\x20SQL\x20file(s)\x20into\x20','20688JrFfLT','split','\x20written,\x20','str','mybatisXml','tableData','would_pull','length','6680773UJAUaP','filter','55402fxqEDa','apps','paging','sql','lastSync','sqls','330SDbhcI','Pull\x20complete:\x20','lockFilePath','string','cancelled','skipped','10pSiydi','unchanged','conflict','name','toISOString','sqlName','sqlCode'];a127_0x4a63=function(){return _0x2366e0;};return a127_0x4a63();}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(_0x38424d,_0x26f089){const _0x449ec2=a127_0x474a,_0x31e265=[];let _0x34748b=0x1;while(!![]){const _0x4299db=await listSqlQueries(_0x38424d,{'currentPage':_0x34748b,'pageSize':PAGE_SIZE,'sqlCode':_0x26f089['sqlCode'],'sqlName':_0x26f089[_0x449ec2(0x16c)]}),_0x5479db=_0x4299db[_0x449ec2(0x196)]??[];_0x31e265[_0x449ec2(0x173)](..._0x5479db);if(_0x5479db[_0x449ec2(0x198)]===0x0)break;const _0x5322f8=_0x4299db[_0x449ec2(0x19d)]?.[_0x449ec2(0x177)];if(_0x5322f8!=null?_0x31e265[_0x449ec2(0x198)]>=_0x5322f8:_0x5479db['length']<PAGE_SIZE)break;_0x34748b++;}return _0x31e265;}async function ensureSqlContent(_0x32ed5f){const _0x5d7745=a127_0x474a;if(_0x32ed5f[_0x5d7745(0x17f)]!=null&&String(_0x32ed5f['sqlContent'])[_0x5d7745(0x198)]>0x0)return _0x32ed5f;return getSqlQueryDetail(_0x32ed5f[_0x5d7745(0x16d)]);}export const sqlPull={'service':a127_0xcfa1cd(0x19e),'command':a127_0xcfa1cd(0x17c),'description':'Pull\x20remote\x20SQL\x20queries\x20to\x20local\x20.rabetbase/sql/','risk':'write','flags':[SQLCODE_FLAG_OPTIONAL,{'name':'name','type':a127_0xcfa1cd(0x1a4),'description':a127_0xcfa1cd(0x184)},{'name':a127_0xcfa1cd(0x172),'type':a127_0xcfa1cd(0x17d),'description':a127_0xcfa1cd(0x18c)}],async 'dryRun'(_0x3c5b3e){const _0x2028cf=a127_0xcfa1cd,_0x4af34e=loadSqlProjectConfig(_0x3c5b3e['appCode']),_0x4b7126=await readSqlLockFile(_0x4af34e['lockFilePath']),{appLock:_0x2d9b3e}=ensureSqlLockScope(_0x4b7126??createEmptySqlLock(),_0x4af34e[_0x2028cf(0x189)],_0x4af34e['sqlRoot'],'pull'),_0x4f42a0=await fetchAllSqlQueries(_0x3c5b3e['appCode'],{'sqlCode':_0x3c5b3e[_0x2028cf(0x194)](_0x2028cf(0x176))||undefined,'sqlName':_0x3c5b3e[_0x2028cf(0x194)](_0x2028cf(0x16a))||undefined}),_0x2c5e51=[];for(const _0x5d53eb of _0x4f42a0){const _0x4e2a41=await ensureSqlContent(_0x5d53eb),_0x32b64a=ensureRemoteSqlContent(_0x4e2a41),_0x4a62ba=detectModeFromSql(_0x4e2a41),_0x1665bb=_0x4e2a41['dbId']?await getDbName(_0x3c5b3e[_0x2028cf(0x189)],Number(_0x4e2a41[_0x2028cf(0x17a)]))[_0x2028cf(0x17b)](()=>undefined):undefined,_0x5332c1=buildLocalSqlFileContent({'sqlCode':_0x4e2a41[_0x2028cf(0x16d)],'sqlName':_0x4e2a41[_0x2028cf(0x16c)],'dbId':_0x4e2a41[_0x2028cf(0x17a)]},_0x32b64a,{'dbName':_0x1665bb,'mode':_0x4a62ba,'syncedAt':new Date()[_0x2028cf(0x16b)](),'description':_0x4e2a41[_0x2028cf(0x170)]}),_0x575019=buildSqlLockEntry(_0x4e2a41,_0x32b64a,'',{'dbName':_0x1665bb}),_0x651824=resolveLocalSqlFilePath(_0x4af34e,_0x4e2a41[_0x2028cf(0x16d)],_0x575019);let _0x1080ed=_0x2028cf(0x197),_0x5d0638;if(await fileExists(_0x651824)){const _0x3bbdae=await readFile(_0x651824,'utf8');isEquivalentPulledSqlFile(_0x3bbdae,_0x5332c1,_0x4a62ba)?(_0x1080ed=_0x2028cf(0x166),_0x5d0638=_0x2028cf(0x168)):(_0x1080ed=_0x2028cf(0x169),_0x5d0638=_0x2028cf(0x181));}_0x2c5e51[_0x2028cf(0x173)]({'sqlCode':_0x4e2a41['sqlCode'],'sqlName':_0x4e2a41['sqlName'],'filePath':_0x651824,'status':_0x1080ed,'reason':_0x5d0638});}return{'method':_0x2028cf(0x18b),'url':_0x2028cf(0x18f),'body':{'appCode':_0x3c5b3e[_0x2028cf(0x189)],'sqlCode':_0x3c5b3e[_0x2028cf(0x194)](_0x2028cf(0x176))||null,'sqlName':_0x3c5b3e[_0x2028cf(0x194)](_0x2028cf(0x16a))||null,'files':_0x2c5e51},'description':'Would\x20pull\x20'+_0x2c5e51[_0x2028cf(0x198)]+_0x2028cf(0x190)+_0x4af34e[_0x2028cf(0x17e)]};},async 'execute'(_0x10ab3d){const _0xb89654=a127_0xcfa1cd,_0x4ba8ce=loadSqlProjectConfig(_0x10ab3d[_0xb89654(0x189)]),_0x15acc7=await readSqlLockFile(_0x4ba8ce[_0xb89654(0x1a3)]),{lockData:_0x4c8a82,appLock:_0x1cb7c2}=ensureSqlLockScope(_0x15acc7??createEmptySqlLock(),_0x4ba8ce[_0xb89654(0x189)],_0x4ba8ce['sqlRoot'],_0xb89654(0x17c)),_0x3af5b0=_0x10ab3d[_0xb89654(0x185)](_0xb89654(0x172)),_0x5766f3=await fetchAllSqlQueries(_0x10ab3d['appCode'],{'sqlCode':_0x10ab3d[_0xb89654(0x194)](_0xb89654(0x176))||undefined,'sqlName':_0x10ab3d['str']('name')||undefined});if(_0x5766f3[_0xb89654(0x198)]===0x0)return{'ok':!![],'data':{'pulled':[],'skipped':[],'failed':[]},'message':'No\x20remote\x20SQL\x20queries\x20matched.'};const _0x1ebb4f=[],_0x396ff3=[];for(const _0x5733f0 of _0x5766f3){try{_0x1ebb4f['push'](await ensureSqlContent(_0x5733f0));}catch(_0x7f4446){_0x396ff3[_0xb89654(0x173)]({'sqlCode':_0x5733f0['sqlCode'],'error':_0x7f4446 instanceof Error?_0x7f4446['message']:String(_0x7f4446)});}}if(_0x3af5b0&&!_0x10ab3d[_0xb89654(0x188)]){let _0x3f62b8=![];for(const _0x1d006c of _0x1ebb4f){const _0x54d362=detectModeFromSql(_0x1d006c),_0x1c61fa=_0x1d006c['dbId']?await getDbName(_0x10ab3d[_0xb89654(0x189)],Number(_0x1d006c['dbId']))[_0xb89654(0x17b)](()=>undefined):undefined,_0x3c9fe9=buildLocalSqlFileContent({'sqlCode':_0x1d006c[_0xb89654(0x16d)],'sqlName':_0x1d006c['sqlName'],'dbId':_0x1d006c['dbId']},ensureRemoteSqlContent(_0x1d006c),{'dbName':_0x1c61fa,'mode':_0x54d362,'syncedAt':new Date()[_0xb89654(0x16b)](),'description':_0x1d006c[_0xb89654(0x170)]}),_0x853421=resolveLocalSqlFilePath(_0x4ba8ce,_0x1d006c['sqlCode'],buildSqlLockEntry(_0x1d006c,ensureRemoteSqlContent(_0x1d006c),'',{'dbName':_0x1c61fa}));if(await fileExists(_0x853421)){const _0x4e345c=await readFile(_0x853421,_0xb89654(0x175));if(!isEquivalentPulledSqlFile(_0x4e345c,_0x3c9fe9,_0x54d362)){_0x3f62b8=!![];break;}}}if(_0x3f62b8){const _0x2468dc=await confirmForceOverwrite(_0xb89654(0x171));if(!_0x2468dc)throw CliErrors[_0xb89654(0x165)](_0xb89654(0x179));}}const _0x2bf294=cloneSqlLockData(_0x4c8a82),_0x4a9300=_0x2bf294[_0xb89654(0x19c)][_0x4ba8ce[_0xb89654(0x189)]],_0x44bbcf=[],_0x544880=[];for(const _0x13705d of _0x1ebb4f){const _0x3a5583=_0x4a9300['sqls'][_0x13705d['sqlCode']],_0x20e352=ensureRemoteSqlContent(_0x13705d),_0x227bce=detectModeFromSql(_0x13705d),_0x349eea=_0x13705d[_0xb89654(0x17a)]?await getDbName(_0x10ab3d[_0xb89654(0x189)],Number(_0x13705d['dbId']))[_0xb89654(0x17b)](()=>undefined):undefined,_0x539fa4=buildLocalSqlFileContent({'sqlCode':_0x13705d[_0xb89654(0x16d)],'sqlName':_0x13705d[_0xb89654(0x16c)],'dbId':_0x13705d[_0xb89654(0x17a)]},_0x20e352,{'dbName':_0x349eea,'mode':_0x227bce,'syncedAt':new Date()['toISOString'](),'description':_0x13705d[_0xb89654(0x170)]}),_0x3b7102=buildSqlLockEntry(_0x13705d,_0x20e352,computeSqlContentHash(_0x539fa4),{'dbName':_0x349eea}),_0x6b925e=_0x3b7102[_0xb89654(0x18a)],_0x1bc664=join(_0x4ba8ce[_0xb89654(0x17e)],_0x6b925e);try{if(await fileExists(_0x1bc664)){const _0x1b6746=await readFile(_0x1bc664,_0xb89654(0x175));if(isEquivalentPulledSqlFile(_0x1b6746,_0x539fa4,_0x227bce)){_0x544880[_0xb89654(0x173)]({'sqlCode':_0x13705d[_0xb89654(0x16d)],'reason':_0xb89654(0x168)}),_0x4a9300[_0xb89654(0x1a0)][_0x13705d[_0xb89654(0x16d)]]={..._0x3b7102,'hash':computeSqlContentHash(_0x1b6746),'path':_0x6b925e};continue;}if(!_0x3af5b0){_0x544880[_0xb89654(0x173)]({'sqlCode':_0x13705d['sqlCode'],'reason':_0xb89654(0x182)});continue;}}const _0x1274b2=_0x3a5583?.[_0xb89654(0x18a)]?join(_0x4ba8ce[_0xb89654(0x17e)],_0x3a5583[_0xb89654(0x18a)]):undefined;_0x1274b2&&_0x1274b2!==_0x1bc664&&await fileExists(_0x1274b2)&&await rm(_0x1274b2,{'force':!![]}),await ensureParentDirectory(_0x1bc664),await writeFile(_0x1bc664,_0x539fa4,'utf8'),_0x4a9300[_0xb89654(0x1a0)][_0x13705d[_0xb89654(0x16d)]]={..._0x3b7102,'path':_0x6b925e},_0x44bbcf[_0xb89654(0x173)]({'sqlCode':_0x13705d[_0xb89654(0x16d)],'filePath':_0x1bc664});}catch(_0x29768b){_0x396ff3['push']({'sqlCode':_0x13705d[_0xb89654(0x16d)],'error':_0x29768b instanceof Error?_0x29768b[_0xb89654(0x18d)]:String(_0x29768b)});}}return _0x4a9300[_0xb89654(0x19f)]=new Date()[_0xb89654(0x16b)](),await writeSqlLockFile(_0x4ba8ce[_0xb89654(0x1a3)],_0x2bf294),{'ok':_0x396ff3['length']===0x0,'data':{'pulled':_0x44bbcf,'skipped':_0x544880,'failed':_0x396ff3},'message':_0xb89654(0x1a2)+_0x44bbcf[_0xb89654(0x198)]+_0xb89654(0x193)+_0x544880[_0xb89654(0x198)]+'\x20skipped,\x20'+_0x396ff3[_0xb89654(0x198)]+'\x20failed'};}};function detectModeFromSql(_0x1ead5f){const _0x5431b9=a127_0xcfa1cd,_0x121c97=ensureRemoteSqlContent(_0x1ead5f),_0x119666=stripLocalSqlMetadata(_0x121c97,_0x5431b9(0x195))[_0x5431b9(0x16f)]();if(/^<(select|insert|update|delete)\b/i[_0x5431b9(0x18e)](_0x119666))return _0x5431b9(0x195);return'sql';}function isEquivalentPulledSqlFile(_0x1e7c7b,_0x2573c1,_0x9e8018){return normalizePullComparableContent(_0x1e7c7b,_0x9e8018)===normalizePullComparableContent(_0x2573c1,_0x9e8018);}function normalizePullComparableContent(_0x2c0d79,_0x9ac9e0){const _0x272d31=a127_0xcfa1cd,_0x527709=_0x2c0d79['replace'](/\r\n/g,'\x0a')[_0x272d31(0x192)]('\x0a'),_0x48ed20=_0x527709[_0x272d31(0x19a)](_0x28d137=>!isSyncedAtMetadataLine(_0x28d137,_0x9ac9e0));return _0x48ed20[_0x272d31(0x183)]('\x0a');}function isSyncedAtMetadataLine(_0x8293d4,_0x4762d0){const _0x4ebcab=a127_0xcfa1cd;if(_0x4762d0===_0x4ebcab(0x195))return/^\s*<!--\s*@lovrabet\.syncedAt:/[_0x4ebcab(0x18e)](_0x8293d4);return/^\s*--\s*@lovrabet\.syncedAt:/[_0x4ebcab(0x18e)](_0x8293d4);}
|