@lovrabet/cli 1.3.0 → 1.3.2-beta.0

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.
Files changed (80) hide show
  1. package/lib/add-page/input-page-router.js +1 -1
  2. package/lib/add-page/main.js +1 -1
  3. package/lib/add-page/select-page-template.js +1 -1
  4. package/lib/ai-setup/AISetupUI.js +1 -1
  5. package/lib/ai-setup/config.js +1 -1
  6. package/lib/api/api-doc-ui.js +1 -1
  7. package/lib/api/api-doc.js +1 -1
  8. package/lib/api/api-pull-ui.js +1 -1
  9. package/lib/api/fetch-model-list.js +1 -1
  10. package/lib/api/generate-api-file.js +1 -1
  11. package/lib/api/main.js +1 -1
  12. package/lib/api/pull-silent.js +1 -1
  13. package/lib/app-menu/app-menu-sync-ui.js +1 -1
  14. package/lib/app-menu/create-menu.js +1 -1
  15. package/lib/app-menu/get-local-pages.js +1 -1
  16. package/lib/app-menu/get-online-menu-list.js +1 -1
  17. package/lib/app-menu/use-get-online-menu-list.js +1 -1
  18. package/lib/app-menu/utils.js +1 -1
  19. package/lib/app-menu/valid-url.js +1 -1
  20. package/lib/app-menu-update-cdn/current-content.js +1 -1
  21. package/lib/app-menu-update-cdn/input-cdn-asset.js +1 -1
  22. package/lib/app-menu-update-cdn/main.js +1 -1
  23. package/lib/app-menu-update-cdn/update-menu-cdn-url.js +1 -1
  24. package/lib/auth/auth-server-ui.js +1 -1
  25. package/lib/auth/auth-server.js +1 -1
  26. package/lib/auth/constant.js +1 -1
  27. package/lib/auth/get-cookie.js +1 -1
  28. package/lib/auth/is-session-valid.js +1 -1
  29. package/lib/auth/logout.js +1 -1
  30. package/lib/cli-flags.js +1 -0
  31. package/lib/cli.js +1 -1
  32. package/lib/cmd/build-watch.js +1 -1
  33. package/lib/cmd/build.js +1 -1
  34. package/lib/cmd/logs.js +1 -1
  35. package/lib/cmd/preview.js +1 -1
  36. package/lib/cmd/start.js +1 -1
  37. package/lib/config/config-help.js +1 -1
  38. package/lib/config/main.js +1 -1
  39. package/lib/constant/domain.js +1 -1
  40. package/lib/constant/env.js +1 -1
  41. package/lib/create-app/enhanced-guided-create.js +1 -1
  42. package/lib/create-app/format-elapsed.js +1 -1
  43. package/lib/create-app/main.js +1 -1
  44. package/lib/create-app/non-interactive.js +1 -1
  45. package/lib/create-app/task-finished.js +1 -1
  46. package/lib/create-app/task-loading.js +1 -1
  47. package/lib/create-app/task-running.js +1 -1
  48. package/lib/create-app/task-time.js +1 -1
  49. package/lib/create-app/use-copy-project-template.js +1 -1
  50. package/lib/create-app/use-format-code.js +1 -1
  51. package/lib/create-app/use-install-dependencies.js +1 -1
  52. package/lib/help.js +1 -1
  53. package/lib/init/main.js +1 -1
  54. package/lib/mcp/McpInstallUI.js +1 -1
  55. package/lib/mcp/claude.js +1 -1
  56. package/lib/mcp/cursor.js +1 -1
  57. package/lib/mcp/main.js +1 -1
  58. package/lib/mcp/mcp-install-non-interactive.js +1 -1
  59. package/lib/mcp/mcp-installer.js +1 -1
  60. package/lib/skills/SkillInstallUI.js +1 -1
  61. package/lib/skills/main.js +1 -1
  62. package/lib/skills/skill-install-non-interactive.js +1 -1
  63. package/lib/skills/skill-installer.js +1 -1
  64. package/lib/ui/IDESelector.js +1 -1
  65. package/lib/ui/useIDESelection.js +1 -1
  66. package/lib/utils/ai_config.js +1 -1
  67. package/lib/utils/cdn-config.js +1 -1
  68. package/lib/utils/check-sdk-version.js +1 -1
  69. package/lib/utils/cli-version-check.js +1 -1
  70. package/lib/utils/config.js +1 -1
  71. package/lib/utils/copy-directory.js +1 -1
  72. package/lib/utils/file-utils.js +1 -1
  73. package/lib/utils/guides-cdn.js +1 -1
  74. package/lib/utils/http-client.js +1 -1
  75. package/lib/utils/logger.js +1 -1
  76. package/lib/utils/router-updater.js +1 -1
  77. package/lib/utils/rules-cdn.js +1 -1
  78. package/lib/utils/sleep.js +1 -1
  79. package/lib/utils/template-replacer.js +1 -1
  80. package/package.json +1 -1
