@lovrabet/rabetbase-cli 2.0.2-beta.1 → 2.0.2-beta.3
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/ai-setup/config.js +1 -1
- 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/api/pull-silent.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/is-session-valid.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/doc.js +1 -0
- package/lib/commands/api/index.js +1 -0
- package/lib/commands/api/list.js +1 -0
- package/lib/commands/api/pull.js +1 -0
- package/lib/commands/app.js +1 -1
- package/lib/commands/auth.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/new.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/build.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/flags.js +1 -0
- package/lib/commands/config.js +1 -1
- package/lib/commands/create.js +1 -1
- package/lib/commands/dataset/detail.js +1 -1
- package/lib/commands/dataset/index.js +1 -1
- package/lib/commands/dataset/links.js +1 -1
- package/lib/commands/dataset/list.js +1 -1
- package/lib/commands/dataset/operations.js +1 -1
- package/lib/commands/init.js +1 -1
- package/lib/commands/logout.js +1 -1
- package/lib/commands/logs.js +1 -1
- package/lib/commands/mcp.js +1 -1
- package/lib/commands/menu/index.js +1 -0
- package/lib/commands/menu/shared/compare-table.js +1 -0
- package/lib/commands/menu/shared/index.js +1 -0
- package/lib/commands/menu/shared/inquirer.js +1 -0
- package/lib/commands/menu/shared/local-pages.js +1 -0
- package/lib/commands/menu/shared/logic.js +1 -0
- package/lib/commands/menu/shared/service.js +1 -0
- package/lib/commands/menu/shared/sync-core.js +1 -0
- package/lib/commands/menu/shared/update-core.js +1 -0
- package/lib/commands/menu/shared/valid-url.js +1 -0
- package/lib/commands/menu/sync.js +1 -0
- package/lib/commands/menu/update.js +1 -0
- package/lib/commands/preview.js +1 -1
- package/lib/commands/registry.js +1 -1
- package/lib/commands/run.js +1 -1
- package/lib/commands/skill.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/save.js +1 -1
- package/lib/commands/sql/validate.js +1 -1
- package/lib/commands/start.js +1 -1
- package/lib/config/config-help.js +1 -1
- package/lib/config/main.js +1 -1
- package/lib/constant/cli.js +1 -1
- package/lib/constant/domain.js +1 -1
- package/lib/constant/env.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/sql-validator.js +1 -1
- package/lib/create-app/enhanced-guided-create.js +1 -1
- package/lib/create-app/format-elapsed.js +1 -1
- package/lib/create-app/main.js +1 -1
- package/lib/create-app/non-interactive.js +1 -1
- package/lib/create-app/task-finished.js +1 -1
- package/lib/create-app/task-loading.js +1 -1
- package/lib/create-app/task-running.js +1 -1
- package/lib/create-app/task-time.js +1 -1
- package/lib/create-app/use-copy-project-template.js +1 -1
- package/lib/create-app/use-format-code.js +1 -1
- package/lib/create-app/use-install-dependencies.js +1 -1
- package/lib/errors.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.js +1 -1
- package/lib/generated/build-info.js +1 -1
- package/lib/help.js +1 -1
- package/lib/init/main.js +1 -1
- package/lib/mcp/McpInstallUI.js +1 -1
- package/lib/mcp/claude.js +1 -1
- package/lib/mcp/cursor.js +1 -1
- package/lib/mcp/main.js +1 -1
- package/lib/mcp/mcp-install-non-interactive.js +1 -1
- package/lib/mcp/mcp-installer.js +1 -1
- package/lib/skills/main.js +1 -1
- package/lib/skills/npx-skills-add.js +1 -1
- package/lib/ui/IDESelector.js +1 -1
- package/lib/ui/useIDESelection.js +1 -1
- package/lib/utils/ai_config.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/config.js +1 -1
- package/lib/utils/copy-directory.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/logger.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/package.json +6 -4
- package/templates/generate-api/api.ts.tpl +4 -4
- package/templates/generate-api/client.ts.tpl +2 -2
- package/lib/api/api-doc-ui.js +0 -1
- package/lib/api/api-pull-ui.js +0 -1
- package/lib/api/main.js +0 -1
- package/lib/app-menu/app-menu-sync-ui.js +0 -1
- package/lib/app-menu/create-menu.js +0 -1
- package/lib/app-menu/get-local-pages.js +0 -1
- package/lib/app-menu/get-online-menu-list.js +0 -1
- package/lib/app-menu/types.js +0 -1
- package/lib/app-menu/use-get-online-menu-list.js +0 -1
- package/lib/app-menu/utils.js +0 -1
- package/lib/app-menu/valid-url.js +0 -1
- package/lib/app-menu-update-cdn/current-content.js +0 -1
- package/lib/app-menu-update-cdn/input-cdn-asset.js +0 -1
- package/lib/app-menu-update-cdn/main.js +0 -1
- package/lib/app-menu-update-cdn/update-menu-cdn-url.js +0 -1
- package/lib/commands/api.js +0 -1
- package/lib/commands/menu.js +0 -1
- /package/lib/{app-menu-update-cdn → commands/menu/shared}/types.js +0 -0
package/lib/mcp/mcp-installer.js
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
const a110_0x95ea9=a110_0x476e;(function(_0x23a042,_0x2621d6){const _0x1b46e1=a110_0x476e,_0x50e98a=_0x23a042();while(!![]){try{const _0x445c6f=parseInt(_0x1b46e1(0x1c7))/0x1+parseInt(_0x1b46e1(0x1f4))/0x2*(-parseInt(_0x1b46e1(0x1de))/0x3)+-parseInt(_0x1b46e1(0x1cc))/0x4*(parseInt(_0x1b46e1(0x1f2))/0x5)+-parseInt(_0x1b46e1(0x1d6))/0x6+parseInt(_0x1b46e1(0x1cb))/0x7+-parseInt(_0x1b46e1(0x1f6))/0x8+parseInt(_0x1b46e1(0x1f3))/0x9;if(_0x445c6f===_0x2621d6)break;else _0x50e98a['push'](_0x50e98a['shift']());}catch(_0x5825fd){_0x50e98a['push'](_0x50e98a['shift']());}}}(a110_0x2a1c,0xa3239));import{existsSync,mkdirSync,writeFileSync,readFileSync}from'node:fs';import{normalizeEnv}from'../constant/env.js';import{join,dirname}from'node:path';import{fileURLToPath}from'node:url';import{readConfig}from'../utils/config.js';import{logger}from'../utils/logger.js';function a110_0x476e(_0x378db4,_0x39a54f){_0x378db4=_0x378db4-0x1b8;const _0x2a1c9c=a110_0x2a1c();let _0x476ea7=_0x2a1c9c[_0x378db4];return _0x476ea7;}import{getRulesContent}from'../utils/rules-cdn.js';const __dirname=dirname(fileURLToPath(import.meta.url));export const MCP_SERVER_NAME='lovrabet-dataset';export const MCP_COMMAND=a110_0x95ea9(0x1f1);export const MCP_ARGS=[a110_0x95ea9(0x1b9)];export function getAppConfig(){const _0x258320=a110_0x95ea9,_0x56dafe=readConfig(),_0x535bc1=_0x56dafe[_0x258320(0x1c1)]||_0x56dafe[_0x258320(0x1e6)],_0x4a8374=normalizeEnv(_0x56dafe[_0x258320(0x1bb)]||_0x258320(0x1dd));if(!_0x535bc1)throw new Error(_0x258320(0x1ec));return{'appcode':String(_0x535bc1),'env':_0x4a8374};}export function buildMcpEnv(_0x1df215,_0x2b9c42){const _0x138533=a110_0x95ea9,_0x574d38={'RABETBASE_APP_CODE':_0x1df215};return _0x2b9c42!==_0x138533(0x1dd)&&(_0x574d38['RABETBASE_ENV']=_0x2b9c42),_0x574d38;}export function buildMcpArgs(_0x4c4ad5){const _0x5f4252=a110_0x95ea9,_0x13a028=['@lovrabet/dataset-mcp-server@latest'];return _0x4c4ad5&&_0x13a028[_0x5f4252(0x1ed)](_0x5f4252(0x1c3)),_0x13a028;}export function buildMcpServerConfig(_0x56da6f,_0x3a0fa9,_0x5606c1){return{'command':MCP_COMMAND,'args':buildMcpArgs(_0x5606c1),'env':buildMcpEnv(_0x56da6f,_0x3a0fa9)};}export function buildClaudeMcpCommand(_0x21ffb7,_0x1de61c,_0x21f35f){const _0x29a581=a110_0x95ea9,_0x3b691e=buildMcpArgs(_0x21f35f),_0x4548f3=_0x29a581(0x1bc)+MCP_SERVER_NAME+'\x20'+MCP_COMMAND+'\x20'+_0x3b691e['join']('\x20')+_0x29a581(0x1f0)+_0x21ffb7,_0x547350=_0x1de61c!=='production'?_0x29a581(0x1d2)+_0x1de61c:'';return''+_0x4548f3+_0x547350;}export async function copyCursorRules(_0x1a3a50){const _0x3ac122=a110_0x95ea9,_0x1828cb=join(_0x1a3a50,_0x3ac122(0x1ea)),_0x112e57=join(_0x1828cb,'rules'),_0x3d5c5b=join(_0x112e57,_0x3ac122(0x1da));if(existsSync(_0x3d5c5b))return logger[_0x3ac122(0x1db)](_0x3ac122(0x1d4),_0x3ac122(0x1cf),{'path':_0x3d5c5b}),![];try{ensureDir(_0x112e57);const _0xd1edf5=await getRulesContent();return writeFileSync(_0x3d5c5b,_0xd1edf5,_0x3ac122(0x1d1)),logger[_0x3ac122(0x1db)](_0x3ac122(0x1d4),_0x3ac122(0x1c4),{'to':_0x3d5c5b}),!![];}catch(_0x52885e){return logger[_0x3ac122(0x1ba)](_0x3ac122(0x1d4),'Failed\x20to\x20copy\x20Cursor\x20Rules\x20file',{'error':_0x52885e instanceof Error?_0x52885e[_0x3ac122(0x1ce)]:String(_0x52885e)}),![];}}export async function copyAgentsMd(_0x5e9fe3){const _0x2829d6=a110_0x95ea9,_0x4caccf=join(_0x5e9fe3,'agents.md');if(existsSync(_0x4caccf))return logger[_0x2829d6(0x1db)](_0x2829d6(0x1d4),_0x2829d6(0x1c2),{'path':_0x4caccf}),![];try{const _0x525cb3=await getRulesContent();return writeFileSync(_0x4caccf,_0x525cb3,_0x2829d6(0x1d1)),logger[_0x2829d6(0x1db)](_0x2829d6(0x1d4),_0x2829d6(0x1e0),{'to':_0x4caccf}),!![];}catch(_0x31c6a3){return logger[_0x2829d6(0x1ba)](_0x2829d6(0x1d4),_0x2829d6(0x1bf),{'error':_0x31c6a3 instanceof Error?_0x31c6a3['message']:String(_0x31c6a3)}),![];}}function a110_0x2a1c(){const _0x690bb1=['utf-8','\x20-e\x20RABETBASE_ENV=','--------------------------------','mcp-install','\x22RABETBASE_ENV\x22:\x20\x22','6118764OGzvez','AppCode:\x20','mcp.json','Other\x20IDE\x20configuration\x20guide\x20displayed','lovrabet_rules.mdc','info','mcpServers','production','7845ZMRUzH','claude','Create\x20agents.md\x20file','Environment:\x20','Restart\x20Claude\x20Code\x20to\x20take\x20effect','\x20\x20\x20\x20}','Create\x20new\x20mcp.json\x20config','needsManualAction','app','\x20\x20\x20\x20\x20\x20\x22command\x22:\x20\x22npx\x22,','Configuration:\x20appcode=','\x0aError:\x20Configuration\x20failed\x20-\x20','.cursor','\x22RABETBASE_APP_CODE\x22:\x20\x22','No\x20appcode\x20found.\x20Run\x20\x27rabetbase\x20init\x27\x20to\x20initialize\x20project\x20config','push','stringify','Update\x20existing\x20mcp.json\x20config','\x20-e\x20RABETBASE_APP_CODE=','npx','35hXKTGs','2632257jCXDlC','488hswKof','mcp-cursor','2305472eYclJG','\x20\x20\x20\x20\x20\x20\x22args\x22:\x20','success','join','Unknown\x20IDE:\x20','Written\x20.cursor/mcp.json','@lovrabet/dataset-mcp-server@latest','error','env','claude\x20mcp\x20add\x20','parse','Configuration\x20command\x20generated','Failed\x20to\x20copy\x20agents.md\x20file','cwd','appcode','agents.md\x20already\x20exists,\x20skipping','--enable-bff-save','Create\x20Cursor\x20Rules\x20file','Detailed\x20guide:\x20https://open.lovrabet.com/en/docs/mcp/config-guide','\x20\x20\x20\x20\x20\x20}','1318259aYmcLU','\x20\x20}','Please\x20restart\x20Cursor\x20to\x20load\x20the\x20new\x20MCP\x20config.','Run\x20the\x20following\x20command\x20to\x20configure\x20Claude\x20Code\x20MCP:','9261854yGquGn','182628kGOUbf','utf8','message','Cursor\x20Rules\x20file\x20already\x20exists,\x20skipping','mcp-claude'];a110_0x2a1c=function(){return _0x690bb1;};return a110_0x2a1c();}export async function configureCursorMcp(_0x275c6b,_0x197291){const _0x2bcab2=a110_0x95ea9;try{const {appcode:_0x43ac8f,env:_0x305634}=getAppConfig(),_0xad543e=join(_0x275c6b,_0x2bcab2(0x1ea)),_0x3e9a3c=join(_0xad543e,_0x2bcab2(0x1d8));ensureDir(_0xad543e);const _0x3f66a5=buildMcpServerConfig(_0x43ac8f,_0x305634,_0x197291);let _0x55030e;if(existsSync(_0x3e9a3c)){const _0x3aa0ee=readFileSync(_0x3e9a3c,_0x2bcab2(0x1cd));_0x55030e=JSON[_0x2bcab2(0x1bd)](_0x3aa0ee),!_0x55030e['mcpServers']&&(_0x55030e[_0x2bcab2(0x1dc)]={}),logger['info'](_0x2bcab2(0x1f5),_0x2bcab2(0x1ef),{'path':_0x3e9a3c,'appcode':_0x43ac8f,'env':_0x305634});}else _0x55030e={'mcpServers':{}},logger[_0x2bcab2(0x1db)]('mcp-cursor',_0x2bcab2(0x1e4),{'path':_0x3e9a3c,'appcode':_0x43ac8f,'env':_0x305634});_0x55030e[_0x2bcab2(0x1dc)][MCP_SERVER_NAME]=_0x3f66a5,writeFileSync(_0x3e9a3c,JSON[_0x2bcab2(0x1ee)](_0x55030e,null,0x2),{'encoding':_0x2bcab2(0x1cd)});const _0x1c712f=await copyCursorRules(_0x275c6b),_0x19daa4=[_0x2bcab2(0x1b8),_0x2bcab2(0x1d7)+_0x43ac8f];return _0x305634!==_0x2bcab2(0x1dd)&&_0x19daa4[_0x2bcab2(0x1ed)](_0x2bcab2(0x1e1)+_0x305634),_0x19daa4[_0x2bcab2(0x1ed)](_0x2bcab2(0x1c9)),_0x1c712f&&_0x19daa4[_0x2bcab2(0x1ed)](_0x2bcab2(0x1c4)),logger[_0x2bcab2(0x1db)]('mcp-cursor','\x0a✓\x20Cursor\x20MCP\x20configured\x20successfully!\x0a',{'appcode':_0x43ac8f,'env':_0x305634,'configPath':_0x3e9a3c}),{'success':!![],'message':_0x19daa4[_0x2bcab2(0x1f9)]('\x0a')};}catch(_0x311db4){return logger['error'](_0x2bcab2(0x1f5),_0x2bcab2(0x1e9)+(_0x311db4 instanceof Error?_0x311db4['message']:String(_0x311db4))+'\x0a',{'error':_0x311db4 instanceof Error?_0x311db4[_0x2bcab2(0x1ce)]:String(_0x311db4)}),{'success':![],'message':_0x311db4 instanceof Error?_0x311db4['message']:String(_0x311db4)};}}export function configureClaudeMcp(_0x488c2a,_0x1787c1){const _0x15b4ae=a110_0x95ea9;try{const {appcode:_0x23767c,env:_0xcbbd29}=getAppConfig();copyAgentsMd(_0x488c2a);const _0x1d2004=buildMcpArgs(_0x1787c1),_0x23a0c0=_0x15b4ae(0x1bc)+MCP_SERVER_NAME+'\x20'+MCP_COMMAND+'\x20'+_0x1d2004[_0x15b4ae(0x1f9)]('\x20')+_0x15b4ae(0x1f0)+_0x23767c,_0xbbfd97=_0xcbbd29!==_0x15b4ae(0x1dd)?_0x15b4ae(0x1d2)+_0xcbbd29:'',_0x25be1f=''+_0x23a0c0+_0xbbfd97,_0x190500=[_0x15b4ae(0x1ca),_0x15b4ae(0x1d3),''+_0x25be1f,_0x15b4ae(0x1d3),'Configuration:',_0x15b4ae(0x1d7)+_0x23767c];return _0xcbbd29!==_0x15b4ae(0x1dd)&&_0x190500[_0x15b4ae(0x1ed)](_0x15b4ae(0x1e1)+_0xcbbd29),_0x190500['push'](_0x15b4ae(0x1e2)),logger[_0x15b4ae(0x1db)](_0x15b4ae(0x1d0),_0x15b4ae(0x1be),{'appcode':_0x23767c,'env':_0xcbbd29,'command':_0x25be1f}),{'success':!![],'message':_0x190500[_0x15b4ae(0x1f9)]('\x0a'),'needsManualAction':!![]};}catch(_0x2671e6){return logger[_0x15b4ae(0x1ba)](_0x15b4ae(0x1d0),_0x15b4ae(0x1e9)+(_0x2671e6 instanceof Error?_0x2671e6[_0x15b4ae(0x1ce)]:String(_0x2671e6))+'\x0a',{'error':_0x2671e6 instanceof Error?_0x2671e6[_0x15b4ae(0x1ce)]:String(_0x2671e6)}),{'success':![],'message':_0x2671e6 instanceof Error?_0x2671e6['message']:String(_0x2671e6)};}}export function showOtherMcpGuide(_0x431b90,_0x2c5f44){const _0x334b40=a110_0x95ea9;try{const {appcode:_0x2f5510,env:_0x3e6699}=getAppConfig(),_0x56ea8a=buildMcpServerConfig(_0x2f5510,_0x3e6699,_0x2c5f44),_0x126582=buildMcpArgs(_0x2c5f44),_0xa84436=[_0x334b40(0x1eb)+_0x2f5510+'\x22'];_0x3e6699!=='production'&&_0xa84436[_0x334b40(0x1ed)](_0x334b40(0x1d5)+_0x3e6699+'\x22');const _0x3c37dd=_0x3e6699!==_0x334b40(0x1dd)?',\x20env='+_0x3e6699:'',_0x57bb79=[_0x334b40(0x1e8)+_0x2f5510+_0x3c37dd,'{','\x20\x20\x22mcpServers\x22:\x20{','\x20\x20\x20\x20\x22lovrabet-dataset\x22:\x20{',_0x334b40(0x1e7),_0x334b40(0x1f7)+JSON[_0x334b40(0x1ee)](_0x126582)+',','\x20\x20\x20\x20\x20\x20\x22env\x22:\x20{',..._0xa84436['map'](_0xbc4260=>'\x20\x20\x20\x20\x20\x20\x20\x20'+_0xbc4260+','),_0x334b40(0x1c6),_0x334b40(0x1e3),_0x334b40(0x1c8),'}',_0x334b40(0x1c5)];return logger['info'](_0x334b40(0x1d4),_0x334b40(0x1d9),{'appcode':_0x2f5510,'env':_0x3e6699}),{'success':!![],'message':_0x57bb79[_0x334b40(0x1f9)]('\x0a'),'needsManualAction':!![]};}catch(_0x3085bd){return{'success':![],'message':_0x3085bd instanceof Error?_0x3085bd[_0x334b40(0x1ce)]:String(_0x3085bd)};}}function ensureDir(_0x355092){!existsSync(_0x355092)&&mkdirSync(_0x355092,{'recursive':!![]});}export async function installMcp(_0xfc8981,_0x4c16c3,_0x50558e=process[a110_0x95ea9(0x1c0)]()){const _0x1a9114=a110_0x95ea9,_0x11f600=[];for(const _0x1cce70 of _0xfc8981){try{let _0x338341;switch(_0x1cce70){case'cursor':_0x338341=await configureCursorMcp(_0x50558e,_0x4c16c3);break;case _0x1a9114(0x1df):_0x338341=configureClaudeMcp(_0x50558e,_0x4c16c3);break;case'other':_0x338341=showOtherMcpGuide(_0x50558e,_0x4c16c3);break;default:_0x338341={'success':![],'message':_0x1a9114(0x1fa)+_0x1cce70};}_0x11f600[_0x1a9114(0x1ed)]({'ide':_0x1cce70,'success':_0x338341[_0x1a9114(0x1f8)],'message':_0x338341[_0x1a9114(0x1ce)],'needsManualAction':_0x338341[_0x1a9114(0x1e5)]});}catch(_0x45ee92){_0x11f600[_0x1a9114(0x1ed)]({'ide':_0x1cce70,'success':![],'message':_0x45ee92 instanceof Error?_0x45ee92[_0x1a9114(0x1ce)]:String(_0x45ee92)});}}return _0x11f600;}
|
|
1
|
+
function a110_0xd98e(_0x1e27a6,_0x2c816c){_0x1e27a6=_0x1e27a6-0xbf;const _0x280a06=a110_0x280a();let _0xd98e45=_0x280a06[_0x1e27a6];return _0xd98e45;}const a110_0x2b1356=a110_0xd98e;(function(_0x1f05a3,_0x52a48f){const _0x136ee5=a110_0xd98e,_0x293857=_0x1f05a3();while(!![]){try{const _0x3883a7=-parseInt(_0x136ee5(0xf5))/0x1*(parseInt(_0x136ee5(0xc4))/0x2)+parseInt(_0x136ee5(0xf2))/0x3+-parseInt(_0x136ee5(0xc9))/0x4+parseInt(_0x136ee5(0xd8))/0x5*(parseInt(_0x136ee5(0xc3))/0x6)+parseInt(_0x136ee5(0xde))/0x7*(parseInt(_0x136ee5(0xf4))/0x8)+-parseInt(_0x136ee5(0xeb))/0x9*(-parseInt(_0x136ee5(0xc1))/0xa)+-parseInt(_0x136ee5(0xd3))/0xb;if(_0x3883a7===_0x52a48f)break;else _0x293857['push'](_0x293857['shift']());}catch(_0x554814){_0x293857['push'](_0x293857['shift']());}}}(a110_0x280a,0x608d4));import{existsSync,mkdirSync,writeFileSync,readFileSync}from'node:fs';import{normalizeEnv}from'../constant/env.js';import{join,dirname}from'node:path';import{fileURLToPath}from'node:url';import{readConfig}from'../utils/config.js';import{logger}from'../utils/logger.js';import{getRulesContent}from'../utils/rules-cdn.js';const __dirname=dirname(fileURLToPath(import.meta.url));export const MCP_SERVER_NAME=a110_0x2b1356(0xe3);export const MCP_COMMAND=a110_0x2b1356(0xfd);export const MCP_ARGS=['@lovrabet/dataset-mcp-server@latest'];export function getAppConfig(){const _0x5f0313=a110_0x2b1356,_0xab8131=readConfig(),_0x3c9f81=_0xab8131[_0x5f0313(0xe9)]||_0xab8131['app'],_0x33ebaa=normalizeEnv(_0xab8131[_0x5f0313(0xe2)]||'production');if(!_0x3c9f81)throw new Error(_0x5f0313(0xc0));return{'appcode':String(_0x3c9f81),'env':_0x33ebaa};}export function buildMcpEnv(_0x1f3631,_0xeddb26){const _0x5ced37=a110_0x2b1356,_0x27de4f={'RABETBASE_APP_CODE':_0x1f3631};return _0xeddb26!==_0x5ced37(0xfb)&&(_0x27de4f[_0x5ced37(0xd2)]=_0xeddb26),_0x27de4f;}export function buildMcpArgs(_0x27f439){const _0x1103a9=a110_0x2b1356,_0x378b8a=[_0x1103a9(0x101)];return _0x27f439&&_0x378b8a['push'](_0x1103a9(0xfe)),_0x378b8a;}export function buildMcpServerConfig(_0x4d816b,_0x3db468,_0x2d0eeb){return{'command':MCP_COMMAND,'args':buildMcpArgs(_0x2d0eeb),'env':buildMcpEnv(_0x4d816b,_0x3db468)};}export function buildClaudeMcpCommand(_0x5bf80e,_0x38cc8a,_0x49e623){const _0x5556ce=a110_0x2b1356,_0x1d5603=buildMcpArgs(_0x49e623),_0x1a486b=_0x5556ce(0xf7)+MCP_SERVER_NAME+'\x20'+MCP_COMMAND+'\x20'+_0x1d5603[_0x5556ce(0xce)]('\x20')+_0x5556ce(0xc2)+_0x5bf80e,_0x48fcb9=_0x38cc8a!=='production'?_0x5556ce(0xff)+_0x38cc8a:'';return''+_0x1a486b+_0x48fcb9;}function a110_0x280a(){const _0x28a944=['Update\x20existing\x20mcp.json\x20config','RABETBASE_ENV','7690452aZDEQe','Environment:\x20','\x22RABETBASE_ENV\x22:\x20\x22','Configuration:','cursor','5ooCuzG','other','claude','mcp-claude','agents.md','success','7xGrZSE','needsManualAction','\x20\x20\x22mcpServers\x22:\x20{','Unknown\x20IDE:\x20','env','lovrabet-dataset','push','\x20\x20}','utf8','Run\x20the\x20following\x20command\x20to\x20configure\x20Claude\x20Code\x20MCP:','Detailed\x20guide:\x20https://open.lovrabet.com/en/docs/mcp/config-guide','appcode','stringify','207ZqubaO','\x0aError:\x20Configuration\x20failed\x20-\x20','--------------------------------','Other\x20IDE\x20configuration\x20guide\x20displayed','mcp-cursor','Create\x20Cursor\x20Rules\x20file','Failed\x20to\x20copy\x20Cursor\x20Rules\x20file','1572849FdCovg','cwd','3994232KHeuki','3pgCGwm','Configuration\x20command\x20generated','claude\x20mcp\x20add\x20','message','\x20\x20\x20\x20\x20\x20\x22args\x22:\x20','map','production','mcp-install','npx','--enable-bff-save','\x20-e\x20RABETBASE_ENV=','AppCode:\x20','@lovrabet/dataset-mcp-server@latest','mcpServers','Please\x20restart\x20Cursor\x20to\x20load\x20the\x20new\x20MCP\x20config.','info','No\x20appcode\x20found.\x20Run\x20\x27rabetbase\x20init\x27\x20to\x20initialize\x20project\x20config','70880kVCBKM','\x20-e\x20RABETBASE_APP_CODE=','121428klAupt','34254tEXQfY','\x20\x20\x20\x20}','\x20\x20\x20\x20\x20\x20\x20\x20','\x20\x20\x20\x20\x20\x20\x22command\x22:\x20\x22npx\x22,','error','243340ipqFLI','\x0a✓\x20Cursor\x20MCP\x20configured\x20successfully!\x0a','Create\x20agents.md\x20file','utf-8','\x20\x20\x20\x20\x20\x20}','join','\x20\x20\x20\x20\x22lovrabet-dataset\x22:\x20{','mcp.json'];a110_0x280a=function(){return _0x28a944;};return a110_0x280a();}export async function copyCursorRules(_0x887cbe){const _0x2440d9=a110_0x2b1356,_0xbc0f27=join(_0x887cbe,'.cursor'),_0x484913=join(_0xbc0f27,'rules'),_0x3a9796=join(_0x484913,'lovrabet_rules.mdc');if(existsSync(_0x3a9796))return logger[_0x2440d9(0xbf)]('mcp-install','Cursor\x20Rules\x20file\x20already\x20exists,\x20skipping',{'path':_0x3a9796}),![];try{ensureDir(_0x484913);const _0x368dda=await getRulesContent();return writeFileSync(_0x3a9796,_0x368dda,_0x2440d9(0xcc)),logger['info'](_0x2440d9(0xfc),_0x2440d9(0xf0),{'to':_0x3a9796}),!![];}catch(_0x591030){return logger[_0x2440d9(0xc8)]('mcp-install',_0x2440d9(0xf1),{'error':_0x591030 instanceof Error?_0x591030['message']:String(_0x591030)}),![];}}export async function copyAgentsMd(_0x42b5e2){const _0x689154=a110_0x2b1356,_0x4f901c=join(_0x42b5e2,_0x689154(0xdc));if(existsSync(_0x4f901c))return logger[_0x689154(0xbf)](_0x689154(0xfc),'agents.md\x20already\x20exists,\x20skipping',{'path':_0x4f901c}),![];try{const _0x1a8b28=await getRulesContent();return writeFileSync(_0x4f901c,_0x1a8b28,_0x689154(0xcc)),logger[_0x689154(0xbf)](_0x689154(0xfc),_0x689154(0xcb),{'to':_0x4f901c}),!![];}catch(_0x43553c){return logger[_0x689154(0xc8)]('mcp-install','Failed\x20to\x20copy\x20agents.md\x20file',{'error':_0x43553c instanceof Error?_0x43553c[_0x689154(0xf8)]:String(_0x43553c)}),![];}}export async function configureCursorMcp(_0x568098,_0x3a726d){const _0x513077=a110_0x2b1356;try{const {appcode:_0x138ae7,env:_0x4930ef}=getAppConfig(),_0x5aeb8c=join(_0x568098,'.cursor'),_0x5b4435=join(_0x5aeb8c,_0x513077(0xd0));ensureDir(_0x5aeb8c);const _0x429b44=buildMcpServerConfig(_0x138ae7,_0x4930ef,_0x3a726d);let _0x2d97fb;if(existsSync(_0x5b4435)){const _0x5d2eb3=readFileSync(_0x5b4435,'utf8');_0x2d97fb=JSON['parse'](_0x5d2eb3),!_0x2d97fb[_0x513077(0x102)]&&(_0x2d97fb[_0x513077(0x102)]={}),logger[_0x513077(0xbf)]('mcp-cursor',_0x513077(0xd1),{'path':_0x5b4435,'appcode':_0x138ae7,'env':_0x4930ef});}else _0x2d97fb={'mcpServers':{}},logger[_0x513077(0xbf)](_0x513077(0xef),'Create\x20new\x20mcp.json\x20config',{'path':_0x5b4435,'appcode':_0x138ae7,'env':_0x4930ef});_0x2d97fb['mcpServers'][MCP_SERVER_NAME]=_0x429b44,writeFileSync(_0x5b4435,JSON['stringify'](_0x2d97fb,null,0x2),{'encoding':_0x513077(0xe6)});const _0x2f43ff=await copyCursorRules(_0x568098),_0x4f445a=['Written\x20.cursor/mcp.json',_0x513077(0x100)+_0x138ae7];return _0x4930ef!==_0x513077(0xfb)&&_0x4f445a[_0x513077(0xe4)](_0x513077(0xd4)+_0x4930ef),_0x4f445a['push'](_0x513077(0x103)),_0x2f43ff&&_0x4f445a[_0x513077(0xe4)](_0x513077(0xf0)),logger['info'](_0x513077(0xef),_0x513077(0xca),{'appcode':_0x138ae7,'env':_0x4930ef,'configPath':_0x5b4435}),{'success':!![],'message':_0x4f445a[_0x513077(0xce)]('\x0a')};}catch(_0x439501){return logger['error'](_0x513077(0xef),_0x513077(0xec)+(_0x439501 instanceof Error?_0x439501[_0x513077(0xf8)]:String(_0x439501))+'\x0a',{'error':_0x439501 instanceof Error?_0x439501[_0x513077(0xf8)]:String(_0x439501)}),{'success':![],'message':_0x439501 instanceof Error?_0x439501[_0x513077(0xf8)]:String(_0x439501)};}}export function configureClaudeMcp(_0x2b99bf,_0x3c3ce4){const _0x4cb91c=a110_0x2b1356;try{const {appcode:_0x104631,env:_0x1241d0}=getAppConfig();copyAgentsMd(_0x2b99bf);const _0x4fb7d6=buildMcpArgs(_0x3c3ce4),_0x23bb08=_0x4cb91c(0xf7)+MCP_SERVER_NAME+'\x20'+MCP_COMMAND+'\x20'+_0x4fb7d6['join']('\x20')+_0x4cb91c(0xc2)+_0x104631,_0x359aa9=_0x1241d0!==_0x4cb91c(0xfb)?'\x20-e\x20RABETBASE_ENV='+_0x1241d0:'',_0x302fce=''+_0x23bb08+_0x359aa9,_0x9250b2=[_0x4cb91c(0xe7),_0x4cb91c(0xed),''+_0x302fce,_0x4cb91c(0xed),_0x4cb91c(0xd6),_0x4cb91c(0x100)+_0x104631];return _0x1241d0!=='production'&&_0x9250b2['push']('Environment:\x20'+_0x1241d0),_0x9250b2[_0x4cb91c(0xe4)]('Restart\x20Claude\x20Code\x20to\x20take\x20effect'),logger[_0x4cb91c(0xbf)](_0x4cb91c(0xdb),_0x4cb91c(0xf6),{'appcode':_0x104631,'env':_0x1241d0,'command':_0x302fce}),{'success':!![],'message':_0x9250b2[_0x4cb91c(0xce)]('\x0a'),'needsManualAction':!![]};}catch(_0x23bdc6){return logger[_0x4cb91c(0xc8)](_0x4cb91c(0xdb),_0x4cb91c(0xec)+(_0x23bdc6 instanceof Error?_0x23bdc6[_0x4cb91c(0xf8)]:String(_0x23bdc6))+'\x0a',{'error':_0x23bdc6 instanceof Error?_0x23bdc6[_0x4cb91c(0xf8)]:String(_0x23bdc6)}),{'success':![],'message':_0x23bdc6 instanceof Error?_0x23bdc6[_0x4cb91c(0xf8)]:String(_0x23bdc6)};}}export function showOtherMcpGuide(_0x4ca381,_0x187b0d){const _0x45fe5a=a110_0x2b1356;try{const {appcode:_0x1aeb37,env:_0xc0d3c8}=getAppConfig(),_0x4c72d2=buildMcpServerConfig(_0x1aeb37,_0xc0d3c8,_0x187b0d),_0x54b421=buildMcpArgs(_0x187b0d),_0x1898cc=['\x22RABETBASE_APP_CODE\x22:\x20\x22'+_0x1aeb37+'\x22'];_0xc0d3c8!==_0x45fe5a(0xfb)&&_0x1898cc[_0x45fe5a(0xe4)](_0x45fe5a(0xd5)+_0xc0d3c8+'\x22');const _0x4104a9=_0xc0d3c8!==_0x45fe5a(0xfb)?',\x20env='+_0xc0d3c8:'',_0x20c580=['Configuration:\x20appcode='+_0x1aeb37+_0x4104a9,'{',_0x45fe5a(0xe0),_0x45fe5a(0xcf),_0x45fe5a(0xc7),_0x45fe5a(0xf9)+JSON[_0x45fe5a(0xea)](_0x54b421)+',','\x20\x20\x20\x20\x20\x20\x22env\x22:\x20{',..._0x1898cc[_0x45fe5a(0xfa)](_0x160649=>_0x45fe5a(0xc6)+_0x160649+','),_0x45fe5a(0xcd),_0x45fe5a(0xc5),_0x45fe5a(0xe5),'}',_0x45fe5a(0xe8)];return logger[_0x45fe5a(0xbf)](_0x45fe5a(0xfc),_0x45fe5a(0xee),{'appcode':_0x1aeb37,'env':_0xc0d3c8}),{'success':!![],'message':_0x20c580[_0x45fe5a(0xce)]('\x0a'),'needsManualAction':!![]};}catch(_0xa242ab){return{'success':![],'message':_0xa242ab instanceof Error?_0xa242ab[_0x45fe5a(0xf8)]:String(_0xa242ab)};}}function ensureDir(_0x1e3067){!existsSync(_0x1e3067)&&mkdirSync(_0x1e3067,{'recursive':!![]});}export async function installMcp(_0x468ab2,_0x429202,_0x2b2092=process[a110_0x2b1356(0xf3)]()){const _0x27ac7d=a110_0x2b1356,_0x595436=[];for(const _0x220cf1 of _0x468ab2){try{let _0x321df1;switch(_0x220cf1){case _0x27ac7d(0xd7):_0x321df1=await configureCursorMcp(_0x2b2092,_0x429202);break;case _0x27ac7d(0xda):_0x321df1=configureClaudeMcp(_0x2b2092,_0x429202);break;case _0x27ac7d(0xd9):_0x321df1=showOtherMcpGuide(_0x2b2092,_0x429202);break;default:_0x321df1={'success':![],'message':_0x27ac7d(0xe1)+_0x220cf1};}_0x595436[_0x27ac7d(0xe4)]({'ide':_0x220cf1,'success':_0x321df1[_0x27ac7d(0xdd)],'message':_0x321df1[_0x27ac7d(0xf8)],'needsManualAction':_0x321df1[_0x27ac7d(0xdf)]});}catch(_0x1d999d){_0x595436[_0x27ac7d(0xe4)]({'ide':_0x220cf1,'success':![],'message':_0x1d999d instanceof Error?_0x1d999d['message']:String(_0x1d999d)});}}return _0x595436;}
|
package/lib/skills/main.js
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
(function(
|
|
1
|
+
(function(_0x37c700,_0x583c3a){const _0x6cfa69=a111_0x24de,_0xb6cc56=_0x37c700();while(!![]){try{const _0x26b9a9=-parseInt(_0x6cfa69(0x1c8))/0x1+parseInt(_0x6cfa69(0x1bc))/0x2*(parseInt(_0x6cfa69(0x1c0))/0x3)+parseInt(_0x6cfa69(0x1b9))/0x4+parseInt(_0x6cfa69(0x1bb))/0x5+parseInt(_0x6cfa69(0x1c3))/0x6+parseInt(_0x6cfa69(0x1c1))/0x7+-parseInt(_0x6cfa69(0x1be))/0x8;if(_0x26b9a9===_0x583c3a)break;else _0xb6cc56['push'](_0xb6cc56['shift']());}catch(_0x26c1a2){_0xb6cc56['push'](_0xb6cc56['shift']());}}}(a111_0x583f,0x63be8));import{logger}from'../utils/logger.js';import{NPX_SKILLS_ADD_COMMAND_LINE}from'./npx-skills-add.js';export function camelCaseFlagsToKebab(_0x1a2c3f){const _0x2a0ddc=a111_0x24de,_0x5a6367=[];for(const [_0x2a5278,_0x2b17dc]of Object['entries'](_0x1a2c3f)){if(_0x2b17dc===!![]){const _0x5b612f=_0x2a5278['replace'](/([A-Z])/g,_0x2a0ddc(0x1c4))[_0x2a0ddc(0x1bd)]();_0x5a6367[_0x2a0ddc(0x1b8)](_0x5b612f);}}return _0x5a6367;}function a111_0x583f(){const _0x184d85=['\x0aAvailable\x20commands:','1468545dGeUAh','2zfrVsO','toLowerCase','4400608FdHthY','slice','974571LowFSC','1411480RLSazH','add','242244EmyUlZ','-$1','Error:\x20Unsupported\x20command:\x20','includes','log','60228ZseUOp','\x20\x20rabetbase\x20skill\x20--help\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20#\x20Show\x20help\x0a','argv','dangerously-bff-save','setLogPath','\x0aLovrabet\x20Skill\x20-\x20Developer\x20Skill\x20Installation\x20Tool\x0a\x0aUsage:\x0a\x20\x20rabetbase\x20skill\x20--help\x0a\x20\x20rabetbase\x20skill\x20install\x0a\x0aEquivalent\x20command:\x20','--help','cwd','skill','exit','startsWith','(empty)','push','633104RdEcJp'];a111_0x583f=function(){return _0x184d85;};return a111_0x583f();}export function parseDynamicFlags(){const _0x4753f3=a111_0x24de,_0x44fa2e=[];for(let _0xfbb5da=0x3;_0xfbb5da<process[_0x4753f3(0x1ae)]['length'];_0xfbb5da++){const _0x17f1b2=process[_0x4753f3(0x1ae)][_0xfbb5da];if(_0x17f1b2&&_0x17f1b2[_0x4753f3(0x1b6)]('--')){const _0xff65df=_0x17f1b2[_0x4753f3(0x1bf)](0x2);_0xff65df&&!_0xff65df[_0x4753f3(0x1c6)]('=')&&_0x44fa2e[_0x4753f3(0x1b8)](_0xff65df);}}return _0x44fa2e;}export function getAllProvidedFlags(_0x30a210){const _0x4042f2=camelCaseFlagsToKebab(_0x30a210),_0x4e0f1e=parseDynamicFlags(),_0xc8eae7=new Set([..._0x4042f2,..._0x4e0f1e]);return Array['from'](_0xc8eae7);}export function normalizeLegacyBffSaveFlags(_0x157661){const _0x20691f=a111_0x24de,_0x5c1e9f=new Set(_0x157661);return _0x5c1e9f['has'](_0x20691f(0x1af))&&_0x5c1e9f[_0x20691f(0x1c2)]('enable-bff-save'),Array['from'](_0x5c1e9f);}export async function skillsCommand(_0x77b4ad,_0x25c123,_0x3b88cb){const _0x438f2d=a111_0x24de;logger[_0x438f2d(0x1b0)](process[_0x438f2d(0x1b3)]());if(_0x3b88cb?.['help']||_0x77b4ad===_0x438f2d(0x1b2)){showHelp();return;}console['error'](_0x438f2d(0x1c5)+(_0x77b4ad||_0x438f2d(0x1b7))),console['log'](_0x438f2d(0x1ba)),console['log']('\x20\x20rabetbase\x20skill\x20install\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20#\x20Interactive\x20skill\x20installation'),console[_0x438f2d(0x1c7)](_0x438f2d(0x1ad)),console['log'](''),console['log']('Equivalent\x20command:\x20'+NPX_SKILLS_ADD_COMMAND_LINE),logger['error'](_0x438f2d(0x1b4),'不支持的命令:\x20'+_0x77b4ad),process[_0x438f2d(0x1b5)](0x1);}function a111_0x24de(_0x4838bf,_0x460e94){_0x4838bf=_0x4838bf-0x1ad;const _0x583fae=a111_0x583f();let _0x24de2a=_0x583fae[_0x4838bf];return _0x24de2a;}function showHelp(){const _0x6bb664=a111_0x24de;console[_0x6bb664(0x1c7)](_0x6bb664(0x1b1)+NPX_SKILLS_ADD_COMMAND_LINE+'\x0a\x0aNote:\x20npx\x20skills\x20selects\x20the\x20agent\x20and\x20writes\x20files;\x20guides\x20live\x20under\x20skills/lovrabet/guides/.\x0a');}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
const
|
|
1
|
+
const a112_0x16f0a0=a112_0xb6b7;function a112_0xb6b7(_0x2c72eb,_0x215097){_0x2c72eb=_0x2c72eb-0x13e;const _0x124e28=a112_0x124e();let _0xb6b713=_0x124e28[_0x2c72eb];return _0xb6b713;}(function(_0x35b3c0,_0x18c99d){const _0x453390=a112_0xb6b7,_0x5de1c1=_0x35b3c0();while(!![]){try{const _0x4536eb=-parseInt(_0x453390(0x149))/0x1+-parseInt(_0x453390(0x141))/0x2*(parseInt(_0x453390(0x14e))/0x3)+-parseInt(_0x453390(0x13e))/0x4*(parseInt(_0x453390(0x14a))/0x5)+parseInt(_0x453390(0x154))/0x6*(parseInt(_0x453390(0x14d))/0x7)+-parseInt(_0x453390(0x13f))/0x8+parseInt(_0x453390(0x14f))/0x9*(parseInt(_0x453390(0x157))/0xa)+parseInt(_0x453390(0x144))/0xb;if(_0x4536eb===_0x18c99d)break;else _0x5de1c1['push'](_0x5de1c1['shift']());}catch(_0x5345d2){_0x5de1c1['push'](_0x5de1c1['shift']());}}}(a112_0x124e,0xcc4e0));import{spawnSync}from'node:child_process';export const NPX_FLAG_YES='-y';export const NPX_SKILLS_CLI=a112_0x16f0a0(0x146);export const NPX_SKILLS_SUBCOMMAND_ADD=a112_0x16f0a0(0x150);export const NPX_SKILLS_FLAG_SKILL=a112_0x16f0a0(0x140);function a112_0x124e(){const _0x5cc1c0=['stderr','29498161kmevWG','RABETBASE_SKIP_NPX_SKILLS','skills','toString','platform','662776gOXSRP','154195KESvib','pipe','env','344834FmCRmY','404088FqhMIv','180GQBZha','add','Lovrabet','log','join','24kxRRhQ','npx','win32','694010rrHRwD','stdout','npx.cmd','unknown','80dWCokK','5349400VRAGnm','--skill','22pzfAZY','stdio'];a112_0x124e=function(){return _0x5cc1c0;};return a112_0x124e();}export const RABETBASE_SKILL_SOURCE='lovrabet/lovrabet-skill';export const DEFAULT_RABETBASE_SKILL_NAME=a112_0x16f0a0(0x151);export function buildNpxSkillsAddArgv(_0x742c94=DEFAULT_RABETBASE_SKILL_NAME){return[NPX_FLAG_YES,NPX_SKILLS_CLI,NPX_SKILLS_SUBCOMMAND_ADD,RABETBASE_SKILL_SOURCE,NPX_SKILLS_FLAG_SKILL,_0x742c94];}export const NPX_SKILLS_ADD_COMMAND_LINE=[a112_0x16f0a0(0x155),...buildNpxSkillsAddArgv()][a112_0x16f0a0(0x153)]('\x20');export function shouldSkipNpxSkillsAdd(){const _0x3af29b=a112_0x16f0a0;return process[_0x3af29b(0x14c)][_0x3af29b(0x145)]==='1';}export function runNpxSkillsAdd(_0x286942,_0x344b0c){const _0x4470de=a112_0x16f0a0;if(shouldSkipNpxSkillsAdd())return{'ok':!![],'status':0x0,'skipped':!![]};const _0x2fdf46=_0x344b0c?.[_0x4470de(0x142)]??'inherit',_0x47303=process[_0x4470de(0x148)]===_0x4470de(0x156)?_0x4470de(0x159):_0x4470de(0x155),_0x5d1a11=buildNpxSkillsAddArgv(_0x344b0c?.['skill']??DEFAULT_RABETBASE_SKILL_NAME),_0x3a11e1=[_0x47303,..._0x5d1a11][_0x4470de(0x153)]('\x20');console[_0x4470de(0x152)]('*\x20'+_0x3a11e1);const _0x3e648a=spawnSync(_0x47303,_0x5d1a11,{'cwd':_0x286942,'stdio':_0x2fdf46,'env':process[_0x4470de(0x14c)],'shell':![]}),_0x37ee1f=_0x3e648a['status'];if(_0x37ee1f===0x0)return{'ok':!![],'status':0x0};let _0xdab5ee='exit\x20'+(_0x37ee1f??_0x4470de(0x15a));if(_0x2fdf46===_0x4470de(0x14b)){const _0x2211d0=_0x3e648a[_0x4470de(0x143)]?_0x3e648a[_0x4470de(0x143)][_0x4470de(0x147)]()['trim']():'',_0x70055d=_0x3e648a['stdout']?_0x3e648a[_0x4470de(0x158)]['toString']()['trim']():'';if(_0x2211d0)_0xdab5ee=_0x2211d0;else{if(_0x70055d)_0xdab5ee=_0x70055d;}}return{'ok':![],'status':_0x37ee1f??null,'error':_0xdab5ee};}
|
package/lib/ui/IDESelector.js
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
(function(
|
|
1
|
+
(function(_0x407a1a,_0x2238d5){const _0x4bfb90=a114_0x3d9e,_0x7e8e9b=_0x407a1a();while(!![]){try{const _0x564311=parseInt(_0x4bfb90(0x145))/0x1+-parseInt(_0x4bfb90(0x139))/0x2*(parseInt(_0x4bfb90(0x148))/0x3)+-parseInt(_0x4bfb90(0x14b))/0x4+-parseInt(_0x4bfb90(0x14c))/0x5*(parseInt(_0x4bfb90(0x144))/0x6)+parseInt(_0x4bfb90(0x143))/0x7*(parseInt(_0x4bfb90(0x146))/0x8)+-parseInt(_0x4bfb90(0x14a))/0x9*(parseInt(_0x4bfb90(0x142))/0xa)+parseInt(_0x4bfb90(0x136))/0xb*(parseInt(_0x4bfb90(0x13b))/0xc);if(_0x564311===_0x2238d5)break;else _0x7e8e9b['push'](_0x7e8e9b['shift']());}catch(_0x4f5d43){_0x7e8e9b['push'](_0x7e8e9b['shift']());}}}(a114_0x41ae,0x2b2e2));function a114_0x41ae(){const _0x22604d=['map','white','146xNsvZd','has','8150148fiKwUc','\x20↑/↓:\x20Move\x20\x20Space:\x20Toggle\x20\x20a:\x20All\x20\x20i/r:\x20Invert\x20\x20q:\x20Quit\x20\x20Enter:\x20Confirm','name','*\x20Select\x20IDEs\x20to\x20configure:','column','description','[\x20]','320cwRFYP','623kZCfSh','944310xdLoWL','318715dkZqaC','1192qxsBaq','gray','5676CAAXWo','cyan','73665uxfBPa','477932KXhugp','10HXsENI','11CmIlTI'];a114_0x41ae=function(){return _0x22604d;};return a114_0x41ae();}function a114_0x3d9e(_0x4af560,_0x3d9be7){_0x4af560=_0x4af560-0x136;const _0x41aeff=a114_0x41ae();let _0x3d9e81=_0x41aeff[_0x4af560];return _0x3d9e81;}import{jsxs as a114_0x1403ee,jsx as a114_0x2ba7ef}from'react/jsx-runtime';import{Text,Box}from'ink';export function IDESelector({ideList:_0x1a528d,title:_0x114be6,selection:_0x2bb719}){const _0x45d471=a114_0x3d9e,{selectedIndexes:_0x51a800,highlightIndex:_0x3ae7c2,errorMsg:_0x2cdce6}=_0x2bb719;return a114_0x1403ee(Box,{'flexDirection':_0x45d471(0x13f),'marginTop':0x1,'children':[a114_0x2ba7ef(Box,{'children':a114_0x1403ee(Text,{'color':_0x45d471(0x149),'children':['*\x20',_0x114be6]})}),_0x2cdce6&&a114_0x2ba7ef(Box,{'marginTop':0x1,'children':a114_0x1403ee(Text,{'color':'red','children':['✗\x20',_0x2cdce6]})}),a114_0x1403ee(Box,{'marginTop':0x1,'flexDirection':_0x45d471(0x13f),'children':[a114_0x2ba7ef(Text,{'bold':!![],'children':_0x45d471(0x13e)}),_0x1a528d[_0x45d471(0x137)]((_0x5bfea3,_0x359c7c)=>{const _0x11e4a4=_0x45d471,_0x235fa9=_0x3ae7c2===_0x359c7c,_0x1717eb=_0x51a800[_0x11e4a4(0x13a)](_0x359c7c);return a114_0x2ba7ef(Box,{'children':a114_0x1403ee(Text,{'backgroundColor':_0x235fa9?'blue':undefined,'color':_0x235fa9?_0x11e4a4(0x138):undefined,'children':['\x20\x20',_0x1717eb?'[✓]':_0x11e4a4(0x141),'\x20',_0x5bfea3[_0x11e4a4(0x13d)],'\x20',a114_0x1403ee(Text,{'color':_0x235fa9?'white':_0x11e4a4(0x147),'dimColor':!_0x235fa9,'children':['-\x20',_0x5bfea3[_0x11e4a4(0x140)]]})]})},_0x5bfea3['key']);}),a114_0x2ba7ef(Box,{'marginTop':0x1,'children':a114_0x2ba7ef(Text,{'color':_0x45d471(0x147),'children':_0x45d471(0x13c)})})]})]});}export{useIDESelection}from'./useIDESelection.js';
|
|
@@ -1 +1 @@
|
|
|
1
|
-
function
|
|
1
|
+
function a115_0x24d4(){const _0x5f2c4a=['has','1580tWIezs','from','8706PNDaFf','2337588cBgjMn','add','delete','4047490nEPUbb','upArrow','6465984BlsiJV','150kaZlZu','findIndex','2oLEkgQ','filter','69842fYqfwS','2111970YZpNwz','map','size','5158832HbuTZD','key','length'];a115_0x24d4=function(){return _0x5f2c4a;};return a115_0x24d4();}(function(_0x5d5439,_0x4e5c82){const _0x45b754=a115_0x3693,_0x3e6eef=_0x5d5439();while(!![]){try{const _0x3cde5f=-parseInt(_0x45b754(0x11a))/0x1*(parseInt(_0x45b754(0x118))/0x2)+parseInt(_0x45b754(0x10f))/0x3*(-parseInt(_0x45b754(0x10d))/0x4)+-parseInt(_0x45b754(0x113))/0x5+parseInt(_0x45b754(0x11b))/0x6+-parseInt(_0x45b754(0x115))/0x7+-parseInt(_0x45b754(0x109))/0x8+-parseInt(_0x45b754(0x110))/0x9*(-parseInt(_0x45b754(0x116))/0xa);if(_0x3cde5f===_0x4e5c82)break;else _0x3e6eef['push'](_0x3e6eef['shift']());}catch(_0x33801a){_0x3e6eef['push'](_0x3e6eef['shift']());}}}(a115_0x24d4,0x9f9d3));function a115_0x3693(_0x313130,_0x1c59f7){_0x313130=_0x313130-0x109;const _0x24d442=a115_0x24d4();let _0x36938f=_0x24d442[_0x313130];return _0x36938f;}import{useState,useCallback}from'react';export function useIDESelection({ideList:_0x417b8c,preselectedIDEs:preselectedIDEs=[],multiSelect:multiSelect=!![]}){const _0x30b2c3=a115_0x3693,[_0x5a4051,_0x399ccd]=useState(new Set(preselectedIDEs[_0x30b2c3(0x11c)](_0x3fd0dd=>_0x417b8c[_0x30b2c3(0x117)](_0x247dc8=>_0x247dc8[_0x30b2c3(0x10a)]===_0x3fd0dd))[_0x30b2c3(0x119)](_0x242e86=>_0x242e86>=0x0))),[_0x18c6b6,_0x544586]=useState(0x0),[_0x2cd539,_0x5340f6]=useState(''),_0x2488aa=useCallback(()=>{_0x544586(_0x577341=>_0x577341>0x0?_0x577341-0x1:_0x417b8c['length']-0x1);},[_0x417b8c[_0x30b2c3(0x10b)]]),_0x322d04=useCallback(()=>{const _0x3cd429=_0x30b2c3;_0x544586(_0x2935e3=>_0x2935e3<_0x417b8c[_0x3cd429(0x10b)]-0x1?_0x2935e3+0x1:0x0);},[_0x417b8c['length']]),_0x115971=useCallback(()=>{if(!multiSelect){_0x399ccd(new Set([_0x18c6b6]));return;}_0x399ccd(_0x16ef74=>{const _0x441524=a115_0x3693,_0x3b20e7=new Set(_0x16ef74);return _0x3b20e7[_0x441524(0x10c)](_0x18c6b6)?_0x3b20e7[_0x441524(0x112)](_0x18c6b6):_0x3b20e7['add'](_0x18c6b6),_0x3b20e7;});},[_0x18c6b6,multiSelect]),_0x104789=useCallback(()=>{const _0x6b09f7=_0x30b2c3;_0x399ccd(new Set(_0x417b8c[_0x6b09f7(0x11c)]((_0x1a3e5c,_0x47f0bc)=>_0x47f0bc)));},[_0x417b8c]),_0x39b8e3=useCallback(()=>{_0x399ccd(_0x5c0eb0=>{const _0xf02511=a115_0x3693,_0x39e9f2=new Set();for(let _0x3d1a71=0x0;_0x3d1a71<_0x417b8c['length'];_0x3d1a71++){!_0x5c0eb0[_0xf02511(0x10c)](_0x3d1a71)&&_0x39e9f2[_0xf02511(0x111)](_0x3d1a71);}return _0x39e9f2;});},[_0x417b8c]),_0x1cbb32=useCallback(()=>{const _0x14a2b5=_0x30b2c3;return Array[_0x14a2b5(0x10e)](_0x5a4051)[_0x14a2b5(0x11c)](_0x48c15c=>_0x417b8c[_0x48c15c]?.[_0x14a2b5(0x10a)])[_0x14a2b5(0x119)](_0x599e59=>_0x599e59!==undefined);},[_0x5a4051,_0x417b8c]),_0x2a0b0b=useCallback(()=>{const _0x2d390d=_0x30b2c3;return _0x5a4051[_0x2d390d(0x11d)]===_0x417b8c[_0x2d390d(0x10b)];},[_0x5a4051,_0x417b8c]),_0x5004a2=useCallback((_0x4252b6,_0x50cdd4)=>{const _0x1b3e38=_0x30b2c3;if(_0x50cdd4[_0x1b3e38(0x114)])return _0x2488aa(),!![];if(_0x50cdd4['downArrow'])return _0x322d04(),!![];if(_0x4252b6==='\x20')return _0x115971(),!![];if(_0x4252b6==='a'||_0x4252b6==='A')return _0x104789(),!![];if(_0x4252b6==='i'||_0x4252b6==='I'||_0x4252b6==='r'||_0x4252b6==='R')return _0x39b8e3(),!![];return![];},[_0x2488aa,_0x322d04,_0x115971,_0x104789,_0x39b8e3]);return{'selectedIndexes':_0x5a4051,'highlightIndex':_0x18c6b6,'errorMsg':_0x2cd539,'setErrorMsg':_0x5340f6,'handleKeyDown':_0x5004a2,'getSelectedIDEs':_0x1cbb32,'isAllSelected':_0x2a0b0b,'toggleSelection':_0x115971,'selectAll':_0x104789,'invertSelection':_0x39b8e3,'moveHighlightUp':_0x2488aa,'moveHighlightDown':_0x322d04};}
|
package/lib/utils/ai_config.js
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
|
|
1
|
+
const a116_0x4929ff=a116_0x2317;(function(_0x194889,_0x4a987d){const _0x48d749=a116_0x2317,_0x48349d=_0x194889();while(!![]){try{const _0x26d37a=-parseInt(_0x48d749(0x177))/0x1+parseInt(_0x48d749(0x1a5))/0x2*(-parseInt(_0x48d749(0x18e))/0x3)+parseInt(_0x48d749(0x181))/0x4+parseInt(_0x48d749(0x1a0))/0x5+-parseInt(_0x48d749(0x182))/0x6+parseInt(_0x48d749(0x191))/0x7*(parseInt(_0x48d749(0x19e))/0x8)+parseInt(_0x48d749(0x19d))/0x9;if(_0x26d37a===_0x4a987d)break;else _0x48349d['push'](_0x48349d['shift']());}catch(_0x390948){_0x48349d['push'](_0x48349d['shift']());}}}(a116_0x3e2e,0xcbc18));export const CORE_IDE_CONFIGS={'cursor':{'name':a116_0x4929ff(0x194),'description':a116_0x4929ff(0x192),'folders':['.cursorrules',a116_0x4929ff(0x183)],'files':[{'type':a116_0x4929ff(0x17f),'path':a116_0x4929ff(0x197),'template':a116_0x4929ff(0x17c)}]},'windsurf':{'name':a116_0x4929ff(0x185),'description':a116_0x4929ff(0x198),'folders':[a116_0x4929ff(0x19c)],'files':[{'type':'file','path':a116_0x4929ff(0x1a1),'template':a116_0x4929ff(0x17c)}]},'claude':{'name':a116_0x4929ff(0x17e),'description':a116_0x4929ff(0x17e),'folders':['.claude'],'files':[{'type':'file','path':a116_0x4929ff(0x189),'template':a116_0x4929ff(0x17c)}]},'cline':{'name':a116_0x4929ff(0x179),'description':a116_0x4929ff(0x174),'folders':['.cline'],'files':[{'type':a116_0x4929ff(0x17f),'path':a116_0x4929ff(0x195),'template':a116_0x4929ff(0x17c)}]},'codex':{'name':a116_0x4929ff(0x18c),'description':'Codex\x20IDE','folders':[a116_0x4929ff(0x176)],'files':[{'type':a116_0x4929ff(0x17f),'path':'.codex/skills/lovrabet/SKILL.md','template':a116_0x4929ff(0x17c)}]},'opencode':{'name':a116_0x4929ff(0x188),'description':a116_0x4929ff(0x187),'folders':[a116_0x4929ff(0x18b)],'files':[{'type':'file','path':'.opencode/skills/lovrabet/SKILL.md','template':'SKILL.md.tpl'}]},'qoder':{'name':a116_0x4929ff(0x196),'description':'Qoder\x20IDE','folders':['.qoder'],'files':[{'type':a116_0x4929ff(0x17f),'path':'.qoder/rules/rabetbase.md','template':'SKILL.md.tpl'},{'type':a116_0x4929ff(0x17f),'path':a116_0x4929ff(0x18d),'template':a116_0x4929ff(0x17c)}]},'codebuddy':{'name':'CodeBuddy','description':a116_0x4929ff(0x1a3),'folders':['.codebuddy'],'files':[{'type':a116_0x4929ff(0x17f),'path':'.codebuddy/skills/lovrabet/SKILL.md','template':'SKILL.md.tpl'}]},'trae':{'name':a116_0x4929ff(0x1a2),'description':a116_0x4929ff(0x180),'folders':[a116_0x4929ff(0x178)],'files':[{'type':a116_0x4929ff(0x17f),'path':a116_0x4929ff(0x1a4),'template':a116_0x4929ff(0x17c)}]}};export const IDE_CONFIGS={...CORE_IDE_CONFIGS,'agent':{'name':a116_0x4929ff(0x186),'description':a116_0x4929ff(0x17d),'folders':['.agent'],'files':[{'type':a116_0x4929ff(0x17f),'path':a116_0x4929ff(0x18f),'template':a116_0x4929ff(0x17c)}]},'antigravity':{'name':a116_0x4929ff(0x184),'description':'Antigravity\x20IDE','folders':['.agent'],'files':[{'type':a116_0x4929ff(0x17f),'path':a116_0x4929ff(0x18f),'template':'SKILL.md.tpl'}]}};export const CORE_IDE_LIST=[a116_0x4929ff(0x19a),a116_0x4929ff(0x190),a116_0x4929ff(0x199),a116_0x4929ff(0x17a),a116_0x4929ff(0x175),a116_0x4929ff(0x18a),a116_0x4929ff(0x17b),a116_0x4929ff(0x193),'windsurf'];export const IDE_LIST=[a116_0x4929ff(0x19f),a116_0x4929ff(0x19a),a116_0x4929ff(0x190),'codebuddy',a116_0x4929ff(0x17a),a116_0x4929ff(0x175),a116_0x4929ff(0x18a),a116_0x4929ff(0x17b),'trae','windsurf','agent'];function a116_0x3e2e(){const _0x278c10=['trae','Cursor','.cline/skills/lovrabet/SKILL.md','Qoder','.cursor/skills/rabetbase.md','Windsurf\x20IDE','codebuddy','claude','windsurf','.windsurf','9635895PstZDm','371256ANfchp','antigravity','3402760xcmQeN','.windsurf/workflows/rabetbase.md','Trae','CodeBuddy\x20IDE','.trae/skills/lovrabet/SKILL.md','358EJKIvH','Cline\x20IDE','cursor','.codex','1335002sBcgwc','.trae','Cline','codex','qoder','SKILL.md.tpl','通用模板\x20-\x20兜底方案','Claude\x20Code','file','Trae\x20IDE','5645768UZbQWt','2678658PVALEZ','.cursor','Antigravity','Windsurf','其他\x20(通用模板)','OpenCode\x20IDE','OpenCode','.claude/skills/lovrabet/SKILL.md','opencode','.opencode','Codex','.qoder/skills/lovrabet/SKILL.md','9939gATORn','.agent/skills/lovrabet/SKILL.md','cline','7VStuHb','Cursor\x20IDE'];a116_0x3e2e=function(){return _0x278c10;};return a116_0x3e2e();}export const ALL_CORE_IDES=[a116_0x4929ff(0x175),a116_0x4929ff(0x19b),'claude',a116_0x4929ff(0x190),a116_0x4929ff(0x17a),'opencode',a116_0x4929ff(0x17b),a116_0x4929ff(0x199),a116_0x4929ff(0x193)];function a116_0x2317(_0x143a04,_0x7ec176){_0x143a04=_0x143a04-0x174;const _0x3e2e40=a116_0x3e2e();let _0x231796=_0x3e2e40[_0x143a04];return _0x231796;}export const MCP_IDES=new Set(['cursor',a116_0x4929ff(0x19a)]);
|
package/lib/utils/cdn-config.js
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
(function(
|
|
1
|
+
function a117_0x34eb(){const _0x4073b6=['3221868XrVzQB','8SKuHPI','297vKIkZY','node','236200beEnZU','7081280flJoMs','json','stableVersion','4631250xWWcUA','117276wAWixG','now','10773581fQcgpD','215VftcmZ','187933gUUNiF','/config.json','sdk'];a117_0x34eb=function(){return _0x4073b6;};return a117_0x34eb();}(function(_0x4d8cd8,_0x210719){const _0x47cf21=a117_0x3192,_0xe7e3f4=_0x4d8cd8();while(!![]){try{const _0x235fca=-parseInt(_0x47cf21(0x128))/0x1*(-parseInt(_0x47cf21(0x12c))/0x2)+-parseInt(_0x47cf21(0x123))/0x3+-parseInt(_0x47cf21(0x12b))/0x4+-parseInt(_0x47cf21(0x127))/0x5*(parseInt(_0x47cf21(0x124))/0x6)+parseInt(_0x47cf21(0x126))/0x7+parseInt(_0x47cf21(0x11f))/0x8*(parseInt(_0x47cf21(0x12d))/0x9)+parseInt(_0x47cf21(0x120))/0xa;if(_0x235fca===_0x210719)break;else _0xe7e3f4['push'](_0xe7e3f4['shift']());}catch(_0x5b3438){_0xe7e3f4['push'](_0xe7e3f4['shift']());}}}(a117_0x34eb,0xbf4d5));function a117_0x3192(_0x14dd9b,_0x3b0a7d){_0x14dd9b=_0x14dd9b-0x11e;const _0x34ebe0=a117_0x34eb();let _0x3192d5=_0x34ebe0[_0x14dd9b];return _0x3192d5;}import{getTemplateBaseUrl}from'./config.js';export async function fetchCdnConfig(){const _0x1476a4=a117_0x3192;try{const _0xcd8064=getTemplateBaseUrl(),_0x312756=_0xcd8064+_0x1476a4(0x129),_0x5c4fd9=await fetch(_0x312756,{'headers':{'Accept':'application/json'}});if(!_0x5c4fd9['ok'])return null;const _0x43f0b2=await _0x5c4fd9[_0x1476a4(0x121)]();if(!_0x43f0b2['cli']?.[_0x1476a4(0x122)]||!_0x43f0b2[_0x1476a4(0x12a)]?.[_0x1476a4(0x11e)]?.['stableVersion'])return null;return _0x43f0b2;}catch{return null;}}let cachedConfig=null,cacheTime=0x0;const CACHE_TTL=0x5*0x3c*0x3e8;export async function getCdnConfig(){const _0x4f0351=a117_0x3192,_0x449be6=Date[_0x4f0351(0x125)]();if(cachedConfig&&_0x449be6-cacheTime<CACHE_TTL)return cachedConfig;const _0x3af6aa=await fetchCdnConfig();return _0x3af6aa&&(cachedConfig=_0x3af6aa,cacheTime=_0x449be6),_0x3af6aa;}export function clearCdnConfigCache(){cachedConfig=null,cacheTime=0x0;}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
const
|
|
1
|
+
const a118_0x5e216c=a118_0x47d4;function a118_0x54f8(){const _0x27c334=['2654370mokqjP','241590sfLYEB','coerce','\x20\x20\x20Current\x20version:\x20','sdk','527304UmlgiS','parse','readFileSync','\x20\x20\x20Stable\x20version:\x20','225bFJxbo','join','dependencies','\x1b[0m','node','1.2.0','\x1b[33m','latest','7CVtqDv','npm\x20install\x20','packageName','needsUpgrade','test','156BOdZtT','log','2532NwzYQQ','89860BptJJR','version','package.json','devDependencies','node_modules','existsSync','119471pVbZsS','5159196xFdzhm','utf-8','minVersion','40pWzvkZ','41012eDagSs','@lovrabet/sdk','utf8','\x1b[1m'];a118_0x54f8=function(){return _0x27c334;};return a118_0x54f8();}(function(_0x4b5195,_0x1861f3){const _0x20576a=a118_0x47d4,_0x44e25c=_0x4b5195();while(!![]){try{const _0x832b88=-parseInt(_0x20576a(0x1d5))/0x1*(-parseInt(_0x20576a(0x1fc))/0x2)+-parseInt(_0x20576a(0x1f9))/0x3+parseInt(_0x20576a(0x1ef))/0x4*(parseInt(_0x20576a(0x1f2))/0x5)+-parseInt(_0x20576a(0x1d9))/0x6*(parseInt(_0x20576a(0x1ea))/0x7)+-parseInt(_0x20576a(0x1de))/0x8+parseInt(_0x20576a(0x1e2))/0x9*(-parseInt(_0x20576a(0x1da))/0xa)+parseInt(_0x20576a(0x1f8))/0xb*(parseInt(_0x20576a(0x1f1))/0xc);if(_0x832b88===_0x1861f3)break;else _0x44e25c['push'](_0x44e25c['shift']());}catch(_0x40bc41){_0x44e25c['push'](_0x44e25c['shift']());}}}(a118_0x54f8,0xef744));import a118_0x157a60 from'node:fs';import a118_0x5eb446 from'node:path';import a118_0x315369 from'semver';import{getCdnConfig}from'./cdn-config.js';const FALLBACK_MIN_SDK_VERSION=a118_0x5e216c(0x1e7);function isNonNumericVersion(_0x3de65a){const _0x5b8924=a118_0x5e216c,_0x16774b=[/^latest$/i,/^beta$/i,/^alpha$/i,/^canary$/i,/^\*$/,/^x$/];return _0x16774b['some'](_0x3ada6c=>_0x3ada6c[_0x5b8924(0x1ee)](_0x3de65a));}function getInstalledVersion(_0xc4470a,_0x5a8022){const _0x594e70=a118_0x5e216c;try{const _0x279e35=a118_0x5eb446['join'](_0xc4470a,_0x594e70(0x1f6),_0x5a8022,_0x594e70(0x1f4));if(a118_0x157a60[_0x594e70(0x1f7)](_0x279e35)){const _0x54d280=JSON[_0x594e70(0x1df)](a118_0x157a60[_0x594e70(0x1e0)](_0x279e35,_0x594e70(0x1fa)));return _0x54d280[_0x594e70(0x1f3)]||null;}}catch{}return null;}function a118_0x47d4(_0x422622,_0x51385b){_0x422622=_0x422622-0x1d5;const _0x54f8fb=a118_0x54f8();let _0x47d4fb=_0x54f8fb[_0x422622];return _0x47d4fb;}async function getSdkStableVersion(){const _0x5ab00e=a118_0x5e216c;try{const _0x13b500=await getCdnConfig();return _0x13b500?.[_0x5ab00e(0x1dd)]?.[_0x5ab00e(0x1e6)]?.['stableVersion']||null;}catch{return null;}}async function getSdkPackageName(){const _0x148f7f=a118_0x5e216c;try{const _0x2c7fe1=await getCdnConfig();return _0x2c7fe1?.['sdk']?.[_0x148f7f(0x1e6)]?.[_0x148f7f(0x1ec)]||'@lovrabet/sdk';}catch{return'@lovrabet/sdk';}}export async function checkSdkVersion(_0x338528){const _0x5af365=a118_0x5e216c,_0x4e5d9a=a118_0x5eb446[_0x5af365(0x1e3)](_0x338528,'package.json'),[_0x5a5410,_0xa59ab8]=await Promise['all']([getSdkStableVersion(),getSdkPackageName()]),_0x3b47b5=_0x5a5410||FALLBACK_MIN_SDK_VERSION;if(!a118_0x157a60[_0x5af365(0x1f7)](_0x4e5d9a))return{'installed':![],'version':null,'needsUpgrade':![],'minVersion':_0x3b47b5,'packageName':_0xa59ab8,'stableVersion':_0x5a5410};try{const _0x220954=JSON[_0x5af365(0x1df)](a118_0x157a60['readFileSync'](_0x4e5d9a,_0x5af365(0x1d7))),_0x4a52b3=_0x220954[_0x5af365(0x1e4)]||{},_0x5debee=_0x220954[_0x5af365(0x1f5)]||{},_0x39cd6c=_0x4a52b3[_0xa59ab8]||_0x5debee[_0xa59ab8];if(!_0x39cd6c)return{'installed':![],'version':null,'needsUpgrade':![],'minVersion':_0x3b47b5,'packageName':_0xa59ab8,'stableVersion':_0x5a5410};let _0x3d45ee=getInstalledVersion(_0x338528,_0xa59ab8);!_0x3d45ee&&(_0x3d45ee=_0x39cd6c);if(isNonNumericVersion(_0x39cd6c))return{'installed':!![],'version':_0x3d45ee,'needsUpgrade':![],'minVersion':_0x3b47b5,'packageName':_0xa59ab8,'stableVersion':_0x5a5410};const _0x3d174a=a118_0x315369[_0x5af365(0x1db)](_0x3d45ee),_0x4bd37f=a118_0x315369[_0x5af365(0x1db)](_0x3b47b5),_0x4daa25=_0x3d174a&&_0x4bd37f?a118_0x315369['lt'](_0x3d174a,_0x4bd37f):![];return{'installed':!![],'version':_0x3d45ee,'needsUpgrade':_0x4daa25,'minVersion':_0x3b47b5,'packageName':_0xa59ab8,'stableVersion':_0x5a5410};}catch{return{'installed':![],'version':null,'needsUpgrade':![],'minVersion':_0x3b47b5,'packageName':_0xa59ab8,'stableVersion':_0x5a5410};}}export function checkSdkVersionSync(_0x1ee957){const _0x1409bd=a118_0x5e216c,_0x17469b=a118_0x5eb446[_0x1409bd(0x1e3)](_0x1ee957,_0x1409bd(0x1f4)),_0x59518b=_0x1409bd(0x1d6);if(!a118_0x157a60[_0x1409bd(0x1f7)](_0x17469b))return{'installed':![],'version':null,'needsUpgrade':![],'minVersion':FALLBACK_MIN_SDK_VERSION,'packageName':_0x59518b,'stableVersion':null};try{const _0x31d38c=JSON['parse'](a118_0x157a60[_0x1409bd(0x1e0)](_0x17469b,_0x1409bd(0x1d7))),_0x2c8500=_0x31d38c[_0x1409bd(0x1e4)]||{},_0x3439bd=_0x31d38c[_0x1409bd(0x1f5)]||{},_0x2f0c9f=_0x2c8500[_0x59518b]||_0x3439bd[_0x59518b];if(!_0x2f0c9f)return{'installed':![],'version':null,'needsUpgrade':![],'minVersion':FALLBACK_MIN_SDK_VERSION,'packageName':_0x59518b,'stableVersion':null};let _0x39de2e=getInstalledVersion(_0x1ee957,_0x59518b);!_0x39de2e&&(_0x39de2e=_0x2f0c9f);if(isNonNumericVersion(_0x2f0c9f))return{'installed':!![],'version':_0x39de2e,'needsUpgrade':![],'minVersion':FALLBACK_MIN_SDK_VERSION,'packageName':_0x59518b,'stableVersion':null};const _0x1b1be2=a118_0x315369['coerce'](_0x39de2e),_0x2fe4b7=_0x1b1be2?a118_0x315369['lt'](_0x1b1be2,FALLBACK_MIN_SDK_VERSION):![];return{'installed':!![],'version':_0x39de2e,'needsUpgrade':_0x2fe4b7,'minVersion':FALLBACK_MIN_SDK_VERSION,'packageName':_0x59518b,'stableVersion':null};}catch{return{'installed':![],'version':null,'needsUpgrade':![],'minVersion':FALLBACK_MIN_SDK_VERSION,'packageName':_0x59518b,'stableVersion':null};}}export function printSdkUpgradeWarning(_0x5e9bda){const _0x151e32=a118_0x5e216c;if(!_0x5e9bda[_0x151e32(0x1ed)])return;const _0x13c6ae=_0x151e32(0x1e8),_0xf97bb=_0x151e32(0x1e5),_0x27e618=_0x151e32(0x1d8),_0x3de741=_0x5e9bda[_0x151e32(0x1ec)]||'@lovrabet/sdk',_0x545d3a=_0x5e9bda['stableVersion']||_0x5e9bda[_0x151e32(0x1fb)],_0x3f5025=_0x151e32(0x1eb)+_0x3de741+'@'+(_0x545d3a||_0x151e32(0x1e9));console[_0x151e32(0x1f0)](),console[_0x151e32(0x1f0)](''+_0x13c6ae+_0x27e618+'↪\x20SDK\x20update\x20available'+_0xf97bb),console[_0x151e32(0x1f0)](_0x13c6ae+_0x151e32(0x1dc)+_0x3de741+'@'+_0x5e9bda[_0x151e32(0x1f3)]+_0xf97bb),console['log'](_0x13c6ae+_0x151e32(0x1e1)+_0x545d3a+_0xf97bb),console['log'](_0x13c6ae+'\x20\x20\x20Upgrade\x20command:\x20'+_0x3f5025+_0xf97bb),console[_0x151e32(0x1f0)]();}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
(function(
|
|
1
|
+
function a119_0x3e8a(){const _0x2490ef=['test','coerce','945fLhOLc','\x20\x20\x20Stable\x20version:\x20','cli','312108hbQFMX','../..','↪\x20New\x20version\x20available','log','915430XmYuEv','266148toHgmw','npm\x20install\x20-g\x20','needsUpgrade','version','@latest','8084WqVRsO','utf-8','\x20\x20\x20Current\x20CLI\x20version:\x20','1.0.0','stableVersion','4844262hFsBeO','9ykoSzL','1784916WBVxXT','710456IBmbIL','\x1b[0m'];a119_0x3e8a=function(){return _0x2490ef;};return a119_0x3e8a();}(function(_0x4136b3,_0x291e72){const _0x115960=a119_0x47fd,_0x15d40d=_0x4136b3();while(!![]){try{const _0x3cc3a2=parseInt(_0x115960(0x98))/0x1+-parseInt(_0x115960(0x83))/0x2+-parseInt(_0x115960(0x84))/0x3+-parseInt(_0x115960(0x89))/0x4*(-parseInt(_0x115960(0x95))/0x5)+parseInt(_0x115960(0x8e))/0x6+-parseInt(_0x115960(0x90))/0x7+parseInt(_0x115960(0x91))/0x8*(-parseInt(_0x115960(0x8f))/0x9);if(_0x3cc3a2===_0x291e72)break;else _0x15d40d['push'](_0x15d40d['shift']());}catch(_0x3ca90d){_0x15d40d['push'](_0x15d40d['shift']());}}}(a119_0x3e8a,0x9539c));import{readFileSync}from'node:fs';import{resolve,dirname}from'node:path';import{fileURLToPath}from'node:url';import a119_0x2aacc6 from'semver';import{getCdnConfig}from'./cdn-config.js';import{NPM_PACKAGE_NAME}from'../constant/cli.js';function a119_0x47fd(_0x2f390b,_0x4dd1b2){_0x2f390b=_0x2f390b-0x81;const _0x3e8af8=a119_0x3e8a();let _0x47fd28=_0x3e8af8[_0x2f390b];return _0x47fd28;}function getCurrentCliVersion(){const _0x74f4f9=a119_0x47fd;try{const _0x39273e=fileURLToPath(import.meta.url),_0x14a948=resolve(dirname(_0x39273e),_0x74f4f9(0x99)),_0x4de606=resolve(_0x14a948,'package.json'),_0x41ee42=JSON['parse'](readFileSync(_0x4de606,_0x74f4f9(0x8a)));return _0x41ee42[_0x74f4f9(0x87)]||_0x74f4f9(0x8c);}catch{return'1.0.0';}}function isNonNumericVersion(_0x171332){const _0x1a744e=a119_0x47fd,_0x27df7c=[/^latest$/i,/^beta$/i,/^alpha$/i,/^canary$/i,/^\^/,/^~/,/^>/,/^</,/^\*/,/^x$/];return _0x27df7c['some'](_0x183f23=>_0x183f23[_0x1a744e(0x93)](_0x171332));}export async function checkCliVersion(){const _0x5c9296=a119_0x47fd,_0x2d28ab=getCurrentCliVersion(),_0x289590=await getCdnConfig(),_0x5aeace=_0x289590?.[_0x5c9296(0x97)]?.['stableVersion']||null;let _0x512b9b=![];if(_0x5aeace)try{const _0x1ed7a6=a119_0x2aacc6[_0x5c9296(0x94)](_0x2d28ab),_0x59d026=a119_0x2aacc6[_0x5c9296(0x94)](_0x5aeace);_0x1ed7a6&&_0x59d026&&(_0x512b9b=a119_0x2aacc6['lt'](_0x1ed7a6,_0x59d026));}catch{_0x512b9b=![];}return{'currentVersion':_0x2d28ab,'stableVersion':_0x5aeace,'needsUpgrade':_0x512b9b,'isPreRelease':![]};}export function printCliUpgradeWarning(_0x1583ac){const _0x1f3abd=a119_0x47fd;if(!_0x1583ac[_0x1f3abd(0x86)])return;const _0x3c2549='\x1b[33m',_0x3e9ecd=_0x1f3abd(0x92),_0x4a3296='\x1b[1m',_0x131935=_0x1f3abd(0x85)+NPM_PACKAGE_NAME+_0x1f3abd(0x88);console[_0x1f3abd(0x82)](),console[_0x1f3abd(0x82)](''+_0x3c2549+_0x4a3296+_0x1f3abd(0x81)+_0x3e9ecd),console[_0x1f3abd(0x82)](_0x3c2549+_0x1f3abd(0x8b)+_0x1583ac['currentVersion']+_0x3e9ecd),console['log'](_0x3c2549+_0x1f3abd(0x96)+_0x1583ac[_0x1f3abd(0x8d)]+_0x3e9ecd),console['log'](_0x3c2549+'\x20\x20\x20Upgrade\x20command:\x20'+_0x131935+_0x3e9ecd),console[_0x1f3abd(0x82)]();}
|
package/lib/utils/config.js
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
(function(
|
|
1
|
+
(function(_0x400614,_0x4b7751){const _0xc3547e=a120_0x3552,_0x1f85bd=_0x400614();while(!![]){try{const _0x54b6ea=-parseInt(_0xc3547e(0x1f8))/0x1*(parseInt(_0xc3547e(0x201))/0x2)+parseInt(_0xc3547e(0x204))/0x3*(parseInt(_0xc3547e(0x1f4))/0x4)+parseInt(_0xc3547e(0x1ed))/0x5+-parseInt(_0xc3547e(0x205))/0x6+-parseInt(_0xc3547e(0x200))/0x7*(-parseInt(_0xc3547e(0x1ff))/0x8)+-parseInt(_0xc3547e(0x1f3))/0x9+-parseInt(_0xc3547e(0x1f7))/0xa*(-parseInt(_0xc3547e(0x1f2))/0xb);if(_0x54b6ea===_0x4b7751)break;else _0x1f85bd['push'](_0x1f85bd['shift']());}catch(_0x7646f){_0x1f85bd['push'](_0x1f85bd['shift']());}}}(a120_0x48f8,0x667eb));import{initEnv}from'../constant/env.js';import{readRawConfig}from'../context.js';export{getProjectConfigPath,getGlobalConfigPath}from'../context.js';function a120_0x48f8(){const _0x4561be=['template_base_url','1286720lOfSxQ','trim','appcode','entries','length','3346849JYgemV','4791375OBCioD','44BUXmbQ','filter','defaultApp','10WfqEhd','125423KNLkEO','cookie','string','app','keys','object','apps','1510232VjjUrs','21UWUhCN','10oahkqI','https://g.lovrabet.com/dist/lovrabet-skill','values','222327jhLqRK','2182980PkcWfX','env','map'];a120_0x48f8=function(){return _0x4561be;};return a120_0x48f8();}export{isInProject}from'../context.js';export function readConfig(_0x5260dd){const _0x24ac6a=a120_0x3552,_0x208429=readRawConfig(_0x5260dd);return _0x208429[_0x24ac6a(0x206)]&&typeof _0x208429['env']===_0x24ac6a(0x1fa)&&initEnv(_0x208429['env']),_0x208429;}function a120_0x3552(_0x31781d,_0x44cdb6){_0x31781d=_0x31781d-0x1eb;const _0x48f8bc=a120_0x48f8();let _0x355255=_0x48f8bc[_0x31781d];return _0x355255;}export function getConfigAppCode(){const _0x508fee=a120_0x3552,_0x4759e8=readRawConfig();if(_0x4759e8[_0x508fee(0x1fe)]&&typeof _0x4759e8[_0x508fee(0x1fe)]==='object'){const _0x1ef4bb=_0x4759e8['defaultApp'];if(_0x1ef4bb&&_0x4759e8['apps'][_0x1ef4bb]?.[_0x508fee(0x1ef)])return String(_0x4759e8[_0x508fee(0x1fe)][_0x1ef4bb][_0x508fee(0x1ef)])[_0x508fee(0x1ee)]();const _0x1c27cb=Object[_0x508fee(0x203)](_0x4759e8['apps'])[0x0];if(_0x1c27cb?.[_0x508fee(0x1ef)])return String(_0x1c27cb['appcode'])[_0x508fee(0x1ee)]();}const _0x5b092f=_0x4759e8['appcode']||_0x4759e8[_0x508fee(0x1fb)];if(typeof _0x5b092f!==_0x508fee(0x1fa)||_0x5b092f[_0x508fee(0x1ee)]()==='')return undefined;return _0x5b092f[_0x508fee(0x1ee)]();}export function getMultiAppConfigs(){const _0x25f9d1=a120_0x3552,_0x135ef6=readRawConfig(),_0x14fb69=_0x135ef6[_0x25f9d1(0x1fe)];if(!_0x14fb69||typeof _0x14fb69!==_0x25f9d1(0x1fd)||Object[_0x25f9d1(0x1fc)](_0x14fb69)[_0x25f9d1(0x1f1)]===0x0)return null;const _0x13e6bf=_0x135ef6[_0x25f9d1(0x1f6)];return Object[_0x25f9d1(0x1f0)](_0x14fb69)[_0x25f9d1(0x1eb)](([_0x3e6f08,_0x1e2521])=>({'name':_0x3e6f08,'appcode':_0x1e2521?.['appcode']||'','isDefault':_0x3e6f08===_0x13e6bf,'env':_0x1e2521?.[_0x25f9d1(0x206)],'apiDir':_0x1e2521?.['apiDir'],'cookie':_0x1e2521?.[_0x25f9d1(0x1f9)]||undefined}))[_0x25f9d1(0x1f5)](_0x59b11e=>_0x59b11e[_0x25f9d1(0x1ef)]);}export function getTemplateBaseUrl(){const _0x340bf6=a120_0x3552,_0x4f5110=readRawConfig();if(_0x4f5110[_0x340bf6(0x1ec)]&&typeof _0x4f5110[_0x340bf6(0x1ec)]===_0x340bf6(0x1fa))return _0x4f5110['template_base_url']['replace'](/\/$/,'');return _0x340bf6(0x202);}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
function
|
|
1
|
+
function a121_0x9563(_0x311e27,_0x299f3d){_0x311e27=_0x311e27-0xa6;const _0x4e8781=a121_0x4e87();let _0x95635d=_0x4e8781[_0x311e27];return _0x95635d;}(function(_0x5f1372,_0x3a1d2e){const _0xe19d65=a121_0x9563,_0x39e26b=_0x5f1372();while(!![]){try{const _0x4bb7a4=-parseInt(_0xe19d65(0xa6))/0x1+parseInt(_0xe19d65(0xa8))/0x2+parseInt(_0xe19d65(0xad))/0x3*(parseInt(_0xe19d65(0xa7))/0x4)+-parseInt(_0xe19d65(0xb4))/0x5+parseInt(_0xe19d65(0xb3))/0x6+-parseInt(_0xe19d65(0xac))/0x7*(parseInt(_0xe19d65(0xaf))/0x8)+-parseInt(_0xe19d65(0xa9))/0x9;if(_0x4bb7a4===_0x3a1d2e)break;else _0x39e26b['push'](_0x39e26b['shift']());}catch(_0xbb3577){_0x39e26b['push'](_0x39e26b['shift']());}}}(a121_0x4e87,0x33392));function a121_0x4e87(){const _0x222762=['copyFileSync','name','1106760okdBac','481315BbzdUe','236144SbyWDi','111276gEgMmE','279330RaUjdE','275769XbBeYY','复制目录时出错:','readdirSync','28xfjdVv','33ihHDKd','error','114552DTAVhb','join'];a121_0x4e87=function(){return _0x222762;};return a121_0x4e87();}import a121_0x3227fa from'node:path';import a121_0x5c6ce8 from'node:fs';export async function copyDirectory(_0x2987fc,_0x5d677c){const _0x129c1e=a121_0x9563;try{const _0x44020f=a121_0x5c6ce8[_0x129c1e(0xab)](_0x2987fc,{'withFileTypes':!![]});a121_0x5c6ce8['mkdirSync'](_0x5d677c,{'recursive':!![]});for(const _0x196693 of _0x44020f){const _0x596b73=a121_0x3227fa['join'](_0x2987fc,_0x196693[_0x129c1e(0xb2)]),_0x5141ec=a121_0x3227fa[_0x129c1e(0xb0)](_0x5d677c,_0x196693[_0x129c1e(0xb2)]);_0x196693['isDirectory']()?await copyDirectory(_0x596b73,_0x5141ec):a121_0x5c6ce8[_0x129c1e(0xb1)](_0x596b73,_0x5141ec);}}catch(_0x43ecc8){console[_0x129c1e(0xae)](_0x129c1e(0xaa),_0x43ecc8);}}
|
package/lib/utils/file-utils.js
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
(function(
|
|
1
|
+
(function(_0x6e735a,_0x16b7b0){const _0x479b61=a122_0x1caf,_0x426cdc=_0x6e735a();while(!![]){try{const _0x7a7d9d=-parseInt(_0x479b61(0x158))/0x1+parseInt(_0x479b61(0x155))/0x2*(parseInt(_0x479b61(0x153))/0x3)+parseInt(_0x479b61(0x159))/0x4+-parseInt(_0x479b61(0x156))/0x5*(parseInt(_0x479b61(0x152))/0x6)+parseInt(_0x479b61(0x15b))/0x7+-parseInt(_0x479b61(0x157))/0x8+parseInt(_0x479b61(0x154))/0x9;if(_0x7a7d9d===_0x16b7b0)break;else _0x426cdc['push'](_0x426cdc['shift']());}catch(_0x180d41){_0x426cdc['push'](_0x426cdc['shift']());}}}(a122_0x198f,0xec179));import{existsSync,mkdirSync,copyFileSync,readdirSync,statSync}from'node:fs';function a122_0x1caf(_0x497776,_0x2e45e0){_0x497776=_0x497776-0x152;const _0x198f93=a122_0x198f();let _0x1cafb8=_0x198f93[_0x497776];return _0x1cafb8;}function a122_0x198f(){const _0x46bb1a=['276MbSEsx','4460148lRPhox','39588xLqjnJ','75swUISp','10416880JcUTbW','181683OKznWX','3164672yVRdCD','isDirectory','3142811yhOGVO','442374GkwoAd'];a122_0x198f=function(){return _0x46bb1a;};return a122_0x198f();}import{join}from'node:path';export async function copyDir(_0x7a8ffd,_0x2c5eba){const _0x2e9d70=a122_0x1caf,_0x4ed0de=statSync(_0x7a8ffd);if(_0x4ed0de[_0x2e9d70(0x15a)]()){!existsSync(_0x2c5eba)&&mkdirSync(_0x2c5eba,{'recursive':!![]});const _0x43ad80=readdirSync(_0x7a8ffd);for(const _0x4da9b0 of _0x43ad80){await copyDir(join(_0x7a8ffd,_0x4da9b0),join(_0x2c5eba,_0x4da9b0));}}else copyFileSync(_0x7a8ffd,_0x2c5eba);}export function ensureDir(_0x5852ef){!existsSync(_0x5852ef)&&mkdirSync(_0x5852ef,{'recursive':!![]});}export function pathExists(_0x15a642){return existsSync(_0x15a642);}
|
package/lib/utils/guides-cdn.js
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
const
|
|
1
|
+
const a123_0x33f68b=a123_0x2d5a;(function(_0x47a9e2,_0x529f15){const _0x3b2b7d=a123_0x2d5a,_0x8f277c=_0x47a9e2();while(!![]){try{const _0x394cd1=-parseInt(_0x3b2b7d(0xdd))/0x1+-parseInt(_0x3b2b7d(0xe3))/0x2+-parseInt(_0x3b2b7d(0xfc))/0x3*(-parseInt(_0x3b2b7d(0xe5))/0x4)+parseInt(_0x3b2b7d(0xea))/0x5+-parseInt(_0x3b2b7d(0xda))/0x6*(parseInt(_0x3b2b7d(0xe0))/0x7)+parseInt(_0x3b2b7d(0xd9))/0x8*(-parseInt(_0x3b2b7d(0xfb))/0x9)+parseInt(_0x3b2b7d(0xdc))/0xa;if(_0x394cd1===_0x529f15)break;else _0x8f277c['push'](_0x8f277c['shift']());}catch(_0x5e3ea1){_0x8f277c['push'](_0x8f277c['shift']());}}}(a123_0x42b5,0xb4c2a));import{mkdirSync,writeFileSync}from'node:fs';import{dirname,join}from'node:path';function a123_0x42b5(){const _0x1def85=['title','230376yQjUZE','6925362IgflPL','USERPROFILE','21875800mScQdb','442040gzelGv','join','skillTemplate','7dilqFg','guides','.md','1069740AYxmLH','utf-8','3530636rrSOEr','CDN\x20数据中缺少\x20skillTemplate','CDN\x20请求失败:\x20','cache','map','5485785qTSWos','extendContent','HOME','length','replace','entries','status','object','content','push','trimEnd','json','.lovrabet','env','keys','lastUpdated','CDN\x20返回数据格式错误','405QSkXok','3JeLlZm'];a123_0x42b5=function(){return _0x1def85;};return a123_0x42b5();}import{getTemplateBaseUrl}from'./config.js';function getGuidesCdnUrl(){const _0x142f3d=getTemplateBaseUrl();return _0x142f3d+'/skills/guides.json';}const CACHE_DIR=join(process[a123_0x33f68b(0xf7)][a123_0x33f68b(0xec)]||process['env'][a123_0x33f68b(0xdb)]||'',a123_0x33f68b(0xf6),a123_0x33f68b(0xe8));export async function fetchGuidesFromCDN(){const _0x26f4f0=a123_0x33f68b,_0x3da55b=getGuidesCdnUrl(),_0x46ca0d=await fetch(_0x3da55b,{'headers':{'Accept':'application/json'}});if(!_0x46ca0d['ok'])throw new Error(_0x26f4f0(0xe7)+_0x46ca0d[_0x26f4f0(0xf0)]+'\x20'+_0x46ca0d['statusText']);const _0x126ef1=await _0x46ca0d[_0x26f4f0(0xf5)]();if(!_0x126ef1['guides']||typeof _0x126ef1[_0x26f4f0(0xe1)]!==_0x26f4f0(0xf1))throw new Error(_0x26f4f0(0xfa));return _0x126ef1;}export function writeGuidesToProject(_0x2f81e2,_0x5778bb,_0x1cb558='.lovrabet/skill/guides',_0x1f01ed){const _0x39ddd1=a123_0x33f68b,_0x3009f1=join(_0x5778bb,_0x1cb558);mkdirSync(_0x3009f1,{'recursive':!![]});for(const [_0x578f71,_0x1691b7]of Object[_0x39ddd1(0xef)](_0x2f81e2['guides'])){let _0x512ffa=_0x1691b7[_0x39ddd1(0xf2)];_0x1691b7['lastUpdated']&&(_0x512ffa=appendUpdateTime(_0x512ffa,_0x1691b7[_0x39ddd1(0xf9)])),writeFileSync(join(_0x3009f1,_0x578f71+_0x39ddd1(0xe2)),_0x512ffa,_0x39ddd1(0xe4));}}export function appendUpdateTime(_0x5650a3,_0x5370c0){const _0x539e50=a123_0x33f68b;return _0x5650a3=_0x5650a3[_0x539e50(0xee)](/\n*>更新时间:.*$/m,''),_0x5650a3[_0x539e50(0xf4)]()+('\x0a\x0a>更新时间:'+_0x5370c0);}export function getSkillTemplate(_0x40ea56){const _0x4b555a=a123_0x33f68b;return _0x40ea56[_0x4b555a(0xdf)]?.[_0x4b555a(0xf2)]||'';}export function appendExtendContents(_0x250490,_0x2d9422,_0x499a8b){const _0x4a7ac3=a123_0x33f68b,_0x5dcf04=[];for(const [,_0x10b9db]of Object['entries'](_0x2d9422[_0x4a7ac3(0xe1)])){_0x10b9db[_0x4a7ac3(0xeb)]&&_0x5dcf04[_0x4a7ac3(0xf3)](_0x10b9db[_0x4a7ac3(0xeb)][_0x4a7ac3(0xf4)]());}if(_0x5dcf04[_0x4a7ac3(0xed)]===0x0)return _0x250490;return _0x250490['trimEnd']()+'\x0a\x0a'+_0x5dcf04[_0x4a7ac3(0xde)]('\x0a\x0a')+'\x0a';}export function writeSkillFile(_0x3e33d9,_0x597e6e,_0x183f4d){const _0x303aeb=a123_0x33f68b,_0x1d0e98=getSkillTemplate(_0x3e33d9);if(!_0x1d0e98)throw new Error(_0x303aeb(0xe6));const _0x145aed=dirname(_0x597e6e);mkdirSync(_0x145aed,{'recursive':!![]});let _0x2c3de3=_0x1d0e98[_0x303aeb(0xee)](/\{\{IDE_NAME\}\}/g,_0x183f4d);_0x2c3de3=appendExtendContents(_0x2c3de3,_0x3e33d9),_0x3e33d9[_0x303aeb(0xdf)][_0x303aeb(0xf9)]&&(_0x2c3de3=appendUpdateTime(_0x2c3de3,_0x3e33d9[_0x303aeb(0xdf)][_0x303aeb(0xf9)])),writeFileSync(_0x597e6e,_0x2c3de3,_0x303aeb(0xe4));}function a123_0x2d5a(_0x31afc5,_0x3c4c26){_0x31afc5=_0x31afc5-0xd8;const _0x42b568=a123_0x42b5();let _0x2d5a31=_0x42b568[_0x31afc5];return _0x2d5a31;}export async function installGuides(_0x6643a8){const _0x2a3bca=a123_0x33f68b,_0xeba306=await fetchGuidesFromCDN();return writeGuidesToProject(_0xeba306,_0x6643a8),Object[_0x2a3bca(0xf8)](_0xeba306['guides'])['length'];}export function getGuidesSummary(_0x589783){const _0x28391d=a123_0x33f68b;return Object[_0x28391d(0xef)](_0x589783[_0x28391d(0xe1)])[_0x28391d(0xe9)](([_0x3793ae,_0x2ac8e8])=>({'key':_0x3793ae,'title':_0x2ac8e8[_0x28391d(0xd8)],'path':_0x2ac8e8['path']}));}
|
package/lib/utils/http-client.js
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
(function(
|
|
1
|
+
(function(_0x32d83f,_0x2190b9){const _0x46b9e2=a124_0x15e9,_0x7a6e70=_0x32d83f();while(!![]){try{const _0x410bb4=-parseInt(_0x46b9e2(0x9e))/0x1+-parseInt(_0x46b9e2(0x9a))/0x2*(-parseInt(_0x46b9e2(0xa9))/0x3)+parseInt(_0x46b9e2(0x9c))/0x4+-parseInt(_0x46b9e2(0xb1))/0x5*(parseInt(_0x46b9e2(0xa4))/0x6)+-parseInt(_0x46b9e2(0x95))/0x7*(parseInt(_0x46b9e2(0x96))/0x8)+parseInt(_0x46b9e2(0xaf))/0x9*(-parseInt(_0x46b9e2(0xab))/0xa)+parseInt(_0x46b9e2(0x9b))/0xb;if(_0x410bb4===_0x2190b9)break;else _0x7a6e70['push'](_0x7a6e70['shift']());}catch(_0x348934){_0x7a6e70['push'](_0x7a6e70['shift']());}}}(a124_0x1fa6,0x91047));function a124_0x1fa6(){const _0x36e67e=['TypeError','abort','includes','Request\x20failed','178842uliEjU','AbortError','ENOTFOUND','\x20次重试...','ms\x20后进行第\x20','39yAYrVv','message','5841830hBhoWx','json','ECONNRESET','content-type','9RVSGYR','application/json','55OBetlv','3137036WzLDjy','8qYQbSA','statusText','signal','text','26874hlRLfc','13022801mJjGAR','4075876ZjcruI','name','423342MwIgqm','status'];a124_0x1fa6=function(){return _0x36e67e;};return a124_0x1fa6();}export async function httpRequest(_0x1f0a63,_0x3ee37c={}){const _0x2ac629=a124_0x15e9,{timeout:timeout=0x7530,retries:retries=0x3,retryDelay:retryDelay=0x3e8,headers:headers={}}=_0x3ee37c;let _0x4dab20=null;for(let _0xc88953=0x0;_0xc88953<=retries;_0xc88953++){try{const _0x2026ca=new AbortController(),_0x408daa=setTimeout(()=>_0x2026ca[_0x2ac629(0xa1)](),timeout),_0x4da2c3=await fetch(_0x1f0a63,{'headers':headers,'signal':_0x2026ca[_0x2ac629(0x98)]});clearTimeout(_0x408daa);let _0x5db764;const _0x46b19d=_0x4da2c3['headers']['get'](_0x2ac629(0xae));return _0x46b19d?.[_0x2ac629(0xa2)](_0x2ac629(0xb0))?_0x5db764=await _0x4da2c3[_0x2ac629(0xac)]():_0x5db764=await _0x4da2c3[_0x2ac629(0x99)](),{'ok':_0x4da2c3['ok'],'status':_0x4da2c3[_0x2ac629(0x9f)],'statusText':_0x4da2c3[_0x2ac629(0x97)],'data':_0x5db764,'headers':_0x4da2c3['headers'],'url':_0x4da2c3['url'],'text':()=>_0x4da2c3['text']()};}catch(_0x389446){_0x4dab20=_0x389446 instanceof Error?_0x389446:new Error(String(_0x389446));if(_0xc88953===retries)break;if(shouldRetry(_0x389446)){console['log']('*\x20请求失败,'+retryDelay+_0x2ac629(0xa8)+(_0xc88953+0x1)+_0x2ac629(0xa7)),await sleep(retryDelay);continue;}else break;}}throw _0x4dab20||new Error(_0x2ac629(0xa3));}function shouldRetry(_0x16d5d5){const _0x5c7bc5=a124_0x15e9;if(_0x16d5d5 instanceof Error){if(_0x16d5d5[_0x5c7bc5(0x9d)]===_0x5c7bc5(0xa5))return![];if(_0x16d5d5[_0x5c7bc5(0x9d)]===_0x5c7bc5(0xa0)&&_0x16d5d5[_0x5c7bc5(0xaa)][_0x5c7bc5(0xa2)]('fetch'))return!![];if(_0x16d5d5[_0x5c7bc5(0xaa)][_0x5c7bc5(0xa2)](_0x5c7bc5(0xad)))return!![];if(_0x16d5d5[_0x5c7bc5(0xaa)][_0x5c7bc5(0xa2)](_0x5c7bc5(0xa6)))return![];}return![];}function sleep(_0x1f1dd0){return new Promise(_0x38a5e8=>setTimeout(_0x38a5e8,_0x1f1dd0));}function a124_0x15e9(_0x10a670,_0x26d436){_0x10a670=_0x10a670-0x95;const _0x1fa6f8=a124_0x1fa6();let _0x15e946=_0x1fa6f8[_0x10a670];return _0x15e946;}export function validateUrl(_0x44717a){try{return new URL(_0x44717a),!![];}catch{return![];}}
|
package/lib/utils/logger.js
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
const
|
|
1
|
+
const a125_0x6c51e5=a125_0x2445;function a125_0x2445(_0x63d4b5,_0x2be56e){_0x63d4b5=_0x63d4b5-0x183;const _0x5ba7df=a125_0x5ba7();let _0x24457d=_0x5ba7df[_0x63d4b5];return _0x24457d;}(function(_0xa6b48d,_0x119e3e){const _0x2bd2c4=a125_0x2445,_0x12d6ec=_0xa6b48d();while(!![]){try{const _0x1d5d7d=-parseInt(_0x2bd2c4(0x1b0))/0x1+-parseInt(_0x2bd2c4(0x1b5))/0x2*(parseInt(_0x2bd2c4(0x18f))/0x3)+-parseInt(_0x2bd2c4(0x1ae))/0x4*(-parseInt(_0x2bd2c4(0x1a8))/0x5)+-parseInt(_0x2bd2c4(0x18b))/0x6+parseInt(_0x2bd2c4(0x19e))/0x7+-parseInt(_0x2bd2c4(0x1ac))/0x8*(parseInt(_0x2bd2c4(0x199))/0x9)+parseInt(_0x2bd2c4(0x18c))/0xa;if(_0x1d5d7d===_0x119e3e)break;else _0x12d6ec['push'](_0x12d6ec['shift']());}catch(_0x260bf7){_0x12d6ec['push'](_0x12d6ec['shift']());}}}(a125_0x5ba7,0xc0e97));function a125_0x5ba7(){const _0x992f7c=['level','readFileSync','details','toISOString','rawCommand','transports','existsSync','clearLogs','4878oeXfDR','now','mkdirSync','writeFileSync','errors','5433785yThvSW','warn','currentRawCommand','map','command','unknown','stringify','error','yellow','printf','5iSKCeY','message','getWinstonInstance','log','5368abUACx','clear','4700404RIHGcl','Failed\x20to\x20read\x20logs:','425668EqfCmO','setRawCommand','logTask','split','red','8DmKeFM','utf8','format','success','combine','blue','parse','timestamp','green','join','setLogPath','失败:\x20','info','logFilePath','File','1705014RUdrnx','11177860FQanBc','.lovrabet.log','trim','904092bJsiOJ','winstonLogger'];a125_0x5ba7=function(){return _0x992f7c;};return a125_0x5ba7();}import a125_0x137465 from'winston';import a125_0x48e5d2 from'node:fs';import a125_0x375037 from'node:path';class Logger{[a125_0x6c51e5(0x190)];[a125_0x6c51e5(0x189)];[a125_0x6c51e5(0x1a0)]='';constructor(){const _0x357aef=a125_0x6c51e5;this[_0x357aef(0x189)]='';}[a125_0x6c51e5(0x1b1)](_0x43c65c){this['currentRawCommand']=_0x43c65c;}['initWinstonLogger'](){const _0x54525e=a125_0x6c51e5,_0x1c4f0e=a125_0x375037['dirname'](this['logFilePath']);!a125_0x48e5d2[_0x54525e(0x197)](_0x1c4f0e)&&a125_0x48e5d2[_0x54525e(0x19b)](_0x1c4f0e,{'recursive':!![]});const _0x48b15c=a125_0x137465[_0x54525e(0x1b7)][_0x54525e(0x1b9)](a125_0x137465[_0x54525e(0x1b7)]['timestamp'](),a125_0x137465['format'][_0x54525e(0x19d)]({'stack':!![]}),a125_0x137465[_0x54525e(0x1b7)][_0x54525e(0x1a7)](_0x4149d6=>{const _0x2d6bd3=_0x54525e,_0x18b526={'timestamp':_0x4149d6[_0x2d6bd3(0x183)]||new Date()[_0x2d6bd3(0x194)](),'level':_0x4149d6[_0x2d6bd3(0x191)]||_0x2d6bd3(0x188),'command':_0x4149d6[_0x2d6bd3(0x1a2)]||_0x2d6bd3(0x1a3),'rawCommand':_0x4149d6[_0x2d6bd3(0x195)]||this[_0x2d6bd3(0x1a0)]||undefined,'message':_0x4149d6[_0x2d6bd3(0x1a9)]||'','duration':_0x4149d6['duration']||undefined,'details':_0x4149d6[_0x2d6bd3(0x193)]||undefined};return JSON[_0x2d6bd3(0x1a4)](_0x18b526);}));this[_0x54525e(0x190)]=a125_0x137465['createLogger']({'level':_0x54525e(0x188),'format':_0x48b15c,'transports':[new a125_0x137465[(_0x54525e(0x196))][(_0x54525e(0x18a))]({'filename':this[_0x54525e(0x189)],'level':_0x54525e(0x188)})],'silent':![]}),a125_0x137465['addColors']({'success':_0x54525e(0x184),'error':_0x54525e(0x1b4),'warn':_0x54525e(0x1a6),'info':_0x54525e(0x1ba)});}[a125_0x6c51e5(0x186)](_0x361a98){const _0x449b90=a125_0x6c51e5;this[_0x449b90(0x189)]=a125_0x375037[_0x449b90(0x185)](_0x361a98,_0x449b90(0x18d)),this[_0x449b90(0x190)]&&this['winstonLogger'][_0x449b90(0x1ad)](),this['initWinstonLogger']();}[a125_0x6c51e5(0x188)](_0x231aea,_0x4b24cb,_0x40c46c){const _0x4fb22e=a125_0x6c51e5;if(!this[_0x4fb22e(0x189)]||!this[_0x4fb22e(0x190)])return;this[_0x4fb22e(0x190)][_0x4fb22e(0x188)](_0x4b24cb,{'command':_0x231aea,'details':_0x40c46c});}[a125_0x6c51e5(0x1b8)](_0x39118f,_0x2027a4,_0x4944b3,_0x241e93){const _0x291f1e=a125_0x6c51e5;if(!this[_0x291f1e(0x189)]||!this[_0x291f1e(0x190)])return;this['winstonLogger'][_0x291f1e(0x1ab)](_0x291f1e(0x188),_0x2027a4,{'level':'success','command':_0x39118f,'duration':_0x4944b3,'details':_0x241e93});}['error'](_0x5c76b8,_0x40af62,_0x32f9cb){const _0x46f52c=a125_0x6c51e5;if(!this[_0x46f52c(0x189)]||!this['winstonLogger'])return;this[_0x46f52c(0x190)]['error'](_0x40af62,{'command':_0x5c76b8,'details':_0x32f9cb});}[a125_0x6c51e5(0x19f)](_0x1ba7e1,_0x158807,_0x5377be){if(!this['logFilePath']||!this['winstonLogger'])return;this['winstonLogger']['warn'](_0x158807,{'command':_0x1ba7e1,'details':_0x5377be});}async[a125_0x6c51e5(0x1b2)](_0x21d1d4,_0x32b921,_0x5e3d51){const _0x5050db=a125_0x6c51e5,_0x2f6b13=Date['now']();this['info'](_0x21d1d4,'开始执行:\x20'+_0x32b921);try{const _0x43b923=await _0x5e3d51(),_0xb90dfb=Date[_0x5050db(0x19a)]()-_0x2f6b13;return this[_0x5050db(0x1b8)](_0x21d1d4,'完成:\x20'+_0x32b921,_0xb90dfb),_0x43b923;}catch(_0x5f5175){const _0x16742d=Date['now']()-_0x2f6b13;this[_0x5050db(0x1a5)](_0x21d1d4,_0x5050db(0x187)+_0x32b921,{'error':_0x5f5175 instanceof Error?_0x5f5175[_0x5050db(0x1a9)]:String(_0x5f5175),'duration':_0x16742d});throw _0x5f5175;}}['readLogs'](){const _0x1842f7=a125_0x6c51e5;try{if(!a125_0x48e5d2[_0x1842f7(0x197)](this[_0x1842f7(0x189)]))return[];const _0x2dd699=a125_0x48e5d2[_0x1842f7(0x192)](this[_0x1842f7(0x189)],'utf8');return _0x2dd699[_0x1842f7(0x1b3)]('\x0a')['filter'](_0x4d94b6=>_0x4d94b6[_0x1842f7(0x18e)]())[_0x1842f7(0x1a1)](_0x3dd474=>JSON[_0x1842f7(0x1bb)](_0x3dd474));}catch(_0x2ad404){return console[_0x1842f7(0x19f)](_0x1842f7(0x1af),_0x2ad404),[];}}[a125_0x6c51e5(0x198)](){const _0x2ccf62=a125_0x6c51e5;try{a125_0x48e5d2['existsSync'](this[_0x2ccf62(0x189)])&&a125_0x48e5d2[_0x2ccf62(0x19c)](this[_0x2ccf62(0x189)],'',_0x2ccf62(0x1b6));}catch(_0x395757){console[_0x2ccf62(0x19f)]('Failed\x20to\x20clear\x20logs:',_0x395757);}}[a125_0x6c51e5(0x1aa)](){const _0x3cd527=a125_0x6c51e5;return this[_0x3cd527(0x190)];}}export const logger=new Logger();
|
package/lib/utils/rules-cdn.js
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
|
|
1
|
+
(function(_0x45c94d,_0x548cfb){const _0x446b7d=a126_0x595a,_0x5c4454=_0x45c94d();while(!![]){try{const _0x429ffe=parseInt(_0x446b7d(0xad))/0x1+parseInt(_0x446b7d(0xa8))/0x2+parseInt(_0x446b7d(0xb6))/0x3*(parseInt(_0x446b7d(0xa6))/0x4)+-parseInt(_0x446b7d(0xaa))/0x5*(parseInt(_0x446b7d(0xb3))/0x6)+parseInt(_0x446b7d(0xb4))/0x7*(-parseInt(_0x446b7d(0xb5))/0x8)+parseInt(_0x446b7d(0xa5))/0x9*(parseInt(_0x446b7d(0xa7))/0xa)+-parseInt(_0x446b7d(0xac))/0xb;if(_0x429ffe===_0x548cfb)break;else _0x5c4454['push'](_0x5c4454['shift']());}catch(_0x760f84){_0x5c4454['push'](_0x5c4454['shift']());}}}(a126_0x4436,0x24d99));import{existsSync,mkdirSync,readFileSync,writeFileSync}from'node:fs';import{dirname,join,resolve}from'node:path';import{fileURLToPath}from'node:url';import{getTemplateBaseUrl}from'./config.js';import{appendUpdateTime}from'./guides-cdn.js';function a126_0x4436(){const _0x8c16f5=['lastUpdated','880099gzXndA','228128TWxuMI','content','agents.md','.cursor/rules','/rules/rules.json','CDN\x20请求失败:\x20','69936TWBtGx','976017ABbqZa','16fEPBlz','21BKYvmr','application/json','statusText','utf-8','本地模板文件不存在:\x20','173997vqgamA','162604qQEjPT','50Hmifjd','267156hkFcnR','CDN\x20返回数据格式错误','100gdIDEC'];a126_0x4436=function(){return _0x8c16f5;};return a126_0x4436();}function a126_0x595a(_0xac187f,_0x452016){_0xac187f=_0xac187f-0xa4;const _0x44369f=a126_0x4436();let _0x595a84=_0x44369f[_0xac187f];return _0x595a84;}const __filename=fileURLToPath(import.meta.url),__dirname=dirname(__filename);function getRulesCdnUrl(){const _0x4fd130=a126_0x595a,_0x1495b3=getTemplateBaseUrl();return _0x1495b3+_0x4fd130(0xb1);}const LOCAL_TEMPLATE_PATH=resolve(__dirname,'../../templates/rules/lovrabet_rules.mdc.tpl');export async function fetchRulesFromCDN(){const _0x164864=a126_0x595a,_0x521fc0=getRulesCdnUrl(),_0x1eebf9=await fetch(_0x521fc0,{'headers':{'Accept':_0x164864(0xb7)}});if(!_0x1eebf9['ok'])throw new Error(_0x164864(0xb2)+_0x1eebf9['status']+'\x20'+_0x1eebf9[_0x164864(0xb8)]);const _0x54e884=await _0x1eebf9['json']();if(!_0x54e884['content']||typeof _0x54e884[_0x164864(0xae)]!=='string')throw new Error(_0x164864(0xa9));return _0x54e884;}export async function getRulesContent(){try{const _0x181239=await fetchRulesFromCDN();return _0x181239['content'];}catch{return readLocalTemplate();}}export function readLocalTemplate(){const _0x38c114=a126_0x595a;if(existsSync(LOCAL_TEMPLATE_PATH))return readFileSync(LOCAL_TEMPLATE_PATH,'utf-8');throw new Error(_0x38c114(0xa4)+LOCAL_TEMPLATE_PATH);}export async function writeRulesFile(_0x4b747d){const _0x21733a=a126_0x595a,_0x31c2f9=await fetchRulesFromCDN()['catch'](()=>null);let _0xf5225f;_0x31c2f9?(_0xf5225f=_0x31c2f9['content'],_0x31c2f9[_0x21733a(0xab)]&&(_0xf5225f=appendUpdateTime(_0xf5225f,_0x31c2f9['lastUpdated']))):_0xf5225f=readLocalTemplate();const _0x5c49fa=dirname(_0x4b747d);!existsSync(_0x5c49fa)&&mkdirSync(_0x5c49fa,{'recursive':!![]}),writeFileSync(_0x4b747d,_0xf5225f,_0x21733a(0xb9));}export async function copyRulesToCursor(_0x496618){const _0x3e1e84=a126_0x595a,_0x388074=join(_0x496618,_0x3e1e84(0xb0)),_0x25395d=join(_0x388074,'lovrabet_rules.mdc');if(existsSync(_0x25395d))return![];return await writeRulesFile(_0x25395d),!![];}export async function copyRulesToAgentsMd(_0x540459){const _0x281ecd=a126_0x595a,_0x295e12=join(_0x540459,_0x281ecd(0xaf));if(existsSync(_0x295e12))return![];return await writeRulesFile(_0x295e12),!![];}
|
package/lib/utils/sleep.js
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
export function sleep(
|
|
1
|
+
export function sleep(_0x479d29){return new Promise(_0x1ae3b5=>setTimeout(_0x1ae3b5,_0x479d29));}
|