@lovrabet/cli 1.3.2 → 1.3.3

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (85) 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 -1
  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/i18n/I18nProvider.js +1 -0
  54. package/lib/i18n/hooks.js +1 -0
  55. package/lib/i18n/index.js +1 -0
  56. package/lib/i18n/locales/en-US.js +1 -0
  57. package/lib/i18n/locales/zh-CN.js +1 -0
  58. package/lib/init/main.js +1 -1
  59. package/lib/mcp/McpInstallUI.js +1 -1
  60. package/lib/mcp/claude.js +1 -1
  61. package/lib/mcp/cursor.js +1 -1
  62. package/lib/mcp/main.js +1 -1
  63. package/lib/mcp/mcp-install-non-interactive.js +1 -1
  64. package/lib/mcp/mcp-installer.js +1 -1
  65. package/lib/skills/SkillInstallUI.js +1 -1
  66. package/lib/skills/main.js +1 -1
  67. package/lib/skills/skill-install-non-interactive.js +1 -1
  68. package/lib/skills/skill-installer.js +1 -1
  69. package/lib/ui/IDESelector.js +1 -1
  70. package/lib/ui/useIDESelection.js +1 -1
  71. package/lib/utils/ai_config.js +1 -1
  72. package/lib/utils/cdn-config.js +1 -1
  73. package/lib/utils/check-sdk-version.js +1 -1
  74. package/lib/utils/cli-version-check.js +1 -1
  75. package/lib/utils/config.js +1 -1
  76. package/lib/utils/copy-directory.js +1 -1
  77. package/lib/utils/file-utils.js +1 -1
  78. package/lib/utils/guides-cdn.js +1 -1
  79. package/lib/utils/http-client.js +1 -1
  80. package/lib/utils/logger.js +1 -1
  81. package/lib/utils/router-updater.js +1 -1
  82. package/lib/utils/rules-cdn.js +1 -1
  83. package/lib/utils/sleep.js +1 -1
  84. package/lib/utils/template-replacer.js +1 -1
  85. package/package.json +3 -1
