@lovrabet/cli 1.3.3 → 1.3.4-beta.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (89) hide show
  1. package/lib/ai-setup/AISetupUI.js +1 -1
  2. package/lib/ai-setup/config.js +1 -1
  3. package/lib/api/api-doc-ui.js +1 -1
  4. package/lib/api/api-doc.js +1 -1
  5. package/lib/api/api-pull-ui.js +1 -1
  6. package/lib/api/fetch-model-list.js +1 -1
  7. package/lib/api/generate-api-file.js +1 -1
  8. package/lib/api/main.js +1 -1
  9. package/lib/api/pull-silent.js +1 -1
  10. package/lib/app-menu/app-menu-sync-ui.js +1 -1
  11. package/lib/app-menu/create-menu.js +1 -1
  12. package/lib/app-menu/get-local-pages.js +1 -1
  13. package/lib/app-menu/get-online-menu-list.js +1 -1
  14. package/lib/app-menu/use-get-online-menu-list.js +1 -1
  15. package/lib/app-menu/utils.js +1 -1
  16. package/lib/app-menu/valid-url.js +1 -1
  17. package/lib/app-menu-update-cdn/current-content.js +1 -1
  18. package/lib/app-menu-update-cdn/input-cdn-asset.js +1 -1
  19. package/lib/app-menu-update-cdn/main.js +1 -1
  20. package/lib/app-menu-update-cdn/update-menu-cdn-url.js +1 -1
  21. package/lib/auth/auth-server-ui.js +1 -1
  22. package/lib/auth/auth-server.js +1 -1
  23. package/lib/auth/constant.js +1 -1
  24. package/lib/auth/get-cookie.js +1 -1
  25. package/lib/auth/is-session-valid.js +1 -1
  26. package/lib/auth/logout.js +1 -1
  27. package/lib/cli-flags.js +1 -1
  28. package/lib/cli.js +1 -1
  29. package/lib/cmd/build-watch.js +1 -1
  30. package/lib/cmd/build.js +1 -1
  31. package/lib/cmd/logs.js +1 -1
  32. package/lib/cmd/preview.js +1 -1
  33. package/lib/cmd/start-execa.js +1 -0
  34. package/lib/cmd/start.js +1 -1
  35. package/lib/config/config-help.js +1 -1
  36. package/lib/config/main.js +1 -1
  37. package/lib/constant/domain.js +1 -1
  38. package/lib/constant/env.js +1 -1
  39. package/lib/create-app/enhanced-guided-create.js +1 -1
  40. package/lib/create-app/format-elapsed.js +1 -1
  41. package/lib/create-app/main.js +1 -1
  42. package/lib/create-app/non-interactive.js +1 -1
  43. package/lib/create-app/task-finished.js +1 -1
  44. package/lib/create-app/task-loading.js +1 -1
  45. package/lib/create-app/task-running.js +1 -1
  46. package/lib/create-app/task-time.js +1 -1
  47. package/lib/create-app/use-copy-project-template.js +1 -1
  48. package/lib/create-app/use-format-code.js +1 -1
  49. package/lib/create-app/use-install-dependencies.js +1 -1
  50. package/lib/help.js +1 -1
  51. package/lib/i18n/I18nProvider.js +1 -1
  52. package/lib/i18n/hooks.js +1 -1
  53. package/lib/i18n/index.js +1 -1
  54. package/lib/i18n/locales/en-US.js +1 -1
  55. package/lib/i18n/locales/zh-CN.js +1 -1
  56. package/lib/init/main.js +1 -1
  57. package/lib/mcp/McpInstallUI.js +1 -1
  58. package/lib/mcp/claude.js +1 -1
  59. package/lib/mcp/cursor.js +1 -1
  60. package/lib/mcp/main.js +1 -1
  61. package/lib/mcp/mcp-install-non-interactive.js +1 -1
  62. package/lib/mcp/mcp-installer.js +1 -1
  63. package/lib/skills/SkillInstallUI.js +1 -1
  64. package/lib/skills/main.js +1 -1
  65. package/lib/skills/skill-install-non-interactive.js +1 -1
  66. package/lib/skills/skill-installer.js +1 -1
  67. package/lib/ui/IDESelector.js +1 -1
  68. package/lib/ui/useIDESelection.js +1 -1
  69. package/lib/utils/ai_config.js +1 -1
  70. package/lib/utils/cdn-config.js +1 -1
  71. package/lib/utils/check-sdk-version.js +1 -1
  72. package/lib/utils/cli-version-check.js +1 -1
  73. package/lib/utils/config.js +1 -1
  74. package/lib/utils/copy-directory.js +1 -1
  75. package/lib/utils/file-utils.js +1 -1
  76. package/lib/utils/guides-cdn.js +1 -1
  77. package/lib/utils/http-client.js +1 -1
  78. package/lib/utils/logger.js +1 -1
  79. package/lib/utils/rules-cdn.js +1 -1
  80. package/lib/utils/sleep.js +1 -1
  81. package/lib/utils/template-replacer.js +1 -1
  82. package/package.json +4 -1
  83. package/templates/README.md +10 -55
  84. package/lib/add-page/input-page-router.js +0 -1
  85. package/lib/add-page/main.js +0 -1
  86. package/lib/add-page/select-page-template.js +0 -1
  87. package/lib/utils/router-updater.js +0 -1
  88. package/templates/pages/blank/index.tsx.tpl +0 -13
  89. package/templates/pages/sdk-fetch/index.tsx.tpl +0 -80