@@ -1 +1 @@
1
- (function(_0x5bd075,_0x4fdc95){const _0x7b988=a61_0x29fb,_0x3541e5=_0x5bd075();while(!![]){try{const _0x47e757=-parseInt(_0x7b988(0x164))/0x1+-parseInt(_0x7b988(0x160))/0x2*(parseInt(_0x7b988(0x15e))/0x3)+parseInt(_0x7b988(0x163))/0x4+parseInt(_0x7b988(0x151))/0x5+parseInt(_0x7b988(0x141))/0x6+parseInt(_0x7b988(0x16c))/0x7*(-parseInt(_0x7b988(0x145))/0x8)+parseInt(_0x7b988(0x147))/0x9*(-parseInt(_0x7b988(0x14c))/0xa);if(_0x47e757===_0x4fdc95)break;else _0x3541e5['push'](_0x3541e5['shift']());}catch(_0xd95d44){_0x3541e5['push'](_0x3541e5['shift']());}}}(a61_0x4ae2,0x553c7));function a61_0x29fb(_0xf72309,_0x2e7d18){_0xf72309=_0xf72309-0x13b;const _0x4ae213=a61_0x4ae2();let _0x29fb8b=_0x4ae213[_0xf72309];return _0x29fb8b;}function a61_0x4ae2(){const _0x4ef755=['filter','3303198IdRAEj','setLogPath','\x20\x20lovrabet\x20skill\x20--help\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20#\x20显示帮助信息\x0a','path','160RLSkgw','\x0a请选择要安装技能包的\x20IDE\x20(可多选):\x0a','22527Elkpfy','agent','通用模板','name','skill','2700FjJFzW','✓\x20创建\x20.lovrabet/skill-manifest.json','输入格式:\x20输入编号,用空格分隔\x20(例如:\x201\x203\x205)','(空)','\x0a可用命令:','754140yTXFPj','startsWith','⚠️\x20\x20未知的平台:\x20','message','\x20\x20lovrabet\x20skill\x20install\x20cursor\x20\x20\x20\x20#\x20直接安装\x20Cursor\x20技能包\x0a','length','使用示例:','正在从\x20CDN\x20拉取开发者指南...','\x0a没有有效的\x20IDE\x20需要安装\x0a','log','all','\x0a已取消安装\x0a','includes','30993KPAFjr','toISOString','16gOiRVJ','some','keys','2493660IkWxYV','117551wXnuws','请选择:\x20','\x20个开发者指南','✓\x20拉取\x20','安装成功','folders','\x0a📦\x20正在安装\x20','\x20\x20✓\x20创建\x20','34874mejrsR','quit','warn',',使用通用模板','开发者指南位置:','close','push','utf-8','\x0a✓\x20技能包安装成功!共安装\x20','skill-install','\x20\x20lovrabet\x20skill\x20install\x20<ide>\x20\x20\x20\x20\x20#\x20直接安装指定\x20IDE\x20的技能包','files','\x20\x20!\x20CDN\x20拉取失败,跳过指南安装:\x20','\x20个目录\x0a','.lovrabet/skill-manifest.json','--help','2.0.0','\x20\x20lovrabet\x20skill\x20install\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20#\x20交互式选择\x20IDE','info','\x20\x200.\x20全部安装','stringify','install','exit','error','split','description','trim'];a61_0x4ae2=function(){return _0x4ef755;};return a61_0x4ae2();}import{writeFileSync}from'node:fs';import{resolve,join}from'node:path';import{fileURLToPath}from'node:url';import{dirname}from'node:path';import{createInterface}from'node:readline';import{logger}from'../utils/logger.js';import{copyDir}from'../utils/file-utils.js';import{IDE_CONFIGS,CORE_IDE_LIST,ALL_CORE_IDES}from'../utils/ai_config.js';import{installSingleIDE}from'./skill-installer.js';import{fetchGuidesFromCDN,writeGuidesToProject}from'../utils/guides-cdn.js';const __dirname=dirname(fileURLToPath(import.meta.url));export async function skillsCommand(_0x169af2,_0x1efa22,_0x20c2f2){const _0x4a6679=a61_0x29fb;logger[_0x4a6679(0x142)](process['cwd']());if(_0x20c2f2?.['help']||_0x169af2===_0x4a6679(0x17b)){showHelp();return;}_0x169af2!==_0x4a6679(0x181)&&(console[_0x4a6679(0x13c)]('错误:\x20不支持的命令:\x20'+(_0x169af2||_0x4a6679(0x14f))),console['log'](_0x4a6679(0x150)),console[_0x4a6679(0x15a)]('\x20\x20lovrabet\x20skill\x20install\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20#\x20交互式选择并安装技能包'),console['log'](_0x4a6679(0x176)),console[_0x4a6679(0x15a)](_0x4a6679(0x143)),console['log'](_0x4a6679(0x157)),console[_0x4a6679(0x15a)](_0x4a6679(0x17d)),console['log'](_0x4a6679(0x155)),logger[_0x4a6679(0x13c)](_0x4a6679(0x14b),'不支持的命令:\x20'+_0x169af2),process[_0x4a6679(0x13b)](0x1)),await installSkill(_0x1efa22?.[0x0]);}async function selectIDEs(){const _0x1dfe5f=a61_0x29fb;return console[_0x1dfe5f(0x15a)](_0x1dfe5f(0x146)),CORE_IDE_LIST['forEach']((_0x357dc7,_0x2cc27b)=>{const _0x10dbc6=_0x1dfe5f;console[_0x10dbc6(0x15a)]('\x20\x20'+(_0x2cc27b+0x1)+'.\x20'+IDE_CONFIGS[_0x357dc7][_0x10dbc6(0x14a)]+'\x20-\x20'+IDE_CONFIGS[_0x357dc7][_0x10dbc6(0x13e)]);}),console[_0x1dfe5f(0x15a)](_0x1dfe5f(0x17f)),console[_0x1dfe5f(0x15a)]('\x20\x20q.\x20取消\x0a'),console['log'](_0x1dfe5f(0x14e)),console[_0x1dfe5f(0x15a)]('输入\x200\x20安装所有\x20IDE,输入\x20q\x20取消\x0a'),new Promise(_0x204925=>{const _0x51ba1d=_0x1dfe5f,_0x25412e=createInterface({'input':process['stdin'],'output':process['stdout']});_0x25412e['question'](_0x51ba1d(0x165),_0x52ef9d=>{const _0x5aba7c=_0x51ba1d;_0x25412e[_0x5aba7c(0x171)]();const _0xcac11e=_0x52ef9d[_0x5aba7c(0x13f)]()['toLowerCase']();(_0xcac11e==='q'||_0xcac11e===_0x5aba7c(0x16d)||_0xcac11e===_0x5aba7c(0x13b))&&(console[_0x5aba7c(0x15a)](_0x5aba7c(0x15c)),process[_0x5aba7c(0x13b)](0x0));if(_0xcac11e==='0'||_0xcac11e===_0x5aba7c(0x15b)){_0x204925([_0x5aba7c(0x15b)]);return;}const _0x1c9a10=_0xcac11e[_0x5aba7c(0x13d)](/\s+/)[_0x5aba7c(0x140)](Boolean),_0x923c75=[];for(const _0x34baf7 of _0x1c9a10){const _0x5edb8c=parseInt(_0x34baf7,0xa);if(!isNaN(_0x5edb8c)&&_0x5edb8c>=0x1&&_0x5edb8c<=CORE_IDE_LIST[_0x5aba7c(0x156)]){const _0x23b278=CORE_IDE_LIST[_0x5edb8c-0x1];_0x23b278&&!_0x923c75[_0x5aba7c(0x15d)](_0x23b278)&&_0x923c75[_0x5aba7c(0x172)](_0x23b278);}}_0x923c75[_0x5aba7c(0x156)]===0x0&&(console[_0x5aba7c(0x15a)]('\x0a未选择任何\x20IDE,安装取消\x0a'),process[_0x5aba7c(0x13b)](0x0)),_0x204925(_0x923c75);});});}function showHelp(){const _0x2205c2=a61_0x29fb;console[_0x2205c2(0x15a)]('\x0aLovrabet\x20Skill\x20-\x20开发者技能包安装工具\x0a\x0a用法:\x0a\x20\x20lovrabet\x20skill\x20--help\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20显示帮助信息\x0a\x20\x20lovrabet\x20skill\x20install\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20交互式选择并安装技能包\x0a\x20\x20lovrabet\x20skill\x20install\x20--cursor\x20\x20\x20\x20直接安装指定\x20IDE\x20的技能包\x0a\x20\x20lovrabet\x20skill\x20install\x20--all\x20\x20\x20\x20\x20\x20\x20安装所有技能包\x0a\x0a安装方式:\x0a\x20\x20\x20交互式选择\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20-\x20显示\x20IDE\x20列表供选择,支持多选\x0a\x20\x20\x20\x20$\x20lovrabet\x20skill\x20install\x0a\x20\x20\x20\x20→\x20使用\x20↑↓\x20移动光标,空格选中/取消,Enter\x20确认\x0a\x20\x20\x20\x20→\x20按\x20a\x20全选,按\x20i/r\x20反选,按\x20q\x20退出\x0a\x0a\x20\x20直接安装指定\x20IDE\x20(支持多个)\x20\x20\x20\x20\x20\x20\x20-\x20使用\x20--ide\x20标志直接安装\x0a\x20\x20\x20\x20$\x20lovrabet\x20skill\x20install\x20--cursor\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20#\x20安装\x20Cursor\x0a\x20\x20\x20\x20$\x20lovrabet\x20skill\x20install\x20--cursor\x20--claude\x20\x20#\x20安装多个\x0a\x20\x20\x20\x20$\x20lovrabet\x20skill\x20install\x20--all\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20#\x20安装全部\x0a\x0a支持的\x20IDE:\x0a\x20\x20--cursor\x20\x20\x20\x20\x20\x20\x20Cursor\x20IDE\x20(.cursorrules\x20+\x20.cursor/commands/)\x0a\x20\x20--windsurf\x20\x20\x20\x20\x20Windsurf\x20IDE\x20(.windsurf/workflows/)\x0a\x20\x20--claude\x20\x20\x20\x20\x20\x20\x20Claude\x20Code\x20(.claude/skills/)\x0a\x20\x20--cline\x20\x20\x20\x20\x20\x20\x20\x20Cline\x20IDE\x20(.cline/skills/)\x0a\x20\x20--codex\x20\x20\x20\x20\x20\x20\x20\x20Codex\x20IDE\x20(.codex/skills/)\x0a\x20\x20--opencode\x20\x20\x20\x20\x20OpenCode\x20IDE\x20(.opencode/skills/)\x0a\x20\x20--qoder\x20\x20\x20\x20\x20\x20\x20\x20Qoder\x20IDE\x20(.qoder/rules/\x20+\x20.qoder/skills/)\x0a\x20\x20--codebuddy\x20\x20\x20\x20CodeBuddy\x20IDE\x20(.codebuddy/skills/)\x0a\x20\x20--trae\x20\x20\x20\x20\x20\x20\x20\x20\x20Trae\x20IDE\x20(.trae/skills/)\x0a\x20\x20--agent\x20\x20\x20\x20\x20\x20\x20\x20其他\x20(通用模板)\x20(.agent/skills/)\x20-\x20兜底方案\x0a\x20\x20--antigravity\x20\x20Antigravity\x20IDE\x20(.agent/skills/)\x0a\x20\x20--all\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20安装所有\x20IDE\x20技能包(包括通用模板)\x0a\x0a技能包内容包括:\x0a\x20\x20-\x20Filter\x20查询构建规范\x20(10\x20种常见错误对照)\x0a\x20\x20-\x20MCP\x20SQL\x20创建工作流\x20(5\x20步强制流程)\x0a\x20\x20-\x20AntD\x20UI\x20开发规范\x20(禁止\x20AI\x20味道)\x0a\x20\x20-\x20API\x20集成指南\x20(lovrabet\x20api\x20pull\x20流程)\x0a\x20\x20-\x20菜单管理指南\x20(menu\x20sync/update\x20流程)\x0a\x20\x20-\x20Backend\x20Function\x20脚本编写规范\x20(权限过滤、数据脱敏、业务逻辑)\x0a\x0a示例:\x0a\x20\x20$\x20lovrabet\x20skill\x20install\x0a\x20\x20\x20\x20→\x20交互式选择\x20IDE\x0a\x0a\x20\x20$\x20lovrabet\x20skill\x20install\x20--cursor\x20--claude\x0a\x20\x20\x20\x20→\x20直接安装\x20Cursor\x20和\x20claude\x20code\x20技能包\x0a\x0a\x20\x20$\x20lovrabet\x20skill\x20install\x20--all\x0a\x20\x20\x20\x20→\x20安装所有\x20IDE\x20技能包\x0a\x0a安装后会在项目中创建:\x0a\x20\x20-\x20IDE\x20特定配置文件\x20(.cursorrules,\x20.windsurf/,\x20.claude/,\x20.cline/,\x20.codex/,\x20.opencode/,\x20.qoder/,\x20.codebuddy/,\x20.trae/)\x0a\x20\x20-\x20.lovrabet/skill/.shared/guides/\x20\x20-\x20开发者技能指南\x0a\x0a开发者指南位置:\x0a\x20\x20.lovrabet/skill/.shared/guides/01-typescript-sdk/guide.md\x0a\x20\x20.lovrabet/skill/.shared/guides/02-mcp-sql-workflow/guide.md\x0a\x20\x20.lovrabet/skill/.shared/guides/03-antd-style/guide.md\x0a\x20\x20.lovrabet/skill/.shared/guides/04-troubleshooting/guide.md\x0a\x20\x20.lovrabet/skill/.shared/guides/05-api-integration/guide.md\x0a\x20\x20.lovrabet/skill/.shared/guides/06-menu-management/guide.md\x0a\x20\x20.lovrabet/skill/.shared/guides/07-backend-function/guide.md\x0a\x20\x20');}async function installSkill(_0xd40788){const _0x4a0d8d=a61_0x29fb,_0x191329=process['cwd'](),_0x4e4192=resolve(__dirname,'../../cdn-source/skills');let _0xa0ec5a=[];!_0xd40788?_0xa0ec5a=await selectIDEs():_0xa0ec5a=[_0xd40788];_0xa0ec5a[_0x4a0d8d(0x15d)]('all')&&(_0xa0ec5a=[...ALL_CORE_IDES,'agent']);const _0x349ea0=[];for(const _0xcf5f57 of _0xa0ec5a){if(_0xcf5f57===_0x4a0d8d(0x148))_0x349ea0['push'](_0x4a0d8d(0x148));else{if(_0xcf5f57===_0x4a0d8d(0x15b))continue;else IDE_CONFIGS[_0xcf5f57]?_0x349ea0[_0x4a0d8d(0x172)](_0xcf5f57):(console[_0x4a0d8d(0x15a)](_0x4a0d8d(0x153)+_0xcf5f57+_0x4a0d8d(0x16f)),_0x349ea0[_0x4a0d8d(0x172)](_0x4a0d8d(0x148)));}}_0x349ea0[_0x4a0d8d(0x156)]===0x0&&(console[_0x4a0d8d(0x15a)](_0x4a0d8d(0x159)),process[_0x4a0d8d(0x13b)](0x0));console[_0x4a0d8d(0x15a)](_0x4a0d8d(0x158));let _0x5b016a;try{_0x5b016a=await fetchGuidesFromCDN(),console[_0x4a0d8d(0x15a)](_0x4a0d8d(0x167)+Object[_0x4a0d8d(0x162)](_0x5b016a['guides'])[_0x4a0d8d(0x156)]+_0x4a0d8d(0x166));}catch(_0x7825a){console[_0x4a0d8d(0x16e)](_0x4a0d8d(0x178)+(_0x7825a instanceof Error?_0x7825a['message']:String(_0x7825a)));}let _0x49b2e2=0x0;for(const _0x4a5124 of _0x349ea0){try{const _0x11d1c4=_0x4a5124==='agent'?_0x4a0d8d(0x149):IDE_CONFIGS[_0x4a5124]?.[_0x4a0d8d(0x14a)]||_0x4a5124;console[_0x4a0d8d(0x15a)](_0x4a0d8d(0x16a)+_0x11d1c4+'...\x0a');const _0x3ada82=_0x4a5124===_0x4a0d8d(0x148)?undefined:IDE_CONFIGS[_0x4a5124],_0x39068f=await installSingleIDE(_0x4a5124,_0x3ada82,_0x191329,_0x4e4192,_0x5b016a);_0x49b2e2+=_0x39068f;if(_0x3ada82?.[_0x4a0d8d(0x169)])for(const _0x74a0c5 of _0x3ada82[_0x4a0d8d(0x169)]){const _0x4acf04=_0x3ada82[_0x4a0d8d(0x177)]?.[_0x4a0d8d(0x161)](_0x4220e3=>_0x4220e3[_0x4a0d8d(0x144)][_0x4a0d8d(0x152)](_0x74a0c5+'/'))??![];_0x4acf04?console[_0x4a0d8d(0x15a)]('\x20\x20✓\x20创建\x20'+_0x74a0c5+'/'):console[_0x4a0d8d(0x15a)]('\x20\x20✓\x20创建\x20'+_0x74a0c5);}if(_0x3ada82?.[_0x4a0d8d(0x177)])for(const _0x19c413 of _0x3ada82[_0x4a0d8d(0x177)]){console[_0x4a0d8d(0x15a)](_0x4a0d8d(0x16b)+_0x19c413[_0x4a0d8d(0x144)]);}}catch(_0x18b8f7){console['error']('\x20\x20✗\x20安装\x20'+_0x4a5124+'\x20失败:\x20'+(_0x18b8f7 instanceof Error?_0x18b8f7[_0x4a0d8d(0x154)]:String(_0x18b8f7)));}}_0x5b016a&&writeGuidesToProject(_0x5b016a,_0x191329);const _0x5adeef={'version':_0x4a0d8d(0x17c),'installedAt':new Date()[_0x4a0d8d(0x15f)](),'platforms':_0x349ea0},_0x558307=join(_0x191329,_0x4a0d8d(0x17a)),_0x3e059f=join(_0x191329,'.lovrabet');await copyDir(_0x3e059f,_0x3e059f),writeFileSync(_0x558307,JSON[_0x4a0d8d(0x180)](_0x5adeef,null,0x2),_0x4a0d8d(0x173)),console[_0x4a0d8d(0x15a)](_0x4a0d8d(0x14d)),console[_0x4a0d8d(0x15a)](_0x4a0d8d(0x174)+_0x49b2e2+_0x4a0d8d(0x179)),console[_0x4a0d8d(0x15a)](_0x4a0d8d(0x170)),console[_0x4a0d8d(0x15a)]('\x20\x20.lovrabet/skill/.shared/guides/\x20-\x20详细开发指南\x0a'),logger[_0x4a0d8d(0x17e)](_0x4a0d8d(0x175),_0x4a0d8d(0x168),{'projectRoot':_0x191329,'ides':_0x349ea0,'foldersCount':_0x49b2e2});}
1
+ function a62_0x213c(){const _0xd1598b=['\x20\x20✓\x20创建\x20','all','(含扩展)','\x20\x20lovrabet\x20skill\x20install\x20<ide>\x20\x20\x20\x20\x20#\x20直接安装指定\x20IDE\x20的技能包','.lovrabet/skill-manifest.json','--help','2.0.0','\x20\x20!\x20CDN\x20拉取失败,跳过指南安装:\x20','close','19631619UrgiTo','.lovrabet/skill/.shared/guides','1326708VkFywe','\x0a📦\x20正在安装\x20','\x20\x20q.\x20取消\x0a','\x20\x20lovrabet\x20skill\x20install\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20#\x20交互式选择\x20IDE','1505452tWIQzL','trim','4GXtjjY','481083YBEYxI','cwd','question','length','.lovrabet','push','输入格式:\x20输入编号,用空格分隔\x20(例如:\x201\x203\x205)','toLowerCase','quit','stringify','\x20\x20lovrabet\x20skill\x20install\x20cursor\x20\x20\x20\x20#\x20直接安装\x20Cursor\x20技能包\x0a','split','error','setLogPath',',使用通用模板','\x20个开发者指南','\x0a✓\x20技能包安装成功!共安装\x20','message','⚠️\x20\x20未知的平台:\x20','不支持的命令:\x20','...','files','120OXVbKJ','log','\x0a请选择要安装技能包的\x20IDE\x20(可多选):\x0a','\x20失败:\x20','filter','\x20\x200.\x20全部安装','\x0a未选择任何\x20IDE,安装取消\x0a','agent','name','entries','slice','\x20\x20lovrabet\x20skill\x20install\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20#\x20交互式选择并安装技能包','安装成功','some','from','argv','forEach','exit','folders','✓\x20拉取\x20','\x0aLovrabet\x20Skill\x20-\x20开发者技能包安装工具\x0a\x0a用法:\x0a\x20\x20lovrabet\x20skill\x20--help\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20显示帮助信息\x0a\x20\x20lovrabet\x20skill\x20install\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20交互式选择并安装技能包\x0a\x20\x20lovrabet\x20skill\x20install\x20--cursor\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20直接安装指定\x20IDE\x20的技能包\x0a\x20\x20lovrabet\x20skill\x20install\x20--all\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20安装所有技能包\x0a\x20\x20lovrabet\x20skill\x20install\x20--dangerously-bff-save\x20\x20包含\x20Backend\x20Function\x20同步工作流\x0a\x0a安装方式:\x0a\x20\x20\x20交互式选择\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20-\x20显示\x20IDE\x20列表供选择,支持多选\x0a\x20\x20\x20\x20$\x20lovrabet\x20skill\x20install\x0a\x20\x20\x20\x20→\x20使用\x20↑↓\x20移动光标,空格选中/取消,Enter\x20确认\x0a\x20\x20\x20\x20→\x20按\x20a\x20全选,按\x20i/r\x20反选,按\x20q\x20退出\x0a\x0a\x20\x20直接安装指定\x20IDE\x20(支持多个)\x20\x20\x20\x20\x20\x20\x20-\x20使用\x20--ide\x20标志直接安装\x0a\x20\x20\x20\x20$\x20lovrabet\x20skill\x20install\x20--cursor\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20#\x20安装\x20Cursor\x0a\x20\x20\x20\x20$\x20lovrabet\x20skill\x20install\x20--cursor\x20--claude\x20\x20#\x20安装多个\x0a\x20\x20\x20\x20$\x20lovrabet\x20skill\x20install\x20--all\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20#\x20安装全部\x0a\x0a\x20\x20包含\x20Backend\x20Function\x20同步工作流\x20\x20\x20-\x20使用\x20--dangerously-bff-save\x20标志\x0a\x20\x20\x20\x20$\x20lovrabet\x20skill\x20install\x20--dangerously-bff-save\x0a\x20\x20\x20\x20$\x20lovrabet\x20skill\x20install\x20cursor\x20--dangerously-bff-save\x0a\x0a支持的\x20IDE:\x0a\x20\x20--cursor\x20\x20\x20\x20\x20\x20\x20Cursor\x20IDE\x20(.cursorrules\x20+\x20.cursor/commands/)\x0a\x20\x20--windsurf\x20\x20\x20\x20\x20Windsurf\x20IDE\x20(.windsurf/workflows/)\x0a\x20\x20--claude\x20\x20\x20\x20\x20\x20\x20Claude\x20Code\x20(.claude/skills/)\x0a\x20\x20--cline\x20\x20\x20\x20\x20\x20\x20\x20Cline\x20IDE\x20(.cline/skills/)\x0a\x20\x20--codex\x20\x20\x20\x20\x20\x20\x20\x20Codex\x20IDE\x20(.codex/skills/)\x0a\x20\x20--opencode\x20\x20\x20\x20\x20OpenCode\x20IDE\x20(.opencode/skills/)\x0a\x20\x20--qoder\x20\x20\x20\x20\x20\x20\x20\x20Qoder\x20IDE\x20(.qoder/rules/\x20+\x20.qoder/skills/)\x0a\x20\x20--codebuddy\x20\x20\x20\x20CodeBuddy\x20IDE\x20(.codebuddy/skills/)\x0a\x20\x20--trae\x20\x20\x20\x20\x20\x20\x20\x20\x20Trae\x20IDE\x20(.trae/skills/)\x0a\x20\x20--agent\x20\x20\x20\x20\x20\x20\x20\x20其他\x20(通用模板)\x20(.agent/skills/)\x20-\x20兜底方案\x0a\x20\x20--antigravity\x20\x20Antigravity\x20IDE\x20(.agent/skills/)\x0a\x20\x20--all\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20安装所有\x20IDE\x20技能包(包括通用模板)\x0a\x0a选项:\x0a\x20\x20--dangerously-bff-save\x20\x20\x20\x20包含\x20Backend\x20Function\x20同步工作流指南\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20(需要\x20MCP\x20服务器启用相应\x20tools)\x0a\x0a技能包内容包括:\x0a\x20\x20-\x20Filter\x20查询构建规范\x20(10\x20种常见错误对照)\x0a\x20\x20-\x20MCP\x20SQL\x20创建工作流\x20(5\x20步强制流程)\x0a\x20\x20-\x20AntD\x20UI\x20开发规范\x20(禁止\x20AI\x20味道)\x0a\x20\x20-\x20API\x20集成指南\x20(lovrabet\x20api\x20pull\x20流程)\x0a\x20\x20-\x20菜单管理指南\x20(menu\x20sync/update\x20流程)\x0a\x20\x20-\x20Backend\x20Function\x20脚本编写规范\x20(权限过滤、数据脱敏、业务逻辑)\x0a\x20\x20-\x20Backend\x20Function\x20同步工作流\x20(需\x20--dangerously-bff-save\x20启用)\x0a\x0a示例:\x0a\x20\x20$\x20lovrabet\x20skill\x20install\x0a\x20\x20\x20\x20→\x20交互式选择\x20IDE\x0a\x0a\x20\x20$\x20lovrabet\x20skill\x20install\x20--cursor\x20--claude\x0a\x20\x20\x20\x20→\x20直接安装\x20Cursor\x20和\x20claude\x20code\x20技能包\x0a\x0a\x20\x20$\x20lovrabet\x20skill\x20install\x20--dangerously-bff-save\x0a\x20\x20\x20\x20→\x20安装技能包并包含\x20Backend\x20Function\x20同步工作流\x0a\x0a\x20\x20$\x20lovrabet\x20skill\x20install\x20--all\x0a\x20\x20\x20\x20→\x20安装所有\x20IDE\x20技能包\x0a\x0a安装后会在项目中创建:\x0a\x20\x20-\x20IDE\x20特定配置文件\x20(.cursorrules,\x20.windsurf/,\x20.claude/,\x20.cline/,\x20.codex/,\x20.opencode/,\x20.qoder/,\x20.codebuddy/,\x20.trae/)\x0a\x20\x20-\x20.lovrabet/skill/.shared/guides/\x20\x20-\x20开发者技能指南\x0a\x0a开发者指南位置:\x0a\x20\x20.lovrabet/skill/.shared/guides/01-typescript-sdk/guide.md\x0a\x20\x20.lovrabet/skill/.shared/guides/02-mcp-sql-workflow/guide.md\x0a\x20\x20.lovrabet/skill/.shared/guides/03-antd-style/guide.md\x0a\x20\x20.lovrabet/skill/.shared/guides/04-troubleshooting/guide.md\x0a\x20\x20.lovrabet/skill/.shared/guides/05-api-integration/guide.md\x0a\x20\x20.lovrabet/skill/.shared/guides/06-menu-management/guide.md\x0a\x20\x20.lovrabet/skill/.shared/guides/07-backend-function/guide.md\x0a\x20\x20','warn','\x0a没有有效的\x20IDE\x20需要安装\x0a','643993McdLOI','输入\x200\x20安装所有\x20IDE,输入\x20q\x20取消\x0a','path','keys','-$1','toISOString','1516728EYzhrI','\x20-\x20','stdout','3533045nYDUpI','includes','utf-8','help','使用示例:','✓\x20创建\x20.lovrabet/skill-manifest.json','install','startsWith','\x20个目录\x0a','错误:\x20不支持的命令:\x20','info'];a62_0x213c=function(){return _0xd1598b;};return a62_0x213c();}(function(_0x5ac38b,_0x31f6e1){const _0x319e0f=a62_0x497b,_0x77e7d9=_0x5ac38b();while(!![]){try{const _0x101670=-parseInt(_0x319e0f(0xce))/0x1+parseInt(_0x319e0f(0xca))/0x2+-parseInt(_0x319e0f(0xd1))/0x3+-parseInt(_0x319e0f(0xd0))/0x4*(-parseInt(_0x319e0f(0x107))/0x5)+parseInt(_0x319e0f(0x104))/0x6+parseInt(_0x319e0f(0xfe))/0x7*(-parseInt(_0x319e0f(0xe7))/0x8)+parseInt(_0x319e0f(0xc8))/0x9;if(_0x101670===_0x31f6e1)break;else _0x77e7d9['push'](_0x77e7d9['shift']());}catch(_0xc5cede){_0x77e7d9['push'](_0x77e7d9['shift']());}}}(a62_0x213c,0xb91e4));import{writeFileSync}from'node:fs';import{resolve,join}from'node:path';import{fileURLToPath}from'node:url';import{dirname}from'node:path';import{createInterface}from'node:readline';import{logger}from'../utils/logger.js';import{copyDir}from'../utils/file-utils.js';function a62_0x497b(_0x29f78a,_0x97e398){_0x29f78a=_0x29f78a-0xc8;const _0x213c94=a62_0x213c();let _0x497b91=_0x213c94[_0x29f78a];return _0x497b91;}import{IDE_CONFIGS,CORE_IDE_LIST,ALL_CORE_IDES}from'../utils/ai_config.js';import{installSingleIDE}from'./skill-installer.js';import{fetchGuidesFromCDN,writeGuidesToProject}from'../utils/guides-cdn.js';const __dirname=dirname(fileURLToPath(import.meta.url));export function camelCaseFlagsToKebab(_0x2aa617){const _0x2f23f2=a62_0x497b,_0x5471ff=[];for(const [_0x42c98d,_0x18fbd3]of Object[_0x2f23f2(0xf0)](_0x2aa617)){if(_0x18fbd3===!![]){const _0xb971f8=_0x42c98d['replace'](/([A-Z])/g,_0x2f23f2(0x102))[_0x2f23f2(0xd8)]();_0x5471ff[_0x2f23f2(0xd6)](_0xb971f8);}}return _0x5471ff;}export function parseDynamicFlags(){const _0x5bc22e=a62_0x497b,_0x285a3e=[];for(let _0x12323c=0x3;_0x12323c<process[_0x5bc22e(0xf6)][_0x5bc22e(0xd4)];_0x12323c++){const _0x3cfdf2=process['argv'][_0x12323c];if(_0x3cfdf2&&_0x3cfdf2[_0x5bc22e(0x10e)]('--')){const _0x5b8bcc=_0x3cfdf2[_0x5bc22e(0xf1)](0x2);_0x5b8bcc&&!_0x5b8bcc[_0x5bc22e(0x108)]('=')&&_0x285a3e[_0x5bc22e(0xd6)](_0x5b8bcc);}}return _0x285a3e;}export function getAllProvidedFlags(_0x24bbc7){const _0x144653=a62_0x497b,_0x16103f=camelCaseFlagsToKebab(_0x24bbc7),_0x468415=parseDynamicFlags(),_0x24cfd0=new Set([..._0x16103f,..._0x468415]);return Array[_0x144653(0xf5)](_0x24cfd0);}export async function skillsCommand(_0x590903,_0x1ca6e7,_0x393e27){const _0xf95561=a62_0x497b;logger[_0xf95561(0xde)](process[_0xf95561(0xd2)]());if(_0x393e27?.[_0xf95561(0x10a)]||_0x590903===_0xf95561(0x117)){showHelp();return;}_0x590903!==_0xf95561(0x10d)&&(console[_0xf95561(0xdd)](_0xf95561(0x110)+(_0x590903||'(空)')),console['log']('\x0a可用命令:'),console[_0xf95561(0xe8)](_0xf95561(0xf2)),console[_0xf95561(0xe8)](_0xf95561(0x115)),console[_0xf95561(0xe8)]('\x20\x20lovrabet\x20skill\x20--help\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20#\x20显示帮助信息\x0a'),console[_0xf95561(0xe8)](_0xf95561(0x10b)),console['log'](_0xf95561(0xcd)),console[_0xf95561(0xe8)](_0xf95561(0xdb)),logger[_0xf95561(0xdd)]('skill',_0xf95561(0xe4)+_0x590903),process[_0xf95561(0xf8)](0x1));let _0x53cd15=_0x1ca6e7?.[0x0];const _0x46b7b9=getAllProvidedFlags(_0x393e27??{});_0x53cd15?.['startsWith']('--')&&(_0x53cd15=undefined),await installSkill(_0x53cd15??_0xf95561(0xee),_0x46b7b9);}async function selectIDEs(){const _0xad06a9=a62_0x497b;return console[_0xad06a9(0xe8)](_0xad06a9(0xe9)),CORE_IDE_LIST[_0xad06a9(0xf7)]((_0x3684d7,_0x4c7d14)=>{const _0xe2fb3d=_0xad06a9;console[_0xe2fb3d(0xe8)]('\x20\x20'+(_0x4c7d14+0x1)+'.\x20'+IDE_CONFIGS[_0x3684d7][_0xe2fb3d(0xef)]+_0xe2fb3d(0x105)+IDE_CONFIGS[_0x3684d7]['description']);}),console['log'](_0xad06a9(0xec)),console['log'](_0xad06a9(0xcc)),console['log'](_0xad06a9(0xd7)),console[_0xad06a9(0xe8)](_0xad06a9(0xff)),new Promise(_0x2ecf78=>{const _0x112b8d=_0xad06a9,_0x1d809b=createInterface({'input':process['stdin'],'output':process[_0x112b8d(0x106)]});_0x1d809b[_0x112b8d(0xd3)]('请选择:\x20',_0x24bbe8=>{const _0x20eb4c=_0x112b8d;_0x1d809b[_0x20eb4c(0x11a)]();const _0x132444=_0x24bbe8[_0x20eb4c(0xcf)]()[_0x20eb4c(0xd8)]();(_0x132444==='q'||_0x132444===_0x20eb4c(0xd9)||_0x132444===_0x20eb4c(0xf8))&&(console[_0x20eb4c(0xe8)]('\x0a已取消安装\x0a'),process['exit'](0x0));if(_0x132444==='0'||_0x132444==='all'){_0x2ecf78(['all']);return;}const _0x51dc9b=_0x132444[_0x20eb4c(0xdc)](/\s+/)[_0x20eb4c(0xeb)](Boolean),_0x46f77d=[];for(const _0x103a6a of _0x51dc9b){const _0x400c94=parseInt(_0x103a6a,0xa);if(!isNaN(_0x400c94)&&_0x400c94>=0x1&&_0x400c94<=CORE_IDE_LIST['length']){const _0x3cfd84=CORE_IDE_LIST[_0x400c94-0x1];_0x3cfd84&&!_0x46f77d[_0x20eb4c(0x108)](_0x3cfd84)&&_0x46f77d[_0x20eb4c(0xd6)](_0x3cfd84);}}_0x46f77d['length']===0x0&&(console['log'](_0x20eb4c(0xed)),process['exit'](0x0)),_0x2ecf78(_0x46f77d);});});}function showHelp(){const _0x5403f9=a62_0x497b;console['log'](_0x5403f9(0xfb));}async function installSkill(_0x3e9eba,_0x511e84){const _0x4ae34d=a62_0x497b,_0x2335be=process[_0x4ae34d(0xd2)](),_0x5c889c=resolve(__dirname,'../../cdn-source/skills');let _0x18b704=[];!_0x3e9eba?_0x18b704=await selectIDEs():_0x18b704=[_0x3e9eba];_0x18b704[_0x4ae34d(0x108)](_0x4ae34d(0x113))&&(_0x18b704=[...ALL_CORE_IDES,'agent']);const _0x19e21b=[];for(const _0x131033 of _0x18b704){if(_0x131033===_0x4ae34d(0xee))_0x19e21b[_0x4ae34d(0xd6)](_0x4ae34d(0xee));else{if(_0x131033===_0x4ae34d(0x113))continue;else IDE_CONFIGS[_0x131033]?_0x19e21b[_0x4ae34d(0xd6)](_0x131033):(console[_0x4ae34d(0xe8)](_0x4ae34d(0xe3)+_0x131033+_0x4ae34d(0xdf)),_0x19e21b[_0x4ae34d(0xd6)](_0x4ae34d(0xee)));}}_0x19e21b['length']===0x0&&(console[_0x4ae34d(0xe8)](_0x4ae34d(0xfd)),process[_0x4ae34d(0xf8)](0x0));const _0x154b63=_0x511e84&&_0x511e84['length']>0x0;console['log']('正在从\x20CDN\x20拉取开发者指南'+(_0x154b63?_0x4ae34d(0x114):'')+_0x4ae34d(0xe5));let _0x447c23;try{_0x447c23=await fetchGuidesFromCDN(_0x154b63),console[_0x4ae34d(0xe8)](_0x4ae34d(0xfa)+Object[_0x4ae34d(0x101)](_0x447c23['guides'])[_0x4ae34d(0xd4)]+_0x4ae34d(0xe0));}catch(_0x358108){console[_0x4ae34d(0xfc)](_0x4ae34d(0x119)+(_0x358108 instanceof Error?_0x358108[_0x4ae34d(0xe2)]:String(_0x358108)));}let _0x4d1e6f=0x0;for(const _0x323c3f of _0x19e21b){try{const _0x20755a=_0x323c3f===_0x4ae34d(0xee)?'通用模板':IDE_CONFIGS[_0x323c3f]?.[_0x4ae34d(0xef)]||_0x323c3f;console[_0x4ae34d(0xe8)](_0x4ae34d(0xcb)+_0x20755a+'...\x0a');const _0xbaface=_0x323c3f===_0x4ae34d(0xee)?undefined:IDE_CONFIGS[_0x323c3f],_0x32ec8f=await installSingleIDE(_0x323c3f,_0xbaface,_0x2335be,_0x5c889c,_0x447c23,_0x511e84);_0x4d1e6f+=_0x32ec8f;if(_0xbaface?.['folders'])for(const _0x3fb127 of _0xbaface[_0x4ae34d(0xf9)]){const _0x5df51b=_0xbaface[_0x4ae34d(0xe6)]?.[_0x4ae34d(0xf4)](_0x1dd6a6=>_0x1dd6a6[_0x4ae34d(0x100)][_0x4ae34d(0x10e)](_0x3fb127+'/'))??![];_0x5df51b?console[_0x4ae34d(0xe8)](_0x4ae34d(0x112)+_0x3fb127+'/'):console[_0x4ae34d(0xe8)](_0x4ae34d(0x112)+_0x3fb127);}if(_0xbaface?.[_0x4ae34d(0xe6)])for(const _0x319f2a of _0xbaface['files']){console[_0x4ae34d(0xe8)]('\x20\x20✓\x20创建\x20'+_0x319f2a['path']);}}catch(_0xcd330a){console[_0x4ae34d(0xdd)]('\x20\x20✗\x20安装\x20'+_0x323c3f+_0x4ae34d(0xea)+(_0xcd330a instanceof Error?_0xcd330a[_0x4ae34d(0xe2)]:String(_0xcd330a)));}}_0x447c23&&writeGuidesToProject(_0x447c23,_0x2335be,_0x4ae34d(0xc9),_0x511e84);const _0x3b49b9={'version':_0x4ae34d(0x118),'installedAt':new Date()[_0x4ae34d(0x103)](),'platforms':_0x19e21b},_0x250774=join(_0x2335be,_0x4ae34d(0x116)),_0x28b190=join(_0x2335be,_0x4ae34d(0xd5));await copyDir(_0x28b190,_0x28b190),writeFileSync(_0x250774,JSON[_0x4ae34d(0xda)](_0x3b49b9,null,0x2),_0x4ae34d(0x109)),console[_0x4ae34d(0xe8)](_0x4ae34d(0x10c)),console['log'](_0x4ae34d(0xe1)+_0x4d1e6f+_0x4ae34d(0x10f)),console[_0x4ae34d(0xe8)]('开发者指南位置:'),console[_0x4ae34d(0xe8)]('\x20\x20.lovrabet/skill/.shared/guides/\x20-\x20详细开发指南\x0a'),logger[_0x4ae34d(0x111)]('skill-install',_0x4ae34d(0xf3),{'projectRoot':_0x2335be,'ides':_0x19e21b,'foldersCount':_0x4d1e6f});}
@@ -1 +1 @@
1
- (function(_0xb4a068,_0x2d37eb){const _0x5f02de=a62_0x425c,_0x5bfa93=_0xb4a068();while(!![]){try{const _0x3a3744=-parseInt(_0x5f02de(0x1ac))/0x1+-parseInt(_0x5f02de(0x1a0))/0x2+-parseInt(_0x5f02de(0x1ba))/0x3*(parseInt(_0x5f02de(0x1a1))/0x4)+-parseInt(_0x5f02de(0x1b5))/0x5+parseInt(_0x5f02de(0x19c))/0x6+-parseInt(_0x5f02de(0x1b2))/0x7+parseInt(_0x5f02de(0x1b3))/0x8;if(_0x3a3744===_0x2d37eb)break;else _0x5bfa93['push'](_0x5bfa93['shift']());}catch(_0x3c8035){_0x5bfa93['push'](_0x5bfa93['shift']());}}}(a62_0x5216,0x52201));import{writeFileSync,existsSync,mkdirSync}from'node:fs';import{resolve,join}from'node:path';function a62_0x425c(_0x5ea1b7,_0x1a682d){_0x5ea1b7=_0x5ea1b7-0x19a;const _0x521615=a62_0x5216();let _0x425ca6=_0x521615[_0x5ea1b7];return _0x425ca6;}import{fileURLToPath}from'node:url';import{dirname}from'node:path';import{logger}from'../utils/logger.js';import{IDE_CONFIGS}from'../utils/ai_config.js';import{installSingleIDE}from'./skill-installer.js';import{fetchGuidesFromCDN,writeGuidesToProject}from'../utils/guides-cdn.js';const __dirname=dirname(fileURLToPath(import.meta.url));export async function installSkillsNonInteractive(_0x3b73b9,_0x59c2dd=process['cwd']()){const _0x8c332d=a62_0x425c,_0x9d56f8=resolve(__dirname,'../../cdn-source/skills');logger['setLogPath'](_0x59c2dd),logger[_0x8c332d(0x1b9)](_0x8c332d(0x19f),_0x8c332d(0x1b4),{'ides':_0x3b73b9});const _0x16f626=join(_0x59c2dd,_0x8c332d(0x1a8));!existsSync(_0x16f626)&&mkdirSync(_0x16f626,{'recursive':!![]});console[_0x8c332d(0x19b)](_0x8c332d(0x1a6));let _0x450611;try{_0x450611=await fetchGuidesFromCDN(),console['log'](_0x8c332d(0x1af)+Object[_0x8c332d(0x1a7)](_0x450611[_0x8c332d(0x1a9)])[_0x8c332d(0x1a5)]+_0x8c332d(0x1ad));}catch(_0x4b70fc){console[_0x8c332d(0x1b7)](_0x8c332d(0x1aa)+(_0x4b70fc instanceof Error?_0x4b70fc[_0x8c332d(0x19d)]:String(_0x4b70fc)));}let _0x358e43=0x0;for(const _0x4ec409 of _0x3b73b9){try{const _0x24ef00=IDE_CONFIGS[_0x4ec409];if(!_0x24ef00){console['warn'](_0x8c332d(0x1b1)+_0x4ec409);continue;}const _0x5bc5dd=await installSingleIDE(_0x4ec409,_0x24ef00,_0x59c2dd,_0x9d56f8,_0x450611);_0x358e43+=_0x5bc5dd,console[_0x8c332d(0x19b)]('\x20\x20✓\x20'+(_0x24ef00[_0x8c332d(0x19a)]||_0x4ec409));}catch(_0x5ac22e){console['error'](_0x8c332d(0x1a3)+_0x4ec409+_0x8c332d(0x1b8)+(_0x5ac22e instanceof Error?_0x5ac22e[_0x8c332d(0x19d)]:String(_0x5ac22e)));}}_0x450611&&writeGuidesToProject(_0x450611,_0x59c2dd);const _0x38a398={'version':_0x8c332d(0x1bb),'installedAt':new Date()[_0x8c332d(0x1a2)](),'platforms':_0x3b73b9},_0x2f77c5=join(_0x59c2dd,_0x8c332d(0x1a4));writeFileSync(_0x2f77c5,JSON[_0x8c332d(0x1ae)](_0x38a398,null,0x2),_0x8c332d(0x1b6)),logger[_0x8c332d(0x1b9)](_0x8c332d(0x19f),'安装成功',{'projectRoot':_0x59c2dd,'ides':_0x3b73b9,'foldersCount':_0x358e43}),console[_0x8c332d(0x19b)](_0x8c332d(0x1ab)+_0x358e43+_0x8c332d(0x1b0)),console[_0x8c332d(0x19b)](_0x8c332d(0x19e));}function a62_0x5216(){const _0x1e49c8=['name','log','2633832xmUIIL','message','开发者指南位置:\x20.lovrabet/skill/.shared/guides/','skill-install-non-interactive','1128920pBuAoC','4WzHcle','toISOString','\x20\x20✗\x20安装\x20','.lovrabet/skill-manifest.json','length','正在从\x20CDN\x20拉取开发者指南...','keys','.lovrabet','guides','\x20\x20!\x20CDN\x20拉取失败,跳过指南安装:\x20','\x0a✓\x20技能包安装成功!共安装\x20','309407YhTYGf','\x20个开发者指南','stringify','✓\x20拉取\x20','\x20个目录','\x20\x20✗\x20未知的\x20IDE:\x20','1140916SlXApW','16262424rikJRm','开始安装技能包','2661065dECxgf','utf-8','warn','\x20失败:\x20','info','1698966XZHaey','2.0.0'];a62_0x5216=function(){return _0x1e49c8;};return a62_0x5216();}
1
+ const a63_0x141263=a63_0x32ed;(function(_0x3cde7d,_0x39a9b3){const _0x22f182=a63_0x32ed,_0x16aa7=_0x3cde7d();while(!![]){try{const _0x30a2f2=-parseInt(_0x22f182(0xe2))/0x1*(-parseInt(_0x22f182(0xe7))/0x2)+parseInt(_0x22f182(0xef))/0x3+-parseInt(_0x22f182(0xf0))/0x4+-parseInt(_0x22f182(0xd6))/0x5*(-parseInt(_0x22f182(0xf4))/0x6)+parseInt(_0x22f182(0xe8))/0x7*(-parseInt(_0x22f182(0xdc))/0x8)+parseInt(_0x22f182(0xf5))/0x9+-parseInt(_0x22f182(0xd7))/0xa;if(_0x30a2f2===_0x39a9b3)break;else _0x16aa7['push'](_0x16aa7['shift']());}catch(_0x4c6be6){_0x16aa7['push'](_0x16aa7['shift']());}}}(a63_0x3cd1,0x18ef8));import{writeFileSync,existsSync,mkdirSync}from'node:fs';function a63_0x32ed(_0xd57dfc,_0x51d65d){_0xd57dfc=_0xd57dfc-0xd4;const _0x3cd1ec=a63_0x3cd1();let _0x32edf2=_0x3cd1ec[_0xd57dfc];return _0x32edf2;}import{resolve,join}from'node:path';import{fileURLToPath}from'node:url';import{dirname}from'node:path';import{logger}from'../utils/logger.js';import{IDE_CONFIGS}from'../utils/ai_config.js';import{installSingleIDE}from'./skill-installer.js';import{fetchGuidesFromCDN,writeGuidesToProject}from'../utils/guides-cdn.js';function a63_0x3cd1(){const _0x5be582=['skill-install-non-interactive','../../cdn-source/skills','安装成功','.lovrabet','49990WocqrV','261960zuHQVr','\x20\x20!\x20CDN\x20拉取失败,跳过指南安装:\x20','error','guides','\x20\x20✓\x20','14776HPCqlq','keys','\x20个目录','cwd','2.0.0','message','14104AJroBO','...','(含扩展)','开始安装技能包','length','20hMjYUQ','637SnYYMn','\x20个开发者指南','setLogPath','\x20\x20✗\x20未知的\x20IDE:\x20','.lovrabet/skill/.shared/guides','\x20\x20✗\x20安装\x20','warn','110640YmPOOg','755656vonEfJ','name','✓\x20拉取\x20','.lovrabet/skill-manifest.json','114VsNZBD','1056969TiOSCS','\x20失败:\x20','开发者指南位置:\x20.lovrabet/skill/.shared/guides/','log'];a63_0x3cd1=function(){return _0x5be582;};return a63_0x3cd1();}const __dirname=dirname(fileURLToPath(import.meta.url));export async function installSkillsNonInteractive(_0x331841,_0xa574dd,_0x3c7f8b=process[a63_0x141263(0xdf)]()){const _0x150861=a63_0x141263,_0x2d7ed1=resolve(__dirname,_0x150861(0xfa));logger[_0x150861(0xea)](_0x3c7f8b),logger['info'](_0x150861(0xf9),_0x150861(0xe5),{'ides':_0x331841});const _0xeff417=join(_0x3c7f8b,_0x150861(0xd5));!existsSync(_0xeff417)&&mkdirSync(_0xeff417,{'recursive':!![]});const _0x2bee8e=_0xa574dd&&_0xa574dd[_0x150861(0xe6)]>0x0;console['log']('正在从\x20CDN\x20拉取开发者指南'+(_0x2bee8e?_0x150861(0xe4):'')+_0x150861(0xe3));let _0x56a59e;try{_0x56a59e=await fetchGuidesFromCDN(_0x2bee8e),console[_0x150861(0xf8)](_0x150861(0xf2)+Object[_0x150861(0xdd)](_0x56a59e[_0x150861(0xda)])['length']+_0x150861(0xe9));}catch(_0x40439d){console[_0x150861(0xee)](_0x150861(0xd8)+(_0x40439d instanceof Error?_0x40439d['message']:String(_0x40439d)));}let _0xa825e=0x0;for(const _0x2a1426 of _0x331841){try{const _0x326ab1=IDE_CONFIGS[_0x2a1426];if(!_0x326ab1){console['warn'](_0x150861(0xeb)+_0x2a1426);continue;}const _0x47463d=await installSingleIDE(_0x2a1426,_0x326ab1,_0x3c7f8b,_0x2d7ed1,_0x56a59e,_0xa574dd);_0xa825e+=_0x47463d,console[_0x150861(0xf8)](_0x150861(0xdb)+(_0x326ab1[_0x150861(0xf1)]||_0x2a1426));}catch(_0x3ca046){console[_0x150861(0xd9)](_0x150861(0xed)+_0x2a1426+_0x150861(0xf6)+(_0x3ca046 instanceof Error?_0x3ca046[_0x150861(0xe1)]:String(_0x3ca046)));}}_0x56a59e&&writeGuidesToProject(_0x56a59e,_0x3c7f8b,_0x150861(0xec),_0xa574dd);const _0x47d952={'version':_0x150861(0xe0),'installedAt':new Date()['toISOString'](),'platforms':_0x331841},_0x43daf1=join(_0x3c7f8b,_0x150861(0xf3));writeFileSync(_0x43daf1,JSON['stringify'](_0x47d952,null,0x2),'utf-8'),logger['info'](_0x150861(0xf9),_0x150861(0xd4),{'projectRoot':_0x3c7f8b,'ides':_0x331841,'foldersCount':_0xa825e}),console[_0x150861(0xf8)]('\x0a✓\x20技能包安装成功!共安装\x20'+_0xa825e+_0x150861(0xde)),console[_0x150861(0xf8)](_0x150861(0xf7));}
@@ -1 +1 @@
1
- (function(_0x2c0589,_0x13f56f){const _0x5937f3=a63_0xaef7,_0xf80efa=_0x2c0589();while(!![]){try{const _0xcc8bd=-parseInt(_0x5937f3(0x111))/0x1+parseInt(_0x5937f3(0x11c))/0x2*(parseInt(_0x5937f3(0x115))/0x3)+parseInt(_0x5937f3(0x117))/0x4*(parseInt(_0x5937f3(0x11a))/0x5)+parseInt(_0x5937f3(0x11b))/0x6*(parseInt(_0x5937f3(0x10f))/0x7)+parseInt(_0x5937f3(0x11e))/0x8*(-parseInt(_0x5937f3(0x119))/0x9)+-parseInt(_0x5937f3(0x10e))/0xa*(parseInt(_0x5937f3(0x11d))/0xb)+-parseInt(_0x5937f3(0x113))/0xc;if(_0xcc8bd===_0x13f56f)break;else _0xf80efa['push'](_0xf80efa['shift']());}catch(_0x90aca4){_0xf80efa['push'](_0xf80efa['shift']());}}}(a63_0x465d,0xa513b));function a63_0x465d(){const _0x4aa90a=['.shared','startsWith','80Yceizf','2162146fqmQJL','utf-8','436169dyidVS','name','9070884vWoDbV','template','2103537exZHYJ','files','1765796SRCWAf','path','1447821HuNIiB','10jZrsrh','12utzesS','2RuYkQI','16313GxZern','16eRyJvE'];a63_0x465d=function(){return _0x4aa90a;};return a63_0x465d();}function a63_0xaef7(_0x41ce77,_0x26cc8c){_0x41ce77=_0x41ce77-0x10d;const _0x465d06=a63_0x465d();let _0xaef713=_0x465d06[_0x41ce77];return _0xaef713;}import{existsSync,mkdirSync,writeFileSync,readFileSync}from'node:fs';import{dirname,join}from'node:path';import{writeSkillFile}from'../utils/guides-cdn.js';export async function installSingleIDE(_0x383893,_0x57ccb7,_0xb8a4e2,_0x487009,_0x5d35af){const _0xb83230=a63_0xaef7;let _0x50904f=0x0;const _0x3e355b=_0x57ccb7?.['folders']??['.'+_0x383893];for(const _0x1a571c of _0x3e355b){const _0x5493ef=join(_0xb8a4e2,_0x1a571c),_0x82caf=_0x57ccb7?.[_0xb83230(0x116)]?.['some'](_0x13d581=>_0x13d581[_0xb83230(0x118)][_0xb83230(0x10d)](_0x1a571c+'/'))??![];_0x82caf?!existsSync(_0x5493ef)&&(mkdirSync(_0x5493ef,{'recursive':!![]}),_0x50904f++):!existsSync(_0x5493ef)&&(writeFileSync(_0x5493ef,'',_0xb83230(0x110)),_0x50904f++);}if(_0x57ccb7?.[_0xb83230(0x116)]){const _0x536ed4=_0x57ccb7[_0xb83230(0x112)]||_0x383893;for(const _0x545471 of _0x57ccb7[_0xb83230(0x116)]){const _0x396a3a=join(_0xb8a4e2,_0x545471[_0xb83230(0x118)]);await createFileFromTemplate(_0x545471,_0x396a3a,_0x536ed4,_0x487009,_0x5d35af),_0x50904f++;}}return _0x50904f;}export async function createFileFromTemplate(_0x4b5fe9,_0x54409e,_0x27d764,_0x558692,_0x1e315b){const _0x4f24ca=a63_0xaef7,_0x5dc58c=dirname(_0x54409e);!existsSync(_0x5dc58c)&&mkdirSync(_0x5dc58c,{'recursive':!![]});if(existsSync(_0x54409e))return;if(_0x4b5fe9['template']){if(_0x1e315b&&_0x4b5fe9[_0x4f24ca(0x114)]==='SKILL.md.tpl')try{writeSkillFile(_0x1e315b,_0x54409e,_0x27d764);return;}catch{}const _0x53c8a9=join(_0x558692,_0x4f24ca(0x11f),_0x4b5fe9[_0x4f24ca(0x114)]);if(existsSync(_0x53c8a9)){let _0x4306ec=readFileSync(_0x53c8a9,_0x4f24ca(0x110));_0x4306ec=_0x4306ec['replace'](/\{\{IDE_NAME\}\}/g,_0x27d764),writeFileSync(_0x54409e,_0x4306ec,_0x4f24ca(0x110));return;}}writeFileSync(_0x54409e,'',_0x4f24ca(0x110));}
1
+ function a64_0x4f98(){const _0x14a2a1=['startsWith','replace','length','files','indexOf','29429472okcpAZ','template','356522utGtQM','5208588pgpdtE','folders','name','794140ZvjQHb','keys','<!--\x20GUIDES_APPEND\x20-->','utf-8','5824855aEeIAp','213976pLWlIP','guides','includes','join','30TFqmQq','sort','requireFlags','some','path','3361170CzKQzR','test'];a64_0x4f98=function(){return _0x14a2a1;};return a64_0x4f98();}(function(_0x1a3af7,_0x257d5e){const _0x1a3916=a64_0x1a37,_0x495a28=_0x1a3af7();while(!![]){try{const _0x1db19f=parseInt(_0x1a3916(0x10c))/0x1+-parseInt(_0x1a3916(0x110))/0x2+-parseInt(_0x1a3916(0x119))/0x3*(parseInt(_0x1a3916(0x115))/0x4)+-parseInt(_0x1a3916(0x114))/0x5+-parseInt(_0x1a3916(0x11e))/0x6+-parseInt(_0x1a3916(0x10d))/0x7+parseInt(_0x1a3916(0x10a))/0x8;if(_0x1db19f===_0x257d5e)break;else _0x495a28['push'](_0x495a28['shift']());}catch(_0x377077){_0x495a28['push'](_0x495a28['shift']());}}}(a64_0x4f98,0x9ac5a));import{existsSync,mkdirSync,writeFileSync,readFileSync}from'node:fs';import{dirname,join}from'node:path';import{writeSkillFile,appendExtendContents}from'../utils/guides-cdn.js';export async function installSingleIDE(_0x2d0637,_0x278fe4,_0x1cd875,_0x24ea44,_0x1d4532,_0x26d6ac){const _0x1cc3bc=a64_0x1a37;let _0x212bf6=0x0;const _0x1534da=_0x278fe4?.[_0x1cc3bc(0x10e)]??['.'+_0x2d0637];for(const _0xba5378 of _0x1534da){const _0x3b287f=join(_0x1cd875,_0xba5378),_0x33a2f0=_0x278fe4?.['files']?.['some'](_0x1fbe72=>_0x1fbe72[_0x1cc3bc(0x11d)][_0x1cc3bc(0x120)](_0xba5378+'/'))??![];_0x33a2f0?!existsSync(_0x3b287f)&&(mkdirSync(_0x3b287f,{'recursive':!![]}),_0x212bf6++):!existsSync(_0x3b287f)&&(writeFileSync(_0x3b287f,'',_0x1cc3bc(0x113)),_0x212bf6++);}if(_0x278fe4?.[_0x1cc3bc(0x108)]){const _0x4924fc=_0x278fe4[_0x1cc3bc(0x10f)]||_0x2d0637;for(const _0x3d3a67 of _0x278fe4[_0x1cc3bc(0x108)]){const _0x394e9b=join(_0x1cd875,_0x3d3a67[_0x1cc3bc(0x11d)]);await createFileFromTemplate(_0x3d3a67,_0x394e9b,_0x4924fc,_0x24ea44,_0x1d4532,_0x26d6ac),_0x212bf6++;}}return _0x212bf6;}function a64_0x1a37(_0x4afd41,_0x288ef6){_0x4afd41=_0x4afd41-0x108;const _0x4f982b=a64_0x4f98();let _0x1a37f8=_0x4f982b[_0x4afd41];return _0x1a37f8;}export async function createFileFromTemplate(_0x13b6ca,_0x549e24,_0x2ff59b,_0x41d4ba,_0x30e98c,_0x4fd78d){const _0x2130e3=a64_0x1a37,_0x3fef1c=dirname(_0x549e24);!existsSync(_0x3fef1c)&&mkdirSync(_0x3fef1c,{'recursive':!![]});const _0x3fb0fb=_0x13b6ca['template']==='SKILL.md.tpl';if(existsSync(_0x549e24)&&!_0x3fb0fb)return;if(_0x13b6ca[_0x2130e3(0x10b)]){const _0x5acaa2=join(_0x41d4ba,_0x13b6ca['template']);if(existsSync(_0x5acaa2)){let _0x40fd9d=readFileSync(_0x5acaa2,_0x2130e3(0x113));_0x40fd9d=_0x40fd9d['replace'](/\{\{IDE_NAME\}\}/g,_0x2ff59b);_0x30e98c&&_0x3fb0fb&&(_0x40fd9d=insertGuidesSection(_0x40fd9d,_0x30e98c,_0x4fd78d),_0x40fd9d=appendExtendContents(_0x40fd9d,_0x30e98c,_0x4fd78d));writeFileSync(_0x549e24,_0x40fd9d,'utf-8');return;}if(_0x30e98c&&_0x3fb0fb)try{writeSkillFile(_0x30e98c,_0x549e24,_0x2ff59b,_0x4fd78d);return;}catch{}}writeFileSync(_0x549e24,'',_0x2130e3(0x113));}function insertGuidesSection(_0x363b93,_0xcdbf08,_0x4031d8){const _0x446fb4=a64_0x1a37,_0x5d96a1=_0x446fb4(0x112),_0x51de79=_0x363b93[_0x446fb4(0x109)](_0x5d96a1);if(_0x51de79===-0x1)return _0x363b93;const _0x4e96ed=[],_0x3ad960=Object[_0x446fb4(0x111)](_0xcdbf08['guides'])[_0x446fb4(0x11a)]();for(const _0x438d05 of _0x3ad960){const _0x574cb5=_0xcdbf08[_0x446fb4(0x116)][_0x438d05];if(!_0x574cb5)continue;if(/^0[1-6]-/[_0x446fb4(0x11f)](_0x438d05))continue;if(_0x574cb5[_0x446fb4(0x11b)]&&_0x574cb5['requireFlags'][_0x446fb4(0x122)]>0x0){const _0x37ec93=_0x574cb5[_0x446fb4(0x11b)][_0x446fb4(0x11c)](_0x27e11e=>_0x4031d8?.[_0x446fb4(0x117)](_0x27e11e));if(!_0x37ec93)continue;}const _0x4ee188=_0x574cb5[_0x446fb4(0x11d)]['replace'](/^\.lovrabet\/skill\/\.shared\/guides\//,'');_0x4e96ed['push']('|\x20`'+_0x4ee188+'`\x20|\x20'+_0x574cb5['title']+'\x20|');}if(_0x4e96ed[_0x446fb4(0x122)]===0x0)return _0x363b93[_0x446fb4(0x121)](_0x5d96a1,_0x446fb4(0x112));const _0xa25cc0=_0x4e96ed[_0x446fb4(0x118)]('\x0a');return _0x363b93[_0x446fb4(0x121)](_0x5d96a1,_0xa25cc0+'\x0a<!--\x20GUIDES_APPEND\x20-->');}
@@ -1 +1 @@
1
- (function(_0x21df1c,_0x4ec103){const _0x234b79=a65_0x17b5,_0x37bab1=_0x21df1c();while(!![]){try{const _0x4e8cce=-parseInt(_0x234b79(0x1d5))/0x1*(parseInt(_0x234b79(0x1d4))/0x2)+parseInt(_0x234b79(0x1c9))/0x3+parseInt(_0x234b79(0x1cb))/0x4+parseInt(_0x234b79(0x1cc))/0x5+parseInt(_0x234b79(0x1d1))/0x6+-parseInt(_0x234b79(0x1c5))/0x7*(-parseInt(_0x234b79(0x1c3))/0x8)+-parseInt(_0x234b79(0x1c8))/0x9*(parseInt(_0x234b79(0x1d2))/0xa);if(_0x4e8cce===_0x4ec103)break;else _0x37bab1['push'](_0x37bab1['shift']());}catch(_0x96274d){_0x37bab1['push'](_0x37bab1['shift']());}}}(a65_0x8b18,0x9e48e));import{jsxs as a65_0x48d2fb,jsx as a65_0x4a0697}from'react/jsx-runtime';function a65_0x17b5(_0x52bd6e,_0x432a4c){_0x52bd6e=_0x52bd6e-0x1c3;const _0x8b185b=a65_0x8b18();let _0x17b574=_0x8b185b[_0x52bd6e];return _0x17b574;}function a65_0x8b18(){const _0xfdbc44=['cyan','1983920DpYKAR','red','7fvIRNC','[\x20]','white','9cyhudg','3050892ZHEFul','blue','2818560vxZqWx','5105835dqSNUD','column','↑/↓:\x20移动光标\x20空格:\x20切换选中\x20a:\x20全选\x20i/r:\x20反选\x20q:\x20退出\x20Enter:\x20确认','description','key','3755046QePWMg','18881290whkMWm','has','2UhljaR','1080139jbyULB'];a65_0x8b18=function(){return _0xfdbc44;};return a65_0x8b18();}import{Text,Box}from'ink';export function IDESelector({ideList:_0x4da06f,title:_0x5a6331,selection:_0x5b09d8}){const _0x5117e0=a65_0x17b5,{selectedIndexes:_0x208bee,highlightIndex:_0x257cda,errorMsg:_0x388567}=_0x5b09d8;return a65_0x48d2fb(Box,{'flexDirection':_0x5117e0(0x1cd),'marginTop':0x1,'children':[a65_0x4a0697(Box,{'children':a65_0x48d2fb(Text,{'color':_0x5117e0(0x1d6),'children':['*\x20',_0x5a6331]})}),_0x388567&&a65_0x4a0697(Box,{'marginTop':0x1,'children':a65_0x48d2fb(Text,{'color':_0x5117e0(0x1c4),'children':['✗\x20',_0x388567]})}),a65_0x48d2fb(Box,{'marginTop':0x1,'flexDirection':_0x5117e0(0x1cd),'children':[a65_0x4a0697(Text,{'bold':!![],'children':'*\x20请选择要配置的\x20IDE:'}),_0x4da06f['map']((_0x48569a,_0x1c1d07)=>{const _0x2e3e39=_0x5117e0,_0x2d6889=_0x257cda===_0x1c1d07,_0xc4253=_0x208bee[_0x2e3e39(0x1d3)](_0x1c1d07);return a65_0x4a0697(Box,{'children':a65_0x48d2fb(Text,{'backgroundColor':_0x2d6889?_0x2e3e39(0x1ca):undefined,'color':_0x2d6889?'white':undefined,'children':['\x20\x20',_0xc4253?'[✓]':_0x2e3e39(0x1c6),'\x20',_0x48569a['name'],'\x20',a65_0x48d2fb(Text,{'color':_0x2d6889?_0x2e3e39(0x1c7):'gray','dimColor':!_0x2d6889,'children':['-\x20',_0x48569a[_0x2e3e39(0x1cf)]]})]})},_0x48569a[_0x2e3e39(0x1d0)]);}),a65_0x4a0697(Box,{'marginTop':0x1,'children':a65_0x48d2fb(Text,{'color':'gray','children':['\x20',_0x5117e0(0x1ce)]})})]})]});}export{useIDESelection}from'./useIDESelection.js';
1
+ function a66_0x1622(){const _0x35f603=['has','[✓]','2CXebOt','blue','4377951aXiMQF','white','3528240lFgrUG','1002084zMmFuu','column','[\x20]','72LCfBNg','name','83315hWrJts','cyan','description','map','310377LSEkfj','key','gray','1657227arSoUx','2031484ERffUj','*\x20请选择要配置的\x20IDE:'];a66_0x1622=function(){return _0x35f603;};return a66_0x1622();}(function(_0x5d1831,_0x4215a1){const _0x3463f4=a66_0x439d,_0x3abed5=_0x5d1831();while(!![]){try{const _0x1393a5=-parseInt(_0x3463f4(0xeb))/0x1+-parseInt(_0x3463f4(0xdd))/0x2*(-parseInt(_0x3463f4(0xd8))/0x3)+parseInt(_0x3463f4(0xe2))/0x4+-parseInt(_0x3463f4(0xe7))/0x5*(-parseInt(_0x3463f4(0xe5))/0x6)+-parseInt(_0x3463f4(0xd9))/0x7+parseInt(_0x3463f4(0xe1))/0x8+-parseInt(_0x3463f4(0xdf))/0x9;if(_0x1393a5===_0x4215a1)break;else _0x3abed5['push'](_0x3abed5['shift']());}catch(_0x2a2684){_0x3abed5['push'](_0x3abed5['shift']());}}}(a66_0x1622,0x57218));import{jsxs as a66_0x30ca11,jsx as a66_0x53d49e}from'react/jsx-runtime';import{Text,Box}from'ink';function a66_0x439d(_0x344ac6,_0x284204){_0x344ac6=_0x344ac6-0xd8;const _0x16223b=a66_0x1622();let _0x439dfe=_0x16223b[_0x344ac6];return _0x439dfe;}export function IDESelector({ideList:_0x1ec9b5,title:_0x2d913a,selection:_0x4ad81f}){const _0x3559de=a66_0x439d,{selectedIndexes:_0x3f2199,highlightIndex:_0x4ae212,errorMsg:_0x8a1094}=_0x4ad81f;return a66_0x30ca11(Box,{'flexDirection':_0x3559de(0xe3),'marginTop':0x1,'children':[a66_0x53d49e(Box,{'children':a66_0x30ca11(Text,{'color':_0x3559de(0xe8),'children':['*\x20',_0x2d913a]})}),_0x8a1094&&a66_0x53d49e(Box,{'marginTop':0x1,'children':a66_0x30ca11(Text,{'color':'red','children':['✗\x20',_0x8a1094]})}),a66_0x30ca11(Box,{'marginTop':0x1,'flexDirection':_0x3559de(0xe3),'children':[a66_0x53d49e(Text,{'bold':!![],'children':_0x3559de(0xda)}),_0x1ec9b5[_0x3559de(0xea)]((_0x50f881,_0x177586)=>{const _0x32217c=_0x3559de,_0x44f263=_0x4ae212===_0x177586,_0x2a6e68=_0x3f2199[_0x32217c(0xdb)](_0x177586);return a66_0x53d49e(Box,{'children':a66_0x30ca11(Text,{'backgroundColor':_0x44f263?_0x32217c(0xde):undefined,'color':_0x44f263?'white':undefined,'children':['\x20\x20',_0x2a6e68?_0x32217c(0xdc):_0x32217c(0xe4),'\x20',_0x50f881[_0x32217c(0xe6)],'\x20',a66_0x30ca11(Text,{'color':_0x44f263?_0x32217c(0xe0):_0x32217c(0xed),'dimColor':!_0x44f263,'children':['-\x20',_0x50f881[_0x32217c(0xe9)]]})]})},_0x50f881[_0x32217c(0xec)]);}),a66_0x53d49e(Box,{'marginTop':0x1,'children':a66_0x30ca11(Text,{'color':_0x3559de(0xed),'children':['\x20','↑/↓:\x20移动光标\x20空格:\x20切换选中\x20a:\x20全选\x20i/r:\x20反选\x20q:\x20退出\x20Enter:\x20确认']})})]})]});}export{useIDESelection}from'./useIDESelection.js';
@@ -1 +1 @@
1
- (function(_0x48d2a0,_0x8a13f6){const _0x229c93=a66_0x5b00,_0x2b3a77=_0x48d2a0();while(!![]){try{const _0x45b264=-parseInt(_0x229c93(0x1ea))/0x1*(-parseInt(_0x229c93(0x1e4))/0x2)+-parseInt(_0x229c93(0x1e2))/0x3*(-parseInt(_0x229c93(0x1da))/0x4)+-parseInt(_0x229c93(0x1d9))/0x5+-parseInt(_0x229c93(0x1e5))/0x6*(parseInt(_0x229c93(0x1de))/0x7)+-parseInt(_0x229c93(0x1ee))/0x8*(-parseInt(_0x229c93(0x1e8))/0x9)+-parseInt(_0x229c93(0x1e1))/0xa+-parseInt(_0x229c93(0x1e6))/0xb*(-parseInt(_0x229c93(0x1e9))/0xc);if(_0x45b264===_0x8a13f6)break;else _0x2b3a77['push'](_0x2b3a77['shift']());}catch(_0x16bb0b){_0x2b3a77['push'](_0x2b3a77['shift']());}}}(a66_0x16c2,0x68863));function a66_0x16c2(){const _0x4c79ed=['delete','filter','539sBfgNB','map','length','2220650ehfjuc','6cyNIbH','has','14ipLqXF','48174lKgqOQ','77Gtjotw','key','18YZGwZt','1337652WsNDYZ','13583EgyKen','downArrow','upArrow','size','1878024SllCrA','538945WZeVGs','62668ozggOh','add'];a66_0x16c2=function(){return _0x4c79ed;};return a66_0x16c2();}function a66_0x5b00(_0x22626d,_0x1c2da9){_0x22626d=_0x22626d-0x1d9;const _0x16c2ff=a66_0x16c2();let _0x5b0012=_0x16c2ff[_0x22626d];return _0x5b0012;}import{useState,useCallback}from'react';export function useIDESelection({ideList:_0xd39f46,preselectedIDEs:preselectedIDEs=[],multiSelect:multiSelect=!![]}){const _0x23f588=a66_0x5b00,[_0x44a237,_0x34651f]=useState(new Set(preselectedIDEs[_0x23f588(0x1df)](_0x49c134=>_0xd39f46['findIndex'](_0x2de8f8=>_0x2de8f8[_0x23f588(0x1e7)]===_0x49c134))[_0x23f588(0x1dd)](_0x1dbc1f=>_0x1dbc1f>=0x0))),[_0x573c01,_0x5490cc]=useState(0x0),[_0x2edae6,_0x387fd1]=useState(''),_0x5ae260=useCallback(()=>{const _0x332818=_0x23f588;_0x5490cc(_0x4fb33b=>_0x4fb33b>0x0?_0x4fb33b-0x1:_0xd39f46[_0x332818(0x1e0)]-0x1);},[_0xd39f46['length']]),_0x19010e=useCallback(()=>{const _0x3b2b64=_0x23f588;_0x5490cc(_0x147ab4=>_0x147ab4<_0xd39f46[_0x3b2b64(0x1e0)]-0x1?_0x147ab4+0x1:0x0);},[_0xd39f46['length']]),_0x24d564=useCallback(()=>{if(!multiSelect){_0x34651f(new Set([_0x573c01]));return;}_0x34651f(_0x4ef523=>{const _0x167b11=a66_0x5b00,_0x2b4c8a=new Set(_0x4ef523);return _0x2b4c8a[_0x167b11(0x1e3)](_0x573c01)?_0x2b4c8a[_0x167b11(0x1dc)](_0x573c01):_0x2b4c8a[_0x167b11(0x1db)](_0x573c01),_0x2b4c8a;});},[_0x573c01,multiSelect]),_0x3be109=useCallback(()=>{const _0xf0b99a=_0x23f588;_0x34651f(new Set(_0xd39f46[_0xf0b99a(0x1df)]((_0x47e843,_0xcb8368)=>_0xcb8368)));},[_0xd39f46]),_0x430e86=useCallback(()=>{_0x34651f(_0x40756f=>{const _0x512ad3=a66_0x5b00,_0x35e37e=new Set();for(let _0x3efbae=0x0;_0x3efbae<_0xd39f46['length'];_0x3efbae++){!_0x40756f[_0x512ad3(0x1e3)](_0x3efbae)&&_0x35e37e[_0x512ad3(0x1db)](_0x3efbae);}return _0x35e37e;});},[_0xd39f46]),_0x420102=useCallback(()=>{const _0x469aa6=_0x23f588;return Array['from'](_0x44a237)['map'](_0x1636c4=>_0xd39f46[_0x1636c4]?.[_0x469aa6(0x1e7)])[_0x469aa6(0x1dd)](_0x4611b9=>_0x4611b9!==undefined);},[_0x44a237,_0xd39f46]),_0x1bff48=useCallback(()=>{const _0x52f402=_0x23f588;return _0x44a237[_0x52f402(0x1ed)]===_0xd39f46[_0x52f402(0x1e0)];},[_0x44a237,_0xd39f46]),_0x879f00=useCallback((_0x2d9a00,_0x32b960)=>{const _0x33e12b=_0x23f588;if(_0x32b960[_0x33e12b(0x1ec)])return _0x5ae260(),!![];if(_0x32b960[_0x33e12b(0x1eb)])return _0x19010e(),!![];if(_0x2d9a00==='\x20')return _0x24d564(),!![];if(_0x2d9a00==='a'||_0x2d9a00==='A')return _0x3be109(),!![];if(_0x2d9a00==='i'||_0x2d9a00==='I'||_0x2d9a00==='r'||_0x2d9a00==='R')return _0x430e86(),!![];return![];},[_0x5ae260,_0x19010e,_0x24d564,_0x3be109,_0x430e86]);return{'selectedIndexes':_0x44a237,'highlightIndex':_0x573c01,'errorMsg':_0x2edae6,'setErrorMsg':_0x387fd1,'handleKeyDown':_0x879f00,'getSelectedIDEs':_0x420102,'isAllSelected':_0x1bff48,'toggleSelection':_0x24d564,'selectAll':_0x3be109,'invertSelection':_0x430e86,'moveHighlightUp':_0x5ae260,'moveHighlightDown':_0x19010e};}
1
+ (function(_0x4ab8f0,_0x28acb9){const _0xd4f97d=a67_0x53fa,_0x4ee75c=_0x4ab8f0();while(!![]){try{const _0x45bf9d=parseInt(_0xd4f97d(0x100))/0x1*(parseInt(_0xd4f97d(0xf4))/0x2)+parseInt(_0xd4f97d(0xfc))/0x3+parseInt(_0xd4f97d(0x102))/0x4*(-parseInt(_0xd4f97d(0x103))/0x5)+parseInt(_0xd4f97d(0xf5))/0x6+-parseInt(_0xd4f97d(0x101))/0x7+-parseInt(_0xd4f97d(0x105))/0x8*(parseInt(_0xd4f97d(0xff))/0x9)+parseInt(_0xd4f97d(0xf8))/0xa;if(_0x45bf9d===_0x28acb9)break;else _0x4ee75c['push'](_0x4ee75c['shift']());}catch(_0x350f42){_0x4ee75c['push'](_0x4ee75c['shift']());}}}(a67_0x553a,0xbecc4));import{useState,useCallback}from'react';function a67_0x53fa(_0x38fa48,_0xb406a7){_0x38fa48=_0x38fa48-0xf4;const _0x553ae1=a67_0x553a();let _0x53fae6=_0x553ae1[_0x38fa48];return _0x53fae6;}export function useIDESelection({ideList:_0x28042f,preselectedIDEs:preselectedIDEs=[],multiSelect:multiSelect=!![]}){const _0x530172=a67_0x53fa,[_0x16bc52,_0x362afb]=useState(new Set(preselectedIDEs[_0x530172(0x106)](_0x5925df=>_0x28042f['findIndex'](_0x1eea82=>_0x1eea82['key']===_0x5925df))[_0x530172(0xf6)](_0x3b2dc1=>_0x3b2dc1>=0x0))),[_0x109a56,_0x533430]=useState(0x0),[_0x3ee1ee,_0x12fdf3]=useState(''),_0x26a419=useCallback(()=>{const _0x408d54=_0x530172;_0x533430(_0x471f95=>_0x471f95>0x0?_0x471f95-0x1:_0x28042f[_0x408d54(0xfe)]-0x1);},[_0x28042f['length']]),_0x56d32a=useCallback(()=>{const _0x40bf4f=_0x530172;_0x533430(_0x3f1262=>_0x3f1262<_0x28042f[_0x40bf4f(0xfe)]-0x1?_0x3f1262+0x1:0x0);},[_0x28042f[_0x530172(0xfe)]]),_0x52012a=useCallback(()=>{if(!multiSelect){_0x362afb(new Set([_0x109a56]));return;}_0x362afb(_0x1b2f5f=>{const _0x3b8ac6=a67_0x53fa,_0x57988b=new Set(_0x1b2f5f);return _0x57988b[_0x3b8ac6(0x104)](_0x109a56)?_0x57988b['delete'](_0x109a56):_0x57988b['add'](_0x109a56),_0x57988b;});},[_0x109a56,multiSelect]),_0x5c3c8e=useCallback(()=>{const _0x2d57d2=_0x530172;_0x362afb(new Set(_0x28042f[_0x2d57d2(0x106)]((_0x172779,_0x13906f)=>_0x13906f)));},[_0x28042f]),_0x1a007a=useCallback(()=>{_0x362afb(_0x42c6e3=>{const _0x4a759e=a67_0x53fa,_0x100848=new Set();for(let _0x333800=0x0;_0x333800<_0x28042f['length'];_0x333800++){!_0x42c6e3[_0x4a759e(0x104)](_0x333800)&&_0x100848[_0x4a759e(0xf9)](_0x333800);}return _0x100848;});},[_0x28042f]),_0x50c859=useCallback(()=>{const _0x2c45b2=_0x530172;return Array[_0x2c45b2(0xfa)](_0x16bc52)[_0x2c45b2(0x106)](_0xc540f8=>_0x28042f[_0xc540f8]?.[_0x2c45b2(0xfb)])[_0x2c45b2(0xf6)](_0xfc6463=>_0xfc6463!==undefined);},[_0x16bc52,_0x28042f]),_0x4eaf75=useCallback(()=>{const _0x4b52e5=_0x530172;return _0x16bc52[_0x4b52e5(0xfd)]===_0x28042f[_0x4b52e5(0xfe)];},[_0x16bc52,_0x28042f]),_0x18230b=useCallback((_0xab2794,_0x56f88f)=>{const _0x4503c0=_0x530172;if(_0x56f88f[_0x4503c0(0xf7)])return _0x26a419(),!![];if(_0x56f88f['downArrow'])return _0x56d32a(),!![];if(_0xab2794==='\x20')return _0x52012a(),!![];if(_0xab2794==='a'||_0xab2794==='A')return _0x5c3c8e(),!![];if(_0xab2794==='i'||_0xab2794==='I'||_0xab2794==='r'||_0xab2794==='R')return _0x1a007a(),!![];return![];},[_0x26a419,_0x56d32a,_0x52012a,_0x5c3c8e,_0x1a007a]);return{'selectedIndexes':_0x16bc52,'highlightIndex':_0x109a56,'errorMsg':_0x3ee1ee,'setErrorMsg':_0x12fdf3,'handleKeyDown':_0x18230b,'getSelectedIDEs':_0x50c859,'isAllSelected':_0x4eaf75,'toggleSelection':_0x52012a,'selectAll':_0x5c3c8e,'invertSelection':_0x1a007a,'moveHighlightUp':_0x26a419,'moveHighlightDown':_0x56d32a};}function a67_0x553a(){const _0x4ea9eb=['1027086TQgcjY','size','length','320427czoDwW','2tdgmfw','4524730QFcoMe','54632MbUQby','285PAkylg','has','280ylXCby','map','750454kwfLXH','1584612BDFuLy','filter','upArrow','20955910yJnVPQ','add','from','key'];a67_0x553a=function(){return _0x4ea9eb;};return a67_0x553a();}
@@ -1 +1 @@
1
- const a67_0x4ec566=a67_0x361d;function a67_0x361d(_0x47e5ef,_0xc6a633){_0x47e5ef=_0x47e5ef-0x1dc;const _0x3016aa=a67_0x3016();let _0x361d64=_0x3016aa[_0x47e5ef];return _0x361d64;}(function(_0x1dca20,_0x517977){const _0x22d3d6=a67_0x361d,_0x2c18f5=_0x1dca20();while(!![]){try{const _0x3254eb=-parseInt(_0x22d3d6(0x1f4))/0x1+-parseInt(_0x22d3d6(0x20f))/0x2*(parseInt(_0x22d3d6(0x1fa))/0x3)+-parseInt(_0x22d3d6(0x204))/0x4*(parseInt(_0x22d3d6(0x20e))/0x5)+-parseInt(_0x22d3d6(0x1f7))/0x6*(parseInt(_0x22d3d6(0x1fb))/0x7)+-parseInt(_0x22d3d6(0x20a))/0x8+-parseInt(_0x22d3d6(0x1e9))/0x9+parseInt(_0x22d3d6(0x1f1))/0xa;if(_0x3254eb===_0x517977)break;else _0x2c18f5['push'](_0x2c18f5['shift']());}catch(_0x417d37){_0x2c18f5['push'](_0x2c18f5['shift']());}}}(a67_0x3016,0xf3386));export const CORE_IDE_CONFIGS={'cursor':{'name':a67_0x4ec566(0x1fd),'description':a67_0x4ec566(0x1e7),'folders':[a67_0x4ec566(0x1e0),a67_0x4ec566(0x1dc)],'files':[{'type':'file','path':a67_0x4ec566(0x207),'template':a67_0x4ec566(0x1f6)}]},'windsurf':{'name':'Windsurf','description':'Windsurf\x20IDE','folders':[a67_0x4ec566(0x209)],'files':[{'type':a67_0x4ec566(0x1df),'path':a67_0x4ec566(0x1eb),'template':a67_0x4ec566(0x1f6)}]},'claude':{'name':a67_0x4ec566(0x1f9),'description':a67_0x4ec566(0x1f9),'folders':[a67_0x4ec566(0x1fe)],'files':[{'type':a67_0x4ec566(0x1df),'path':a67_0x4ec566(0x1e4),'template':a67_0x4ec566(0x1f6)}]},'cline':{'name':'Cline','description':a67_0x4ec566(0x1fc),'folders':['.cline'],'files':[{'type':a67_0x4ec566(0x1df),'path':'.cline/skills/lovrabet/SKILL.md','template':a67_0x4ec566(0x1f6)}]},'codex':{'name':a67_0x4ec566(0x1ef),'description':a67_0x4ec566(0x202),'folders':['.codex'],'files':[{'type':a67_0x4ec566(0x1df),'path':'.codex/skills/lovrabet/SKILL.md','template':a67_0x4ec566(0x1f6)}]},'opencode':{'name':a67_0x4ec566(0x200),'description':a67_0x4ec566(0x206),'folders':[a67_0x4ec566(0x210)],'files':[{'type':a67_0x4ec566(0x1df),'path':a67_0x4ec566(0x211),'template':a67_0x4ec566(0x1f6)}]},'qoder':{'name':a67_0x4ec566(0x1e5),'description':'Qoder\x20IDE','folders':[a67_0x4ec566(0x1f5)],'files':[{'type':a67_0x4ec566(0x1df),'path':a67_0x4ec566(0x203),'template':a67_0x4ec566(0x1f6)},{'type':a67_0x4ec566(0x1df),'path':a67_0x4ec566(0x1e6),'template':a67_0x4ec566(0x1f6)}]},'codebuddy':{'name':a67_0x4ec566(0x1e2),'description':'CodeBuddy\x20IDE','folders':[a67_0x4ec566(0x201)],'files':[{'type':'file','path':'.codebuddy/skills/lovrabet/SKILL.md','template':'SKILL.md.tpl'}]},'trae':{'name':a67_0x4ec566(0x1f3),'description':a67_0x4ec566(0x1ff),'folders':[a67_0x4ec566(0x205)],'files':[{'type':'file','path':a67_0x4ec566(0x1f0),'template':a67_0x4ec566(0x1f6)}]}};export const IDE_CONFIGS={...CORE_IDE_CONFIGS,'agent':{'name':a67_0x4ec566(0x1f2),'description':a67_0x4ec566(0x1e3),'folders':['.agent'],'files':[{'type':a67_0x4ec566(0x1df),'path':a67_0x4ec566(0x20b),'template':a67_0x4ec566(0x1f6)}]},'antigravity':{'name':a67_0x4ec566(0x20c),'description':a67_0x4ec566(0x1e1),'folders':[a67_0x4ec566(0x1f8)],'files':[{'type':a67_0x4ec566(0x1df),'path':'.agent/skills/lovrabet/SKILL.md','template':a67_0x4ec566(0x1f6)}]}};function a67_0x3016(){const _0x36b989=['.windsurf/workflows/lovrabet.md','windsurf','antigravity','qoder','Codex','.trae/skills/lovrabet/SKILL.md','93671400JcynRR','其他\x20(通用模板)','Trae','1046575iKupvo','.qoder','SKILL.md.tpl','630486vGJfJb','.agent','Claude\x20Code','705603vLpZRc','77xaHXsr','Cline\x20IDE','Cursor','.claude','Trae\x20IDE','OpenCode','.codebuddy','Codex\x20IDE','.qoder/rules/lovrabet.md','2002592ILSgWj','.trae','OpenCode\x20IDE','.cursor/commands/lovrabet.md','cursor','.windsurf','9641328OxNleD','.agent/skills/lovrabet/SKILL.md','Antigravity','agent','15STbdBz','16sMpziV','.opencode','.opencode/skills/lovrabet/SKILL.md','cline','.cursor','codebuddy','claude','file','.cursorrules','Antigravity\x20IDE','CodeBuddy','通用模板\x20-\x20兜底方案','.claude/skills/lovrabet/SKILL.md','Qoder','.qoder/skills/lovrabet/SKILL.md','Cursor\x20IDE','codex','14217534kLIQel','trae'];a67_0x3016=function(){return _0x36b989;};return a67_0x3016();}export const CORE_IDE_LIST=[a67_0x4ec566(0x1de),'cline',a67_0x4ec566(0x1dd),a67_0x4ec566(0x1e8),a67_0x4ec566(0x208),'opencode',a67_0x4ec566(0x1ee),a67_0x4ec566(0x1ea),'windsurf'];export const IDE_LIST=[a67_0x4ec566(0x1ed),a67_0x4ec566(0x1de),a67_0x4ec566(0x212),a67_0x4ec566(0x1dd),a67_0x4ec566(0x1e8),a67_0x4ec566(0x208),'opencode','qoder','trae',a67_0x4ec566(0x1ec),a67_0x4ec566(0x20d)];export const ALL_CORE_IDES=[a67_0x4ec566(0x208),a67_0x4ec566(0x1ec),a67_0x4ec566(0x1de),'cline',a67_0x4ec566(0x1e8),'opencode',a67_0x4ec566(0x1ee),'codebuddy',a67_0x4ec566(0x1ea)];export const MCP_IDES=new Set([a67_0x4ec566(0x208),a67_0x4ec566(0x1de)]);
1
+ const a68_0x25901e=a68_0x45e9;(function(_0x181b59,_0x1b2993){const _0x2e8438=a68_0x45e9,_0x529ed1=_0x181b59();while(!![]){try{const _0x185d35=-parseInt(_0x2e8438(0x208))/0x1+-parseInt(_0x2e8438(0x221))/0x2+parseInt(_0x2e8438(0x21f))/0x3*(parseInt(_0x2e8438(0x218))/0x4)+parseInt(_0x2e8438(0x206))/0x5*(parseInt(_0x2e8438(0x20f))/0x6)+-parseInt(_0x2e8438(0x20e))/0x7*(parseInt(_0x2e8438(0x207))/0x8)+parseInt(_0x2e8438(0x1fd))/0x9+-parseInt(_0x2e8438(0x1ee))/0xa;if(_0x185d35===_0x1b2993)break;else _0x529ed1['push'](_0x529ed1['shift']());}catch(_0x333ccd){_0x529ed1['push'](_0x529ed1['shift']());}}}(a68_0x5069,0x192ff));export const CORE_IDE_CONFIGS={'cursor':{'name':a68_0x25901e(0x21d),'description':a68_0x25901e(0x1ec),'folders':[a68_0x25901e(0x1ed),a68_0x25901e(0x1fb)],'files':[{'type':a68_0x25901e(0x1f2),'path':a68_0x25901e(0x201),'template':'SKILL.md.tpl'}]},'windsurf':{'name':a68_0x25901e(0x216),'description':a68_0x25901e(0x1ff),'folders':[a68_0x25901e(0x1f3)],'files':[{'type':a68_0x25901e(0x1f2),'path':a68_0x25901e(0x21c),'template':'SKILL.md.tpl'}]},'claude':{'name':a68_0x25901e(0x209),'description':a68_0x25901e(0x209),'folders':['.claude'],'files':[{'type':a68_0x25901e(0x1f2),'path':a68_0x25901e(0x21b),'template':a68_0x25901e(0x220)}]},'cline':{'name':a68_0x25901e(0x212),'description':'Cline\x20IDE','folders':[a68_0x25901e(0x1ef)],'files':[{'type':a68_0x25901e(0x1f2),'path':a68_0x25901e(0x217),'template':'SKILL.md.tpl'}]},'codex':{'name':a68_0x25901e(0x213),'description':a68_0x25901e(0x21e),'folders':['.codex'],'files':[{'type':a68_0x25901e(0x1f2),'path':a68_0x25901e(0x1f1),'template':a68_0x25901e(0x220)}]},'opencode':{'name':a68_0x25901e(0x20a),'description':a68_0x25901e(0x211),'folders':[a68_0x25901e(0x1fa)],'files':[{'type':a68_0x25901e(0x1f2),'path':a68_0x25901e(0x1eb),'template':a68_0x25901e(0x220)}]},'qoder':{'name':a68_0x25901e(0x1fe),'description':a68_0x25901e(0x1f7),'folders':['.qoder'],'files':[{'type':'file','path':'.qoder/rules/lovrabet.md','template':a68_0x25901e(0x220)},{'type':a68_0x25901e(0x1f2),'path':a68_0x25901e(0x204),'template':'SKILL.md.tpl'}]},'codebuddy':{'name':'CodeBuddy','description':a68_0x25901e(0x1e9),'folders':[a68_0x25901e(0x1f5)],'files':[{'type':a68_0x25901e(0x1f2),'path':a68_0x25901e(0x205),'template':a68_0x25901e(0x220)}]},'trae':{'name':a68_0x25901e(0x203),'description':'Trae\x20IDE','folders':[a68_0x25901e(0x1f0)],'files':[{'type':a68_0x25901e(0x1f2),'path':a68_0x25901e(0x219),'template':a68_0x25901e(0x220)}]}};export const IDE_CONFIGS={...CORE_IDE_CONFIGS,'agent':{'name':'其他\x20(通用模板)','description':a68_0x25901e(0x215),'folders':[a68_0x25901e(0x20c)],'files':[{'type':a68_0x25901e(0x1f2),'path':a68_0x25901e(0x1f6),'template':'SKILL.md.tpl'}]},'antigravity':{'name':a68_0x25901e(0x20b),'description':a68_0x25901e(0x202),'folders':[a68_0x25901e(0x20c)],'files':[{'type':a68_0x25901e(0x1f2),'path':a68_0x25901e(0x1f6),'template':'SKILL.md.tpl'}]}};function a68_0x5069(){const _0x4e83bb=['.windsurf/workflows/lovrabet.md','Cursor','Codex\x20IDE','1365nuqBIu','SKILL.md.tpl','336466EQCWcw','agent','CodeBuddy\x20IDE','trae','.opencode/skills/lovrabet/SKILL.md','Cursor\x20IDE','.cursorrules','1507830lyvJos','.cline','.trae','.codex/skills/lovrabet/SKILL.md','file','.windsurf','qoder','.codebuddy','.agent/skills/lovrabet/SKILL.md','Qoder\x20IDE','cursor','codebuddy','.opencode','.cursor','antigravity','1659384yYIXmG','Qoder','Windsurf\x20IDE','cline','.cursor/skills/lovrabet.md','Antigravity\x20IDE','Trae','.qoder/skills/lovrabet/SKILL.md','.codebuddy/skills/lovrabet/SKILL.md','110bCTGcC','8TaxGBf','37242UBFNny','Claude\x20Code','OpenCode','Antigravity','.agent','claude','17339AVqfdH','38958EnfuxC','windsurf','OpenCode\x20IDE','Cline','Codex','opencode','通用模板\x20-\x20兜底方案','Windsurf','.cline/skills/lovrabet/SKILL.md','1184wSIBHf','.trae/skills/lovrabet/SKILL.md','codex','.claude/skills/lovrabet/SKILL.md'];a68_0x5069=function(){return _0x4e83bb;};return a68_0x5069();}export const CORE_IDE_LIST=['claude',a68_0x25901e(0x200),'codebuddy','codex','cursor',a68_0x25901e(0x214),a68_0x25901e(0x1f4),'trae',a68_0x25901e(0x210)];export const IDE_LIST=[a68_0x25901e(0x1fc),a68_0x25901e(0x20d),a68_0x25901e(0x200),a68_0x25901e(0x1f9),a68_0x25901e(0x21a),a68_0x25901e(0x1f8),a68_0x25901e(0x214),a68_0x25901e(0x1f4),'trae','windsurf',a68_0x25901e(0x1e8)];export const ALL_CORE_IDES=[a68_0x25901e(0x1f8),a68_0x25901e(0x210),a68_0x25901e(0x20d),a68_0x25901e(0x200),'codex',a68_0x25901e(0x214),a68_0x25901e(0x1f4),a68_0x25901e(0x1f9),a68_0x25901e(0x1ea)];function a68_0x45e9(_0x15ebf1,_0x4a6d7c){_0x15ebf1=_0x15ebf1-0x1e8;const _0x5069e9=a68_0x5069();let _0x45e90f=_0x5069e9[_0x15ebf1];return _0x45e90f;}export const MCP_IDES=new Set([a68_0x25901e(0x1f8),a68_0x25901e(0x20d)]);
@@ -1 +1 @@
1
- (function(_0x3ce18a,_0x48daf5){const _0x1111b4=a68_0x3ff6,_0x2952ea=_0x3ce18a();while(!![]){try{const _0xce8d41=parseInt(_0x1111b4(0x87))/0x1*(parseInt(_0x1111b4(0x86))/0x2)+-parseInt(_0x1111b4(0x82))/0x3*(-parseInt(_0x1111b4(0x85))/0x4)+parseInt(_0x1111b4(0x88))/0x5+parseInt(_0x1111b4(0x8b))/0x6+-parseInt(_0x1111b4(0x81))/0x7+parseInt(_0x1111b4(0x8d))/0x8+-parseInt(_0x1111b4(0x8a))/0x9;if(_0xce8d41===_0x48daf5)break;else _0x2952ea['push'](_0x2952ea['shift']());}catch(_0x32229b){_0x2952ea['push'](_0x2952ea['shift']());}}}(a68_0x33d9,0x77370));import{getTemplateBaseUrl}from'./config.js';export async function fetchCdnConfig(){const _0x4977d3=a68_0x3ff6;try{const _0x245e89=getTemplateBaseUrl(),_0x57bde0=_0x245e89+'/config.json',_0x3e6b76=await fetch(_0x57bde0,{'headers':{'Accept':_0x4977d3(0x8c)}});if(!_0x3e6b76['ok'])return null;const _0x13dcd6=await _0x3e6b76[_0x4977d3(0x7f)]();if(!_0x13dcd6[_0x4977d3(0x83)]?.[_0x4977d3(0x7e)]||!_0x13dcd6[_0x4977d3(0x84)]?.[_0x4977d3(0x89)]?.['stableVersion'])return null;return _0x13dcd6;}catch{return null;}}function a68_0x3ff6(_0x561574,_0x4942a0){_0x561574=_0x561574-0x7e;const _0x33d9be=a68_0x33d9();let _0x3ff6a2=_0x33d9be[_0x561574];return _0x3ff6a2;}function a68_0x33d9(){const _0xf66328=['3417728gumyrt','491054bGgpBh','1UhPgLk','1559280LzstMF','node','15225984IFdANH','3071418atOCyS','application/json','4196936dCRZLL','stableVersion','json','now','1877785aOdFuv','3dKcJKp','cli','sdk'];a68_0x33d9=function(){return _0xf66328;};return a68_0x33d9();}let cachedConfig=null,cacheTime=0x0;const CACHE_TTL=0x5*0x3c*0x3e8;export async function getCdnConfig(){const _0xfd8da3=a68_0x3ff6,_0x47b4e9=Date[_0xfd8da3(0x80)]();if(cachedConfig&&_0x47b4e9-cacheTime<CACHE_TTL)return cachedConfig;const _0x39580e=await fetchCdnConfig();return _0x39580e&&(cachedConfig=_0x39580e,cacheTime=_0x47b4e9),_0x39580e;}export function clearCdnConfigCache(){cachedConfig=null,cacheTime=0x0;}
1
+ (function(_0x5b8178,_0x458922){const _0x353815=a69_0x19fd,_0x2ab7f5=_0x5b8178();while(!![]){try{const _0x52ad71=parseInt(_0x353815(0x169))/0x1+parseInt(_0x353815(0x16d))/0x2*(-parseInt(_0x353815(0x16a))/0x3)+-parseInt(_0x353815(0x167))/0x4*(-parseInt(_0x353815(0x16f))/0x5)+-parseInt(_0x353815(0x174))/0x6*(parseInt(_0x353815(0x168))/0x7)+-parseInt(_0x353815(0x172))/0x8+-parseInt(_0x353815(0x171))/0x9+-parseInt(_0x353815(0x173))/0xa*(-parseInt(_0x353815(0x16c))/0xb);if(_0x52ad71===_0x458922)break;else _0x2ab7f5['push'](_0x2ab7f5['shift']());}catch(_0x1283fe){_0x2ab7f5['push'](_0x2ab7f5['shift']());}}}(a69_0x453d,0xf2760));import{getTemplateBaseUrl}from'./config.js';export async function fetchCdnConfig(){const _0x41cf24=a69_0x19fd;try{const _0x42c3e0=getTemplateBaseUrl(),_0x1f092d=_0x42c3e0+_0x41cf24(0x170),_0x246539=await fetch(_0x1f092d,{'headers':{'Accept':'application/json'}});if(!_0x246539['ok'])return null;const _0x506971=await _0x246539[_0x41cf24(0x16e)]();if(!_0x506971['cli']?.[_0x41cf24(0x16b)]||!_0x506971['sdk']?.['node']?.[_0x41cf24(0x16b)])return null;return _0x506971;}catch{return null;}}function a69_0x453d(){const _0x1a791e=['1489663xSPWYj','46851sBUsXq','stableVersion','11RyllzS','162GySlqp','json','4310585ApeAjU','/config.json','11888775LcwPEz','7497080yvgZBa','39592570JShWbM','10768980yYvjtV','4RBFuTd','7WtkpKw'];a69_0x453d=function(){return _0x1a791e;};return a69_0x453d();}let cachedConfig=null,cacheTime=0x0;const CACHE_TTL=0x5*0x3c*0x3e8;export async function getCdnConfig(){const _0x50919e=Date['now']();if(cachedConfig&&_0x50919e-cacheTime<CACHE_TTL)return cachedConfig;const _0x225f0=await fetchCdnConfig();return _0x225f0&&(cachedConfig=_0x225f0,cacheTime=_0x50919e),_0x225f0;}function a69_0x19fd(_0x25c853,_0x45d55b){_0x25c853=_0x25c853-0x167;const _0x453d73=a69_0x453d();let _0x19fd34=_0x453d73[_0x25c853];return _0x19fd34;}export function clearCdnConfigCache(){cachedConfig=null,cacheTime=0x0;}
@@ -1 +1 @@
1
- const a69_0x7b49bf=a69_0x1f72;(function(_0x352019,_0x751b56){const _0x18b29a=a69_0x1f72,_0x33da79=_0x352019();while(!![]){try{const _0x3f1e8e=-parseInt(_0x18b29a(0x80))/0x1+parseInt(_0x18b29a(0x9a))/0x2+parseInt(_0x18b29a(0x76))/0x3*(parseInt(_0x18b29a(0x8a))/0x4)+-parseInt(_0x18b29a(0x93))/0x5*(parseInt(_0x18b29a(0x86))/0x6)+parseInt(_0x18b29a(0x98))/0x7+-parseInt(_0x18b29a(0x88))/0x8+parseInt(_0x18b29a(0x83))/0x9;if(_0x3f1e8e===_0x751b56)break;else _0x33da79['push'](_0x33da79['shift']());}catch(_0x1d7124){_0x33da79['push'](_0x33da79['shift']());}}}(a69_0x3435,0xb5c4a));import a69_0x123d14 from'node:fs';import a69_0x3feec6 from'node:path';import a69_0x1a6580 from'semver';import{getCdnConfig}from'./cdn-config.js';const FALLBACK_MIN_SDK_VERSION=a69_0x7b49bf(0x96);function isNonNumericVersion(_0x44edce){const _0x5c9622=a69_0x7b49bf,_0x18cf0d=[/^latest$/i,/^beta$/i,/^alpha$/i,/^canary$/i,/^\*$/,/^x$/];return _0x18cf0d[_0x5c9622(0x92)](_0x212fef=>_0x212fef[_0x5c9622(0x91)](_0x44edce));}function getInstalledVersion(_0x3599c4,_0x1f93a1){const _0x114cee=a69_0x7b49bf;try{const _0x27dc63=a69_0x3feec6['join'](_0x3599c4,_0x114cee(0x75),_0x1f93a1,_0x114cee(0x94));if(a69_0x123d14['existsSync'](_0x27dc63)){const _0x14ef85=JSON[_0x114cee(0x97)](a69_0x123d14['readFileSync'](_0x27dc63,_0x114cee(0x8e)));return _0x14ef85[_0x114cee(0x77)]||null;}}catch{}return null;}async function getSdkStableVersion(){const _0x18e65d=a69_0x7b49bf;try{const _0x2f815a=await getCdnConfig();return _0x2f815a?.[_0x18e65d(0x7b)]?.['node']?.[_0x18e65d(0x8c)]||null;}catch{return null;}}function a69_0x1f72(_0xe5af66,_0xe148bd){_0xe5af66=_0xe5af66-0x75;const _0x34353d=a69_0x3435();let _0x1f72c2=_0x34353d[_0xe5af66];return _0x1f72c2;}async function getSdkPackageName(){const _0x2dba5a=a69_0x7b49bf;try{const _0x49c2b1=await getCdnConfig();return _0x49c2b1?.[_0x2dba5a(0x7b)]?.[_0x2dba5a(0x99)]?.[_0x2dba5a(0x7f)]||_0x2dba5a(0x78);}catch{return _0x2dba5a(0x78);}}function a69_0x3435(){const _0x1bd538=['version','@lovrabet/sdk','\x1b[33m','existsSync','sdk','log','join','↪\x20SDK\x20版本更新','packageName','1079022eOsmul','utf8','dependencies','20581407xtaLmJ','all','\x1b[0m','6JXkDUT','\x20\x20\x20升级命令:\x20npm\x20install\x20','8068496SvxHqG','\x20\x20\x20当前版本:\x20','1112212HqEOnz','latest','stableVersion','needsUpgrade','utf-8','coerce','readFileSync','test','some','3800550kYKBxI','package.json','devDependencies','1.2.0','parse','2678389javXwX','node','733320QWwZdv','minVersion','node_modules','6ZYekFH'];a69_0x3435=function(){return _0x1bd538;};return a69_0x3435();}export async function checkSdkVersion(_0x35b3ea){const _0x365fa8=a69_0x7b49bf,_0x48fb75=a69_0x3feec6['join'](_0x35b3ea,_0x365fa8(0x94)),[_0x528791,_0x205f12]=await Promise[_0x365fa8(0x84)]([getSdkStableVersion(),getSdkPackageName()]),_0x2e0456=_0x528791||FALLBACK_MIN_SDK_VERSION;if(!a69_0x123d14[_0x365fa8(0x7a)](_0x48fb75))return{'installed':![],'version':null,'needsUpgrade':![],'minVersion':_0x2e0456,'packageName':_0x205f12,'stableVersion':_0x528791};try{const _0x151500=JSON[_0x365fa8(0x97)](a69_0x123d14['readFileSync'](_0x48fb75,'utf8')),_0x47a2c4=_0x151500[_0x365fa8(0x82)]||{},_0x42aa0a=_0x151500['devDependencies']||{},_0x362388=_0x47a2c4[_0x205f12]||_0x42aa0a[_0x205f12];if(!_0x362388)return{'installed':![],'version':null,'needsUpgrade':![],'minVersion':_0x2e0456,'packageName':_0x205f12,'stableVersion':_0x528791};let _0x5ddb25=getInstalledVersion(_0x35b3ea,_0x205f12);!_0x5ddb25&&(_0x5ddb25=_0x362388);if(isNonNumericVersion(_0x362388))return{'installed':!![],'version':_0x5ddb25,'needsUpgrade':![],'minVersion':_0x2e0456,'packageName':_0x205f12,'stableVersion':_0x528791};const _0x36897d=a69_0x1a6580[_0x365fa8(0x8f)](_0x5ddb25),_0x4dff32=a69_0x1a6580[_0x365fa8(0x8f)](_0x2e0456),_0x4e04b9=_0x36897d&&_0x4dff32?a69_0x1a6580['lt'](_0x36897d,_0x4dff32):![];return{'installed':!![],'version':_0x5ddb25,'needsUpgrade':_0x4e04b9,'minVersion':_0x2e0456,'packageName':_0x205f12,'stableVersion':_0x528791};}catch{return{'installed':![],'version':null,'needsUpgrade':![],'minVersion':_0x2e0456,'packageName':_0x205f12,'stableVersion':_0x528791};}}export function checkSdkVersionSync(_0x151dc9){const _0x2fbb11=a69_0x7b49bf,_0xa6c16=a69_0x3feec6[_0x2fbb11(0x7d)](_0x151dc9,'package.json'),_0x23ec6f=_0x2fbb11(0x78);if(!a69_0x123d14['existsSync'](_0xa6c16))return{'installed':![],'version':null,'needsUpgrade':![],'minVersion':FALLBACK_MIN_SDK_VERSION,'packageName':_0x23ec6f,'stableVersion':null};try{const _0x4b9fa2=JSON[_0x2fbb11(0x97)](a69_0x123d14[_0x2fbb11(0x90)](_0xa6c16,_0x2fbb11(0x81))),_0x457a08=_0x4b9fa2[_0x2fbb11(0x82)]||{},_0x488e92=_0x4b9fa2[_0x2fbb11(0x95)]||{},_0xdd7bc6=_0x457a08[_0x23ec6f]||_0x488e92[_0x23ec6f];if(!_0xdd7bc6)return{'installed':![],'version':null,'needsUpgrade':![],'minVersion':FALLBACK_MIN_SDK_VERSION,'packageName':_0x23ec6f,'stableVersion':null};let _0x8ad013=getInstalledVersion(_0x151dc9,_0x23ec6f);!_0x8ad013&&(_0x8ad013=_0xdd7bc6);if(isNonNumericVersion(_0xdd7bc6))return{'installed':!![],'version':_0x8ad013,'needsUpgrade':![],'minVersion':FALLBACK_MIN_SDK_VERSION,'packageName':_0x23ec6f,'stableVersion':null};const _0x10356b=a69_0x1a6580[_0x2fbb11(0x8f)](_0x8ad013),_0x37dec7=_0x10356b?a69_0x1a6580['lt'](_0x10356b,FALLBACK_MIN_SDK_VERSION):![];return{'installed':!![],'version':_0x8ad013,'needsUpgrade':_0x37dec7,'minVersion':FALLBACK_MIN_SDK_VERSION,'packageName':_0x23ec6f,'stableVersion':null};}catch{return{'installed':![],'version':null,'needsUpgrade':![],'minVersion':FALLBACK_MIN_SDK_VERSION,'packageName':_0x23ec6f,'stableVersion':null};}}export function printSdkUpgradeWarning(_0x4d5dc3){const _0x173ec7=a69_0x7b49bf;if(!_0x4d5dc3[_0x173ec7(0x8d)])return;const _0x916c6f=_0x173ec7(0x79),_0x4b9213=_0x173ec7(0x85),_0x1b4065='\x1b[1m',_0x2062d2=_0x4d5dc3[_0x173ec7(0x7f)]||_0x173ec7(0x78);console[_0x173ec7(0x7c)](),console[_0x173ec7(0x7c)](''+_0x916c6f+_0x1b4065+_0x173ec7(0x7e)+_0x4b9213),console[_0x173ec7(0x7c)](_0x916c6f+_0x173ec7(0x89)+_0x2062d2+'@'+_0x4d5dc3[_0x173ec7(0x77)]+_0x4b9213),console[_0x173ec7(0x7c)](_0x916c6f+'\x20\x20\x20稳定版本:\x20'+(_0x4d5dc3['stableVersion']||_0x4d5dc3[_0x173ec7(0x9b)])+_0x4b9213),console[_0x173ec7(0x7c)](_0x916c6f+_0x173ec7(0x87)+_0x2062d2+'@'+(_0x4d5dc3[_0x173ec7(0x8c)]||_0x173ec7(0x8b))+_0x4b9213),console[_0x173ec7(0x7c)]();}
1
+ const a70_0x4feeb0=a70_0xdc21;(function(_0x21fffd,_0xbaad36){const _0x137cec=a70_0xdc21,_0x10a635=_0x21fffd();while(!![]){try{const _0x5d2b2e=parseInt(_0x137cec(0x180))/0x1*(-parseInt(_0x137cec(0x196))/0x2)+-parseInt(_0x137cec(0x175))/0x3+-parseInt(_0x137cec(0x177))/0x4+parseInt(_0x137cec(0x18a))/0x5*(-parseInt(_0x137cec(0x186))/0x6)+-parseInt(_0x137cec(0x18c))/0x7+-parseInt(_0x137cec(0x17f))/0x8*(-parseInt(_0x137cec(0x17b))/0x9)+parseInt(_0x137cec(0x179))/0xa;if(_0x5d2b2e===_0xbaad36)break;else _0x10a635['push'](_0x10a635['shift']());}catch(_0x1d0165){_0x10a635['push'](_0x10a635['shift']());}}}(a70_0x2947,0x4b385));import a70_0x4641a9 from'node:fs';import a70_0x3a67c9 from'node:path';import a70_0x477708 from'semver';function a70_0xdc21(_0xea77f8,_0x11e8d2){_0xea77f8=_0xea77f8-0x174;const _0x294775=a70_0x2947();let _0xdc212e=_0x294775[_0xea77f8];return _0xdc212e;}import{getCdnConfig}from'./cdn-config.js';const FALLBACK_MIN_SDK_VERSION=a70_0x4feeb0(0x18b);function isNonNumericVersion(_0x7c05f4){const _0x443471=[/^latest$/i,/^beta$/i,/^alpha$/i,/^canary$/i,/^\*$/,/^x$/];return _0x443471['some'](_0x3a5449=>_0x3a5449['test'](_0x7c05f4));}function getInstalledVersion(_0x296759,_0x3aef61){const _0x29dbbe=a70_0x4feeb0;try{const _0x1d983b=a70_0x3a67c9[_0x29dbbe(0x18f)](_0x296759,'node_modules',_0x3aef61,'package.json');if(a70_0x4641a9[_0x29dbbe(0x18d)](_0x1d983b)){const _0x7d5db3=JSON[_0x29dbbe(0x17a)](a70_0x4641a9[_0x29dbbe(0x194)](_0x1d983b,_0x29dbbe(0x174)));return _0x7d5db3[_0x29dbbe(0x189)]||null;}}catch{}return null;}async function getSdkStableVersion(){const _0xc55045=a70_0x4feeb0;try{const _0x4d7220=await getCdnConfig();return _0x4d7220?.[_0xc55045(0x183)]?.[_0xc55045(0x178)]?.[_0xc55045(0x188)]||null;}catch{return null;}}function a70_0x2947(){const _0x2f0d1f=['node','16111140ZqbdoB','parse','228825LeLsMK','latest','minVersion','\x1b[0m','104rBhBjQ','2HcVNEM','utf8','dependencies','sdk','devDependencies','@lovrabet/sdk','293538tmprhH','\x1b[1m','stableVersion','version','5Dpkkas','1.2.0','3487155fVsAFT','existsSync','log','join','\x20\x20\x20升级命令:\x20npm\x20install\x20','\x1b[33m','\x20\x20\x20当前版本:\x20','packageName','readFileSync','coerce','360224pZfkgG','all','utf-8','914409nEJyZS','package.json','1685692RZUeea'];a70_0x2947=function(){return _0x2f0d1f;};return a70_0x2947();}async function getSdkPackageName(){const _0x4b10a4=a70_0x4feeb0;try{const _0xb4ba80=await getCdnConfig();return _0xb4ba80?.[_0x4b10a4(0x183)]?.[_0x4b10a4(0x178)]?.[_0x4b10a4(0x193)]||_0x4b10a4(0x185);}catch{return _0x4b10a4(0x185);}}export async function checkSdkVersion(_0x592e2d){const _0x3bff97=a70_0x4feeb0,_0x47feaa=a70_0x3a67c9[_0x3bff97(0x18f)](_0x592e2d,_0x3bff97(0x176)),[_0x7ecc4b,_0x25ce49]=await Promise[_0x3bff97(0x197)]([getSdkStableVersion(),getSdkPackageName()]),_0x533973=_0x7ecc4b||FALLBACK_MIN_SDK_VERSION;if(!a70_0x4641a9[_0x3bff97(0x18d)](_0x47feaa))return{'installed':![],'version':null,'needsUpgrade':![],'minVersion':_0x533973,'packageName':_0x25ce49,'stableVersion':_0x7ecc4b};try{const _0x242d75=JSON[_0x3bff97(0x17a)](a70_0x4641a9[_0x3bff97(0x194)](_0x47feaa,'utf8')),_0x3ba9cd=_0x242d75[_0x3bff97(0x182)]||{},_0x1538f1=_0x242d75[_0x3bff97(0x184)]||{},_0xf262c=_0x3ba9cd[_0x25ce49]||_0x1538f1[_0x25ce49];if(!_0xf262c)return{'installed':![],'version':null,'needsUpgrade':![],'minVersion':_0x533973,'packageName':_0x25ce49,'stableVersion':_0x7ecc4b};let _0x498224=getInstalledVersion(_0x592e2d,_0x25ce49);!_0x498224&&(_0x498224=_0xf262c);if(isNonNumericVersion(_0xf262c))return{'installed':!![],'version':_0x498224,'needsUpgrade':![],'minVersion':_0x533973,'packageName':_0x25ce49,'stableVersion':_0x7ecc4b};const _0x3e68e7=a70_0x477708['coerce'](_0x498224),_0x21720b=a70_0x477708[_0x3bff97(0x195)](_0x533973),_0x17e53c=_0x3e68e7&&_0x21720b?a70_0x477708['lt'](_0x3e68e7,_0x21720b):![];return{'installed':!![],'version':_0x498224,'needsUpgrade':_0x17e53c,'minVersion':_0x533973,'packageName':_0x25ce49,'stableVersion':_0x7ecc4b};}catch{return{'installed':![],'version':null,'needsUpgrade':![],'minVersion':_0x533973,'packageName':_0x25ce49,'stableVersion':_0x7ecc4b};}}export function checkSdkVersionSync(_0x579745){const _0x22543d=a70_0x4feeb0,_0x4cde33=a70_0x3a67c9[_0x22543d(0x18f)](_0x579745,_0x22543d(0x176)),_0x1e0b7e=_0x22543d(0x185);if(!a70_0x4641a9[_0x22543d(0x18d)](_0x4cde33))return{'installed':![],'version':null,'needsUpgrade':![],'minVersion':FALLBACK_MIN_SDK_VERSION,'packageName':_0x1e0b7e,'stableVersion':null};try{const _0x2bdc66=JSON['parse'](a70_0x4641a9[_0x22543d(0x194)](_0x4cde33,_0x22543d(0x181))),_0x9adaaf=_0x2bdc66[_0x22543d(0x182)]||{},_0x5229ed=_0x2bdc66[_0x22543d(0x184)]||{},_0x172214=_0x9adaaf[_0x1e0b7e]||_0x5229ed[_0x1e0b7e];if(!_0x172214)return{'installed':![],'version':null,'needsUpgrade':![],'minVersion':FALLBACK_MIN_SDK_VERSION,'packageName':_0x1e0b7e,'stableVersion':null};let _0xbd6de7=getInstalledVersion(_0x579745,_0x1e0b7e);!_0xbd6de7&&(_0xbd6de7=_0x172214);if(isNonNumericVersion(_0x172214))return{'installed':!![],'version':_0xbd6de7,'needsUpgrade':![],'minVersion':FALLBACK_MIN_SDK_VERSION,'packageName':_0x1e0b7e,'stableVersion':null};const _0x4de8ec=a70_0x477708[_0x22543d(0x195)](_0xbd6de7),_0x158561=_0x4de8ec?a70_0x477708['lt'](_0x4de8ec,FALLBACK_MIN_SDK_VERSION):![];return{'installed':!![],'version':_0xbd6de7,'needsUpgrade':_0x158561,'minVersion':FALLBACK_MIN_SDK_VERSION,'packageName':_0x1e0b7e,'stableVersion':null};}catch{return{'installed':![],'version':null,'needsUpgrade':![],'minVersion':FALLBACK_MIN_SDK_VERSION,'packageName':_0x1e0b7e,'stableVersion':null};}}export function printSdkUpgradeWarning(_0x4d4afc){const _0x57a982=a70_0x4feeb0;if(!_0x4d4afc['needsUpgrade'])return;const _0x4a40ee=_0x57a982(0x191),_0x13d27b=_0x57a982(0x17e),_0x3f061f=_0x57a982(0x187),_0x51f6e5=_0x4d4afc[_0x57a982(0x193)]||_0x57a982(0x185);console[_0x57a982(0x18e)](),console['log'](''+_0x4a40ee+_0x3f061f+'↪\x20SDK\x20版本更新'+_0x13d27b),console[_0x57a982(0x18e)](_0x4a40ee+_0x57a982(0x192)+_0x51f6e5+'@'+_0x4d4afc[_0x57a982(0x189)]+_0x13d27b),console[_0x57a982(0x18e)](_0x4a40ee+'\x20\x20\x20稳定版本:\x20'+(_0x4d4afc['stableVersion']||_0x4d4afc[_0x57a982(0x17d)])+_0x13d27b),console[_0x57a982(0x18e)](_0x4a40ee+_0x57a982(0x190)+_0x51f6e5+'@'+(_0x4d4afc['stableVersion']||_0x57a982(0x17c))+_0x13d27b),console[_0x57a982(0x18e)]();}
@@ -1 +1 @@
1
- (function(_0x4886d5,_0x36a237){const _0x3364a0=a70_0x3daf,_0x5cb9b2=_0x4886d5();while(!![]){try{const _0x25949c=parseInt(_0x3364a0(0x10a))/0x1+-parseInt(_0x3364a0(0x114))/0x2*(-parseInt(_0x3364a0(0xfe))/0x3)+parseInt(_0x3364a0(0x103))/0x4+parseInt(_0x3364a0(0x109))/0x5*(parseInt(_0x3364a0(0x111))/0x6)+-parseInt(_0x3364a0(0x112))/0x7+-parseInt(_0x3364a0(0x106))/0x8+parseInt(_0x3364a0(0x104))/0x9*(parseInt(_0x3364a0(0xfd))/0xa);if(_0x25949c===_0x36a237)break;else _0x5cb9b2['push'](_0x5cb9b2['shift']());}catch(_0x77d6be){_0x5cb9b2['push'](_0x5cb9b2['shift']());}}}(a70_0x2ab6,0x96378));import{readFileSync}from'node:fs';import{resolve,dirname}from'node:path';import{fileURLToPath}from'node:url';import a70_0x2ca533 from'semver';function a70_0x2ab6(){const _0x13f768=['1.0.0','../..','stableVersion','\x1b[0m','\x1b[1m','needsUpgrade','4170CsHhZb','6834968mybzWt','\x20\x20\x20升级命令:\x20npm\x20install\x20-g\x20@lovrabet/cli@latest','63790eNCrXF','coerce','version','200NnqbNw','18asPRyw','\x20\x20\x20稳定版本:\x20','currentVersion','\x20\x20\x20当前\x20CLI\x20版本:\x20','log','1479288zuuuqx','465471YTjiIl','test','7345784ltriSD','parse','some','3015bXWYZY','495278MTaEpE'];a70_0x2ab6=function(){return _0x13f768;};return a70_0x2ab6();}import{getCdnConfig}from'./cdn-config.js';function getCurrentCliVersion(){const _0x305c0f=a70_0x3daf;try{const _0x1c68c6=fileURLToPath(import.meta.url),_0x5a5cdd=resolve(dirname(_0x1c68c6),_0x305c0f(0x10c)),_0x1bd030=resolve(_0x5a5cdd,'package.json'),_0x48cb62=JSON[_0x305c0f(0x107)](readFileSync(_0x1bd030,'utf-8'));return _0x48cb62[_0x305c0f(0xfc)]||'1.0.0';}catch{return _0x305c0f(0x10b);}}function a70_0x3daf(_0x1d42b1,_0x56d9c0){_0x1d42b1=_0x1d42b1-0xfb;const _0x2ab6aa=a70_0x2ab6();let _0x3daf95=_0x2ab6aa[_0x1d42b1];return _0x3daf95;}function isNonNumericVersion(_0x357260){const _0x5e6825=a70_0x3daf,_0x5ba976=[/^latest$/i,/^beta$/i,/^alpha$/i,/^canary$/i,/^\^/,/^~/,/^>/,/^</,/^\*/,/^x$/];return _0x5ba976[_0x5e6825(0x108)](_0x37bcd1=>_0x37bcd1[_0x5e6825(0x105)](_0x357260));}export async function checkCliVersion(){const _0x3dd135=a70_0x3daf,_0x367dce=getCurrentCliVersion(),_0x19d130=await getCdnConfig(),_0x52a85a=_0x19d130?.['cli']?.['stableVersion']||null;let _0x59458b=![];if(_0x52a85a)try{const _0x26553d=a70_0x2ca533[_0x3dd135(0xfb)](_0x367dce),_0x2399e6=a70_0x2ca533['coerce'](_0x52a85a);_0x26553d&&_0x2399e6&&(_0x59458b=a70_0x2ca533['lt'](_0x26553d,_0x2399e6));}catch{_0x59458b=![];}return{'currentVersion':_0x367dce,'stableVersion':_0x52a85a,'needsUpgrade':_0x59458b,'isPreRelease':![]};}export function printCliUpgradeWarning(_0x5512a1){const _0xf93088=a70_0x3daf;if(!_0x5512a1[_0xf93088(0x110)])return;const _0x39c334='\x1b[33m',_0x522505=_0xf93088(0x10e),_0x2044e5=_0xf93088(0x10f);console[_0xf93088(0x102)](),console[_0xf93088(0x102)](''+_0x39c334+_0x2044e5+'↪\x20新版本可用'+_0x522505),console[_0xf93088(0x102)](_0x39c334+_0xf93088(0x101)+_0x5512a1[_0xf93088(0x100)]+_0x522505),console[_0xf93088(0x102)](_0x39c334+_0xf93088(0xff)+_0x5512a1[_0xf93088(0x10d)]+_0x522505),console[_0xf93088(0x102)](_0x39c334+_0xf93088(0x113)+_0x522505),console['log']();}
1
+ (function(_0x11b079,_0x4c16f9){const _0x3d2073=a71_0xb7a9,_0x21dd61=_0x11b079();while(!![]){try{const _0x8fb73d=-parseInt(_0x3d2073(0xa8))/0x1*(-parseInt(_0x3d2073(0xb6))/0x2)+-parseInt(_0x3d2073(0xa3))/0x3*(parseInt(_0x3d2073(0xaf))/0x4)+-parseInt(_0x3d2073(0x9e))/0x5*(parseInt(_0x3d2073(0xb7))/0x6)+-parseInt(_0x3d2073(0xac))/0x7+parseInt(_0x3d2073(0x9d))/0x8*(parseInt(_0x3d2073(0xaa))/0x9)+parseInt(_0x3d2073(0xa9))/0xa+parseInt(_0x3d2073(0xad))/0xb*(parseInt(_0x3d2073(0xa6))/0xc);if(_0x8fb73d===_0x4c16f9)break;else _0x21dd61['push'](_0x21dd61['shift']());}catch(_0x353322){_0x21dd61['push'](_0x21dd61['shift']());}}}(a71_0x2f94,0x7be13));import{readFileSync}from'node:fs';import{resolve,dirname}from'node:path';import{fileURLToPath}from'node:url';function a71_0xb7a9(_0x3f83a5,_0x5f06c9){_0x3f83a5=_0x3f83a5-0x9d;const _0x2f9461=a71_0x2f94();let _0xb7a99e=_0x2f9461[_0x3f83a5];return _0xb7a99e;}import a71_0x262756 from'semver';function a71_0x2f94(){const _0x1d897b=['test','3440bZxPWy','6sbwdFB','128PwWfgY','4290170VkRquC','currentVersion','package.json','stableVersion','parse','9HdXoay','\x1b[1m','needsUpgrade','141708sfSene','\x20\x20\x20升级命令:\x20npm\x20install\x20-g\x20@lovrabet/cli@latest','22GbRwoh','2398510KPrFmY','256554vAxZRq','\x20\x20\x20稳定版本:\x20','1295301ABKEgd','913peIjnm','↪\x20新版本可用','217928vfHQUT','log','\x1b[0m','\x20\x20\x20当前\x20CLI\x20版本:\x20','../..','coerce'];a71_0x2f94=function(){return _0x1d897b;};return a71_0x2f94();}import{getCdnConfig}from'./cdn-config.js';function getCurrentCliVersion(){const _0x26572a=a71_0xb7a9;try{const _0x1e9942=fileURLToPath(import.meta.url),_0x241a54=resolve(dirname(_0x1e9942),_0x26572a(0xb3)),_0x8ae4e0=resolve(_0x241a54,_0x26572a(0xa0)),_0x368fbe=JSON[_0x26572a(0xa2)](readFileSync(_0x8ae4e0,'utf-8'));return _0x368fbe['version']||'1.0.0';}catch{return'1.0.0';}}function isNonNumericVersion(_0x3140ac){const _0x13184e=a71_0xb7a9,_0x5edca9=[/^latest$/i,/^beta$/i,/^alpha$/i,/^canary$/i,/^\^/,/^~/,/^>/,/^</,/^\*/,/^x$/];return _0x5edca9['some'](_0x2e5623=>_0x2e5623[_0x13184e(0xb5)](_0x3140ac));}export async function checkCliVersion(){const _0x4e9ba2=a71_0xb7a9,_0x4f167=getCurrentCliVersion(),_0x1cad01=await getCdnConfig(),_0x527876=_0x1cad01?.['cli']?.[_0x4e9ba2(0xa1)]||null;let _0x2a19d2=![];if(_0x527876)try{const _0x3f419b=a71_0x262756[_0x4e9ba2(0xb4)](_0x4f167),_0x363f24=a71_0x262756['coerce'](_0x527876);_0x3f419b&&_0x363f24&&(_0x2a19d2=a71_0x262756['lt'](_0x3f419b,_0x363f24));}catch{_0x2a19d2=![];}return{'currentVersion':_0x4f167,'stableVersion':_0x527876,'needsUpgrade':_0x2a19d2,'isPreRelease':![]};}export function printCliUpgradeWarning(_0x44aa8f){const _0x5c2ba8=a71_0xb7a9;if(!_0x44aa8f[_0x5c2ba8(0xa5)])return;const _0xd9f010='\x1b[33m',_0x37411e=_0x5c2ba8(0xb1),_0x18c4d6=_0x5c2ba8(0xa4);console[_0x5c2ba8(0xb0)](),console[_0x5c2ba8(0xb0)](''+_0xd9f010+_0x18c4d6+_0x5c2ba8(0xae)+_0x37411e),console['log'](_0xd9f010+_0x5c2ba8(0xb2)+_0x44aa8f[_0x5c2ba8(0x9f)]+_0x37411e),console[_0x5c2ba8(0xb0)](_0xd9f010+_0x5c2ba8(0xab)+_0x44aa8f[_0x5c2ba8(0xa1)]+_0x37411e),console[_0x5c2ba8(0xb0)](_0xd9f010+_0x5c2ba8(0xa7)+_0x37411e),console[_0x5c2ba8(0xb0)]();}
@@ -1 +1 @@
1
- const a71_0x318d49=a71_0x502e;(function(_0x2ed3ed,_0x349164){const _0xe9113c=a71_0x502e,_0x3db437=_0x2ed3ed();while(!![]){try{const _0x438f50=-parseInt(_0xe9113c(0x161))/0x1+-parseInt(_0xe9113c(0x15e))/0x2*(-parseInt(_0xe9113c(0x166))/0x3)+parseInt(_0xe9113c(0x168))/0x4*(-parseInt(_0xe9113c(0x158))/0x5)+-parseInt(_0xe9113c(0x167))/0x6+parseInt(_0xe9113c(0x169))/0x7+parseInt(_0xe9113c(0x16b))/0x8*(parseInt(_0xe9113c(0x15a))/0x9)+-parseInt(_0xe9113c(0x16a))/0xa*(-parseInt(_0xe9113c(0x15d))/0xb);if(_0x438f50===_0x349164)break;else _0x3db437['push'](_0x3db437['shift']());}catch(_0xec6ae0){_0x3db437['push'](_0x3db437['shift']());}}}(a71_0x154c,0x928d3));import{existsSync,readFileSync}from'node:fs';import{resolve}from'node:path';import{homedir}from'node:os';import{initEnv}from'../constant/env.js';function a71_0x502e(_0x506a43,_0x3b6187){_0x506a43=_0x506a43-0x156;const _0x154c74=a71_0x154c();let _0x502e81=_0x154c74[_0x506a43];return _0x502e81;}export const projectConfigPath=resolve(process[a71_0x318d49(0x160)](),a71_0x318d49(0x15b));export const globalConfigPath=resolve(homedir(),a71_0x318d49(0x15b));export function readConfig(_0x4cbae3){const _0x57b9a0=a71_0x318d49;let _0x4c4ce1={};try{if(existsSync(globalConfigPath)){const _0x1bfef4=readFileSync(globalConfigPath,{'encoding':_0x57b9a0(0x164)});_0x1bfef4&&(_0x4c4ce1=JSON[_0x57b9a0(0x165)](_0x1bfef4));}}catch(_0x111fe7){}try{const _0x4de44f=_0x4cbae3?resolve(_0x4cbae3,_0x57b9a0(0x15b)):projectConfigPath;if(existsSync(_0x4de44f)){const _0x1bcef5=readFileSync(_0x4de44f,{'encoding':_0x57b9a0(0x164)});if(_0x1bcef5){const _0x9b3c93=JSON[_0x57b9a0(0x165)](_0x1bcef5);_0x4c4ce1={..._0x4c4ce1,..._0x9b3c93};}}}catch(_0x2d5b47){}return _0x4c4ce1['env']&&typeof _0x4c4ce1[_0x57b9a0(0x162)]===_0x57b9a0(0x159)&&initEnv(_0x4c4ce1[_0x57b9a0(0x162)]),_0x4c4ce1;}export function getConfigAppCode(){const _0x181b20=a71_0x318d49;let _0x43b9f5={},_0x1beb78={};try{if(existsSync(globalConfigPath)){const _0x59fcd9=readFileSync(globalConfigPath,{'encoding':'utf8'});_0x59fcd9&&(_0x1beb78=JSON[_0x181b20(0x165)](_0x59fcd9));}}catch(_0x42e32f){}try{if(existsSync(projectConfigPath)){const _0x2fd42b=readFileSync(projectConfigPath,{'encoding':'utf8'});_0x2fd42b&&(_0x43b9f5=JSON[_0x181b20(0x165)](_0x2fd42b));}}catch(_0x15aac7){}let _0x2b6785;if(_0x181b20(0x15c)in _0x43b9f5)_0x2b6785=_0x43b9f5[_0x181b20(0x15c)];else{if(_0x181b20(0x156)in _0x43b9f5)_0x2b6785=_0x43b9f5[_0x181b20(0x156)];else{if(_0x181b20(0x15c)in _0x1beb78)_0x2b6785=_0x1beb78[_0x181b20(0x15c)];else'app'in _0x1beb78&&(_0x2b6785=_0x1beb78[_0x181b20(0x156)]);}}if(typeof _0x2b6785!=='string'||_0x2b6785[_0x181b20(0x15f)]()==='')return undefined;return _0x2b6785;}export function isInProject(){return existsSync(projectConfigPath);}export function getTemplateBaseUrl(){const _0x29713b=a71_0x318d49,_0x9b5642=readConfig();if(_0x9b5642[_0x29713b(0x163)]&&typeof _0x9b5642[_0x29713b(0x163)]===_0x29713b(0x159))return _0x9b5642[_0x29713b(0x163)][_0x29713b(0x157)](/\/$/,'');return'https://g.lovrabet.com/dist/lovrabet-cli';}function a71_0x154c(){const _0x543fe6=['5UrHfNs','string','27rQXffr','.lovrabetrc','appcode','44FwzwzT','83882pNuobH','trim','cwd','1006084QYRmlS','env','template_base_url','utf8','parse','3uYObHg','4351782xqOlsS','2548648fHXCxC','2960020zqKvsm','3465610DdQMSl','2980728qbLdWx','app','replace'];a71_0x154c=function(){return _0x543fe6;};return a71_0x154c();}
1
+ const a72_0x58dab2=a72_0x19e8;(function(_0x357d0d,_0xb3c915){const _0x33101f=a72_0x19e8,_0x136c01=_0x357d0d();while(!![]){try{const _0x14f843=-parseInt(_0x33101f(0xf4))/0x1*(-parseInt(_0x33101f(0xe2))/0x2)+parseInt(_0x33101f(0xe3))/0x3*(parseInt(_0x33101f(0xef))/0x4)+parseInt(_0x33101f(0xf6))/0x5+parseInt(_0x33101f(0xf7))/0x6*(parseInt(_0x33101f(0xf5))/0x7)+-parseInt(_0x33101f(0xe8))/0x8*(-parseInt(_0x33101f(0xec))/0x9)+-parseInt(_0x33101f(0xf0))/0xa*(-parseInt(_0x33101f(0xe1))/0xb)+-parseInt(_0x33101f(0xe4))/0xc;if(_0x14f843===_0xb3c915)break;else _0x136c01['push'](_0x136c01['shift']());}catch(_0x3363e4){_0x136c01['push'](_0x136c01['shift']());}}}(a72_0x1a8e,0x19337));import{existsSync,readFileSync}from'node:fs';import{resolve}from'node:path';import{homedir}from'node:os';import{initEnv}from'../constant/env.js';export const projectConfigPath=resolve(process[a72_0x58dab2(0xf2)](),a72_0x58dab2(0xed));export const globalConfigPath=resolve(homedir(),a72_0x58dab2(0xed));export function readConfig(_0x28902d){const _0x39c8bd=a72_0x58dab2;let _0x3fde63={};try{if(existsSync(globalConfigPath)){const _0x53c42a=readFileSync(globalConfigPath,{'encoding':_0x39c8bd(0xeb)});_0x53c42a&&(_0x3fde63=JSON['parse'](_0x53c42a));}}catch(_0x201e62){}try{const _0xc3e08d=_0x28902d?resolve(_0x28902d,_0x39c8bd(0xed)):projectConfigPath;if(existsSync(_0xc3e08d)){const _0x1f3d53=readFileSync(_0xc3e08d,{'encoding':'utf8'});if(_0x1f3d53){const _0x555ce6=JSON['parse'](_0x1f3d53);_0x3fde63={..._0x3fde63,..._0x555ce6};}}}catch(_0xc9cb41){}return _0x3fde63[_0x39c8bd(0xe9)]&&typeof _0x3fde63[_0x39c8bd(0xe9)]===_0x39c8bd(0xe5)&&initEnv(_0x3fde63['env']),_0x3fde63;}export function getConfigAppCode(){const _0x503d80=a72_0x58dab2;let _0x33634b={},_0x42c30f={};try{if(existsSync(globalConfigPath)){const _0x36e9be=readFileSync(globalConfigPath,{'encoding':'utf8'});_0x36e9be&&(_0x42c30f=JSON[_0x503d80(0xf1)](_0x36e9be));}}catch(_0x1f6164){}try{if(existsSync(projectConfigPath)){const _0x528a8f=readFileSync(projectConfigPath,{'encoding':_0x503d80(0xeb)});_0x528a8f&&(_0x33634b=JSON[_0x503d80(0xf1)](_0x528a8f));}}catch(_0x271a8b){}let _0x31b001;if('appcode'in _0x33634b)_0x31b001=_0x33634b[_0x503d80(0xee)];else{if(_0x503d80(0xea)in _0x33634b)_0x31b001=_0x33634b[_0x503d80(0xea)];else{if(_0x503d80(0xee)in _0x42c30f)_0x31b001=_0x42c30f[_0x503d80(0xee)];else _0x503d80(0xea)in _0x42c30f&&(_0x31b001=_0x42c30f[_0x503d80(0xea)]);}}if(typeof _0x31b001!==_0x503d80(0xe5)||_0x31b001[_0x503d80(0xe6)]()==='')return undefined;return _0x31b001;}export function isInProject(){return existsSync(projectConfigPath);}function a72_0x19e8(_0x420c12,_0x1a4b75){_0x420c12=_0x420c12-0xe1;const _0x1a8e91=a72_0x1a8e();let _0x19e83c=_0x1a8e91[_0x420c12];return _0x19e83c;}export function getTemplateBaseUrl(){const _0x192503=a72_0x58dab2,_0x25d5a7=readConfig();if(_0x25d5a7['template_base_url']&&typeof _0x25d5a7[_0x192503(0xe7)]===_0x192503(0xe5))return _0x25d5a7[_0x192503(0xe7)][_0x192503(0xf3)](/\/$/,'');return _0x192503(0xf8);}function a72_0x1a8e(){const _0x596865=['1868970qjNlfr','parse','cwd','replace','2fpTLGf','632870lDbsnb','299705VmAneq','12FgMGVz','https://g.lovrabet.com/dist/lovrabet-cli','11vdBibD','171714zbszwe','15QKBTnC','10139664KHrIhX','string','trim','template_base_url','136GtzBZt','env','app','utf8','108036uFGysG','.lovrabetrc','appcode','115804MzFmrT'];a72_0x1a8e=function(){return _0x596865;};return a72_0x1a8e();}
@@ -1 +1 @@
1
- (function(_0x35ea54,_0x3e2aa9){const _0x27287d=a72_0x472f,_0x27cab6=_0x35ea54();while(!![]){try{const _0x16bf77=parseInt(_0x27287d(0xb2))/0x1+parseInt(_0x27287d(0xbe))/0x2*(parseInt(_0x27287d(0xc1))/0x3)+-parseInt(_0x27287d(0xbc))/0x4+-parseInt(_0x27287d(0xb5))/0x5*(parseInt(_0x27287d(0xba))/0x6)+-parseInt(_0x27287d(0xc0))/0x7*(-parseInt(_0x27287d(0xb9))/0x8)+-parseInt(_0x27287d(0xb4))/0x9+parseInt(_0x27287d(0xbd))/0xa*(parseInt(_0x27287d(0xb6))/0xb);if(_0x16bf77===_0x3e2aa9)break;else _0x27cab6['push'](_0x27cab6['shift']());}catch(_0x393659){_0x27cab6['push'](_0x27cab6['shift']());}}}(a72_0x5749,0xcb514));import a72_0x43249b from'node:path';function a72_0x472f(_0x108e17,_0x20cd9c){_0x108e17=_0x108e17-0xb2;const _0x57496f=a72_0x5749();let _0x472fff=_0x57496f[_0x108e17];return _0x472fff;}function a72_0x5749(){const _0x3e9758=['mkdirSync','14590341pJYYwT','24135WnQjlt','95513hCkrCM','copyFileSync','error','17336aDUxLA','1848YCRTcu','isDirectory','4810196WSpDsi','2540bpNQjn','2sHBfjw','name','833bRNOgY','3797658dpdHGT','join','1413961pWDPLL'];a72_0x5749=function(){return _0x3e9758;};return a72_0x5749();}import a72_0x41f785 from'node:fs';export async function copyDirectory(_0x48f297,_0xfecc93){const _0x3291ab=a72_0x472f;try{const _0x185bd7=a72_0x41f785['readdirSync'](_0x48f297,{'withFileTypes':!![]});a72_0x41f785[_0x3291ab(0xb3)](_0xfecc93,{'recursive':!![]});for(const _0x5d4285 of _0x185bd7){const _0x5a3e14=a72_0x43249b[_0x3291ab(0xc2)](_0x48f297,_0x5d4285[_0x3291ab(0xbf)]),_0x57db2b=a72_0x43249b['join'](_0xfecc93,_0x5d4285['name']);_0x5d4285[_0x3291ab(0xbb)]()?await copyDirectory(_0x5a3e14,_0x57db2b):a72_0x41f785[_0x3291ab(0xb7)](_0x5a3e14,_0x57db2b);}}catch(_0x284997){console[_0x3291ab(0xb8)]('复制目录时出错:',_0x284997);}}
1
+ (function(_0x392b5a,_0x5cc1b8){const _0x32d525=a73_0x563d,_0x27f4bb=_0x392b5a();while(!![]){try{const _0x165624=parseInt(_0x32d525(0x16a))/0x1*(-parseInt(_0x32d525(0x169))/0x2)+parseInt(_0x32d525(0x16f))/0x3+-parseInt(_0x32d525(0x173))/0x4+parseInt(_0x32d525(0x172))/0x5*(-parseInt(_0x32d525(0x165))/0x6)+-parseInt(_0x32d525(0x174))/0x7*(-parseInt(_0x32d525(0x16d))/0x8)+-parseInt(_0x32d525(0x16c))/0x9*(parseInt(_0x32d525(0x168))/0xa)+parseInt(_0x32d525(0x171))/0xb;if(_0x165624===_0x5cc1b8)break;else _0x27f4bb['push'](_0x27f4bb['shift']());}catch(_0x3c70a5){_0x27f4bb['push'](_0x27f4bb['shift']());}}}(a73_0x1004,0xaec4e));function a73_0x563d(_0x43224a,_0x31a757){_0x43224a=_0x43224a-0x165;const _0x100481=a73_0x1004();let _0x563dc0=_0x100481[_0x43224a];return _0x563dc0;}import a73_0xc60770 from'node:path';import a73_0xe27843 from'node:fs';function a73_0x1004(){const _0x2cc39b=['3540702FLnHnL','error','6285543VrAxvZ','25595NJYluG','1465844TCLaET','210qqtpbo','join','1254LHsdxv','isDirectory','readdirSync','3252660TvODYX','546yHLVVD','735uXGrTN','mkdirSync','9IjETmg','247056pEMwos','copyFileSync'];a73_0x1004=function(){return _0x2cc39b;};return a73_0x1004();}export async function copyDirectory(_0x46390d,_0x344371){const _0xfa747d=a73_0x563d;try{const _0x79bc69=a73_0xe27843[_0xfa747d(0x167)](_0x46390d,{'withFileTypes':!![]});a73_0xe27843[_0xfa747d(0x16b)](_0x344371,{'recursive':!![]});for(const _0x4dbee0 of _0x79bc69){const _0x1672e5=a73_0xc60770[_0xfa747d(0x175)](_0x46390d,_0x4dbee0['name']),_0x475746=a73_0xc60770[_0xfa747d(0x175)](_0x344371,_0x4dbee0['name']);_0x4dbee0[_0xfa747d(0x166)]()?await copyDirectory(_0x1672e5,_0x475746):a73_0xe27843[_0xfa747d(0x16e)](_0x1672e5,_0x475746);}}catch(_0x3aaa82){console[_0xfa747d(0x170)]('复制目录时出错:',_0x3aaa82);}}
@@ -1 +1 @@
1
- (function(_0x583e31,_0x4e1467){const _0x1a107b=a73_0x29cb,_0x29f2e2=_0x583e31();while(!![]){try{const _0x5680da=parseInt(_0x1a107b(0x101))/0x1*(parseInt(_0x1a107b(0x109))/0x2)+parseInt(_0x1a107b(0x108))/0x3*(-parseInt(_0x1a107b(0x10a))/0x4)+parseInt(_0x1a107b(0x104))/0x5*(parseInt(_0x1a107b(0x10b))/0x6)+-parseInt(_0x1a107b(0x10c))/0x7+-parseInt(_0x1a107b(0x106))/0x8*(parseInt(_0x1a107b(0x10d))/0x9)+-parseInt(_0x1a107b(0x102))/0xa*(parseInt(_0x1a107b(0x103))/0xb)+-parseInt(_0x1a107b(0x107))/0xc*(-parseInt(_0x1a107b(0x105))/0xd);if(_0x5680da===_0x4e1467)break;else _0x29f2e2['push'](_0x29f2e2['shift']());}catch(_0x13ecf6){_0x29f2e2['push'](_0x29f2e2['shift']());}}}(a73_0x523c,0x26519));function a73_0x29cb(_0xb4f151,_0x311ecb){_0xb4f151=_0xb4f151-0x101;const _0x523c51=a73_0x523c();let _0x29cbbf=_0x523c51[_0xb4f151];return _0x29cbbf;}import{existsSync,mkdirSync,copyFileSync,readdirSync,statSync}from'node:fs';import{join}from'node:path';export async function copyDir(_0x5ad369,_0x3646a3){const _0x419b45=statSync(_0x5ad369);if(_0x419b45['isDirectory']()){!existsSync(_0x3646a3)&&mkdirSync(_0x3646a3,{'recursive':!![]});const _0x6fa718=readdirSync(_0x5ad369);for(const _0x293cfd of _0x6fa718){await copyDir(join(_0x5ad369,_0x293cfd),join(_0x3646a3,_0x293cfd));}}else copyFileSync(_0x5ad369,_0x3646a3);}function a73_0x523c(){const _0xc19599=['168047ukgEzH','15hUVtqe','11453EMpnnl','1936eIEbCw','6252BeHXjp','60laoDZm','2cksyKX','19408qLMtVA','153822rZJZrD','401394yWLJMh','10611gzGzOl','182957OgiEHM','80udrgGh'];a73_0x523c=function(){return _0xc19599;};return a73_0x523c();}export function ensureDir(_0x48c070){!existsSync(_0x48c070)&&mkdirSync(_0x48c070,{'recursive':!![]});}export function pathExists(_0x46245a){return existsSync(_0x46245a);}
1
+ function a74_0xabe7(_0x15f01b,_0x527619){_0x15f01b=_0x15f01b-0xbb;const _0x15ea7c=a74_0x15ea();let _0xabe777=_0x15ea7c[_0x15f01b];return _0xabe777;}(function(_0x3b86f9,_0x548ae0){const _0xa53202=a74_0xabe7,_0xb95a98=_0x3b86f9();while(!![]){try{const _0x537ea8=-parseInt(_0xa53202(0xbd))/0x1*(parseInt(_0xa53202(0xc2))/0x2)+-parseInt(_0xa53202(0xc5))/0x3*(-parseInt(_0xa53202(0xc1))/0x4)+-parseInt(_0xa53202(0xc6))/0x5*(parseInt(_0xa53202(0xc0))/0x6)+-parseInt(_0xa53202(0xbe))/0x7+-parseInt(_0xa53202(0xc4))/0x8+parseInt(_0xa53202(0xbb))/0x9*(-parseInt(_0xa53202(0xbc))/0xa)+parseInt(_0xa53202(0xc3))/0xb;if(_0x537ea8===_0x548ae0)break;else _0xb95a98['push'](_0xb95a98['shift']());}catch(_0x3fa428){_0xb95a98['push'](_0xb95a98['shift']());}}}(a74_0x15ea,0x91fda));import{existsSync,mkdirSync,copyFileSync,readdirSync,statSync}from'node:fs';import{join}from'node:path';function a74_0x15ea(){const _0x2530f5=['3608Cawnij','716849SgONYY','isDirectory','12UISouz','9748dASLmz','566DbKdEx','35138048sKtXLv','225496OoLtGB','102GjtKCs','1436895kCGVWf','4287744Vqajyw','20GgpHnb'];a74_0x15ea=function(){return _0x2530f5;};return a74_0x15ea();}export async function copyDir(_0x485efd,_0x27874e){const _0x1ff844=a74_0xabe7,_0x24378c=statSync(_0x485efd);if(_0x24378c[_0x1ff844(0xbf)]()){!existsSync(_0x27874e)&&mkdirSync(_0x27874e,{'recursive':!![]});const _0x13d3f1=readdirSync(_0x485efd);for(const _0xa046f4 of _0x13d3f1){await copyDir(join(_0x485efd,_0xa046f4),join(_0x27874e,_0xa046f4));}}else copyFileSync(_0x485efd,_0x27874e);}export function ensureDir(_0xbe86a3){!existsSync(_0xbe86a3)&&mkdirSync(_0xbe86a3,{'recursive':!![]});}export function pathExists(_0x31ef03){return existsSync(_0x31ef03);}
@@ -1 +1 @@
1
- const a74_0x1ecd8d=a74_0x4c97;(function(_0x117845,_0x4b5ce3){const _0x8e0245=a74_0x4c97,_0x5ca476=_0x117845();while(!![]){try{const _0x1d08e7=parseInt(_0x8e0245(0x158))/0x1+-parseInt(_0x8e0245(0x156))/0x2*(-parseInt(_0x8e0245(0x148))/0x3)+-parseInt(_0x8e0245(0x150))/0x4*(-parseInt(_0x8e0245(0x155))/0x5)+-parseInt(_0x8e0245(0x153))/0x6*(-parseInt(_0x8e0245(0x142))/0x7)+-parseInt(_0x8e0245(0x145))/0x8*(parseInt(_0x8e0245(0x147))/0x9)+parseInt(_0x8e0245(0x15c))/0xa*(parseInt(_0x8e0245(0x14f))/0xb)+parseInt(_0x8e0245(0x14c))/0xc*(-parseInt(_0x8e0245(0x14b))/0xd);if(_0x1d08e7===_0x4b5ce3)break;else _0x5ca476['push'](_0x5ca476['shift']());}catch(_0x52e80f){_0x5ca476['push'](_0x5ca476['shift']());}}}(a74_0x28e8,0x7167e));import{mkdirSync,writeFileSync}from'node:fs';import{dirname,join}from'node:path';import{getTemplateBaseUrl}from'./config.js';function getGuidesCdnUrl(){const _0x2d911f=a74_0x4c97,_0x261201=getTemplateBaseUrl();return _0x261201+_0x2d911f(0x140);}const CACHE_DIR=join(process['env'][a74_0x1ecd8d(0x159)]||process[a74_0x1ecd8d(0x152)][a74_0x1ecd8d(0x160)]||'',a74_0x1ecd8d(0x15f),'cache');export async function fetchGuidesFromCDN(){const _0x382ad6=a74_0x1ecd8d,_0x53170c=getGuidesCdnUrl(),_0x5085ab=await fetch(_0x53170c,{'headers':{'Accept':_0x382ad6(0x151)}});if(!_0x5085ab['ok'])throw new Error(_0x382ad6(0x15b)+_0x5085ab[_0x382ad6(0x157)]+'\x20'+_0x5085ab['statusText']);const _0x586b6a=await _0x5085ab[_0x382ad6(0x15e)]();if(!_0x586b6a[_0x382ad6(0x141)]||typeof _0x586b6a[_0x382ad6(0x141)]!=='object')throw new Error(_0x382ad6(0x163));return _0x586b6a;}export function writeGuidesToProject(_0x1c45c0,_0x121eb0,_0x9fc76a='.lovrabet/skill/.shared/guides'){const _0x590eb0=a74_0x1ecd8d,_0x1199a9=join(_0x121eb0,_0x9fc76a);for(const [_0x17b85b,_0x1249d1]of Object[_0x590eb0(0x14d)](_0x1c45c0[_0x590eb0(0x141)])){const _0x2d6b11=join(_0x1199a9,_0x17b85b);mkdirSync(_0x2d6b11,{'recursive':!![]});let _0x3d4dad=_0x1249d1['content'];_0x1249d1[_0x590eb0(0x143)]&&(_0x3d4dad=appendUpdateTime(_0x3d4dad,_0x1249d1['lastUpdated'])),writeFileSync(join(_0x2d6b11,'guide.md'),_0x3d4dad,_0x590eb0(0x146));}}function a74_0x4c97(_0x58a076,_0x1ed88a){_0x58a076=_0x58a076-0x140;const _0x28e8da=a74_0x28e8();let _0x4c9766=_0x28e8da[_0x58a076];return _0x4c9766;}export function appendUpdateTime(_0x5792d1,_0x106637){const _0x3e0d87=a74_0x1ecd8d;return _0x5792d1=_0x5792d1['replace'](/\n*>更新时间:.*$/m,''),_0x5792d1[_0x3e0d87(0x162)]()+('\x0a\x0a>更新时间:'+_0x106637);}export function getSkillTemplate(_0x3bd6a3){const _0x4d312e=a74_0x1ecd8d;return _0x3bd6a3['skillTemplate']?.[_0x4d312e(0x144)]||'';}function a74_0x28e8(){const _0x265efa=['map','143XyfXvD','2613204VsbmDV','entries','length','11ZajZIP','1377508rAJNCf','application/json','env','353244LYElWc','skillTemplate','10ZGEEFO','4PdFerF','status','544794YsoCVk','HOME','replace','CDN\x20请求失败:\x20','6374740fxahKB','title','json','.lovrabet','USERPROFILE','path','trimEnd','CDN\x20返回数据格式错误','/skills/guides.json','guides','105xnJrll','lastUpdated','content','8JtjbHE','utf-8','6682167LAXFyF','1272417KpYiXc','keys'];a74_0x28e8=function(){return _0x265efa;};return a74_0x28e8();}export function writeSkillFile(_0x4859fb,_0x28fee5,_0x5f2b09){const _0x4aebf4=a74_0x1ecd8d,_0x4768dd=getSkillTemplate(_0x4859fb);if(!_0x4768dd)throw new Error('CDN\x20数据中缺少\x20skillTemplate');const _0x4bba5a=dirname(_0x28fee5);mkdirSync(_0x4bba5a,{'recursive':!![]});let _0xc3e14e=_0x4768dd[_0x4aebf4(0x15a)](/\{\{IDE_NAME\}\}/g,_0x5f2b09);_0x4859fb[_0x4aebf4(0x154)][_0x4aebf4(0x143)]&&(_0xc3e14e=appendUpdateTime(_0xc3e14e,_0x4859fb[_0x4aebf4(0x154)][_0x4aebf4(0x143)])),writeFileSync(_0x28fee5,_0xc3e14e,_0x4aebf4(0x146));}export async function installGuides(_0x2dcb13){const _0x4e5b0d=a74_0x1ecd8d,_0x130ecc=await fetchGuidesFromCDN();return writeGuidesToProject(_0x130ecc,_0x2dcb13),Object[_0x4e5b0d(0x149)](_0x130ecc[_0x4e5b0d(0x141)])[_0x4e5b0d(0x14e)];}export function getGuidesSummary(_0x5dab1b){const _0x1e6260=a74_0x1ecd8d;return Object[_0x1e6260(0x14d)](_0x5dab1b['guides'])[_0x1e6260(0x14a)](([_0x2d08ca,_0x46b877])=>({'key':_0x2d08ca,'title':_0x46b877[_0x1e6260(0x15d)],'path':_0x46b877[_0x1e6260(0x161)]}));}
1
+ const a75_0x402464=a75_0x11fe;function a75_0x11fe(_0x26df44,_0x4efdd0){_0x26df44=_0x26df44-0x1f0;const _0x24b929=a75_0x24b9();let _0x11fe64=_0x24b929[_0x26df44];return _0x11fe64;}(function(_0x2e9f33,_0xc2c388){const _0x56dc93=a75_0x11fe,_0x5da77b=_0x2e9f33();while(!![]){try{const _0x444a8a=-parseInt(_0x56dc93(0x1f0))/0x1+parseInt(_0x56dc93(0x203))/0x2*(parseInt(_0x56dc93(0x1fd))/0x3)+-parseInt(_0x56dc93(0x216))/0x4+parseInt(_0x56dc93(0x1f1))/0x5*(parseInt(_0x56dc93(0x1ff))/0x6)+parseInt(_0x56dc93(0x21f))/0x7+-parseInt(_0x56dc93(0x21d))/0x8*(-parseInt(_0x56dc93(0x207))/0x9)+-parseInt(_0x56dc93(0x200))/0xa;if(_0x444a8a===_0xc2c388)break;else _0x5da77b['push'](_0x5da77b['shift']());}catch(_0x25e8f8){_0x5da77b['push'](_0x5da77b['shift']());}}}(a75_0x24b9,0xee112));import{mkdirSync,writeFileSync}from'node:fs';import{dirname,join}from'node:path';import{getTemplateBaseUrl}from'./config.js';function getGuidesCdnUrl(){const _0x16469c=getTemplateBaseUrl();return _0x16469c+'/skills/guides.json';}function getGuidesExtendCdnUrl(){const _0x402d15=a75_0x11fe,_0x502d96=getTemplateBaseUrl();return _0x502d96+_0x402d15(0x1f3);}function a75_0x24b9(){const _0x42eff5=['replace','path','join','push','statusText','application/json','entries','some','HOME','3542256bVuPWP','skillTemplate','utf-8','.lovrabet/skill/.shared/guides','length','keys','test','1024zQNPnT','`\x20|\x20','6231568BgcpDn','<!--\x20GUIDES_APPEND\x20-->','includes','extendContent','1107814CbnwGl','679095luLGYi','USERPROFILE','/skills/guides-extend.json','CDN\x20请求失败:\x20','cache','|\x20`','CDN\x20返回数据格式错误','CDN\x20数据中缺少\x20skillTemplate','object','guide.md','env','lastUpdated','582279oaDcOv','trimEnd','84hPgqeo','19684770diArYk','json','map','6CclCdB','\x0a\x0a>更新时间:','requireFlags','guides','109899dLrXDa','indexOf','content','status','\x0a<!--\x20GUIDES_APPEND\x20-->','.lovrabet'];a75_0x24b9=function(){return _0x42eff5;};return a75_0x24b9();}const CACHE_DIR=join(process['env'][a75_0x402464(0x215)]||process[a75_0x402464(0x1fb)][a75_0x402464(0x1f2)]||'',a75_0x402464(0x20c),a75_0x402464(0x1f5));export async function fetchGuidesFromCDN(_0x209f11=![]){const _0x397927=a75_0x402464,_0x3825d2=getGuidesCdnUrl(),_0x6617e4=await fetch(_0x3825d2,{'headers':{'Accept':_0x397927(0x212)}});if(!_0x6617e4['ok'])throw new Error(_0x397927(0x1f4)+_0x6617e4[_0x397927(0x20a)]+'\x20'+_0x6617e4[_0x397927(0x211)]);const _0x31cac5=await _0x6617e4[_0x397927(0x201)]();if(!_0x31cac5[_0x397927(0x206)]||typeof _0x31cac5[_0x397927(0x206)]!==_0x397927(0x1f9))throw new Error(_0x397927(0x1f7));if(!_0x209f11)return _0x31cac5;try{const _0x367b3e=getGuidesExtendCdnUrl(),_0x1625b4=await fetch(_0x367b3e,{'headers':{'Accept':'application/json'}});if(_0x1625b4['ok']){const _0x1a0b6d=await _0x1625b4[_0x397927(0x201)]();_0x1a0b6d['guides']&&typeof _0x1a0b6d[_0x397927(0x206)]===_0x397927(0x1f9)&&(_0x31cac5[_0x397927(0x206)]={..._0x31cac5[_0x397927(0x206)],..._0x1a0b6d['guides']});}}catch{}return _0x31cac5;}export function writeGuidesToProject(_0x1a0377,_0x3b399c,_0x2fe6dd=a75_0x402464(0x219),_0x25bb4d){const _0x46da8a=a75_0x402464,_0x4cb387=join(_0x3b399c,_0x2fe6dd);for(const [_0x4f5e6d,_0x4acc31]of Object[_0x46da8a(0x213)](_0x1a0377['guides'])){if(_0x4acc31[_0x46da8a(0x205)]&&_0x4acc31['requireFlags'][_0x46da8a(0x21a)]>0x0){const _0x2d275d=_0x4acc31['requireFlags'][_0x46da8a(0x214)](_0x4bedee=>_0x25bb4d?.[_0x46da8a(0x221)](_0x4bedee));if(!_0x2d275d)continue;}const _0x48f59b=join(_0x4cb387,_0x4f5e6d);mkdirSync(_0x48f59b,{'recursive':!![]});let _0x3e9ac3=_0x4acc31[_0x46da8a(0x209)];_0x4acc31[_0x46da8a(0x1fc)]&&(_0x3e9ac3=appendUpdateTime(_0x3e9ac3,_0x4acc31[_0x46da8a(0x1fc)])),writeFileSync(join(_0x48f59b,_0x46da8a(0x1fa)),_0x3e9ac3,_0x46da8a(0x218));}}export function appendUpdateTime(_0x476e26,_0x3a5126){const _0x7ecf9d=a75_0x402464;return _0x476e26=_0x476e26[_0x7ecf9d(0x20d)](/\n*>更新时间:.*$/m,''),_0x476e26[_0x7ecf9d(0x1fe)]()+(_0x7ecf9d(0x204)+_0x3a5126);}export function getSkillTemplate(_0x2c2fb2){const _0x110ef7=a75_0x402464;return _0x2c2fb2[_0x110ef7(0x217)]?.[_0x110ef7(0x209)]||'';}export function appendExtendContents(_0x5691a8,_0x3abadf,_0x44e13b){const _0x573cda=a75_0x402464,_0x854c1b=[];for(const [_0x12fe7a,_0x272790]of Object[_0x573cda(0x213)](_0x3abadf[_0x573cda(0x206)])){if(_0x272790['requireFlags']&&_0x272790['requireFlags'][_0x573cda(0x21a)]>0x0){const _0x3e1284=_0x272790[_0x573cda(0x205)][_0x573cda(0x214)](_0x1c960e=>_0x44e13b?.['includes'](_0x1c960e));if(!_0x3e1284)continue;}_0x272790[_0x573cda(0x222)]&&_0x854c1b['push'](_0x272790[_0x573cda(0x222)][_0x573cda(0x1fe)]());}if(_0x854c1b[_0x573cda(0x21a)]===0x0)return _0x5691a8;return _0x5691a8['trimEnd']()+'\x0a\x0a'+_0x854c1b[_0x573cda(0x20f)]('\x0a\x0a')+'\x0a';}export function writeSkillFile(_0x3529c6,_0xf8a30b,_0x5da71d,_0x2cf836){const _0x1912b1=a75_0x402464,_0x3ce5dc=getSkillTemplate(_0x3529c6);if(!_0x3ce5dc)throw new Error(_0x1912b1(0x1f8));const _0x3522d3=dirname(_0xf8a30b);mkdirSync(_0x3522d3,{'recursive':!![]});let _0x4bff23=_0x3ce5dc['replace'](/\{\{IDE_NAME\}\}/g,_0x5da71d);_0x4bff23=insertGuidesSection(_0x4bff23,_0x3529c6,_0x2cf836),_0x4bff23=appendExtendContents(_0x4bff23,_0x3529c6,_0x2cf836),_0x3529c6['skillTemplate'][_0x1912b1(0x1fc)]&&(_0x4bff23=appendUpdateTime(_0x4bff23,_0x3529c6[_0x1912b1(0x217)][_0x1912b1(0x1fc)])),writeFileSync(_0xf8a30b,_0x4bff23,_0x1912b1(0x218));}export function insertGuidesSection(_0x3596d1,_0x1b85de,_0x110f49){const _0x64c570=a75_0x402464,_0x22ce37=_0x64c570(0x220),_0x2adfa8=_0x3596d1[_0x64c570(0x208)](_0x22ce37);if(_0x2adfa8===-0x1)return _0x3596d1;const _0x2b5bca=[],_0x5c73c8=Object['keys'](_0x1b85de['guides'])['sort']();for(const _0x4303d9 of _0x5c73c8){const _0x250199=_0x1b85de[_0x64c570(0x206)][_0x4303d9];if(!_0x250199)continue;if(/^0[1-6]-/[_0x64c570(0x21c)](_0x4303d9))continue;if(_0x250199[_0x64c570(0x205)]&&_0x250199[_0x64c570(0x205)][_0x64c570(0x21a)]>0x0){const _0x553c02=_0x250199[_0x64c570(0x205)][_0x64c570(0x214)](_0x2ad80e=>_0x110f49?.['includes'](_0x2ad80e));if(!_0x553c02)continue;}const _0x332128=_0x250199['path'][_0x64c570(0x20d)](/^\.lovrabet\/skill\/\.shared\/guides\//,'');_0x2b5bca[_0x64c570(0x210)](_0x64c570(0x1f6)+_0x332128+_0x64c570(0x21e)+_0x250199['title']+'\x20|');}if(_0x2b5bca[_0x64c570(0x21a)]===0x0)return _0x3596d1[_0x64c570(0x20d)](_0x22ce37,'<!--\x20GUIDES_APPEND\x20-->');const _0x68d256=_0x2b5bca[_0x64c570(0x20f)]('\x0a');return _0x3596d1[_0x64c570(0x20d)](_0x22ce37,_0x68d256+_0x64c570(0x20b));}export async function installGuides(_0x59a6cb){const _0x52484f=a75_0x402464,_0x2e59b7=await fetchGuidesFromCDN();return writeGuidesToProject(_0x2e59b7,_0x59a6cb),Object[_0x52484f(0x21b)](_0x2e59b7['guides'])[_0x52484f(0x21a)];}export function getGuidesSummary(_0x11f223){const _0x2f9c80=a75_0x402464;return Object[_0x2f9c80(0x213)](_0x11f223[_0x2f9c80(0x206)])[_0x2f9c80(0x202)](([_0x5ecca0,_0x59797a])=>({'key':_0x5ecca0,'title':_0x59797a['title'],'path':_0x59797a[_0x2f9c80(0x20e)]}));}
@@ -1 +1 @@
1
- (function(_0x5baa47,_0x4c3938){const _0x1879c8=a75_0x3fe0,_0x9f0db2=_0x5baa47();while(!![]){try{const _0x571c2e=-parseInt(_0x1879c8(0x1e5))/0x1+-parseInt(_0x1879c8(0x1e2))/0x2*(parseInt(_0x1879c8(0x1d4))/0x3)+-parseInt(_0x1879c8(0x1ea))/0x4*(-parseInt(_0x1879c8(0x1d7))/0x5)+parseInt(_0x1879c8(0x1d9))/0x6+-parseInt(_0x1879c8(0x1e9))/0x7*(-parseInt(_0x1879c8(0x1d5))/0x8)+-parseInt(_0x1879c8(0x1df))/0x9+parseInt(_0x1879c8(0x1de))/0xa*(parseInt(_0x1879c8(0x1e3))/0xb);if(_0x571c2e===_0x4c3938)break;else _0x9f0db2['push'](_0x9f0db2['shift']());}catch(_0x3ba9ac){_0x9f0db2['push'](_0x9f0db2['shift']());}}}(a75_0x5971,0x32fe4));export async function httpRequest(_0x20226a,_0x433378={}){const _0x9a6f8b=a75_0x3fe0,{timeout:timeout=0x7530,retries:retries=0x3,retryDelay:retryDelay=0x3e8,headers:headers={}}=_0x433378;let _0x5b7f1a=null;for(let _0x4afdb0=0x0;_0x4afdb0<=retries;_0x4afdb0++){try{const _0x26f4e9=new AbortController(),_0x204b32=setTimeout(()=>_0x26f4e9[_0x9a6f8b(0x1e1)](),timeout),_0xe94f72=await fetch(_0x20226a,{'headers':headers,'signal':_0x26f4e9[_0x9a6f8b(0x1d8)]});clearTimeout(_0x204b32);let _0x430c39;const _0x158183=_0xe94f72[_0x9a6f8b(0x1d6)]['get'](_0x9a6f8b(0x1dc));return _0x158183?.[_0x9a6f8b(0x1da)](_0x9a6f8b(0x1db))?_0x430c39=await _0xe94f72[_0x9a6f8b(0x1dd)]():_0x430c39=await _0xe94f72['text'](),{'ok':_0xe94f72['ok'],'status':_0xe94f72[_0x9a6f8b(0x1e0)],'statusText':_0xe94f72[_0x9a6f8b(0x1ee)],'data':_0x430c39,'headers':_0xe94f72[_0x9a6f8b(0x1d6)],'url':_0xe94f72[_0x9a6f8b(0x1e4)],'text':()=>_0xe94f72[_0x9a6f8b(0x1e6)]()};}catch(_0x43adc6){_0x5b7f1a=_0x43adc6 instanceof Error?_0x43adc6:new Error(String(_0x43adc6));if(_0x4afdb0===retries)break;if(shouldRetry(_0x43adc6)){console[_0x9a6f8b(0x1d3)](_0x9a6f8b(0x1ec)+retryDelay+_0x9a6f8b(0x1d2)+(_0x4afdb0+0x1)+_0x9a6f8b(0x1ed)),await sleep(retryDelay);continue;}else break;}}throw _0x5b7f1a||new Error('Request\x20failed');}function a75_0x3fe0(_0x7dfc97,_0x37225d){_0x7dfc97=_0x7dfc97-0x1d1;const _0x597198=a75_0x5971();let _0x3fe0e8=_0x597198[_0x7dfc97];return _0x3fe0e8;}function shouldRetry(_0x4c0b90){const _0x46350f=a75_0x3fe0;if(_0x4c0b90 instanceof Error){if(_0x4c0b90[_0x46350f(0x1e7)]==='AbortError')return![];if(_0x4c0b90['name']===_0x46350f(0x1eb)&&_0x4c0b90[_0x46350f(0x1d1)][_0x46350f(0x1da)]('fetch'))return!![];if(_0x4c0b90[_0x46350f(0x1d1)][_0x46350f(0x1da)](_0x46350f(0x1ef)))return!![];if(_0x4c0b90[_0x46350f(0x1d1)][_0x46350f(0x1da)](_0x46350f(0x1e8)))return![];}return![];}function sleep(_0x48a772){return new Promise(_0xc9ca5=>setTimeout(_0xc9ca5,_0x48a772));}function a75_0x5971(){const _0x5b2c44=['headers','780GiavQA','signal','2086296qljSUW','includes','application/json','content-type','json','20KLwHpM','3451842wicdiO','status','abort','158642xzKpUv','1706507DiXMZB','url','105786KksjSl','text','name','ENOTFOUND','133yHEUSG','6484zfRDRh','TypeError','*\x20请求失败,','\x20次重试...','statusText','ECONNRESET','message','ms\x20后进行第\x20','log','9MXNRqK','10648zgkYMo'];a75_0x5971=function(){return _0x5b2c44;};return a75_0x5971();}export function validateUrl(_0x2c633c){try{return new URL(_0x2c633c),!![];}catch{return![];}}
1
+ (function(_0x15ebb1,_0x2c8a5b){const _0x2e5ca3=a76_0x4bec,_0x32777c=_0x15ebb1();while(!![]){try{const _0x17e04e=-parseInt(_0x2e5ca3(0x1d7))/0x1+-parseInt(_0x2e5ca3(0x1d4))/0x2*(-parseInt(_0x2e5ca3(0x1e1))/0x3)+-parseInt(_0x2e5ca3(0x1e0))/0x4+parseInt(_0x2e5ca3(0x1db))/0x5+-parseInt(_0x2e5ca3(0x1d2))/0x6+parseInt(_0x2e5ca3(0x1da))/0x7*(parseInt(_0x2e5ca3(0x1e2))/0x8)+parseInt(_0x2e5ca3(0x1df))/0x9;if(_0x17e04e===_0x2c8a5b)break;else _0x32777c['push'](_0x32777c['shift']());}catch(_0x167f31){_0x32777c['push'](_0x32777c['shift']());}}}(a76_0xa2f1,0x56dbe));export async function httpRequest(_0x463ffb,_0x233c73={}){const _0x4ff08c=a76_0x4bec,{timeout:timeout=0x7530,retries:retries=0x3,retryDelay:retryDelay=0x3e8,headers:headers={}}=_0x233c73;let _0x12491d=null;for(let _0xbbf998=0x0;_0xbbf998<=retries;_0xbbf998++){try{const _0x3c131e=new AbortController(),_0x1b1b73=setTimeout(()=>_0x3c131e[_0x4ff08c(0x1e7)](),timeout),_0x4a0cb9=await fetch(_0x463ffb,{'headers':headers,'signal':_0x3c131e[_0x4ff08c(0x1e6)]});clearTimeout(_0x1b1b73);let _0x5039cc;const _0x28b960=_0x4a0cb9[_0x4ff08c(0x1ea)]['get'](_0x4ff08c(0x1eb));return _0x28b960?.[_0x4ff08c(0x1d5)](_0x4ff08c(0x1e3))?_0x5039cc=await _0x4a0cb9[_0x4ff08c(0x1de)]():_0x5039cc=await _0x4a0cb9['text'](),{'ok':_0x4a0cb9['ok'],'status':_0x4a0cb9[_0x4ff08c(0x1d1)],'statusText':_0x4a0cb9[_0x4ff08c(0x1e4)],'data':_0x5039cc,'headers':_0x4a0cb9[_0x4ff08c(0x1ea)],'url':_0x4a0cb9[_0x4ff08c(0x1e5)],'text':()=>_0x4a0cb9[_0x4ff08c(0x1dd)]()};}catch(_0x140308){_0x12491d=_0x140308 instanceof Error?_0x140308:new Error(String(_0x140308));if(_0xbbf998===retries)break;if(shouldRetry(_0x140308)){console[_0x4ff08c(0x1d9)]('*\x20请求失败,'+retryDelay+'ms\x20后进行第\x20'+(_0xbbf998+0x1)+_0x4ff08c(0x1d8)),await sleep(retryDelay);continue;}else break;}}throw _0x12491d||new Error(_0x4ff08c(0x1d6));}function shouldRetry(_0x33af94){const _0x4fe12b=a76_0x4bec;if(_0x33af94 instanceof Error){if(_0x33af94[_0x4fe12b(0x1ec)]===_0x4fe12b(0x1dc))return![];if(_0x33af94[_0x4fe12b(0x1ec)]===_0x4fe12b(0x1e8)&&_0x33af94[_0x4fe12b(0x1d3)][_0x4fe12b(0x1d5)](_0x4fe12b(0x1d0)))return!![];if(_0x33af94[_0x4fe12b(0x1d3)][_0x4fe12b(0x1d5)](_0x4fe12b(0x1e9)))return!![];if(_0x33af94['message'][_0x4fe12b(0x1d5)]('ENOTFOUND'))return![];}return![];}function a76_0xa2f1(){const _0x3eef67=['73673QTOyot','\x20次重试...','log','861SQVkeK','3498600uhnwln','AbortError','text','json','1178199boSPlL','2309208TVXOua','7197ucTOxZ','21416dHMnsW','application/json','statusText','url','signal','abort','TypeError','ECONNRESET','headers','content-type','name','fetch','status','4028022TWqPoi','message','432VepFNo','includes','Request\x20failed'];a76_0xa2f1=function(){return _0x3eef67;};return a76_0xa2f1();}function a76_0x4bec(_0x4f73a7,_0x1d6099){_0x4f73a7=_0x4f73a7-0x1d0;const _0xa2f188=a76_0xa2f1();let _0x4beca4=_0xa2f188[_0x4f73a7];return _0x4beca4;}function sleep(_0x246456){return new Promise(_0xb0938=>setTimeout(_0xb0938,_0x246456));}export function validateUrl(_0xc5e422){try{return new URL(_0xc5e422),!![];}catch{return![];}}
@@ -1 +1 @@
1
- const a76_0x3cd4ca=a76_0x3a91;function a76_0x3a91(_0x3c1948,_0x4a3256){_0x3c1948=_0x3c1948-0x100;const _0x30ec43=a76_0x30ec();let _0x3a9171=_0x30ec43[_0x3c1948];return _0x3a9171;}(function(_0x4f4c95,_0x7f0267){const _0x3282e3=a76_0x3a91,_0x417b78=_0x4f4c95();while(!![]){try{const _0x271032=parseInt(_0x3282e3(0x128))/0x1*(parseInt(_0x3282e3(0x101))/0x2)+parseInt(_0x3282e3(0x130))/0x3+-parseInt(_0x3282e3(0x122))/0x4*(parseInt(_0x3282e3(0x12e))/0x5)+-parseInt(_0x3282e3(0x10f))/0x6+-parseInt(_0x3282e3(0x132))/0x7*(-parseInt(_0x3282e3(0x11b))/0x8)+parseInt(_0x3282e3(0x116))/0x9*(-parseInt(_0x3282e3(0x134))/0xa)+parseInt(_0x3282e3(0x11a))/0xb;if(_0x271032===_0x7f0267)break;else _0x417b78['push'](_0x417b78['shift']());}catch(_0x5816be){_0x417b78['push'](_0x417b78['shift']());}}}(a76_0x30ec,0x7f879));function a76_0x30ec(){const _0x4f42d4=['logFilePath','完成:\x20','log','3wEGdxN','errors','unknown','yellow','filter','winstonLogger','909170nDSmpc','warn','568908vPxZuI','success','97013HbFDVG','addColors','226520waQbPg','writeFileSync','mkdirSync','53492DzquUM','blue','initWinstonLogger','开始执行:\x20','stringify','message','command','Failed\x20to\x20clear\x20logs:','duration','timestamp','combine','red','readFileSync','now','558612IiKYvb','parse','失败:\x20','error','createLogger','currentRawCommand','clear','306MMlCxL','rawCommand','info','format','14749185nxqIqC','80vEJmRt','existsSync','getWinstonInstance','dirname','details','setRawCommand','join','8KWlhdB','Failed\x20to\x20read\x20logs:','toISOString'];a76_0x30ec=function(){return _0x4f42d4;};return a76_0x30ec();}import a76_0x32c818 from'winston';import a76_0x206263 from'node:fs';import a76_0xafab47 from'node:path';class Logger{[a76_0x3cd4ca(0x12d)];[a76_0x3cd4ca(0x125)];['currentRawCommand']='';constructor(){this['logFilePath']='';}[a76_0x3cd4ca(0x120)](_0x92afee){const _0x57ab14=a76_0x3cd4ca;this[_0x57ab14(0x114)]=_0x92afee;}[a76_0x3cd4ca(0x103)](){const _0x26c855=a76_0x3cd4ca,_0x37d5bb=a76_0xafab47[_0x26c855(0x11e)](this['logFilePath']);!a76_0x206263[_0x26c855(0x11c)](_0x37d5bb)&&a76_0x206263[_0x26c855(0x100)](_0x37d5bb,{'recursive':!![]});const _0x52015d=a76_0x32c818[_0x26c855(0x119)][_0x26c855(0x10b)](a76_0x32c818[_0x26c855(0x119)][_0x26c855(0x10a)](),a76_0x32c818['format'][_0x26c855(0x129)]({'stack':!![]}),a76_0x32c818[_0x26c855(0x119)]['printf'](_0x428e48=>{const _0x9b081=_0x26c855,_0x2d4af2={'timestamp':_0x428e48[_0x9b081(0x10a)]||new Date()[_0x9b081(0x124)](),'level':_0x428e48['level']||_0x9b081(0x118),'command':_0x428e48[_0x9b081(0x107)]||_0x9b081(0x12a),'rawCommand':_0x428e48[_0x9b081(0x117)]||this['currentRawCommand']||undefined,'message':_0x428e48[_0x9b081(0x106)]||'','duration':_0x428e48[_0x9b081(0x109)]||undefined,'details':_0x428e48[_0x9b081(0x11f)]||undefined};return JSON[_0x9b081(0x105)](_0x2d4af2);}));this[_0x26c855(0x12d)]=a76_0x32c818[_0x26c855(0x113)]({'level':_0x26c855(0x118),'format':_0x52015d,'transports':[new a76_0x32c818['transports']['File']({'filename':this[_0x26c855(0x125)],'level':'info'})],'silent':![]}),a76_0x32c818[_0x26c855(0x133)]({'success':'green','error':_0x26c855(0x10c),'warn':_0x26c855(0x12b),'info':_0x26c855(0x102)});}['setLogPath'](_0x1116a7){const _0x153204=a76_0x3cd4ca;this[_0x153204(0x125)]=a76_0xafab47[_0x153204(0x121)](_0x1116a7,'.lovrabet.log'),this[_0x153204(0x12d)]&&this['winstonLogger'][_0x153204(0x115)](),this['initWinstonLogger']();}[a76_0x3cd4ca(0x118)](_0x4b30f7,_0x1cc02e,_0x34bdc9){const _0x19b0a6=a76_0x3cd4ca;if(!this[_0x19b0a6(0x125)]||!this[_0x19b0a6(0x12d)])return;this[_0x19b0a6(0x12d)]['info'](_0x1cc02e,{'command':_0x4b30f7,'details':_0x34bdc9});}[a76_0x3cd4ca(0x131)](_0x1ea5cc,_0x291af1,_0x588af1,_0x4ca160){const _0x5e9844=a76_0x3cd4ca;if(!this[_0x5e9844(0x125)]||!this['winstonLogger'])return;this[_0x5e9844(0x12d)][_0x5e9844(0x127)](_0x5e9844(0x118),_0x291af1,{'level':_0x5e9844(0x131),'command':_0x1ea5cc,'duration':_0x588af1,'details':_0x4ca160});}[a76_0x3cd4ca(0x112)](_0x3f5ed4,_0x490f05,_0x397a56){const _0x519e5f=a76_0x3cd4ca;if(!this['logFilePath']||!this[_0x519e5f(0x12d)])return;this[_0x519e5f(0x12d)][_0x519e5f(0x112)](_0x490f05,{'command':_0x3f5ed4,'details':_0x397a56});}['warn'](_0x5c169a,_0xb407d5,_0x470e93){const _0x4c9b83=a76_0x3cd4ca;if(!this[_0x4c9b83(0x125)]||!this['winstonLogger'])return;this['winstonLogger'][_0x4c9b83(0x12f)](_0xb407d5,{'command':_0x5c169a,'details':_0x470e93});}async['logTask'](_0x13ef94,_0x12b65b,_0x5cc495){const _0x27aec8=a76_0x3cd4ca,_0x32ab1e=Date[_0x27aec8(0x10e)]();this[_0x27aec8(0x118)](_0x13ef94,_0x27aec8(0x104)+_0x12b65b);try{const _0x3046a1=await _0x5cc495(),_0x152129=Date['now']()-_0x32ab1e;return this[_0x27aec8(0x131)](_0x13ef94,_0x27aec8(0x126)+_0x12b65b,_0x152129),_0x3046a1;}catch(_0x1fa1ed){const _0x482537=Date[_0x27aec8(0x10e)]()-_0x32ab1e;this[_0x27aec8(0x112)](_0x13ef94,_0x27aec8(0x111)+_0x12b65b,{'error':_0x1fa1ed instanceof Error?_0x1fa1ed[_0x27aec8(0x106)]:String(_0x1fa1ed),'duration':_0x482537});throw _0x1fa1ed;}}['readLogs'](){const _0x3d590f=a76_0x3cd4ca;try{if(!a76_0x206263[_0x3d590f(0x11c)](this[_0x3d590f(0x125)]))return[];const _0xcbad02=a76_0x206263[_0x3d590f(0x10d)](this[_0x3d590f(0x125)],'utf8');return _0xcbad02['split']('\x0a')[_0x3d590f(0x12c)](_0x5ea1c6=>_0x5ea1c6['trim']())['map'](_0x5a92e8=>JSON[_0x3d590f(0x110)](_0x5a92e8));}catch(_0x1cb39e){return console[_0x3d590f(0x12f)](_0x3d590f(0x123),_0x1cb39e),[];}}['clearLogs'](){const _0x24d1d9=a76_0x3cd4ca;try{a76_0x206263[_0x24d1d9(0x11c)](this[_0x24d1d9(0x125)])&&a76_0x206263[_0x24d1d9(0x135)](this[_0x24d1d9(0x125)],'','utf8');}catch(_0xe45951){console['warn'](_0x24d1d9(0x108),_0xe45951);}}[a76_0x3cd4ca(0x11d)](){const _0x5b12b5=a76_0x3cd4ca;return this[_0x5b12b5(0x12d)];}}export const logger=new Logger();
1
+ const a77_0x56499c=a77_0x3493;(function(_0x2b6a5f,_0x16c4d5){const _0x44896e=a77_0x3493,_0x5738c4=_0x2b6a5f();while(!![]){try{const _0x2c0428=-parseInt(_0x44896e(0x1bd))/0x1*(parseInt(_0x44896e(0x1dd))/0x2)+parseInt(_0x44896e(0x1ac))/0x3*(parseInt(_0x44896e(0x1bb))/0x4)+-parseInt(_0x44896e(0x1b1))/0x5+parseInt(_0x44896e(0x1d0))/0x6+-parseInt(_0x44896e(0x1c4))/0x7*(-parseInt(_0x44896e(0x1d2))/0x8)+parseInt(_0x44896e(0x1d5))/0x9*(-parseInt(_0x44896e(0x1cf))/0xa)+-parseInt(_0x44896e(0x1b2))/0xb*(-parseInt(_0x44896e(0x1db))/0xc);if(_0x2c0428===_0x16c4d5)break;else _0x5738c4['push'](_0x5738c4['shift']());}catch(_0x5d6c91){_0x5738c4['push'](_0x5738c4['shift']());}}}(a77_0x3bb6,0x9ab21));import a77_0x378e9d from'winston';import a77_0x291b37 from'node:fs';import a77_0x19b071 from'node:path';function a77_0x3493(_0x42ca63,_0x4c0c8e){_0x42ca63=_0x42ca63-0x1ab;const _0x3bb6ba=a77_0x3bb6();let _0x3493d7=_0x3bb6ba[_0x42ca63];return _0x3493d7;}function a77_0x3bb6(){const _0x53921e=['toISOString','unknown','readLogs','失败:\x20','clear','5266150ZkNELi','3441042UmcmrV','initWinstonLogger','412792YWRxgT','winstonLogger','parse','18nFUUIn','currentRawCommand','success','error','utf8','split','12nTlzkz','trim','277534rWkhDx','format','warn','logFilePath','rawCommand','3imXwnT','getWinstonInstance','info','combine','existsSync','1136600AlTjgm','2996015IrhWgi','stringify','完成:\x20','writeFileSync','createLogger','Failed\x20to\x20read\x20logs:','map','dirname','transports','493996WVeUjQ','File','1yjKdRJ','yellow','green','filter','timestamp','message','errors','147KGouLu','setLogPath','blue','red','logTask','now'];a77_0x3bb6=function(){return _0x53921e;};return a77_0x3bb6();}class Logger{[a77_0x56499c(0x1d3)];[a77_0x56499c(0x1e0)];['currentRawCommand']='';constructor(){const _0x491efd=a77_0x56499c;this[_0x491efd(0x1e0)]='';}['setRawCommand'](_0x4e3d2a){const _0x1417c6=a77_0x56499c;this[_0x1417c6(0x1d6)]=_0x4e3d2a;}[a77_0x56499c(0x1d1)](){const _0x5a67a5=a77_0x56499c,_0x3abbdb=a77_0x19b071[_0x5a67a5(0x1b9)](this['logFilePath']);!a77_0x291b37[_0x5a67a5(0x1b0)](_0x3abbdb)&&a77_0x291b37['mkdirSync'](_0x3abbdb,{'recursive':!![]});const _0x1b0dc6=a77_0x378e9d[_0x5a67a5(0x1de)][_0x5a67a5(0x1af)](a77_0x378e9d[_0x5a67a5(0x1de)][_0x5a67a5(0x1c1)](),a77_0x378e9d[_0x5a67a5(0x1de)][_0x5a67a5(0x1c3)]({'stack':!![]}),a77_0x378e9d['format']['printf'](_0x50c315=>{const _0x5e7f0c=_0x5a67a5,_0x31ed0c={'timestamp':_0x50c315['timestamp']||new Date()[_0x5e7f0c(0x1ca)](),'level':_0x50c315['level']||'info','command':_0x50c315['command']||_0x5e7f0c(0x1cb),'rawCommand':_0x50c315[_0x5e7f0c(0x1ab)]||this[_0x5e7f0c(0x1d6)]||undefined,'message':_0x50c315[_0x5e7f0c(0x1c2)]||'','duration':_0x50c315['duration']||undefined,'details':_0x50c315['details']||undefined};return JSON[_0x5e7f0c(0x1b3)](_0x31ed0c);}));this['winstonLogger']=a77_0x378e9d[_0x5a67a5(0x1b6)]({'level':'info','format':_0x1b0dc6,'transports':[new a77_0x378e9d[(_0x5a67a5(0x1ba))][(_0x5a67a5(0x1bc))]({'filename':this[_0x5a67a5(0x1e0)],'level':_0x5a67a5(0x1ae)})],'silent':![]}),a77_0x378e9d['addColors']({'success':_0x5a67a5(0x1bf),'error':_0x5a67a5(0x1c7),'warn':_0x5a67a5(0x1be),'info':_0x5a67a5(0x1c6)});}[a77_0x56499c(0x1c5)](_0x5a5203){const _0x324fbe=a77_0x56499c;this['logFilePath']=a77_0x19b071['join'](_0x5a5203,'.lovrabet.log'),this[_0x324fbe(0x1d3)]&&this[_0x324fbe(0x1d3)][_0x324fbe(0x1ce)](),this[_0x324fbe(0x1d1)]();}['info'](_0x52dfc0,_0xf2b240,_0x2f164f){const _0x429d5a=a77_0x56499c;if(!this[_0x429d5a(0x1e0)]||!this[_0x429d5a(0x1d3)])return;this['winstonLogger'][_0x429d5a(0x1ae)](_0xf2b240,{'command':_0x52dfc0,'details':_0x2f164f});}[a77_0x56499c(0x1d7)](_0x56cdfd,_0x3bf09f,_0x507b42,_0x390b28){const _0x1c992b=a77_0x56499c;if(!this[_0x1c992b(0x1e0)]||!this[_0x1c992b(0x1d3)])return;this[_0x1c992b(0x1d3)]['log'](_0x1c992b(0x1ae),_0x3bf09f,{'level':_0x1c992b(0x1d7),'command':_0x56cdfd,'duration':_0x507b42,'details':_0x390b28});}['error'](_0x561e1a,_0xbf5bcc,_0x118e95){const _0xc0de08=a77_0x56499c;if(!this[_0xc0de08(0x1e0)]||!this[_0xc0de08(0x1d3)])return;this[_0xc0de08(0x1d3)][_0xc0de08(0x1d8)](_0xbf5bcc,{'command':_0x561e1a,'details':_0x118e95});}['warn'](_0x58670b,_0x4e92db,_0x204b90){const _0x5b0616=a77_0x56499c;if(!this[_0x5b0616(0x1e0)]||!this[_0x5b0616(0x1d3)])return;this[_0x5b0616(0x1d3)][_0x5b0616(0x1df)](_0x4e92db,{'command':_0x58670b,'details':_0x204b90});}async[a77_0x56499c(0x1c8)](_0x4d45de,_0x52a651,_0x17be07){const _0x1848e5=a77_0x56499c,_0x2dc367=Date['now']();this[_0x1848e5(0x1ae)](_0x4d45de,'开始执行:\x20'+_0x52a651);try{const _0x4f69b1=await _0x17be07(),_0xe318e4=Date[_0x1848e5(0x1c9)]()-_0x2dc367;return this['success'](_0x4d45de,_0x1848e5(0x1b4)+_0x52a651,_0xe318e4),_0x4f69b1;}catch(_0x53a650){const _0x142958=Date[_0x1848e5(0x1c9)]()-_0x2dc367;this[_0x1848e5(0x1d8)](_0x4d45de,_0x1848e5(0x1cd)+_0x52a651,{'error':_0x53a650 instanceof Error?_0x53a650[_0x1848e5(0x1c2)]:String(_0x53a650),'duration':_0x142958});throw _0x53a650;}}[a77_0x56499c(0x1cc)](){const _0x1d17ea=a77_0x56499c;try{if(!a77_0x291b37[_0x1d17ea(0x1b0)](this[_0x1d17ea(0x1e0)]))return[];const _0x4e6346=a77_0x291b37['readFileSync'](this[_0x1d17ea(0x1e0)],_0x1d17ea(0x1d9));return _0x4e6346[_0x1d17ea(0x1da)]('\x0a')[_0x1d17ea(0x1c0)](_0x4dfe76=>_0x4dfe76[_0x1d17ea(0x1dc)]())[_0x1d17ea(0x1b8)](_0x2ea522=>JSON[_0x1d17ea(0x1d4)](_0x2ea522));}catch(_0x30592b){return console[_0x1d17ea(0x1df)](_0x1d17ea(0x1b7),_0x30592b),[];}}['clearLogs'](){const _0x44e889=a77_0x56499c;try{a77_0x291b37['existsSync'](this['logFilePath'])&&a77_0x291b37[_0x44e889(0x1b5)](this[_0x44e889(0x1e0)],'',_0x44e889(0x1d9));}catch(_0x574456){console[_0x44e889(0x1df)]('Failed\x20to\x20clear\x20logs:',_0x574456);}}[a77_0x56499c(0x1ad)](){const _0x3b7bfb=a77_0x56499c;return this[_0x3b7bfb(0x1d3)];}}export const logger=new Logger();