@@ -1 +1 @@
1
- (function(_0x556f76,_0x581e98){const _0x48b0d0=a44_0x3c97,_0x18301e=_0x556f76();while(!![]){try{const _0x1d4303=parseInt(_0x48b0d0(0x132))/0x1+parseInt(_0x48b0d0(0x13e))/0x2+-parseInt(_0x48b0d0(0x143))/0x3+-parseInt(_0x48b0d0(0x151))/0x4+-parseInt(_0x48b0d0(0x13d))/0x5*(parseInt(_0x48b0d0(0x17e))/0x6)+-parseInt(_0x48b0d0(0x170))/0x7*(parseInt(_0x48b0d0(0x172))/0x8)+parseInt(_0x48b0d0(0x12f))/0x9;if(_0x1d4303===_0x581e98)break;else _0x18301e['push'](_0x18301e['shift']());}catch(_0x2616ba){_0x18301e['push'](_0x18301e['shift']());}}}(a44_0x4dee,0xeba14));import{jsx as a44_0x47b470,Fragment as a44_0x5e98d8,jsxs as a44_0x28b5d1}from'react/jsx-runtime';import a44_0x2f616d from'path';import a44_0x18f95e from'fs';import{fileURLToPath}from'node:url';import{Box,Text}from'ink';import{useEffect,useState}from'react';function a44_0x3c97(_0x67306f,_0x40e2c3){_0x67306f=_0x67306f-0x112;const _0x4dee99=a44_0x4dee();let _0x3c97c7=_0x4dee99[_0x67306f];return _0x3c97c7;}import{EnhancedGuidedCreate}from'./enhanced-guided-create.js';import{pullApiSilent}from'../api/pull-silent.js';import{readConfig}from'../utils/config.js';import{useCopyProjectTemplate}from'./use-copy-project-template.js';import{useInstallDependencies}from'./use-install-dependencies.js';import{useFormatCode}from'./use-format-code.js';import{TaskFinished}from'./task-finished.js';import{TaskRunning}from'./task-running.js';import{logger}from'../utils/logger.js';function a44_0x4dee(){const _0x3b1adc=['更新\x20package.json\x20失败','Claude\x20Code','warn','needsUpgrade','map','API\x20配置拉取成功:\x20','../..','push','*\x20清理失败的项目目录:\x20','projectName','配置AppCode:\x20','online','cyan','\x20\x20✗\x20Skill\x20','\x20\x20•\x20Skill:\x20','lovrabet\x20skill\x20install','currentVersion','\x20&&\x20lovrabet\x20start','\x20MCP\x20','√\x20API\x20配置拉取完成','stableVersion','√\x20package.json\x20已更新:\x20name=','description','\x20已存在,请使用其他项目名','21729789eyERoR','yellow','W_OK','1438471qvAIJN','lovrabet\x20api\x20pull\x20--appcode\x20[app-code]','cd\x20','CLI\x20版本检查','*\x20正在为项目\x20','name','manual','\x20|\x20应用AppCode:\x20','doTask','gray','create','5777405TEVfhL','3074758YJxbgw','1.\x20配置\x20Lovrabet\x20MCP\x20和\x20Skill','√\x20配置文件已创建,可稍后使用\x20\x27lovrabet\x20config\x20set\x20appcode\x20<app-code>\x27\x20配置','\x20Generated\x20by\x20lovrabet\x20cli\x20','toLocaleString','2425569VuJxLu','writeFileSync','cursor','更新\x20package.json\x20name','projectCode','项目创建失败:\x20','trim','开始创建项目:\x20','skill-','utf8','status','log','join','×\x20项目创建失败:\x20','6387236nfIBEH','拉取API配置:\x20','✓\x20MCP\x20服务器配置完成:','API\x20配置拉取失败:\x20','green','×\x20项目名不能为空','启动项目:\x20','version','!\x20API\x20配置拉取失败,可稍后手动执行:\x20lovrabet\x20api\x20pull','dirname','message','appCode','1.0.0','cwd','selectedIDEs','error','repeat','parse','\x20√\x20','ide','red','mcp','env','2.\x20','√\x20配置文件已创建,应用AppCode:\x20','\x20Skill\x20','skill','white','配置应用AppCode失败','\x20\x20✗\x20MCP\x20','info','42nNxLXE','existsSync','1152424OesSMq','×\x20项目名包含非法字符,不允许使用:\x20<\x20>\x20:\x20\x22\x20|\x20?\x20*\x20及控制字符','lovrabet\x20config\x20set\x20appcode\x20[app-code]','stringify','*\x20正在配置\x20Lovrabet\x20MCP\x20和\x20Skill...','\x20配置应用AppCode:\x20','🚀\x20接下来:','Cursor','then','lovrabet\x20mcp\x20install','length','lovrabet\x20api\x20pull','6YGboiL','resolve','*\x20正在拉取\x20API\x20配置...','×\x20无法在当前目录创建项目,请检查目录权限','readFileSync','package.json','清理项目目录失败:\x20','pullApi','filter','\x20创建配置文件','!\x20API\x20配置拉取异常,项目已创建,可稍后手动执行:\x20lovrabet\x20api\x20pull','*\x20正在更新\x20package.json\x20的\x20name\x20和\x20description\x20字段','setLogPath','项目名称:\x20','\x20\x20•\x20MCP\x20服务器:\x20','success','3.\x20','×\x20项目名过长,最多支持\x20100\x20个字符','.lovrabetrc'];a44_0x4dee=function(){return _0x3b1adc;};return a44_0x4dee();}import{configureMcp,copySharedSkills,installSkill,createSkillManifest}from'../ai-setup/config.js';import{MCP_IDES}from'../utils/ai_config.js';import{checkCliVersion,printCliUpgradeWarning}from'../utils/cli-version-check.js';export function CreateApp(_0x2c38c8){const _0x1b4b59=a44_0x3c97,[_0x4079cb,_0x5edd57]=useState(![]),[_0x5bc5df,_0x3f332c]=useState(![]),[_0x44113c,_0x2417c1]=useState(null),[_0x585443,_0x53b016]=useState(null),_0x216194=useCopyProjectTemplate(),_0x273e90=useInstallDependencies(),_0x4a4446=useFormatCode();useEffect(()=>{const _0x4b7b33=a44_0x3c97;checkCliVersion()[_0x4b7b33(0x17a)](_0x57e9c6=>{const _0x11fd71=_0x4b7b33;_0x57e9c6[_0x11fd71(0x11a)]&&(printCliUpgradeWarning(_0x57e9c6),logger[_0x11fd71(0x16f)](_0x11fd71(0x13c),_0x11fd71(0x135),{'currentVersion':_0x57e9c6[_0x11fd71(0x127)],'stableVersion':_0x57e9c6[_0x11fd71(0x12b)],'needsUpgrade':_0x57e9c6[_0x11fd71(0x11a)]}));});},[]);const _0xe31ece=async _0x153e74=>{const _0x3d016f=a44_0x3c97;if(!_0x153e74[_0x3d016f(0x120)]||_0x153e74['projectName'][_0x3d016f(0x149)]()===''){console[_0x3d016f(0x160)](_0x3d016f(0x156));return;}const _0x34f591=/[<>:"|?*\x00-\x1f\x7f]/;if(_0x34f591['test'](_0x153e74['projectName'])){console[_0x3d016f(0x160)](_0x3d016f(0x173));return;}if(_0x153e74[_0x3d016f(0x120)][_0x3d016f(0x17c)]>0x64){console[_0x3d016f(0x160)](_0x3d016f(0x115));return;}const _0x4d45a6=a44_0x2f616d[_0x3d016f(0x17f)](process['cwd'](),_0x153e74[_0x3d016f(0x120)]);if(a44_0x18f95e[_0x3d016f(0x171)](_0x4d45a6)){console[_0x3d016f(0x160)]('×\x20项目目录\x20'+_0x153e74[_0x3d016f(0x120)]+_0x3d016f(0x12e));return;}try{const _0x250248=a44_0x2f616d[_0x3d016f(0x15a)](_0x4d45a6);a44_0x18f95e['accessSync'](_0x250248,a44_0x18f95e['constants'][_0x3d016f(0x131)]);}catch(_0x3cb1ba){console['error'](_0x3d016f(0x181));return;}_0x2417c1(_0x153e74),_0x5edd57(!![]),logger[_0x3d016f(0x18a)](_0x4d45a6),logger['info'](_0x3d016f(0x13c),_0x3d016f(0x14a)+_0x153e74[_0x3d016f(0x120)],{'projectDir':_0x4d45a6,'appCode':_0x153e74[_0x3d016f(0x15c)]});try{await _0x216194['doTask'](_0x153e74[_0x3d016f(0x120)]),await _0x13f58d(_0x153e74[_0x3d016f(0x120)]),await _0x273e90[_0x3d016f(0x13a)](_0x153e74[_0x3d016f(0x120)]),await _0x4a4446[_0x3d016f(0x13a)](_0x153e74['projectName']),await _0x3e9432(_0x153e74['projectName'],_0x153e74[_0x3d016f(0x15c)]||'',_0x153e74[_0x3d016f(0x167)]);if(_0x153e74['pullApi']&&_0x153e74['appCode']){console[_0x3d016f(0x14e)](_0x3d016f(0x180));try{const _0x3d4fd4=await pullApiSilent(_0x153e74[_0x3d016f(0x15c)],undefined,_0x4d45a6,_0x153e74[_0x3d016f(0x167)]);_0x3d4fd4?(console[_0x3d016f(0x14e)](_0x3d016f(0x12a)),logger['info']('create',_0x3d016f(0x11c)+_0x153e74[_0x3d016f(0x15c)])):(console['log'](_0x3d016f(0x159)),logger[_0x3d016f(0x119)](_0x3d016f(0x13c),_0x3d016f(0x154)+_0x153e74[_0x3d016f(0x15c)]));}catch(_0x2e45df){console['log'](_0x3d016f(0x188)),logger[_0x3d016f(0x119)](_0x3d016f(0x13c),'API\x20配置拉取异常',{'error':_0x2e45df instanceof Error?_0x2e45df[_0x3d016f(0x15b)]:String(_0x2e45df)});}}if(_0x153e74['aiSetup']&&_0x153e74[_0x3d016f(0x15f)]&&_0x153e74[_0x3d016f(0x15f)][_0x3d016f(0x17c)]>0x0&&_0x153e74['appCode']){console[_0x3d016f(0x14e)](_0x3d016f(0x176));const _0x31db9e=[],_0x242b9d=[],_0x51311a=_0x153e74[_0x3d016f(0x15f)][_0x3d016f(0x186)](_0x201596=>MCP_IDES['has'](_0x201596)),_0xbf32bd=_0x153e74[_0x3d016f(0x15f)];for(const _0x5789b8 of _0x51311a){try{const _0x5ed53f=await configureMcp(_0x5789b8,_0x4d45a6);_0x31db9e[_0x3d016f(0x11e)]({'ide':_0x5789b8===_0x3d016f(0x145)?_0x3d016f(0x179):'Claude\x20Code','status':_0x5ed53f['status'],'message':_0x5ed53f['message']}),console[_0x3d016f(0x14e)]('\x20\x20'+(_0x5ed53f[_0x3d016f(0x14d)]===_0x3d016f(0x113)?'✓':_0x5ed53f[_0x3d016f(0x14d)]===_0x3d016f(0x138)?'⚠️':'✗')+_0x3d016f(0x129)+_0x5789b8+':\x20'+_0x5ed53f[_0x3d016f(0x15b)]);}catch(_0x298156){_0x31db9e['push']({'ide':_0x5789b8===_0x3d016f(0x145)?'Cursor':_0x3d016f(0x118),'status':_0x3d016f(0x160),'message':_0x298156 instanceof Error?_0x298156[_0x3d016f(0x15b)]:String(_0x298156)}),console[_0x3d016f(0x14e)](_0x3d016f(0x16e)+_0x5789b8+':\x20'+(_0x298156 instanceof Error?_0x298156[_0x3d016f(0x15b)]:String(_0x298156)));}}await copySharedSkills(_0x4d45a6);for(const _0x29b629 of _0xbf32bd){try{const _0x5c10d0=await installSkill(_0x29b629,_0x4d45a6);_0x242b9d['push']({'ide':_0x5c10d0[_0x3d016f(0x164)],'status':_0x5c10d0[_0x3d016f(0x14d)],'message':_0x5c10d0[_0x3d016f(0x15b)]}),console[_0x3d016f(0x14e)]('\x20\x20'+(_0x5c10d0[_0x3d016f(0x14d)]===_0x3d016f(0x113)?'✓':'✗')+_0x3d016f(0x16a)+_0x5c10d0[_0x3d016f(0x164)]+':\x20'+_0x5c10d0[_0x3d016f(0x15b)]);}catch(_0xefabf0){_0x242b9d['push']({'ide':_0x29b629,'status':_0x3d016f(0x160),'message':_0xefabf0 instanceof Error?_0xefabf0['message']:String(_0xefabf0)}),console['log'](_0x3d016f(0x124)+_0x29b629+':\x20'+(_0xefabf0 instanceof Error?_0xefabf0[_0x3d016f(0x15b)]:String(_0xefabf0)));}}if(_0x242b9d[_0x3d016f(0x17c)]>0x0){const _0x3e764d=_0x242b9d[_0x3d016f(0x186)](_0x770db9=>_0x770db9[_0x3d016f(0x14d)]===_0x3d016f(0x113))[_0x3d016f(0x11b)](_0x334f4f=>_0x334f4f[_0x3d016f(0x164)]);_0x3e764d[_0x3d016f(0x17c)]>0x0&&createSkillManifest(_0x4d45a6,_0x3e764d);}_0x53b016({'mcp':_0x31db9e,'skill':_0x242b9d}),console[_0x3d016f(0x14e)]('√\x20Lovrabet\x20MCP\x20和\x20Skill\x20配置完成');}logger['success'](_0x3d016f(0x13c),'项目创建完成:\x20'+_0x153e74[_0x3d016f(0x120)]),_0x3f332c(!![]),_0x5edd57(![]);}catch(_0x1d535b){logger['error'](_0x3d016f(0x13c),_0x3d016f(0x148)+_0x153e74[_0x3d016f(0x120)],{'error':_0x1d535b instanceof Error?_0x1d535b['message']:String(_0x1d535b)});try{a44_0x18f95e[_0x3d016f(0x171)](_0x4d45a6)&&(console[_0x3d016f(0x14e)](_0x3d016f(0x11f)+_0x4d45a6),a44_0x18f95e['rmSync'](_0x4d45a6,{'recursive':!![],'force':!![]}));}catch(_0x577955){logger[_0x3d016f(0x119)](_0x3d016f(0x13c),_0x3d016f(0x184)+_0x4d45a6);}_0x5edd57(![]),console[_0x3d016f(0x160)](_0x3d016f(0x150)+(_0x1d535b instanceof Error?_0x1d535b[_0x3d016f(0x15b)]:String(_0x1d535b)));}},_0x5c241a=async _0xb365e9=>{const _0x1667db=a44_0x3c97;await _0xe31ece({'projectName':_0xb365e9,'env':_0x2c38c8[_0x1667db(0x167)]});},_0x13f58d=async _0x1753f3=>{const _0x3860c=a44_0x3c97,_0x1bfa1b=a44_0x2f616d['resolve'](process[_0x3860c(0x15e)](),_0x1753f3),_0x44309b=a44_0x2f616d[_0x3860c(0x14f)](_0x1bfa1b,_0x3860c(0x183));try{console[_0x3860c(0x14e)](_0x3860c(0x189));const _0x172a4e=fileURLToPath(import.meta.url),_0x25de95=a44_0x2f616d['resolve'](a44_0x2f616d['dirname'](_0x172a4e),_0x3860c(0x11d)),_0x14eac9=a44_0x2f616d['join'](_0x25de95,'package.json');let _0x551cf3='1.0.0';try{const _0x3aaaa8=JSON[_0x3860c(0x162)](a44_0x18f95e[_0x3860c(0x182)](_0x14eac9,'utf8'));_0x551cf3=_0x3aaaa8[_0x3860c(0x158)]||_0x3860c(0x15d);}catch(_0x1e7079){}const _0x26fd25=a44_0x18f95e[_0x3860c(0x182)](_0x44309b,'utf8'),_0x14b1d8=JSON[_0x3860c(0x162)](_0x26fd25);_0x14b1d8[_0x3860c(0x137)]=_0x1753f3,_0x14b1d8[_0x3860c(0x12d)]=_0x1753f3+_0x3860c(0x141)+_0x551cf3,a44_0x18f95e[_0x3860c(0x144)](_0x44309b,JSON[_0x3860c(0x175)](_0x14b1d8,null,0x2)+'\x0a',_0x3860c(0x14c)),console[_0x3860c(0x14e)](_0x3860c(0x12c)+_0x1753f3),logger[_0x3860c(0x16f)]('create',_0x3860c(0x146));}catch(_0x3ad5c2){logger['error'](_0x3860c(0x13c),_0x3860c(0x117));throw _0x3ad5c2;}},_0x3e9432=async(_0x2a2646,_0x5c54a0,_0x33a3cf)=>{const _0x25e493=a44_0x3c97,_0x454ba9=a44_0x2f616d['resolve'](process[_0x25e493(0x15e)](),_0x2a2646),_0x1ae573=a44_0x2f616d[_0x25e493(0x14f)](_0x454ba9,_0x25e493(0x116));try{_0x5c54a0?console[_0x25e493(0x14e)]('*\x20正在为项目\x20'+_0x2a2646+_0x25e493(0x177)+_0x5c54a0):console[_0x25e493(0x14e)](_0x25e493(0x136)+_0x2a2646+_0x25e493(0x187));const _0x517044=fileURLToPath(import.meta.url),_0x40a2b0=a44_0x2f616d[_0x25e493(0x17f)](a44_0x2f616d[_0x25e493(0x15a)](_0x517044),_0x25e493(0x11d)),_0x33a33f=a44_0x2f616d[_0x25e493(0x14f)](_0x40a2b0,_0x25e493(0x183));let _0x4a0f5a='1.0.0';try{const _0x327153=JSON['parse'](a44_0x18f95e[_0x25e493(0x182)](_0x33a33f,_0x25e493(0x14c)));_0x4a0f5a=_0x327153[_0x25e493(0x158)]||_0x25e493(0x15d);}catch(_0x3dc150){}const _0x193cd6=readConfig(),_0x1780f4=typeof _0x193cd6[_0x25e493(0x167)]==='string'?_0x193cd6[_0x25e493(0x167)]:undefined,{app:_0x3ff52b,appcode:_0x22d1de,..._0x12778a}=_0x193cd6,_0x45c576={..._0x12778a,'appcode':_0x5c54a0||'','env':_0x33a3cf||_0x1780f4||_0x25e493(0x122),'createdAt':new Date()[_0x25e493(0x142)](),'version':_0x4a0f5a};a44_0x18f95e[_0x25e493(0x144)](_0x1ae573,JSON[_0x25e493(0x175)](_0x45c576,null,0x2),'utf8'),_0x5c54a0?console[_0x25e493(0x14e)](_0x25e493(0x169)+_0x5c54a0):console['log'](_0x25e493(0x140)),logger['info'](_0x25e493(0x13c),'配置应用AppCode:\x20'+_0x5c54a0);}catch(_0x5752e2){logger[_0x25e493(0x160)](_0x25e493(0x13c),_0x25e493(0x16d));}};useEffect(()=>{const _0x2a7ddc=a44_0x3c97;_0x2c38c8[_0x2a7ddc(0x147)]&&_0x5c241a(_0x2c38c8[_0x2a7ddc(0x147)]);},[_0x2c38c8[_0x1b4b59(0x147)]]);if(!_0x4079cb&&!_0x5bc5df&&!_0x2c38c8[_0x1b4b59(0x147)])return a44_0x47b470(EnhancedGuidedCreate,{'onCreate':_0xe31ece,'env':_0x2c38c8['env']});if(_0x4079cb)return a44_0x28b5d1(a44_0x5e98d8,{'children':[a44_0x28b5d1(Box,{'marginTop':0x1,'children':[a44_0x47b470(Box,{'width':'1'}),a44_0x47b470(Text,{'color':_0x1b4b59(0x155),'children':'\x20√\x20'}),a44_0x47b470(Text,{'children':_0x1b4b59(0x18b)}),a44_0x47b470(Text,{'color':_0x1b4b59(0x155),'children':_0x44113c?.['projectName']}),_0x44113c?.['appCode']&&a44_0x28b5d1(a44_0x5e98d8,{'children':[a44_0x47b470(Text,{'children':_0x1b4b59(0x139)}),a44_0x47b470(Text,{'color':_0x1b4b59(0x123),'children':_0x44113c[_0x1b4b59(0x15c)]})]})]}),a44_0x47b470(TaskRunning,{..._0x216194}),a44_0x47b470(TaskRunning,{..._0x273e90}),a44_0x47b470(TaskRunning,{..._0x4a4446})]});if(_0x5bc5df){const _0x1d883b=_0x585443&&(_0x585443[_0x1b4b59(0x166)][_0x1b4b59(0x17c)]>0x0||_0x585443[_0x1b4b59(0x16b)][_0x1b4b59(0x17c)]>0x0);return a44_0x28b5d1(a44_0x5e98d8,{'children':[a44_0x28b5d1(Box,{'marginTop':0x1,'children':[a44_0x47b470(Box,{'width':'1'}),a44_0x47b470(Text,{'color':'green','children':_0x1b4b59(0x163)}),a44_0x47b470(Text,{'children':_0x1b4b59(0x18b)}),a44_0x47b470(Text,{'color':_0x1b4b59(0x155),'children':_0x44113c?.['projectName']}),_0x44113c?.[_0x1b4b59(0x15c)]&&a44_0x28b5d1(a44_0x5e98d8,{'children':[a44_0x47b470(Text,{'children':_0x1b4b59(0x139)}),a44_0x47b470(Text,{'color':'cyan','children':_0x44113c['appCode']})]})]}),a44_0x47b470(TaskFinished,{..._0x216194}),a44_0x47b470(TaskFinished,{..._0x273e90}),a44_0x47b470(TaskFinished,{..._0x4a4446}),a44_0x47b470(Box,{'marginTop':0x1,'marginBottom':0x1,'children':a44_0x47b470(Text,{'color':'green','children':'─'[_0x1b4b59(0x161)](0x3c)})}),_0x1d883b&&a44_0x28b5d1(a44_0x5e98d8,{'children':[_0x585443['mcp'][_0x1b4b59(0x17c)]>0x0&&a44_0x28b5d1(a44_0x5e98d8,{'children':[a44_0x47b470(Box,{'marginTop':0x1,'children':a44_0x47b470(Text,{'color':_0x1b4b59(0x155),'bold':!![],'children':_0x1b4b59(0x153)})}),_0x585443[_0x1b4b59(0x166)][_0x1b4b59(0x11b)]((_0x4922c2,_0x1e3c50)=>a44_0x47b470(Box,{'marginLeft':0x2,'children':a44_0x28b5d1(Text,{'color':_0x4922c2[_0x1b4b59(0x14d)]===_0x1b4b59(0x113)?_0x1b4b59(0x16c):_0x4922c2[_0x1b4b59(0x14d)]===_0x1b4b59(0x138)?_0x1b4b59(0x130):_0x1b4b59(0x165),'children':[_0x4922c2[_0x1b4b59(0x164)],':\x20',_0x4922c2[_0x1b4b59(0x15b)]]})},'mcp-'+_0x1e3c50))]}),_0x585443['skill']['length']>0x0&&a44_0x28b5d1(a44_0x5e98d8,{'children':[a44_0x47b470(Box,{'marginTop':_0x585443[_0x1b4b59(0x166)][_0x1b4b59(0x17c)]>0x0?0x1:0x0,'children':a44_0x47b470(Text,{'color':'green','bold':!![],'children':'✓\x20Skill\x20安装完成:'})}),_0x585443['skill']['map']((_0x1ca311,_0x14f59d)=>a44_0x47b470(Box,{'marginLeft':0x2,'children':a44_0x28b5d1(Text,{'color':_0x1ca311[_0x1b4b59(0x14d)]===_0x1b4b59(0x113)?_0x1b4b59(0x16c):'red','children':[_0x1ca311[_0x1b4b59(0x164)],':\x20',_0x1ca311[_0x1b4b59(0x15b)]]})},_0x1b4b59(0x14b)+_0x14f59d))]}),a44_0x47b470(Box,{'marginTop':0x1,'marginBottom':0x1,'children':a44_0x47b470(Text,{'color':'green','children':'─'[_0x1b4b59(0x161)](0x3c)})})]}),a44_0x47b470(Box,{'marginTop':0x1,'marginBottom':0x1,'children':a44_0x47b470(Text,{'color':_0x1b4b59(0x123),'bold':!![],'children':_0x1b4b59(0x178)})}),a44_0x28b5d1(Box,{'marginLeft':0x2,'flexDirection':'column','children':[_0x1d883b?a44_0x28b5d1(a44_0x5e98d8,{'children':[a44_0x28b5d1(Box,{'children':[a44_0x47b470(Text,{'color':_0x1b4b59(0x155),'children':'1.\x20'}),a44_0x47b470(Text,{'color':_0x1b4b59(0x16c),'children':_0x1b4b59(0x157)}),a44_0x47b470(Text,{'color':'cyan','bold':!![],'children':'cd\x20'+_0x44113c?.[_0x1b4b59(0x120)]+_0x1b4b59(0x128)})]}),_0x44113c?.[_0x1b4b59(0x15c)]&&!_0x44113c?.[_0x1b4b59(0x185)]&&a44_0x28b5d1(Box,{'children':[a44_0x47b470(Text,{'color':_0x1b4b59(0x130),'children':_0x1b4b59(0x168)}),a44_0x47b470(Text,{'color':_0x1b4b59(0x16c),'children':_0x1b4b59(0x152)}),a44_0x47b470(Text,{'color':_0x1b4b59(0x123),'bold':!![],'children':_0x1b4b59(0x17d)})]})]}):a44_0x28b5d1(a44_0x5e98d8,{'children':[a44_0x47b470(Box,{'children':a44_0x47b470(Text,{'color':'yellow','bold':!![],'children':_0x1b4b59(0x13f)})}),a44_0x28b5d1(Box,{'marginLeft':0x2,'marginTop':0x1,'children':[a44_0x47b470(Text,{'color':_0x1b4b59(0x16c),'children':_0x1b4b59(0x125)}),a44_0x47b470(Text,{'color':'cyan','bold':!![],'children':_0x1b4b59(0x126)})]}),a44_0x28b5d1(Box,{'marginLeft':0x2,'children':[a44_0x47b470(Text,{'color':_0x1b4b59(0x16c),'children':_0x1b4b59(0x112)}),a44_0x47b470(Text,{'color':_0x1b4b59(0x123),'bold':!![],'children':_0x1b4b59(0x17b)})]}),a44_0x28b5d1(Box,{'marginTop':0x1,'children':[a44_0x47b470(Text,{'color':_0x1b4b59(0x155),'children':_0x1b4b59(0x168)}),a44_0x47b470(Text,{'color':'white','children':'启动项目:\x20'}),a44_0x47b470(Text,{'color':'cyan','bold':!![],'children':_0x1b4b59(0x134)+_0x44113c?.[_0x1b4b59(0x120)]+_0x1b4b59(0x128)})]}),_0x44113c?.[_0x1b4b59(0x15c)]&&!_0x44113c?.[_0x1b4b59(0x185)]&&a44_0x28b5d1(Box,{'children':[a44_0x47b470(Text,{'color':_0x1b4b59(0x130),'children':_0x1b4b59(0x114)}),a44_0x47b470(Text,{'color':_0x1b4b59(0x16c),'children':_0x1b4b59(0x152)}),a44_0x47b470(Text,{'color':_0x1b4b59(0x123),'bold':!![],'children':_0x1b4b59(0x17d)})]})]}),!_0x44113c?.[_0x1b4b59(0x15c)]&&a44_0x28b5d1(a44_0x5e98d8,{'children':[a44_0x28b5d1(Box,{'children':[a44_0x47b470(Text,{'color':_0x1b4b59(0x13b),'children':_0x1b4b59(0x168)}),a44_0x47b470(Text,{'color':_0x1b4b59(0x16c),'children':_0x1b4b59(0x121)}),a44_0x47b470(Text,{'color':'cyan','bold':!![],'children':_0x1b4b59(0x174)})]}),a44_0x28b5d1(Box,{'children':[a44_0x47b470(Text,{'color':_0x1b4b59(0x13b),'children':_0x1b4b59(0x114)}),a44_0x47b470(Text,{'color':_0x1b4b59(0x16c),'children':_0x1b4b59(0x152)}),a44_0x47b470(Text,{'color':_0x1b4b59(0x123),'bold':!![],'children':_0x1b4b59(0x133)})]})]})]}),a44_0x47b470(Box,{'marginTop':0x1,'children':a44_0x47b470(Text,{'color':_0x1b4b59(0x155),'children':'─'[_0x1b4b59(0x161)](0x3c)})})]});}return null;}
1
+ (function(_0x33d237,_0x50d316){const _0xc0802e=a44_0xc915,_0x2b4b38=_0x33d237();while(!![]){try{const _0x368372=-parseInt(_0xc0802e(0xd2))/0x1*(parseInt(_0xc0802e(0x136))/0x2)+-parseInt(_0xc0802e(0x121))/0x3*(parseInt(_0xc0802e(0x135))/0x4)+parseInt(_0xc0802e(0xe1))/0x5+-parseInt(_0xc0802e(0xcf))/0x6+parseInt(_0xc0802e(0xec))/0x7+parseInt(_0xc0802e(0x13a))/0x8+-parseInt(_0xc0802e(0x108))/0x9*(-parseInt(_0xc0802e(0x10b))/0xa);if(_0x368372===_0x50d316)break;else _0x2b4b38['push'](_0x2b4b38['shift']());}catch(_0x260533){_0x2b4b38['push'](_0x2b4b38['shift']());}}}(a44_0x2a05,0xd3c21));import{jsx as a44_0x5cd38c,Fragment as a44_0x527903,jsxs as a44_0x4fbcb3}from'react/jsx-runtime';import a44_0x15ba96 from'path';function a44_0xc915(_0x381ce6,_0x906e08){_0x381ce6=_0x381ce6-0xcc;const _0x2a0519=a44_0x2a05();let _0xc91585=_0x2a0519[_0x381ce6];return _0xc91585;}import a44_0x2faac5 from'fs';import{fileURLToPath}from'node:url';import{Box,Text}from'ink';import{useEffect,useState}from'react';function a44_0x2a05(){const _0x3170d4=['appCode','\x20Skill\x20','resolve','create.nextSteps.startProject','lovrabet\x20api\x20pull\x20--appcode\x20[app-code]','cursor','message','mcp','dirname','selectedIDEs','accessSync','create.steps.pullingApi','create.steps.apiPullFailed','trim','projectName','72fEPMHq','string','length','3653270euftZS','existsSync','doTask','API\x20配置拉取失败:\x20','package.json','online','create','\x20Generated\x20by\x20lovrabet\x20cli\x20','aiSetup','repeat','toLocaleString','create.lovrabetSetup.mcpCompleted','projectCode','../..','\x20\x20✗\x20Skill\x20','create.packageJson.updating','version','create.validation.tooLong','yellow','needsUpgrade','配置应用AppCode失败','create.errors.createFailed','3525558AcjGZm','Claude\x20Code','CLI\x20版本检查','\x20\x20✗\x20MCP\x20','create.results.nextSteps','更新\x20package.json\x20失败','create.config.configuringAppCode','name','配置应用AppCode:\x20','constants','mcp-','gray','W_OK','2.\x20','create.cleanup.inProgress','skill','description','setLogPath','开始创建项目:\x20','push','4cjldIH','10xhDZxb','create.config.createdWithoutAppCode','cwd','ide','615304inxWCa','filter','stringify','manual','API\x20配置拉取异常','test','3.\x20','create.steps.mcpConfigComplete','create.validation.invalidChars','\x20√\x20','lovrabet\x20skill\x20install','7167066SADubs','lovrabet\x20api\x20pull','white','188527AEfzIQ','create.nextSteps.pullApi','writeFileSync','pullApi','status','green','then','env','1.0.0','warn','cyan','column','API\x20配置拉取成功:\x20','parse','create.lovrabetSetup.inProgress','2155935NpvemF','map','.lovrabetrc','create.packageJson.updated','清理项目目录失败:\x20','create.config.creating','error','log','cd\x20','success','create.lovrabetSetup.skillCompleted','5242839psOTTC','create.display.appCode','red','create.display.projectName','join','create.validation.dirExists','info','lovrabet\x20config\x20set\x20appcode\x20[app-code]','Cursor','\x20&&\x20lovrabet\x20start','utf8','has','readFileSync'];a44_0x2a05=function(){return _0x3170d4;};return a44_0x2a05();}import{EnhancedGuidedCreate}from'./enhanced-guided-create.js';import{pullApiSilent}from'../api/pull-silent.js';import{readConfig}from'../utils/config.js';import{useCopyProjectTemplate}from'./use-copy-project-template.js';import{useInstallDependencies}from'./use-install-dependencies.js';import{useFormatCode}from'./use-format-code.js';import{TaskFinished}from'./task-finished.js';import{TaskRunning}from'./task-running.js';import{logger}from'../utils/logger.js';import{configureMcp,copySharedSkills,installSkill,createSkillManifest}from'../ai-setup/config.js';import{MCP_IDES}from'../utils/ai_config.js';import{checkCliVersion,printCliUpgradeWarning}from'../utils/cli-version-check.js';import{useI18n}from'../i18n/hooks.js';export function CreateApp(_0xf7a107){const _0x31fef6=a44_0xc915,{t:_0x3fadba}=useI18n(),[_0x1f8365,_0x201347]=useState(![]),[_0x525927,_0x1319b6]=useState(![]),[_0x21c010,_0x34dd49]=useState(null),[_0x16edde,_0x3b25ec]=useState(null),_0x3efa72=useCopyProjectTemplate(),_0x329dfe=useInstallDependencies(),_0x537b51=useFormatCode();useEffect(()=>{const _0x5f438e=a44_0xc915;checkCliVersion()[_0x5f438e(0xd8)](_0x1495b5=>{const _0x557350=_0x5f438e;_0x1495b5[_0x557350(0x11e)]&&(printCliUpgradeWarning(_0x1495b5),logger[_0x557350(0xf2)](_0x557350(0x111),_0x557350(0x123),{'currentVersion':_0x1495b5['currentVersion'],'stableVersion':_0x1495b5['stableVersion'],'needsUpgrade':_0x1495b5[_0x557350(0x11e)]}));});},[]);const _0x25a4e7=async _0x12211f=>{const _0x47b455=a44_0xc915;if(!_0x12211f[_0x47b455(0x107)]||_0x12211f[_0x47b455(0x107)][_0x47b455(0x106)]()===''){console[_0x47b455(0xe7)](_0x3fadba('create.validation.required'));return;}const _0x52053e=/[<>:"|?*\x00-\x1f\x7f]/;if(_0x52053e[_0x47b455(0x13f)](_0x12211f[_0x47b455(0x107)])){console[_0x47b455(0xe7)](_0x3fadba(_0x47b455(0xcc)));return;}if(_0x12211f[_0x47b455(0x107)]['length']>0x64){console[_0x47b455(0xe7)](_0x3fadba(_0x47b455(0x11c)));return;}const _0x30a1e7=a44_0x15ba96[_0x47b455(0xfb)](process[_0x47b455(0x138)](),_0x12211f[_0x47b455(0x107)]);if(a44_0x2faac5[_0x47b455(0x10c)](_0x30a1e7)){console[_0x47b455(0xe7)](_0x3fadba(_0x47b455(0xf1),{'name':_0x12211f[_0x47b455(0x107)]}));return;}try{const _0xd4ccb1=a44_0x15ba96[_0x47b455(0x101)](_0x30a1e7);a44_0x2faac5[_0x47b455(0x103)](_0xd4ccb1,a44_0x2faac5[_0x47b455(0x12a)][_0x47b455(0x12d)]);}catch(_0x2229ed){console['error'](_0x3fadba('create.validation.noPermission'));return;}_0x34dd49(_0x12211f),_0x201347(!![]),logger[_0x47b455(0x132)](_0x30a1e7),logger['info'](_0x47b455(0x111),_0x47b455(0x133)+_0x12211f['projectName'],{'projectDir':_0x30a1e7,'appCode':_0x12211f[_0x47b455(0xf9)]});try{await _0x3efa72[_0x47b455(0x10d)](_0x12211f[_0x47b455(0x107)]),await _0x3d8e53(_0x12211f[_0x47b455(0x107)]),await _0x329dfe[_0x47b455(0x10d)](_0x12211f[_0x47b455(0x107)]),await _0x537b51[_0x47b455(0x10d)](_0x12211f[_0x47b455(0x107)]),await _0x4cdd5b(_0x12211f[_0x47b455(0x107)],_0x12211f[_0x47b455(0xf9)]||'',_0x12211f[_0x47b455(0xd9)]);if(_0x12211f['pullApi']&&_0x12211f[_0x47b455(0xf9)]){console['log'](_0x3fadba(_0x47b455(0x104)));try{const _0x3bda20=await pullApiSilent(_0x12211f[_0x47b455(0xf9)],undefined,_0x30a1e7,_0x12211f[_0x47b455(0xd9)]);_0x3bda20?(console[_0x47b455(0xe8)](_0x3fadba('create.steps.apiPullSuccess')),logger[_0x47b455(0xf2)](_0x47b455(0x111),_0x47b455(0xde)+_0x12211f[_0x47b455(0xf9)])):(console[_0x47b455(0xe8)](_0x3fadba(_0x47b455(0x105))),logger[_0x47b455(0xdb)](_0x47b455(0x111),_0x47b455(0x10e)+_0x12211f[_0x47b455(0xf9)]));}catch(_0x106967){console['log'](_0x3fadba('create.steps.apiPullError')),logger[_0x47b455(0xdb)](_0x47b455(0x111),_0x47b455(0x13e),{'error':_0x106967 instanceof Error?_0x106967[_0x47b455(0xff)]:String(_0x106967)});}}if(_0x12211f[_0x47b455(0x113)]&&_0x12211f['selectedIDEs']&&_0x12211f[_0x47b455(0x102)][_0x47b455(0x10a)]>0x0&&_0x12211f['appCode']){console['log'](_0x3fadba(_0x47b455(0xe0)));const _0x6c33f0=[],_0x3dbf25=[],_0x32b468=_0x12211f['selectedIDEs'][_0x47b455(0x13b)](_0x2483ea=>MCP_IDES[_0x47b455(0xf7)](_0x2483ea)),_0x5286b5=_0x12211f[_0x47b455(0x102)];for(const _0x43811d of _0x32b468){try{const _0x474f58=await configureMcp(_0x43811d,_0x30a1e7);_0x6c33f0[_0x47b455(0x134)]({'ide':_0x43811d===_0x47b455(0xfe)?_0x47b455(0xf4):_0x47b455(0x122),'status':_0x474f58[_0x47b455(0xd6)],'message':_0x474f58[_0x47b455(0xff)]}),console[_0x47b455(0xe8)]('\x20\x20'+(_0x474f58['status']==='success'?'✓':_0x474f58['status']===_0x47b455(0x13d)?'⚠️':'✗')+'\x20MCP\x20'+_0x43811d+':\x20'+_0x474f58[_0x47b455(0xff)]);}catch(_0x434112){_0x6c33f0['push']({'ide':_0x43811d===_0x47b455(0xfe)?'Cursor':_0x47b455(0x122),'status':_0x47b455(0xe7),'message':_0x434112 instanceof Error?_0x434112['message']:String(_0x434112)}),console[_0x47b455(0xe8)](_0x47b455(0x124)+_0x43811d+':\x20'+(_0x434112 instanceof Error?_0x434112[_0x47b455(0xff)]:String(_0x434112)));}}await copySharedSkills(_0x30a1e7);for(const _0x37010d of _0x5286b5){try{const _0x4de996=await installSkill(_0x37010d,_0x30a1e7);_0x3dbf25[_0x47b455(0x134)]({'ide':_0x4de996[_0x47b455(0x139)],'status':_0x4de996[_0x47b455(0xd6)],'message':_0x4de996[_0x47b455(0xff)]}),console['log']('\x20\x20'+(_0x4de996[_0x47b455(0xd6)]===_0x47b455(0xea)?'✓':'✗')+_0x47b455(0xfa)+_0x4de996[_0x47b455(0x139)]+':\x20'+_0x4de996[_0x47b455(0xff)]);}catch(_0x20d3c5){_0x3dbf25[_0x47b455(0x134)]({'ide':_0x37010d,'status':'error','message':_0x20d3c5 instanceof Error?_0x20d3c5[_0x47b455(0xff)]:String(_0x20d3c5)}),console[_0x47b455(0xe8)](_0x47b455(0x119)+_0x37010d+':\x20'+(_0x20d3c5 instanceof Error?_0x20d3c5[_0x47b455(0xff)]:String(_0x20d3c5)));}}if(_0x3dbf25['length']>0x0){const _0x566da3=_0x3dbf25[_0x47b455(0x13b)](_0x364132=>_0x364132[_0x47b455(0xd6)]===_0x47b455(0xea))['map'](_0x17cc61=>_0x17cc61[_0x47b455(0x139)]);_0x566da3[_0x47b455(0x10a)]>0x0&&createSkillManifest(_0x30a1e7,_0x566da3);}_0x3b25ec({'mcp':_0x6c33f0,'skill':_0x3dbf25}),console['log'](_0x3fadba(_0x47b455(0x141)));}logger['success'](_0x47b455(0x111),'项目创建完成:\x20'+_0x12211f['projectName']),_0x1319b6(!![]),_0x201347(![]);}catch(_0x5dab9c){logger['error'](_0x47b455(0x111),'项目创建失败:\x20'+_0x12211f[_0x47b455(0x107)],{'error':_0x5dab9c instanceof Error?_0x5dab9c[_0x47b455(0xff)]:String(_0x5dab9c)});try{a44_0x2faac5[_0x47b455(0x10c)](_0x30a1e7)&&(console[_0x47b455(0xe8)](_0x3fadba(_0x47b455(0x12f),{'dir':_0x30a1e7})),a44_0x2faac5['rmSync'](_0x30a1e7,{'recursive':!![],'force':!![]}));}catch(_0x2919ec){logger[_0x47b455(0xdb)]('create',_0x47b455(0xe5)+_0x30a1e7);}_0x201347(![]),console[_0x47b455(0xe7)](_0x3fadba(_0x47b455(0x120),{'error':_0x5dab9c instanceof Error?_0x5dab9c[_0x47b455(0xff)]:String(_0x5dab9c)}));}},_0x508e60=async _0x8535dc=>{const _0x439a04=a44_0xc915;await _0x25a4e7({'projectName':_0x8535dc,'env':_0xf7a107[_0x439a04(0xd9)]});},_0x3d8e53=async _0x25b215=>{const _0x17e30b=a44_0xc915,_0x57d53d=a44_0x15ba96[_0x17e30b(0xfb)](process[_0x17e30b(0x138)](),_0x25b215),_0x305e25=a44_0x15ba96[_0x17e30b(0xf0)](_0x57d53d,_0x17e30b(0x10f));try{console[_0x17e30b(0xe8)](_0x3fadba(_0x17e30b(0x11a)));const _0x452c3c=fileURLToPath(import.meta.url),_0x31afd7=a44_0x15ba96[_0x17e30b(0xfb)](a44_0x15ba96[_0x17e30b(0x101)](_0x452c3c),_0x17e30b(0x118)),_0x8ef061=a44_0x15ba96[_0x17e30b(0xf0)](_0x31afd7,_0x17e30b(0x10f));let _0x4974f7=_0x17e30b(0xda);try{const _0xfcf02d=JSON[_0x17e30b(0xdf)](a44_0x2faac5[_0x17e30b(0xf8)](_0x8ef061,'utf8'));_0x4974f7=_0xfcf02d[_0x17e30b(0x11b)]||'1.0.0';}catch(_0x403c9c){}const _0x45af45=a44_0x2faac5[_0x17e30b(0xf8)](_0x305e25,_0x17e30b(0xf6)),_0x531631=JSON[_0x17e30b(0xdf)](_0x45af45);_0x531631[_0x17e30b(0x128)]=_0x25b215,_0x531631[_0x17e30b(0x131)]=_0x25b215+_0x17e30b(0x112)+_0x4974f7,a44_0x2faac5[_0x17e30b(0xd4)](_0x305e25,JSON[_0x17e30b(0x13c)](_0x531631,null,0x2)+'\x0a',_0x17e30b(0xf6)),console[_0x17e30b(0xe8)](_0x3fadba(_0x17e30b(0xe4),{'name':_0x25b215})),logger[_0x17e30b(0xf2)](_0x17e30b(0x111),'更新\x20package.json\x20name');}catch(_0x883f66){logger[_0x17e30b(0xe7)](_0x17e30b(0x111),_0x17e30b(0x126));throw _0x883f66;}},_0x4cdd5b=async(_0xce616f,_0x2e4d7a,_0x13960a)=>{const _0x468434=a44_0xc915,_0x5f4dfd=a44_0x15ba96[_0x468434(0xfb)](process[_0x468434(0x138)](),_0xce616f),_0x417e66=a44_0x15ba96['join'](_0x5f4dfd,_0x468434(0xe3));try{_0x2e4d7a?console['log'](_0x3fadba(_0x468434(0x127),{'name':_0xce616f,'appCode':_0x2e4d7a})):console['log'](_0x3fadba(_0x468434(0xe6),{'name':_0xce616f}));const _0x32c237=fileURLToPath(import.meta.url),_0x129417=a44_0x15ba96[_0x468434(0xfb)](a44_0x15ba96[_0x468434(0x101)](_0x32c237),_0x468434(0x118)),_0x35e213=a44_0x15ba96[_0x468434(0xf0)](_0x129417,'package.json');let _0x13baf2=_0x468434(0xda);try{const _0x2c0461=JSON[_0x468434(0xdf)](a44_0x2faac5[_0x468434(0xf8)](_0x35e213,_0x468434(0xf6)));_0x13baf2=_0x2c0461[_0x468434(0x11b)]||_0x468434(0xda);}catch(_0x428319){}const _0xb0dbb4=readConfig(),_0x329b45=typeof _0xb0dbb4[_0x468434(0xd9)]===_0x468434(0x109)?_0xb0dbb4[_0x468434(0xd9)]:undefined,{app:_0x57590d,appcode:_0x5f3152,..._0x2f7c74}=_0xb0dbb4,_0x2e947b={..._0x2f7c74,'appcode':_0x2e4d7a||'','env':_0x13960a||_0x329b45||_0x468434(0x110),'createdAt':new Date()[_0x468434(0x115)](),'version':_0x13baf2};a44_0x2faac5[_0x468434(0xd4)](_0x417e66,JSON['stringify'](_0x2e947b,null,0x2),_0x468434(0xf6)),_0x2e4d7a?console['log'](_0x3fadba('create.config.createdWithAppCode',{'appCode':_0x2e4d7a})):console[_0x468434(0xe8)](_0x3fadba(_0x468434(0x137))),logger[_0x468434(0xf2)](_0x468434(0x111),_0x468434(0x129)+_0x2e4d7a);}catch(_0x561695){logger[_0x468434(0xe7)](_0x468434(0x111),_0x468434(0x11f));}};useEffect(()=>{const _0x2f66b7=a44_0xc915;_0xf7a107[_0x2f66b7(0x117)]&&_0x508e60(_0xf7a107[_0x2f66b7(0x117)]);},[_0xf7a107[_0x31fef6(0x117)]]);if(!_0x1f8365&&!_0x525927&&!_0xf7a107[_0x31fef6(0x117)])return a44_0x5cd38c(EnhancedGuidedCreate,{'onCreate':_0x25a4e7,'env':_0xf7a107[_0x31fef6(0xd9)]});if(_0x1f8365)return a44_0x4fbcb3(a44_0x527903,{'children':[a44_0x4fbcb3(Box,{'marginTop':0x1,'children':[a44_0x5cd38c(Box,{'width':'1'}),a44_0x5cd38c(Text,{'color':'green','children':_0x31fef6(0xcd)}),a44_0x5cd38c(Text,{'children':_0x3fadba(_0x31fef6(0xef))}),a44_0x5cd38c(Text,{'color':_0x31fef6(0xd7),'children':_0x21c010?.[_0x31fef6(0x107)]}),_0x21c010?.['appCode']&&a44_0x4fbcb3(a44_0x527903,{'children':[a44_0x5cd38c(Text,{'children':_0x3fadba(_0x31fef6(0xed))}),a44_0x5cd38c(Text,{'color':_0x31fef6(0xdc),'children':_0x21c010[_0x31fef6(0xf9)]})]})]}),a44_0x5cd38c(TaskRunning,{..._0x3efa72}),a44_0x5cd38c(TaskRunning,{..._0x329dfe}),a44_0x5cd38c(TaskRunning,{..._0x537b51})]});if(_0x525927){const _0xf7b6e7=_0x16edde&&(_0x16edde['mcp']['length']>0x0||_0x16edde[_0x31fef6(0x130)][_0x31fef6(0x10a)]>0x0);return a44_0x4fbcb3(a44_0x527903,{'children':[a44_0x4fbcb3(Box,{'marginTop':0x1,'children':[a44_0x5cd38c(Box,{'width':'1'}),a44_0x5cd38c(Text,{'color':_0x31fef6(0xd7),'children':_0x31fef6(0xcd)}),a44_0x5cd38c(Text,{'children':_0x3fadba(_0x31fef6(0xef))}),a44_0x5cd38c(Text,{'color':_0x31fef6(0xd7),'children':_0x21c010?.[_0x31fef6(0x107)]}),_0x21c010?.[_0x31fef6(0xf9)]&&a44_0x4fbcb3(a44_0x527903,{'children':[a44_0x5cd38c(Text,{'children':_0x3fadba('create.display.appCode')}),a44_0x5cd38c(Text,{'color':_0x31fef6(0xdc),'children':_0x21c010[_0x31fef6(0xf9)]})]})]}),a44_0x5cd38c(TaskFinished,{..._0x3efa72}),a44_0x5cd38c(TaskFinished,{..._0x329dfe}),a44_0x5cd38c(TaskFinished,{..._0x537b51}),a44_0x5cd38c(Box,{'marginTop':0x1,'marginBottom':0x1,'children':a44_0x5cd38c(Text,{'color':_0x31fef6(0xd7),'children':'─'[_0x31fef6(0x114)](0x3c)})}),_0xf7b6e7&&a44_0x4fbcb3(a44_0x527903,{'children':[_0x16edde['mcp']['length']>0x0&&a44_0x4fbcb3(a44_0x527903,{'children':[a44_0x5cd38c(Box,{'marginTop':0x1,'children':a44_0x5cd38c(Text,{'color':'green','bold':!![],'children':_0x3fadba(_0x31fef6(0x116))})}),_0x16edde[_0x31fef6(0x100)][_0x31fef6(0xe2)]((_0x4d075b,_0x39cd77)=>a44_0x5cd38c(Box,{'marginLeft':0x2,'children':a44_0x4fbcb3(Text,{'color':_0x4d075b[_0x31fef6(0xd6)]===_0x31fef6(0xea)?_0x31fef6(0xd1):_0x4d075b[_0x31fef6(0xd6)]===_0x31fef6(0x13d)?_0x31fef6(0x11d):_0x31fef6(0xee),'children':[_0x4d075b[_0x31fef6(0x139)],':\x20',_0x4d075b[_0x31fef6(0xff)]]})},_0x31fef6(0x12b)+_0x39cd77))]}),_0x16edde['skill'][_0x31fef6(0x10a)]>0x0&&a44_0x4fbcb3(a44_0x527903,{'children':[a44_0x5cd38c(Box,{'marginTop':_0x16edde[_0x31fef6(0x100)][_0x31fef6(0x10a)]>0x0?0x1:0x0,'children':a44_0x5cd38c(Text,{'color':'green','bold':!![],'children':_0x3fadba(_0x31fef6(0xeb))})}),_0x16edde[_0x31fef6(0x130)][_0x31fef6(0xe2)]((_0x37f5ea,_0x339db1)=>a44_0x5cd38c(Box,{'marginLeft':0x2,'children':a44_0x4fbcb3(Text,{'color':_0x37f5ea[_0x31fef6(0xd6)]===_0x31fef6(0xea)?_0x31fef6(0xd1):_0x31fef6(0xee),'children':[_0x37f5ea['ide'],':\x20',_0x37f5ea[_0x31fef6(0xff)]]})},'skill-'+_0x339db1))]}),a44_0x5cd38c(Box,{'marginTop':0x1,'marginBottom':0x1,'children':a44_0x5cd38c(Text,{'color':'green','children':'─'[_0x31fef6(0x114)](0x3c)})})]}),a44_0x5cd38c(Box,{'marginTop':0x1,'marginBottom':0x1,'children':a44_0x5cd38c(Text,{'color':'cyan','bold':!![],'children':_0x3fadba(_0x31fef6(0x125))})}),a44_0x4fbcb3(Box,{'marginLeft':0x2,'flexDirection':_0x31fef6(0xdd),'children':[_0xf7b6e7?a44_0x4fbcb3(a44_0x527903,{'children':[a44_0x4fbcb3(Box,{'children':[a44_0x5cd38c(Text,{'color':_0x31fef6(0xd7),'children':'1.\x20'}),a44_0x5cd38c(Text,{'color':_0x31fef6(0xd1),'children':_0x3fadba(_0x31fef6(0xfc))}),a44_0x5cd38c(Text,{'color':_0x31fef6(0xdc),'bold':!![],'children':_0x31fef6(0xe9)+_0x21c010?.[_0x31fef6(0x107)]+_0x31fef6(0xf5)})]}),_0x21c010?.[_0x31fef6(0xf9)]&&!_0x21c010?.[_0x31fef6(0xd5)]&&a44_0x4fbcb3(Box,{'children':[a44_0x5cd38c(Text,{'color':_0x31fef6(0x11d),'children':_0x31fef6(0x12e)}),a44_0x5cd38c(Text,{'color':'white','children':_0x3fadba(_0x31fef6(0xd3))}),a44_0x5cd38c(Text,{'color':_0x31fef6(0xdc),'bold':!![],'children':_0x31fef6(0xd0)})]})]}):a44_0x4fbcb3(a44_0x527903,{'children':[a44_0x5cd38c(Box,{'children':a44_0x5cd38c(Text,{'color':_0x31fef6(0x11d),'bold':!![],'children':_0x3fadba('create.nextSteps.configureMcpAndSkill')})}),a44_0x4fbcb3(Box,{'marginLeft':0x2,'marginTop':0x1,'children':[a44_0x5cd38c(Text,{'color':_0x31fef6(0xd1),'children':_0x3fadba('create.nextSteps.skill')}),a44_0x5cd38c(Text,{'color':_0x31fef6(0xdc),'bold':!![],'children':_0x31fef6(0xce)})]}),a44_0x4fbcb3(Box,{'marginLeft':0x2,'children':[a44_0x5cd38c(Text,{'color':'white','children':_0x3fadba('create.nextSteps.mcp')}),a44_0x5cd38c(Text,{'color':_0x31fef6(0xdc),'bold':!![],'children':'lovrabet\x20mcp\x20install'})]}),a44_0x4fbcb3(Box,{'marginTop':0x1,'children':[a44_0x5cd38c(Text,{'color':'green','children':_0x31fef6(0x12e)}),a44_0x5cd38c(Text,{'color':'white','children':_0x3fadba('create.nextSteps.startProject')}),a44_0x5cd38c(Text,{'color':_0x31fef6(0xdc),'bold':!![],'children':_0x31fef6(0xe9)+_0x21c010?.[_0x31fef6(0x107)]+'\x20&&\x20lovrabet\x20start'})]}),_0x21c010?.[_0x31fef6(0xf9)]&&!_0x21c010?.[_0x31fef6(0xd5)]&&a44_0x4fbcb3(Box,{'children':[a44_0x5cd38c(Text,{'color':_0x31fef6(0x11d),'children':_0x31fef6(0x140)}),a44_0x5cd38c(Text,{'color':_0x31fef6(0xd1),'children':_0x3fadba(_0x31fef6(0xd3))}),a44_0x5cd38c(Text,{'color':'cyan','bold':!![],'children':_0x31fef6(0xd0)})]})]}),!_0x21c010?.[_0x31fef6(0xf9)]&&a44_0x4fbcb3(a44_0x527903,{'children':[a44_0x4fbcb3(Box,{'children':[a44_0x5cd38c(Text,{'color':'gray','children':_0x31fef6(0x12e)}),a44_0x5cd38c(Text,{'color':_0x31fef6(0xd1),'children':_0x3fadba('create.nextSteps.configAppCode')}),a44_0x5cd38c(Text,{'color':_0x31fef6(0xdc),'bold':!![],'children':_0x31fef6(0xf3)})]}),a44_0x4fbcb3(Box,{'children':[a44_0x5cd38c(Text,{'color':_0x31fef6(0x12c),'children':_0x31fef6(0x140)}),a44_0x5cd38c(Text,{'color':_0x31fef6(0xd1),'children':_0x3fadba(_0x31fef6(0xd3))}),a44_0x5cd38c(Text,{'color':'cyan','bold':!![],'children':_0x31fef6(0xfd)})]})]})]}),a44_0x5cd38c(Box,{'marginTop':0x1,'children':a44_0x5cd38c(Text,{'color':'green','children':'─'['repeat'](0x3c)})})]});}return null;}
@@ -1 +1 @@
1
- (function(_0x23bb9b,_0x1dcdd3){const _0x2d5b1d=a45_0xce4b,_0x1ef077=_0x23bb9b();while(!![]){try{const _0x45f7d6=parseInt(_0x2d5b1d(0x119))/0x1+parseInt(_0x2d5b1d(0x113))/0x2*(parseInt(_0x2d5b1d(0x126))/0x3)+parseInt(_0x2d5b1d(0x124))/0x4*(-parseInt(_0x2d5b1d(0x133))/0x5)+parseInt(_0x2d5b1d(0x115))/0x6+-parseInt(_0x2d5b1d(0x116))/0x7+-parseInt(_0x2d5b1d(0x117))/0x8+parseInt(_0x2d5b1d(0x131))/0x9;if(_0x45f7d6===_0x1dcdd3)break;else _0x1ef077['push'](_0x1ef077['shift']());}catch(_0x54ebc7){_0x1ef077['push'](_0x1ef077['shift']());}}}(a45_0x199a,0xccadb));import a45_0x4859b0 from'path';function a45_0xce4b(_0x29e192,_0x26cc6a){_0x29e192=_0x29e192-0x103;const _0x199ad7=a45_0x199a();let _0xce4b58=_0x199ad7[_0x29e192];return _0xce4b58;}import{fileURLToPath}from'url';import a45_0x122170 from'fs/promises';import{existsSync}from'fs';import{copyDirectory}from'../utils/copy-directory.js';import{exec}from'child_process';import{promisify}from'util';import{checkCliVersion,printCliUpgradeWarning}from'../utils/cli-version-check.js';function a45_0x199a(){const _0x4957a6=['×\x20项目名不能为空','join','W_OK','1419508TFNKBY','\x20\x20正在安装依赖...','249nJnfrj','\x0a√\x20项目\x20','\x20\x20√\x20代码已格式化','length','\x20\x20√\x20依赖安装跳过(非交互模式)','\x20\x20lovrabet\x20start\x0a','×\x20项目目录\x20','readFile','needsUpgrade','access','resolve','14677587GKMGec','lovrabet.config.json','5NYrINt','log','error','stringify','A\x20project\x20created\x20with\x20Lovrabet\x20CLI','×\x20项目名包含非法字符,不允许使用:\x20<\x20>\x20:\x20\x22\x20|\x20?\x20*\x20及控制字符','\x20\x20√\x20项目模板已创建','description','dirname','cwd','package.json','exit','bun','test','npm','bun\x20--version','\x0a\x20\x20cd\x20','parse','writeFile','22112uqotVi','../../templates/projects/sub-app-react-demo','3040650OXYKVD','8520904Qxiese','10079440bGHGXA','\x20\x20√\x20环境配置完成','615176SHfIiO','\x20\x20√\x20package.json\x20已更新','trim','\x20创建成功!','constants','env','×\x20项目创建失败:\x20','message'];a45_0x199a=function(){return _0x4957a6;};return a45_0x199a();}const execAsync=promisify(exec);function getTemplateDir(){const _0x927f35=a45_0xce4b,_0x409f4b=fileURLToPath(import.meta.url),_0x5dd3ad=a45_0x4859b0['dirname'](_0x409f4b);return a45_0x4859b0['resolve'](_0x5dd3ad,_0x927f35(0x114));}export async function createProjectNonInteractive(_0x306dd8,_0xc10da1){const _0x27fe3d=a45_0xce4b,_0x3c13e9=await checkCliVersion();_0x3c13e9[_0x27fe3d(0x12e)]&&printCliUpgradeWarning(_0x3c13e9);(!_0x306dd8||_0x306dd8[_0x27fe3d(0x11b)]()==='')&&(console['error'](_0x27fe3d(0x121)),process[_0x27fe3d(0x10b)](0x1));const _0x1102b1=/[<>:"|?*\x00-\x1f\x7f]/;_0x1102b1[_0x27fe3d(0x10d)](_0x306dd8)&&(console[_0x27fe3d(0x135)](_0x27fe3d(0x105)),process['exit'](0x1));_0x306dd8[_0x27fe3d(0x129)]>0x64&&(console['error']('×\x20项目名过长,最多支持\x20100\x20个字符'),process[_0x27fe3d(0x10b)](0x1));const _0x443f6f=a45_0x4859b0[_0x27fe3d(0x130)](process[_0x27fe3d(0x109)](),_0x306dd8);existsSync(_0x443f6f)&&(console[_0x27fe3d(0x135)](_0x27fe3d(0x12c)+_0x306dd8+'\x20已存在,请使用其他项目名'),process[_0x27fe3d(0x10b)](0x1));try{const _0xf38548=a45_0x4859b0[_0x27fe3d(0x108)](_0x443f6f);await a45_0x122170[_0x27fe3d(0x12f)](_0xf38548,a45_0x122170[_0x27fe3d(0x11d)][_0x27fe3d(0x123)]);}catch(_0xeeddfa){console[_0x27fe3d(0x135)]('×\x20无法在当前目录创建项目,请检查目录权限'),process[_0x27fe3d(0x10b)](0x1);}try{console[_0x27fe3d(0x134)]('*\x20正在创建项目\x20'+_0x306dd8+'...');const _0x25f01c=getTemplateDir();await copyDirectory(_0x25f01c,_0x443f6f),console[_0x27fe3d(0x134)](_0x27fe3d(0x106)),await updatePackageJsonName(_0x306dd8),console['log'](_0x27fe3d(0x11a)),console[_0x27fe3d(0x134)](_0x27fe3d(0x125)),console[_0x27fe3d(0x134)](_0x27fe3d(0x12a)),await formatCode(_0x443f6f),console[_0x27fe3d(0x134)](_0x27fe3d(0x128)),await configureAppEnv(_0x306dd8,_0xc10da1),console[_0x27fe3d(0x134)](_0x27fe3d(0x118)),console['log'](_0x27fe3d(0x127)+_0x306dd8+_0x27fe3d(0x11c)),console[_0x27fe3d(0x134)](_0x27fe3d(0x110)+_0x306dd8),console[_0x27fe3d(0x134)](_0x27fe3d(0x12b));}catch(_0x1a0902){const _0x38c9e5=_0x1a0902 instanceof Error?_0x1a0902[_0x27fe3d(0x120)]:String(_0x1a0902);try{existsSync(_0x443f6f)&&await a45_0x122170['rm'](_0x443f6f,{'recursive':!![],'force':!![]});}catch{}console['error'](_0x27fe3d(0x11f)+_0x38c9e5),process[_0x27fe3d(0x10b)](0x1);}}async function updatePackageJsonName(_0x3470cd){const _0x16922e=a45_0xce4b,_0x7b7abd=a45_0x4859b0['resolve'](process['cwd'](),_0x3470cd),_0x345ca7=a45_0x4859b0['join'](_0x7b7abd,_0x16922e(0x10a)),_0x2e277b=await a45_0x122170[_0x16922e(0x12d)](_0x345ca7,'utf-8'),_0x54242f=JSON[_0x16922e(0x111)](_0x2e277b);_0x54242f['name']=_0x3470cd,_0x54242f[_0x16922e(0x107)]=_0x16922e(0x104),await a45_0x122170[_0x16922e(0x112)](_0x345ca7,JSON[_0x16922e(0x103)](_0x54242f,null,0x2)+'\x0a');}async function installDependencies(_0x8b1d26){const _0x88f7a0=detectPackageManager(),_0x41371c=_0x88f7a0+'\x20install';try{await execAsync(_0x41371c,{'cwd':_0x8b1d26});}catch(_0x29469d){throw new Error('依赖安装失败:\x20'+_0x29469d);}}function detectPackageManager(){const _0x38ae6a=a45_0xce4b;try{return execAsync(_0x38ae6a(0x10f),{}),_0x38ae6a(0x10c);}catch{return _0x38ae6a(0x10e);}}async function formatCode(_0x5253c0){try{await execAsync('bun\x20run\x20format',{'cwd':_0x5253c0});}catch{}}async function configureAppEnv(_0xea5aad,_0xbc7221){const _0x5a394a=a45_0xce4b,_0xbe5dba=a45_0x4859b0[_0x5a394a(0x130)](process[_0x5a394a(0x109)](),_0xea5aad),_0x5938fc=a45_0x4859b0[_0x5a394a(0x122)](_0xbe5dba,_0x5a394a(0x132));let _0x318e82={};if(existsSync(_0x5938fc)){const _0x343075=await a45_0x122170[_0x5a394a(0x12d)](_0x5938fc,'utf-8');_0x318e82=JSON[_0x5a394a(0x111)](_0x343075);}_0xbc7221&&(_0x318e82[_0x5a394a(0x11e)]=_0xbc7221),await a45_0x122170[_0x5a394a(0x112)](_0x5938fc,JSON[_0x5a394a(0x103)](_0x318e82,null,0x2)+'\x0a');}
1
+ const a45_0xb5340c=a45_0x547c;(function(_0x4bef6b,_0x1ed474){const _0x472857=a45_0x547c,_0x511a38=_0x4bef6b();while(!![]){try{const _0x56ec00=parseInt(_0x472857(0xd2))/0x1+parseInt(_0x472857(0xb7))/0x2*(parseInt(_0x472857(0xb9))/0x3)+parseInt(_0x472857(0xb0))/0x4+parseInt(_0x472857(0xd1))/0x5+parseInt(_0x472857(0xba))/0x6+parseInt(_0x472857(0xad))/0x7+parseInt(_0x472857(0xb8))/0x8*(-parseInt(_0x472857(0xcb))/0x9);if(_0x56ec00===_0x1ed474)break;else _0x511a38['push'](_0x511a38['shift']());}catch(_0x246ace){_0x511a38['push'](_0x511a38['shift']());}}}(a45_0x86d2,0x94e89));import a45_0x54be8e from'path';import{fileURLToPath}from'url';import a45_0xc41533 from'fs/promises';import{existsSync}from'fs';import{copyDirectory}from'../utils/copy-directory.js';import{exec}from'child_process';import{promisify}from'util';function a45_0x547c(_0x2f5899,_0x585f03){_0x2f5899=_0x2f5899-0xa9;const _0x86d243=a45_0x86d2();let _0x547ca9=_0x86d243[_0x2f5899];return _0x547ca9;}import{checkCliVersion,printCliUpgradeWarning}from'../utils/cli-version-check.js';import a45_0x180baf from'../i18n/index.js';const t=a45_0x180baf['t'][a45_0xb5340c(0xbf)](a45_0x180baf),execAsync=promisify(exec);function getTemplateDir(){const _0x4a4d0e=a45_0xb5340c,_0x4b024b=fileURLToPath(import.meta.url),_0x51abe7=a45_0x54be8e[_0x4a4d0e(0xb2)](_0x4b024b);return a45_0x54be8e[_0x4a4d0e(0xc8)](_0x51abe7,_0x4a4d0e(0xbb));}export async function createProjectNonInteractive(_0x3c269d,_0x5e3772){const _0x232d05=a45_0xb5340c,_0x4e480f=await checkCliVersion();_0x4e480f[_0x232d05(0xc0)]&&printCliUpgradeWarning(_0x4e480f);(!_0x3c269d||_0x3c269d['trim']()==='')&&(console['error'](t(_0x232d05(0xaa))),process['exit'](0x1));const _0x435336=/[<>:"|?*\x00-\x1f\x7f]/;_0x435336[_0x232d05(0xda)](_0x3c269d)&&(console['error'](t('create.validation.invalidChars')),process[_0x232d05(0xcf)](0x1));_0x3c269d[_0x232d05(0xc4)]>0x64&&(console[_0x232d05(0xd6)](t('create.validation.tooLong')),process[_0x232d05(0xcf)](0x1));const _0x2b509e=a45_0x54be8e[_0x232d05(0xc8)](process[_0x232d05(0xab)](),_0x3c269d);existsSync(_0x2b509e)&&(console[_0x232d05(0xd6)](t(_0x232d05(0xbe),{'name':_0x3c269d})),process[_0x232d05(0xcf)](0x1));try{const _0x2d8624=a45_0x54be8e['dirname'](_0x2b509e);await a45_0xc41533[_0x232d05(0xbd)](_0x2d8624,a45_0xc41533[_0x232d05(0xbc)][_0x232d05(0xc9)]);}catch(_0x35902e){console[_0x232d05(0xd6)](t(_0x232d05(0xd9))),process[_0x232d05(0xcf)](0x1);}try{console[_0x232d05(0xaf)](t(_0x232d05(0xc3),{'name':_0x3c269d}));const _0x477262=getTemplateDir();await copyDirectory(_0x477262,_0x2b509e),console['log'](t(_0x232d05(0xdb))),await updatePackageJsonName(_0x3c269d),console[_0x232d05(0xaf)](t(_0x232d05(0xac))),console[_0x232d05(0xaf)](t(_0x232d05(0xd8))),console[_0x232d05(0xaf)](t('create.nonInteractive.depsSkipped')),await formatCode(_0x2b509e),console[_0x232d05(0xaf)](t(_0x232d05(0xc7))),await configureAppEnv(_0x3c269d,_0x5e3772),console[_0x232d05(0xaf)](t(_0x232d05(0xb1))),console[_0x232d05(0xaf)](t(_0x232d05(0xd0),{'name':_0x3c269d})),console[_0x232d05(0xaf)](_0x232d05(0xa9)+_0x3c269d),console[_0x232d05(0xaf)](_0x232d05(0xb4));}catch(_0x56fb0c){const _0x1b0169=_0x56fb0c instanceof Error?_0x56fb0c['message']:String(_0x56fb0c);try{existsSync(_0x2b509e)&&await a45_0xc41533['rm'](_0x2b509e,{'recursive':!![],'force':!![]});}catch{}console[_0x232d05(0xd6)](t('create.errors.createFailed',{'error':_0x1b0169})),process[_0x232d05(0xcf)](0x1);}}function a45_0x86d2(){const _0x554fc1=['bind','needsUpgrade','stringify','lovrabet.config.json','create.nonInteractive.creating','length','join','npm','create.nonInteractive.codeFormatted','resolve','W_OK','description','307269tsPHBc','env','name','A\x20project\x20created\x20with\x20Lovrabet\x20CLI','exit','create.nonInteractive.success','1298585klDQig','598947ydelKM','utf-8','readFile','bun','error','writeFile','create.nonInteractive.installingDeps','create.validation.noPermission','test','create.nonInteractive.templateCreated','bun\x20--version','\x0a\x20\x20cd\x20','create.validation.required','cwd','create.nonInteractive.packageJsonUpdated','763287VdsmSJ','\x20install','log','3433196eEyniH','create.nonInteractive.envConfigured','dirname','parse','\x20\x20lovrabet\x20start\x0a','依赖安装失败:\x20','bun\x20run\x20format','7464rdxlsT','328qXqmXD','6WBWmXR','1057452pkKMzz','../../templates/projects/sub-app-react-demo','constants','access','create.validation.dirExists'];a45_0x86d2=function(){return _0x554fc1;};return a45_0x86d2();}async function updatePackageJsonName(_0x2741ae){const _0x437dc7=a45_0xb5340c,_0x3f7cc1=a45_0x54be8e[_0x437dc7(0xc8)](process['cwd'](),_0x2741ae),_0x49aa31=a45_0x54be8e[_0x437dc7(0xc5)](_0x3f7cc1,'package.json'),_0x5e8860=await a45_0xc41533[_0x437dc7(0xd4)](_0x49aa31,_0x437dc7(0xd3)),_0x2e1ee9=JSON['parse'](_0x5e8860);_0x2e1ee9[_0x437dc7(0xcd)]=_0x2741ae,_0x2e1ee9[_0x437dc7(0xca)]=_0x437dc7(0xce),await a45_0xc41533[_0x437dc7(0xd7)](_0x49aa31,JSON[_0x437dc7(0xc1)](_0x2e1ee9,null,0x2)+'\x0a');}async function installDependencies(_0x76aa51){const _0x3fea9e=a45_0xb5340c,_0x4c8e72=detectPackageManager(),_0x51d0f4=_0x4c8e72+_0x3fea9e(0xae);try{await execAsync(_0x51d0f4,{'cwd':_0x76aa51});}catch(_0x2456da){throw new Error(_0x3fea9e(0xb5)+_0x2456da);}}function detectPackageManager(){const _0x10912c=a45_0xb5340c;try{return execAsync(_0x10912c(0xdc),{}),_0x10912c(0xd5);}catch{return _0x10912c(0xc6);}}async function formatCode(_0x2391ef){const _0x5ba477=a45_0xb5340c;try{await execAsync(_0x5ba477(0xb6),{'cwd':_0x2391ef});}catch{}}async function configureAppEnv(_0xdfedd2,_0x35427c){const _0x276921=a45_0xb5340c,_0x1afa07=a45_0x54be8e[_0x276921(0xc8)](process[_0x276921(0xab)](),_0xdfedd2),_0x1529e5=a45_0x54be8e[_0x276921(0xc5)](_0x1afa07,_0x276921(0xc2));let _0x585c14={};if(existsSync(_0x1529e5)){const _0xcee709=await a45_0xc41533[_0x276921(0xd4)](_0x1529e5,'utf-8');_0x585c14=JSON[_0x276921(0xb3)](_0xcee709);}_0x35427c&&(_0x585c14[_0x276921(0xcc)]=_0x35427c),await a45_0xc41533[_0x276921(0xd7)](_0x1529e5,JSON['stringify'](_0x585c14,null,0x2)+'\x0a');}
@@ -1 +1 @@
1
- (function(_0x401941,_0x4a47a8){var _0x30ea6c=a46_0x239b,_0x43a263=_0x401941();while(!![]){try{var _0x1b078b=-parseInt(_0x30ea6c(0x1d6))/0x1+parseInt(_0x30ea6c(0x1da))/0x2*(-parseInt(_0x30ea6c(0x1d7))/0x3)+-parseInt(_0x30ea6c(0x1db))/0x4*(-parseInt(_0x30ea6c(0x1dc))/0x5)+-parseInt(_0x30ea6c(0x1d9))/0x6*(-parseInt(_0x30ea6c(0x1d3))/0x7)+-parseInt(_0x30ea6c(0x1d5))/0x8+parseInt(_0x30ea6c(0x1dd))/0x9*(parseInt(_0x30ea6c(0x1de))/0xa)+parseInt(_0x30ea6c(0x1d8))/0xb;if(_0x1b078b===_0x4a47a8)break;else _0x43a263['push'](_0x43a263['shift']());}catch(_0x41eaac){_0x43a263['push'](_0x43a263['shift']());}}}(a46_0x43b7,0x4e147));function a46_0x43b7(){var _0x238c1a=['568675fMsooZ','45174xZIDpB','11930963GpTnsz','6klqitv','78eLGqno','8yrJmBW','255545GFjciK','614682lVNhhL','60fZwvJg','taskName','19264TeEqVC','elapsed','989112BKcMfm'];a46_0x43b7=function(){return _0x238c1a;};return a46_0x43b7();}function a46_0x239b(_0x5d7104,_0xc54cd){_0x5d7104=_0x5d7104-0x1d3;var _0x43b7c5=a46_0x43b7();var _0x239ba9=_0x43b7c5[_0x5d7104];return _0x239ba9;}import{jsx as a46_0x251b1b,jsxs as a46_0x445dcf}from'react/jsx-runtime';import{Box,Text}from'ink';import{TaskTime}from'./task-time.js';export function TaskFinished(_0x3a7f86){var _0x3de75a=a46_0x239b;return a46_0x445dcf(Box,{'children':[a46_0x251b1b(Box,{'width':'1'}),a46_0x251b1b(Text,{'color':'green','children':'\x20√\x20'}),a46_0x251b1b(Text,{'children':_0x3a7f86[_0x3de75a(0x1df)]}),a46_0x251b1b(TaskTime,{'elapsed':_0x3a7f86[_0x3de75a(0x1d4)]})]});}
1
+ (function(_0x20c326,_0x41eee5){var _0x46832e=a46_0x23ad,_0x3342ac=_0x20c326();while(!![]){try{var _0x5bce03=-parseInt(_0x46832e(0x7e))/0x1*(parseInt(_0x46832e(0x7a))/0x2)+-parseInt(_0x46832e(0x72))/0x3*(-parseInt(_0x46832e(0x7c))/0x4)+parseInt(_0x46832e(0x78))/0x5*(-parseInt(_0x46832e(0x75))/0x6)+-parseInt(_0x46832e(0x77))/0x7*(-parseInt(_0x46832e(0x79))/0x8)+-parseInt(_0x46832e(0x70))/0x9*(-parseInt(_0x46832e(0x74))/0xa)+-parseInt(_0x46832e(0x76))/0xb+parseInt(_0x46832e(0x7d))/0xc;if(_0x5bce03===_0x41eee5)break;else _0x3342ac['push'](_0x3342ac['shift']());}catch(_0x4b52af){_0x3342ac['push'](_0x3342ac['shift']());}}}(a46_0x4a75,0x7ac80));import{jsx as a46_0x57da01,jsxs as a46_0x4740f4}from'react/jsx-runtime';function a46_0x4a75(){var _0xeae022=['25842bOILfj','4301275DaiCBb','5211549rapFRt','465wIGXIB','8hgssjR','9642HFiCaP','taskName','939524HhydLL','12231396yvobiO','161kyuAwT','9UQScXa','green','3WCpJZN','\x20√\x20','719980MyBcdg'];a46_0x4a75=function(){return _0xeae022;};return a46_0x4a75();}function a46_0x23ad(_0x518b73,_0x44016c){_0x518b73=_0x518b73-0x70;var _0x4a75ee=a46_0x4a75();var _0x23add4=_0x4a75ee[_0x518b73];return _0x23add4;}import{Box,Text}from'ink';import{TaskTime}from'./task-time.js';export function TaskFinished(_0x30e4a0){var _0x3710f6=a46_0x23ad;return a46_0x4740f4(Box,{'children':[a46_0x57da01(Box,{'width':'1'}),a46_0x57da01(Text,{'color':_0x3710f6(0x71),'children':_0x3710f6(0x73)}),a46_0x57da01(Text,{'children':_0x30e4a0[_0x3710f6(0x7b)]}),a46_0x57da01(TaskTime,{'elapsed':_0x30e4a0['elapsed']})]});}
@@ -1 +1 @@
1
- function a47_0x414f(_0x56961b,_0x19278a){_0x56961b=_0x56961b-0x17d;var _0x1eb982=a47_0x1eb9();var _0x414f0b=_0x1eb982[_0x56961b];return _0x414f0b;}function a47_0x1eb9(){var _0x5dba18=['58976qGGbaI','62757pSdmml','889504VrTwVe','10947699fdyVaB','6416934gAHOwq','\x20√\x20','12mjrNmK','464410nijBpk','green','loading','dots','4384qbiqYe','1515995RRAxOb'];a47_0x1eb9=function(){return _0x5dba18;};return a47_0x1eb9();}(function(_0x3f8c0e,_0x146754){var _0x58596c=a47_0x414f,_0x5136a7=_0x3f8c0e();while(!![]){try{var _0x263db0=-parseInt(_0x58596c(0x184))/0x1+-parseInt(_0x58596c(0x189))/0x2*(-parseInt(_0x58596c(0x188))/0x3)+-parseInt(_0x58596c(0x182))/0x4+-parseInt(_0x58596c(0x181))/0x5+-parseInt(_0x58596c(0x186))/0x6+-parseInt(_0x58596c(0x185))/0x7+-parseInt(_0x58596c(0x180))/0x8*(-parseInt(_0x58596c(0x183))/0x9);if(_0x263db0===_0x146754)break;else _0x5136a7['push'](_0x5136a7['shift']());}catch(_0x3b2294){_0x5136a7['push'](_0x5136a7['shift']());}}}(a47_0x1eb9,0xddf4b));import{jsx as a47_0x1f3338,jsxs as a47_0x1ac878}from'react/jsx-runtime';import{Text}from'ink';import a47_0x25bbae from'ink-spinner';export function TaskLoading(_0x59eccf){var _0x17a058=a47_0x414f;if(_0x59eccf['finished'])return a47_0x1f3338(Text,{'color':_0x17a058(0x17d),'children':_0x17a058(0x187)});if(_0x59eccf[_0x17a058(0x17e)])return a47_0x1ac878(Text,{'color':'green','children':['\x20',a47_0x1f3338(a47_0x25bbae,{'type':_0x17a058(0x17f)}),'\x20']});return a47_0x1f3338(Text,{'children':'\x20\x20\x20'});}
1
+ (function(_0x9c8a0,_0x1df701){var _0xfe5806=a47_0x4afd,_0x1de569=_0x9c8a0();while(!![]){try{var _0x20559b=-parseInt(_0xfe5806(0xaf))/0x1*(parseInt(_0xfe5806(0xa4))/0x2)+parseInt(_0xfe5806(0xa3))/0x3+-parseInt(_0xfe5806(0xab))/0x4*(parseInt(_0xfe5806(0xa6))/0x5)+parseInt(_0xfe5806(0xae))/0x6+-parseInt(_0xfe5806(0xb0))/0x7*(parseInt(_0xfe5806(0xad))/0x8)+-parseInt(_0xfe5806(0xa8))/0x9+parseInt(_0xfe5806(0xa7))/0xa;if(_0x20559b===_0x1df701)break;else _0x1de569['push'](_0x1de569['shift']());}catch(_0x446ffa){_0x1de569['push'](_0x1de569['shift']());}}}(a47_0x5093,0xe12a0));import{jsx as a47_0xdafbcf,jsxs as a47_0x3630b0}from'react/jsx-runtime';import{Text}from'ink';function a47_0x4afd(_0xfddfe0,_0x569d36){_0xfddfe0=_0xfddfe0-0xa3;var _0x5093d7=a47_0x5093();var _0x4afd01=_0x5093d7[_0xfddfe0];return _0x4afd01;}import a47_0x2cc482 from'ink-spinner';function a47_0x5093(){var _0x5d4664=['\x20\x20\x20','\x20√\x20','732HEFQOs','finished','1024jPABre','8654616ufgEDL','3941UwSbTE','2611qTUpFw','360339cfRlpT','34ZmGQBN','green','46335MieRgp','27016970RTqJbE','13782348FOvzjo'];a47_0x5093=function(){return _0x5d4664;};return a47_0x5093();}export function TaskLoading(_0x268a76){var _0x2119c8=a47_0x4afd;if(_0x268a76[_0x2119c8(0xac)])return a47_0xdafbcf(Text,{'color':'green','children':_0x2119c8(0xaa)});if(_0x268a76['loading'])return a47_0x3630b0(Text,{'color':_0x2119c8(0xa5),'children':['\x20',a47_0xdafbcf(a47_0x2cc482,{'type':'dots'}),'\x20']});return a47_0xdafbcf(Text,{'children':_0x2119c8(0xa9)});}
@@ -1 +1 @@
1
- (function(_0x158d23,_0x599dae){var _0x2a0f18=a48_0x3122,_0x31cd3a=_0x158d23();while(!![]){try{var _0x416e8c=parseInt(_0x2a0f18(0x19b))/0x1+-parseInt(_0x2a0f18(0x1a3))/0x2+-parseInt(_0x2a0f18(0x1a1))/0x3*(parseInt(_0x2a0f18(0x19e))/0x4)+-parseInt(_0x2a0f18(0x1a2))/0x5*(-parseInt(_0x2a0f18(0x19a))/0x6)+parseInt(_0x2a0f18(0x199))/0x7+parseInt(_0x2a0f18(0x19f))/0x8*(-parseInt(_0x2a0f18(0x1a0))/0x9)+parseInt(_0x2a0f18(0x19c))/0xa;if(_0x416e8c===_0x599dae)break;else _0x31cd3a['push'](_0x31cd3a['shift']());}catch(_0x102622){_0x31cd3a['push'](_0x31cd3a['shift']());}}}(a48_0xeb3a,0x92684));function a48_0xeb3a(){var _0xf7a5c9=['5176311EYkLuL','6QAXRdn','900829srZjet','6071430IqJarG','taskName','1722652HQLqLb','60184bSjWMm','1017zrwaRF','3yRThYs','925655lkjYAP','1104260PRvRTW'];a48_0xeb3a=function(){return _0xf7a5c9;};return a48_0xeb3a();}import{jsx as a48_0x58564c,jsxs as a48_0x45d702}from'react/jsx-runtime';import{Box,Text}from'ink';import{TaskLoading}from'./task-loading.js';function a48_0x3122(_0x3cda09,_0x30bd62){_0x3cda09=_0x3cda09-0x199;var _0xeb3a08=a48_0xeb3a();var _0x312217=_0xeb3a08[_0x3cda09];return _0x312217;}import{TaskTime}from'./task-time.js';export function TaskRunning(_0xbb52c9){var _0x2176e8=a48_0x3122;return a48_0x45d702(Box,{'children':[a48_0x58564c(Box,{'width':'1'}),a48_0x58564c(TaskLoading,{..._0xbb52c9}),a48_0x58564c(Text,{'children':_0xbb52c9[_0x2176e8(0x19d)]}),a48_0x58564c(TaskTime,{'elapsed':_0xbb52c9['elapsed']})]});}
1
+ (function(_0x2dd93b,_0xf84a5b){var _0x4d4588=a48_0x3278,_0x543457=_0x2dd93b();while(!![]){try{var _0x489aba=parseInt(_0x4d4588(0x1aa))/0x1+parseInt(_0x4d4588(0x1a5))/0x2+-parseInt(_0x4d4588(0x1ac))/0x3*(-parseInt(_0x4d4588(0x1a7))/0x4)+parseInt(_0x4d4588(0x1a6))/0x5+parseInt(_0x4d4588(0x1ab))/0x6*(-parseInt(_0x4d4588(0x1af))/0x7)+parseInt(_0x4d4588(0x1ae))/0x8*(-parseInt(_0x4d4588(0x1a8))/0x9)+parseInt(_0x4d4588(0x1ad))/0xa;if(_0x489aba===_0xf84a5b)break;else _0x543457['push'](_0x543457['shift']());}catch(_0x194df6){_0x543457['push'](_0x543457['shift']());}}}(a48_0x5610,0x927c8));import{jsx as a48_0x2410dd,jsxs as a48_0x3a6a52}from'react/jsx-runtime';function a48_0x3278(_0x1dffb2,_0x57ffac){_0x1dffb2=_0x1dffb2-0x1a5;var _0x5610a2=a48_0x5610();var _0x32786b=_0x5610a2[_0x1dffb2];return _0x32786b;}function a48_0x5610(){var _0x50437e=['4761RJTbiG','elapsed','902353LEykMF','102zEmuHe','252OBILyO','5992210ZdLWfa','12944kCYbGq','263501bEqHuO','297898OWjQGP','1451370SXeyCh','7384wXufqO'];a48_0x5610=function(){return _0x50437e;};return a48_0x5610();}import{Box,Text}from'ink';import{TaskLoading}from'./task-loading.js';import{TaskTime}from'./task-time.js';export function TaskRunning(_0x10f62b){var _0x25e426=a48_0x3278;return a48_0x3a6a52(Box,{'children':[a48_0x2410dd(Box,{'width':'1'}),a48_0x2410dd(TaskLoading,{..._0x10f62b}),a48_0x2410dd(Text,{'children':_0x10f62b['taskName']}),a48_0x2410dd(TaskTime,{'elapsed':_0x10f62b[_0x25e426(0x1a9)]})]});}
@@ -1 +1 @@
1
- (function(_0x11ad80,_0x2fd3ed){var _0x16270e=a49_0x3c95,_0x237046=_0x11ad80();while(!![]){try{var _0xbbd5a6=-parseInt(_0x16270e(0x101))/0x1*(-parseInt(_0x16270e(0xfa))/0x2)+-parseInt(_0x16270e(0xfc))/0x3*(parseInt(_0x16270e(0xfe))/0x4)+-parseInt(_0x16270e(0xff))/0x5+-parseInt(_0x16270e(0xf9))/0x6+-parseInt(_0x16270e(0x102))/0x7+parseInt(_0x16270e(0x100))/0x8+-parseInt(_0x16270e(0xfb))/0x9*(-parseInt(_0x16270e(0x103))/0xa);if(_0xbbd5a6===_0x2fd3ed)break;else _0x237046['push'](_0x237046['shift']());}catch(_0x95d08d){_0x237046['push'](_0x237046['shift']());}}}(a49_0x55c8,0xbd933));function a49_0x3c95(_0x578734,_0x25f323){_0x578734=_0x578734-0xf9;var _0x55c834=a49_0x55c8();var _0x3c957f=_0x55c834[_0x578734];return _0x3c957f;}import{jsx as a49_0x3e2ead,Fragment as a49_0x2cc830,jsxs as a49_0x267d75}from'react/jsx-runtime';function a49_0x55c8(){var _0x4fd80e=['gray','18876BOFUVU','117262vnmIcC','682218tkkQqU','9cqVrEi','elapsed','1289844WjnwyL','7243690nUzpxe','12194624XcSuKg','16vShChF','2295202eqjkmc','140NyFfzm'];a49_0x55c8=function(){return _0x4fd80e;};return a49_0x55c8();}import{Text}from'ink';export function TaskTime(_0x1140ad){var _0x3cdee9=a49_0x3c95;if(_0x1140ad['elapsed'])return a49_0x267d75(a49_0x2cc830,{'children':[a49_0x3e2ead(Text,{'color':_0x3cdee9(0x104),'children':'\x20['}),a49_0x3e2ead(Text,{'color':_0x3cdee9(0x104),'bold':!![],'children':_0x1140ad[_0x3cdee9(0xfd)]}),a49_0x3e2ead(Text,{'color':'gray','children':']'})]});return null;}
1
+ function a49_0x3a16(_0x7a3599,_0x274342){_0x7a3599=_0x7a3599-0xd9;var _0x44fb36=a49_0x44fb();var _0x3a168a=_0x44fb36[_0x7a3599];return _0x3a168a;}(function(_0x269b16,_0x522c82){var _0x32b1ff=a49_0x3a16,_0x42d822=_0x269b16();while(!![]){try{var _0x3bb1de=-parseInt(_0x32b1ff(0xde))/0x1*(-parseInt(_0x32b1ff(0xe4))/0x2)+parseInt(_0x32b1ff(0xda))/0x3+parseInt(_0x32b1ff(0xe2))/0x4+parseInt(_0x32b1ff(0xdf))/0x5+parseInt(_0x32b1ff(0xe3))/0x6*(-parseInt(_0x32b1ff(0xe1))/0x7)+parseInt(_0x32b1ff(0xdc))/0x8+parseInt(_0x32b1ff(0xe0))/0x9*(-parseInt(_0x32b1ff(0xd9))/0xa);if(_0x3bb1de===_0x522c82)break;else _0x42d822['push'](_0x42d822['shift']());}catch(_0x414b84){_0x42d822['push'](_0x42d822['shift']());}}}(a49_0x44fb,0x30a2d));import{jsx as a49_0x5db07d,Fragment as a49_0x16e210,jsxs as a49_0x2cd69e}from'react/jsx-runtime';import{Text}from'ink';export function TaskTime(_0x2e8ce2){var _0x5b09a8=a49_0x3a16;if(_0x2e8ce2['elapsed'])return a49_0x2cd69e(a49_0x16e210,{'children':[a49_0x5db07d(Text,{'color':_0x5b09a8(0xdd),'children':'\x20['}),a49_0x5db07d(Text,{'color':'gray','bold':!![],'children':_0x2e8ce2[_0x5b09a8(0xdb)]}),a49_0x5db07d(Text,{'color':_0x5b09a8(0xdd),'children':']'})]});return null;}function a49_0x44fb(){var _0x261f61=['167064PVxoTx','51716ptAYRe','10xBtkSI','1164159FbkmhJ','elapsed','2252352mbtAnu','gray','1kyyaSD','1822115Jwxnzy','8596953ijHeHV','63tzAggp','1380592oixsQI'];a49_0x44fb=function(){return _0x261f61;};return a49_0x44fb();}
@@ -1 +1 @@
1
- const a50_0x17f384=a50_0x1097;(function(_0x2f00ee,_0x34fa8a){const _0x395e13=a50_0x1097,_0x247fd0=_0x2f00ee();while(!![]){try{const _0x371468=-parseInt(_0x395e13(0xec))/0x1*(parseInt(_0x395e13(0xf6))/0x2)+parseInt(_0x395e13(0xed))/0x3+-parseInt(_0x395e13(0xf9))/0x4*(parseInt(_0x395e13(0xf7))/0x5)+parseInt(_0x395e13(0xef))/0x6+parseInt(_0x395e13(0xfa))/0x7*(parseInt(_0x395e13(0xfd))/0x8)+-parseInt(_0x395e13(0xfb))/0x9*(-parseInt(_0x395e13(0xf0))/0xa)+-parseInt(_0x395e13(0xf3))/0xb*(parseInt(_0x395e13(0xfc))/0xc);if(_0x371468===_0x34fa8a)break;else _0x247fd0['push'](_0x247fd0['shift']());}catch(_0x235b29){_0x247fd0['push'](_0x247fd0['shift']());}}}(a50_0x4bba,0x48134));function a50_0x1097(_0x3f9481,_0x1d6d6d){_0x3f9481=_0x3f9481-0xe9;const _0x4bba04=a50_0x4bba();let _0x1097c3=_0x4bba04[_0x3f9481];return _0x1097c3;}import a50_0xba9b24 from'node:path';import{fileURLToPath}from'node:url';import{useCallback,useState}from'react';import{copyDirectory}from'../utils/copy-directory.js';import{formatElapsed}from'./format-elapsed.js';import{logger}from'../utils/logger.js';const __dirname=a50_0xba9b24[a50_0x17f384(0xf1)](fileURLToPath(import.meta.url)),templateDir=a50_0xba9b24['resolve'](__dirname,a50_0x17f384(0xeb));function a50_0x4bba(){const _0x2355d5=['1507168LzCxBG','开始复制项目模板','message','复制项目文件','../../templates/projects/sub-app-react-demo','32FgODHh','87252xxkHuf','info','1785726xAlzWT','10AdMtjA','dirname','error','176NHdcSw','copy','cwd','17720DNUZIm','1670UXjNPX','项目模板复制完成','3748mvbTXB','7wfIoRb','5168925lClBUD','148296rshcaX'];a50_0x4bba=function(){return _0x2355d5;};return a50_0x4bba();}export function useCopyProjectTemplate(){const _0x1de869=a50_0x17f384,[_0x2f70b3,_0x54b08c]=useState(![]),[_0x152e75,_0x31aa3c]=useState(![]),[_0x24c91f,_0x10adf9]=useState(''),_0x534e62=useCallback(async _0x14056a=>{const _0x33f680=a50_0x1097,_0x3c9df8=Date['now'](),_0x1a844d=a50_0xba9b24['resolve'](process[_0x33f680(0xf5)](),_0x14056a);_0x54b08c(!![]);try{logger[_0x33f680(0xee)](_0x33f680(0xf4),_0x33f680(0xfe),{'projectCode':_0x14056a,'templateDir':templateDir}),await copyDirectory(templateDir,_0x1a844d);const _0x57e206=Date['now']()-_0x3c9df8;logger['success']('copy',_0x33f680(0xf8),_0x57e206,{'projectCode':_0x14056a});}catch(_0x3a42da){const _0x26de23=Date['now']()-_0x3c9df8;logger[_0x33f680(0xf2)](_0x33f680(0xf4),'项目模板复制失败',{'projectCode':_0x14056a,'error':_0x3a42da instanceof Error?_0x3a42da[_0x33f680(0xe9)]:String(_0x3a42da),'duration':_0x26de23});throw _0x3a42da;}finally{_0x54b08c(![]),_0x31aa3c(!![]),_0x10adf9(formatElapsed(_0x3c9df8));}},[]);return{'taskName':_0x1de869(0xea),'finished':_0x152e75,'loading':_0x2f70b3,'elapsed':_0x24c91f,'doTask':_0x534e62};}
1
+ const a50_0x1da5db=a50_0x3e4a;(function(_0x3e6a10,_0x28e852){const _0x3fde13=a50_0x3e4a,_0x71ee73=_0x3e6a10();while(!![]){try{const _0x3fe8c7=parseInt(_0x3fde13(0x1c6))/0x1*(-parseInt(_0x3fde13(0x1c5))/0x2)+parseInt(_0x3fde13(0x1c7))/0x3*(parseInt(_0x3fde13(0x1c0))/0x4)+-parseInt(_0x3fde13(0x1cb))/0x5+parseInt(_0x3fde13(0x1d3))/0x6+parseInt(_0x3fde13(0x1cd))/0x7+-parseInt(_0x3fde13(0x1cc))/0x8*(parseInt(_0x3fde13(0x1d1))/0x9)+parseInt(_0x3fde13(0x1d4))/0xa*(parseInt(_0x3fde13(0x1c1))/0xb);if(_0x3fe8c7===_0x28e852)break;else _0x71ee73['push'](_0x71ee73['shift']());}catch(_0x559f9f){_0x71ee73['push'](_0x71ee73['shift']());}}}(a50_0x5835,0xb8d34));function a50_0x5835(){const _0x4a23cd=['dirname','5943150LQCQnb','8noehHE','7434630BNXOyg','开始复制项目模板','copy','success','5308083jKknEp','now','6873546fQQkLY','10JmFvEH','error','4kFkdrL','102399QdRZlF','message','cwd','resolve','2379664iUcBOR','1TDSplO','4524909YNDNWv','info','create.tasks.copyFiles'];a50_0x5835=function(){return _0x4a23cd;};return a50_0x5835();}import a50_0x2df76e from'node:path';import{fileURLToPath}from'node:url';function a50_0x3e4a(_0x1278d5,_0x14620e){_0x1278d5=_0x1278d5-0x1bf;const _0x58359c=a50_0x5835();let _0x3e4a05=_0x58359c[_0x1278d5];return _0x3e4a05;}import{useCallback,useState}from'react';import{copyDirectory}from'../utils/copy-directory.js';import{formatElapsed}from'./format-elapsed.js';import{logger}from'../utils/logger.js';import{useI18n}from'../i18n/hooks.js';const __dirname=a50_0x2df76e[a50_0x1da5db(0x1ca)](fileURLToPath(import.meta.url)),templateDir=a50_0x2df76e[a50_0x1da5db(0x1c4)](__dirname,'../../templates/projects/sub-app-react-demo');export function useCopyProjectTemplate(){const _0x29ebfc=a50_0x1da5db,{t:_0x231a14}=useI18n(),[_0x308096,_0x55bbb0]=useState(![]),[_0xa71119,_0x5516f2]=useState(![]),[_0x33cdb2,_0x2ed08f]=useState(''),_0x5c6271=useCallback(async _0x46fb52=>{const _0x3bdc03=a50_0x3e4a,_0x5c6f66=Date[_0x3bdc03(0x1d2)](),_0x477429=a50_0x2df76e[_0x3bdc03(0x1c4)](process[_0x3bdc03(0x1c3)](),_0x46fb52);_0x55bbb0(!![]);try{logger[_0x3bdc03(0x1c8)](_0x3bdc03(0x1cf),_0x3bdc03(0x1ce),{'projectCode':_0x46fb52,'templateDir':templateDir}),await copyDirectory(templateDir,_0x477429);const _0x80e3ce=Date[_0x3bdc03(0x1d2)]()-_0x5c6f66;logger[_0x3bdc03(0x1d0)]('copy','项目模板复制完成',_0x80e3ce,{'projectCode':_0x46fb52});}catch(_0x54a315){const _0x5b73d5=Date[_0x3bdc03(0x1d2)]()-_0x5c6f66;logger[_0x3bdc03(0x1bf)](_0x3bdc03(0x1cf),'项目模板复制失败',{'projectCode':_0x46fb52,'error':_0x54a315 instanceof Error?_0x54a315[_0x3bdc03(0x1c2)]:String(_0x54a315),'duration':_0x5b73d5});throw _0x54a315;}finally{_0x55bbb0(![]),_0x5516f2(!![]),_0x2ed08f(formatElapsed(_0x5c6f66));}},[]);return{'taskName':_0x231a14(_0x29ebfc(0x1c9)),'finished':_0xa71119,'loading':_0x308096,'elapsed':_0x33cdb2,'doTask':_0x5c6271};}
@@ -1 +1 @@
1
- (function(_0x232869,_0x22bfd7){const _0x5def9=a51_0x42cc,_0x51c86e=_0x232869();while(!![]){try{const _0x95a9e9=parseInt(_0x5def9(0x189))/0x1*(parseInt(_0x5def9(0x188))/0x2)+-parseInt(_0x5def9(0x187))/0x3*(-parseInt(_0x5def9(0x18c))/0x4)+parseInt(_0x5def9(0x183))/0x5+-parseInt(_0x5def9(0x18b))/0x6*(-parseInt(_0x5def9(0x191))/0x7)+parseInt(_0x5def9(0x18e))/0x8+parseInt(_0x5def9(0x196))/0x9+-parseInt(_0x5def9(0x193))/0xa;if(_0x95a9e9===_0x22bfd7)break;else _0x51c86e['push'](_0x51c86e['shift']());}catch(_0x1c4462){_0x51c86e['push'](_0x51c86e['shift']());}}}(a51_0x2eb2,0x5b885));import a51_0x12d7a from'node:path';import{useCallback,useState}from'react';function a51_0x2eb2(){const _0x504841=['608368qdjVzt','message','npx','581nrNpri','代码格式化失败','22395930nGHrrh','now','prettier','4709718GRnbdv','代码格式化完成','开始格式化代码','resolve','2599120hxzmYP','error','format','success','60MiyjUg','96RQlCcM','14167wXTMpr','格式化代码','31524XPTSLv','75848NDLSOT','--write'];a51_0x2eb2=function(){return _0x504841;};return a51_0x2eb2();}import{execa}from'execa';function a51_0x42cc(_0x2c3e36,_0x4dcfb6){_0x2c3e36=_0x2c3e36-0x181;const _0x2eb27b=a51_0x2eb2();let _0x42cc36=_0x2eb27b[_0x2c3e36];return _0x42cc36;}import{formatElapsed}from'./format-elapsed.js';import{logger}from'../utils/logger.js';export function useFormatCode(){const _0x3bc183=a51_0x42cc,[_0x47bc67,_0x3f6042]=useState(![]),[_0x2730ec,_0x4abfab]=useState(![]),[_0x1e3fa3,_0x332725]=useState(''),_0x5df7b7=useCallback(async _0x38a39b=>{const _0x42f607=a51_0x42cc,_0x5b844e=Date['now'](),_0x457ffa=a51_0x12d7a[_0x42f607(0x182)](process['cwd'](),_0x38a39b);_0x3f6042(!![]);try{logger['info'](_0x42f607(0x185),_0x42f607(0x181),{'projectCode':_0x38a39b}),await execa(_0x42f607(0x190),[_0x42f607(0x195),_0x42f607(0x18d),'.'],{'cwd':_0x457ffa});const _0x40064e=Date[_0x42f607(0x194)]()-_0x5b844e;logger[_0x42f607(0x186)](_0x42f607(0x185),_0x42f607(0x197),_0x40064e,{'projectCode':_0x38a39b});}catch(_0x1ccde1){const _0x4adfa5=Date[_0x42f607(0x194)]()-_0x5b844e;logger[_0x42f607(0x184)](_0x42f607(0x185),_0x42f607(0x192),{'projectCode':_0x38a39b,'error':_0x1ccde1 instanceof Error?_0x1ccde1[_0x42f607(0x18f)]:String(_0x1ccde1),'duration':_0x4adfa5});throw _0x1ccde1;}finally{_0x3f6042(![]),_0x4abfab(!![]),_0x332725(formatElapsed(_0x5b844e));}},[]);return{'taskName':_0x3bc183(0x18a),'finished':_0x2730ec,'loading':_0x47bc67,'elapsed':_0x1e3fa3,'doTask':_0x5df7b7};}
1
+ function a51_0x36f5(_0x381d56,_0x3ed8da){_0x381d56=_0x381d56-0xeb;const _0x43142f=a51_0x4314();let _0x36f5d3=_0x43142f[_0x381d56];return _0x36f5d3;}(function(_0x22d96f,_0x37a751){const _0x596c2a=a51_0x36f5,_0x334a74=_0x22d96f();while(!![]){try{const _0x5e943f=parseInt(_0x596c2a(0xf7))/0x1*(-parseInt(_0x596c2a(0xef))/0x2)+-parseInt(_0x596c2a(0xee))/0x3+parseInt(_0x596c2a(0xff))/0x4*(parseInt(_0x596c2a(0xeb))/0x5)+-parseInt(_0x596c2a(0x100))/0x6+parseInt(_0x596c2a(0xf1))/0x7*(-parseInt(_0x596c2a(0xf9))/0x8)+parseInt(_0x596c2a(0xf2))/0x9*(parseInt(_0x596c2a(0xfd))/0xa)+parseInt(_0x596c2a(0x101))/0xb*(parseInt(_0x596c2a(0xf3))/0xc);if(_0x5e943f===_0x37a751)break;else _0x334a74['push'](_0x334a74['shift']());}catch(_0x4066f8){_0x334a74['push'](_0x334a74['shift']());}}}(a51_0x4314,0x752db));import a51_0x180150 from'node:path';import{useCallback,useState}from'react';import{execa}from'execa';import{formatElapsed}from'./format-elapsed.js';import{logger}from'../utils/logger.js';import{useI18n}from'../i18n/hooks.js';function a51_0x4314(){const _0x5caaa7=['605cLyYWq','175qxZkRd','npx','开始格式化代码','1609572kQcSku','26cuHkLA','format','21dpgNLW','144qsvmpt','220044xUSCtp','--write','代码格式化完成','message','34009sBxBfS','success','108912MClSOF','error','create.tasks.formatCode','now','208040AtKiDX','prettier','79364mcowSC','3218328ZNYJJP'];a51_0x4314=function(){return _0x5caaa7;};return a51_0x4314();}export function useFormatCode(){const _0x15f44e=a51_0x36f5,{t:_0x389317}=useI18n(),[_0x43c51f,_0x2f9cd3]=useState(![]),[_0x1e9599,_0x17f885]=useState(![]),[_0x120a56,_0x1cb02b]=useState(''),_0x428ff5=useCallback(async _0x210ee6=>{const _0x578bc5=a51_0x36f5,_0x47e8ea=Date['now'](),_0x2c0b9e=a51_0x180150['resolve'](process['cwd'](),_0x210ee6);_0x2f9cd3(!![]);try{logger['info'](_0x578bc5(0xf0),_0x578bc5(0xed),{'projectCode':_0x210ee6}),await execa(_0x578bc5(0xec),[_0x578bc5(0xfe),_0x578bc5(0xf4),'.'],{'cwd':_0x2c0b9e});const _0x4fe24e=Date[_0x578bc5(0xfc)]()-_0x47e8ea;logger[_0x578bc5(0xf8)](_0x578bc5(0xf0),_0x578bc5(0xf5),_0x4fe24e,{'projectCode':_0x210ee6});}catch(_0xef3b68){const _0x26612f=Date[_0x578bc5(0xfc)]()-_0x47e8ea;logger[_0x578bc5(0xfa)](_0x578bc5(0xf0),'代码格式化失败',{'projectCode':_0x210ee6,'error':_0xef3b68 instanceof Error?_0xef3b68[_0x578bc5(0xf6)]:String(_0xef3b68),'duration':_0x26612f});throw _0xef3b68;}finally{_0x2f9cd3(![]),_0x17f885(!![]),_0x1cb02b(formatElapsed(_0x47e8ea));}},[]);return{'taskName':_0x389317(_0x15f44e(0xfb)),'finished':_0x1e9599,'loading':_0x43c51f,'elapsed':_0x120a56,'doTask':_0x428ff5};}
@@ -1 +1 @@
1
- function a52_0x466e(_0x38986b,_0x53730d){_0x38986b=_0x38986b-0x1a7;const _0x4cb69b=a52_0x4cb6();let _0x466e4a=_0x4cb69b[_0x38986b];return _0x466e4a;}(function(_0x1116ee,_0x320029){const _0x3106ff=a52_0x466e,_0x49951b=_0x1116ee();while(!![]){try{const _0x400619=-parseInt(_0x3106ff(0x1be))/0x1*(-parseInt(_0x3106ff(0x1af))/0x2)+parseInt(_0x3106ff(0x1b4))/0x3+parseInt(_0x3106ff(0x1a8))/0x4*(parseInt(_0x3106ff(0x1aa))/0x5)+parseInt(_0x3106ff(0x1bd))/0x6*(-parseInt(_0x3106ff(0x1b3))/0x7)+parseInt(_0x3106ff(0x1bb))/0x8+parseInt(_0x3106ff(0x1ab))/0x9*(parseInt(_0x3106ff(0x1b6))/0xa)+parseInt(_0x3106ff(0x1b7))/0xb*(-parseInt(_0x3106ff(0x1b1))/0xc);if(_0x400619===_0x320029)break;else _0x49951b['push'](_0x49951b['shift']());}catch(_0x1f8240){_0x49951b['push'](_0x49951b['shift']());}}}(a52_0x4cb6,0xbf13f));function a52_0x4cb6(){const _0x519bdb=['35128404qltPsc','info','8848742cwIcHv','2237034yvVeez','依赖安装完成','9365590uPZhLR','11AvbKwA','resolve','开始安装依赖','--registry','10633192hocOew','error','6ThNEBj','1pQoZyc','install','2812SLPfiV','cwd','6765UsRLRK','9wuFnmr','now','https://registry.npmmirror.com','依赖安装失败','2023166qfRBWS','安装依赖'];a52_0x4cb6=function(){return _0x519bdb;};return a52_0x4cb6();}import a52_0x4ad9a1 from'node:path';import{useCallback,useState}from'react';import{execa}from'execa';import{formatElapsed}from'./format-elapsed.js';import{logger}from'../utils/logger.js';export function useInstallDependencies(){const _0x556355=a52_0x466e,[_0x224105,_0x3e8549]=useState(![]),[_0x1f0de6,_0x5a0ff9]=useState(![]),[_0x18df3f,_0x5db64a]=useState(''),_0x47924e=useCallback(async _0xb5e1d2=>{const _0x416eef=a52_0x466e,_0x49a5d0=Date['now'](),_0x1b9241=a52_0x4ad9a1[_0x416eef(0x1b8)](process[_0x416eef(0x1a9)](),_0xb5e1d2);_0x3e8549(!![]),_0x5a0ff9(![]);const _0x3a03ff=async(_0x415343,_0x99578b)=>{await execa(_0x415343,_0x99578b,{'cwd':_0x1b9241});};try{logger[_0x416eef(0x1b2)](_0x416eef(0x1a7),_0x416eef(0x1b9),{'projectCode':_0xb5e1d2,'registry':_0x416eef(0x1ad)}),await _0x3a03ff('npm',['install',_0x416eef(0x1ba),_0x416eef(0x1ad)]);const _0x5c3ccc=Date[_0x416eef(0x1ac)]()-_0x49a5d0;logger['success'](_0x416eef(0x1a7),_0x416eef(0x1b5),_0x5c3ccc,{'projectCode':_0xb5e1d2});}catch(_0x488856){const _0x362cd5=Date[_0x416eef(0x1ac)]()-_0x49a5d0;logger[_0x416eef(0x1bc)](_0x416eef(0x1a7),_0x416eef(0x1ae),{'projectCode':_0xb5e1d2,'error':_0x488856 instanceof Error?_0x488856['message']:String(_0x488856),'duration':_0x362cd5});throw _0x488856;}finally{_0x3e8549(![]),_0x5a0ff9(!![]),_0x5db64a(formatElapsed(_0x49a5d0));}},[]);return{'taskName':_0x556355(0x1b0),'finished':_0x1f0de6,'loading':_0x224105,'elapsed':_0x18df3f,'doTask':_0x47924e};}
1
+ (function(_0x36e31f,_0xa647a7){const _0x4573a3=a52_0x19a3,_0x33b478=_0x36e31f();while(!![]){try{const _0x2b7248=-parseInt(_0x4573a3(0x147))/0x1*(parseInt(_0x4573a3(0x14d))/0x2)+-parseInt(_0x4573a3(0x151))/0x3+-parseInt(_0x4573a3(0x15b))/0x4*(-parseInt(_0x4573a3(0x156))/0x5)+parseInt(_0x4573a3(0x158))/0x6*(-parseInt(_0x4573a3(0x153))/0x7)+parseInt(_0x4573a3(0x15d))/0x8+-parseInt(_0x4573a3(0x148))/0x9+parseInt(_0x4573a3(0x14c))/0xa*(parseInt(_0x4573a3(0x149))/0xb);if(_0x2b7248===_0xa647a7)break;else _0x33b478['push'](_0x33b478['shift']());}catch(_0x1a295){_0x33b478['push'](_0x33b478['shift']());}}}(a52_0x1715,0x927d8));function a52_0x19a3(_0x4c5e3f,_0x78584d){_0x4c5e3f=_0x4c5e3f-0x147;const _0x1715db=a52_0x1715();let _0x19a3b0=_0x1715db[_0x4c5e3f];return _0x19a3b0;}function a52_0x1715(){const _0x5534d4=['22400bUQcml','依赖安装失败','success','依赖安装完成','2268810OdMtdr','https://registry.npmmirror.com','95851fgAdYB','install','npm','10kASUSz','now','228IUXNob','cwd','message','492868trRnED','resolve','2522456laBvYn','10DfVMfb','6811569FYIkft','44fbfqge','create.tasks.installDependencies','error','5459320vcBDEA'];a52_0x1715=function(){return _0x5534d4;};return a52_0x1715();}import a52_0x43f44c from'node:path';import{useCallback,useState}from'react';import{execa}from'execa';import{formatElapsed}from'./format-elapsed.js';import{logger}from'../utils/logger.js';import{useI18n}from'../i18n/hooks.js';export function useInstallDependencies(){const _0x4387c1=a52_0x19a3,{t:_0x5ca342}=useI18n(),[_0x109c90,_0x4ea676]=useState(![]),[_0x316fbc,_0x3b1038]=useState(![]),[_0x6b9ecf,_0x56d1be]=useState(''),_0x3d9738=useCallback(async _0x2fea80=>{const _0x10eb85=a52_0x19a3,_0xf49fab=Date[_0x10eb85(0x157)](),_0x915eec=a52_0x43f44c[_0x10eb85(0x15c)](process[_0x10eb85(0x159)](),_0x2fea80);_0x4ea676(!![]),_0x3b1038(![]);const _0x3d2f66=async(_0x27eabb,_0x3d992c)=>{await execa(_0x27eabb,_0x3d992c,{'cwd':_0x915eec});};try{logger['info']('install','开始安装依赖',{'projectCode':_0x2fea80,'registry':'https://registry.npmmirror.com'}),await _0x3d2f66(_0x10eb85(0x155),[_0x10eb85(0x154),'--registry',_0x10eb85(0x152)]);const _0x10d631=Date[_0x10eb85(0x157)]()-_0xf49fab;logger[_0x10eb85(0x14f)](_0x10eb85(0x154),_0x10eb85(0x150),_0x10d631,{'projectCode':_0x2fea80});}catch(_0x425667){const _0x590372=Date['now']()-_0xf49fab;logger[_0x10eb85(0x14b)](_0x10eb85(0x154),_0x10eb85(0x14e),{'projectCode':_0x2fea80,'error':_0x425667 instanceof Error?_0x425667[_0x10eb85(0x15a)]:String(_0x425667),'duration':_0x590372});throw _0x425667;}finally{_0x4ea676(![]),_0x3b1038(!![]),_0x56d1be(formatElapsed(_0xf49fab));}},[]);return{'taskName':_0x5ca342(_0x4387c1(0x14a)),'finished':_0x316fbc,'loading':_0x109c90,'elapsed':_0x6b9ecf,'doTask':_0x3d9738};}
package/lib/help.js CHANGED
@@ -1 +1 @@
1
- (function(_0x128a86,_0x253876){var _0x13709e=a53_0x49f7,_0x20c37a=_0x128a86();while(!![]){try{var _0x1b5b55=-parseInt(_0x13709e(0xfc))/0x1*(-parseInt(_0x13709e(0x101))/0x2)+-parseInt(_0x13709e(0xf7))/0x3+parseInt(_0x13709e(0x102))/0x4*(-parseInt(_0x13709e(0xf8))/0x5)+parseInt(_0x13709e(0xfe))/0x6+-parseInt(_0x13709e(0xfa))/0x7*(-parseInt(_0x13709e(0x100))/0x8)+-parseInt(_0x13709e(0xf6))/0x9+parseInt(_0x13709e(0xfb))/0xa*(parseInt(_0x13709e(0xf9))/0xb);if(_0x1b5b55===_0x253876)break;else _0x20c37a['push'](_0x20c37a['shift']());}catch(_0x2d3640){_0x20c37a['push'](_0x20c37a['shift']());}}}(a53_0x3e02,0xd8add));function a53_0x49f7(_0x31664c,_0x151de3){_0x31664c=_0x31664c-0xf6;var _0x3e0290=a53_0x3e02();var _0x49f7c6=_0x3e0290[_0x31664c];return _0x49f7c6;}function a53_0x3e02(){var _0x1cb057=['27748886nHoedu','1722728ibhoSp','10XvwxlC','7989sfyKcG','green','2107914DXOyMy','查看可用命令。','8xBbrIb','282vEGcWL','466016ROCZha','9514341zTqemm','2012328VFqJjI','70psKqBZ'];a53_0x3e02=function(){return _0x1cb057;};return a53_0x3e02();}import{jsx as a53_0x13712f,jsxs as a53_0x104e19}from'react/jsx-runtime';import{Box,Text}from'ink';export function Help(){var _0x3928ed=a53_0x49f7;return a53_0x104e19(Box,{'flexDirection':'column','marginTop':0x1,'marginBottom':0x1,'children':[a53_0x104e19(Box,{'children':[a53_0x13712f(Box,{'width':'1'}),a53_0x13712f(Text,{'children':'!\x20请指定一个有效的命令。'})]}),a53_0x104e19(Box,{'marginTop':0x1,'children':[a53_0x13712f(Box,{'width':'1'}),a53_0x104e19(Text,{'children':['\x20\x20','使用']}),a53_0x104e19(Text,{'bold':!![],'color':_0x3928ed(0xfd),'children':['\x20','lovrabet\x20--help','\x20']}),a53_0x13712f(Text,{'children':_0x3928ed(0xff)})]})]});}
1
+ (function(_0xf8b7be,_0x39f980){const _0x4917ec=a53_0x4337,_0x4201a8=_0xf8b7be();while(!![]){try{const _0x581fb0=parseInt(_0x4917ec(0x1df))/0x1*(-parseInt(_0x4917ec(0x1e0))/0x2)+-parseInt(_0x4917ec(0x1e1))/0x3+parseInt(_0x4917ec(0x1dd))/0x4+-parseInt(_0x4917ec(0x1e8))/0x5*(parseInt(_0x4917ec(0x1e4))/0x6)+parseInt(_0x4917ec(0x1db))/0x7*(parseInt(_0x4917ec(0x1e2))/0x8)+parseInt(_0x4917ec(0x1e6))/0x9+-parseInt(_0x4917ec(0x1dc))/0xa*(-parseInt(_0x4917ec(0x1e3))/0xb);if(_0x581fb0===_0x39f980)break;else _0x4201a8['push'](_0x4201a8['shift']());}catch(_0x459389){_0x4201a8['push'](_0x4201a8['shift']());}}}(a53_0x2e7e,0xd7e50));function a53_0x4337(_0x21d427,_0x4c3e81){_0x21d427=_0x21d427-0x1db;const _0x2e7edd=a53_0x2e7e();let _0x433758=_0x2e7edd[_0x21d427];return _0x433758;}import{jsx as a53_0x1d015a,jsxs as a53_0x244d99}from'react/jsx-runtime';import{Box,Text}from'ink';function a53_0x2e7e(){const _0x1fb6f6=['10ZosKWr','2148060WfphIS','column','73EigFfx','648GJsFqd','5120259sZjATZ','132112lRGvmb','16050056BufHPE','6ODRNwx','help.usageHint','1584612WVKexf','lovrabet\x20--help','2080990IJmkJp','364AxPohx'];a53_0x2e7e=function(){return _0x1fb6f6;};return a53_0x2e7e();}import{useI18n}from'./i18n/hooks.js';export function Help(){const _0x240b92=a53_0x4337,{t:_0x3af1ac}=useI18n();return a53_0x244d99(Box,{'flexDirection':_0x240b92(0x1de),'marginTop':0x1,'marginBottom':0x1,'children':[a53_0x244d99(Box,{'children':[a53_0x1d015a(Box,{'width':'1'}),a53_0x1d015a(Text,{'children':_0x3af1ac('help.invalidCommand')})]}),a53_0x244d99(Box,{'marginTop':0x1,'children':[a53_0x1d015a(Box,{'width':'1'}),a53_0x244d99(Text,{'children':['\x20\x20',_0x3af1ac(_0x240b92(0x1e5))]}),a53_0x244d99(Text,{'bold':!![],'color':'green','children':['\x20',_0x240b92(0x1e7),'\x20']}),a53_0x1d015a(Text,{'children':_0x3af1ac('help.viewCommands')})]})]});}
@@ -0,0 +1 @@
1
+ (function(_0x154d4e,_0x55dcb8){var _0x363ac6=a54_0x389a,_0x23251f=_0x154d4e();while(!![]){try{var _0x29570e=parseInt(_0x363ac6(0x1d6))/0x1+parseInt(_0x363ac6(0x1df))/0x2+parseInt(_0x363ac6(0x1de))/0x3*(-parseInt(_0x363ac6(0x1db))/0x4)+-parseInt(_0x363ac6(0x1dc))/0x5+-parseInt(_0x363ac6(0x1da))/0x6*(parseInt(_0x363ac6(0x1d9))/0x7)+parseInt(_0x363ac6(0x1dd))/0x8+-parseInt(_0x363ac6(0x1e0))/0x9*(-parseInt(_0x363ac6(0x1d8))/0xa);if(_0x29570e===_0x55dcb8)break;else _0x23251f['push'](_0x23251f['shift']());}catch(_0x49f822){_0x23251f['push'](_0x23251f['shift']());}}}(a54_0x45e3,0xd400e));import{jsx as a54_0x5bf922}from'react/jsx-runtime';import{I18nextProvider}from'react-i18next';function a54_0x45e3(){var _0x36da62=['changeLanguage','9613300ESawZT','70LFrjeT','702360XFYUJu','4lQqmFt','5507550xSYiIm','10840624AEVQcd','4414332eKVfmz','1109332swnIyz','18EzIdnr','779516RhrQsV'];a54_0x45e3=function(){return _0x36da62;};return a54_0x45e3();}import a54_0x13a69d from'./index.js';function a54_0x389a(_0x4982cc,_0x38f716){_0x4982cc=_0x4982cc-0x1d6;var _0x45e391=a54_0x45e3();var _0x389ae9=_0x45e391[_0x4982cc];return _0x389ae9;}export function I18nProvider({children:_0x133081,language:_0x575a1c}){var _0x3cc893=a54_0x389a;return _0x575a1c&&a54_0x13a69d['language']!==_0x575a1c&&a54_0x13a69d[_0x3cc893(0x1d7)](_0x575a1c),a54_0x5bf922(I18nextProvider,{'i18n':a54_0x13a69d,'children':_0x133081});}
@@ -0,0 +1 @@
1
+ (function(_0xefa3a0,_0x381a9e){var _0x204241=a55_0x3178,_0x10ed6f=_0xefa3a0();while(!![]){try{var _0x10f4b6=parseInt(_0x204241(0x13b))/0x1*(-parseInt(_0x204241(0x13c))/0x2)+-parseInt(_0x204241(0x141))/0x3+parseInt(_0x204241(0x13d))/0x4*(parseInt(_0x204241(0x142))/0x5)+parseInt(_0x204241(0x144))/0x6+-parseInt(_0x204241(0x140))/0x7+-parseInt(_0x204241(0x13e))/0x8*(-parseInt(_0x204241(0x143))/0x9)+-parseInt(_0x204241(0x13f))/0xa;if(_0x10f4b6===_0x381a9e)break;else _0x10ed6f['push'](_0x10ed6f['shift']());}catch(_0x33415d){_0x10ed6f['push'](_0x10ed6f['shift']());}}}(a55_0x236a,0xbdf12));function a55_0x3178(_0x723ead,_0xf0ecd3){_0x723ead=_0x723ead-0x13b;var _0x236a81=a55_0x236a();var _0x3178d8=_0x236a81[_0x723ead];return _0x3178d8;}import{useTranslation}from'react-i18next';export function useI18n(){return useTranslation();}export function useI18nNs(_0x329088){return useTranslation(_0x329088);}function a55_0x236a(){var _0x2838c7=['44PTkJNl','8chimjo','13121690utpDhY','9544360CBRcof','425376gDGEdj','498790dPhUJf','12963411FGWgXC','7953396EhRfEA','60hTMOll','8928aOMbyi'];a55_0x236a=function(){return _0x2838c7;};return a55_0x236a();}
@@ -0,0 +1 @@
1
+ const a56_0x5a5426=a56_0x26bb;(function(_0x25ebbc,_0x4121eb){const _0xbb94a=a56_0x26bb,_0x589d5c=_0x25ebbc();while(!![]){try{const _0x121578=-parseInt(_0xbb94a(0xf4))/0x1*(parseInt(_0xbb94a(0xf2))/0x2)+parseInt(_0xbb94a(0xdb))/0x3+-parseInt(_0xbb94a(0xde))/0x4*(-parseInt(_0xbb94a(0xdd))/0x5)+parseInt(_0xbb94a(0xf6))/0x6+-parseInt(_0xbb94a(0xf1))/0x7*(parseInt(_0xbb94a(0xe2))/0x8)+parseInt(_0xbb94a(0xe4))/0x9*(parseInt(_0xbb94a(0xe8))/0xa)+parseInt(_0xbb94a(0xe9))/0xb*(-parseInt(_0xbb94a(0xec))/0xc);if(_0x121578===_0x4121eb)break;else _0x589d5c['push'](_0x589d5c['shift']());}catch(_0x3abdf7){_0x589d5c['push'](_0x589d5c['shift']());}}}(a56_0x1721,0x798ca));import a56_0x2a9768 from'i18next';import{initReactI18next}from'react-i18next';import{existsSync,readFileSync}from'node:fs';import{resolve}from'node:path';import{homedir}from'node:os';function a56_0x1721(){const _0x4c03d7=['240coRaAz','36896tyqzoC','LC_ALL','string','resolvedOptions','8ALGTxp','lang','9OKMgAf','locale','env','zh-CN','3155930YjnhVs','237083DnPoDa','LANG','cwd','480eUSoCX','DateTimeFormat','use','language','utf8','2509213BNUBqd','109118qfKkTx','en-US','6ZmFGzO','LOVRABET_LANG','3874188IkFQPO','1925268uMgmtQ','.lovrabetrc'];a56_0x1721=function(){return _0x4c03d7;};return a56_0x1721();}import a56_0x1a6f72 from'./locales/zh-CN.js';import a56_0x1903fb from'./locales/en-US.js';export function isChineseLanguage(_0x307730){if(!_0x307730)return![];const _0x167d9e=_0x307730['toLowerCase']()['replace']('_','-');return/^zh($|-)/['test'](_0x167d9e);}const LOCALE_MAP={'zh':a56_0x5a5426(0xe7),'zh-cn':a56_0x5a5426(0xe7),'zh_cn':'zh-CN','en':a56_0x5a5426(0xf3),'en-us':'en-US','en_us':'en-US'};export function normalizeLocale(_0x50b58c){if(!_0x50b58c)return null;return LOCALE_MAP[_0x50b58c['toLowerCase']()]??null;}function a56_0x26bb(_0x17c155,_0x2e592f){_0x17c155=_0x17c155-0xdb;const _0x172197=a56_0x1721();let _0x26bb68=_0x172197[_0x17c155];return _0x26bb68;}function readLocaleFromConfig(){const _0x12c3dc=a56_0x5a5426;try{const _0x21d1f0=resolve(process[_0x12c3dc(0xeb)](),_0x12c3dc(0xdc));if(existsSync(_0x21d1f0)){const _0x18c853=readFileSync(_0x21d1f0,{'encoding':_0x12c3dc(0xf0)});if(_0x18c853){const _0x260fa3=JSON['parse'](_0x18c853);if(typeof _0x260fa3[_0x12c3dc(0xe5)]===_0x12c3dc(0xe0)){const _0x3f85b1=normalizeLocale(_0x260fa3['locale']);if(_0x3f85b1)return _0x3f85b1;}}}}catch{}try{const _0x894ddf=resolve(homedir(),_0x12c3dc(0xdc));if(existsSync(_0x894ddf)){const _0x5c02a7=readFileSync(_0x894ddf,{'encoding':_0x12c3dc(0xf0)});if(_0x5c02a7){const _0x5b355b=JSON['parse'](_0x5c02a7);if(typeof _0x5b355b['locale']===_0x12c3dc(0xe0)){const _0x172fe4=normalizeLocale(_0x5b355b[_0x12c3dc(0xe5)]);if(_0x172fe4)return _0x172fe4;}}}}catch{}return null;}export function detectSystemLanguage(){const _0x35363f=a56_0x5a5426,_0x2fdf92=process['env'][_0x35363f(0xf5)];if(_0x2fdf92){const _0x55471a=normalizeLocale(_0x2fdf92);if(_0x55471a)return _0x55471a;}const _0x1d5012=readLocaleFromConfig();if(_0x1d5012)return _0x1d5012;const _0x489578=process[_0x35363f(0xe6)][_0x35363f(0xdf)];if(_0x489578&&isChineseLanguage(_0x489578))return _0x35363f(0xe7);const _0x50c5b4=process['env'][_0x35363f(0xea)];if(_0x50c5b4&&isChineseLanguage(_0x50c5b4))return _0x35363f(0xe7);try{const _0x291318=Intl[_0x35363f(0xed)]()[_0x35363f(0xe1)]()[_0x35363f(0xe5)];if(_0x291318&&isChineseLanguage(_0x291318))return _0x35363f(0xe7);}catch{}return _0x35363f(0xf3);}export function getLanguageFromFlags(_0x45d281){const _0x503266=a56_0x5a5426,_0x7de6c6=_0x45d281[_0x503266(0xe3)];if(_0x7de6c6==='zh-CN'||_0x7de6c6==='zh'||_0x7de6c6==='zh_CN')return _0x503266(0xe7);if(_0x7de6c6===_0x503266(0xf3)||_0x7de6c6==='en'||_0x7de6c6==='en_US')return _0x503266(0xf3);return null;}a56_0x2a9768[a56_0x5a5426(0xee)](initReactI18next)['init']({'resources':{'zh-CN':{'translation':a56_0x1a6f72},'en-US':{'translation':a56_0x1903fb}},'lng':detectSystemLanguage(),'fallbackLng':a56_0x5a5426(0xf3),'interpolation':{'escapeValue':![]},'react':{'useSuspense':![]},'showSupportNotice':![]});export default a56_0x2a9768;export function changeLanguage(_0x49d289){a56_0x2a9768['changeLanguage'](_0x49d289);}export function getCurrentLanguage(){const _0x179ba6=a56_0x5a5426;return a56_0x2a9768[_0x179ba6(0xef)];}
@@ -0,0 +1 @@
1
+ var a57_0x57fa2f=a57_0x1a38;function a57_0x1a38(_0x3df2f1,_0x5f4a99){_0x3df2f1=_0x3df2f1-0x180;var _0x302d6b=a57_0x302d();var _0x1a381e=_0x302d6b[_0x3df2f1];return _0x1a381e;}function a57_0x302d(){var _0x183aa3=['\x20Fetching\x20online\x20menu\x20list...','Loading\x20page\x20templates...','Your\x20choice:\x20','*\x20Automatically\x20pull\x20API\x20config?','×\x20Invalid\x20file\x20prefix.\x20Only\x20letters,\x20numbers,\x20hyphens\x20and\x20underscores\x20allowed,\x20must\x20start\x20with\x20a\x20letter.','AppCode\x20can\x20only\x20contain\x20letters,\x20numbers,\x20hyphens\x20and\x20underscores,\x20and\x20must\x20start\x20with\x20a\x20letter\x20or\x20number','Other\x20IDE','Claude\x20Code\x20MCP\x20command\x20generated','!\x20API\x20configuration\x20pull\x20failed,\x20you\x20can\x20manually\x20run:\x20lovrabet\x20api\x20pull','\x20|\x20AppCode:\x20','Use\x20specified\x20appcode','Failed\x20to\x20create\x20menu:\x20{{error}}','Configuring\x20AI\x20assistant...','List\x20all\x20config\x20values','Copy\x20project\x20files','Please\x20restart\x20Cursor\x20to\x20load\x20the\x20new\x20MCP\x20config.','Usage\x20examples:','Entered\x20route\x20','Unable\x20to\x20close\x20automatically.\x20Please\x20close\x20this\x20tab\x20or\x20window\x20manually.','\x20Logging\x20in...','Previous','Project\x20Name','Menu\x20Name','[optional]:\x20','↑/↓:\x20Move\x20\x20Space:\x20Toggle\x20\x20a:\x20All\x20\x20q:\x20Quit\x20\x20Enter:\x20Confirm','↪\x20SDK\x20update\x20available','Please\x20enter\x20App\x20Code:','MCP\x20Server\x20(AI\x20dataset\x20access)','Yes','\x20*\x20Page\x20file\x20created,\x20you\x20can\x20access\x20it\x20by\x20route','Fetching\x20developer\x20guides\x20from\x20CDN...','*\x20JS\x20URL:\x20','Dependency\x20installation\x20failed:\x20{{error}}','Failed\x20to\x20copy\x20shared\x20skill\x20files','√\x20Valid\x20session\x20detected,\x20no\x20login\x20required.','\x0a📦\x20Installing\x20{{name}}...\x0a','\x20\x20Error:\x20{{error}}','\x20\x20\x20Stable\x20version:\x20{{version}}','No\x20config\x20value\x20provided','\x0aNote:\x20Some\x20configurations\x20require\x20manual\x20commands,\x20please\x20follow\x20the\x20instructions\x20above','env\x20value\x20must\x20be\x20\x22online\x22\x20or\x20\x22daily\x22','Logged\x20in','\x20\x20\x202.\x20Set\x20default:\x20lovrabet\x20config\x20set\x20app\x20<app-code>','Initializing\x20configuration\x20file...','Install\x20for\x20specific\x20IDE','App\x20Code','.lovrabetrc\x20file\x20already\x20exists\x20in\x20current\x20directory','Lovrabet\x20Skill\x20-\x20Developer\x20Skill\x20Installation\x20Tool','*\x20Select\x20IDEs\x20to\x20configure:','Failed\x20to\x20copy\x20agents.md\x20file','Supported\x20IDEs:','Previewing\x20project...','×\x20Project\x20creation\x20failed:\x20{{error}}','\x20\x20Direct\x20install\x20(multiple\x20IDEs)\x20\x20\x20\x20\x20-\x20Use\x20--ide\x20flags\x20to\x20install\x20directly','\x20\x20Recommended:\x20Yes,\x20to\x20auto-configure\x20API','Failed\x20to\x20fetch\x20datasets,\x20HTTP\x20status:\x20{{status}}','\x20\x20\x20Current\x20version:\x20{{package}}@{{version}}','*\x20Sync\x20menus\x20to\x20Lovrabet\x20platform','Invalid\x20project\x20name','Failed\x20to\x20fetch\x20menu\x20list:\x20{{error}}','Written\x20.cursor/mcp.json','Login\x20failed','All\x20specified\x20dataset\x20codes\x20do\x20not\x20exist:\x20{{codes}}','Generate\x20doc\x20for\x20specific\x20dataset\x20only','Unsupported\x20IDE:\x20{{ide}}','Menus\x20to\x20update:','Invalid\x20locale\x20value.\x20Supported:\x20zh,\x20en,\x20zh-CN,\x20en-US','!\x20The\x20following\x20dataset\x20codes\x20do\x20not\x20exist:\x20{{codes}}','Skills\x20(engineering\x20guidelines)','!\x20No\x20valid\x20login\x20detected','\x20\x20Use\x20←→\x20to\x20choose,\x20press\x20Enter\x20to\x20confirm','Developer\x20guides\x20location:','Press\x20“q”\x20to\x20exit.','Specify\x20doc\x20output\x20directory','No\x20appcode\x20found.\x20Run\x20\x27lovrabet\x20init\x27\x20to\x20initialize\x20project\x20config','Local','Unknown\x20api\x20command','Page\x20Name','Install\x20Lovrabet\x20Skills\x20-\x20Select\x20IDE','Menu\x20assets\x20synced:\x20{{label}}','Authentication','✓\x20{{scope}}\x20env\x20set\x20to:\x20{{value}}','{{count}}\x20IDEs','No\x20AppCode\x20provided\x20and\x20no\x20default\x20configured','Failed\x20to\x20copy\x20Cursor\x20Rules\x20file','App\x20Code\x20cannot\x20exceed\x20100\x20characters','√\x20Pulled\x20{{datasetCount}}\x20datasets,\x20generated\x20{{modelCount}}\x20models','Failed\x20to\x20fetch\x20template\x20list:','Error:\x20Unsupported\x20command:\x20{{cmd}}','JS\x20URL','Finish','Please\x20enter\x20a\x20valid\x20JS\x20https\x20URL','\x20\x20$\x20lovrabet\x20mcp\x20install','Generate\x20docs\x20for\x20multiple\x20datasets','Clear\x20Logs','Include\x20Backend\x20Function\x20sync\x20workflow','\x20\x20lovrabet\x20mcp\x20install\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20Interactive\x20MCP\x20configuration','CSS\x20URL','Warning','Fetching\x20online\x20menu\x20list...\x20(appCode:\x20{{appCode}})','Configure\x20Lovrabet\x20MCP\x20Server','Skill\x20contents\x20include:','*\x20Project\x20name:\x20','\x20\x20\x20\x20→\x20Install\x20all\x20IDE\x20skills','*\x20Logs\x20cleared','\x20\x20Include\x20BFF\x20sync\x20workflow\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20-\x20Use\x20--dangerously-bff-save\x20flag','\x0a✓\x20Skills\x20installed\x20successfully!\x20{{count}}\x20directories\x20created\x0a','\x0aSelect\x20IDE\x20to\x20configure\x20MCP:\x0a','*\x20AppCode\x20','Pull\x20and\x20generate\x20API\x20config\x20files','to\x20view\x20available\x20commands.','💡\x20If\x20the\x20browser\x20does\x20not\x20open\x20automatically,\x20copy\x20the\x20login\x20URL\x20above\x20into\x20your\x20browser.','19196IKvFBg','❌\x20Error:\x20Positional\x20arguments\x20are\x20no\x20longer\x20supported','\x20\x20\x20\x20→\x20Install\x20skills\x20with\x20Backend\x20Function\x20sync\x20workflow','Project\x20name\x20is\x20too\x20long,\x20maximum\x20100\x20characters','CSS\x20URL:\x20','Configuration\x20command\x20generated','Project\x20name\x20must\x20start\x20with\x20a\x20letter\x20or\x20number\x20and\x20only\x20contain\x20letters,\x20numbers,\x20-\x20and\x20_','Project\x20Configuration','\x0aInstallation\x20cancelled\x0a','Specify\x20output\x20directory','↪\x20New\x20version\x20available','Create\x20Cursor\x20Rules\x20file','🔐\x20Starting\x20login\x20service...','Enter\x20default:\x20Yes','\x20\x20lovrabet\x20mcp\x20--help\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20Show\x20help','Using\x20specified\x20AppCode:\x20{{appCode}}','\x20Enter\x20project\x20CSS\x20asset\x20URL\x20(https://...)','\x20Step2:\x20','\x0a📋\x20Run\x20the\x20following\x20command\x20to\x20configure\x20Claude\x20Code\x20MCP:\x0a','Info','{{count}}\x20items\x20created','•\x20MCP:\x20Allow\x20AI\x20to\x20access\x20Lovrabet\x20datasets\x20directly','6Otzduo','API\x20Management','{{count}}','Next','Login\x20skipped','Each\x20path\x20segment\x20must\x20start\x20with\x20a\x20letter\x20or\x20number\x20and\x20only\x20contain\x20letters,\x20numbers,\x20-\x20and\x20_','\x20\x20lovrabet\x20skill\x20install\x20<ide>\x20\x20\x20\x20\x20#\x20Install\x20for\x20specific\x20IDE','MCP\x20&\x20Skill','*\x20Cleaning\x20up\x20failed\x20project\x20directory:\x20{{dir}}','✓\x20Generated:\x20{{fileName}}.md','\x20\x20\x20\x20$\x20lovrabet\x20mcp\x20install\x20--claude\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20#\x20Configure\x20Claude\x20Code','\x0aInvalid\x20choice.\x20Enter\x20a\x20number\x20between\x201\x20and\x20{{count}}\x0a','↑/↓:\x20Move\x20\x20Space:\x20Toggle\x20\x20a:\x20All\x20\x20i/r:\x20Invert\x20\x20q:\x20Quit\x20\x20Enter:\x20Confirm','{{count}}\x20items','\x20Fetching\x20online\x20menu\x20asset\x20links...','*\x20Creating\x20project\x20{{name}}...','Configuration\x20guide\x20displayed','*\x20No\x20logs\x20found','Configure\x20AI\x20assistant\x20as\x20well?\x20This\x20will:','1.\x20Configure\x20Lovrabet\x20MCP\x20and\x20Skill','Authentication\x20failed,\x20session\x20expired.\x20Please\x20use\x20lovrabet\x20auth\x20to\x20login\x20again','Failed\x20to\x20fetch\x20datasets:\x20{{error}}','Bind\x20AppCode\x20to\x20auto-configure\x20API,\x20e.g.\x20app-c4c89304\x20(press\x20Enter\x20to\x20skip)','Cursor\x20Rules\x20file\x20already\x20exists,\x20skipping','Start\x20project:','Fetching\x20model\x20list\x20from\x20server...\x20(env:\x20{{env}})','\x20\x20.lovrabet/skill/.shared/guides/\x20-\x20Detailed\x20developer\x20guides\x0a','Run\x20the\x20following\x20command\x20to\x20configure\x20Claude\x20Code\x20MCP:','Project\x20name:\x20','Page\x20Path','√\x20Doc\x20generation\x20complete!\x20{{successCount}}\x20succeeded','\x20\x20√\x20Code\x20formatted','Login\x20successful!','Other\x20IDE\x20configuration\x20guide','Install\x20all','\x20command\x20to\x20re-login','Appcode\x20must\x20be\x20configured\x20first','×\x20API\x20config\x20pull\x20failed:\x20{{error}}','✗\x20Failed:\x20{{fileName}}.md\x20-\x20{{error}}','5220278dYKvbS','\x20\x20✓\x20Created\x20{{path}}/','↑/↓:\x20Move\x20\x20Space:\x20Toggle\x20\x20a:\x20All\x20\x20i/r:\x20Invert\x20\x20Enter:\x20Confirm','Selected\x20IDEs','×\x20--datasetcode\x20cannot\x20be\x20empty','526991gKlvio','Available\x20commands:','Selected\x20template\x20','Unknown\x20IDE:\x20{{ide}}','\x20\x20\x20•\x20{{name}}.ts\x20-\x20Model\x20config\x20file','Failed\x20to\x20update\x20menu\x20assets:\x20{{error}}','207567VmalVs','*\x20Generated\x20doc\x20files:','*\x20Generated\x20files:','Success','Directory\x20\x22{{name}}\x22\x20already\x20exists','Get\x20a\x20config\x20value','Other','Pull\x20API\x20for\x20specified\x20environment','\x20\x20✗\x20Unknown\x20IDE:\x20{{ide}}','Installing\x20skills...','Create\x20agents.md\x20file','Press\x20Enter\x20to\x20confirm\x20or\x20type\x20a\x20custom\x20name','Restart\x20Claude\x20Code\x20to\x20take\x20effect','Other\x20IDE\x20configuration\x20guide\x20displayed','\x0aNo\x20IDE\x20selected,\x20installation\x20cancelled\x0a','Logging\x20in...','\x20\x20Restart\x20Claude\x20Code\x20to\x20take\x20effect\x0a','\x20\x20q.\x20Cancel\x0a','\x20\x20\x20\x20→\x20Install\x20Cursor\x20and\x20Claude\x20Code\x20skills\x20directly','*\x20Configuring\x20AppCode\x20for\x20project\x20{{name}}:\x20{{appCode}}','!\x20Please\x20use\x20one\x20of\x20the\x20following:','\x0aSelect\x20IDEs\x20to\x20install\x20skills\x20(multi-select):\x0a','\x20\x20√\x20Environment\x20configured','Start\x20configuring\x20MCP','4239455sxrZbQ','√\x20Configuration\x20file\x20created,\x20AppCode:\x20{{appCode}}','*\x20Using\x20configured\x20AppCode:\x20{{appCode}}','Watch\x20Mode','⚠️\x20\x20Failed\x20to\x20open\x20browser\x20automatically','*\x20Updating\x20package.json\x20name\x20and\x20description\x20fields','*\x20Press\x20Enter\x20to\x20start\x20login.','⚠️\x20Some\x20configurations\x20require\x20manual\x20steps','\x20\x20✓\x20Created\x20{{path}}','\x20\x20Interactive\x20selection\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20-\x20Show\x20IDE\x20list\x20for\x20selection,\x20multi-select\x20supported','CSS\x20URL\x20is\x20unreachable','⚠️\x20The\x20following\x20datasets\x20failed\x20to\x20generate:','Invalid\x20page\x20path','Install\x20all\x20skills','\x20\x20lovrabet\x20skill\x20install\x20cursor\x20\x20\x20\x20#\x20Install\x20Cursor\x20skill\x20directly\x0a','Developer\x20guides:\x20.lovrabet/skill/.shared/guides/','✓\x20MCP\x20configuration\x20completed!','Confirm','√\x20Valid\x20login\x20detected','-\x20Model\x20config\x20({{count}}\x20models)','lovrabet\x20api\x20-\x20API\x20Operations','Successfully\x20initialized\x20.lovrabetrc\x20file\x20in\x20current\x20directory','You\x20can\x20now\x20use\x20commands\x20like\x20\x27lovrabet\x20api\x20doc\x27\x20and\x20\x27lovrabet\x20api\x20pull\x27','√\x20Updated\x20successfully','*\x20Login\x20first\x20to\x20pull\x20API\x20config?','\x20\x20-\x20IDE-specific\x20config\x20files\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-\x20Developer\x20skill\x20guides','Generate\x20docs\x20for\x20specified\x20environment','Cancel\x20update','\x20\x20\x20\x20→\x20Interactive\x20IDE\x20selection','Please\x20select\x20at\x20least\x20one\x20IDE','{{count}}\x20directories\x20installed','\x20\x20lovrabet\x20skill\x20--help\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20#\x20Show\x20help\x0a','\x20\x20\x20Time:\x20{{time}}','\x0a✗\x20{{ide}}\x20MCP\x20configuration\x20failed:\x20{{error}}','Description','-\x20Client\x20instance\x20file','Configuration:','\x20*\x20Page\x20path:\x20','Other\x20(generic\x20template)\x20(.agent/skills/)\x20-\x20Fallback','*\x20Import\x20usage:','Update\x20existing\x20mcp.json\x20config','!\x20No\x20local\x20pages\x20found,\x20please\x20create\x20pages\x20first','Please\x20enter\x20a\x20valid\x20CSS\x20https\x20URL','Pull\x20API\x20config','After\x20installation,\x20the\x20following\x20will\x20be\x20created\x20in\x20your\x20project:','\x20\x20lovrabet\x20skill\x20install\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20#\x20Interactive\x20IDE\x20selection','{{name}}\x20skill\x20installation\x20failed','*\x20Creating\x20configuration\x20file\x20for\x20project\x20{{name}}','✓\x20Skill\x20installation\x20completed:','4RLrCjs','*\x20Processing\x20{{count}}\x20datasets...','JS\x20URL\x20is\x20unreachable','{{name}}\x20skill\x20installed\x20successfully','Generating\x20docs\x20for\x20{{count}}\x20datasets...','*\x20Menus\x20and\x20asset\x20links\x20to\x20update','*\x20Pulling\x20API\x20configuration...','Project\x20name\x20contains\x20invalid\x20characters.\x20Not\x20allowed:\x20<\x20>\x20:\x20\x22\x20|\x20?\x20*\x20and\x20control\x20characters','√\x20Configuration\x20file\x20created,\x20you\x20can\x20configure\x20later\x20with\x20\x27lovrabet\x20config\x20set\x20appcode\x20<app-code>\x27','\x20\x20lovrabet\x20mcp\x20install\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20#\x20Interactive\x20MCP\x20configuration','Configuration\x20guide:','Fetching\x20dataset\x20list...','✓\x20MCP\x20server\x20configuration\x20completed:','Continue\x20update','Configuring\x20MCP\x20server...','Press\x20Enter\x20to\x20confirm\x20or\x20input\x20a\x20custom\x20route','\x20\x20\x20\x20→\x20Configure\x20Cursor\x20MCP\x20(writes\x20.cursor/mcp.json)','Unknown\x20error','Unsupported\x20MCP\x20IDE:\x20{{ide}}','Specify\x20dataset\x20codes\x20for\x20doc\x20generation\x20(comma-separated,\x20doc\x20command\x20only)','\x20\x20lovrabet\x20mcp\x20install\x20--claude\x20\x20\x20\x20Configure\x20Claude\x20Code\x20MCP\x20directly','Install\x20Skills','✓\x20Skill\x20Installation\x20Complete:','\x20\x20lovrabet\x20mcp\x20install\x20--cursor\x20\x20\x20\x20Configure\x20Cursor\x20MCP\x20directly','Using\x20configured\x20AppCode:\x20{{appCode}}','Claude\x20Code','Pull\x20API','Fetching\x20developer\x20guides\x20from\x20CDN\x20(with\x20extensions)...','Create','Failed\x20to\x20pull\x20API\x20config:\x20{{error}}','\x20\x20Installing\x20dependencies...','Detailed\x20guide:\x20https://help.yuntoo.com/mcp/config-guide','Set\x20App\x20Code\x20for\x20current\x20project','Generic\x20Template','Please\x20complete\x20login\x20in\x20your\x20browser.','√\x20Lovrabet\x20MCP\x20and\x20Skill\x20configuration\x20completed','Examples:','Hint:\x20use\x20','Project\x20directory\x20{{name}}\x20already\x20exists,\x20please\x20use\x20a\x20different\x20name','Logs','Show\x20this\x20help\x20message','\x20\x20\x20Interactive\x20selection\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20-\x20Show\x20IDE\x20list\x20for\x20selection','\x20Checking...','\x20\x20\x201.\x20Specify\x20directly:\x20lovrabet\x20api\x20pull\x20<app-code>','Press\x20any\x20key\x20to\x20exit...','!\x20No\x20menu\x20asset\x20links\x20found','Project','*\x20Logging\x20in,\x20please\x20complete\x20in\x20browser...','\x20\x20!\x20CDN\x20fetch\x20failed,\x20skipping\x20guide\x20installation:\x20{{error}}','\x20\x20✗\x20Failed\x20to\x20install\x20{{ide}}:\x20{{error}}','*\x20Configuring\x20Lovrabet\x20MCP\x20and\x20Skill...','*\x20Output\x20directory:\x20','Lovrabet\x20MCP\x20-\x20MCP\x20Server\x20Configuration\x20Tool','Enter\x20a\x20number\x20to\x20select\x20IDE:\x0a','Page\x20route:\x20','\x20\x20lovrabet\x20mcp\x20--help\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20#\x20Show\x20help\x0a','Batch\x20menu\x20creation\x20completed,\x20total\x20{{count}}','Cursor','✓\x20Fetched\x20{{count}}\x20developer\x20guides','Input\x20format:\x20Enter\x20numbers\x20separated\x20by\x20spaces\x20(e.g.\x201\x203\x205)','App\x20Code\x20can\x20only\x20contain\x20letters,\x20numbers,\x20-\x20and\x20_','\x20\x20(Note:\x20--appcode\x20flag\x20matches\x20config,\x20using\x20default\x20config)','\x20\x20•\x20MCP\x20Server:','Enter\x20project\x20CSS\x20asset\x20URL\x20(https://...)','\x20\x20lovrabet\x20skill\x20install\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20#\x20Interactive\x20skill\x20installation',',\x20{{failCount}}\x20failed','\x20Enter\x20project\x20JS\x20asset\x20URL\x20(https://...)','Install\x20dependencies','\x20\x20$\x20lovrabet\x20mcp\x20install\x20--cursor','🚀\x20Pulling\x20API\x20config\x20from\x20server...\x20(env:\x20{{env}})','\x0aConfiguration\x20cancelled\x0a','\x20\x20\x20•\x20{{name}}.ts\x20-\x20Client\x20instance\x20file','Cancel','✅\x20Browser\x20opened.\x20Please\x20complete\x20login\x20in\x20the\x20browser.','*\x20Create\x20new\x20project','Options:','Specify\x20output\x20directory\x20(pull:\x20./src/api/,\x20doc:\x20./docs)','Installation\x20methods:','\x0a√\x20Project\x20{{name}}\x20created\x20successfully!','Auth\x20validation\x20failed.\x20Please\x20use\x20lovrabet\x20auth\x20to\x20login\x20again','⚠️\x20Configuration\x20requires\x20manual\x20steps','Invalid\x20response\x20format\x20({{datasetCode}}):\x20missing\x20data.markdown\x20field','\x20\x20\x20Details:\x20{{details}}','×\x20AppCode\x20not\x20configured','Update\x20Menu\x20CDN\x20Resources','Please\x20use\x20the\x20--appcode\x20flag,\x20for\x20example:','Failed\x20to\x20save\x20config','5506400pRDAOS','\x0aAvailable\x20commands:','\x20\x20Environment:\x20{{env}}','\x20\x20\x20Upgrade\x20command:\x20{{command}}','Selected\x20menus','Please\x20run:\x20{{command}}','√\x20{{label}}:\x20','Fetching\x20daily\x20menu\x20list...\x20(appCode:\x20{{appCode}})','×\x20--params\x20is\x20not\x20valid\x20JSON\x20format','Create\x20new\x20mcp.json\x20config','\x0aError:\x20Configuration\x20failed\x20-\x20{{error}}\x0a','!\x20API\x20configuration\x20pull\x20error,\x20project\x20created,\x20you\x20can\x20manually\x20run:\x20lovrabet\x20api\x20pull','\x0a✓\x20Cursor\x20MCP\x20configured\x20successfully!\x0a','36857623AxeJZV','\x20Step1:\x20','Set\x20environment\x20(online/daily)','!\x20Original\x20{{originalCount}}\x20datasets,\x20filtered\x20{{duplicateCount}}\x20duplicates','√\x20Menu\x20creation\x20completed','•\x20Skill:\x20Install\x20best\x20practices\x20and\x20Backend\x20Function\x20guidelines','\x20\x20\x20Duration:\x20{{duration}}ms','JS\x20URL:\x20','Failed\x20to\x20clean\x20up\x20project\x20directory','No\x20datasets\x20found','✗\x20Configuration\x20failed','Specify\x20environment\x20(e.g.\x20daily,\x20online)','Global','×\x20--params\x20must\x20be\x20a\x20valid\x20JSON\x20object','136rpOZPt','Failed\x20to\x20fetch\x20menu\x20list,\x20HTTP\x20status:\x20{{status}}','Config\x20value\x20is\x20invalid\x20or\x20too\x20long','\x20\x20\x20\x20→\x20Enter\x20number\x20to\x20select\x20IDE','\x20Assets\x20are\x20syncing...','Updating\x20menu\x20asset\x20links:\x20{{label}}\x20({{path}})','Building\x20project...','Invalid\x20App\x20Code','Pull\x20API\x20config:\x20','*\x20Generating\x20docs\x20only\x20for\x20specified\x20datasets:\x20{{codes}}','705sHLaDg','*\x20Pulling\x20API\x20config\x20from\x20server...\x20(env:\x20{{env}})'];a57_0x302d=function(){return _0x183aa3;};return a57_0x302d();}(function(_0x2993eb,_0x3b05c7){var _0x4a9e8f=a57_0x1a38,_0x3efa35=_0x2993eb();while(!![]){try{var _0x119648=parseInt(_0x4a9e8f(0x2b4))/0x1*(parseInt(_0x4a9e8f(0x184))/0x2)+parseInt(_0x4a9e8f(0x200))/0x3*(parseInt(_0x4a9e8f(0x272))/0x4)+parseInt(_0x4a9e8f(0x2d2))/0x5+parseInt(_0x4a9e8f(0x288))/0x6*(parseInt(_0x4a9e8f(0x2af))/0x7)+parseInt(_0x4a9e8f(0x1f6))/0x8*(-parseInt(_0x4a9e8f(0x2ba))/0x9)+parseInt(_0x4a9e8f(0x1db))/0xa+-parseInt(_0x4a9e8f(0x1e8))/0xb;if(_0x119648===_0x3b05c7)break;else _0x3efa35['push'](_0x3efa35['shift']());}catch(_0x420006){_0x3efa35['push'](_0x3efa35['shift']());}}}(a57_0x302d,0x8e664));export default{'common':{'success':a57_0x57fa2f(0x2bd),'error':'Error','warning':a57_0x57fa2f(0x264),'info':a57_0x57fa2f(0x285),'loading':'Loading...','cancel':'Cancel','confirm':a57_0x57fa2f(0x2e3),'next':a57_0x57fa2f(0x28b),'previous':a57_0x57fa2f(0x216),'finish':a57_0x57fa2f(0x25c)},'help':{'invalidCommand':'!\x20Please\x20specify\x20a\x20valid\x20command.','usageHint':'Use','viewCommands':a57_0x57fa2f(0x270)},'cli':{'usage':'Usage','examples':'Examples','description':a57_0x57fa2f(0x2f4)},'init':{'inputAppCode':a57_0x57fa2f(0x21c),'appCodeDesc':'App\x20Code\x20identifies\x20your\x20project.\x20Only\x20letters,\x20numbers,\x20-\x20and\x20_\x20are\x20allowed','fileExists':a57_0x57fa2f(0x230),'creating':a57_0x57fa2f(0x22d),'success':a57_0x57fa2f(0x2e7),'appCodeLabel':'AppCode','nextSteps':a57_0x57fa2f(0x2e8),'validation':{'required':'App\x20Code\x20cannot\x20be\x20empty','tooLong':a57_0x57fa2f(0x257),'invalidFormat':a57_0x57fa2f(0x1c0),'invalidCode':a57_0x57fa2f(0x1fd)}},'create':{'projectNameLabel':'Project\x20Name','appCodeLabel':'App\x20Code','validation':{'required':'Project\x20name\x20cannot\x20be\x20empty','invalidChars':a57_0x57fa2f(0x18b),'tooLong':a57_0x57fa2f(0x275),'dirExists':a57_0x57fa2f(0x1aa),'noPermission':'Cannot\x20create\x20project\x20in\x20current\x20directory,\x20please\x20check\x20directory\x20permissions','projectName':{'tooLong':'Project\x20name\x20cannot\x20exceed\x2050\x20characters','invalidFormat':a57_0x57fa2f(0x278),'invalid':a57_0x57fa2f(0x23c),'dirExistsShort':a57_0x57fa2f(0x2be)},'appCode':{'tooLong':'AppCode\x20cannot\x20exceed\x20100\x20characters','invalidFormat':a57_0x57fa2f(0x207),'invalid':'Invalid\x20AppCode'},'ide':{'required':a57_0x57fa2f(0x2ef)}},'common':{'yes':a57_0x57fa2f(0x21e),'no':'No','selectHint':a57_0x57fa2f(0x248)},'steps':{'pullingApi':a57_0x57fa2f(0x18a),'apiPullSuccess':'√\x20API\x20configuration\x20pulled\x20successfully','apiPullFailed':a57_0x57fa2f(0x20a),'apiPullError':a57_0x57fa2f(0x1e6),'updatingPackage':a57_0x57fa2f(0x2d7),'packageUpdated':'√\x20package.json\x20updated:\x20name={{name}}','configuringAppCode':a57_0x57fa2f(0x2cd),'creatingConfig':a57_0x57fa2f(0x182),'configCreatedWithAppCode':a57_0x57fa2f(0x2d3),'configCreated':'√\x20Configuration\x20file\x20created,\x20you\x20can\x20configure\x20later\x20with\x20\x27lovrabet\x20config\x20set\x20appcode\x20<app-code>\x27','configuringMcp':'*\x20Configuring\x20Lovrabet\x20MCP\x20and\x20Skill...','mcpConfigComplete':a57_0x57fa2f(0x1a7),'cleaningUp':'*\x20Cleaning\x20up\x20failed\x20project\x20directory:\x20{{dir}}','projectName':{'label':a57_0x57fa2f(0x217)},'appCode':{'label':a57_0x57fa2f(0x22f),'notSet':'Not\x20set'},'apiPull':{'label':a57_0x57fa2f(0x2fd)},'lovrabetSetup':{'label':a57_0x57fa2f(0x28f),'ideCount':a57_0x57fa2f(0x254)},'login':{'label':'Login\x20status','loggedIn':a57_0x57fa2f(0x22b),'failed':a57_0x57fa2f(0x23f),'skipped':a57_0x57fa2f(0x28c)}},'title':a57_0x57fa2f(0x1ce),'completedStep':a57_0x57fa2f(0x1e1),'input':{'projectName':{'label':a57_0x57fa2f(0x268),'hint':a57_0x57fa2f(0x2c5)},'appCode':{'label':a57_0x57fa2f(0x26e),'optional':a57_0x57fa2f(0x219),'hint':a57_0x57fa2f(0x29e)}},'login':{'checking':'*\x20Checking\x20login\x20status...','checkingStatus':a57_0x57fa2f(0x1ae),'valid':a57_0x57fa2f(0x2e4),'notDetected':a57_0x57fa2f(0x247),'prompt':a57_0x57fa2f(0x2ea),'inProgress':a57_0x57fa2f(0x1b3),'inProgressStatus':a57_0x57fa2f(0x215)},'apiPull':{'confirm':a57_0x57fa2f(0x205),'recommendation':a57_0x57fa2f(0x238)},'lovrabetSetup':{'confirm':'*\x20Configure\x20Lovrabet\x20MCP\x20and\x20Skill?','selectIdeHint':'\x20\x20Use\x20←→\x20to\x20revise\x20choice,\x20Enter\x20to\x20confirm\x20IDEs','selectIdeTitle':'Select\x20IDEs\x20to\x20configure:','keyboardShortcuts':a57_0x57fa2f(0x2b1),'inProgress':a57_0x57fa2f(0x1b6),'mcpCompleted':a57_0x57fa2f(0x190),'skillCompleted':a57_0x57fa2f(0x183)},'creating':'*\x20Creating\x20project...','display':{'projectName':a57_0x57fa2f(0x2a4),'appCode':a57_0x57fa2f(0x20b)},'packageJson':{'updating':'*\x20Updating\x20package.json\x20name\x20and\x20description\x20fields','updated':'√\x20package.json\x20updated:\x20name={{name}}'},'config':{'configuringAppCode':a57_0x57fa2f(0x2cd),'creating':a57_0x57fa2f(0x182),'createdWithAppCode':a57_0x57fa2f(0x2d3),'createdWithoutAppCode':a57_0x57fa2f(0x18c)},'cleanup':{'inProgress':a57_0x57fa2f(0x290)},'results':{'mcpComplete':'✓\x20MCP\x20Server\x20Configuration\x20Complete:','skillComplete':a57_0x57fa2f(0x19a),'nextSteps':'🚀\x20Next\x20Steps:'},'nextSteps':{'configureMcpAndSkill':a57_0x57fa2f(0x29b),'skill':'\x20\x20•\x20Skill:','mcp':a57_0x57fa2f(0x1c2),'startProject':a57_0x57fa2f(0x2a0),'pullApi':'Pull\x20API\x20configuration:','configAppCode':'Configure\x20AppCode:'},'errors':{'createFailed':a57_0x57fa2f(0x236),'cleanupFailed':a57_0x57fa2f(0x1f0),'depsInstallFailed':a57_0x57fa2f(0x222)},'nonInteractive':{'creating':a57_0x57fa2f(0x297),'templateCreated':'\x20\x20√\x20Project\x20template\x20created','packageJsonUpdated':'\x20\x20√\x20package.json\x20updated','installingDeps':a57_0x57fa2f(0x1a2),'depsSkipped':'\x20\x20√\x20Dependency\x20install\x20skipped\x20(non-interactive)','codeFormatted':a57_0x57fa2f(0x2a7),'envConfigured':a57_0x57fa2f(0x2d0),'success':a57_0x57fa2f(0x1d2)},'tasks':{'copyFiles':a57_0x57fa2f(0x210),'formatCode':'Format\x20code','installDependencies':a57_0x57fa2f(0x1c7),'formatCodeLabel':'Format\x20code'},'nextStepsAlt':{'startProject':'Start\x20project:\x20','pullApi':a57_0x57fa2f(0x1fe),'configureLovrabet':a57_0x57fa2f(0x29b)}},'addPage':{'title':'Add\x20Page','pagePath':a57_0x57fa2f(0x2a5),'pageName':a57_0x57fa2f(0x24f),'validation':{'path':{'tooLong':'Page\x20path\x20cannot\x20exceed\x20100\x20characters','invalidStartEnd':'Path\x20cannot\x20start\x20or\x20end\x20with\x20/','doubleSlash':'Path\x20cannot\x20contain\x20consecutive\x20/','invalidSegment':a57_0x57fa2f(0x28d),'exists':'Page\x20path\x20{{path}}\x20already\x20exists,\x20please\x20use\x20another','invalid':a57_0x57fa2f(0x2de)}},'steps':{'step1':a57_0x57fa2f(0x1e9),'step2':a57_0x57fa2f(0x283)},'input':{'route':{'label':a57_0x57fa2f(0x1ba),'hint':a57_0x57fa2f(0x193)}},'display':{'templateSelected':a57_0x57fa2f(0x2b6),'routeEntered':a57_0x57fa2f(0x213),'path':a57_0x57fa2f(0x2f7),'route':'\x20*\x20Route:\x20'},'creating':'Creating\x20page,\x20please\x20wait…','success':'\x20*\x20Page\x20created\x20successfully!','successHint':a57_0x57fa2f(0x21f),'loading':{'templates':a57_0x57fa2f(0x203)},'select':{'template':{'title':'Please\x20select\x20a\x20page\x20template'}},'error':{'templateListFailed':a57_0x57fa2f(0x259)}},'config':{'title':a57_0x57fa2f(0x279),'help':{'invalidCommand':'Invalid\x20command.\x20Available\x20commands:','examples':a57_0x57fa2f(0x1a8),'set':'Set\x20a\x20config\x20value','get':a57_0x57fa2f(0x2bf),'list':a57_0x57fa2f(0x20f),'exampleApp':a57_0x57fa2f(0x1a4),'exampleEnv':a57_0x57fa2f(0x1ea),'exampleLocale':'Set\x20display\x20language\x20(zh/en)'},'validation':{'envInvalid':a57_0x57fa2f(0x22a),'localeInvalid':a57_0x57fa2f(0x244),'valueInvalid':a57_0x57fa2f(0x1f8),'noValue':a57_0x57fa2f(0x228),'saveFailed':a57_0x57fa2f(0x1da)},'success':{'envSet':a57_0x57fa2f(0x253),'localeSet':'✓\x20{{scope}}\x20locale\x20set\x20to:\x20{{value}}'},'scope':{'project':a57_0x57fa2f(0x1b2),'global':a57_0x57fa2f(0x1f4)}},'api':{'title':a57_0x57fa2f(0x289),'pull':a57_0x57fa2f(0x19e),'doc':'Generate\x20Documentation','help':{'title':a57_0x57fa2f(0x2e6),'usage':'Usage:','options':a57_0x57fa2f(0x1cf),'optAppcode':'Specify\x20app\x20code','optOutput':a57_0x57fa2f(0x1d0),'optEnv':a57_0x57fa2f(0x1f3),'optDatasetcode':a57_0x57fa2f(0x197),'optHelp':a57_0x57fa2f(0x1ac),'examples':a57_0x57fa2f(0x1a8),'pullDesc':a57_0x57fa2f(0x26f),'pullAppcode':a57_0x57fa2f(0x20c),'pullOutput':a57_0x57fa2f(0x27b),'pullEnv':a57_0x57fa2f(0x2c1),'docDesc':'Generate\x20docs\x20for\x20all\x20datasets','docAppcode':a57_0x57fa2f(0x20c),'docOutput':a57_0x57fa2f(0x24b),'docEnv':a57_0x57fa2f(0x2ec),'docDataset':a57_0x57fa2f(0x241),'docDatasets':a57_0x57fa2f(0x25f),'unknownCommand':a57_0x57fa2f(0x24e),'availableCommands':a57_0x57fa2f(0x2b5)},'common':{'noPositionalArgs':a57_0x57fa2f(0x273),'useAppcodeFlag':a57_0x57fa2f(0x1d9),'noAppCode':a57_0x57fa2f(0x1d7),'noAppCodeHint':'!\x20Please\x20use\x20one\x20of\x20the\x20following:','noAppCodeOption1':'\x20\x20\x201.\x20Set\x20default:\x20lovrabet\x20config\x20set\x20appcode\x20<app-code>','noAppCodeOption2Pull':'\x20\x20\x202.\x20Use\x20flag:\x20lovrabet\x20api\x20pull\x20--appcode\x20<app-code>','noAppCodeOption2Doc':'\x20\x20\x202.\x20Use\x20flag:\x20lovrabet\x20api\x20doc\x20--appcode\x20<app-code>','usingConfigAppCode':a57_0x57fa2f(0x2d4),'usingConfigAppCodeHint':a57_0x57fa2f(0x1c1),'usingSpecifiedAppCode':a57_0x57fa2f(0x281),'usingDefaultAppCode':a57_0x57fa2f(0x19c),'noAppCodeDefault':a57_0x57fa2f(0x255),'paramsInvalidJson':a57_0x57fa2f(0x1f5),'paramsNotJson':a57_0x57fa2f(0x1e3),'paramsError':a57_0x57fa2f(0x226),'datasetcodeEmpty':a57_0x57fa2f(0x2b3),'onlyGenerateDatasets':a57_0x57fa2f(0x1ff),'authExpired':a57_0x57fa2f(0x29c),'authRetry':'login\x20again\x20and\x20retry','unknownError':a57_0x57fa2f(0x195)},'pullUI':{'fetching':a57_0x57fa2f(0x1c9),'successPull':a57_0x57fa2f(0x258),'duplicateInfo':a57_0x57fa2f(0x1eb),'generatedFiles':a57_0x57fa2f(0x2bc),'modelFile':a57_0x57fa2f(0x2e5),'clientFile':a57_0x57fa2f(0x2f5),'importHint':a57_0x57fa2f(0x2f9),'pullFailed':a57_0x57fa2f(0x1a1)},'docUI':{'fetchingDatasets':a57_0x57fa2f(0x18f),'noDatasets':a57_0x57fa2f(0x1f1),'datasetsNotFound':a57_0x57fa2f(0x245),'allDatasetsNotFound':a57_0x57fa2f(0x240),'filteredDatasets':'*\x20Filtered\x20{{count}}\x20matching\x20datasets\x20from\x20{{total}}\x20total','generatingDocs':a57_0x57fa2f(0x188),'generatingFile':'Generating\x20{{fileName}}.md\x20({{current}}/{{total}})','docComplete':a57_0x57fa2f(0x2a6),'docFailed':a57_0x57fa2f(0x1c5),'processedDatasets':'*\x20Processed\x20{{count}}\x20datasets','outputDir':a57_0x57fa2f(0x1b7),'generatedDocs':a57_0x57fa2f(0x2bb),'failedDatasets':a57_0x57fa2f(0x2dd),'docGenerateFailed':'Doc\x20generation\x20failed:\x20{{error}}'},'fetchModel':{'fetching':a57_0x57fa2f(0x2a1),'httpError':a57_0x57fa2f(0x239),'fetchError':a57_0x57fa2f(0x29d)},'generateFile':{'noAppCode':'Please\x20configure\x20app\x20code\x20first\x20via\x20`lovrabet\x20config\x20set\x20app\x20<value>`'},'docBatch':{'totalDatasets':'\x0a{{count}}\x20datasets\x20to\x20generate\x20docs\x20for\x0a','generating':'[{{current}}/{{total}}]\x20Generating:\x20{{fileName}}.md\x20({{name}})','success':a57_0x57fa2f(0x291),'failed':a57_0x57fa2f(0x2ae),'waiting':'Waiting\x203\x20seconds...\x0a','docFormatError':a57_0x57fa2f(0x1d5),'httpError':'Failed\x20to\x20fetch\x20doc\x20({{datasetCode}}),\x20HTTP\x20status:\x20{{status}}'},'silent':{'invalidPrefix':a57_0x57fa2f(0x206),'fetching':a57_0x57fa2f(0x201),'generating':'*\x20Generating\x20API\x20config\x20files:','modelFileName':a57_0x57fa2f(0x2b8),'clientFileName':a57_0x57fa2f(0x1cb),'processing':a57_0x57fa2f(0x185),'success':a57_0x57fa2f(0x258),'error':a57_0x57fa2f(0x2ad)}},'auth':{'title':a57_0x57fa2f(0x252),'login':{'success':{'title':'Login\x20Successful','message':'Login\x20successful.\x20Please\x20return\x20to\x20the\x20CLI\x20to\x20continue.\x20This\x20window\x20will\x20close\x20in\x20{{seconds}}\x20seconds.','manualClose':a57_0x57fa2f(0x214)},'successCli':a57_0x57fa2f(0x2a8),'inProgress':a57_0x57fa2f(0x2c9),'browserPrompt':a57_0x57fa2f(0x1a6),'pressEnter':a57_0x57fa2f(0x2d8),'pressQToExit':a57_0x57fa2f(0x24a)},'session':{'valid':a57_0x57fa2f(0x224)},'server':{'starting':a57_0x57fa2f(0x27e),'loginUrl':'📍\x20Login\x20URL:','openingBrowser':'🌐\x20Attempting\x20to\x20open\x20browser\x20automatically...','manualOpenHint':a57_0x57fa2f(0x271),'browserOpened':a57_0x57fa2f(0x1cd),'browserOpenFailed':a57_0x57fa2f(0x2d6),'manualCopyUrl':'🔗\x20Please\x20copy\x20the\x20login\x20URL\x20into\x20your\x20browser:'},'logout':{'success':'✓\x20Logged\x20out','notLoggedIn':'!\x20Not\x20logged\x20in'}},'menu':{'sync':'Sync\x20Menu','update':a57_0x57fa2f(0x1d8)},'mcp':{'cursor':a57_0x57fa2f(0x1bd),'claude':a57_0x57fa2f(0x19d),'error':{'unsupportedCommand':a57_0x57fa2f(0x25a),'missingAppcode':a57_0x57fa2f(0x24c)},'help':{'title':a57_0x57fa2f(0x1b8),'availableCommands':'\x0aAvailable\x20commands:','command':{'install':a57_0x57fa2f(0x18d),'help':a57_0x57fa2f(0x1bb)},'usage':{'help':a57_0x57fa2f(0x280),'install':a57_0x57fa2f(0x262),'installCursor':a57_0x57fa2f(0x19b),'installClaude':a57_0x57fa2f(0x198)},'configMethods':'Configuration\x20methods:','configMethodsInteractive':a57_0x57fa2f(0x1ad),'configMethodsInteractiveHint':a57_0x57fa2f(0x1f9),'configMethodsDirect':'\x20\x20Direct\x20IDE\x20config\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20-\x20Use\x20--ide\x20flags','configMethodsDirectCursor':'\x20\x20\x20\x20$\x20lovrabet\x20mcp\x20install\x20--cursor\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20#\x20Configure\x20Cursor','configMethodsDirectClaude':a57_0x57fa2f(0x292),'supportedIDEs':a57_0x57fa2f(0x234),'examples':a57_0x57fa2f(0x1a8),'exampleInstall':a57_0x57fa2f(0x25e),'exampleInstallHint':a57_0x57fa2f(0x2ee),'exampleInstallCursor':a57_0x57fa2f(0x1c8),'exampleInstallCursorHint':a57_0x57fa2f(0x194),'configGuide':a57_0x57fa2f(0x18e)},'select':{'chooseIDE':a57_0x57fa2f(0x26d),'cancel':a57_0x57fa2f(0x2cb),'enterNumber':a57_0x57fa2f(0x1b9),'prompt':a57_0x57fa2f(0x204),'cancelled':a57_0x57fa2f(0x1ca),'invalidChoice':a57_0x57fa2f(0x293)},'installFlow':{'configuring':'\x0a📦\x20Configuring\x20{{name}}\x20MCP...\x0a','error':a57_0x57fa2f(0x1e5)},'cursorConfig':{'success':a57_0x57fa2f(0x1e7),'configInfo':a57_0x57fa2f(0x2f6),'usageHint':'You\x20can\x20now\x20use\x20Lovrabet\x20dataset\x20MCP\x20tools\x20in\x20Cursor.','restartRequired':a57_0x57fa2f(0x211),'error':'\x0aError:\x20Configuration\x20failed\x20-\x20{{error}}\x0a','rules':{'exists':a57_0x57fa2f(0x29f),'created':a57_0x57fa2f(0x27d),'copyFailed':a57_0x57fa2f(0x256)},'updateExisting':a57_0x57fa2f(0x2fa),'createNew':a57_0x57fa2f(0x1e4),'written':a57_0x57fa2f(0x23e)},'claudeConfig':{'error':a57_0x57fa2f(0x1e5),'agents':{'exists':'agents.md\x20already\x20exists,\x20skipping','created':'Create\x20agents.md\x20file','copyFailed':a57_0x57fa2f(0x233)},'manualCommand':a57_0x57fa2f(0x2a3),'configInfo':a57_0x57fa2f(0x2f6),'restartRequired':a57_0x57fa2f(0x2c6),'commandGenerated':a57_0x57fa2f(0x277)},'other':{'configInfo':'Configuration:\x20appcode={{appcode}},\x20env={{env}}','configGuide':a57_0x57fa2f(0x1a3),'guideShown':a57_0x57fa2f(0x2c7)},'config':{'env':'Environment:\x20{{env}}'},'install':{'starting':a57_0x57fa2f(0x2d1),'unknownIDE':a57_0x57fa2f(0x2b7),'otherIDE':a57_0x57fa2f(0x208),'success':'\x0a✓\x20{{ide}}\x20MCP\x20configured\x20successfully','failed':a57_0x57fa2f(0x2f3),'completed':'\x0a✓\x20MCP\x20configuration\x20completed\x20({{successCount}}/{{totalCount}}\x20succeeded)','manualActionRequired':a57_0x57fa2f(0x229)},'ui':{'otherIDE':a57_0x57fa2f(0x208),'otherIDEDescription':a57_0x57fa2f(0x2a9),'selectAtLeastOne':'Please\x20select\x20at\x20least\x20one\x20IDE','selectedIDE':a57_0x57fa2f(0x2b2),'count':'{{count}}','title':a57_0x57fa2f(0x266),'configuring':a57_0x57fa2f(0x192),'completed':a57_0x57fa2f(0x2e2),'partialManual':a57_0x57fa2f(0x2d9),'failed':a57_0x57fa2f(0x1f2),'manualRequired':a57_0x57fa2f(0x1d4),'pressAnyKeyToExit':'Press\x20any\x20key\x20to\x20exit...','unsupportedIDE':a57_0x57fa2f(0x242)}},'aiSetup':{'error':{'missingAppcode':a57_0x57fa2f(0x2ac)},'mcp':{'cursor':{'success':'Cursor\x20MCP\x20configured\x20successfully','written':a57_0x57fa2f(0x23e),'error':'Cursor\x20MCP\x20configuration\x20failed','rules':{'created':a57_0x57fa2f(0x27d),'copyFailed':a57_0x57fa2f(0x256)}},'claude':{'commandGenerated':a57_0x57fa2f(0x209),'manualCommand':a57_0x57fa2f(0x284),'configInfo':a57_0x57fa2f(0x2f6),'env':a57_0x57fa2f(0x1dd),'restartRequired':a57_0x57fa2f(0x2ca),'manualExecute':a57_0x57fa2f(0x1e0),'agents':{'created':a57_0x57fa2f(0x2c4),'copyFailed':a57_0x57fa2f(0x233)}},'other':{'name':a57_0x57fa2f(0x2c0),'title':'\x0a📋\x20Other\x20IDE\x20MCP\x20configuration:\x0a','guideShown':a57_0x57fa2f(0x298)},'unsupportedIDE':a57_0x57fa2f(0x196)},'skill':{'unknownIDE':a57_0x57fa2f(0x2b7),'installSuccess':a57_0x57fa2f(0x187),'itemsCreated':a57_0x57fa2f(0x286),'installFailed':a57_0x57fa2f(0x181),'sharedCopied':'Shared\x20skill\x20files\x20copied\x20successfully','sharedCopyFailed':a57_0x57fa2f(0x223),'manifestCreated':'Skill\x20manifest\x20created'},'ui':{'selectAtLeastOne':'Please\x20select\x20at\x20least\x20one\x20item\x20to\x20configure','confirm':{'title':a57_0x57fa2f(0x29a),'mcpDescription':a57_0x57fa2f(0x287),'skillDescription':a57_0x57fa2f(0x1ed),'yes':'[Y]\x20Yes,\x20configure\x20AI\x20assistant','no':'[N]\x20Skip,\x20configure\x20later','default':a57_0x57fa2f(0x27f)},'select':{'title':a57_0x57fa2f(0x232),'mcpSection':a57_0x57fa2f(0x21d),'skillSection':a57_0x57fa2f(0x246),'controls':a57_0x57fa2f(0x21a)},'installing':a57_0x57fa2f(0x20e)}},'appMenu':{'error':{'missingAppCode':'No\x20AppCode\x20provided\x20and\x20no\x20default\x20configured','appCodeHint':{'title':a57_0x57fa2f(0x2ce),'option1':a57_0x57fa2f(0x1af),'option2':a57_0x57fa2f(0x22c)},'authExpired':a57_0x57fa2f(0x29c),'authValidationFailed':a57_0x57fa2f(0x1d3),'httpStatus':a57_0x57fa2f(0x1f7),'fetchFailed':a57_0x57fa2f(0x23d),'createHttpStatus':'Failed\x20to\x20create\x20menu,\x20HTTP\x20status:\x20{{status}}','createFailed':a57_0x57fa2f(0x20d)},'info':{'emptyMenuList':'Server\x20returned\x20empty\x20menu\x20list'},'success':{'fetched':'Fetched\x20{{count}}\x20online\x20menus\x20successfully','created':'Menu\x20created\x20successfully:'},'fetching':{'online':a57_0x57fa2f(0x265),'daily':a57_0x57fa2f(0x1e2)},'creating':{'single':'Creating\x20menu:\x20{{label}}\x20({{path}})','batch':{'start':'Start\x20batch\x20menu\x20creation,\x20total\x20{{count}}','completed':a57_0x57fa2f(0x1bc)}},'sync':{'title':a57_0x57fa2f(0x23b),'table':{'menuName':a57_0x57fa2f(0x218),'local':a57_0x57fa2f(0x24d),'lovrabetPlatform':'Lovrabet\x20Platform'},'error':{'noMenuSelected':'Please\x20select\x20at\x20least\x20one\x20menu','invalidJsUrl':a57_0x57fa2f(0x25d),'jsUrlUnreachable':a57_0x57fa2f(0x186),'invalidCssUrl':a57_0x57fa2f(0x2fc),'cssUrlUnreachable':'CSS\x20URL\x20is\x20unreachable','createMenuFailed':'Failed\x20to\x20create\x20menu','authHint':{'prefix':'Hint:\x20use\x20','suffix':'\x20command\x20to\x20re-login'},'noLocalPages':a57_0x57fa2f(0x2fb)},'step':{'selectedMenus':a57_0x57fa2f(0x1df),'selectedMenusCount':a57_0x57fa2f(0x295),'jsUrl':a57_0x57fa2f(0x25b),'cssUrl':a57_0x57fa2f(0x263),'selectMenus':'*\x20Select\x20menus\x20to\x20sync:','creating':'*\x20Creating\x20menus...','completed':a57_0x57fa2f(0x1ec)},'operation':{'update':'Update','create':a57_0x57fa2f(0x1a0)},'loading':{'fetchingMenuList':a57_0x57fa2f(0x202)},'hotkeys':'↑/↓:\x20Move\x20\x20Space:\x20Toggle\x20\x20a:\x20All\x20\x20i/r:\x20Invert\x20\x20Enter:\x20Confirm','input':{'jsUrl':{'label':a57_0x57fa2f(0x221),'placeholder':a57_0x57fa2f(0x1c6)},'cssUrl':{'label':'*\x20CSS\x20URL:\x20','placeholder':a57_0x57fa2f(0x282)}}},'updateCdn':{'title':'*\x20Enter\x20new\x20asset\x20URLs','error':{'invalidJsUrl':a57_0x57fa2f(0x25d),'jsUrlUnreachable':a57_0x57fa2f(0x186),'invalidCssUrl':'Please\x20enter\x20a\x20valid\x20CSS\x20https\x20URL','cssUrlUnreachable':a57_0x57fa2f(0x2dc),'authHint':{'prefix':a57_0x57fa2f(0x1a9),'suffix':a57_0x57fa2f(0x2ab)},'noCdnLinks':a57_0x57fa2f(0x1b1),'updateFailed':a57_0x57fa2f(0x2b9)},'loading':{'fetching':a57_0x57fa2f(0x296),'syncing':a57_0x57fa2f(0x1fa)},'action':{'continue':a57_0x57fa2f(0x191),'cancel':a57_0x57fa2f(0x2ed)},'success':{'updated':a57_0x57fa2f(0x2e9),'synced':a57_0x57fa2f(0x251)},'updating':a57_0x57fa2f(0x1fb),'preview':{'title':a57_0x57fa2f(0x189),'menuList':a57_0x57fa2f(0x243),'resourceLinks':'Asset\x20links\x20to\x20update:'},'input':{'title':'*\x20Entered\x20asset\x20URLs','jsUrl':{'label':a57_0x57fa2f(0x1ef),'placeholder':'Enter\x20project\x20JS\x20asset\x20URL\x20(https://...)'},'cssUrl':{'label':a57_0x57fa2f(0x276),'placeholder':a57_0x57fa2f(0x1c3)}}}},'skill':{'install':a57_0x57fa2f(0x199),'error':{'unsupportedCommand':a57_0x57fa2f(0x25a),'installFailed':a57_0x57fa2f(0x1b5),'unknownPlatform':'⚠️\x20\x20Unknown\x20platform:\x20{{ide}},\x20using\x20generic\x20template','unknownIDE':a57_0x57fa2f(0x2c2),'noValidIDE':'\x0aNo\x20valid\x20IDE\x20to\x20install\x0a','selectAtLeastOne':'Please\x20select\x20at\x20least\x20one\x20IDE'},'errorHint':{'availableCommands':a57_0x57fa2f(0x1dc),'installInteractive':a57_0x57fa2f(0x1c4),'installDirect':a57_0x57fa2f(0x28e),'showHelp':a57_0x57fa2f(0x2f1),'usageExamples':a57_0x57fa2f(0x212),'exampleInteractive':a57_0x57fa2f(0x180),'exampleDirect':a57_0x57fa2f(0x2e0)},'select':{'title':a57_0x57fa2f(0x2cf),'installAll':a57_0x57fa2f(0x2aa),'cancel':a57_0x57fa2f(0x1cc),'inputFormat':a57_0x57fa2f(0x1bf),'inputHint':'Enter\x200\x20to\x20install\x20all\x20IDEs,\x20enter\x20q\x20to\x20cancel\x0a','prompt':a57_0x57fa2f(0x204),'cancelled':a57_0x57fa2f(0x27a),'noneSelected':a57_0x57fa2f(0x2c8),'selectedIDE':a57_0x57fa2f(0x2b2),'count':a57_0x57fa2f(0x28a)},'cdn':{'fetching':a57_0x57fa2f(0x220),'fetchingExtend':a57_0x57fa2f(0x19f),'fetchSuccess':a57_0x57fa2f(0x1be),'fetchFailed':a57_0x57fa2f(0x1b4)},'installing':{'title':a57_0x57fa2f(0x250),'progress':a57_0x57fa2f(0x2c3),'ide':a57_0x57fa2f(0x225),'installed':a57_0x57fa2f(0x2f0),'created':a57_0x57fa2f(0x2da),'createdDir':a57_0x57fa2f(0x2b0),'createdManifest':'✓\x20Created\x20.lovrabet/skill-manifest.json'},'done':{'success':a57_0x57fa2f(0x26c),'successInline':'✓\x20Skills\x20installed\x20successfully!\x20{{count}}\x20directories\x20created','guidesLocation':'Developer\x20guides\x20location:','guidesPath':a57_0x57fa2f(0x2a2),'guidesPathInline':a57_0x57fa2f(0x2e1),'pressAnyKey':a57_0x57fa2f(0x1b0)},'generic':a57_0x57fa2f(0x1a5),'help':{'title':a57_0x57fa2f(0x231),'usage':'Usage:','showHelp':'Show\x20help','installInteractive':'Interactive\x20skill\x20installation','installDirect':a57_0x57fa2f(0x22e),'installAll':a57_0x57fa2f(0x2df),'installWithBff':a57_0x57fa2f(0x261),'installMethods':a57_0x57fa2f(0x1d1),'interactiveSelect':a57_0x57fa2f(0x2db),'interactiveKeys':'\x20\x20\x20\x20→\x20Use\x20↑↓\x20to\x20move,\x20Space\x20to\x20toggle,\x20Enter\x20to\x20confirm\x0a\x20\x20\x20\x20→\x20Press\x20a\x20to\x20select\x20all,\x20i/r\x20to\x20invert,\x20q\x20to\x20quit','directInstall':a57_0x57fa2f(0x237),'bffWorkflow':a57_0x57fa2f(0x26b),'supportedIDEs':'Supported\x20IDEs:','agentDesc':a57_0x57fa2f(0x2f8),'allDesc':'Install\x20all\x20IDE\x20skills\x20(including\x20generic\x20template)','options':a57_0x57fa2f(0x1cf),'bffOption':'\x20\x20--dangerously-bff-save\x20\x20\x20\x20Include\x20Backend\x20Function\x20sync\x20workflow\x20guide\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(requires\x20MCP\x20server\x20with\x20corresponding\x20tools\x20enabled)','skillContents':a57_0x57fa2f(0x267),'skillContentsList':'\x20\x20-\x20Filter\x20query\x20building\x20spec\x20(10\x20common\x20error\x20comparisons)\x0a\x20\x20-\x20MCP\x20SQL\x20creation\x20workflow\x20(5-step\x20mandatory\x20process)\x0a\x20\x20-\x20AntD\x20UI\x20development\x20spec\x20(anti-AI-style)\x0a\x20\x20-\x20API\x20integration\x20guide\x20(lovrabet\x20api\x20pull\x20workflow)\x0a\x20\x20-\x20Menu\x20management\x20guide\x20(menu\x20sync/update\x20workflow)\x0a\x20\x20-\x20Backend\x20Function\x20script\x20spec\x20(permissions,\x20data\x20masking,\x20business\x20logic)\x0a\x20\x20-\x20Backend\x20Function\x20sync\x20workflow\x20(requires\x20--dangerously-bff-save)','examples':a57_0x57fa2f(0x1a8),'exampleInteractive':a57_0x57fa2f(0x2ee),'exampleDirectDesc':a57_0x57fa2f(0x2cc),'exampleBffDesc':a57_0x57fa2f(0x274),'exampleAllDesc':a57_0x57fa2f(0x269),'afterInstall':a57_0x57fa2f(0x2fe),'afterInstallList':a57_0x57fa2f(0x2eb),'guidesLocationTitle':a57_0x57fa2f(0x249)}},'logs':{'title':a57_0x57fa2f(0x1ab),'view':'View\x20Logs','clear':a57_0x57fa2f(0x260),'noLogs':a57_0x57fa2f(0x299),'header':'*\x20Lovrabet\x20CLI\x20logs:\x0a','time':a57_0x57fa2f(0x2f2),'duration':a57_0x57fa2f(0x1ee),'details':a57_0x57fa2f(0x1d6),'cleared':a57_0x57fa2f(0x26a)},'start':{'starting':'Starting\x20development\x20server...'},'build':{'building':a57_0x57fa2f(0x1fc)},'preview':{'previewing':a57_0x57fa2f(0x235),'watchMode':a57_0x57fa2f(0x2d5)},'ui':{'ideSelector':{'title':'Select\x20IDEs\x20to\x20configure:','hotkeys':a57_0x57fa2f(0x294)}},'upgrade':{'cli':{'title':a57_0x57fa2f(0x27c),'current':'\x20\x20\x20Current\x20CLI\x20version:\x20{{version}}','stable':a57_0x57fa2f(0x227),'command':'\x20\x20\x20Upgrade\x20command:\x20{{command}}'},'sdk':{'title':a57_0x57fa2f(0x21b),'current':a57_0x57fa2f(0x23a),'stable':a57_0x57fa2f(0x227),'command':a57_0x57fa2f(0x1de)}}};