@@ -1 +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)}}};
1
+ function a55_0xbcc9(_0x280917,_0x23fe4f){_0x280917=_0x280917-0x1c8;var _0x31e9a5=a55_0x31e9();var _0xbcc997=_0x31e9a5[_0x280917];return _0xbcc997;}function a55_0x31e9(){var _0x1d7fa8=['*\x20CSS\x20URL:\x20','Show\x20help','Generate\x20doc\x20for\x20specific\x20dataset\x20only','Configuring\x20MCP\x20server...','Please\x20select\x20at\x20least\x20one\x20IDE','MCP\x20Server\x20(AI\x20dataset\x20access)','Failed\x20to\x20create\x20menu','\x0aSelect\x20IDEs\x20to\x20install\x20skills\x20(multi-select):\x0a','\x20\x20\x202.\x20Use\x20flag:\x20lovrabet\x20api\x20doc\x20--appcode\x20<app-code>','JS\x20URL\x20is\x20unreachable','MCP\x20&\x20Skill','Batch\x20menu\x20creation\x20completed,\x20total\x20{{count}}','Failed\x20to\x20copy\x20shared\x20skill\x20files','*\x20AppCode\x20','\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)','No\x20AppCode\x20provided\x20and\x20no\x20default\x20configured','AppCode\x20cannot\x20exceed\x20100\x20characters','Update\x20Menu\x20CDN\x20Resources','Failed\x20to\x20create\x20menu,\x20HTTP\x20status:\x20{{status}}','\x20\x20Include\x20BFF\x20sync\x20workflow\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20-\x20Use\x20--dangerously-bff-save\x20flag','Please\x20restart\x20Cursor\x20to\x20load\x20the\x20new\x20MCP\x20config.','\x20Assets\x20are\x20syncing...','Fetching\x20developer\x20guides\x20from\x20CDN\x20(with\x20extensions)...','Press\x20any\x20key\x20to\x20exit...','Project','Project\x20name\x20contains\x20invalid\x20characters.\x20Not\x20allowed:\x20<\x20>\x20:\x20\x22\x20|\x20?\x20*\x20and\x20control\x20characters','\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)','\x20Enter\x20project\x20CSS\x20asset\x20URL\x20(https://...)','Configure\x20AppCode:','💡\x20If\x20the\x20browser\x20does\x20not\x20open\x20automatically,\x20copy\x20the\x20login\x20URL\x20above\x20into\x20your\x20browser.','AppCode','Using\x20configured\x20AppCode:\x20{{appCode}}','7022000sRDGmt','Written\x20.cursor/mcp.json','🔐\x20Starting\x20login\x20service...','Please\x20run:\x20{{command}}','✗\x20Configuration\x20failed','Not\x20set','Login\x20skipped','\x0aNo\x20IDE\x20selected,\x20installation\x20cancelled\x0a','Fetching\x20daily\x20menu\x20list...\x20(appCode:\x20{{appCode}})','√\x20Menu\x20creation\x20completed','\x20\x20\x201.\x20Specify\x20directly:\x20lovrabet\x20api\x20pull\x20<app-code>','\x20\x20\x201.\x20Set\x20default:\x20lovrabet\x20config\x20set\x20appcode\x20<app-code>','Usage:','Cursor\x20MCP\x20configured\x20successfully','\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','\x20|\x20AppCode:\x20','Generating\x20{{fileName}}.md\x20({{current}}/{{total}})','Create','Unknown\x20IDE:\x20{{ide}}','Configuration\x20command\x20generated','*\x20Updating\x20package.json\x20name\x20and\x20description\x20fields','Invalid\x20command.\x20Available\x20commands:','↑/↓:\x20Move\x20\x20Space:\x20Toggle\x20\x20a:\x20All\x20\x20q:\x20Quit\x20\x20Enter:\x20Confirm','-\x20Model\x20config\x20({{count}}\x20models)','2466momqXh','Project\x20name:\x20','✓\x20Skill\x20Installation\x20Complete:','\x20\x20\x20Duration:\x20{{duration}}ms','Configuration\x20methods:','Fetching\x20online\x20menu\x20list...\x20(appCode:\x20{{appCode}})','Use','Lovrabet\x20Platform','\x20\x20\x20•\x20{{name}}.ts\x20-\x20Client\x20instance\x20file','\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','\x20Fetching\x20online\x20menu\x20list...','√\x20Valid\x20login\x20detected','*\x20Processed\x20{{count}}\x20datasets','\x20\x20\x20\x20$\x20lovrabet\x20mcp\x20install\x20--cursor\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20#\x20Configure\x20Cursor','Installing\x20skills...','⚠️\x20Configuration\x20requires\x20manual\x20steps','Other\x20IDE\x20configuration\x20guide\x20displayed','16055CtUcXI','✓\x20Generated:\x20{{fileName}}.md','Examples','\x20\x20√\x20Environment\x20configured','Initializing\x20configuration\x20file...','Login\x20failed','Please\x20configure\x20app\x20code\x20first\x20via\x20`lovrabet\x20config\x20set\x20app\x20<value>`','↪\x20New\x20version\x20available','\x20Checking...','\x20Enter\x20project\x20JS\x20asset\x20URL\x20(https://...)','Watch\x20Mode','Fetched\x20{{count}}\x20online\x20menus\x20successfully','*\x20Entered\x20asset\x20URLs','Failed\x20to\x20copy\x20Cursor\x20Rules\x20file','1776663FMfSas','×\x20Project\x20creation\x20failed:\x20{{error}}','✓\x20MCP\x20configuration\x20completed!','Configuration:\x20appcode={{appcode}},\x20env={{env}}','×\x20API\x20config\x20pull\x20failed:\x20{{error}}','{{name}}\x20skill\x20installed\x20successfully','Starting\x20development\x20server...','⚠️\x20\x20Unknown\x20platform:\x20{{ide}},\x20using\x20generic\x20template','*\x20Select\x20IDEs\x20to\x20configure:','\x20\x20\x20Current\x20version:\x20{{package}}@{{version}}','*\x20No\x20logs\x20found','*\x20Pulling\x20API\x20config\x20from\x20server...\x20(env:\x20{{env}})','Specify\x20output\x20directory\x20(pull:\x20./src/api/,\x20doc:\x20./docs)','√\x20Configuration\x20file\x20created,\x20AppCode:\x20{{appCode}}','*\x20Using\x20configured\x20AppCode:\x20{{appCode}}','🚀\x20Next\x20Steps:','\x0aInstallation\x20cancelled\x0a','Menu\x20assets\x20synced:\x20{{label}}','Please\x20select\x20at\x20least\x20one\x20item\x20to\x20configure','App\x20Code\x20can\x20only\x20contain\x20letters,\x20numbers,\x20-\x20and\x20_','\x20\x20lovrabet\x20mcp\x20--help\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20#\x20Show\x20help\x0a','Lovrabet\x20Skill\x20-\x20Developer\x20Skill\x20Installation\x20Tool','Finish','Unsupported\x20MCP\x20IDE:\x20{{ide}}','•\x20Skill:\x20Install\x20best\x20practices\x20and\x20Backend\x20Function\x20guidelines','Specify\x20environment\x20(e.g.\x20daily,\x20online)','\x20\x20\x20\x20→\x20Interactive\x20IDE\x20selection','Generate\x20docs\x20for\x20all\x20datasets','\x20\x20Use\x20←→\x20to\x20revise\x20choice,\x20Enter\x20to\x20confirm\x20IDEs','\x0a✓\x20MCP\x20configuration\x20completed\x20({{successCount}}/{{totalCount}}\x20succeeded)','!\x20Not\x20logged\x20in','No\x20appcode\x20found.\x20Run\x20\x27lovrabet\x20init\x27\x20to\x20initialize\x20project\x20config','{{count}}\x20directories\x20installed','Failed\x20to\x20save\x20config','×\x20AppCode\x20not\x20configured','✗\x20Failed:\x20{{fileName}}.md\x20-\x20{{error}}','\x20\x20q.\x20Cancel\x0a','*\x20Checking\x20login\x20status...','App\x20Code','Install\x20all\x20skills','List\x20all\x20config\x20values','Installation\x20methods:','Specify\x20doc\x20output\x20directory','\x20\x20Direct\x20IDE\x20config\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20-\x20Use\x20--ide\x20flags','Failed\x20to\x20clean\x20up\x20project\x20directory','Other\x20IDE','JS\x20URL:\x20','Pull\x20API\x20config:\x20','Supported\x20IDEs:','⚠️\x20\x20Failed\x20to\x20open\x20browser\x20automatically','\x20\x20lovrabet\x20mcp\x20install\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20#\x20Interactive\x20MCP\x20configuration','✓\x20Logged\x20out','\x0aSelect\x20IDE\x20to\x20configure\x20MCP:\x0a','login\x20again\x20and\x20retry','Selected\x20menus','Generate\x20Documentation','*\x20Generated\x20doc\x20files:','Set\x20a\x20config\x20value','\x20\x20\x20Current\x20CLI\x20version:\x20{{version}}','\x20Fetching\x20online\x20menu\x20asset\x20links...','\x20\x20\x20Time:\x20{{time}}','Error:\x20Unsupported\x20command:\x20{{cmd}}','Selected\x20IDEs','Logged\x20in','*\x20Select\x20menus\x20to\x20sync:','Info','*\x20Logging\x20in,\x20please\x20complete\x20in\x20browser...','Failed\x20to\x20create\x20menu:\x20{{error}}','✓\x20Skills\x20installed\x20successfully!\x20{{count}}\x20directories\x20created','!\x20No\x20local\x20pages\x20found,\x20please\x20create\x20pages\x20first','\x20\x20(Note:\x20--appcode\x20flag\x20matches\x20config,\x20using\x20default\x20config)','\x20\x20✓\x20Created\x20{{path}}/','Failed\x20to\x20fetch\x20datasets,\x20HTTP\x20status:\x20{{status}}','Your\x20choice:\x20','Failed\x20to\x20fetch\x20menu\x20list:\x20{{error}}','Update','Unknown\x20error','Get\x20a\x20config\x20value','\x20\x20\x20Upgrade\x20command:\x20{{command}}','Cancel','*\x20Create\x20new\x20project','API\x20Management','Developer\x20guides\x20location:','Project\x20Name','Failed\x20to\x20update\x20menu\x20assets:\x20{{error}}','\x20\x20Restart\x20Claude\x20Code\x20to\x20take\x20effect\x0a','Set\x20display\x20language\x20(zh/en)','\x20\x20\x20\x20→\x20Install\x20all\x20IDE\x20skills','\x20Logging\x20in...','Set\x20App\x20Code\x20for\x20current\x20project','Interactive\x20skill\x20installation','\x20\x20\x20Stable\x20version:\x20{{version}}','Unknown\x20api\x20command','Select\x20IDEs\x20to\x20configure:','\x20\x20✗\x20Failed\x20to\x20install\x20{{ide}}:\x20{{error}}','*\x20Automatically\x20pull\x20API\x20config?','\x0aAvailable\x20commands:','Project\x20Configuration','\x0a✗\x20{{ide}}\x20MCP\x20configuration\x20failed:\x20{{error}}','!\x20The\x20following\x20dataset\x20codes\x20do\x20not\x20exist:\x20{{codes}}','\x20\x20\x202.\x20Set\x20default:\x20lovrabet\x20config\x20set\x20app\x20<app-code>','🚀\x20Pulling\x20API\x20config\x20from\x20server...\x20(env:\x20{{env}})','Claude\x20Code\x20MCP\x20command\x20generated','Install\x20all\x20IDE\x20skills\x20(including\x20generic\x20template)','Login\x20Successful','Failed\x20to\x20fetch\x20datasets:\x20{{error}}','*\x20Press\x20Enter\x20to\x20start\x20login.','*\x20Login\x20first\x20to\x20pull\x20API\x20config?','CSS\x20URL','*\x20Cleaning\x20up\x20failed\x20project\x20directory:\x20{{dir}}','Cursor\x20Rules\x20file\x20already\x20exists,\x20skipping','Enter\x20default:\x20Yes','\x0aInvalid\x20choice.\x20Enter\x20a\x20number\x20between\x201\x20and\x20{{count}}\x0a','\x0aNote:\x20Some\x20configurations\x20require\x20manual\x20commands,\x20please\x20follow\x20the\x20instructions\x20above','Logging\x20in...','\x20\x20•\x20Skill:','!\x20API\x20configuration\x20pull\x20failed,\x20you\x20can\x20manually\x20run:\x20lovrabet\x20api\x20pull','√\x20Configuration\x20file\x20created,\x20you\x20can\x20configure\x20later\x20with\x20\x27lovrabet\x20config\x20set\x20appcode\x20<app-code>\x27','\x0a✓\x20Skills\x20installed\x20successfully!\x20{{count}}\x20directories\x20created\x0a','1741708oPWOmb','Waiting\x203\x20seconds...\x0a','Start\x20project:\x20','Enter\x20project\x20CSS\x20asset\x20URL\x20(https://...)','[Y]\x20Yes,\x20configure\x20AI\x20assistant','Fetching\x20developer\x20guides\x20from\x20CDN...','Create\x20agents.md\x20file','agents.md\x20already\x20exists,\x20skipping','√\x20package.json\x20updated:\x20name={{name}}','Create\x20Cursor\x20Rules\x20file','2ewYwcE','✓\x20MCP\x20Server\x20Configuration\x20Complete:','\x20\x20√\x20Code\x20formatted','*\x20Output\x20directory:\x20','\x20\x20$\x20lovrabet\x20mcp\x20install','!\x20No\x20valid\x20login\x20detected','After\x20installation,\x20the\x20following\x20will\x20be\x20created\x20in\x20your\x20project:','*\x20Configure\x20Lovrabet\x20MCP\x20and\x20Skill?','Please\x20select\x20at\x20least\x20one\x20menu','Specify\x20app\x20code','\x0aError:\x20Configuration\x20failed\x20-\x20{{error}}\x0a','No\x20config\x20value\x20provided','Updating\x20menu\x20asset\x20links:\x20{{label}}\x20({{path}})','Install\x20all','175206SnwctZ','❌\x20Error:\x20Positional\x20arguments\x20are\x20no\x20longer\x20supported','\x20\x20lovrabet\x20mcp\x20install\x20--claude\x20\x20\x20\x20Configure\x20Claude\x20Code\x20MCP\x20directly','Enter\x200\x20to\x20install\x20all\x20IDEs,\x20enter\x20q\x20to\x20cancel\x0a','Login\x20status','Appcode\x20must\x20be\x20configured\x20first','\x20command\x20to\x20re-login','Copy\x20project\x20files','Project\x20name\x20is\x20too\x20long,\x20maximum\x20100\x20characters','*\x20Configuring\x20AppCode\x20for\x20project\x20{{name}}:\x20{{appCode}}','Install\x20for\x20specific\x20IDE','Success','Please\x20enter\x20a\x20valid\x20JS\x20https\x20URL','\x20\x20Error:\x20{{error}}','App\x20Code\x20identifies\x20your\x20project.\x20Only\x20letters,\x20numbers,\x20-\x20and\x20_\x20are\x20allowed','\x20\x20lovrabet\x20mcp\x20install\x20--cursor\x20\x20\x20\x20Configure\x20Cursor\x20MCP\x20directly','Asset\x20links\x20to\x20update:','*\x20Configuring\x20Lovrabet\x20MCP\x20and\x20Skill...','Local','Start\x20batch\x20menu\x20creation,\x20total\x20{{count}}','Login\x20successful.\x20Please\x20return\x20to\x20the\x20CLI\x20to\x20continue.\x20This\x20window\x20will\x20close\x20in\x20{{seconds}}\x20seconds.','Pull\x20API','Project\x20directory\x20{{name}}\x20already\x20exists,\x20please\x20use\x20a\x20different\x20name','Pull\x20API\x20for\x20specified\x20environment','Install\x20dependencies','*\x20Project\x20name:\x20','!\x20No\x20menu\x20asset\x20links\x20found','Generating\x20docs\x20for\x20{{count}}\x20datasets...','!\x20API\x20configuration\x20pull\x20error,\x20project\x20created,\x20you\x20can\x20manually\x20run:\x20lovrabet\x20api\x20pull','↑/↓:\x20Move\x20\x20Space:\x20Toggle\x20\x20a:\x20All\x20\x20i/r:\x20Invert\x20\x20Enter:\x20Confirm','*\x20Import\x20usage:','Confirm','\x0a✓\x20{{ide}}\x20MCP\x20configured\x20successfully','√\x20Valid\x20session\x20detected,\x20no\x20login\x20required.','lovrabet\x20api\x20-\x20API\x20Operations','Configuration\x20guide:','*\x20Enter\x20new\x20asset\x20URLs','Include\x20Backend\x20Function\x20sync\x20workflow','\x20\x20lovrabet\x20skill\x20install\x20cursor\x20\x20\x20\x20#\x20Install\x20Cursor\x20skill\x20directly\x0a','[N]\x20Skip,\x20configure\x20later','\x20\x20!\x20CDN\x20fetch\x20failed,\x20skipping\x20guide\x20installation:\x20{{error}}','{{count}}','Loading...','\x20\x20Recommended:\x20Yes,\x20to\x20auto-configure\x20API','\x20\x20Installing\x20dependencies...','Unsupported\x20IDE:\x20{{ide}}','√\x20Updated\x20successfully','\x20\x20✗\x20Unknown\x20IDE:\x20{{ide}}','Examples:','19315152RWzvdb','↪\x20SDK\x20update\x20available','Other\x20IDE\x20configuration\x20guide','×\x20--datasetcode\x20cannot\x20be\x20empty','Use\x20specified\x20appcode','*\x20Creating\x20project\x20{{name}}...','Invalid\x20response\x20format\x20({{datasetCode}}):\x20missing\x20data.markdown\x20field','Login\x20successful!','Continue\x20update','✅\x20Browser\x20opened.\x20Please\x20complete\x20login\x20in\x20the\x20browser.','Cancel\x20update','Please\x20enter\x20a\x20valid\x20CSS\x20https\x20URL','Directory\x20\x22{{name}}\x22\x20already\x20exists','App\x20Code\x20cannot\x20be\x20empty','\x20\x20\x20\x20→\x20Install\x20Cursor\x20and\x20Claude\x20Code\x20skills\x20directly','!\x20Please\x20use\x20one\x20of\x20the\x20following:','✓\x20MCP\x20server\x20configuration\x20completed:','Generic\x20Template','!\x20Please\x20specify\x20a\x20valid\x20command.','Configure\x20Lovrabet\x20MCP\x20Server','√\x20API\x20configuration\x20pulled\x20successfully','Pull\x20API\x20configuration:','*\x20Generated\x20files:','Claude\x20Code','×\x20--params\x20is\x20not\x20valid\x20JSON\x20format','\x0a📋\x20Other\x20IDE\x20MCP\x20configuration:\x0a','2425244hZxfqN','\x20\x20\x202.\x20Use\x20flag:\x20lovrabet\x20api\x20pull\x20--appcode\x20<app-code>','\x20\x20\x20•\x20{{name}}.ts\x20-\x20Model\x20config\x20file','Cannot\x20create\x20project\x20in\x20current\x20directory,\x20please\x20check\x20directory\x20permissions','✓\x20{{scope}}\x20locale\x20set\x20to:\x20{{value}}','Please\x20use\x20the\x20--appcode\x20flag,\x20for\x20example:','📍\x20Login\x20URL:',',\x20{{failCount}}\x20failed','Specify\x20output\x20directory','*\x20Creating\x20configuration\x20file\x20for\x20project\x20{{name}}','Configuration:','\x20\x20Environment:\x20{{env}}','Error','{{count}}\x20items','Please\x20enter\x20App\x20Code:','Config\x20value\x20is\x20invalid\x20or\x20too\x20long','Format\x20code','Pull\x20and\x20generate\x20API\x20config\x20files','.lovrabetrc\x20file\x20already\x20exists\x20in\x20current\x20directory','\x20\x20lovrabet\x20skill\x20install\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20#\x20Interactive\x20IDE\x20selection','√\x20Pulled\x20{{datasetCount}}\x20datasets,\x20generated\x20{{modelCount}}\x20models','🌐\x20Attempting\x20to\x20open\x20browser\x20automatically...','All\x20specified\x20dataset\x20codes\x20do\x20not\x20exist:\x20{{codes}}','Options:','AppCode\x20can\x20only\x20contain\x20letters,\x20numbers,\x20hyphens\x20and\x20underscores,\x20and\x20must\x20start\x20with\x20a\x20letter\x20or\x20number','Fetching\x20model\x20list\x20from\x20server...\x20(env:\x20{{env}})','\x20\x20\x20\x20→\x20Configure\x20Cursor\x20MCP\x20(writes\x20.cursor/mcp.json)','Cursor','Successfully\x20initialized\x20.lovrabetrc\x20file\x20in\x20current\x20directory','Authentication\x20failed,\x20session\x20expired.\x20Please\x20use\x20lovrabet\x20auth\x20to\x20login\x20again','Invalid\x20project\x20name','Hint:\x20use\x20','Warning','Other\x20(generic\x20template)\x20(.agent/skills/)\x20-\x20Fallback','Description','{{count}}\x20items\x20created','Invalid\x20App\x20Code','\x20\x20\x20Interactive\x20selection\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20-\x20Show\x20IDE\x20list\x20for\x20selection','*\x20Logs\x20cleared','Menu\x20Name','Failed\x20to\x20fetch\x20doc\x20({{datasetCode}}),\x20HTTP\x20status:\x20{{status}}','CSS\x20URL\x20is\x20unreachable','Usage','*\x20Processing\x20{{count}}\x20datasets...','{{name}}\x20skill\x20installation\x20failed','Enter\x20project\x20JS\x20asset\x20URL\x20(https://...)','Developer\x20guides:\x20.lovrabet/skill/.shared/guides/','\x20\x20Direct\x20install\x20(multiple\x20IDEs)\x20\x20\x20\x20\x20-\x20Use\x20--ide\x20flags\x20to\x20install\x20directly','Generate\x20docs\x20for\x20specified\x20environment','Skill\x20contents\x20include:','√\x20{{label}}:\x20','\x0aNo\x20valid\x20IDE\x20to\x20install\x0a','1.\x20Configure\x20Lovrabet\x20MCP\x20and\x20Skill','\x0a📦\x20Installing\x20{{name}}...\x0a','\x0a📋\x20Run\x20the\x20following\x20command\x20to\x20configure\x20Claude\x20Code\x20MCP:\x0a','to\x20view\x20available\x20commands.','Previous','√\x20Doc\x20generation\x20complete!\x20{{successCount}}\x20succeeded','\x20\x20√\x20Dependency\x20install\x20skipped\x20(non-interactive)','*\x20Pulling\x20API\x20configuration...','\x20\x20√\x20package.json\x20updated','Server\x20returned\x20empty\x20menu\x20list','Failed\x20to\x20fetch\x20menu\x20list,\x20HTTP\x20status:\x20{{status}}','View\x20Logs','App\x20Code\x20cannot\x20exceed\x20100\x20characters','\x0aConfiguration\x20cancelled\x0a','⚠️\x20The\x20following\x20datasets\x20failed\x20to\x20generate:','Yes'];a55_0x31e9=function(){return _0x1d7fa8;};return a55_0x31e9();}var a55_0x1ae8f6=a55_0xbcc9;(function(_0x39f90b,_0x139e39){var _0x53af48=a55_0xbcc9,_0xaaf03b=_0x39f90b();while(!![]){try{var _0x363d6e=parseInt(_0x53af48(0x259))/0x1+parseInt(_0x53af48(0x263))/0x2*(-parseInt(_0x53af48(0x271))/0x3)+-parseInt(_0x53af48(0x2bc))/0x4+parseInt(_0x53af48(0x1d4))/0x5*(parseInt(_0x53af48(0x338))/0x6)+-parseInt(_0x53af48(0x1e2))/0x7+parseInt(_0x53af48(0x320))/0x8+-parseInt(_0x53af48(0x2a2))/0x9;if(_0x363d6e===_0x139e39)break;else _0xaaf03b['push'](_0xaaf03b['shift']());}catch(_0x528987){_0xaaf03b['push'](_0xaaf03b['shift']());}}}(a55_0x31e9,0xd5821));export default{'common':{'success':a55_0x1ae8f6(0x27c),'error':a55_0x1ae8f6(0x2c8),'warning':a55_0x1ae8f6(0x2dc),'info':a55_0x1ae8f6(0x223),'loading':a55_0x1ae8f6(0x29b),'cancel':a55_0x1ae8f6(0x231),'confirm':a55_0x1ae8f6(0x290),'next':'Next','previous':a55_0x1ae8f6(0x2f4),'finish':a55_0x1ae8f6(0x1f8)},'help':{'invalidCommand':a55_0x1ae8f6(0x2b4),'usageHint':a55_0x1ae8f6(0x1c9),'viewCommands':a55_0x1ae8f6(0x2f3)},'cli':{'usage':a55_0x1ae8f6(0x2e6),'examples':a55_0x1ae8f6(0x1d6),'description':a55_0x1ae8f6(0x2de)},'init':{'inputAppCode':a55_0x1ae8f6(0x2ca),'appCodeDesc':a55_0x1ae8f6(0x27f),'fileExists':a55_0x1ae8f6(0x2ce),'creating':a55_0x1ae8f6(0x1d8),'success':a55_0x1ae8f6(0x2d8),'appCodeLabel':a55_0x1ae8f6(0x31e),'nextSteps':'You\x20can\x20now\x20use\x20commands\x20like\x20\x27lovrabet\x20api\x20doc\x27\x20and\x20\x27lovrabet\x20api\x20pull\x27','validation':{'required':a55_0x1ae8f6(0x2af),'tooLong':a55_0x1ae8f6(0x2fc),'invalidFormat':a55_0x1ae8f6(0x1f5),'invalidCode':a55_0x1ae8f6(0x2e0)}},'create':{'projectNameLabel':a55_0x1ae8f6(0x235),'appCodeLabel':'App\x20Code','validation':{'required':'Project\x20name\x20cannot\x20be\x20empty','invalidChars':a55_0x1ae8f6(0x319),'tooLong':a55_0x1ae8f6(0x279),'dirExists':a55_0x1ae8f6(0x287),'noPermission':a55_0x1ae8f6(0x2bf),'projectName':{'tooLong':'Project\x20name\x20cannot\x20exceed\x2050\x20characters','invalidFormat':'Project\x20name\x20must\x20start\x20with\x20a\x20letter\x20or\x20number\x20and\x20only\x20contain\x20letters,\x20numbers,\x20-\x20and\x20_','invalid':a55_0x1ae8f6(0x2da),'dirExistsShort':a55_0x1ae8f6(0x2ae)},'appCode':{'tooLong':a55_0x1ae8f6(0x310),'invalidFormat':a55_0x1ae8f6(0x2d4),'invalid':'Invalid\x20AppCode'},'ide':{'required':'Please\x20select\x20at\x20least\x20one\x20IDE'}},'common':{'yes':a55_0x1ae8f6(0x2ff),'no':'No','selectHint':'\x20\x20Use\x20←→\x20to\x20choose,\x20press\x20Enter\x20to\x20confirm'},'steps':{'pullingApi':a55_0x1ae8f6(0x2f7),'apiPullSuccess':a55_0x1ae8f6(0x2b6),'apiPullFailed':a55_0x1ae8f6(0x256),'apiPullError':a55_0x1ae8f6(0x28d),'updatingPackage':a55_0x1ae8f6(0x334),'packageUpdated':a55_0x1ae8f6(0x261),'configuringAppCode':a55_0x1ae8f6(0x27a),'creatingConfig':'*\x20Creating\x20configuration\x20file\x20for\x20project\x20{{name}}','configCreatedWithAppCode':a55_0x1ae8f6(0x1ef),'configCreated':'√\x20Configuration\x20file\x20created,\x20you\x20can\x20configure\x20later\x20with\x20\x27lovrabet\x20config\x20set\x20appcode\x20<app-code>\x27','configuringMcp':a55_0x1ae8f6(0x282),'mcpConfigComplete':'√\x20Lovrabet\x20MCP\x20and\x20Skill\x20configuration\x20completed','cleaningUp':a55_0x1ae8f6(0x24f),'projectName':{'label':'Project\x20Name'},'appCode':{'label':a55_0x1ae8f6(0x208),'notSet':a55_0x1ae8f6(0x325)},'apiPull':{'label':'Pull\x20API\x20config'},'lovrabetSetup':{'label':a55_0x1ae8f6(0x30a),'ideCount':'{{count}}\x20IDEs'},'login':{'label':a55_0x1ae8f6(0x275),'loggedIn':a55_0x1ae8f6(0x221),'failed':a55_0x1ae8f6(0x1d9),'skipped':a55_0x1ae8f6(0x326)}},'title':a55_0x1ae8f6(0x232),'completedStep':a55_0x1ae8f6(0x2ee),'input':{'projectName':{'label':a55_0x1ae8f6(0x28a),'hint':'Press\x20Enter\x20to\x20confirm\x20or\x20type\x20a\x20custom\x20name'},'appCode':{'label':a55_0x1ae8f6(0x30d),'optional':'[optional]:\x20','hint':'Bind\x20AppCode\x20to\x20auto-configure\x20API,\x20e.g.\x20app-c4c89304\x20(press\x20Enter\x20to\x20skip)'}},'login':{'checking':a55_0x1ae8f6(0x207),'checkingStatus':a55_0x1ae8f6(0x1dc),'valid':a55_0x1ae8f6(0x1ce),'notDetected':a55_0x1ae8f6(0x268),'prompt':a55_0x1ae8f6(0x24d),'inProgress':a55_0x1ae8f6(0x224),'inProgressStatus':a55_0x1ae8f6(0x23a)},'apiPull':{'confirm':a55_0x1ae8f6(0x241),'recommendation':a55_0x1ae8f6(0x29c)},'lovrabetSetup':{'confirm':a55_0x1ae8f6(0x26a),'selectIdeHint':a55_0x1ae8f6(0x1fe),'selectIdeTitle':a55_0x1ae8f6(0x23f),'keyboardShortcuts':a55_0x1ae8f6(0x28e),'inProgress':a55_0x1ae8f6(0x282),'mcpCompleted':a55_0x1ae8f6(0x2b2),'skillCompleted':'✓\x20Skill\x20installation\x20completed:'},'creating':'*\x20Creating\x20project...','display':{'projectName':a55_0x1ae8f6(0x339),'appCode':a55_0x1ae8f6(0x32f)},'packageJson':{'updating':a55_0x1ae8f6(0x334),'updated':a55_0x1ae8f6(0x261)},'config':{'configuringAppCode':a55_0x1ae8f6(0x27a),'creating':a55_0x1ae8f6(0x2c5),'createdWithAppCode':'√\x20Configuration\x20file\x20created,\x20AppCode:\x20{{appCode}}','createdWithoutAppCode':a55_0x1ae8f6(0x257)},'cleanup':{'inProgress':a55_0x1ae8f6(0x24f)},'results':{'mcpComplete':a55_0x1ae8f6(0x264),'skillComplete':a55_0x1ae8f6(0x33a),'nextSteps':a55_0x1ae8f6(0x1f1)},'nextSteps':{'configureMcpAndSkill':a55_0x1ae8f6(0x2f0),'skill':a55_0x1ae8f6(0x255),'mcp':'\x20\x20•\x20MCP\x20Server:','startProject':'Start\x20project:','pullApi':a55_0x1ae8f6(0x2b7),'configAppCode':a55_0x1ae8f6(0x31c)},'errors':{'createFailed':a55_0x1ae8f6(0x1e3),'cleanupFailed':a55_0x1ae8f6(0x20e),'depsInstallFailed':'Dependency\x20installation\x20failed:\x20{{error}}'},'nonInteractive':{'creating':a55_0x1ae8f6(0x2a7),'templateCreated':'\x20\x20√\x20Project\x20template\x20created','packageJsonUpdated':a55_0x1ae8f6(0x2f8),'installingDeps':a55_0x1ae8f6(0x29d),'depsSkipped':a55_0x1ae8f6(0x2f6),'codeFormatted':a55_0x1ae8f6(0x265),'envConfigured':a55_0x1ae8f6(0x1d7),'success':'\x0a√\x20Project\x20{{name}}\x20created\x20successfully!'},'tasks':{'copyFiles':a55_0x1ae8f6(0x278),'formatCode':'Format\x20code','installDependencies':a55_0x1ae8f6(0x289),'formatCodeLabel':a55_0x1ae8f6(0x2cc)},'nextStepsAlt':{'startProject':a55_0x1ae8f6(0x25b),'pullApi':a55_0x1ae8f6(0x211),'configureLovrabet':a55_0x1ae8f6(0x2f0)}},'config':{'title':a55_0x1ae8f6(0x243),'help':{'invalidCommand':a55_0x1ae8f6(0x335),'examples':a55_0x1ae8f6(0x2a1),'set':a55_0x1ae8f6(0x21b),'get':a55_0x1ae8f6(0x22f),'list':a55_0x1ae8f6(0x20a),'exampleApp':a55_0x1ae8f6(0x23b),'exampleEnv':'Set\x20environment\x20(online/daily)','exampleLocale':a55_0x1ae8f6(0x238)},'validation':{'envInvalid':'env\x20value\x20must\x20be\x20\x22online\x22\x20or\x20\x22daily\x22','localeInvalid':'Invalid\x20locale\x20value.\x20Supported:\x20zh,\x20en,\x20zh-CN,\x20en-US','valueInvalid':a55_0x1ae8f6(0x2cb),'noValue':a55_0x1ae8f6(0x26e),'saveFailed':a55_0x1ae8f6(0x203)},'success':{'envSet':'✓\x20{{scope}}\x20env\x20set\x20to:\x20{{value}}','localeSet':a55_0x1ae8f6(0x2c0)},'scope':{'project':a55_0x1ae8f6(0x318),'global':'Global'}},'api':{'title':a55_0x1ae8f6(0x233),'pull':a55_0x1ae8f6(0x286),'doc':a55_0x1ae8f6(0x219),'help':{'title':a55_0x1ae8f6(0x293),'usage':'Usage:','options':a55_0x1ae8f6(0x2d3),'optAppcode':a55_0x1ae8f6(0x26c),'optOutput':a55_0x1ae8f6(0x1ee),'optEnv':a55_0x1ae8f6(0x1fb),'optDatasetcode':'Specify\x20dataset\x20codes\x20for\x20doc\x20generation\x20(comma-separated,\x20doc\x20command\x20only)','optHelp':'Show\x20this\x20help\x20message','examples':'Examples:','pullDesc':a55_0x1ae8f6(0x2cd),'pullAppcode':a55_0x1ae8f6(0x2a6),'pullOutput':a55_0x1ae8f6(0x2c4),'pullEnv':a55_0x1ae8f6(0x288),'docDesc':a55_0x1ae8f6(0x1fd),'docAppcode':'Use\x20specified\x20appcode','docOutput':a55_0x1ae8f6(0x20c),'docEnv':a55_0x1ae8f6(0x2ec),'docDataset':a55_0x1ae8f6(0x302),'docDatasets':'Generate\x20docs\x20for\x20multiple\x20datasets','unknownCommand':a55_0x1ae8f6(0x23e),'availableCommands':'Available\x20commands:'},'common':{'noPositionalArgs':a55_0x1ae8f6(0x272),'useAppcodeFlag':a55_0x1ae8f6(0x2c1),'noAppCode':a55_0x1ae8f6(0x204),'noAppCodeHint':'!\x20Please\x20use\x20one\x20of\x20the\x20following:','noAppCodeOption1':a55_0x1ae8f6(0x32b),'noAppCodeOption2Pull':a55_0x1ae8f6(0x2bd),'noAppCodeOption2Doc':a55_0x1ae8f6(0x308),'usingConfigAppCode':a55_0x1ae8f6(0x1f0),'usingConfigAppCodeHint':a55_0x1ae8f6(0x228),'usingSpecifiedAppCode':'Using\x20specified\x20AppCode:\x20{{appCode}}','usingDefaultAppCode':a55_0x1ae8f6(0x31f),'noAppCodeDefault':a55_0x1ae8f6(0x30f),'paramsInvalidJson':'×\x20--params\x20must\x20be\x20a\x20valid\x20JSON\x20object','paramsNotJson':a55_0x1ae8f6(0x2ba),'paramsError':a55_0x1ae8f6(0x27e),'datasetcodeEmpty':a55_0x1ae8f6(0x2a5),'onlyGenerateDatasets':'*\x20Generating\x20docs\x20only\x20for\x20specified\x20datasets:\x20{{codes}}','authExpired':a55_0x1ae8f6(0x2d9),'authRetry':a55_0x1ae8f6(0x217),'unknownError':a55_0x1ae8f6(0x22e)},'pullUI':{'fetching':a55_0x1ae8f6(0x247),'successPull':'√\x20Pulled\x20{{datasetCount}}\x20datasets,\x20generated\x20{{modelCount}}\x20models','duplicateInfo':'!\x20Original\x20{{originalCount}}\x20datasets,\x20filtered\x20{{duplicateCount}}\x20duplicates','generatedFiles':a55_0x1ae8f6(0x2b8),'modelFile':a55_0x1ae8f6(0x337),'clientFile':'-\x20Client\x20instance\x20file','importHint':a55_0x1ae8f6(0x28f),'pullFailed':'Failed\x20to\x20pull\x20API\x20config:\x20{{error}}'},'docUI':{'fetchingDatasets':'Fetching\x20dataset\x20list...','noDatasets':'No\x20datasets\x20found','datasetsNotFound':a55_0x1ae8f6(0x245),'allDatasetsNotFound':a55_0x1ae8f6(0x2d2),'filteredDatasets':'*\x20Filtered\x20{{count}}\x20matching\x20datasets\x20from\x20{{total}}\x20total','generatingDocs':a55_0x1ae8f6(0x28c),'generatingFile':a55_0x1ae8f6(0x330),'docComplete':a55_0x1ae8f6(0x2f5),'docFailed':a55_0x1ae8f6(0x2c3),'processedDatasets':a55_0x1ae8f6(0x1cf),'outputDir':a55_0x1ae8f6(0x266),'generatedDocs':a55_0x1ae8f6(0x21a),'failedDatasets':a55_0x1ae8f6(0x2fe),'docGenerateFailed':'Doc\x20generation\x20failed:\x20{{error}}'},'fetchModel':{'fetching':a55_0x1ae8f6(0x2d5),'httpError':a55_0x1ae8f6(0x22a),'fetchError':a55_0x1ae8f6(0x24b)},'generateFile':{'noAppCode':a55_0x1ae8f6(0x1da)},'docBatch':{'totalDatasets':'\x0a{{count}}\x20datasets\x20to\x20generate\x20docs\x20for\x0a','generating':'[{{current}}/{{total}}]\x20Generating:\x20{{fileName}}.md\x20({{name}})','success':a55_0x1ae8f6(0x1d5),'failed':a55_0x1ae8f6(0x205),'waiting':a55_0x1ae8f6(0x25a),'docFormatError':a55_0x1ae8f6(0x2a8),'httpError':a55_0x1ae8f6(0x2e4)},'silent':{'invalidPrefix':'×\x20Invalid\x20file\x20prefix.\x20Only\x20letters,\x20numbers,\x20hyphens\x20and\x20underscores\x20allowed,\x20must\x20start\x20with\x20a\x20letter.','fetching':a55_0x1ae8f6(0x1ed),'generating':'*\x20Generating\x20API\x20config\x20files:','modelFileName':a55_0x1ae8f6(0x2be),'clientFileName':a55_0x1ae8f6(0x1cb),'processing':a55_0x1ae8f6(0x2e7),'success':a55_0x1ae8f6(0x2d0),'error':a55_0x1ae8f6(0x1e6)}},'auth':{'title':'Authentication','login':{'success':{'title':a55_0x1ae8f6(0x24a),'message':a55_0x1ae8f6(0x285),'manualClose':'Unable\x20to\x20close\x20automatically.\x20Please\x20close\x20this\x20tab\x20or\x20window\x20manually.'},'successCli':a55_0x1ae8f6(0x2a9),'inProgress':a55_0x1ae8f6(0x254),'browserPrompt':'Please\x20complete\x20login\x20in\x20your\x20browser.','pressEnter':a55_0x1ae8f6(0x24c),'pressQToExit':'Press\x20“q”\x20to\x20exit.'},'session':{'valid':a55_0x1ae8f6(0x292)},'server':{'starting':a55_0x1ae8f6(0x322),'loginUrl':a55_0x1ae8f6(0x2c2),'openingBrowser':a55_0x1ae8f6(0x2d1),'manualOpenHint':a55_0x1ae8f6(0x31d),'browserOpened':a55_0x1ae8f6(0x2ab),'browserOpenFailed':a55_0x1ae8f6(0x213),'manualCopyUrl':'🔗\x20Please\x20copy\x20the\x20login\x20URL\x20into\x20your\x20browser:'},'logout':{'success':a55_0x1ae8f6(0x215),'notLoggedIn':a55_0x1ae8f6(0x200)}},'menu':{'sync':'Sync\x20Menu','update':a55_0x1ae8f6(0x311)},'mcp':{'cursor':a55_0x1ae8f6(0x2d7),'claude':a55_0x1ae8f6(0x2b9),'error':{'unsupportedCommand':a55_0x1ae8f6(0x21f),'missingAppcode':a55_0x1ae8f6(0x201)},'help':{'title':'Lovrabet\x20MCP\x20-\x20MCP\x20Server\x20Configuration\x20Tool','availableCommands':'\x0aAvailable\x20commands:','command':{'install':a55_0x1ae8f6(0x214),'help':a55_0x1ae8f6(0x1f6)},'usage':{'help':'\x20\x20lovrabet\x20mcp\x20--help\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20Show\x20help','install':'\x20\x20lovrabet\x20mcp\x20install\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20Interactive\x20MCP\x20configuration','installCursor':a55_0x1ae8f6(0x280),'installClaude':a55_0x1ae8f6(0x273)},'configMethods':a55_0x1ae8f6(0x33c),'configMethodsInteractive':a55_0x1ae8f6(0x2e1),'configMethodsInteractiveHint':'\x20\x20\x20\x20→\x20Enter\x20number\x20to\x20select\x20IDE','configMethodsDirect':a55_0x1ae8f6(0x20d),'configMethodsDirectCursor':a55_0x1ae8f6(0x1d0),'configMethodsDirectClaude':'\x20\x20\x20\x20$\x20lovrabet\x20mcp\x20install\x20--claude\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20#\x20Configure\x20Claude\x20Code','supportedIDEs':a55_0x1ae8f6(0x212),'examples':a55_0x1ae8f6(0x2a1),'exampleInstall':a55_0x1ae8f6(0x267),'exampleInstallHint':a55_0x1ae8f6(0x1fc),'exampleInstallCursor':'\x20\x20$\x20lovrabet\x20mcp\x20install\x20--cursor','exampleInstallCursorHint':a55_0x1ae8f6(0x2d6),'configGuide':a55_0x1ae8f6(0x294)},'select':{'chooseIDE':a55_0x1ae8f6(0x216),'cancel':a55_0x1ae8f6(0x206),'enterNumber':'Enter\x20a\x20number\x20to\x20select\x20IDE:\x0a','prompt':a55_0x1ae8f6(0x22b),'cancelled':a55_0x1ae8f6(0x2fd),'invalidChoice':a55_0x1ae8f6(0x252)},'installFlow':{'configuring':'\x0a📦\x20Configuring\x20{{name}}\x20MCP...\x0a','error':a55_0x1ae8f6(0x26d)},'cursorConfig':{'success':'\x0a✓\x20Cursor\x20MCP\x20configured\x20successfully!\x0a','configInfo':a55_0x1ae8f6(0x2c6),'usageHint':'You\x20can\x20now\x20use\x20Lovrabet\x20dataset\x20MCP\x20tools\x20in\x20Cursor.','restartRequired':a55_0x1ae8f6(0x314),'error':a55_0x1ae8f6(0x26d),'rules':{'exists':a55_0x1ae8f6(0x250),'created':'Create\x20Cursor\x20Rules\x20file','copyFailed':'Failed\x20to\x20copy\x20Cursor\x20Rules\x20file'},'updateExisting':'Update\x20existing\x20mcp.json\x20config','createNew':'Create\x20new\x20mcp.json\x20config','written':a55_0x1ae8f6(0x321)},'claudeConfig':{'error':a55_0x1ae8f6(0x26d),'agents':{'exists':a55_0x1ae8f6(0x260),'created':'Create\x20agents.md\x20file','copyFailed':'Failed\x20to\x20copy\x20agents.md\x20file'},'manualCommand':'Run\x20the\x20following\x20command\x20to\x20configure\x20Claude\x20Code\x20MCP:','configInfo':a55_0x1ae8f6(0x2c6),'restartRequired':'Restart\x20Claude\x20Code\x20to\x20take\x20effect','commandGenerated':a55_0x1ae8f6(0x333)},'other':{'configInfo':a55_0x1ae8f6(0x1e5),'configGuide':'Detailed\x20guide:\x20https://help.yuntoo.com/mcp/config-guide','guideShown':a55_0x1ae8f6(0x1d3)},'config':{'env':'Environment:\x20{{env}}'},'install':{'starting':'Start\x20configuring\x20MCP','unknownIDE':'Unknown\x20IDE:\x20{{ide}}','otherIDE':a55_0x1ae8f6(0x20f),'success':a55_0x1ae8f6(0x291),'failed':a55_0x1ae8f6(0x244),'completed':a55_0x1ae8f6(0x1ff),'manualActionRequired':a55_0x1ae8f6(0x253)},'ui':{'otherIDE':a55_0x1ae8f6(0x20f),'otherIDEDescription':a55_0x1ae8f6(0x2a4),'selectAtLeastOne':a55_0x1ae8f6(0x304),'selectedIDE':a55_0x1ae8f6(0x220),'count':a55_0x1ae8f6(0x29a),'title':a55_0x1ae8f6(0x2b5),'configuring':a55_0x1ae8f6(0x303),'completed':a55_0x1ae8f6(0x1e4),'partialManual':'⚠️\x20Some\x20configurations\x20require\x20manual\x20steps','failed':a55_0x1ae8f6(0x324),'manualRequired':a55_0x1ae8f6(0x1d2),'pressAnyKeyToExit':a55_0x1ae8f6(0x317),'unsupportedIDE':a55_0x1ae8f6(0x29e)}},'aiSetup':{'error':{'missingAppcode':a55_0x1ae8f6(0x276)},'mcp':{'cursor':{'success':a55_0x1ae8f6(0x32d),'written':a55_0x1ae8f6(0x321),'error':'Cursor\x20MCP\x20configuration\x20failed','rules':{'created':a55_0x1ae8f6(0x262),'copyFailed':a55_0x1ae8f6(0x1e1)}},'claude':{'commandGenerated':a55_0x1ae8f6(0x248),'manualCommand':a55_0x1ae8f6(0x2f2),'configInfo':'Configuration:','env':a55_0x1ae8f6(0x2c7),'restartRequired':a55_0x1ae8f6(0x237),'manualExecute':a55_0x1ae8f6(0x323),'agents':{'created':a55_0x1ae8f6(0x25f),'copyFailed':'Failed\x20to\x20copy\x20agents.md\x20file'}},'other':{'name':'Other','title':a55_0x1ae8f6(0x2bb),'guideShown':'Configuration\x20guide\x20displayed'},'unsupportedIDE':a55_0x1ae8f6(0x1f9)},'skill':{'unknownIDE':a55_0x1ae8f6(0x332),'installSuccess':a55_0x1ae8f6(0x1e7),'itemsCreated':a55_0x1ae8f6(0x2df),'installFailed':a55_0x1ae8f6(0x2e8),'sharedCopied':'Shared\x20skill\x20files\x20copied\x20successfully','sharedCopyFailed':a55_0x1ae8f6(0x30c),'manifestCreated':'Skill\x20manifest\x20created'},'ui':{'selectAtLeastOne':a55_0x1ae8f6(0x1f4),'confirm':{'title':'Configure\x20AI\x20assistant\x20as\x20well?\x20This\x20will:','mcpDescription':'•\x20MCP:\x20Allow\x20AI\x20to\x20access\x20Lovrabet\x20datasets\x20directly','skillDescription':a55_0x1ae8f6(0x1fa),'yes':a55_0x1ae8f6(0x25d),'no':a55_0x1ae8f6(0x298),'default':a55_0x1ae8f6(0x251)},'select':{'title':a55_0x1ae8f6(0x1ea),'mcpSection':a55_0x1ae8f6(0x305),'skillSection':'Skills\x20(engineering\x20guidelines)','controls':a55_0x1ae8f6(0x336)},'installing':'Configuring\x20AI\x20assistant...'}},'appMenu':{'error':{'missingAppCode':'No\x20AppCode\x20provided\x20and\x20no\x20default\x20configured','appCodeHint':{'title':a55_0x1ae8f6(0x2b1),'option1':a55_0x1ae8f6(0x32a),'option2':a55_0x1ae8f6(0x246)},'authExpired':a55_0x1ae8f6(0x2d9),'authValidationFailed':'Auth\x20validation\x20failed.\x20Please\x20use\x20lovrabet\x20auth\x20to\x20login\x20again','httpStatus':a55_0x1ae8f6(0x2fa),'fetchFailed':a55_0x1ae8f6(0x22c),'createHttpStatus':a55_0x1ae8f6(0x312),'createFailed':a55_0x1ae8f6(0x225)},'info':{'emptyMenuList':a55_0x1ae8f6(0x2f9)},'success':{'fetched':a55_0x1ae8f6(0x1df),'created':'Menu\x20created\x20successfully:'},'fetching':{'online':a55_0x1ae8f6(0x1c8),'daily':a55_0x1ae8f6(0x328)},'creating':{'single':'Creating\x20menu:\x20{{label}}\x20({{path}})','batch':{'start':a55_0x1ae8f6(0x284),'completed':a55_0x1ae8f6(0x30b)}},'sync':{'title':'*\x20Sync\x20menus\x20to\x20Lovrabet\x20platform','table':{'menuName':a55_0x1ae8f6(0x2e3),'local':a55_0x1ae8f6(0x283),'lovrabetPlatform':a55_0x1ae8f6(0x1ca)},'error':{'noMenuSelected':a55_0x1ae8f6(0x26b),'invalidJsUrl':a55_0x1ae8f6(0x27d),'jsUrlUnreachable':a55_0x1ae8f6(0x309),'invalidCssUrl':a55_0x1ae8f6(0x2ad),'cssUrlUnreachable':a55_0x1ae8f6(0x2e5),'createMenuFailed':a55_0x1ae8f6(0x306),'authHint':{'prefix':a55_0x1ae8f6(0x2db),'suffix':a55_0x1ae8f6(0x277)},'noLocalPages':a55_0x1ae8f6(0x227)},'step':{'selectedMenus':a55_0x1ae8f6(0x218),'selectedMenusCount':a55_0x1ae8f6(0x2c9),'jsUrl':'JS\x20URL','cssUrl':a55_0x1ae8f6(0x24e),'selectMenus':a55_0x1ae8f6(0x222),'creating':'*\x20Creating\x20menus...','completed':a55_0x1ae8f6(0x329)},'operation':{'update':a55_0x1ae8f6(0x22d),'create':a55_0x1ae8f6(0x331)},'loading':{'fetchingMenuList':a55_0x1ae8f6(0x1cd)},'hotkeys':'↑/↓:\x20Move\x20\x20Space:\x20Toggle\x20\x20a:\x20All\x20\x20i/r:\x20Invert\x20\x20Enter:\x20Confirm','input':{'jsUrl':{'label':'*\x20JS\x20URL:\x20','placeholder':a55_0x1ae8f6(0x1dd)},'cssUrl':{'label':a55_0x1ae8f6(0x300),'placeholder':a55_0x1ae8f6(0x31b)}}},'updateCdn':{'title':a55_0x1ae8f6(0x295),'error':{'invalidJsUrl':a55_0x1ae8f6(0x27d),'jsUrlUnreachable':a55_0x1ae8f6(0x309),'invalidCssUrl':a55_0x1ae8f6(0x2ad),'cssUrlUnreachable':a55_0x1ae8f6(0x2e5),'authHint':{'prefix':a55_0x1ae8f6(0x2db),'suffix':a55_0x1ae8f6(0x277)},'noCdnLinks':a55_0x1ae8f6(0x28b),'updateFailed':a55_0x1ae8f6(0x236)},'loading':{'fetching':a55_0x1ae8f6(0x21d),'syncing':a55_0x1ae8f6(0x315)},'action':{'continue':a55_0x1ae8f6(0x2aa),'cancel':a55_0x1ae8f6(0x2ac)},'success':{'updated':a55_0x1ae8f6(0x29f),'synced':a55_0x1ae8f6(0x1f3)},'updating':a55_0x1ae8f6(0x26f),'preview':{'title':'*\x20Menus\x20and\x20asset\x20links\x20to\x20update','menuList':'Menus\x20to\x20update:','resourceLinks':a55_0x1ae8f6(0x281)},'input':{'title':a55_0x1ae8f6(0x1e0),'jsUrl':{'label':a55_0x1ae8f6(0x210),'placeholder':a55_0x1ae8f6(0x2e9)},'cssUrl':{'label':'CSS\x20URL:\x20','placeholder':a55_0x1ae8f6(0x25c)}}}},'skill':{'install':'Install\x20Skills','error':{'unsupportedCommand':a55_0x1ae8f6(0x21f),'installFailed':a55_0x1ae8f6(0x240),'unknownPlatform':a55_0x1ae8f6(0x1e9),'unknownIDE':a55_0x1ae8f6(0x2a0),'noValidIDE':a55_0x1ae8f6(0x2ef),'selectAtLeastOne':a55_0x1ae8f6(0x304)},'errorHint':{'availableCommands':a55_0x1ae8f6(0x242),'installInteractive':'\x20\x20lovrabet\x20skill\x20install\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20#\x20Interactive\x20skill\x20installation','installDirect':'\x20\x20lovrabet\x20skill\x20install\x20<ide>\x20\x20\x20\x20\x20#\x20Install\x20for\x20specific\x20IDE','showHelp':'\x20\x20lovrabet\x20skill\x20--help\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20#\x20Show\x20help\x0a','usageExamples':'Usage\x20examples:','exampleInteractive':a55_0x1ae8f6(0x2cf),'exampleDirect':a55_0x1ae8f6(0x297)},'select':{'title':a55_0x1ae8f6(0x307),'installAll':a55_0x1ae8f6(0x270),'cancel':'Cancel','inputFormat':'Input\x20format:\x20Enter\x20numbers\x20separated\x20by\x20spaces\x20(e.g.\x201\x203\x205)','inputHint':a55_0x1ae8f6(0x274),'prompt':'Your\x20choice:\x20','cancelled':a55_0x1ae8f6(0x1f2),'noneSelected':a55_0x1ae8f6(0x327),'selectedIDE':a55_0x1ae8f6(0x220),'count':'{{count}}'},'cdn':{'fetching':a55_0x1ae8f6(0x25e),'fetchingExtend':a55_0x1ae8f6(0x316),'fetchSuccess':'✓\x20Fetched\x20{{count}}\x20developer\x20guides','fetchFailed':a55_0x1ae8f6(0x299)},'installing':{'title':'Install\x20Lovrabet\x20Skills\x20-\x20Select\x20IDE','progress':a55_0x1ae8f6(0x1d1),'ide':a55_0x1ae8f6(0x2f1),'installed':a55_0x1ae8f6(0x202),'created':'\x20\x20✓\x20Created\x20{{path}}','createdDir':a55_0x1ae8f6(0x229),'createdManifest':'✓\x20Created\x20.lovrabet/skill-manifest.json'},'done':{'success':a55_0x1ae8f6(0x258),'successInline':a55_0x1ae8f6(0x226),'guidesLocation':a55_0x1ae8f6(0x234),'guidesPath':'\x20\x20.lovrabet/skill/.shared/guides/\x20-\x20Detailed\x20developer\x20guides\x0a','guidesPathInline':a55_0x1ae8f6(0x2ea),'pressAnyKey':a55_0x1ae8f6(0x317)},'generic':a55_0x1ae8f6(0x2b3),'help':{'title':a55_0x1ae8f6(0x1f7),'usage':a55_0x1ae8f6(0x32c),'showHelp':a55_0x1ae8f6(0x301),'installInteractive':a55_0x1ae8f6(0x23c),'installDirect':a55_0x1ae8f6(0x27b),'installAll':a55_0x1ae8f6(0x209),'installWithBff':a55_0x1ae8f6(0x296),'installMethods':a55_0x1ae8f6(0x20b),'interactiveSelect':a55_0x1ae8f6(0x32e),'interactiveKeys':a55_0x1ae8f6(0x1cc),'directInstall':a55_0x1ae8f6(0x2eb),'bffWorkflow':a55_0x1ae8f6(0x313),'supportedIDEs':a55_0x1ae8f6(0x212),'agentDesc':a55_0x1ae8f6(0x2dd),'allDesc':a55_0x1ae8f6(0x249),'options':a55_0x1ae8f6(0x2d3),'bffOption':a55_0x1ae8f6(0x30e),'skillContents':a55_0x1ae8f6(0x2ed),'skillContentsList':a55_0x1ae8f6(0x31a),'examples':a55_0x1ae8f6(0x2a1),'exampleInteractive':'\x20\x20\x20\x20→\x20Interactive\x20IDE\x20selection','exampleDirectDesc':a55_0x1ae8f6(0x2b0),'exampleBffDesc':'\x20\x20\x20\x20→\x20Install\x20skills\x20with\x20Backend\x20Function\x20sync\x20workflow','exampleAllDesc':a55_0x1ae8f6(0x239),'afterInstall':a55_0x1ae8f6(0x269),'afterInstallList':'\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','guidesLocationTitle':a55_0x1ae8f6(0x234)}},'logs':{'title':'Logs','view':a55_0x1ae8f6(0x2fb),'clear':'Clear\x20Logs','noLogs':a55_0x1ae8f6(0x1ec),'header':'*\x20Lovrabet\x20CLI\x20logs:\x0a','time':a55_0x1ae8f6(0x21e),'duration':a55_0x1ae8f6(0x33b),'details':'\x20\x20\x20Details:\x20{{details}}','cleared':a55_0x1ae8f6(0x2e2)},'start':{'starting':a55_0x1ae8f6(0x1e8)},'build':{'building':'Building\x20project...'},'preview':{'previewing':'Previewing\x20project...','watchMode':a55_0x1ae8f6(0x1de)},'ui':{'ideSelector':{'title':'Select\x20IDEs\x20to\x20configure:','hotkeys':'↑/↓:\x20Move\x20\x20Space:\x20Toggle\x20\x20a:\x20All\x20\x20i/r:\x20Invert\x20\x20q:\x20Quit\x20\x20Enter:\x20Confirm'}},'upgrade':{'cli':{'title':a55_0x1ae8f6(0x1db),'current':a55_0x1ae8f6(0x21c),'stable':'\x20\x20\x20Stable\x20version:\x20{{version}}','command':a55_0x1ae8f6(0x230)},'sdk':{'title':a55_0x1ae8f6(0x2a3),'current':a55_0x1ae8f6(0x1eb),'stable':a55_0x1ae8f6(0x23d),'command':a55_0x1ae8f6(0x230)}}};
@@ -1 +1 @@
1
- function a58_0x435c(){var _0xebbeae=['正在从\x20CDN\x20拉取开发者指南...','格式化代码','{{name}}\x20技能包安装成功','↑/↓:\x20移动\x20空格:\x20切换\x20a:\x20全选\x20i/r:\x20反选\x20Enter:\x20确认','配置信息:','页面路径长度不能超过\x20100\x20个字符','其他\x20IDE','错误:\x20不支持的命令:\x20{{cmd}}','交互式选择并安装技能包','安装依赖','设置环境\x20(online/daily)','{{name}}\x20技能包安装失败','*\x20正在拉取\x20API\x20配置...','请输入编号选择\x20IDE:\x0a','\x20\x20lovrabet\x20skill\x20install\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20#\x20交互式选择并安装技能包','🌐\x20正在尝试自动打开浏览器...','✓\x20已退出登录','现在您可以在\x20Cursor\x20中使用\x20Lovrabet\x20数据集\x20MCP\x20工具了。','成功获取\x20{{count}}\x20个线上菜单','拉取API配置:','取消更新','批量创建菜单完成,共\x20{{count}}\x20个','\x20*\x20页面文件已创建,可直接通过路由访问','{{count}}\x20个','\x20正在获取线上菜单资源链接...','支持的\x20IDE:','\x20\x20q.\x20取消\x0a','请重启\x20Cursor\x20以加载新的\x20MCP\x20配置。','项目名','\x20\x20\x201.\x20配置默认值:\x20lovrabet\x20config\x20set\x20appcode\x20<app-code>','\x20\x20\x20\x20→\x20交互式选择\x20IDE','\x20\x20使用\x20←→\x20返回修改选择,回车确认\x20IDE','\x20Step1:\x20','请选择:\x20','*\x20正在创建项目\x20{{name}}...','是否同时配置\x20AI\x20助手?这将:','✓\x20拉取\x20{{count}}\x20个开发者指南','\x0a✓\x20{{ide}}\x20MCP\x20配置成功','复制\x20Cursor\x20Rules\x20文件失败','Cursor\x20MCP\x20配置失败','*\x20正在创建项目...','正在获取数据集列表...','配置指南:','文档生成失败:\x20{{error}}','需要先配置\x20appcode','复制项目文件','×\x20文件前缀格式不正确。只能包含字母、数字、连字符和下划线,且必须以字母开头。','\x0a📋\x20其他\x20IDE\x20MCP\x20配置:\x0a','\x20登录中...','\x0a已取消配置\x0a','JS\x20链接无法访问','*\x20是否要先登录以便拉取\x20API\x20配置?','获取配置项','请至少选择一个\x20IDE','*\x20仅生成指定数据集的文档:\x20{{codes}}','CSS\x20链接','应用代码长度不能超过\x20100\x20个字符','登录成功','未提供配置值','绑定应用AppCode可自动配置\x20API,如:\x20app-c4c89304\x20(直接回车跳过)','MCP\x20和\x20Skill','\x20\x20lovrabet\x20mcp\x20--help\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20#\x20显示帮助信息\x0a','页面路径不合法','正在安装技能包...','✓\x20技能包安装成功!共安装\x20{{count}}\x20个目录','下一步','AppCode','创建菜单失败,HTTP状态码:\x20{{status}}','⚠️\x20部分配置需要手动完成','*\x20JS\x20链接:\x20','*\x20项目名:\x20','\x20\x20.lovrabet/skill/.shared/guides/\x20-\x20详细开发指南\x0a','显示帮助信息','请至少选择一个菜单','正在更新菜单资源链接:\x20{{label}}\x20({{path}})','未找到\x20appcode\x20配置,请先运行\x20\x27lovrabet\x20init\x27\x20初始化项目配置','169196soZSUq','√\x20配置文件已创建,应用AppCode:\x20{{appCode}}','指定输出目录','菜单资源同步成功:\x20{{label}}','目录\x20\x22{{name}}\x22\x20已存在','指定环境生成文档','⚠️\x20\x20未知的平台:\x20{{ide}},使用通用模板','重启\x20Claude\x20Code\x20后生效','*\x20生成的文档文件:','*\x20CSS\x20链接:\x20','正在初始化配置文件...','已登录','\x20命令重新登录','↑/↓:\x20移动光标\x20空格:\x20切换选中\x20a:\x20全选\x20i/r:\x20反选\x20Enter:\x20确认','\x20\x20√\x20依赖安装跳过(非交互模式)','应用代码只能包含字母、数字、-\x20和\x20_','配置信息:\x20appcode={{appcode}},\x20env={{env}}','选择要配置的\x20IDE:','包含\x20Backend\x20Function\x20同步工作流','\x20\x20-\x20Filter\x20查询构建规范\x20(10\x20种常见错误对照)\x0a\x20\x20-\x20MCP\x20SQL\x20创建工作流\x20(5\x20步强制流程)\x0a\x20\x20-\x20AntD\x20UI\x20开发规范\x20(禁止\x20AI\x20味道)\x0a\x20\x20-\x20API\x20集成指南\x20(lovrabet\x20api\x20pull\x20流程)\x0a\x20\x20-\x20菜单管理指南\x20(menu\x20sync/update\x20流程)\x0a\x20\x20-\x20Backend\x20Function\x20脚本编写规范\x20(权限过滤、数据脱敏、业务逻辑)\x0a\x20\x20-\x20Backend\x20Function\x20同步工作流\x20(需\x20--dangerously-bff-save\x20启用)','8139805sAUMjY','上一步','应用AppCode长度不能超过\x20100\x20个字符','\x20\x20\x20耗时:\x20{{duration}}ms','获取数据集失败,HTTP状态码:\x20{{status}}','拉取API配置','🔗\x20请手动复制登录地址到浏览器:','\x20\x20(注:\x20--appcode\x20参数与配置一致,将使用默认配置)','待更新的菜单列表:','未设置','请使用\x20--appcode\x20参数,例如:','无法自动关闭窗口,请手动关闭此标签页或窗口。','请输入应用代码\x20(AppCode):','√\x20当前为有效会话,无需重新登录。','✓\x20{{scope}}环境配置已设置为:\x20{{value}}','8IbbNSQ','√\x20API\x20配置拉取完成','√\x20{{label}}:\x20','!\x20以下数据集代码不存在:\x20{{codes}}','×\x20--params\x20参数不是有效的\x20JSON\x20格式','[可选]:\x20','\x20\x20\x20\x20→\x20输入编号选择\x20IDE','成功在当前目录初始化\x20.lovrabetrc\x20文件','用法:','*\x20使用配置的应用AppCode:\x20{{appCode}}','!\x20请指定一个有效的命令。','\x20\x20\x20\x20$\x20lovrabet\x20mcp\x20install\x20--cursor\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20#\x20配置\x20Cursor','无效的命令,可用命令如下:','未提供应用AppCode,且配置中也没有默认值','[{{current}}/{{total}}]\x20正在生成:\x20{{fileName}}.md\x20({{name}})','\x20\x20--dangerously-bff-save\x20\x20\x20\x20包含\x20Backend\x20Function\x20同步工作流指南\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20(需要\x20MCP\x20服务器启用相应\x20tools)','请输入有效的\x20JS\x20https\x20链接','登录认证','选项:','正在生成\x20{{fileName}}.md\x20({{current}}/{{total}})','开始配置\x20MCP','列出所有配置项','安装所有技能包','页面路径','Claude\x20Code','正在获取日常菜单列表...\x20(appCode:\x20{{appCode}})','\x20\x20\x20\x20→\x20使用\x20↑↓\x20移动光标,空格选中/取消,Enter\x20确认\x0a\x20\x20\x20\x20→\x20按\x20a\x20全选,按\x20i/r\x20反选,按\x20q\x20退出','CSS\x20链接:\x20','安装所有\x20IDE\x20技能包(包括通用模板)','正在从\x20CDN\x20拉取开发者指南(含扩展)...','*\x20请输入新的资源链接','\x20\x20lovrabet\x20mcp\x20install\x20--cursor\x20\x20\x20\x20直接配置\x20Cursor\x20MCP','使用示例:','更新现有\x20mcp.json\x20配置','未知错误','设置配置项','\x20\x20✗\x20安装\x20{{ide}}\x20失败:\x20{{error}}','路径不能以\x20/\x20开头或结尾','\x20\x20\x20当前\x20CLI\x20版本:\x20{{version}}','√\x20菜单创建完成','显示此帮助信息','只生成指定数据集的文档','\x0a✓\x20技能包安装成功!共安装\x20{{count}}\x20个目录\x0a','√\x20文档生成完成!成功\x20{{successCount}}\x20个','获取文档失败\x20({{datasetCode}}),HTTP状态码:\x20{{status}}','保存配置失败','!\x20当前未登录','\x20\x20lovrabet\x20skill\x20install\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20#\x20交互式选择\x20IDE','其他\x20IDE\x20配置指引','配置\x20Lovrabet\x20MCP\x20服务器','\x20\x20\x20\x20→\x20直接配置\x20Cursor\x20MCP\x20(写入\x20.cursor/mcp.json)','跳过登录','获取菜单列表失败:\x20{{error}}','\x20\x20\x20升级命令:\x20{{command}}','路径中的每个段只能以字母或数字开头,且只包含字母、数字、-\x20和\x20_','启动项目:\x20','同步菜单','\x0a✗\x20{{ide}}\x20MCP\x20配置失败:\x20{{error}}','使用指定的\x20appcode','*\x20正在更新\x20package.json\x20的\x20name\x20和\x20description\x20字段','请输入有效的\x20CSS\x20https\x20链接','\x20\x20\x201.\x20直接指定:\x20lovrabet\x20api\x20pull\x20<app-code>','×\x20未配置\x20AppCode','!\x20请使用以下方式之一:','安装\x20Lovrabet\x20技能包\x20-\x20选择\x20IDE','指定输出目录(pull:\x20./src/api/,doc:\x20./docs)','CSS\x20链接无法访问','*\x20日志已清空','*\x20应用AppCode\x20','正在加载页面模板...','↑/↓:\x20移动\x20空格:\x20切换\x20a:\x20全选\x20q:\x20退出\x20Enter:\x20确认','*\x20正在检查登录状态...','创建\x20Cursor\x20Rules\x20文件','\x0a错误:\x20配置失败\x20-\x20{{error}}\x0a','创建技能包\x20manifest','共享技能文件复制失败','正在生成\x20{{count}}\x20个数据集的文档...','\x20\x20•\x20MCP\x20服务器:','\x20\x20\x20\x20→\x20安装技能包并包含\x20Backend\x20Function\x20同步工作流','\x20*\x20路由地址:\x20','使用指定的应用AppCode:\x20{{appCode}}','\x20\x20\x20•\x20{{name}}.ts\x20-\x20模型配置文件','2106650XurlxY','!\x20API\x20配置拉取异常,项目已创建,可稍后手动执行:\x20lovrabet\x20api\x20pull','项目名不合法','不支持的\x20IDE:\x20{{ide}}','*\x20已输入的资源资源','应用AppCode只能包含字母、数字、连字符和下划线,且必须以字母或数字开头','当前目录已存在\x20.lovrabetrc\x20文件','4817244rrHPyB','\x20\x20lovrabet\x20skill\x20--help\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20#\x20显示帮助信息\x0a','\x20\x20正在安装依赖...','提示:使用\x20','\x20\x20lovrabet\x20skill\x20install\x20<ide>\x20\x20\x20\x20\x20#\x20直接安装指定\x20IDE\x20的技能包','\x20\x20✓\x20创建\x20{{path}}/','拉取API配置:\x20','\x0a已取消安装\x0a','开始批量创建菜单,共\x20{{count}}\x20个','请执行以下命令配置\x20Claude\x20Code\x20MCP:','获取模板列表失败:','\x0a请选择要配置\x20MCP\x20的\x20IDE:\x0a','•\x20MCP:\x20让\x20AI\x20直接访问\x20Lovrabet\x20数据集','可用命令:','MCP\x20服务器\x20(AI\x20访问数据集)','\x20输入项目的\x20CSS\x20资源链接(https://...)','项目名只能以字母或数字开头,且只包含字母、数字、-\x20和\x20_','\x20\x20lovrabet\x20mcp\x20install\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20交互式选择并配置\x20MCP','Cursor\x20MCP\x20配置成功','×\x20项目创建失败:\x20{{error}}','\x0a注意:部分配置需要手动执行命令,请按照上述说明操作','项目名称','请至少选择一个配置项','响应数据格式错误\x20({{datasetCode}}):缺少\x20data.markdown\x20字段','指定要生成文档的数据集代码(多个用逗号分隔,仅\x20doc\x20命令)','↪\x20SDK\x20版本更新','✓\x20MCP\x20服务器配置完成:','✓\x20Skill\x20安装完成:','\x20输入项目的\x20JS\x20资源链接(https://...)','开发者指南位置:','×\x20--params\x20参数必须是一个有效的\x20JSON\x20对象','\x20\x20\x20详情:\x20{{details}}','应用代码不能为空','正在从服务器拉取模型列表...\x20(环境:\x20{{env}})','\x20\x20\x20时间:\x20{{time}}','未知的\x20IDE:\x20{{ide}}','全部安装','指定环境(如:daily、online)','\x0a📦\x20正在配置\x20{{name}}\x20MCP...\x0a','正在构建项目...','√\x20package.json\x20已更新:\x20name={{name}}','√\x20检测到有效登录状态','选项:','√\x20更新成功','\x20\x20\x20\x20$\x20lovrabet\x20mcp\x20install\x20--claude\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20#\x20配置\x20Claude\x20Code','Lovrabet\x20MCP\x20-\x20MCP\x20服务器配置工具','请选择您要创建的页面模板','\x20\x20lovrabet\x20mcp\x20install\x20--claude\x20\x20\x20\x20直接配置\x20Claude\x20Code\x20MCP','*\x20输出目录:\x20','\x20|\x20应用AppCode:\x20','示例:','Enter\x20默认:\x20是','\x20直接回车确认,或输入自定义路由地址','*\x20共处理\x20{{count}}\x20个数据集','*\x20暂无日志记录','直接安装指定\x20IDE\x20的技能包','✓\x20MCP\x20配置完成!','更新菜单资源失败:\x20{{error}}','*\x20正在处理\x20{{count}}\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显示\x20IDE\x20列表供选择','路径不能包含连续的\x20/','\x20*\x20页面路径:\x20','-\x20客户端实例文件','34375689wsDotL','\x20\x20$\x20lovrabet\x20mcp\x20install','\x20\x20lovrabet\x20mcp\x20--help\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20显示帮助信息','\x20\x20重启\x20Claude\x20Code\x20后生效\x0a','lovrabet\x20api\x20-\x20API\x20相关操作','*\x20正在从服务器拉取\x20API\x20配置...\x20(环境:\x20{{env}})','\x20\x20√\x20package.json\x20已更新','已写入\x20.cursor/mcp.json','创建菜单失败:\x20{{error}}','*\x20同步菜单到\x20Lovrabet\x20平台','⚠️\x20以下数据集生成失败:','*\x20清理失败的项目目录:\x20{{dir}}','环境:\x20{{env}}','JS\x20链接','\x20正在获取线上菜单列表...','✓\x20成功生成:\x20{{fileName}}.md','清理项目目录失败','\x20\x20✓\x20创建\x20{{path}}','√\x20成功拉取\x20{{datasetCount}}\x20个数据集,生成\x20{{modelCount}}\x20个模型','配置值无效或过长','登录态校验失败,请使用\x20lovrabet\x20auth\x20重新登录','生成多个数据集的文档','\x20\x20√\x20项目模板已创建','菜单创建成功:','\x20\x20错误:\x20{{error}}','输入项目的\x20JS\x20资源链接(https://...)','技能包内容包括:','💡\x20如果浏览器没有自动打开,请手动复制上面的登录地址到浏览器中打开','\x0a📦\x20正在安装\x20{{name}}...\x0a','输入\x200\x20安装所有\x20IDE,输入\x20q\x20取消\x0a','*\x20正在创建菜单...','其他\x20IDE\x20配置指引已显示','设置显示语言\x20(zh/en)','项目名长度不能超过\x2050\x20个字符','请手动执行:\x20{{command}}','*\x20正在登录,请前往浏览器完成登录...','locale\x20配置值无效,支持的值:\x20zh,\x20en,\x20zh-CN,\x20en-US','拉取并生成\x20API\x20配置文件','请选择要配置的\x20IDE:','安装技能包','\x0a没有有效的\x20IDE\x20需要安装\x0a','*\x20正在为项目\x20{{name}}\x20创建配置文件','项目名称:\x20','登录成功,请返回命令行继续操作。当前窗口将在\x20{{seconds}}\x20秒内关闭。','正在启动开发服务器...','\x20\x20\x202.\x20配置默认值:\x20lovrabet\x20config\x20set\x20app\x20<app-code>','🚀\x20正在从服务器拉取\x20API\x20配置...\x20(环境:\x20{{env}})','\x20\x20!\x20CDN\x20拉取失败,跳过指南安装:\x20{{error}}','8167446eqFGsj','1256355uemSaE','复制\x20agents.md\x20文件失败','×\x20--datasetcode\x20参数不能为空','启动项目:','登录鉴权失败,登录已过期,请使用\x20lovrabet\x20auth\x20重新登录','\x0a✓\x20MCP\x20配置完成\x20({{successCount}}/{{totalCount}}\x20成功)','\x20Step2:\x20','正在预览项目...','2BeOfsv','示例:','\x20\x20\x202.\x20使用参数:\x20lovrabet\x20api\x20doc\x20--appcode\x20<app-code>','\x20\x20\x202.\x20使用参数:\x20lovrabet\x20api\x20pull\x20--appcode\x20<app-code>','\x20\x20\x20当前版本:\x20{{package}}@{{version}}','*\x20从\x20{{total}}\x20个数据集中筛选出\x20{{count}}\x20个匹配的数据集','1.\x20配置\x20Lovrabet\x20MCP\x20和\x20Skill','📍\x20登录地址:','正在创建页面,请稍候…','配置示例:','创建\x20agents.md\x20文件','\x20\x20直接安装指定\x20IDE\x20(支持多个)\x20\x20\x20\x20\x20\x20\x20-\x20使用\x20--ide\x20标志直接安装','未找到任何数据集','清空日志','用法:','\x0a可用命令:','指定应用代码','已输入的页面路由\x20','*\x20正在配置\x20Lovrabet\x20MCP\x20和\x20Skill...','*\x20待更新的菜单&资源链接','\x20\x20环境:\x20{{env}}','[N]\x20跳过,稍后手动配置','!\x20未检测到有效登录','配置指引已显示','*\x20创建新项目','\x20\x20\x20稳定版本:\x20{{version}}','输入项目的\x20CSS\x20资源链接(https://...)','应用AppCode','无法在当前目录创建项目,请检查目录权限','已选择页面模板\x20','↑/↓:\x20移动光标\x20空格:\x20切换选中\x20a:\x20全选\x20i/r:\x20反选\x20q:\x20退出\x20Enter:\x20确认','*\x20正在为项目\x20{{name}}\x20配置应用AppCode:\x20{{appCode}}','项目名包含非法字符,不允许使用:\x20<\x20>\x20:\x20\x22\x20|\x20?\x20*\x20及控制字符','JS\x20链接:\x20','获取菜单列表失败,HTTP状态码:\x20{{status}}','等待\x203\x20秒...\x0a','正在配置\x20MCP\x20服务器...','应用代码用于标识您的项目,只能包含字母、数字、-\x20和\x20_','√\x20配置文件已创建,可稍后使用\x20\x27lovrabet\x20config\x20set\x20appcode\x20<app-code>\x27\x20配置','登录状态','依赖安装失败:\x20{{error}}','✗\x20配置失败','*\x20请选择要同步的菜单:','现在您可以使用\x20lovrabet\x20api\x20doc\x20和\x20lovrabet\x20api\x20pull\x20等命令了','已选择菜单','\x20\x20•\x20Skill:','🔐\x20正在启动登录服务...'];a58_0x435c=function(){return _0xebbeae;};return a58_0x435c();}function a58_0x221b(_0x25e15c,_0x17f65){_0x25e15c=_0x25e15c-0x1f2;var _0x435cdb=a58_0x435c();var _0x221b27=_0x435cdb[_0x25e15c];return _0x221b27;}var a58_0x5b6f0b=a58_0x221b;(function(_0x42c138,_0x4edb9b){var _0x536ab6=a58_0x221b,_0x26f7ab=_0x42c138();while(!![]){try{var _0x4c1879=-parseInt(_0x536ab6(0x2a4))/0x1*(parseInt(_0x536ab6(0x229))/0x2)+parseInt(_0x536ab6(0x221))/0x3+parseInt(_0x536ab6(0x320))/0x4+parseInt(_0x536ab6(0x2b8))/0x5+parseInt(_0x536ab6(0x220))/0x6+parseInt(_0x536ab6(0x319))/0x7+-parseInt(_0x536ab6(0x2c7))/0x8*(parseInt(_0x536ab6(0x35f))/0x9);if(_0x4c1879===_0x4edb9b)break;else _0x26f7ab['push'](_0x26f7ab['shift']());}catch(_0xe237d5){_0x26f7ab['push'](_0x26f7ab['shift']());}}}(a58_0x435c,0xe1b73));export default{'common':{'success':'成功','error':'错误','warning':'警告','info':'信息','loading':'加载中...','cancel':'取消','confirm':'确认','next':a58_0x5b6f0b(0x299),'previous':a58_0x5b6f0b(0x2b9),'finish':'完成'},'help':{'invalidCommand':a58_0x5b6f0b(0x2d1),'usageHint':'使用','viewCommands':'查看可用命令。'},'cli':{'usage':'使用','examples':'示例','description':'描述'},'init':{'inputAppCode':a58_0x5b6f0b(0x2c4),'appCodeDesc':a58_0x5b6f0b(0x24e),'fileExists':a58_0x5b6f0b(0x31f),'creating':a58_0x5b6f0b(0x2ae),'success':a58_0x5b6f0b(0x2ce),'appCodeLabel':a58_0x5b6f0b(0x29a),'nextSteps':a58_0x5b6f0b(0x254),'validation':{'required':a58_0x5b6f0b(0x340),'tooLong':a58_0x5b6f0b(0x290),'invalidFormat':a58_0x5b6f0b(0x2b3),'invalidCode':'应用代码不合法'}},'create':{'projectNameLabel':a58_0x5b6f0b(0x335),'appCodeLabel':a58_0x5b6f0b(0x244),'validation':{'required':'项目名不能为空','invalidChars':a58_0x5b6f0b(0x249),'tooLong':'项目名过长,最多支持\x20100\x20个字符','dirExists':'项目目录\x20{{name}}\x20已存在,请使用其他项目名','noPermission':a58_0x5b6f0b(0x245),'projectName':{'tooLong':a58_0x5b6f0b(0x211),'invalidFormat':a58_0x5b6f0b(0x330),'invalid':a58_0x5b6f0b(0x31b),'dirExistsShort':a58_0x5b6f0b(0x2a8)},'appCode':{'tooLong':a58_0x5b6f0b(0x2ba),'invalidFormat':a58_0x5b6f0b(0x31e),'invalid':'应用AppCode不合法'},'ide':{'required':a58_0x5b6f0b(0x28d)}},'common':{'yes':'是','no':'否','selectHint':'\x20\x20使用\x20←→\x20选择,回车确认'},'steps':{'pullingApi':a58_0x5b6f0b(0x264),'apiPullSuccess':a58_0x5b6f0b(0x2c8),'apiPullFailed':'!\x20API\x20配置拉取失败,可稍后手动执行:\x20lovrabet\x20api\x20pull','apiPullError':a58_0x5b6f0b(0x31a),'updatingPackage':a58_0x5b6f0b(0x302),'packageUpdated':a58_0x5b6f0b(0x348),'configuringAppCode':'*\x20正在为项目\x20{{name}}\x20配置应用AppCode:\x20{{appCode}}','creatingConfig':a58_0x5b6f0b(0x219),'configCreatedWithAppCode':a58_0x5b6f0b(0x2a5),'configCreated':'√\x20配置文件已创建,可稍后使用\x20\x27lovrabet\x20config\x20set\x20appcode\x20<app-code>\x27\x20配置','configuringMcp':a58_0x5b6f0b(0x23b),'mcpConfigComplete':'√\x20Lovrabet\x20MCP\x20和\x20Skill\x20配置完成','cleaningUp':a58_0x5b6f0b(0x1fb),'projectName':{'label':a58_0x5b6f0b(0x274)},'appCode':{'label':a58_0x5b6f0b(0x244),'notSet':a58_0x5b6f0b(0x2c1)},'apiPull':{'label':a58_0x5b6f0b(0x2bd)},'lovrabetSetup':{'label':a58_0x5b6f0b(0x294),'ideCount':'{{count}}\x20个\x20IDE'},'login':{'label':a58_0x5b6f0b(0x250),'loggedIn':a58_0x5b6f0b(0x2af),'failed':'登录失败','skipped':a58_0x5b6f0b(0x2fa)}},'title':a58_0x5b6f0b(0x241),'completedStep':a58_0x5b6f0b(0x2c9),'input':{'projectName':{'label':a58_0x5b6f0b(0x29e),'hint':'\x20直接回车确认,或输入自定义名称'},'appCode':{'label':a58_0x5b6f0b(0x30b),'optional':a58_0x5b6f0b(0x2cc),'hint':a58_0x5b6f0b(0x293)}},'login':{'checking':a58_0x5b6f0b(0x30e),'checkingStatus':'\x20检查中...','valid':a58_0x5b6f0b(0x349),'notDetected':a58_0x5b6f0b(0x23f),'prompt':a58_0x5b6f0b(0x28b),'inProgress':a58_0x5b6f0b(0x213),'inProgressStatus':a58_0x5b6f0b(0x288)},'apiPull':{'confirm':'*\x20是否要自动拉取\x20API\x20配置?','recommendation':'\x20\x20推荐选择\x20Yes,可自动配置\x20API\x20接口'},'lovrabetSetup':{'confirm':'*\x20是否配置\x20Lovrabet\x20MCP\x20和\x20Skill?','selectIdeHint':a58_0x5b6f0b(0x277),'selectIdeTitle':a58_0x5b6f0b(0x2b5),'keyboardShortcuts':a58_0x5b6f0b(0x25b),'inProgress':'*\x20正在配置\x20Lovrabet\x20MCP\x20和\x20Skill...','mcpCompleted':'✓\x20MCP\x20服务器配置完成:','skillCompleted':'✓\x20Skill\x20安装完成:'},'creating':a58_0x5b6f0b(0x280),'display':{'projectName':a58_0x5b6f0b(0x21a),'appCode':a58_0x5b6f0b(0x351)},'packageJson':{'updating':a58_0x5b6f0b(0x302),'updated':a58_0x5b6f0b(0x348)},'config':{'configuringAppCode':a58_0x5b6f0b(0x248),'creating':a58_0x5b6f0b(0x219),'createdWithAppCode':a58_0x5b6f0b(0x2a5),'createdWithoutAppCode':a58_0x5b6f0b(0x24f)},'cleanup':{'inProgress':a58_0x5b6f0b(0x1fb)},'results':{'mcpComplete':a58_0x5b6f0b(0x33a),'skillComplete':a58_0x5b6f0b(0x33b),'nextSteps':'🚀\x20接下来:'},'nextSteps':{'configureMcpAndSkill':a58_0x5b6f0b(0x22f),'skill':a58_0x5b6f0b(0x256),'mcp':a58_0x5b6f0b(0x314),'startProject':a58_0x5b6f0b(0x224),'pullApi':a58_0x5b6f0b(0x26b),'configAppCode':'配置AppCode:'},'errors':{'createFailed':a58_0x5b6f0b(0x333),'cleanupFailed':a58_0x5b6f0b(0x200),'depsInstallFailed':a58_0x5b6f0b(0x251)},'nonInteractive':{'creating':a58_0x5b6f0b(0x27a),'templateCreated':a58_0x5b6f0b(0x206),'packageJsonUpdated':a58_0x5b6f0b(0x1f6),'installingDeps':a58_0x5b6f0b(0x322),'depsSkipped':a58_0x5b6f0b(0x2b2),'codeFormatted':'\x20\x20√\x20代码已格式化','envConfigured':'\x20\x20√\x20环境配置完成','success':'\x0a√\x20项目\x20{{name}}\x20创建成功!'},'tasks':{'copyFiles':a58_0x5b6f0b(0x285),'formatCode':a58_0x5b6f0b(0x259),'installDependencies':a58_0x5b6f0b(0x261)},'nextStepsAlt':{'startProject':a58_0x5b6f0b(0x2fe),'pullApi':a58_0x5b6f0b(0x326),'configureLovrabet':a58_0x5b6f0b(0x22f)}},'addPage':{'title':'添加页面','pagePath':a58_0x5b6f0b(0x2de),'pageName':'页面名称','validation':{'path':{'tooLong':a58_0x5b6f0b(0x25d),'invalidStartEnd':a58_0x5b6f0b(0x2ec),'doubleSlash':a58_0x5b6f0b(0x35c),'invalidSegment':a58_0x5b6f0b(0x2fd),'exists':'页面路径\x20{{path}}\x20已存在,请使用其他路径','invalid':a58_0x5b6f0b(0x296)}},'steps':{'step1':a58_0x5b6f0b(0x278),'step2':a58_0x5b6f0b(0x227)},'input':{'route':{'label':'页面路由地址:\x20','hint':a58_0x5b6f0b(0x354)}},'display':{'templateSelected':a58_0x5b6f0b(0x246),'routeEntered':a58_0x5b6f0b(0x23a),'path':a58_0x5b6f0b(0x35d),'route':a58_0x5b6f0b(0x316)},'creating':a58_0x5b6f0b(0x231),'success':'\x20*\x20页面创建成功!','successHint':a58_0x5b6f0b(0x26e),'loading':{'templates':a58_0x5b6f0b(0x30c)},'select':{'template':{'title':a58_0x5b6f0b(0x34e)}},'error':{'templateListFailed':a58_0x5b6f0b(0x32a)}},'config':{'title':'项目配置','help':{'invalidCommand':a58_0x5b6f0b(0x2d3),'examples':a58_0x5b6f0b(0x232),'set':a58_0x5b6f0b(0x2ea),'get':a58_0x5b6f0b(0x28c),'list':a58_0x5b6f0b(0x2dc),'exampleApp':'配置当前项目的\x20App\x20Code','exampleEnv':a58_0x5b6f0b(0x262),'exampleLocale':a58_0x5b6f0b(0x210)},'validation':{'envInvalid':'环境配置值只能是\x20\x22online\x22\x20或\x20\x22daily\x22','localeInvalid':a58_0x5b6f0b(0x214),'valueInvalid':a58_0x5b6f0b(0x203),'noValue':a58_0x5b6f0b(0x292),'saveFailed':a58_0x5b6f0b(0x2f4)},'success':{'envSet':a58_0x5b6f0b(0x2c6),'localeSet':'✓\x20{{scope}}语言配置已设置为:\x20{{value}}'},'scope':{'project':'项目','global':'全局'}},'api':{'title':'API\x20管理','pull':'拉取\x20API','doc':'生成文档','help':{'title':a58_0x5b6f0b(0x1f4),'usage':a58_0x5b6f0b(0x237),'options':a58_0x5b6f0b(0x34a),'optAppcode':a58_0x5b6f0b(0x239),'optOutput':a58_0x5b6f0b(0x308),'optEnv':a58_0x5b6f0b(0x345),'optDatasetcode':a58_0x5b6f0b(0x338),'optHelp':a58_0x5b6f0b(0x2ef),'examples':a58_0x5b6f0b(0x22a),'pullDesc':a58_0x5b6f0b(0x215),'pullAppcode':a58_0x5b6f0b(0x301),'pullOutput':a58_0x5b6f0b(0x2a6),'pullEnv':'指定环境拉取\x20API','docDesc':'生成所有数据集的文档','docAppcode':a58_0x5b6f0b(0x301),'docOutput':'指定文档输出目录','docEnv':a58_0x5b6f0b(0x2a9),'docDataset':a58_0x5b6f0b(0x2f0),'docDatasets':a58_0x5b6f0b(0x205),'unknownCommand':'未知的\x20api\x20命令','availableCommands':a58_0x5b6f0b(0x32d)},'common':{'noPositionalArgs':'❌\x20错误:不再支持位置参数方式','useAppcodeFlag':a58_0x5b6f0b(0x2c2),'noAppCode':a58_0x5b6f0b(0x305),'noAppCodeHint':a58_0x5b6f0b(0x306),'noAppCodeOption1':a58_0x5b6f0b(0x275),'noAppCodeOption2Pull':a58_0x5b6f0b(0x22c),'noAppCodeOption2Doc':a58_0x5b6f0b(0x22b),'usingConfigAppCode':a58_0x5b6f0b(0x2d0),'usingConfigAppCodeHint':a58_0x5b6f0b(0x2bf),'usingSpecifiedAppCode':a58_0x5b6f0b(0x317),'usingDefaultAppCode':'使用配置的应用AppCode:\x20{{appCode}}','noAppCodeDefault':a58_0x5b6f0b(0x2d4),'paramsInvalidJson':a58_0x5b6f0b(0x33e),'paramsNotJson':a58_0x5b6f0b(0x2cb),'paramsError':a58_0x5b6f0b(0x208),'datasetcodeEmpty':a58_0x5b6f0b(0x223),'onlyGenerateDatasets':a58_0x5b6f0b(0x28e),'authExpired':a58_0x5b6f0b(0x225),'authRetry':'重新登录后再试','unknownError':a58_0x5b6f0b(0x2e9)},'pullUI':{'fetching':a58_0x5b6f0b(0x21e),'successPull':a58_0x5b6f0b(0x202),'duplicateInfo':'!\x20原始数据集\x20{{originalCount}}\x20个,过滤重复\x20{{duplicateCount}}\x20个','generatedFiles':'*\x20已生成文件:','modelFile':'-\x20模型配置文件\x20({{count}}\x20个模型)','clientFile':a58_0x5b6f0b(0x35e),'importHint':'*\x20导入方式:','pullFailed':'拉取\x20API\x20配置失败:\x20{{error}}'},'docUI':{'fetchingDatasets':a58_0x5b6f0b(0x281),'noDatasets':a58_0x5b6f0b(0x235),'datasetsNotFound':a58_0x5b6f0b(0x2ca),'allDatasetsNotFound':'指定的数据集代码都不存在:\x20{{codes}}','filteredDatasets':a58_0x5b6f0b(0x22e),'generatingDocs':a58_0x5b6f0b(0x313),'generatingFile':a58_0x5b6f0b(0x2da),'docComplete':a58_0x5b6f0b(0x2f2),'docFailed':',\x20失败\x20{{failCount}}\x20个','processedDatasets':a58_0x5b6f0b(0x355),'outputDir':a58_0x5b6f0b(0x350),'generatedDocs':a58_0x5b6f0b(0x2ac),'failedDatasets':a58_0x5b6f0b(0x1fa),'docGenerateFailed':a58_0x5b6f0b(0x283)},'fetchModel':{'fetching':a58_0x5b6f0b(0x341),'httpError':a58_0x5b6f0b(0x2bc),'fetchError':'获取数据集失败:\x20{{error}}'},'generateFile':{'noAppCode':'请先通过\x20`lovrabet\x20config\x20set\x20app\x20<value>`\x20配置应用\x20Code'},'docBatch':{'totalDatasets':'\x0a共有\x20{{count}}\x20个数据集需要生成文档\x0a','generating':a58_0x5b6f0b(0x2d5),'success':a58_0x5b6f0b(0x1ff),'failed':'✗\x20失败:\x20{{fileName}}.md\x20-\x20{{error}}','waiting':a58_0x5b6f0b(0x24c),'docFormatError':a58_0x5b6f0b(0x337),'httpError':a58_0x5b6f0b(0x2f3)},'silent':{'invalidPrefix':a58_0x5b6f0b(0x286),'fetching':a58_0x5b6f0b(0x1f5),'generating':'*\x20开始生成\x20API\x20配置文件:','modelFileName':a58_0x5b6f0b(0x318),'clientFileName':'\x20\x20\x20•\x20{{name}}.ts\x20-\x20客户端实例文件','processing':a58_0x5b6f0b(0x35a),'success':a58_0x5b6f0b(0x202),'error':'×\x20API\x20配置拉取异常:\x20{{error}}'}},'auth':{'title':a58_0x5b6f0b(0x2d8),'login':{'success':{'title':a58_0x5b6f0b(0x291),'message':a58_0x5b6f0b(0x21b),'manualClose':a58_0x5b6f0b(0x2c3)},'successCli':'登录成功!','inProgress':'正在登录...','browserPrompt':'请前往浏览器完成登录。','pressEnter':'*\x20按回车开始登录。','pressQToExit':'按\x20“q”\x20退出。'},'session':{'valid':a58_0x5b6f0b(0x2c5)},'server':{'starting':a58_0x5b6f0b(0x257),'loginUrl':a58_0x5b6f0b(0x230),'openingBrowser':a58_0x5b6f0b(0x267),'manualOpenHint':a58_0x5b6f0b(0x20b),'browserOpened':'✅\x20浏览器已自动打开,请在浏览器中完成登录','browserOpenFailed':'⚠️\x20\x20无法自动打开浏览器','manualCopyUrl':a58_0x5b6f0b(0x2be)},'logout':{'success':a58_0x5b6f0b(0x268),'notLoggedIn':a58_0x5b6f0b(0x2f5)}},'menu':{'sync':a58_0x5b6f0b(0x2ff),'update':'更新菜单\x20CDN\x20资源'},'mcp':{'cursor':'Cursor','claude':a58_0x5b6f0b(0x2df),'error':{'unsupportedCommand':a58_0x5b6f0b(0x25f),'missingAppcode':a58_0x5b6f0b(0x2a3)},'help':{'title':a58_0x5b6f0b(0x34d),'availableCommands':'\x0a可用命令:','command':{'install':'\x20\x20lovrabet\x20mcp\x20install\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20#\x20交互式选择并配置\x20MCP','help':a58_0x5b6f0b(0x295)},'usage':{'help':a58_0x5b6f0b(0x1f2),'install':a58_0x5b6f0b(0x331),'installCursor':a58_0x5b6f0b(0x2e6),'installClaude':a58_0x5b6f0b(0x34f)},'configMethods':'配置方式:','configMethodsInteractive':a58_0x5b6f0b(0x35b),'configMethodsInteractiveHint':a58_0x5b6f0b(0x2cd),'configMethodsDirect':'\x20\x20直接配置指定\x20IDE\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20-\x20使用\x20--ide\x20标志直接配置','configMethodsDirectCursor':a58_0x5b6f0b(0x2d2),'configMethodsDirectClaude':a58_0x5b6f0b(0x34c),'supportedIDEs':a58_0x5b6f0b(0x271),'examples':'示例:','exampleInstall':a58_0x5b6f0b(0x360),'exampleInstallHint':a58_0x5b6f0b(0x276),'exampleInstallCursor':'\x20\x20$\x20lovrabet\x20mcp\x20install\x20--cursor','exampleInstallCursorHint':a58_0x5b6f0b(0x2f9),'configGuide':a58_0x5b6f0b(0x282)},'select':{'chooseIDE':a58_0x5b6f0b(0x32b),'cancel':a58_0x5b6f0b(0x272),'enterNumber':a58_0x5b6f0b(0x265),'prompt':a58_0x5b6f0b(0x279),'cancelled':a58_0x5b6f0b(0x289),'invalidChoice':'\x0a无效的选择,请输入\x201-{{count}}\x20之间的数字\x0a'},'installFlow':{'configuring':a58_0x5b6f0b(0x346),'error':'\x0a错误:\x20配置失败\x20-\x20{{error}}\x0a'},'cursorConfig':{'success':'\x0a✓\x20Cursor\x20MCP\x20配置成功!\x0a','configInfo':a58_0x5b6f0b(0x25c),'usageHint':a58_0x5b6f0b(0x269),'restartRequired':a58_0x5b6f0b(0x273),'error':'\x0a错误:\x20配置失败\x20-\x20{{error}}\x0a','rules':{'exists':'Cursor\x20Rules\x20文件已存在,跳过','created':a58_0x5b6f0b(0x30f),'copyFailed':a58_0x5b6f0b(0x27e)},'updateExisting':a58_0x5b6f0b(0x2e8),'createNew':'创建新的\x20mcp.json\x20配置','written':a58_0x5b6f0b(0x1f7)},'claudeConfig':{'error':a58_0x5b6f0b(0x310),'agents':{'exists':'agents.md\x20文件已存在,跳过','created':a58_0x5b6f0b(0x233),'copyFailed':a58_0x5b6f0b(0x222)},'manualCommand':a58_0x5b6f0b(0x329),'configInfo':a58_0x5b6f0b(0x25c),'restartRequired':a58_0x5b6f0b(0x2ab),'commandGenerated':'生成配置命令'},'other':{'configInfo':a58_0x5b6f0b(0x2b4),'configGuide':'详细配置指南:\x20https://help.yuntoo.com/mcp/config-guide','guideShown':a58_0x5b6f0b(0x20f)},'config':{'env':a58_0x5b6f0b(0x1fc)},'install':{'starting':a58_0x5b6f0b(0x2db),'unknownIDE':a58_0x5b6f0b(0x343),'otherIDE':a58_0x5b6f0b(0x25e),'success':a58_0x5b6f0b(0x27d),'failed':a58_0x5b6f0b(0x300),'completed':a58_0x5b6f0b(0x226),'manualActionRequired':a58_0x5b6f0b(0x334)},'ui':{'otherIDE':a58_0x5b6f0b(0x25e),'otherIDEDescription':a58_0x5b6f0b(0x2f7),'selectAtLeastOne':a58_0x5b6f0b(0x28d),'selectedIDE':'已选择\x20IDE','count':a58_0x5b6f0b(0x26f),'title':a58_0x5b6f0b(0x2f8),'configuring':a58_0x5b6f0b(0x24d),'completed':a58_0x5b6f0b(0x358),'partialManual':a58_0x5b6f0b(0x29c),'failed':a58_0x5b6f0b(0x252),'manualRequired':'⚠️\x20配置需要手动完成','pressAnyKeyToExit':'按任意键退出...','unsupportedIDE':a58_0x5b6f0b(0x31c)}},'aiSetup':{'error':{'missingAppcode':a58_0x5b6f0b(0x284)},'mcp':{'cursor':{'success':a58_0x5b6f0b(0x332),'written':a58_0x5b6f0b(0x1f7),'error':a58_0x5b6f0b(0x27f),'rules':{'created':a58_0x5b6f0b(0x30f),'copyFailed':a58_0x5b6f0b(0x27e)}},'claude':{'commandGenerated':'Claude\x20Code\x20MCP\x20命令已生成','manualCommand':'\x0a📋\x20请执行以下命令配置\x20Claude\x20Code\x20MCP:\x0a','configInfo':a58_0x5b6f0b(0x25c),'env':a58_0x5b6f0b(0x23d),'restartRequired':a58_0x5b6f0b(0x1f3),'manualExecute':a58_0x5b6f0b(0x212),'agents':{'created':'创建\x20agents.md\x20文件','copyFailed':a58_0x5b6f0b(0x222)}},'other':{'name':'其他','title':a58_0x5b6f0b(0x287),'guideShown':a58_0x5b6f0b(0x240)},'unsupportedIDE':'不支持的\x20MCP\x20IDE:\x20{{ide}}'},'skill':{'unknownIDE':a58_0x5b6f0b(0x343),'installSuccess':a58_0x5b6f0b(0x25a),'itemsCreated':'已创建\x20{{count}}\x20项','installFailed':a58_0x5b6f0b(0x263),'sharedCopied':'共享技能文件复制成功','sharedCopyFailed':a58_0x5b6f0b(0x312),'manifestCreated':a58_0x5b6f0b(0x311)},'ui':{'selectAtLeastOne':a58_0x5b6f0b(0x336),'confirm':{'title':a58_0x5b6f0b(0x27b),'mcpDescription':a58_0x5b6f0b(0x32c),'skillDescription':'•\x20Skill:\x20安装研发最佳实践、Backend\x20Function\x20规范','yes':'[Y]\x20是,配置\x20AI\x20助手','no':a58_0x5b6f0b(0x23e),'default':a58_0x5b6f0b(0x353)},'select':{'title':'*\x20选择要配置的\x20IDE:','mcpSection':a58_0x5b6f0b(0x32e),'skillSection':'技能包\x20(研发规范指南)','controls':a58_0x5b6f0b(0x30d)},'installing':'正在配置\x20AI\x20助手...'}},'appMenu':{'error':{'missingAppCode':a58_0x5b6f0b(0x2d4),'appCodeHint':{'title':'!\x20请使用以下方式之一:','option1':a58_0x5b6f0b(0x304),'option2':a58_0x5b6f0b(0x21d)},'authExpired':a58_0x5b6f0b(0x225),'authValidationFailed':a58_0x5b6f0b(0x204),'httpStatus':a58_0x5b6f0b(0x24b),'fetchFailed':a58_0x5b6f0b(0x2fb),'createHttpStatus':a58_0x5b6f0b(0x29b),'createFailed':a58_0x5b6f0b(0x1f8)},'info':{'emptyMenuList':'服务端返回空菜单列表'},'success':{'fetched':a58_0x5b6f0b(0x26a),'created':a58_0x5b6f0b(0x207)},'fetching':{'online':'正在获取线上菜单列表...\x20(appCode:\x20{{appCode}})','daily':a58_0x5b6f0b(0x2e0)},'creating':{'single':'正在创建菜单:\x20{{label}}\x20({{path}})','batch':{'start':a58_0x5b6f0b(0x328),'completed':a58_0x5b6f0b(0x26d)}},'sync':{'title':a58_0x5b6f0b(0x1f9),'table':{'menuName':'菜单名称','local':'本地','lovrabetPlatform':'Lovrabet平台'},'error':{'noMenuSelected':a58_0x5b6f0b(0x2a1),'invalidJsUrl':a58_0x5b6f0b(0x2d7),'jsUrlUnreachable':'JS\x20链接无法访问','invalidCssUrl':'请输入有效的\x20CSS\x20https\x20链接','cssUrlUnreachable':a58_0x5b6f0b(0x309),'createMenuFailed':'创建菜单失败','authHint':{'prefix':a58_0x5b6f0b(0x323),'suffix':a58_0x5b6f0b(0x2b0)},'noLocalPages':'!\x20未找到本地页面,请先创建页面'},'step':{'selectedMenus':a58_0x5b6f0b(0x255),'selectedMenusCount':a58_0x5b6f0b(0x26f),'jsUrl':a58_0x5b6f0b(0x1fd),'cssUrl':a58_0x5b6f0b(0x28f),'selectMenus':a58_0x5b6f0b(0x253),'creating':a58_0x5b6f0b(0x20e),'completed':a58_0x5b6f0b(0x2ee)},'operation':{'update':'更新','create':'新建'},'loading':{'fetchingMenuList':a58_0x5b6f0b(0x1fe)},'hotkeys':a58_0x5b6f0b(0x2b1),'input':{'jsUrl':{'label':a58_0x5b6f0b(0x29d),'placeholder':a58_0x5b6f0b(0x33c)},'cssUrl':{'label':a58_0x5b6f0b(0x2ad),'placeholder':a58_0x5b6f0b(0x32f)}}},'updateCdn':{'title':a58_0x5b6f0b(0x2e5),'error':{'invalidJsUrl':a58_0x5b6f0b(0x2d7),'jsUrlUnreachable':a58_0x5b6f0b(0x28a),'invalidCssUrl':a58_0x5b6f0b(0x303),'cssUrlUnreachable':'CSS\x20链接无法访问','authHint':{'prefix':a58_0x5b6f0b(0x323),'suffix':a58_0x5b6f0b(0x2b0)},'noCdnLinks':'!\x20未找到菜单资源链接','updateFailed':a58_0x5b6f0b(0x359)},'loading':{'fetching':a58_0x5b6f0b(0x270),'syncing':'\x20资源正在同步中...'},'action':{'continue':'继续更新','cancel':a58_0x5b6f0b(0x26c)},'success':{'updated':a58_0x5b6f0b(0x34b),'synced':a58_0x5b6f0b(0x2a7)},'updating':a58_0x5b6f0b(0x2a2),'preview':{'title':a58_0x5b6f0b(0x23c),'menuList':a58_0x5b6f0b(0x2c0),'resourceLinks':'待更新的资源链接:'},'input':{'title':a58_0x5b6f0b(0x31d),'jsUrl':{'label':a58_0x5b6f0b(0x24a),'placeholder':a58_0x5b6f0b(0x209)},'cssUrl':{'label':a58_0x5b6f0b(0x2e2),'placeholder':a58_0x5b6f0b(0x243)}}}},'skill':{'install':a58_0x5b6f0b(0x217),'error':{'unsupportedCommand':a58_0x5b6f0b(0x25f),'installFailed':a58_0x5b6f0b(0x2eb),'unknownPlatform':a58_0x5b6f0b(0x2aa),'unknownIDE':'\x20\x20✗\x20未知的\x20IDE:\x20{{ide}}','noValidIDE':a58_0x5b6f0b(0x218),'selectAtLeastOne':'请至少选择一个\x20IDE'},'errorHint':{'availableCommands':a58_0x5b6f0b(0x238),'installInteractive':a58_0x5b6f0b(0x266),'installDirect':a58_0x5b6f0b(0x324),'showHelp':a58_0x5b6f0b(0x321),'usageExamples':a58_0x5b6f0b(0x2e7),'exampleInteractive':a58_0x5b6f0b(0x2f6),'exampleDirect':'\x20\x20lovrabet\x20skill\x20install\x20cursor\x20\x20\x20\x20#\x20直接安装\x20Cursor\x20技能包\x0a'},'select':{'title':'\x0a请选择要安装技能包的\x20IDE\x20(可多选):\x0a','installAll':a58_0x5b6f0b(0x344),'cancel':'取消','inputFormat':'输入格式:\x20输入编号,用空格分隔\x20(例如:\x201\x203\x205)','inputHint':a58_0x5b6f0b(0x20d),'prompt':'请选择:\x20','cancelled':a58_0x5b6f0b(0x327),'noneSelected':'\x0a未选择任何\x20IDE,安装取消\x0a','selectedIDE':'已选择\x20IDE','count':a58_0x5b6f0b(0x26f)},'cdn':{'fetching':a58_0x5b6f0b(0x258),'fetchingExtend':a58_0x5b6f0b(0x2e4),'fetchSuccess':a58_0x5b6f0b(0x27c),'fetchFailed':a58_0x5b6f0b(0x21f)},'installing':{'title':a58_0x5b6f0b(0x307),'progress':a58_0x5b6f0b(0x297),'ide':a58_0x5b6f0b(0x20c),'installed':'已安装\x20{{count}}\x20个目录','created':a58_0x5b6f0b(0x201),'createdDir':a58_0x5b6f0b(0x325),'createdManifest':'✓\x20创建\x20.lovrabet/skill-manifest.json'},'done':{'success':a58_0x5b6f0b(0x2f1),'successInline':a58_0x5b6f0b(0x298),'guidesLocation':a58_0x5b6f0b(0x33d),'guidesPath':a58_0x5b6f0b(0x29f),'guidesPathInline':'开发者指南位置:\x20.lovrabet/skill/.shared/guides/','pressAnyKey':'按任意键退出...'},'generic':'通用模板','help':{'title':'Lovrabet\x20Skill\x20-\x20开发者技能包安装工具','usage':a58_0x5b6f0b(0x2cf),'showHelp':a58_0x5b6f0b(0x2a0),'installInteractive':a58_0x5b6f0b(0x260),'installDirect':a58_0x5b6f0b(0x357),'installAll':a58_0x5b6f0b(0x2dd),'installWithBff':a58_0x5b6f0b(0x2b6),'installMethods':'安装方式:','interactiveSelect':'\x20\x20交互式选择\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20-\x20显示\x20IDE\x20列表供选择,支持多选','interactiveKeys':a58_0x5b6f0b(0x2e1),'directInstall':a58_0x5b6f0b(0x234),'bffWorkflow':'\x20\x20包含\x20Backend\x20Function\x20同步工作流\x20\x20\x20-\x20使用\x20--dangerously-bff-save\x20标志','supportedIDEs':'支持的\x20IDE:','agentDesc':'其他\x20(通用模板)\x20(.agent/skills/)\x20-\x20兜底方案','allDesc':a58_0x5b6f0b(0x2e3),'options':a58_0x5b6f0b(0x2d9),'bffOption':a58_0x5b6f0b(0x2d6),'skillContents':a58_0x5b6f0b(0x20a),'skillContentsList':a58_0x5b6f0b(0x2b7),'examples':a58_0x5b6f0b(0x352),'exampleInteractive':a58_0x5b6f0b(0x276),'exampleDirectDesc':'\x20\x20\x20\x20→\x20直接安装\x20Cursor\x20和\x20claude\x20code\x20技能包','exampleBffDesc':a58_0x5b6f0b(0x315),'exampleAllDesc':'\x20\x20\x20\x20→\x20安装所有\x20IDE\x20技能包','afterInstall':'安装后会在项目中创建:','afterInstallList':'\x20\x20-\x20IDE\x20特定配置文件\x20(.cursorrules,\x20.windsurf/,\x20.claude/,\x20.cline/,\x20.codex/,\x20.opencode/,\x20.qoder/,\x20.codebuddy/,\x20.trae/)\x0a\x20\x20-\x20.lovrabet/skill/.shared/guides/\x20\x20-\x20开发者技能指南','guidesLocationTitle':'开发者指南位置:'}},'logs':{'title':'日志','view':'查看日志','clear':a58_0x5b6f0b(0x236),'noLogs':a58_0x5b6f0b(0x356),'header':'*\x20Lovrabet\x20CLI\x20日志记录:\x0a','time':a58_0x5b6f0b(0x342),'duration':a58_0x5b6f0b(0x2bb),'details':a58_0x5b6f0b(0x33f),'cleared':a58_0x5b6f0b(0x30a)},'start':{'starting':a58_0x5b6f0b(0x21c)},'build':{'building':a58_0x5b6f0b(0x347)},'preview':{'previewing':a58_0x5b6f0b(0x228),'watchMode':'监听模式'},'ui':{'ideSelector':{'title':a58_0x5b6f0b(0x216),'hotkeys':a58_0x5b6f0b(0x247)}},'upgrade':{'cli':{'title':'↪\x20新版本可用','current':a58_0x5b6f0b(0x2ed),'stable':a58_0x5b6f0b(0x242),'command':a58_0x5b6f0b(0x2fc)},'sdk':{'title':a58_0x5b6f0b(0x339),'current':a58_0x5b6f0b(0x22d),'stable':a58_0x5b6f0b(0x242),'command':a58_0x5b6f0b(0x2fc)}}};
1
+ function a56_0x29bc(_0x1fe89c,_0x4b7324){_0x1fe89c=_0x1fe89c-0xb7;var _0x3e0155=a56_0x3e01();var _0x29bc4e=_0x3e0155[_0x1fe89c];return _0x29bc4e;}var a56_0x339dd2=a56_0x29bc;function a56_0x3e01(){var _0x1e9b5f=['\x0a✓\x20技能包安装成功!共安装\x20{{count}}\x20个目录\x0a','*\x20正在从服务器拉取\x20API\x20配置...\x20(环境:\x20{{env}})','\x0a已取消配置\x0a','全部安装','\x20\x20\x20耗时:\x20{{duration}}ms','❌\x20错误:不再支持位置参数方式','*\x20是否要自动拉取\x20API\x20配置?','包含\x20Backend\x20Function\x20同步工作流','正在获取线上菜单列表...\x20(appCode:\x20{{appCode}})','192285jXFcGW','交互式选择并安装技能包','\x20\x20\x20•\x20{{name}}.ts\x20-\x20模型配置文件','显示帮助信息','\x20\x20正在安装依赖...','创建菜单失败:\x20{{error}}','正在安装技能包...','格式化代码','JS\x20链接无法访问','\x20\x20-\x20IDE\x20特定配置文件\x20(.cursorrules,\x20.windsurf/,\x20.claude/,\x20.cline/,\x20.codex/,\x20.opencode/,\x20.qoder/,\x20.codebuddy/,\x20.trae/)\x0a\x20\x20-\x20.lovrabet/skill/.shared/guides/\x20\x20-\x20开发者技能指南','\x20\x20直接安装指定\x20IDE\x20(支持多个)\x20\x20\x20\x20\x20\x20\x20-\x20使用\x20--ide\x20标志直接安装','√\x20配置文件已创建,可稍后使用\x20\x27lovrabet\x20config\x20set\x20appcode\x20<app-code>\x27\x20配置','创建\x20agents.md\x20文件','*\x20已输入的资源资源','正在预览项目...','\x0a可用命令:','*\x20正在创建项目...','复制\x20agents.md\x20文件失败','!\x20未找到本地页面,请先创建页面','*\x20正在更新\x20package.json\x20的\x20name\x20和\x20description\x20字段','*\x20请选择要同步的菜单:','\x20\x20•\x20Skill:','√\x20成功拉取\x20{{datasetCount}}\x20个数据集,生成\x20{{modelCount}}\x20个模型','633544OnmJCd','-\x20模型配置文件\x20({{count}}\x20个模型)','\x0a📦\x20正在安装\x20{{name}}...\x0a','\x0a✓\x20Cursor\x20MCP\x20配置成功!\x0a','\x0a✓\x20{{ide}}\x20MCP\x20配置成功','已创建\x20{{count}}\x20项','开始批量创建菜单,共\x20{{count}}\x20个','其他\x20IDE\x20配置指引','示例:','\x20\x20✓\x20创建\x20{{path}}/','\x0a请选择要配置\x20MCP\x20的\x20IDE:\x0a','*\x20正在为项目\x20{{name}}\x20配置应用AppCode:\x20{{appCode}}','\x20\x20直接配置指定\x20IDE\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20-\x20使用\x20--ide\x20标志直接配置','登录认证','请至少选择一个菜单','✓\x20技能包安装成功!共安装\x20{{count}}\x20个目录','成功在当前目录初始化\x20.lovrabetrc\x20文件','💡\x20如果浏览器没有自动打开,请手动复制上面的登录地址到浏览器中打开','当前目录已存在\x20.lovrabetrc\x20文件','需要先配置\x20appcode','Claude\x20Code','Lovrabet\x20Skill\x20-\x20开发者技能包安装工具','\x20|\x20应用AppCode:\x20','配置信息:','请先通过\x20`lovrabet\x20config\x20set\x20app\x20<value>`\x20配置应用\x20Code','使用指定的\x20appcode','正在从服务器拉取模型列表...\x20(环境:\x20{{env}})','✓\x20MCP\x20服务器配置完成:','正在配置\x20AI\x20助手...','应用AppCode只能包含字母、数字、连字符和下划线,且必须以字母或数字开头','*\x20待更新的菜单&资源链接','*\x20清理失败的项目目录:\x20{{dir}}','√\x20package.json\x20已更新:\x20name={{name}}','*\x20JS\x20链接:\x20','\x20\x20lovrabet\x20skill\x20install\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20#\x20交互式选择\x20IDE','*\x20正在拉取\x20API\x20配置...','*\x20按回车开始登录。','正在初始化配置文件...','\x20\x20\x20当前\x20CLI\x20版本:\x20{{version}}','✗\x20失败:\x20{{fileName}}.md\x20-\x20{{error}}','√\x20{{label}}:\x20','×\x20--params\x20参数必须是一个有效的\x20JSON\x20对象','已安装\x20{{count}}\x20个目录','保存配置失败','Cursor\x20MCP\x20配置成功','*\x20正在创建项目\x20{{name}}...','\x20\x20\x20时间:\x20{{time}}','[{{current}}/{{total}}]\x20正在生成:\x20{{fileName}}.md\x20({{name}})','正在配置\x20MCP\x20服务器...','创建菜单失败,HTTP状态码:\x20{{status}}','生成多个数据集的文档','\x20\x20lovrabet\x20mcp\x20--help\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20#\x20显示帮助信息\x0a','服务端返回空菜单列表','\x0a无效的选择,请输入\x201-{{count}}\x20之间的数字\x0a','跳过登录','\x20\x20lovrabet\x20mcp\x20install\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20#\x20交互式选择并配置\x20MCP','拉取\x20API','更新菜单\x20CDN\x20资源','应用AppCode不合法','*\x20共处理\x20{{count}}\x20个数据集','[可选]:\x20','未知的\x20IDE:\x20{{ide}}','指定环境生成文档','\x20\x20$\x20lovrabet\x20mcp\x20install','应用代码长度不能超过\x20100\x20个字符','选项:','项目名不合法','选择要配置的\x20IDE:','配置示例:','93549mZIqfh','√\x20API\x20配置拉取完成','项目名包含非法字符,不允许使用:\x20<\x20>\x20:\x20\x22\x20|\x20?\x20*\x20及控制字符','🚀\x20接下来:','\x20\x20\x20\x20→\x20使用\x20↑↓\x20移动光标,空格选中/取消,Enter\x20确认\x0a\x20\x20\x20\x20→\x20按\x20a\x20全选,按\x20i/r\x20反选,按\x20q\x20退出','配置\x20Lovrabet\x20MCP\x20服务器','*\x20正在为项目\x20{{name}}\x20创建配置文件','✓\x20已退出登录','其他\x20IDE','*\x20项目名:\x20','✓\x20Skill\x20安装完成:','生成文档','1614725dKaLBS','启动项目:\x20','2054512HGmcgj','已登录','获取配置项','列出所有配置项','请输入有效的\x20CSS\x20https\x20链接','✅\x20浏览器已自动打开,请在浏览器中完成登录','已选择菜单','不支持的\x20MCP\x20IDE:\x20{{ide}}','输入\x200\x20安装所有\x20IDE,输入\x20q\x20取消\x0a','监听模式','正在获取数据集列表...','\x20\x20\x20•\x20{{name}}.ts\x20-\x20客户端实例文件','⚠️\x20配置需要手动完成','配置值无效或过长','Enter\x20默认:\x20是','已写入\x20.cursor/mcp.json','下一步','Cursor\x20Rules\x20文件已存在,跳过','\x0a请选择要安装技能包的\x20IDE\x20(可多选):\x0a','其他\x20(通用模板)\x20(.agent/skills/)\x20-\x20兜底方案','MCP\x20和\x20Skill','安装所有技能包','\x0a📋\x20其他\x20IDE\x20MCP\x20配置:\x0a','无效的命令,可用命令如下:','\x20\x20lovrabet\x20mcp\x20install\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20交互式选择并配置\x20MCP','\x20\x20包含\x20Backend\x20Function\x20同步工作流\x20\x20\x20-\x20使用\x20--dangerously-bff-save\x20标志','AppCode',',\x20失败\x20{{failCount}}\x20个','登录成功,请返回命令行继续操作。当前窗口将在\x20{{seconds}}\x20秒内关闭。','\x20\x20重启\x20Claude\x20Code\x20后生效\x0a','\x20\x20环境:\x20{{env}}','*\x20是否配置\x20Lovrabet\x20MCP\x20和\x20Skill?','成功获取\x20{{count}}\x20个线上菜单','拉取API配置','!\x20请指定一个有效的命令。','CSS\x20链接:\x20','应用代码不能为空','现在您可以使用\x20lovrabet\x20api\x20doc\x20和\x20lovrabet\x20api\x20pull\x20等命令了','创建菜单失败','\x20\x20\x202.\x20配置默认值:\x20lovrabet\x20config\x20set\x20app\x20<app-code>','提示:使用\x20','项目名只能以字母或数字开头,且只包含字母、数字、-\x20和\x20_','获取文档失败\x20({{datasetCode}}),HTTP状态码:\x20{{status}}','\x20直接回车确认,或输入自定义名称','详细配置指南:\x20https://help.yuntoo.com/mcp/config-guide','指定要生成文档的数据集代码(多个用逗号分隔,仅\x20doc\x20命令)','应用代码不合法','\x20\x20lovrabet\x20skill\x20--help\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20#\x20显示帮助信息\x0a','\x20\x20\x20稳定版本:\x20{{version}}','•\x20Skill:\x20安装研发最佳实践、Backend\x20Function\x20规范','指定应用代码','6DBFkIV','正在获取日常菜单列表...\x20(appCode:\x20{{appCode}})','支持的\x20IDE:','\x20\x20使用\x20←→\x20选择,回车确认','✓\x20{{scope}}语言配置已设置为:\x20{{value}}','!\x20API\x20配置拉取失败,可稍后手动执行:\x20lovrabet\x20api\x20pull','\x20\x20--dangerously-bff-save\x20\x20\x20\x20包含\x20Backend\x20Function\x20同步工作流指南\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20(需要\x20MCP\x20服务器启用相应\x20tools)','\x20\x20√\x20环境配置完成','绑定应用AppCode可自动配置\x20API,如:\x20app-c4c89304\x20(直接回车跳过)','使用配置的应用AppCode:\x20{{appCode}}','获取数据集失败,HTTP状态码:\x20{{status}}','\x20\x20\x20\x20$\x20lovrabet\x20mcp\x20install\x20--claude\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20#\x20配置\x20Claude\x20Code','\x0a已取消安装\x0a','错误:\x20不支持的命令:\x20{{cmd}}','\x20\x20\x20交互式选择\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20-\x20显示\x20IDE\x20列表供选择','请执行以下命令配置\x20Claude\x20Code\x20MCP:','环境:\x20{{env}}','\x0a√\x20项目\x20{{name}}\x20创建成功!','复制\x20Cursor\x20Rules\x20文件失败','*\x20正在配置\x20Lovrabet\x20MCP\x20和\x20Skill...','创建技能包\x20manifest','✓\x20MCP\x20配置完成!','{{count}}\x20个\x20IDE','\x20\x20lovrabet\x20mcp\x20install\x20--claude\x20\x20\x20\x20直接配置\x20Claude\x20Code\x20MCP','未知错误','批量创建菜单完成,共\x20{{count}}\x20个','\x20\x20lovrabet\x20skill\x20install\x20cursor\x20\x20\x20\x20#\x20直接安装\x20Cursor\x20技能包\x0a','项目名称:\x20','219qssMSx','Cursor','\x20正在获取线上菜单列表...','响应数据格式错误\x20({{datasetCode}}):缺少\x20data.markdown\x20字段','\x20\x20✗\x20安装\x20{{ide}}\x20失败:\x20{{error}}','登录成功!','更新现有\x20mcp.json\x20配置','使用指定的应用AppCode:\x20{{appCode}}','\x20登录中...','示例:','↪\x20新版本可用','\x20\x20$\x20lovrabet\x20mcp\x20install\x20--cursor','无法在当前目录创建项目,请检查目录权限','\x20\x20lovrabet\x20mcp\x20--help\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20显示帮助信息','↑/↓:\x20移动光标\x20空格:\x20切换选中\x20a:\x20全选\x20i/r:\x20反选\x20Enter:\x20确认','输入格式:\x20输入编号,用空格分隔\x20(例如:\x201\x203\x205)','是否同时配置\x20AI\x20助手?这将:','查看可用命令。','*\x20正在处理\x20{{count}}\x20个数据集...','\x20\x20√\x20项目模板已创建','环境配置值只能是\x20\x22online\x22\x20或\x20\x22daily\x22','菜单名称','\x20\x20\x201.\x20直接指定:\x20lovrabet\x20api\x20pull\x20<app-code>','现在您可以在\x20Cursor\x20中使用\x20Lovrabet\x20数据集\x20MCP\x20工具了。','指定环境拉取\x20API','获取数据集失败:\x20{{error}}','√\x20Lovrabet\x20MCP\x20和\x20Skill\x20配置完成','正在更新菜单资源链接:\x20{{label}}\x20({{path}})','共享技能文件复制成功','正在启动开发服务器...','JS\x20链接','按任意键退出...','项目目录\x20{{name}}\x20已存在,请使用其他项目名','只生成指定数据集的文档','↑/↓:\x20移动\x20空格:\x20切换\x20a:\x20全选\x20i/r:\x20反选\x20Enter:\x20确认','请选择要配置的\x20IDE:','配置指引已显示','\x20输入项目的\x20JS\x20资源链接(https://...)','指定输出目录','\x20\x20•\x20MCP\x20服务器:','↑/↓:\x20移动\x20空格:\x20切换\x20a:\x20全选\x20q:\x20退出\x20Enter:\x20确认','*\x20暂无日志记录','配置指南:','\x0a✓\x20MCP\x20配置完成\x20({{successCount}}/{{totalCount}}\x20成功)','登录成功','{{count}}\x20个','*\x20输出目录:\x20','•\x20MCP:\x20让\x20AI\x20直接访问\x20Lovrabet\x20数据集','文档生成失败:\x20{{error}}','用法:','locale\x20配置值无效,支持的值:\x20zh,\x20en,\x20zh-CN,\x20en-US','*\x20选择要配置的\x20IDE:','\x20\x20\x20\x20→\x20交互式选择\x20IDE','\x20\x20✗\x20未知的\x20IDE:\x20{{ide}}','使用示例:','\x0a📦\x20正在配置\x20{{name}}\x20MCP...\x0a','🌐\x20正在尝试自动打开浏览器...','*\x20正在创建菜单...','配置方式:','\x0a没有有效的\x20IDE\x20需要安装\x0a','⚠️\x20以下数据集生成失败:','MCP\x20服务器\x20(AI\x20访问数据集)','{{name}}\x20技能包安装成功','×\x20文件前缀格式不正确。只能包含字母、数字、连字符和下划线,且必须以字母开头。','\x0a📋\x20请执行以下命令配置\x20Claude\x20Code\x20MCP:\x0a','配置当前项目的\x20App\x20Code','🔗\x20请手动复制登录地址到浏览器:','*\x20CSS\x20链接:\x20','未提供配置值','目录\x20\x22{{name}}\x22\x20已存在','agents.md\x20文件已存在,跳过','查看日志','\x20\x20使用\x20←→\x20返回修改选择,回车确认\x20IDE','项目名过长,最多支持\x20100\x20个字符','\x20资源正在同步中...','生成配置命令','安装技能包','\x20\x20\x20\x20$\x20lovrabet\x20mcp\x20install\x20--cursor\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20#\x20配置\x20Cursor','选项:','√\x20当前为有效会话,无需重新登录。','加载中...','输入项目的\x20JS\x20资源链接(https://...)','*\x20已生成文件:','\x20\x20lovrabet\x20skill\x20install\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20#\x20交互式选择并安装技能包','指定的数据集代码都不存在:\x20{{codes}}','创建新的\x20mcp.json\x20配置','通用模板','项目名不能为空','\x20检查中...','未提供应用AppCode,且配置中也没有默认值','未找到\x20appcode\x20配置,请先运行\x20\x27lovrabet\x20init\x27\x20初始化项目配置','显示此帮助信息','正在生成\x20{{fileName}}.md\x20({{current}}/{{total}})','安装方式:','应用AppCode长度不能超过\x20100\x20个字符','未知的\x20api\x20命令','正在登录...','[Y]\x20是,配置\x20AI\x20助手','✓\x20拉取\x20{{count}}\x20个开发者指南','项目配置','16916AYvJLx','CSS\x20链接','{{name}}\x20技能包安装失败','请选择:\x20','开发者指南位置:','配置AppCode:','*\x20开始生成\x20API\x20配置文件:','\x0a✗\x20{{ide}}\x20MCP\x20配置失败:\x20{{error}}','\x20\x20q.\x20取消\x0a','未设置','*\x20请输入新的资源链接','\x20命令重新登录','!\x20请使用以下方式之一:','\x20\x20\x20升级命令:\x20{{command}}','菜单创建成功:','开发者指南位置:\x20.lovrabet/skill/.shared/guides/','请手动执行:\x20{{command}}','\x20\x20\x20\x20→\x20直接配置\x20Cursor\x20MCP\x20(写入\x20.cursor/mcp.json)','继续更新','230ZULdSE','登录态校验失败,请使用\x20lovrabet\x20auth\x20重新登录','*\x20Lovrabet\x20CLI\x20日志记录:\x0a','CSS\x20链接无法访问','554449sxPEZg','API\x20管理','\x20\x20\x201.\x20配置默认值:\x20lovrabet\x20config\x20set\x20appcode\x20<app-code>','\x20\x20\x202.\x20使用参数:\x20lovrabet\x20api\x20doc\x20--appcode\x20<app-code>','×\x20未配置\x20AppCode','Cursor\x20MCP\x20配置失败','等待\x203\x20秒...\x0a','\x20\x20!\x20CDN\x20拉取失败,跳过指南安装:\x20{{error}}','✓\x20{{scope}}环境配置已设置为:\x20{{value}}','请使用\x20--appcode\x20参数,例如:','!\x20API\x20配置拉取异常,项目已创建,可稍后手动执行:\x20lovrabet\x20api\x20pull','\x20\x20\x20当前版本:\x20{{package}}@{{version}}','更新菜单资源失败:\x20{{error}}','请至少选择一个\x20IDE','同步菜单','*\x20使用配置的应用AppCode:\x20{{appCode}}','应用代码只能包含字母、数字、-\x20和\x20_','不支持的\x20IDE:\x20{{ide}}','应用AppCode','安装所有\x20IDE\x20技能包(包括通用模板)','按\x20“q”\x20退出。','重启\x20Claude\x20Code\x20后生效','\x20\x20√\x20package.json\x20已更新','请重启\x20Cursor\x20以加载新的\x20MCP\x20配置。','Claude\x20Code\x20MCP\x20命令已生成','拉取API配置:','启动项目:','正在生成\x20{{count}}\x20个数据集的文档...','开始配置\x20MCP','\x0a错误:\x20配置失败\x20-\x20{{error}}\x0a','上一步','√\x20检测到有效登录状态','\x20正在获取线上菜单资源链接...','正在从\x20CDN\x20拉取开发者指南(含扩展)...','登录鉴权失败,登录已过期,请使用\x20lovrabet\x20auth\x20重新登录','×\x20API\x20配置拉取异常:\x20{{error}}','未找到任何数据集','↑/↓:\x20移动光标\x20空格:\x20切换选中\x20a:\x20全选\x20i/r:\x20反选\x20q:\x20退出\x20Enter:\x20确认'];a56_0x3e01=function(){return _0x1e9b5f;};return a56_0x3e01();}(function(_0x4b3b68,_0x323f4e){var _0xdcc41a=a56_0x29bc,_0xe15604=_0x4b3b68();while(!![]){try{var _0x5aebe5=-parseInt(_0xdcc41a(0x138))/0x1+parseInt(_0xdcc41a(0xf3))/0x2+parseInt(_0xdcc41a(0x195))/0x3*(parseInt(_0xdcc41a(0x1f9))/0x4)+parseInt(_0xdcc41a(0x144))/0x5*(parseInt(_0xdcc41a(0x179))/0x6)+parseInt(_0xdcc41a(0x210))/0x7+-parseInt(_0xdcc41a(0x146))/0x8+-parseInt(_0xdcc41a(0xdc))/0x9*(parseInt(_0xdcc41a(0x20c))/0xa);if(_0x5aebe5===_0x323f4e)break;else _0xe15604['push'](_0xe15604['shift']());}catch(_0x469e56){_0xe15604['push'](_0xe15604['shift']());}}}(a56_0x3e01,0x2d61b));export default{'common':{'success':'成功','error':'错误','warning':'警告','info':'信息','loading':a56_0x339dd2(0x1e5),'cancel':'取消','confirm':'确认','next':a56_0x339dd2(0x156),'previous':a56_0x339dd2(0xcb),'finish':'完成'},'help':{'invalidCommand':a56_0x339dd2(0x168),'usageHint':'使用','viewCommands':a56_0x339dd2(0x1a6)},'cli':{'usage':'使用','examples':'示例','description':'描述'},'init':{'inputAppCode':'请输入应用代码\x20(AppCode):','appCodeDesc':'应用代码用于标识您的项目,只能包含字母、数字、-\x20和\x20_','fileExists':a56_0x339dd2(0x105),'creating':a56_0x339dd2(0x118),'success':a56_0x339dd2(0x103),'appCodeLabel':a56_0x339dd2(0x160),'nextSteps':a56_0x339dd2(0x16b),'validation':{'required':a56_0x339dd2(0x16a),'tooLong':a56_0x339dd2(0x133),'invalidFormat':a56_0x339dd2(0xbd),'invalidCode':a56_0x339dd2(0x174)}},'create':{'projectNameLabel':'项目名称','appCodeLabel':a56_0x339dd2(0xbf),'validation':{'required':a56_0x339dd2(0x1ec),'invalidChars':a56_0x339dd2(0x13a),'tooLong':a56_0x339dd2(0x1de),'dirExists':a56_0x339dd2(0x1b5),'noPermission':a56_0x339dd2(0x1a1),'projectName':{'tooLong':'项目名长度不能超过\x2050\x20个字符','invalidFormat':a56_0x339dd2(0x16f),'invalid':a56_0x339dd2(0x135),'dirExistsShort':a56_0x339dd2(0x1da)},'appCode':{'tooLong':a56_0x339dd2(0x1f3),'invalidFormat':a56_0x339dd2(0x110),'invalid':a56_0x339dd2(0x12d)},'ide':{'required':a56_0x339dd2(0xba)}},'common':{'yes':'是','no':'否','selectHint':a56_0x339dd2(0x17c)},'steps':{'pullingApi':a56_0x339dd2(0x116),'apiPullSuccess':a56_0x339dd2(0x139),'apiPullFailed':a56_0x339dd2(0x17e),'apiPullError':a56_0x339dd2(0xb7),'updatingPackage':'*\x20正在更新\x20package.json\x20的\x20name\x20和\x20description\x20字段','packageUpdated':a56_0x339dd2(0x113),'configuringAppCode':a56_0x339dd2(0xfe),'creatingConfig':a56_0x339dd2(0x13e),'configCreatedWithAppCode':'√\x20配置文件已创建,应用AppCode:\x20{{appCode}}','configCreated':a56_0x339dd2(0xe7),'configuringMcp':a56_0x339dd2(0x18c),'mcpConfigComplete':a56_0x339dd2(0x1af),'cleaningUp':a56_0x339dd2(0x112),'projectName':{'label':'项目名'},'appCode':{'label':a56_0x339dd2(0xbf),'notSet':a56_0x339dd2(0x202)},'apiPull':{'label':a56_0x339dd2(0x167)},'lovrabetSetup':{'label':a56_0x339dd2(0x15a),'ideCount':a56_0x339dd2(0x18f)},'login':{'label':'登录状态','loggedIn':a56_0x339dd2(0x147),'failed':'登录失败','skipped':a56_0x339dd2(0x129)}},'title':'*\x20创建新项目','completedStep':a56_0x339dd2(0x11b),'input':{'projectName':{'label':a56_0x339dd2(0x141),'hint':a56_0x339dd2(0x171)},'appCode':{'label':'*\x20应用AppCode\x20','optional':a56_0x339dd2(0x12f),'hint':a56_0x339dd2(0x181)}},'login':{'checking':'*\x20正在检查登录状态...','checkingStatus':a56_0x339dd2(0x1ed),'valid':a56_0x339dd2(0xcc),'notDetected':'!\x20未检测到有效登录','prompt':'*\x20是否要先登录以便拉取\x20API\x20配置?','inProgress':'*\x20正在登录,请前往浏览器完成登录...','inProgressStatus':a56_0x339dd2(0x19d)},'apiPull':{'confirm':a56_0x339dd2(0xd9),'recommendation':'\x20\x20推荐选择\x20Yes,可自动配置\x20API\x20接口'},'lovrabetSetup':{'confirm':a56_0x339dd2(0x165),'selectIdeHint':a56_0x339dd2(0x1dd),'selectIdeTitle':a56_0x339dd2(0x136),'keyboardShortcuts':a56_0x339dd2(0x1b7),'inProgress':a56_0x339dd2(0x18c),'mcpCompleted':'✓\x20MCP\x20服务器配置完成:','skillCompleted':a56_0x339dd2(0x142)},'creating':a56_0x339dd2(0xec),'display':{'projectName':a56_0x339dd2(0x194),'appCode':a56_0x339dd2(0x109)},'packageJson':{'updating':a56_0x339dd2(0xef),'updated':'√\x20package.json\x20已更新:\x20name={{name}}'},'config':{'configuringAppCode':a56_0x339dd2(0xfe),'creating':a56_0x339dd2(0x13e),'createdWithAppCode':'√\x20配置文件已创建,应用AppCode:\x20{{appCode}}','createdWithoutAppCode':a56_0x339dd2(0xe7)},'cleanup':{'inProgress':a56_0x339dd2(0x112)},'results':{'mcpComplete':a56_0x339dd2(0x10e),'skillComplete':'✓\x20Skill\x20安装完成:','nextSteps':a56_0x339dd2(0x13b)},'nextSteps':{'configureMcpAndSkill':'1.\x20配置\x20Lovrabet\x20MCP\x20和\x20Skill','skill':a56_0x339dd2(0xf1),'mcp':a56_0x339dd2(0x1bc),'startProject':a56_0x339dd2(0xc7),'pullApi':a56_0x339dd2(0xc6),'configAppCode':a56_0x339dd2(0x1fe)},'errors':{'createFailed':'×\x20项目创建失败:\x20{{error}}','cleanupFailed':'清理项目目录失败','depsInstallFailed':'依赖安装失败:\x20{{error}}'},'nonInteractive':{'creating':a56_0x339dd2(0x120),'templateCreated':a56_0x339dd2(0x1a8),'packageJsonUpdated':a56_0x339dd2(0xc3),'installingDeps':a56_0x339dd2(0xe0),'depsSkipped':'\x20\x20√\x20依赖安装跳过(非交互模式)','codeFormatted':'\x20\x20√\x20代码已格式化','envConfigured':a56_0x339dd2(0x180),'success':a56_0x339dd2(0x18a)},'tasks':{'copyFiles':'复制项目文件','formatCode':a56_0x339dd2(0xe3),'installDependencies':'安装依赖'},'nextStepsAlt':{'startProject':a56_0x339dd2(0x145),'pullApi':'拉取API配置:\x20','configureLovrabet':'1.\x20配置\x20Lovrabet\x20MCP\x20和\x20Skill'}},'config':{'title':a56_0x339dd2(0x1f8),'help':{'invalidCommand':a56_0x339dd2(0x15d),'examples':a56_0x339dd2(0x137),'set':'设置配置项','get':a56_0x339dd2(0x148),'list':a56_0x339dd2(0x149),'exampleApp':a56_0x339dd2(0x1d6),'exampleEnv':'设置环境\x20(online/daily)','exampleLocale':'设置显示语言\x20(zh/en)'},'validation':{'envInvalid':a56_0x339dd2(0x1a9),'localeInvalid':a56_0x339dd2(0x1c7),'valueInvalid':a56_0x339dd2(0x153),'noValue':a56_0x339dd2(0x1d9),'saveFailed':a56_0x339dd2(0x11e)},'success':{'envSet':a56_0x339dd2(0x218),'localeSet':a56_0x339dd2(0x17d)},'scope':{'project':'项目','global':'全局'}},'api':{'title':a56_0x339dd2(0x211),'pull':a56_0x339dd2(0x12b),'doc':a56_0x339dd2(0x143),'help':{'title':'lovrabet\x20api\x20-\x20API\x20相关操作','usage':'用法:','options':a56_0x339dd2(0x1e3),'optAppcode':a56_0x339dd2(0x178),'optOutput':'指定输出目录(pull:\x20./src/api/,doc:\x20./docs)','optEnv':'指定环境(如:daily、online)','optDatasetcode':a56_0x339dd2(0x173),'optHelp':a56_0x339dd2(0x1f0),'examples':a56_0x339dd2(0x19e),'pullDesc':'拉取并生成\x20API\x20配置文件','pullAppcode':a56_0x339dd2(0x10c),'pullOutput':a56_0x339dd2(0x1bb),'pullEnv':a56_0x339dd2(0x1ad),'docDesc':'生成所有数据集的文档','docAppcode':a56_0x339dd2(0x10c),'docOutput':'指定文档输出目录','docEnv':a56_0x339dd2(0x131),'docDataset':a56_0x339dd2(0x1b6),'docDatasets':a56_0x339dd2(0x125),'unknownCommand':a56_0x339dd2(0x1f4),'availableCommands':'可用命令:'},'common':{'noPositionalArgs':a56_0x339dd2(0xd8),'useAppcodeFlag':a56_0x339dd2(0x219),'noAppCode':a56_0x339dd2(0x214),'noAppCodeHint':a56_0x339dd2(0x205),'noAppCodeOption1':a56_0x339dd2(0x212),'noAppCodeOption2Pull':'\x20\x20\x202.\x20使用参数:\x20lovrabet\x20api\x20pull\x20--appcode\x20<app-code>','noAppCodeOption2Doc':a56_0x339dd2(0x213),'usingConfigAppCode':a56_0x339dd2(0xbc),'usingConfigAppCodeHint':'\x20\x20(注:\x20--appcode\x20参数与配置一致,将使用默认配置)','usingSpecifiedAppCode':a56_0x339dd2(0x19c),'usingDefaultAppCode':a56_0x339dd2(0x182),'noAppCodeDefault':a56_0x339dd2(0x1ee),'paramsInvalidJson':a56_0x339dd2(0x11c),'paramsNotJson':'×\x20--params\x20参数不是有效的\x20JSON\x20格式','paramsError':'\x20\x20错误:\x20{{error}}','datasetcodeEmpty':'×\x20--datasetcode\x20参数不能为空','onlyGenerateDatasets':'*\x20仅生成指定数据集的文档:\x20{{codes}}','authExpired':a56_0x339dd2(0xcf),'authRetry':'重新登录后再试','unknownError':a56_0x339dd2(0x191)},'pullUI':{'fetching':'🚀\x20正在从服务器拉取\x20API\x20配置...\x20(环境:\x20{{env}})','successPull':a56_0x339dd2(0xf2),'duplicateInfo':'!\x20原始数据集\x20{{originalCount}}\x20个,过滤重复\x20{{duplicateCount}}\x20个','generatedFiles':a56_0x339dd2(0x1e7),'modelFile':a56_0x339dd2(0xf4),'clientFile':'-\x20客户端实例文件','importHint':'*\x20导入方式:','pullFailed':'拉取\x20API\x20配置失败:\x20{{error}}'},'docUI':{'fetchingDatasets':a56_0x339dd2(0x150),'noDatasets':a56_0x339dd2(0xd1),'datasetsNotFound':'!\x20以下数据集代码不存在:\x20{{codes}}','allDatasetsNotFound':a56_0x339dd2(0x1e9),'filteredDatasets':'*\x20从\x20{{total}}\x20个数据集中筛选出\x20{{count}}\x20个匹配的数据集','generatingDocs':a56_0x339dd2(0xc8),'generatingFile':a56_0x339dd2(0x1f1),'docComplete':'√\x20文档生成完成!成功\x20{{successCount}}\x20个','docFailed':a56_0x339dd2(0x161),'processedDatasets':a56_0x339dd2(0x12e),'outputDir':a56_0x339dd2(0x1c3),'generatedDocs':'*\x20生成的文档文件:','failedDatasets':a56_0x339dd2(0x1d1),'docGenerateFailed':a56_0x339dd2(0x1c5)},'fetchModel':{'fetching':a56_0x339dd2(0x10d),'httpError':a56_0x339dd2(0x183),'fetchError':a56_0x339dd2(0x1ae)},'generateFile':{'noAppCode':a56_0x339dd2(0x10b)},'docBatch':{'totalDatasets':'\x0a共有\x20{{count}}\x20个数据集需要生成文档\x0a','generating':a56_0x339dd2(0x122),'success':'✓\x20成功生成:\x20{{fileName}}.md','failed':a56_0x339dd2(0x11a),'waiting':a56_0x339dd2(0x216),'docFormatError':a56_0x339dd2(0x198),'httpError':a56_0x339dd2(0x170)},'silent':{'invalidPrefix':a56_0x339dd2(0x1d4),'fetching':a56_0x339dd2(0xd4),'generating':a56_0x339dd2(0x1ff),'modelFileName':a56_0x339dd2(0xde),'clientFileName':a56_0x339dd2(0x151),'processing':a56_0x339dd2(0x1a7),'success':a56_0x339dd2(0xf2),'error':a56_0x339dd2(0xd0)}},'auth':{'title':a56_0x339dd2(0x100),'login':{'success':{'title':a56_0x339dd2(0x1c1),'message':a56_0x339dd2(0x162),'manualClose':'无法自动关闭窗口,请手动关闭此标签页或窗口。'},'successCli':a56_0x339dd2(0x19a),'inProgress':a56_0x339dd2(0x1f5),'browserPrompt':'请前往浏览器完成登录。','pressEnter':a56_0x339dd2(0x117),'pressQToExit':a56_0x339dd2(0xc1)},'session':{'valid':a56_0x339dd2(0x1e4)},'server':{'starting':'🔐\x20正在启动登录服务...','loginUrl':'📍\x20登录地址:','openingBrowser':a56_0x339dd2(0x1cd),'manualOpenHint':a56_0x339dd2(0x104),'browserOpened':a56_0x339dd2(0x14b),'browserOpenFailed':'⚠️\x20\x20无法自动打开浏览器','manualCopyUrl':a56_0x339dd2(0x1d7)},'logout':{'success':a56_0x339dd2(0x13f),'notLoggedIn':'!\x20当前未登录'}},'menu':{'sync':a56_0x339dd2(0xbb),'update':a56_0x339dd2(0x12c)},'mcp':{'cursor':a56_0x339dd2(0x196),'claude':a56_0x339dd2(0x107),'error':{'unsupportedCommand':a56_0x339dd2(0x186),'missingAppcode':a56_0x339dd2(0x1ef)},'help':{'title':'Lovrabet\x20MCP\x20-\x20MCP\x20服务器配置工具','availableCommands':a56_0x339dd2(0xeb),'command':{'install':a56_0x339dd2(0x12a),'help':a56_0x339dd2(0x126)},'usage':{'help':a56_0x339dd2(0x1a2),'install':a56_0x339dd2(0x15e),'installCursor':'\x20\x20lovrabet\x20mcp\x20install\x20--cursor\x20\x20\x20\x20直接配置\x20Cursor\x20MCP','installClaude':a56_0x339dd2(0x190)},'configMethods':a56_0x339dd2(0x1cf),'configMethodsInteractive':a56_0x339dd2(0x187),'configMethodsInteractiveHint':'\x20\x20\x20\x20→\x20输入编号选择\x20IDE','configMethodsDirect':a56_0x339dd2(0xff),'configMethodsDirectCursor':a56_0x339dd2(0x1e2),'configMethodsDirectClaude':a56_0x339dd2(0x184),'supportedIDEs':a56_0x339dd2(0x17b),'examples':a56_0x339dd2(0xfb),'exampleInstall':a56_0x339dd2(0x132),'exampleInstallHint':'\x20\x20\x20\x20→\x20交互式选择\x20IDE','exampleInstallCursor':a56_0x339dd2(0x1a0),'exampleInstallCursorHint':a56_0x339dd2(0x20a),'configGuide':a56_0x339dd2(0x1bf)},'select':{'chooseIDE':a56_0x339dd2(0xfd),'cancel':a56_0x339dd2(0x201),'enterNumber':'请输入编号选择\x20IDE:\x0a','prompt':a56_0x339dd2(0x1fc),'cancelled':a56_0x339dd2(0xd5),'invalidChoice':a56_0x339dd2(0x128)},'installFlow':{'configuring':a56_0x339dd2(0x1cc),'error':a56_0x339dd2(0xca)},'cursorConfig':{'success':a56_0x339dd2(0xf6),'configInfo':a56_0x339dd2(0x10a),'usageHint':a56_0x339dd2(0x1ac),'restartRequired':a56_0x339dd2(0xc4),'error':a56_0x339dd2(0xca),'rules':{'exists':a56_0x339dd2(0x157),'created':'创建\x20Cursor\x20Rules\x20文件','copyFailed':a56_0x339dd2(0x18b)},'updateExisting':a56_0x339dd2(0x19b),'createNew':a56_0x339dd2(0x1ea),'written':a56_0x339dd2(0x155)},'claudeConfig':{'error':a56_0x339dd2(0xca),'agents':{'exists':a56_0x339dd2(0x1db),'created':a56_0x339dd2(0xe8),'copyFailed':a56_0x339dd2(0xed)},'manualCommand':a56_0x339dd2(0x188),'configInfo':a56_0x339dd2(0x10a),'restartRequired':a56_0x339dd2(0xc2),'commandGenerated':a56_0x339dd2(0x1e0)},'other':{'configInfo':'配置信息:\x20appcode={{appcode}},\x20env={{env}}','configGuide':a56_0x339dd2(0x172),'guideShown':'其他\x20IDE\x20配置指引已显示'},'config':{'env':a56_0x339dd2(0x189)},'install':{'starting':a56_0x339dd2(0xc9),'unknownIDE':'未知的\x20IDE:\x20{{ide}}','otherIDE':a56_0x339dd2(0x140),'success':a56_0x339dd2(0xf7),'failed':a56_0x339dd2(0x200),'completed':a56_0x339dd2(0x1c0),'manualActionRequired':'\x0a注意:部分配置需要手动执行命令,请按照上述说明操作'},'ui':{'otherIDE':'其他\x20IDE','otherIDEDescription':a56_0x339dd2(0xfa),'selectAtLeastOne':a56_0x339dd2(0xba),'selectedIDE':'已选择\x20IDE','count':a56_0x339dd2(0x1c2),'title':a56_0x339dd2(0x13d),'configuring':a56_0x339dd2(0x123),'completed':a56_0x339dd2(0x18e),'partialManual':'⚠️\x20部分配置需要手动完成','failed':'✗\x20配置失败','manualRequired':a56_0x339dd2(0x152),'pressAnyKeyToExit':a56_0x339dd2(0x1b4),'unsupportedIDE':a56_0x339dd2(0xbe)}},'aiSetup':{'error':{'missingAppcode':a56_0x339dd2(0x106)},'mcp':{'cursor':{'success':a56_0x339dd2(0x11f),'written':a56_0x339dd2(0x155),'error':a56_0x339dd2(0x215),'rules':{'created':'创建\x20Cursor\x20Rules\x20文件','copyFailed':a56_0x339dd2(0x18b)}},'claude':{'commandGenerated':a56_0x339dd2(0xc5),'manualCommand':a56_0x339dd2(0x1d5),'configInfo':a56_0x339dd2(0x10a),'env':a56_0x339dd2(0x164),'restartRequired':a56_0x339dd2(0x163),'manualExecute':a56_0x339dd2(0x209),'agents':{'created':a56_0x339dd2(0xe8),'copyFailed':a56_0x339dd2(0xed)}},'other':{'name':'其他','title':a56_0x339dd2(0x15c),'guideShown':a56_0x339dd2(0x1b9)},'unsupportedIDE':a56_0x339dd2(0x14d)},'skill':{'unknownIDE':a56_0x339dd2(0x130),'installSuccess':a56_0x339dd2(0x1d3),'itemsCreated':a56_0x339dd2(0xf8),'installFailed':a56_0x339dd2(0x1fb),'sharedCopied':a56_0x339dd2(0x1b1),'sharedCopyFailed':'共享技能文件复制失败','manifestCreated':a56_0x339dd2(0x18d)},'ui':{'selectAtLeastOne':'请至少选择一个配置项','confirm':{'title':a56_0x339dd2(0x1a5),'mcpDescription':a56_0x339dd2(0x1c4),'skillDescription':a56_0x339dd2(0x177),'yes':a56_0x339dd2(0x1f6),'no':'[N]\x20跳过,稍后手动配置','default':a56_0x339dd2(0x154)},'select':{'title':a56_0x339dd2(0x1c8),'mcpSection':a56_0x339dd2(0x1d2),'skillSection':'技能包\x20(研发规范指南)','controls':a56_0x339dd2(0x1bd)},'installing':a56_0x339dd2(0x10f)}},'appMenu':{'error':{'missingAppCode':a56_0x339dd2(0x1ee),'appCodeHint':{'title':a56_0x339dd2(0x205),'option1':a56_0x339dd2(0x1ab),'option2':a56_0x339dd2(0x16d)},'authExpired':'登录鉴权失败,登录已过期,请使用\x20lovrabet\x20auth\x20重新登录','authValidationFailed':a56_0x339dd2(0x20d),'httpStatus':'获取菜单列表失败,HTTP状态码:\x20{{status}}','fetchFailed':'获取菜单列表失败:\x20{{error}}','createHttpStatus':a56_0x339dd2(0x124),'createFailed':a56_0x339dd2(0xe1)},'info':{'emptyMenuList':a56_0x339dd2(0x127)},'success':{'fetched':a56_0x339dd2(0x166),'created':a56_0x339dd2(0x207)},'fetching':{'online':a56_0x339dd2(0xdb),'daily':a56_0x339dd2(0x17a)},'creating':{'single':'正在创建菜单:\x20{{label}}\x20({{path}})','batch':{'start':a56_0x339dd2(0xf9),'completed':a56_0x339dd2(0x192)}},'sync':{'title':'*\x20同步菜单到\x20Lovrabet\x20平台','table':{'menuName':a56_0x339dd2(0x1aa),'local':'本地','lovrabetPlatform':'Lovrabet平台'},'error':{'noMenuSelected':a56_0x339dd2(0x101),'invalidJsUrl':'请输入有效的\x20JS\x20https\x20链接','jsUrlUnreachable':'JS\x20链接无法访问','invalidCssUrl':a56_0x339dd2(0x14a),'cssUrlUnreachable':a56_0x339dd2(0x20f),'createMenuFailed':a56_0x339dd2(0x16c),'authHint':{'prefix':a56_0x339dd2(0x16e),'suffix':a56_0x339dd2(0x204)},'noLocalPages':a56_0x339dd2(0xee)},'step':{'selectedMenus':a56_0x339dd2(0x14c),'selectedMenusCount':a56_0x339dd2(0x1c2),'jsUrl':a56_0x339dd2(0x1b3),'cssUrl':a56_0x339dd2(0x1fa),'selectMenus':a56_0x339dd2(0xf0),'creating':a56_0x339dd2(0x1ce),'completed':'√\x20菜单创建完成'},'operation':{'update':'更新','create':'新建'},'loading':{'fetchingMenuList':a56_0x339dd2(0x197)},'hotkeys':a56_0x339dd2(0x1a3),'input':{'jsUrl':{'label':a56_0x339dd2(0x114),'placeholder':a56_0x339dd2(0x1ba)},'cssUrl':{'label':a56_0x339dd2(0x1d8),'placeholder':'\x20输入项目的\x20CSS\x20资源链接(https://...)'}}},'updateCdn':{'title':a56_0x339dd2(0x203),'error':{'invalidJsUrl':'请输入有效的\x20JS\x20https\x20链接','jsUrlUnreachable':a56_0x339dd2(0xe4),'invalidCssUrl':a56_0x339dd2(0x14a),'cssUrlUnreachable':a56_0x339dd2(0x20f),'authHint':{'prefix':a56_0x339dd2(0x16e),'suffix':'\x20命令重新登录'},'noCdnLinks':'!\x20未找到菜单资源链接','updateFailed':a56_0x339dd2(0xb9)},'loading':{'fetching':a56_0x339dd2(0xcd),'syncing':a56_0x339dd2(0x1df)},'action':{'continue':a56_0x339dd2(0x20b),'cancel':'取消更新'},'success':{'updated':'√\x20更新成功','synced':'菜单资源同步成功:\x20{{label}}'},'updating':a56_0x339dd2(0x1b0),'preview':{'title':a56_0x339dd2(0x111),'menuList':'待更新的菜单列表:','resourceLinks':'待更新的资源链接:'},'input':{'title':a56_0x339dd2(0xe9),'jsUrl':{'label':'JS\x20链接:\x20','placeholder':a56_0x339dd2(0x1e6)},'cssUrl':{'label':a56_0x339dd2(0x169),'placeholder':'输入项目的\x20CSS\x20资源链接(https://...)'}}}},'skill':{'install':a56_0x339dd2(0x1e1),'error':{'unsupportedCommand':a56_0x339dd2(0x186),'installFailed':a56_0x339dd2(0x199),'unknownPlatform':'⚠️\x20\x20未知的平台:\x20{{ide}},使用通用模板','unknownIDE':a56_0x339dd2(0x1ca),'noValidIDE':a56_0x339dd2(0x1d0),'selectAtLeastOne':a56_0x339dd2(0xba)},'errorHint':{'availableCommands':a56_0x339dd2(0xeb),'installInteractive':a56_0x339dd2(0x1e8),'installDirect':'\x20\x20lovrabet\x20skill\x20install\x20<ide>\x20\x20\x20\x20\x20#\x20直接安装指定\x20IDE\x20的技能包','showHelp':a56_0x339dd2(0x175),'usageExamples':a56_0x339dd2(0x1cb),'exampleInteractive':a56_0x339dd2(0x115),'exampleDirect':a56_0x339dd2(0x193)},'select':{'title':a56_0x339dd2(0x158),'installAll':a56_0x339dd2(0xd6),'cancel':'取消','inputFormat':a56_0x339dd2(0x1a4),'inputHint':a56_0x339dd2(0x14e),'prompt':'请选择:\x20','cancelled':a56_0x339dd2(0x185),'noneSelected':'\x0a未选择任何\x20IDE,安装取消\x0a','selectedIDE':'已选择\x20IDE','count':a56_0x339dd2(0x1c2)},'cdn':{'fetching':'正在从\x20CDN\x20拉取开发者指南...','fetchingExtend':a56_0x339dd2(0xce),'fetchSuccess':a56_0x339dd2(0x1f7),'fetchFailed':a56_0x339dd2(0x217)},'installing':{'title':'安装\x20Lovrabet\x20技能包\x20-\x20选择\x20IDE','progress':a56_0x339dd2(0xe2),'ide':a56_0x339dd2(0xf5),'installed':a56_0x339dd2(0x11d),'created':'\x20\x20✓\x20创建\x20{{path}}','createdDir':a56_0x339dd2(0xfc),'createdManifest':'✓\x20创建\x20.lovrabet/skill-manifest.json'},'done':{'success':a56_0x339dd2(0xd3),'successInline':a56_0x339dd2(0x102),'guidesLocation':a56_0x339dd2(0x1fd),'guidesPath':'\x20\x20.lovrabet/skill/.shared/guides/\x20-\x20详细开发指南\x0a','guidesPathInline':a56_0x339dd2(0x208),'pressAnyKey':a56_0x339dd2(0x1b4)},'generic':a56_0x339dd2(0x1eb),'help':{'title':a56_0x339dd2(0x108),'usage':a56_0x339dd2(0x1c6),'showHelp':a56_0x339dd2(0xdf),'installInteractive':a56_0x339dd2(0xdd),'installDirect':'直接安装指定\x20IDE\x20的技能包','installAll':a56_0x339dd2(0x15b),'installWithBff':a56_0x339dd2(0xda),'installMethods':a56_0x339dd2(0x1f2),'interactiveSelect':'\x20\x20交互式选择\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20-\x20显示\x20IDE\x20列表供选择,支持多选','interactiveKeys':a56_0x339dd2(0x13c),'directInstall':a56_0x339dd2(0xe6),'bffWorkflow':a56_0x339dd2(0x15f),'supportedIDEs':a56_0x339dd2(0x17b),'agentDesc':a56_0x339dd2(0x159),'allDesc':a56_0x339dd2(0xc0),'options':a56_0x339dd2(0x134),'bffOption':a56_0x339dd2(0x17f),'skillContents':'技能包内容包括:','skillContentsList':'\x20\x20-\x20Filter\x20查询构建规范\x20(10\x20种常见错误对照)\x0a\x20\x20-\x20MCP\x20SQL\x20创建工作流\x20(5\x20步强制流程)\x0a\x20\x20-\x20AntD\x20UI\x20开发规范\x20(禁止\x20AI\x20味道)\x0a\x20\x20-\x20API\x20集成指南\x20(lovrabet\x20api\x20pull\x20流程)\x0a\x20\x20-\x20菜单管理指南\x20(menu\x20sync/update\x20流程)\x0a\x20\x20-\x20Backend\x20Function\x20脚本编写规范\x20(权限过滤、数据脱敏、业务逻辑)\x0a\x20\x20-\x20Backend\x20Function\x20同步工作流\x20(需\x20--dangerously-bff-save\x20启用)','examples':a56_0x339dd2(0xfb),'exampleInteractive':a56_0x339dd2(0x1c9),'exampleDirectDesc':'\x20\x20\x20\x20→\x20直接安装\x20Cursor\x20和\x20claude\x20code\x20技能包','exampleBffDesc':'\x20\x20\x20\x20→\x20安装技能包并包含\x20Backend\x20Function\x20同步工作流','exampleAllDesc':'\x20\x20\x20\x20→\x20安装所有\x20IDE\x20技能包','afterInstall':'安装后会在项目中创建:','afterInstallList':a56_0x339dd2(0xe5),'guidesLocationTitle':a56_0x339dd2(0x1fd)}},'logs':{'title':'日志','view':a56_0x339dd2(0x1dc),'clear':'清空日志','noLogs':a56_0x339dd2(0x1be),'header':a56_0x339dd2(0x20e),'time':a56_0x339dd2(0x121),'duration':a56_0x339dd2(0xd7),'details':'\x20\x20\x20详情:\x20{{details}}','cleared':'*\x20日志已清空'},'start':{'starting':a56_0x339dd2(0x1b2)},'build':{'building':'正在构建项目...'},'preview':{'previewing':a56_0x339dd2(0xea),'watchMode':a56_0x339dd2(0x14f)},'ui':{'ideSelector':{'title':a56_0x339dd2(0x1b8),'hotkeys':a56_0x339dd2(0xd2)}},'upgrade':{'cli':{'title':a56_0x339dd2(0x19f),'current':a56_0x339dd2(0x119),'stable':a56_0x339dd2(0x176),'command':a56_0x339dd2(0x206)},'sdk':{'title':'↪\x20SDK\x20版本更新','current':a56_0x339dd2(0xb8),'stable':a56_0x339dd2(0x176),'command':a56_0x339dd2(0x206)}}};
package/lib/init/main.js CHANGED
@@ -1 +1 @@
1
- (function(_0x10233d,_0x189e37){const _0x16c39b=a59_0x12c1,_0x571909=_0x10233d();while(!![]){try{const _0xc42777=-parseInt(_0x16c39b(0x1bd))/0x1+parseInt(_0x16c39b(0x1a8))/0x2*(-parseInt(_0x16c39b(0x1c4))/0x3)+-parseInt(_0x16c39b(0x19d))/0x4+-parseInt(_0x16c39b(0x1b0))/0x5+parseInt(_0x16c39b(0x1b5))/0x6+parseInt(_0x16c39b(0x1c0))/0x7*(parseInt(_0x16c39b(0x1c3))/0x8)+parseInt(_0x16c39b(0x1a3))/0x9;if(_0xc42777===_0x189e37)break;else _0x571909['push'](_0x571909['shift']());}catch(_0x280fcf){_0x571909['push'](_0x571909['shift']());}}}(a59_0x4f15,0xc3c3f));import{jsxs as a59_0x340309,jsx as a59_0x1ab4cf}from'react/jsx-runtime';import{useState,useEffect}from'react';function a59_0x4f15(){const _0x17c5bd=['cyan','初始化项目配置文件成功','online','column','setLogPath','30746871GhCnfR','length','init.validation.invalidFormat','创建配置文件失败','ctrl','770930tjZcIJ','init.inputAppCode','init.validation.invalidCode','message','init.success','green','red','slice','7832390eqvFIG','init','trim','init.validation.required','delete','1115124xPQJWW','env','cwd','../..','toLocaleString','.lovrabetrc','1.0.0','backspace','2394lDyvXV','init.creating','parse','2784299hDBBem','exit','init.appCodeDesc','16kbYNwP','9VsXcJd','common.error','package.json','init.validation.tooLong','init.appCodeLabel','utf8','\x20←\x20','init.nextSteps','3482260iFNNvO'];a59_0x4f15=function(){return _0x17c5bd;};return a59_0x4f15();}import{Box,Text,useInput}from'ink';import{existsSync,writeFileSync,readFileSync}from'node:fs';import{resolve,join,dirname}from'node:path';import{fileURLToPath}from'node:url';import{logger}from'../utils/logger.js';import{readConfig}from'../utils/config.js';function a59_0x12c1(_0x2bad8f,_0x46d102){_0x2bad8f=_0x2bad8f-0x197;const _0x4f15bc=a59_0x4f15();let _0x12c159=_0x4f15bc[_0x2bad8f];return _0x12c159;}import{useI18n}from'../i18n/hooks.js';export function Init({appcode:_0x280aec,env:_0x3a2d00}){const _0x195508=a59_0x12c1,{t:_0x174387}=useI18n(),[_0x485d95,_0x1b9ca4]=useState(null),[_0x1cec01,_0x16be5f]=useState(![]),[_0x5761b1,_0x283c28]=useState(!_0x280aec),[_0x44a5e7,_0x58919e]=useState(''),[_0xf1073,_0x49ba56]=useState(''),[_0x5d5d0a,_0x194800]=useState(_0x280aec||''),[_0x19dba3]=useState(_0x3a2d00);function _0x2ac081(_0x5595b3){const _0xb5d09=a59_0x12c1;if(_0x5595b3['length']===0x0)return{'valid':![],'message':''};if(_0x5595b3['length']>0x64)return{'valid':![],'message':_0x174387(_0xb5d09(0x198))};const _0x4d6179=/^[A-Za-z0-9_-]+$/;if(!_0x4d6179['test'](_0x5595b3))return{'valid':![],'message':_0x174387(_0xb5d09(0x1a5))};return{'valid':!![]};}useInput((_0x383a1d,_0x26ce79)=>{const _0x419652=a59_0x12c1;if(!_0x5761b1)return;if(_0x26ce79['return']){if(_0xf1073||!_0x44a5e7[_0x419652(0x1b2)]()){_0x49ba56(_0x174387(_0x419652(0x1b3)));return;}const _0x979a81=_0x44a5e7['trim'](),{valid:_0x243e8d,message:_0x48c32d}=_0x2ac081(_0x979a81);if(!_0x243e8d){_0x49ba56(_0x48c32d||_0x174387(_0x419652(0x1aa)));return;}_0x194800(_0x979a81),_0x283c28(![]);}else{if(_0x26ce79[_0x419652(0x1bc)]||_0x26ce79[_0x419652(0x1b4)])_0x58919e(_0x443274=>{const _0x178a30=_0x419652,_0x49c181=_0x443274[_0x178a30(0x1af)](0x0,-0x1);if(_0x49c181[_0x178a30(0x1a4)]===0x0)_0x49ba56('');else{const {valid:_0x2976f4,message:_0x2f148a}=_0x2ac081(_0x49c181);_0x49ba56(_0x2976f4?'':_0x2f148a||_0x174387(_0x178a30(0x1aa)));}return _0x49c181;});else _0x26ce79[_0x419652(0x1a7)]&&_0x383a1d==='c'?process['exit'](0x0):_0x58919e(_0x29fc77=>{const _0x4ec43a=_0x29fc77+_0x383a1d,{valid:_0x26a6f9,message:_0x202476}=_0x2ac081(_0x4ec43a);return _0x49ba56(_0x26a6f9?'':_0x202476||_0x174387('init.validation.invalidCode')),_0x4ec43a;});}},{'isActive':_0x5761b1}),useEffect(()=>{const _0x1b40a5=a59_0x12c1;if(!_0x5d5d0a||_0x5761b1)return;const _0x342d73=resolve(process[_0x1b40a5(0x1b7)](),_0x1b40a5(0x1ba));if(existsSync(_0x342d73)){_0x1b9ca4(_0x174387('init.fileExists')),setTimeout(()=>process[_0x1b40a5(0x1c1)](0x1),0x64);return;}try{const _0x4f47b2=fileURLToPath(import.meta.url),_0x3dd192=resolve(dirname(_0x4f47b2),_0x1b40a5(0x1b8)),_0x66f4b=join(_0x3dd192,_0x1b40a5(0x197));let _0x44d66f=_0x1b40a5(0x1bb);try{const _0x5e5646=JSON[_0x1b40a5(0x1bf)](readFileSync(_0x66f4b,'utf8'));_0x44d66f=_0x5e5646['version']||_0x1b40a5(0x1bb);}catch(_0x29b3ad){}const _0x4df11f=readConfig(),_0x398634=typeof _0x4df11f[_0x1b40a5(0x1b6)]==='string'?_0x4df11f[_0x1b40a5(0x1b6)]:undefined,{app:_0x24083e,appcode:_0x4ec0c5,..._0x469d8c}=_0x4df11f,_0x55733b={..._0x469d8c,'appcode':_0x5d5d0a,'env':_0x19dba3||_0x398634||_0x1b40a5(0x1a0),'createdAt':new Date()[_0x1b40a5(0x1b9)](),'version':_0x44d66f};writeFileSync(_0x342d73,JSON['stringify'](_0x55733b,null,0x2),{'encoding':_0x1b40a5(0x19a),'mode':0x180}),logger[_0x1b40a5(0x1a2)](process['cwd']()),logger['info'](_0x1b40a5(0x1b1),_0x1b40a5(0x19f),{'appcode':_0x5d5d0a,'env':_0x55733b[_0x1b40a5(0x1b6)],'version':_0x55733b['version'],'configPath':_0x342d73}),_0x16be5f(!![]),setTimeout(()=>process[_0x1b40a5(0x1c1)](0x0),0x64);}catch(_0x1a38cd){logger['error'](_0x1b40a5(0x1b1),_0x1b40a5(0x1a6),{'error':_0x1a38cd instanceof Error?_0x1a38cd[_0x1b40a5(0x1ab)]:String(_0x1a38cd)}),_0x1b9ca4(_0x174387(_0x1b40a5(0x1c5))+':\x20'+(_0x1a38cd instanceof Error?_0x1a38cd[_0x1b40a5(0x1ab)]:String(_0x1a38cd))),setTimeout(()=>process['exit'](0x1),0x64);}},[_0x5d5d0a,_0x5761b1,_0x19dba3]);if(_0x485d95)return a59_0x1ab4cf(Box,{'flexDirection':_0x195508(0x1a1),'children':a59_0x340309(Text,{'color':_0x195508(0x1ae),'children':['✗\x20',_0x485d95]})});if(_0x5761b1)return a59_0x340309(Box,{'flexDirection':_0x195508(0x1a1),'children':[a59_0x340309(Box,{'children':[a59_0x340309(Text,{'color':_0x195508(0x19e),'children':[_0x174387(_0x195508(0x1a9)),'\x20']}),_0x44a5e7?a59_0x1ab4cf(Text,{'color':_0x195508(0x1ad),'children':_0x44a5e7}):a59_0x1ab4cf(Text,{'color':'gray','children':'_'}),_0xf1073&&a59_0x340309(Text,{'color':_0x195508(0x1ae),'children':[_0x195508(0x19b),_0xf1073]})]}),!_0xf1073&&!_0x44a5e7&&a59_0x1ab4cf(Box,{'children':a59_0x1ab4cf(Text,{'color':'gray','children':_0x174387(_0x195508(0x1c2))})})]});if(_0x1cec01)return a59_0x340309(Box,{'flexDirection':_0x195508(0x1a1),'children':[a59_0x340309(Text,{'color':_0x195508(0x1ad),'children':['✓\x20',_0x174387(_0x195508(0x1ac))]}),a59_0x340309(Text,{'color':_0x195508(0x19e),'children':[_0x174387(_0x195508(0x199)),':\x20',_0x5d5d0a]}),a59_0x1ab4cf(Text,{'children':_0x174387(_0x195508(0x19c))})]});return a59_0x1ab4cf(Box,{'children':a59_0x1ab4cf(Text,{'children':_0x174387(_0x195508(0x1be))})});}
1
+ (function(_0xe99bc6,_0x574dbf){const _0x4ce6d7=a57_0x20aa,_0x25a51b=_0xe99bc6();while(!![]){try{const _0x32b728=parseInt(_0x4ce6d7(0xa6))/0x1*(-parseInt(_0x4ce6d7(0xba))/0x2)+parseInt(_0x4ce6d7(0xa3))/0x3+parseInt(_0x4ce6d7(0xc0))/0x4+-parseInt(_0x4ce6d7(0xb3))/0x5+parseInt(_0x4ce6d7(0xb8))/0x6*(parseInt(_0x4ce6d7(0xcf))/0x7)+parseInt(_0x4ce6d7(0xa2))/0x8*(parseInt(_0x4ce6d7(0xbe))/0x9)+-parseInt(_0x4ce6d7(0xa7))/0xa*(parseInt(_0x4ce6d7(0x9f))/0xb);if(_0x32b728===_0x574dbf)break;else _0x25a51b['push'](_0x25a51b['shift']());}catch(_0x3f2ce9){_0x25a51b['push'](_0x25a51b['shift']());}}}(a57_0x10cd,0xafd7b));import{jsxs as a57_0x3f9ad5,jsx as a57_0x15436b}from'react/jsx-runtime';function a57_0x10cd(){const _0x2df810=['1412274goiwzp','init.appCodeDesc','29914cpsmia','init.nextSteps','trim','backspace','144TTDAiO','green','3989060anhMij','length','init.validation.invalidCode','cwd','创建配置文件失败','env','message','column','init','red','ctrl','cyan','toLocaleString','\x20←\x20','init.appCodeLabel','7iwtotu','12395141qBqABC','1.0.0','package.json','495912LcwEdw','2944491POHLcA','test','init.validation.required','68ySmARx','10lYeKWb','error','init.inputAppCode','stringify','../..','utf8','init.validation.invalidFormat','online','gray','初始化项目配置文件成功','exit','common.error','1709035yVDuSz','parse','init.fileExists','string','slice'];a57_0x10cd=function(){return _0x2df810;};return a57_0x10cd();}import{useState,useEffect}from'react';import{Box,Text,useInput}from'ink';import{existsSync,writeFileSync,readFileSync}from'node:fs';import{resolve,join,dirname}from'node:path';import{fileURLToPath}from'node:url';function a57_0x20aa(_0x1fd054,_0x4a2931){_0x1fd054=_0x1fd054-0x9f;const _0x10cd4d=a57_0x10cd();let _0x20aa2a=_0x10cd4d[_0x1fd054];return _0x20aa2a;}import{logger}from'../utils/logger.js';import{readConfig}from'../utils/config.js';import{useI18n}from'../i18n/hooks.js';export function Init({appcode:_0x4b4ac5,env:_0x53d64c}){const _0x8e8c9d=a57_0x20aa,{t:_0x1ff249}=useI18n(),[_0xba04c0,_0x6ab65b]=useState(null),[_0x39ca17,_0x59496f]=useState(![]),[_0x4edeef,_0x5cfe03]=useState(!_0x4b4ac5),[_0x59914c,_0x590457]=useState(''),[_0x2b0f43,_0x44371f]=useState(''),[_0x15498d,_0x3459bb]=useState(_0x4b4ac5||''),[_0x3fc3a9]=useState(_0x53d64c);function _0x1bd166(_0x159b76){const _0x400831=a57_0x20aa;if(_0x159b76['length']===0x0)return{'valid':![],'message':''};if(_0x159b76['length']>0x64)return{'valid':![],'message':_0x1ff249('init.validation.tooLong')};const _0x175735=/^[A-Za-z0-9_-]+$/;if(!_0x175735[_0x400831(0xa4)](_0x159b76))return{'valid':![],'message':_0x1ff249(_0x400831(0xad))};return{'valid':!![]};}useInput((_0x5a9c01,_0x57e516)=>{const _0xb36c32=a57_0x20aa;if(!_0x4edeef)return;if(_0x57e516['return']){if(_0x2b0f43||!_0x59914c[_0xb36c32(0xbc)]()){_0x44371f(_0x1ff249(_0xb36c32(0xa5)));return;}const _0x534b17=_0x59914c['trim'](),{valid:_0x55ce52,message:_0x11d1d9}=_0x1bd166(_0x534b17);if(!_0x55ce52){_0x44371f(_0x11d1d9||_0x1ff249(_0xb36c32(0xc2)));return;}_0x3459bb(_0x534b17),_0x5cfe03(![]);}else{if(_0x57e516[_0xb36c32(0xbd)]||_0x57e516['delete'])_0x590457(_0x215a70=>{const _0x2dc3a0=_0xb36c32,_0x547b76=_0x215a70[_0x2dc3a0(0xb7)](0x0,-0x1);if(_0x547b76[_0x2dc3a0(0xc1)]===0x0)_0x44371f('');else{const {valid:_0x3292b7,message:_0x229710}=_0x1bd166(_0x547b76);_0x44371f(_0x3292b7?'':_0x229710||_0x1ff249('init.validation.invalidCode'));}return _0x547b76;});else _0x57e516[_0xb36c32(0xca)]&&_0x5a9c01==='c'?process[_0xb36c32(0xb1)](0x0):_0x590457(_0x30da24=>{const _0x2c37bc=_0x30da24+_0x5a9c01,{valid:_0x2303d3,message:_0x36ec78}=_0x1bd166(_0x2c37bc);return _0x44371f(_0x2303d3?'':_0x36ec78||_0x1ff249('init.validation.invalidCode')),_0x2c37bc;});}},{'isActive':_0x4edeef}),useEffect(()=>{const _0x10a32c=a57_0x20aa;if(!_0x15498d||_0x4edeef)return;const _0x3fb2f4=resolve(process[_0x10a32c(0xc3)](),'.lovrabetrc');if(existsSync(_0x3fb2f4)){_0x6ab65b(_0x1ff249(_0x10a32c(0xb5))),setTimeout(()=>process['exit'](0x1),0x64);return;}try{const _0x2ee2f5=fileURLToPath(import.meta.url),_0x3a3787=resolve(dirname(_0x2ee2f5),_0x10a32c(0xab)),_0x3565fc=join(_0x3a3787,_0x10a32c(0xa1));let _0x42a261=_0x10a32c(0xa0);try{const _0x3a14a9=JSON[_0x10a32c(0xb4)](readFileSync(_0x3565fc,'utf8'));_0x42a261=_0x3a14a9['version']||'1.0.0';}catch(_0x21a556){}const _0x14fc43=readConfig(),_0x4b8631=typeof _0x14fc43[_0x10a32c(0xc5)]===_0x10a32c(0xb6)?_0x14fc43['env']:undefined,{app:_0xbab41b,appcode:_0x1b1c32,..._0x4379cb}=_0x14fc43,_0x2f91a5={..._0x4379cb,'appcode':_0x15498d,'env':_0x3fc3a9||_0x4b8631||_0x10a32c(0xae),'createdAt':new Date()[_0x10a32c(0xcc)](),'version':_0x42a261};writeFileSync(_0x3fb2f4,JSON[_0x10a32c(0xaa)](_0x2f91a5,null,0x2),{'encoding':_0x10a32c(0xac),'mode':0x180}),logger['setLogPath'](process[_0x10a32c(0xc3)]()),logger['info'](_0x10a32c(0xc8),_0x10a32c(0xb0),{'appcode':_0x15498d,'env':_0x2f91a5[_0x10a32c(0xc5)],'version':_0x2f91a5['version'],'configPath':_0x3fb2f4}),_0x59496f(!![]),setTimeout(()=>process[_0x10a32c(0xb1)](0x0),0x64);}catch(_0x675998){logger[_0x10a32c(0xa8)]('init',_0x10a32c(0xc4),{'error':_0x675998 instanceof Error?_0x675998['message']:String(_0x675998)}),_0x6ab65b(_0x1ff249(_0x10a32c(0xb2))+':\x20'+(_0x675998 instanceof Error?_0x675998[_0x10a32c(0xc6)]:String(_0x675998))),setTimeout(()=>process[_0x10a32c(0xb1)](0x1),0x64);}},[_0x15498d,_0x4edeef,_0x3fc3a9]);if(_0xba04c0)return a57_0x15436b(Box,{'flexDirection':'column','children':a57_0x3f9ad5(Text,{'color':_0x8e8c9d(0xc9),'children':['✗\x20',_0xba04c0]})});if(_0x4edeef)return a57_0x3f9ad5(Box,{'flexDirection':_0x8e8c9d(0xc7),'children':[a57_0x3f9ad5(Box,{'children':[a57_0x3f9ad5(Text,{'color':_0x8e8c9d(0xcb),'children':[_0x1ff249(_0x8e8c9d(0xa9)),'\x20']}),_0x59914c?a57_0x15436b(Text,{'color':_0x8e8c9d(0xbf),'children':_0x59914c}):a57_0x15436b(Text,{'color':'gray','children':'_'}),_0x2b0f43&&a57_0x3f9ad5(Text,{'color':_0x8e8c9d(0xc9),'children':[_0x8e8c9d(0xcd),_0x2b0f43]})]}),!_0x2b0f43&&!_0x59914c&&a57_0x15436b(Box,{'children':a57_0x15436b(Text,{'color':_0x8e8c9d(0xaf),'children':_0x1ff249(_0x8e8c9d(0xb9))})})]});if(_0x39ca17)return a57_0x3f9ad5(Box,{'flexDirection':_0x8e8c9d(0xc7),'children':[a57_0x3f9ad5(Text,{'color':'green','children':['✓\x20',_0x1ff249('init.success')]}),a57_0x3f9ad5(Text,{'color':'cyan','children':[_0x1ff249(_0x8e8c9d(0xce)),':\x20',_0x15498d]}),a57_0x15436b(Text,{'children':_0x1ff249(_0x8e8c9d(0xbb))})]});return a57_0x15436b(Box,{'children':a57_0x15436b(Text,{'children':_0x1ff249('init.creating')})});}