@lovrabet/cli 1.3.3 → 1.3.4-beta.1

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
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_0x18f6(_0x2bf0f0,_0xfc3dee){_0x2bf0f0=_0x2bf0f0-0x95;var _0x37ab8b=a55_0x37ab();var _0x18f69c=_0x37ab8b[_0x2bf0f0];return _0x18f69c;}var a55_0x527550=a55_0x18f6;(function(_0x5c2b30,_0x57c3b6){var _0x19b6b4=a55_0x18f6,_0x55df76=_0x5c2b30();while(!![]){try{var _0x19f304=-parseInt(_0x19b6b4(0xff))/0x1*(-parseInt(_0x19b6b4(0xaa))/0x2)+-parseInt(_0x19b6b4(0xa7))/0x3+parseInt(_0x19b6b4(0x98))/0x4*(-parseInt(_0x19b6b4(0x136))/0x5)+parseInt(_0x19b6b4(0x120))/0x6*(-parseInt(_0x19b6b4(0x19c))/0x7)+parseInt(_0x19b6b4(0x1e2))/0x8+parseInt(_0x19b6b4(0x1a7))/0x9*(-parseInt(_0x19b6b4(0xad))/0xa)+parseInt(_0x19b6b4(0x16a))/0xb;if(_0x19f304===_0x57c3b6)break;else _0x55df76['push'](_0x55df76['shift']());}catch(_0x12c703){_0x55df76['push'](_0x55df76['shift']());}}}(a55_0x37ab,0x28253));function a55_0x37ab(){var _0x1a7dfa=['*\x20Configure\x20Lovrabet\x20MCP\x20and\x20Skill?','*\x20Updating\x20package.json\x20name\x20and\x20description\x20fields','\x0aSelect\x20IDEs\x20to\x20install\x20skills\x20(multi-select):\x0a','Fetching\x20daily\x20menu\x20list...\x20(appCode:\x20{{appCode}})','Usage','*\x20Configuring\x20AppCode\x20for\x20project\x20{{name}}:\x20{{appCode}}','Other\x20IDE','You\x20can\x20now\x20use\x20Lovrabet\x20dataset\x20MCP\x20tools\x20in\x20Cursor.','Cursor\x20Rules\x20file\x20already\x20exists,\x20skipping','Select\x20IDEs\x20to\x20configure:','env\x20value\x20must\x20be\x20\x22online\x22\x20or\x20\x22daily\x22','❌\x20Error:\x20Positional\x20arguments\x20are\x20no\x20longer\x20supported','Create\x20Cursor\x20Rules\x20file','\x20Logging\x20in...','Project','↑/↓:\x20Move\x20\x20Space:\x20Toggle\x20\x20a:\x20All\x20\x20i/r:\x20Invert\x20\x20q:\x20Quit\x20\x20Enter:\x20Confirm','\x0aInstallation\x20cancelled\x0a','Authentication\x20failed,\x20session\x20expired.\x20Please\x20use\x20lovrabet\x20auth\x20to\x20login\x20again','!\x20Please\x20use\x20one\x20of\x20the\x20following:','Press\x20“q”\x20to\x20exit.','Written\x20.cursor/mcp.json','App\x20Code\x20cannot\x20exceed\x20100\x20characters','√\x20Updated\x20successfully','Fetched\x20{{count}}\x20online\x20menus\x20successfully','\x0aNo\x20IDE\x20selected,\x20installation\x20cancelled\x0a','Start\x20project:','View\x20Logs','Generate\x20docs\x20for\x20specified\x20environment','Specify\x20doc\x20output\x20directory','Pull\x20API','Configuration\x20guide:','Generic\x20Template','Please\x20enter\x20a\x20valid\x20JS\x20https\x20URL','↪\x20New\x20version\x20available','Set\x20a\x20config\x20value','\x20\x20q.\x20Cancel\x0a','\x20\x20√\x20Dependency\x20install\x20skipped\x20(non-interactive)','*\x20Generated\x20files:','\x20|\x20AppCode:\x20','6199490dMNWox','\x20Fetching\x20online\x20menu\x20list...','Previous','*\x20Lovrabet\x20CLI\x20logs:\x0a','Failed\x20to\x20clean\x20up\x20project\x20directory','Create\x20agents.md\x20file','CSS\x20URL\x20is\x20unreachable','\x0a✓\x20Skills\x20installed\x20successfully!\x20{{count}}\x20directories\x20created\x0a','√\x20Configuration\x20file\x20created,\x20AppCode:\x20{{appCode}}','Start\x20project:\x20','✓\x20Fetched\x20{{count}}\x20developer\x20guides','Please\x20run:\x20{{command}}','*\x20Select\x20IDEs\x20to\x20configure:','Please\x20select\x20at\x20least\x20one\x20IDE','Usage\x20examples:','Menu\x20Name','\x20\x20\x201.\x20Specify\x20directly:\x20lovrabet\x20api\x20pull\x20<app-code>','*\x20Import\x20usage:','{{name}}\x20skill\x20installation\x20failed','{{count}}\x20items\x20created','Project\x20name\x20contains\x20invalid\x20characters.\x20Not\x20allowed:\x20<\x20>\x20:\x20\x22\x20|\x20?\x20*\x20and\x20control\x20characters','Logs','•\x20MCP:\x20Allow\x20AI\x20to\x20access\x20Lovrabet\x20datasets\x20directly','\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','Project\x20name\x20cannot\x20exceed\x2050\x20characters','✗\x20Failed:\x20{{fileName}}.md\x20-\x20{{error}}','Configure\x20AI\x20assistant\x20as\x20well?\x20This\x20will:','Cannot\x20create\x20project\x20in\x20current\x20directory,\x20please\x20check\x20directory\x20permissions','×\x20--params\x20is\x20not\x20valid\x20JSON\x20format','\x20\x20\x20•\x20{{name}}.ts\x20-\x20Model\x20config\x20file','Enter\x20default:\x20Yes','1.\x20Configure\x20Lovrabet\x20MCP\x20and\x20Skill','\x20command\x20to\x20re-login','Login\x20status','✗\x20Configuration\x20failed','\x20\x20\x20\x20→\x20Enter\x20number\x20to\x20select\x20IDE','Hint:\x20use\x20','Menu\x20assets\x20synced:\x20{{label}}','Usage:','√\x20Pulled\x20{{datasetCount}}\x20datasets,\x20generated\x20{{modelCount}}\x20models','App\x20Code\x20can\x20only\x20contain\x20letters,\x20numbers,\x20-\x20and\x20_','*\x20Logging\x20in,\x20please\x20complete\x20in\x20browser...','Failed\x20to\x20copy\x20agents.md\x20file','✓\x20Logged\x20out','Menu\x20created\x20successfully:','Install\x20for\x20specific\x20IDE','Selected\x20menus','\x20\x20\x20Time:\x20{{time}}','API\x20Management','lovrabet\x20api\x20-\x20API\x20Operations','1589VpKJBK','No\x20config\x20value\x20provided','Unknown\x20api\x20command','Authentication','Update\x20Menu\x20CDN\x20Resources','Interactive\x20skill\x20installation','Sync\x20Menu','✓\x20MCP\x20Server\x20Configuration\x20Complete:','\x20\x20Direct\x20IDE\x20config\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20-\x20Use\x20--ide\x20flags','{{count}}\x20IDEs','\x20\x20Error:\x20{{error}}','1123011TCAWwE','\x20\x20\x202.\x20Use\x20flag:\x20lovrabet\x20api\x20pull\x20--appcode\x20<app-code>','*\x20Using\x20configured\x20AppCode:\x20{{appCode}}','Invalid\x20App\x20Code','\x20\x20√\x20Code\x20formatted','*\x20Creating\x20configuration\x20file\x20for\x20project\x20{{name}}','Auth\x20validation\x20failed.\x20Please\x20use\x20lovrabet\x20auth\x20to\x20login\x20again','Error:\x20Unsupported\x20command:\x20{{cmd}}','Failed\x20to\x20create\x20menu:\x20{{error}}','\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','√\x20Valid\x20login\x20detected','*\x20No\x20logs\x20found','*\x20Automatically\x20pull\x20API\x20config?','√\x20Configuration\x20file\x20created,\x20you\x20can\x20configure\x20later\x20with\x20\x27lovrabet\x20config\x20set\x20appcode\x20<app-code>\x27','Failed\x20to\x20create\x20menu,\x20HTTP\x20status:\x20{{status}}','\x0aSelect\x20IDE\x20to\x20configure\x20MCP:\x0a','*\x20Processed\x20{{count}}\x20datasets','No\x20AppCode\x20provided\x20and\x20no\x20default\x20configured','\x20\x20✓\x20Created\x20{{path}}','Skills\x20(engineering\x20guidelines)','Failed\x20to\x20fetch\x20datasets:\x20{{error}}','CSS\x20URL:\x20','Other','Configuration\x20command\x20generated','Install\x20Skills','MCP\x20&\x20Skill','Dependency\x20installation\x20failed:\x20{{error}}','Clear\x20Logs','✓\x20Generated:\x20{{fileName}}.md','×\x20--datasetcode\x20cannot\x20be\x20empty','*\x20Cleaning\x20up\x20failed\x20project\x20directory:\x20{{dir}}','↑/↓:\x20Move\x20\x20Space:\x20Toggle\x20\x20a:\x20All\x20\x20q:\x20Quit\x20\x20Enter:\x20Confirm','*\x20Press\x20Enter\x20to\x20start\x20login.','×\x20Project\x20creation\x20failed:\x20{{error}}','*\x20Generating\x20API\x20config\x20files:','Options:','login\x20again\x20and\x20retry','Doc\x20generation\x20failed:\x20{{error}}','Watch\x20Mode','Asset\x20links\x20to\x20update:','Unknown\x20IDE:\x20{{ide}}','*\x20Processing\x20{{count}}\x20datasets...','\x20\x20lovrabet\x20mcp\x20--help\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20#\x20Show\x20help\x0a','Update','Generate\x20doc\x20for\x20specific\x20dataset\x20only','[{{current}}/{{total}}]\x20Generating:\x20{{fileName}}.md\x20({{name}})','Invalid\x20locale\x20value.\x20Supported:\x20zh,\x20en,\x20zh-CN,\x20en-US','Login\x20successful.\x20Please\x20return\x20to\x20the\x20CLI\x20to\x20continue.\x20This\x20window\x20will\x20close\x20in\x20{{seconds}}\x20seconds.','Not\x20set','\x20\x20lovrabet\x20mcp\x20install\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20#\x20Interactive\x20MCP\x20configuration','*\x20Pulling\x20API\x20config\x20from\x20server...\x20(env:\x20{{env}})','×\x20--params\x20must\x20be\x20a\x20valid\x20JSON\x20object','Please\x20enter\x20App\x20Code:','Enter\x200\x20to\x20install\x20all\x20IDEs,\x20enter\x20q\x20to\x20cancel\x0a','Invalid\x20command.\x20Available\x20commands:','Install\x20dependencies','\x20\x20lovrabet\x20skill\x20install\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20#\x20Interactive\x20IDE\x20selection','Project\x20name:\x20','Local','674736FUkkbg','\x20Assets\x20are\x20syncing...','Failed\x20to\x20update\x20menu\x20assets:\x20{{error}}','App\x20Code','\x20Fetching\x20online\x20menu\x20asset\x20links...','AppCode\x20cannot\x20exceed\x20100\x20characters','Next','Specify\x20app\x20code','\x20\x20!\x20CDN\x20fetch\x20failed,\x20skipping\x20guide\x20installation:\x20{{error}}','Generating\x20docs\x20for\x20{{count}}\x20datasets...','JS\x20URL','Examples','Other\x20IDE\x20configuration\x20guide\x20displayed','*\x20Menus\x20and\x20asset\x20links\x20to\x20update','Bind\x20AppCode\x20to\x20auto-configure\x20API,\x20e.g.\x20app-c4c89304\x20(press\x20Enter\x20to\x20skip)','✓\x20Skill\x20Installation\x20Complete:','Project\x20Name','No\x20appcode\x20found.\x20Run\x20\x27lovrabet\x20init\x27\x20to\x20initialize\x20project\x20config','!\x20Original\x20{{originalCount}}\x20datasets,\x20filtered\x20{{duplicateCount}}\x20duplicates','Batch\x20menu\x20creation\x20completed,\x20total\x20{{count}}','Unsupported\x20MCP\x20IDE:\x20{{ide}}','Invalid\x20project\x20name','Starting\x20development\x20server...','*\x20Configuring\x20Lovrabet\x20MCP\x20and\x20Skill...','√\x20Valid\x20session\x20detected,\x20no\x20login\x20required.','Server\x20returned\x20empty\x20menu\x20list','!\x20API\x20configuration\x20pull\x20failed,\x20you\x20can\x20manually\x20run:\x20lovrabet\x20api\x20pull','Enter\x20a\x20number\x20to\x20select\x20IDE:\x0a','\x0a📦\x20Installing\x20{{name}}...\x0a','-\x20Model\x20config\x20({{count}}\x20models)','*\x20Creating\x20project\x20{{name}}...','Start\x20configuring\x20MCP','Claude\x20Code\x20MCP\x20command\x20generated','\x0aConfiguration\x20cancelled\x0a','✓\x20MCP\x20server\x20configuration\x20completed:','Unable\x20to\x20close\x20automatically.\x20Please\x20close\x20this\x20tab\x20or\x20window\x20manually.','✓\x20Skill\x20installation\x20completed:','Configuration\x20methods:','4uKBdWP','Pull\x20API\x20config','{{name}}\x20skill\x20installed\x20successfully','Global','\x20\x20\x20\x20→\x20Configure\x20Cursor\x20MCP\x20(writes\x20.cursor/mcp.json)','Set\x20environment\x20(online/daily)','Warning','\x20\x20\x20\x20→\x20Interactive\x20IDE\x20selection','✓\x20{{scope}}\x20env\x20set\x20to:\x20{{value}}','Press\x20any\x20key\x20to\x20exit...','*\x20Logs\x20cleared','Your\x20choice:\x20','Pull\x20API\x20config:\x20','\x20Enter\x20project\x20CSS\x20asset\x20URL\x20(https://...)','\x20\x20lovrabet\x20skill\x20install\x20<ide>\x20\x20\x20\x20\x20#\x20Install\x20for\x20specific\x20IDE','337575HZKhXH','Install\x20Lovrabet\x20Skills\x20-\x20Select\x20IDE','Login\x20successful!','2QjcKGv','Show\x20help','Project\x20name\x20cannot\x20be\x20empty','10EwQfEo','\x20\x20Direct\x20install\x20(multiple\x20IDEs)\x20\x20\x20\x20\x20-\x20Use\x20--ide\x20flags\x20to\x20install\x20directly','Directory\x20\x22{{name}}\x22\x20already\x20exists','\x20\x20\x201.\x20Set\x20default:\x20lovrabet\x20config\x20set\x20appcode\x20<app-code>','\x20Enter\x20project\x20JS\x20asset\x20URL\x20(https://...)','Pull\x20API\x20for\x20specified\x20environment','Project\x20Configuration','Waiting\x203\x20seconds...\x0a','\x20\x20•\x20MCP\x20Server:','App\x20Code\x20cannot\x20be\x20empty','Configuration\x20guide\x20displayed','Lovrabet\x20MCP\x20-\x20MCP\x20Server\x20Configuration\x20Tool','\x0aAvailable\x20commands:','•\x20Skill:\x20Install\x20best\x20practices\x20and\x20Backend\x20Function\x20guidelines','\x20\x20\x20Stable\x20version:\x20{{version}}','Show\x20this\x20help\x20message','Set\x20App\x20Code\x20for\x20current\x20project','\x20\x20\x20Interactive\x20selection\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20-\x20Show\x20IDE\x20list\x20for\x20selection','Login\x20skipped','!\x20No\x20local\x20pages\x20found,\x20please\x20create\x20pages\x20first','Config\x20value\x20is\x20invalid\x20or\x20too\x20long','Login\x20Successful','Developer\x20guides\x20location:','\x20\x20\x20Upgrade\x20command:\x20{{command}}','Specify\x20dataset\x20codes\x20for\x20doc\x20generation\x20(comma-separated,\x20doc\x20command\x20only)','Unknown\x20error','{{count}}','*\x20Sync\x20menus\x20to\x20Lovrabet\x20platform','↪\x20SDK\x20update\x20available','Specify\x20output\x20directory\x20(pull:\x20./src/api/,\x20doc:\x20./docs)','\x20\x20lovrabet\x20skill\x20install\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20#\x20Interactive\x20skill\x20installation','*\x20Select\x20menus\x20to\x20sync:','!\x20Please\x20specify\x20a\x20valid\x20command.','\x20\x20√\x20Project\x20template\x20created','*\x20Entered\x20asset\x20URLs','Configure\x20AppCode:','Logging\x20in...','Cancel\x20update','*\x20Login\x20first\x20to\x20pull\x20API\x20config?','Using\x20specified\x20AppCode:\x20{{appCode}}','Finish','Supported\x20IDEs:','\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','CSS\x20URL','*\x20Creating\x20project...','!\x20No\x20valid\x20login\x20detected','\x20\x20✗\x20Failed\x20to\x20install\x20{{ide}}:\x20{{error}}','Cursor','Lovrabet\x20Platform','\x0aNo\x20valid\x20IDE\x20to\x20install\x0a','Selected\x20IDEs','Info','*\x20Pulling\x20API\x20configuration...','\x0aError:\x20Configuration\x20failed\x20-\x20{{error}}\x0a','Success','Project\x20name\x20is\x20too\x20long,\x20maximum\x20100\x20characters','Configuration:','Failed\x20to\x20pull\x20API\x20config:\x20{{error}}','Get\x20a\x20config\x20value','🔗\x20Please\x20copy\x20the\x20login\x20URL\x20into\x20your\x20browser:','*\x20Checking\x20login\x20status...','AppCode\x20can\x20only\x20contain\x20letters,\x20numbers,\x20hyphens\x20and\x20underscores,\x20and\x20must\x20start\x20with\x20a\x20letter\x20or\x20number','Configure\x20Lovrabet\x20MCP\x20Server','\x0a✗\x20{{ide}}\x20MCP\x20configuration\x20failed:\x20{{error}}','JS\x20URL:\x20','✓\x20Created\x20.lovrabet/skill-manifest.json','Failed\x20to\x20copy\x20shared\x20skill\x20files','\x20\x20•\x20Skill:','Cancel','Create','*\x20Filtered\x20{{count}}\x20matching\x20datasets\x20from\x20{{total}}\x20total','⚠️\x20\x20Failed\x20to\x20open\x20browser\x20automatically','Use','Enter\x20project\x20JS\x20asset\x20URL\x20(https://...)','✓\x20MCP\x20configuration\x20completed!','*\x20Creating\x20menus...','Press\x20Enter\x20to\x20confirm\x20or\x20type\x20a\x20custom\x20name','\x0a📋\x20Run\x20the\x20following\x20command\x20to\x20configure\x20Claude\x20Code\x20MCP:\x0a','\x20\x20\x202.\x20Use\x20flag:\x20lovrabet\x20api\x20doc\x20--appcode\x20<app-code>','\x20\x20\x20\x20→\x20Install\x20all\x20IDE\x20skills','\x0aInvalid\x20choice.\x20Enter\x20a\x20number\x20between\x201\x20and\x20{{count}}\x0a','\x20\x20lovrabet\x20mcp\x20install\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20Interactive\x20MCP\x20configuration','21472JVhrNJ','Invalid\x20response\x20format\x20({{datasetCode}}):\x20missing\x20data.markdown\x20field','Failed\x20to\x20create\x20menu','*\x20Enter\x20new\x20asset\x20URLs','\x20\x20Restart\x20Claude\x20Code\x20to\x20take\x20effect\x0a','to\x20view\x20available\x20commands.','\x20\x20\x20\x20$\x20lovrabet\x20mcp\x20install\x20--claude\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20#\x20Configure\x20Claude\x20Code','Menus\x20to\x20update:','\x20\x20lovrabet\x20mcp\x20--help\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20Show\x20help','Enter\x20project\x20CSS\x20asset\x20URL\x20(https://...)','Failed\x20to\x20save\x20config','*\x20Output\x20directory:\x20','Please\x20configure\x20app\x20code\x20first\x20via\x20`lovrabet\x20config\x20set\x20app\x20<value>`','Continue\x20update','No\x20datasets\x20found','√\x20{{label}}:\x20','Cursor\x20MCP\x20configuration\x20failed','⚠️\x20Configuration\x20requires\x20manual\x20steps','Update\x20existing\x20mcp.json\x20config','Fetching\x20developer\x20guides\x20from\x20CDN...','Input\x20format:\x20Enter\x20numbers\x20separated\x20by\x20spaces\x20(e.g.\x201\x203\x205)','↑/↓:\x20Move\x20\x20Space:\x20Toggle\x20\x20a:\x20All\x20\x20i/r:\x20Invert\x20\x20Enter:\x20Confirm','Fetching\x20online\x20menu\x20list...\x20(appCode:\x20{{appCode}})','MCP\x20Server\x20(AI\x20dataset\x20access)','*\x20Generated\x20doc\x20files:','Description','\x20\x20✓\x20Created\x20{{path}}/','*\x20Create\x20new\x20project','Install\x20all\x20skills','⚠️\x20\x20Unknown\x20platform:\x20{{ide}},\x20using\x20generic\x20template','Configuration:\x20appcode={{appcode}},\x20env={{env}}','Generate\x20docs\x20for\x20multiple\x20datasets','Copy\x20project\x20files','4206gnRaDT','√\x20package.json\x20updated:\x20name={{name}}','*\x20CSS\x20URL:\x20','Failed\x20to\x20fetch\x20menu\x20list,\x20HTTP\x20status:\x20{{status}}','Logged\x20in','\x20\x20$\x20lovrabet\x20mcp\x20install','Confirm','*\x20Project\x20name:\x20','Other\x20IDE\x20configuration\x20guide','\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)','\x20\x20Use\x20←→\x20to\x20revise\x20choice,\x20Enter\x20to\x20confirm\x20IDEs','{{count}}\x20directories\x20installed','🔐\x20Starting\x20login\x20service...','Successfully\x20initialized\x20.lovrabetrc\x20file\x20in\x20current\x20directory','Please\x20use\x20the\x20--appcode\x20flag,\x20for\x20example:','Configuring\x20MCP\x20server...','Project\x20directory\x20{{name}}\x20already\x20exists,\x20please\x20use\x20a\x20different\x20name','Use\x20specified\x20appcode','JS\x20URL\x20is\x20unreachable','!\x20API\x20configuration\x20pull\x20error,\x20project\x20created,\x20you\x20can\x20manually\x20run:\x20lovrabet\x20api\x20pull','✓\x20{{scope}}\x20locale\x20set\x20to:\x20{{value}}','!\x20The\x20following\x20dataset\x20codes\x20do\x20not\x20exist:\x20{{codes}}','542690qUHgxg','\x20\x20Use\x20←→\x20to\x20choose,\x20press\x20Enter\x20to\x20confirm','{{count}}\x20items','\x20\x20lovrabet\x20skill\x20install\x20cursor\x20\x20\x20\x20#\x20Install\x20Cursor\x20skill\x20directly\x0a','√\x20Doc\x20generation\x20complete!\x20{{successCount}}\x20succeeded','\x20\x20✗\x20Unknown\x20IDE:\x20{{ide}}','Create\x20new\x20mcp.json\x20config','Start\x20batch\x20menu\x20creation,\x20total\x20{{count}}','[N]\x20Skip,\x20configure\x20later','\x0a√\x20Project\x20{{name}}\x20created\x20successfully!','Examples:','Please\x20enter\x20a\x20valid\x20CSS\x20https\x20URL','Updating\x20menu\x20asset\x20links:\x20{{label}}\x20({{path}})'];a55_0x37ab=function(){return _0x1a7dfa;};return a55_0x37ab();}export default{'common':{'success':a55_0x527550(0xe3),'error':'Error','warning':a55_0x527550(0x9e),'info':a55_0x527550(0xe0),'loading':'Loading...','cancel':a55_0x527550(0xf1),'confirm':a55_0x527550(0x126),'next':a55_0x527550(0x1e8),'previous':a55_0x527550(0x16c),'finish':a55_0x527550(0xd5)},'help':{'invalidCommand':a55_0x527550(0xcd),'usageHint':a55_0x527550(0xf5),'viewCommands':a55_0x527550(0x104)},'cli':{'usage':a55_0x527550(0x147),'examples':a55_0x527550(0x1ed),'description':a55_0x527550(0x118)},'init':{'inputAppCode':a55_0x527550(0x1db),'appCodeDesc':'App\x20Code\x20identifies\x20your\x20project.\x20Only\x20letters,\x20numbers,\x20-\x20and\x20_\x20are\x20allowed','fileExists':'.lovrabetrc\x20file\x20already\x20exists\x20in\x20current\x20directory','creating':'Initializing\x20configuration\x20file...','success':a55_0x527550(0x12d),'appCodeLabel':'AppCode','nextSteps':'You\x20can\x20now\x20use\x20commands\x20like\x20\x27lovrabet\x20api\x20doc\x27\x20and\x20\x27lovrabet\x20api\x20pull\x27','validation':{'required':a55_0x527550(0xb6),'tooLong':a55_0x527550(0x158),'invalidFormat':a55_0x527550(0x192),'invalidCode':a55_0x527550(0x1aa)}},'create':{'projectNameLabel':'Project\x20Name','appCodeLabel':a55_0x527550(0x1e5),'validation':{'required':a55_0x527550(0xac),'invalidChars':a55_0x527550(0x17e),'tooLong':a55_0x527550(0xe4),'dirExists':a55_0x527550(0x130),'noPermission':a55_0x527550(0x185),'projectName':{'tooLong':a55_0x527550(0x182),'invalidFormat':'Project\x20name\x20must\x20start\x20with\x20a\x20letter\x20or\x20number\x20and\x20only\x20contain\x20letters,\x20numbers,\x20-\x20and\x20_','invalid':a55_0x527550(0x1f7),'dirExistsShort':a55_0x527550(0xaf)},'appCode':{'tooLong':a55_0x527550(0x1e7),'invalidFormat':a55_0x527550(0xea),'invalid':'Invalid\x20AppCode'},'ide':{'required':a55_0x527550(0x177)}},'common':{'yes':'Yes','no':'No','selectHint':a55_0x527550(0x137)},'steps':{'pullingApi':a55_0x527550(0xe1),'apiPullSuccess':'√\x20API\x20configuration\x20pulled\x20successfully','apiPullFailed':a55_0x527550(0x1fc),'apiPullError':a55_0x527550(0x133),'updatingPackage':a55_0x527550(0x144),'packageUpdated':a55_0x527550(0x121),'configuringAppCode':a55_0x527550(0x148),'creatingConfig':a55_0x527550(0x1ac),'configCreatedWithAppCode':a55_0x527550(0x172),'configCreated':a55_0x527550(0x1b4),'configuringMcp':a55_0x527550(0x1f9),'mcpConfigComplete':'√\x20Lovrabet\x20MCP\x20and\x20Skill\x20configuration\x20completed','cleaningUp':a55_0x527550(0x1c5),'projectName':{'label':a55_0x527550(0x1f2)},'appCode':{'label':a55_0x527550(0x1e5),'notSet':a55_0x527550(0x1d7)},'apiPull':{'label':a55_0x527550(0x99)},'lovrabetSetup':{'label':a55_0x527550(0x1c0),'ideCount':a55_0x527550(0x1a5)},'login':{'label':a55_0x527550(0x18b),'loggedIn':a55_0x527550(0x124),'failed':'Login\x20failed','skipped':a55_0x527550(0xbf)}},'title':a55_0x527550(0x11a),'completedStep':a55_0x527550(0x10e),'input':{'projectName':{'label':a55_0x527550(0x127),'hint':a55_0x527550(0xf9)},'appCode':{'label':'*\x20AppCode\x20','optional':'[optional]:\x20','hint':a55_0x527550(0x1f0)}},'login':{'checking':a55_0x527550(0xe9),'checkingStatus':'\x20Checking...','valid':a55_0x527550(0x1b1),'notDetected':a55_0x527550(0xda),'prompt':a55_0x527550(0xd3),'inProgress':a55_0x527550(0x193),'inProgressStatus':a55_0x527550(0x150)},'apiPull':{'confirm':a55_0x527550(0x1b3),'recommendation':'\x20\x20Recommended:\x20Yes,\x20to\x20auto-configure\x20API'},'lovrabetSetup':{'confirm':a55_0x527550(0x143),'selectIdeHint':a55_0x527550(0x12a),'selectIdeTitle':a55_0x527550(0x14c),'keyboardShortcuts':a55_0x527550(0x114),'inProgress':a55_0x527550(0x1f9),'mcpCompleted':a55_0x527550(0x204),'skillCompleted':a55_0x527550(0x96)},'creating':a55_0x527550(0xd9),'display':{'projectName':a55_0x527550(0x1e0),'appCode':a55_0x527550(0x169)},'packageJson':{'updating':a55_0x527550(0x144),'updated':a55_0x527550(0x121)},'config':{'configuringAppCode':a55_0x527550(0x148),'creating':a55_0x527550(0x1ac),'createdWithAppCode':'√\x20Configuration\x20file\x20created,\x20AppCode:\x20{{appCode}}','createdWithoutAppCode':a55_0x527550(0x1b4)},'cleanup':{'inProgress':a55_0x527550(0x1c5)},'results':{'mcpComplete':a55_0x527550(0x1a3),'skillComplete':a55_0x527550(0x1f1),'nextSteps':'🚀\x20Next\x20Steps:'},'nextSteps':{'configureMcpAndSkill':a55_0x527550(0x189),'skill':a55_0x527550(0xf0),'mcp':a55_0x527550(0xb5),'startProject':a55_0x527550(0x15c),'pullApi':'Pull\x20API\x20configuration:','configAppCode':a55_0x527550(0xd0)},'errors':{'createFailed':a55_0x527550(0x1c8),'cleanupFailed':a55_0x527550(0x16e),'depsInstallFailed':a55_0x527550(0x1c1)},'nonInteractive':{'creating':a55_0x527550(0x200),'templateCreated':a55_0x527550(0xce),'packageJsonUpdated':'\x20\x20√\x20package.json\x20updated','installingDeps':'\x20\x20Installing\x20dependencies...','depsSkipped':a55_0x527550(0x167),'codeFormatted':a55_0x527550(0x1ab),'envConfigured':'\x20\x20√\x20Environment\x20configured','success':a55_0x527550(0x13f)},'tasks':{'copyFiles':a55_0x527550(0x11f),'formatCode':'Format\x20code','installDependencies':a55_0x527550(0x1de),'formatCodeLabel':'Format\x20code'},'nextStepsAlt':{'startProject':a55_0x527550(0x173),'pullApi':a55_0x527550(0xa4),'configureLovrabet':a55_0x527550(0x189)}},'config':{'title':a55_0x527550(0xb3),'help':{'invalidCommand':a55_0x527550(0x1dd),'examples':a55_0x527550(0x140),'set':a55_0x527550(0x165),'get':a55_0x527550(0xe7),'list':'List\x20all\x20config\x20values','exampleApp':a55_0x527550(0xbd),'exampleEnv':a55_0x527550(0x9d),'exampleLocale':'Set\x20display\x20language\x20(zh/en)'},'validation':{'envInvalid':a55_0x527550(0x14d),'localeInvalid':a55_0x527550(0x1d5),'valueInvalid':a55_0x527550(0xc1),'noValue':a55_0x527550(0x19d),'saveFailed':a55_0x527550(0x109)},'success':{'envSet':a55_0x527550(0xa0),'localeSet':a55_0x527550(0x134)},'scope':{'project':a55_0x527550(0x151),'global':a55_0x527550(0x9b)}},'api':{'title':a55_0x527550(0x19a),'pull':a55_0x527550(0x160),'doc':'Generate\x20Documentation','help':{'title':a55_0x527550(0x19b),'usage':a55_0x527550(0x190),'options':a55_0x527550(0x1ca),'optAppcode':a55_0x527550(0x1e9),'optOutput':a55_0x527550(0xca),'optEnv':'Specify\x20environment\x20(e.g.\x20daily,\x20online)','optDatasetcode':a55_0x527550(0xc5),'optHelp':a55_0x527550(0xbc),'examples':a55_0x527550(0x140),'pullDesc':'Pull\x20and\x20generate\x20API\x20config\x20files','pullAppcode':a55_0x527550(0x131),'pullOutput':'Specify\x20output\x20directory','pullEnv':a55_0x527550(0xb2),'docDesc':'Generate\x20docs\x20for\x20all\x20datasets','docAppcode':a55_0x527550(0x131),'docOutput':a55_0x527550(0x15f),'docEnv':a55_0x527550(0x15e),'docDataset':a55_0x527550(0x1d3),'docDatasets':a55_0x527550(0x11e),'unknownCommand':a55_0x527550(0x19e),'availableCommands':'Available\x20commands:'},'common':{'noPositionalArgs':a55_0x527550(0x14e),'useAppcodeFlag':a55_0x527550(0x12e),'noAppCode':'×\x20AppCode\x20not\x20configured','noAppCodeHint':'!\x20Please\x20use\x20one\x20of\x20the\x20following:','noAppCodeOption1':a55_0x527550(0xb0),'noAppCodeOption2Pull':a55_0x527550(0x1a8),'noAppCodeOption2Doc':a55_0x527550(0xfb),'usingConfigAppCode':a55_0x527550(0x1a9),'usingConfigAppCodeHint':'\x20\x20(Note:\x20--appcode\x20flag\x20matches\x20config,\x20using\x20default\x20config)','usingSpecifiedAppCode':a55_0x527550(0xd4),'usingDefaultAppCode':'Using\x20configured\x20AppCode:\x20{{appCode}}','noAppCodeDefault':a55_0x527550(0x1b8),'paramsInvalidJson':a55_0x527550(0x1da),'paramsNotJson':a55_0x527550(0x186),'paramsError':a55_0x527550(0x1a6),'datasetcodeEmpty':a55_0x527550(0x1c4),'onlyGenerateDatasets':'*\x20Generating\x20docs\x20only\x20for\x20specified\x20datasets:\x20{{codes}}','authExpired':a55_0x527550(0x154),'authRetry':a55_0x527550(0x1cb),'unknownError':a55_0x527550(0xc6)},'pullUI':{'fetching':'*\x20Pulling\x20API\x20config\x20from\x20server...\x20(env:\x20{{env}})','successPull':a55_0x527550(0x191),'duplicateInfo':a55_0x527550(0x1f4),'generatedFiles':a55_0x527550(0x168),'modelFile':a55_0x527550(0x1ff),'clientFile':'-\x20Client\x20instance\x20file','importHint':a55_0x527550(0x17b),'pullFailed':a55_0x527550(0xe6)},'docUI':{'fetchingDatasets':'Fetching\x20dataset\x20list...','noDatasets':a55_0x527550(0x10d),'datasetsNotFound':a55_0x527550(0x135),'allDatasetsNotFound':'All\x20specified\x20dataset\x20codes\x20do\x20not\x20exist:\x20{{codes}}','filteredDatasets':a55_0x527550(0xf3),'generatingDocs':a55_0x527550(0x1eb),'generatingFile':'Generating\x20{{fileName}}.md\x20({{current}}/{{total}})','docComplete':a55_0x527550(0x13a),'docFailed':',\x20{{failCount}}\x20failed','processedDatasets':a55_0x527550(0x1b7),'outputDir':a55_0x527550(0x10a),'generatedDocs':a55_0x527550(0x117),'failedDatasets':'⚠️\x20The\x20following\x20datasets\x20failed\x20to\x20generate:','docGenerateFailed':a55_0x527550(0x1cc)},'fetchModel':{'fetching':'Fetching\x20model\x20list\x20from\x20server...\x20(env:\x20{{env}})','httpError':'Failed\x20to\x20fetch\x20datasets,\x20HTTP\x20status:\x20{{status}}','fetchError':a55_0x527550(0x1bb)},'generateFile':{'noAppCode':a55_0x527550(0x10b)},'docBatch':{'totalDatasets':'\x0a{{count}}\x20datasets\x20to\x20generate\x20docs\x20for\x0a','generating':a55_0x527550(0x1d4),'success':a55_0x527550(0x1c3),'failed':a55_0x527550(0x183),'waiting':a55_0x527550(0xb4),'docFormatError':a55_0x527550(0x100),'httpError':'Failed\x20to\x20fetch\x20doc\x20({{datasetCode}}),\x20HTTP\x20status:\x20{{status}}'},'silent':{'invalidPrefix':'×\x20Invalid\x20file\x20prefix.\x20Only\x20letters,\x20numbers,\x20hyphens\x20and\x20underscores\x20allowed,\x20must\x20start\x20with\x20a\x20letter.','fetching':a55_0x527550(0x1d9),'generating':a55_0x527550(0x1c9),'modelFileName':a55_0x527550(0x187),'clientFileName':'\x20\x20\x20•\x20{{name}}.ts\x20-\x20Client\x20instance\x20file','processing':a55_0x527550(0x1d0),'success':a55_0x527550(0x191),'error':'×\x20API\x20config\x20pull\x20failed:\x20{{error}}'}},'auth':{'title':a55_0x527550(0x19f),'login':{'success':{'title':a55_0x527550(0xc2),'message':a55_0x527550(0x1d6),'manualClose':a55_0x527550(0x95)},'successCli':a55_0x527550(0xa9),'inProgress':a55_0x527550(0xd1),'browserPrompt':'Please\x20complete\x20login\x20in\x20your\x20browser.','pressEnter':a55_0x527550(0x1c7),'pressQToExit':a55_0x527550(0x156)},'session':{'valid':a55_0x527550(0x1fa)},'server':{'starting':a55_0x527550(0x12c),'loginUrl':'📍\x20Login\x20URL:','openingBrowser':'🌐\x20Attempting\x20to\x20open\x20browser\x20automatically...','manualOpenHint':'💡\x20If\x20the\x20browser\x20does\x20not\x20open\x20automatically,\x20copy\x20the\x20login\x20URL\x20above\x20into\x20your\x20browser.','browserOpened':'✅\x20Browser\x20opened.\x20Please\x20complete\x20login\x20in\x20the\x20browser.','browserOpenFailed':a55_0x527550(0xf4),'manualCopyUrl':a55_0x527550(0xe8)},'logout':{'success':a55_0x527550(0x195),'notLoggedIn':'!\x20Not\x20logged\x20in'}},'menu':{'sync':a55_0x527550(0x1a2),'update':a55_0x527550(0x1a0)},'mcp':{'cursor':a55_0x527550(0xdc),'claude':'Claude\x20Code','error':{'unsupportedCommand':a55_0x527550(0x1ae),'missingAppcode':a55_0x527550(0x1f3)},'help':{'title':a55_0x527550(0xb8),'availableCommands':a55_0x527550(0xb9),'command':{'install':a55_0x527550(0x1d8),'help':a55_0x527550(0x1d1)},'usage':{'help':a55_0x527550(0x107),'install':a55_0x527550(0xfe),'installCursor':'\x20\x20lovrabet\x20mcp\x20install\x20--cursor\x20\x20\x20\x20Configure\x20Cursor\x20MCP\x20directly','installClaude':'\x20\x20lovrabet\x20mcp\x20install\x20--claude\x20\x20\x20\x20Configure\x20Claude\x20Code\x20MCP\x20directly'},'configMethods':a55_0x527550(0x97),'configMethodsInteractive':a55_0x527550(0xbe),'configMethodsInteractiveHint':a55_0x527550(0x18d),'configMethodsDirect':a55_0x527550(0x1a4),'configMethodsDirectCursor':'\x20\x20\x20\x20$\x20lovrabet\x20mcp\x20install\x20--cursor\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20#\x20Configure\x20Cursor','configMethodsDirectClaude':a55_0x527550(0x105),'supportedIDEs':'Supported\x20IDEs:','examples':a55_0x527550(0x140),'exampleInstall':a55_0x527550(0x125),'exampleInstallHint':a55_0x527550(0x9f),'exampleInstallCursor':'\x20\x20$\x20lovrabet\x20mcp\x20install\x20--cursor','exampleInstallCursorHint':a55_0x527550(0x9c),'configGuide':a55_0x527550(0x161)},'select':{'chooseIDE':a55_0x527550(0x1b6),'cancel':a55_0x527550(0x166),'enterNumber':a55_0x527550(0x1fd),'prompt':'Your\x20choice:\x20','cancelled':a55_0x527550(0x203),'invalidChoice':a55_0x527550(0xfd)},'installFlow':{'configuring':'\x0a📦\x20Configuring\x20{{name}}\x20MCP...\x0a','error':a55_0x527550(0xe2)},'cursorConfig':{'success':'\x0a✓\x20Cursor\x20MCP\x20configured\x20successfully!\x0a','configInfo':a55_0x527550(0xe5),'usageHint':a55_0x527550(0x14a),'restartRequired':'Please\x20restart\x20Cursor\x20to\x20load\x20the\x20new\x20MCP\x20config.','error':a55_0x527550(0xe2),'rules':{'exists':a55_0x527550(0x14b),'created':a55_0x527550(0x14f),'copyFailed':'Failed\x20to\x20copy\x20Cursor\x20Rules\x20file'},'updateExisting':a55_0x527550(0x111),'createNew':a55_0x527550(0x13c),'written':a55_0x527550(0x157)},'claudeConfig':{'error':'\x0aError:\x20Configuration\x20failed\x20-\x20{{error}}\x0a','agents':{'exists':'agents.md\x20already\x20exists,\x20skipping','created':a55_0x527550(0x16f),'copyFailed':a55_0x527550(0x194)},'manualCommand':'Run\x20the\x20following\x20command\x20to\x20configure\x20Claude\x20Code\x20MCP:','configInfo':'Configuration:','restartRequired':'Restart\x20Claude\x20Code\x20to\x20take\x20effect','commandGenerated':a55_0x527550(0x1be)},'other':{'configInfo':a55_0x527550(0x11d),'configGuide':'Detailed\x20guide:\x20https://help.yuntoo.com/mcp/config-guide','guideShown':a55_0x527550(0x1ee)},'config':{'env':'Environment:\x20{{env}}'},'install':{'starting':a55_0x527550(0x201),'unknownIDE':a55_0x527550(0x1cf),'otherIDE':a55_0x527550(0x149),'success':'\x0a✓\x20{{ide}}\x20MCP\x20configured\x20successfully','failed':a55_0x527550(0xec),'completed':'\x0a✓\x20MCP\x20configuration\x20completed\x20({{successCount}}/{{totalCount}}\x20succeeded)','manualActionRequired':'\x0aNote:\x20Some\x20configurations\x20require\x20manual\x20commands,\x20please\x20follow\x20the\x20instructions\x20above'},'ui':{'otherIDE':a55_0x527550(0x149),'otherIDEDescription':a55_0x527550(0x128),'selectAtLeastOne':a55_0x527550(0x177),'selectedIDE':a55_0x527550(0xdf),'count':'{{count}}','title':a55_0x527550(0xeb),'configuring':a55_0x527550(0x12f),'completed':a55_0x527550(0xf7),'partialManual':'⚠️\x20Some\x20configurations\x20require\x20manual\x20steps','failed':a55_0x527550(0x18c),'manualRequired':a55_0x527550(0x110),'pressAnyKeyToExit':a55_0x527550(0xa1),'unsupportedIDE':'Unsupported\x20IDE:\x20{{ide}}'}},'aiSetup':{'error':{'missingAppcode':'Appcode\x20must\x20be\x20configured\x20first'},'mcp':{'cursor':{'success':'Cursor\x20MCP\x20configured\x20successfully','written':a55_0x527550(0x157),'error':a55_0x527550(0x10f),'rules':{'created':a55_0x527550(0x14f),'copyFailed':'Failed\x20to\x20copy\x20Cursor\x20Rules\x20file'}},'claude':{'commandGenerated':a55_0x527550(0x202),'manualCommand':a55_0x527550(0xfa),'configInfo':a55_0x527550(0xe5),'env':'\x20\x20Environment:\x20{{env}}','restartRequired':a55_0x527550(0x103),'manualExecute':a55_0x527550(0x175),'agents':{'created':'Create\x20agents.md\x20file','copyFailed':a55_0x527550(0x194)}},'other':{'name':a55_0x527550(0x1bd),'title':'\x0a📋\x20Other\x20IDE\x20MCP\x20configuration:\x0a','guideShown':a55_0x527550(0xb7)},'unsupportedIDE':a55_0x527550(0x1f6)},'skill':{'unknownIDE':a55_0x527550(0x1cf),'installSuccess':a55_0x527550(0x9a),'itemsCreated':a55_0x527550(0x17d),'installFailed':a55_0x527550(0x17c),'sharedCopied':'Shared\x20skill\x20files\x20copied\x20successfully','sharedCopyFailed':a55_0x527550(0xef),'manifestCreated':'Skill\x20manifest\x20created'},'ui':{'selectAtLeastOne':'Please\x20select\x20at\x20least\x20one\x20item\x20to\x20configure','confirm':{'title':a55_0x527550(0x184),'mcpDescription':a55_0x527550(0x180),'skillDescription':a55_0x527550(0xba),'yes':'[Y]\x20Yes,\x20configure\x20AI\x20assistant','no':a55_0x527550(0x13e),'default':a55_0x527550(0x188)},'select':{'title':a55_0x527550(0x176),'mcpSection':a55_0x527550(0x116),'skillSection':a55_0x527550(0x1ba),'controls':a55_0x527550(0x1c6)},'installing':'Configuring\x20AI\x20assistant...'}},'appMenu':{'error':{'missingAppCode':a55_0x527550(0x1b8),'appCodeHint':{'title':a55_0x527550(0x155),'option1':a55_0x527550(0x17a),'option2':'\x20\x20\x202.\x20Set\x20default:\x20lovrabet\x20config\x20set\x20app\x20<app-code>'},'authExpired':'Authentication\x20failed,\x20session\x20expired.\x20Please\x20use\x20lovrabet\x20auth\x20to\x20login\x20again','authValidationFailed':a55_0x527550(0x1ad),'httpStatus':a55_0x527550(0x123),'fetchFailed':'Failed\x20to\x20fetch\x20menu\x20list:\x20{{error}}','createHttpStatus':a55_0x527550(0x1b5),'createFailed':a55_0x527550(0x1af)},'info':{'emptyMenuList':a55_0x527550(0x1fb)},'success':{'fetched':a55_0x527550(0x15a),'created':a55_0x527550(0x196)},'fetching':{'online':a55_0x527550(0x115),'daily':a55_0x527550(0x146)},'creating':{'single':'Creating\x20menu:\x20{{label}}\x20({{path}})','batch':{'start':a55_0x527550(0x13d),'completed':a55_0x527550(0x1f5)}},'sync':{'title':a55_0x527550(0xc8),'table':{'menuName':a55_0x527550(0x179),'local':a55_0x527550(0x1e1),'lovrabetPlatform':a55_0x527550(0xdd)},'error':{'noMenuSelected':'Please\x20select\x20at\x20least\x20one\x20menu','invalidJsUrl':a55_0x527550(0x163),'jsUrlUnreachable':a55_0x527550(0x132),'invalidCssUrl':a55_0x527550(0x141),'cssUrlUnreachable':a55_0x527550(0x170),'createMenuFailed':a55_0x527550(0x101),'authHint':{'prefix':a55_0x527550(0x18e),'suffix':a55_0x527550(0x18a)},'noLocalPages':a55_0x527550(0xc0)},'step':{'selectedMenus':a55_0x527550(0x198),'selectedMenusCount':a55_0x527550(0x138),'jsUrl':a55_0x527550(0x1ec),'cssUrl':a55_0x527550(0xd8),'selectMenus':a55_0x527550(0xcc),'creating':a55_0x527550(0xf8),'completed':'√\x20Menu\x20creation\x20completed'},'operation':{'update':a55_0x527550(0x1d2),'create':a55_0x527550(0xf2)},'loading':{'fetchingMenuList':a55_0x527550(0x16b)},'hotkeys':a55_0x527550(0x114),'input':{'jsUrl':{'label':'*\x20JS\x20URL:\x20','placeholder':a55_0x527550(0xb1)},'cssUrl':{'label':a55_0x527550(0x122),'placeholder':a55_0x527550(0xa5)}}},'updateCdn':{'title':a55_0x527550(0x102),'error':{'invalidJsUrl':a55_0x527550(0x163),'jsUrlUnreachable':a55_0x527550(0x132),'invalidCssUrl':a55_0x527550(0x141),'cssUrlUnreachable':a55_0x527550(0x170),'authHint':{'prefix':a55_0x527550(0x18e),'suffix':a55_0x527550(0x18a)},'noCdnLinks':'!\x20No\x20menu\x20asset\x20links\x20found','updateFailed':a55_0x527550(0x1e4)},'loading':{'fetching':a55_0x527550(0x1e6),'syncing':a55_0x527550(0x1e3)},'action':{'continue':a55_0x527550(0x10c),'cancel':a55_0x527550(0xd2)},'success':{'updated':a55_0x527550(0x159),'synced':a55_0x527550(0x18f)},'updating':a55_0x527550(0x142),'preview':{'title':a55_0x527550(0x1ef),'menuList':a55_0x527550(0x106),'resourceLinks':a55_0x527550(0x1ce)},'input':{'title':a55_0x527550(0xcf),'jsUrl':{'label':a55_0x527550(0xed),'placeholder':a55_0x527550(0xf6)},'cssUrl':{'label':a55_0x527550(0x1bc),'placeholder':a55_0x527550(0x108)}}}},'skill':{'install':a55_0x527550(0x1bf),'error':{'unsupportedCommand':a55_0x527550(0x1ae),'installFailed':a55_0x527550(0xdb),'unknownPlatform':a55_0x527550(0x11c),'unknownIDE':a55_0x527550(0x13b),'noValidIDE':a55_0x527550(0xde),'selectAtLeastOne':a55_0x527550(0x177)},'errorHint':{'availableCommands':a55_0x527550(0xb9),'installInteractive':a55_0x527550(0xcb),'installDirect':a55_0x527550(0xa6),'showHelp':'\x20\x20lovrabet\x20skill\x20--help\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20#\x20Show\x20help\x0a','usageExamples':a55_0x527550(0x178),'exampleInteractive':a55_0x527550(0x1df),'exampleDirect':a55_0x527550(0x139)},'select':{'title':a55_0x527550(0x145),'installAll':'Install\x20all','cancel':a55_0x527550(0xf1),'inputFormat':a55_0x527550(0x113),'inputHint':a55_0x527550(0x1dc),'prompt':a55_0x527550(0xa3),'cancelled':a55_0x527550(0x153),'noneSelected':a55_0x527550(0x15b),'selectedIDE':'Selected\x20IDEs','count':a55_0x527550(0xc7)},'cdn':{'fetching':a55_0x527550(0x112),'fetchingExtend':'Fetching\x20developer\x20guides\x20from\x20CDN\x20(with\x20extensions)...','fetchSuccess':a55_0x527550(0x174),'fetchFailed':a55_0x527550(0x1ea)},'installing':{'title':a55_0x527550(0xa8),'progress':'Installing\x20skills...','ide':a55_0x527550(0x1fe),'installed':a55_0x527550(0x12b),'created':a55_0x527550(0x1b9),'createdDir':a55_0x527550(0x119),'createdManifest':a55_0x527550(0xee)},'done':{'success':a55_0x527550(0x171),'successInline':'✓\x20Skills\x20installed\x20successfully!\x20{{count}}\x20directories\x20created','guidesLocation':a55_0x527550(0xc3),'guidesPath':'\x20\x20.lovrabet/skill/.shared/guides/\x20-\x20Detailed\x20developer\x20guides\x0a','guidesPathInline':'Developer\x20guides:\x20.lovrabet/skill/.shared/guides/','pressAnyKey':a55_0x527550(0xa1)},'generic':a55_0x527550(0x162),'help':{'title':'Lovrabet\x20Skill\x20-\x20Developer\x20Skill\x20Installation\x20Tool','usage':a55_0x527550(0x190),'showHelp':a55_0x527550(0xab),'installInteractive':a55_0x527550(0x1a1),'installDirect':a55_0x527550(0x197),'installAll':a55_0x527550(0x11b),'installWithBff':'Include\x20Backend\x20Function\x20sync\x20workflow','installMethods':'Installation\x20methods:','interactiveSelect':a55_0x527550(0x1b0),'interactiveKeys':a55_0x527550(0x181),'directInstall':a55_0x527550(0xae),'bffWorkflow':'\x20\x20Include\x20BFF\x20sync\x20workflow\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20-\x20Use\x20--dangerously-bff-save\x20flag','supportedIDEs':a55_0x527550(0xd6),'agentDesc':'Other\x20(generic\x20template)\x20(.agent/skills/)\x20-\x20Fallback','allDesc':'Install\x20all\x20IDE\x20skills\x20(including\x20generic\x20template)','options':'Options:','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':'Skill\x20contents\x20include:','skillContentsList':a55_0x527550(0x129),'examples':a55_0x527550(0x140),'exampleInteractive':'\x20\x20\x20\x20→\x20Interactive\x20IDE\x20selection','exampleDirectDesc':'\x20\x20\x20\x20→\x20Install\x20Cursor\x20and\x20Claude\x20Code\x20skills\x20directly','exampleBffDesc':'\x20\x20\x20\x20→\x20Install\x20skills\x20with\x20Backend\x20Function\x20sync\x20workflow','exampleAllDesc':a55_0x527550(0xfc),'afterInstall':'After\x20installation,\x20the\x20following\x20will\x20be\x20created\x20in\x20your\x20project:','afterInstallList':a55_0x527550(0xd7),'guidesLocationTitle':a55_0x527550(0xc3)}},'logs':{'title':a55_0x527550(0x17f),'view':a55_0x527550(0x15d),'clear':a55_0x527550(0x1c2),'noLogs':a55_0x527550(0x1b2),'header':a55_0x527550(0x16d),'time':a55_0x527550(0x199),'duration':'\x20\x20\x20Duration:\x20{{duration}}ms','details':'\x20\x20\x20Details:\x20{{details}}','cleared':a55_0x527550(0xa2)},'start':{'starting':a55_0x527550(0x1f8)},'build':{'building':'Building\x20project...'},'preview':{'previewing':'Previewing\x20project...','watchMode':a55_0x527550(0x1cd)},'ui':{'ideSelector':{'title':a55_0x527550(0x14c),'hotkeys':a55_0x527550(0x152)}},'upgrade':{'cli':{'title':a55_0x527550(0x164),'current':'\x20\x20\x20Current\x20CLI\x20version:\x20{{version}}','stable':a55_0x527550(0xbb),'command':a55_0x527550(0xc4)},'sdk':{'title':a55_0x527550(0xc9),'current':'\x20\x20\x20Current\x20version:\x20{{package}}@{{version}}','stable':a55_0x527550(0xbb),'command':a55_0x527550(0xc4)}}};
@@ -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
+ var a56_0x6a32af=a56_0x2928;(function(_0x40fc9c,_0x4fd703){var _0x4b1e6c=a56_0x2928,_0x3c129e=_0x40fc9c();while(!![]){try{var _0x32a40d=parseInt(_0x4b1e6c(0x168))/0x1*(-parseInt(_0x4b1e6c(0x136))/0x2)+-parseInt(_0x4b1e6c(0x28a))/0x3*(parseInt(_0x4b1e6c(0x27c))/0x4)+-parseInt(_0x4b1e6c(0x18e))/0x5*(parseInt(_0x4b1e6c(0x12b))/0x6)+-parseInt(_0x4b1e6c(0x1db))/0x7+parseInt(_0x4b1e6c(0x1ba))/0x8*(-parseInt(_0x4b1e6c(0x12c))/0x9)+parseInt(_0x4b1e6c(0x1b9))/0xa+-parseInt(_0x4b1e6c(0x190))/0xb*(-parseInt(_0x4b1e6c(0x20a))/0xc);if(_0x32a40d===_0x4fd703)break;else _0x3c129e['push'](_0x3c129e['shift']());}catch(_0x12c671){_0x3c129e['push'](_0x3c129e['shift']());}}}(a56_0x1b25,0xe2e2c));export default{'common':{'success':'成功','error':'错误','warning':'警告','info':'信息','loading':a56_0x6a32af(0x1df),'cancel':'取消','confirm':'确认','next':a56_0x6a32af(0x22d),'previous':a56_0x6a32af(0x1da),'finish':'完成'},'help':{'invalidCommand':a56_0x6a32af(0x22a),'usageHint':'使用','viewCommands':a56_0x6a32af(0x1c4)},'cli':{'usage':'使用','examples':'示例','description':'描述'},'init':{'inputAppCode':a56_0x6a32af(0x124),'appCodeDesc':'应用代码用于标识您的项目,只能包含字母、数字、-\x20和\x20_','fileExists':a56_0x6a32af(0x209),'creating':a56_0x6a32af(0x15c),'success':a56_0x6a32af(0x1a1),'appCodeLabel':a56_0x6a32af(0x227),'nextSteps':a56_0x6a32af(0x135),'validation':{'required':a56_0x6a32af(0x220),'tooLong':'应用代码长度不能超过\x20100\x20个字符','invalidFormat':a56_0x6a32af(0x1c7),'invalidCode':a56_0x6a32af(0x1ab)}},'create':{'projectNameLabel':'项目名称','appCodeLabel':a56_0x6a32af(0x1c2),'validation':{'required':a56_0x6a32af(0x12e),'invalidChars':a56_0x6a32af(0x125),'tooLong':a56_0x6a32af(0x18c),'dirExists':'项目目录\x20{{name}}\x20已存在,请使用其他项目名','noPermission':a56_0x6a32af(0x1bc),'projectName':{'tooLong':a56_0x6a32af(0x1ce),'invalidFormat':a56_0x6a32af(0x1d1),'invalid':a56_0x6a32af(0x210),'dirExistsShort':a56_0x6a32af(0x1f8)},'appCode':{'tooLong':a56_0x6a32af(0x1b0),'invalidFormat':'应用AppCode只能包含字母、数字、连字符和下划线,且必须以字母或数字开头','invalid':a56_0x6a32af(0x232)},'ide':{'required':'请至少选择一个\x20IDE'}},'common':{'yes':'是','no':'否','selectHint':a56_0x6a32af(0x145)},'steps':{'pullingApi':'*\x20正在拉取\x20API\x20配置...','apiPullSuccess':a56_0x6a32af(0x21d),'apiPullFailed':a56_0x6a32af(0x169),'apiPullError':a56_0x6a32af(0x17a),'updatingPackage':a56_0x6a32af(0x19a),'packageUpdated':a56_0x6a32af(0x14c),'configuringAppCode':a56_0x6a32af(0x126),'creatingConfig':a56_0x6a32af(0x235),'configCreatedWithAppCode':a56_0x6a32af(0x1d7),'configCreated':a56_0x6a32af(0x1cb),'configuringMcp':a56_0x6a32af(0x1ad),'mcpConfigComplete':'√\x20Lovrabet\x20MCP\x20和\x20Skill\x20配置完成','cleaningUp':'*\x20清理失败的项目目录:\x20{{dir}}','projectName':{'label':a56_0x6a32af(0x183)},'appCode':{'label':a56_0x6a32af(0x1c2),'notSet':a56_0x6a32af(0x21b)},'apiPull':{'label':a56_0x6a32af(0x26d)},'lovrabetSetup':{'label':'MCP\x20和\x20Skill','ideCount':'{{count}}\x20个\x20IDE'},'login':{'label':a56_0x6a32af(0x154),'loggedIn':a56_0x6a32af(0x280),'failed':a56_0x6a32af(0x26c),'skipped':a56_0x6a32af(0x139)}},'title':a56_0x6a32af(0x274),'completedStep':'√\x20{{label}}:\x20','input':{'projectName':{'label':a56_0x6a32af(0x23a),'hint':'\x20直接回车确认,或输入自定义名称'},'appCode':{'label':a56_0x6a32af(0x258),'optional':'[可选]:\x20','hint':'绑定应用AppCode可自动配置\x20API,如:\x20app-c4c89304\x20(直接回车跳过)'}},'login':{'checking':a56_0x6a32af(0x1a5),'checkingStatus':a56_0x6a32af(0x166),'valid':a56_0x6a32af(0x13e),'notDetected':'!\x20未检测到有效登录','prompt':a56_0x6a32af(0x160),'inProgress':a56_0x6a32af(0x211),'inProgressStatus':a56_0x6a32af(0x1b8)},'apiPull':{'confirm':a56_0x6a32af(0x13c),'recommendation':'\x20\x20推荐选择\x20Yes,可自动配置\x20API\x20接口'},'lovrabetSetup':{'confirm':a56_0x6a32af(0x1fa),'selectIdeHint':a56_0x6a32af(0x150),'selectIdeTitle':a56_0x6a32af(0x1cf),'keyboardShortcuts':a56_0x6a32af(0x266),'inProgress':'*\x20正在配置\x20Lovrabet\x20MCP\x20和\x20Skill...','mcpCompleted':'✓\x20MCP\x20服务器配置完成:','skillCompleted':a56_0x6a32af(0x1d5)},'creating':a56_0x6a32af(0x1c6),'display':{'projectName':a56_0x6a32af(0x1c9),'appCode':'\x20|\x20应用AppCode:\x20'},'packageJson':{'updating':a56_0x6a32af(0x19a),'updated':a56_0x6a32af(0x14c)},'config':{'configuringAppCode':a56_0x6a32af(0x126),'creating':a56_0x6a32af(0x235),'createdWithAppCode':a56_0x6a32af(0x1d7),'createdWithoutAppCode':'√\x20配置文件已创建,可稍后使用\x20\x27lovrabet\x20config\x20set\x20appcode\x20<app-code>\x27\x20配置'},'cleanup':{'inProgress':a56_0x6a32af(0x240)},'results':{'mcpComplete':'✓\x20MCP\x20服务器配置完成:','skillComplete':a56_0x6a32af(0x1d5),'nextSteps':a56_0x6a32af(0x20c)},'nextSteps':{'configureMcpAndSkill':'1.\x20配置\x20Lovrabet\x20MCP\x20和\x20Skill','skill':'\x20\x20•\x20Skill:','mcp':a56_0x6a32af(0x174),'startProject':a56_0x6a32af(0x16c),'pullApi':'拉取API配置:','configAppCode':a56_0x6a32af(0x141)},'errors':{'createFailed':'×\x20项目创建失败:\x20{{error}}','cleanupFailed':a56_0x6a32af(0x249),'depsInstallFailed':a56_0x6a32af(0x25f)},'nonInteractive':{'creating':a56_0x6a32af(0x1bf),'templateCreated':a56_0x6a32af(0x1d0),'packageJsonUpdated':a56_0x6a32af(0x130),'installingDeps':a56_0x6a32af(0x268),'depsSkipped':a56_0x6a32af(0x181),'codeFormatted':'\x20\x20√\x20代码已格式化','envConfigured':a56_0x6a32af(0x22c),'success':a56_0x6a32af(0x233)},'tasks':{'copyFiles':'复制项目文件','formatCode':a56_0x6a32af(0x18d),'installDependencies':a56_0x6a32af(0x19c)},'nextStepsAlt':{'startProject':a56_0x6a32af(0x189),'pullApi':a56_0x6a32af(0x1d9),'configureLovrabet':'1.\x20配置\x20Lovrabet\x20MCP\x20和\x20Skill'}},'config':{'title':a56_0x6a32af(0x1af),'help':{'invalidCommand':a56_0x6a32af(0x158),'examples':a56_0x6a32af(0x1e7),'set':a56_0x6a32af(0x13a),'get':a56_0x6a32af(0x1e6),'list':a56_0x6a32af(0x140),'exampleApp':a56_0x6a32af(0x27a),'exampleEnv':a56_0x6a32af(0x1ec),'exampleLocale':'设置显示语言\x20(zh/en)'},'validation':{'envInvalid':'环境配置值只能是\x20\x22online\x22\x20或\x20\x22daily\x22','localeInvalid':a56_0x6a32af(0x1fc),'valueInvalid':a56_0x6a32af(0x20d),'noValue':'未提供配置值','saveFailed':a56_0x6a32af(0x175)},'success':{'envSet':'✓\x20{{scope}}环境配置已设置为:\x20{{value}}','localeSet':a56_0x6a32af(0x1d4)},'scope':{'project':'项目','global':'全局'}},'api':{'title':a56_0x6a32af(0x1c3),'pull':a56_0x6a32af(0x165),'doc':a56_0x6a32af(0x138),'help':{'title':a56_0x6a32af(0x1a7),'usage':a56_0x6a32af(0x134),'options':'选项:','optAppcode':a56_0x6a32af(0x180),'optOutput':a56_0x6a32af(0x245),'optEnv':a56_0x6a32af(0x230),'optDatasetcode':a56_0x6a32af(0x216),'optHelp':'显示此帮助信息','examples':a56_0x6a32af(0x239),'pullDesc':a56_0x6a32af(0x250),'pullAppcode':a56_0x6a32af(0x247),'pullOutput':'指定输出目录','pullEnv':a56_0x6a32af(0x256),'docDesc':a56_0x6a32af(0x23c),'docAppcode':a56_0x6a32af(0x247),'docOutput':a56_0x6a32af(0x270),'docEnv':a56_0x6a32af(0x198),'docDataset':a56_0x6a32af(0x242),'docDatasets':a56_0x6a32af(0x1dd),'unknownCommand':a56_0x6a32af(0x28f),'availableCommands':a56_0x6a32af(0x24d)},'common':{'noPositionalArgs':'❌\x20错误:不再支持位置参数方式','useAppcodeFlag':'请使用\x20--appcode\x20参数,例如:','noAppCode':a56_0x6a32af(0x23f),'noAppCodeHint':'!\x20请使用以下方式之一:','noAppCodeOption1':a56_0x6a32af(0x1d2),'noAppCodeOption2Pull':a56_0x6a32af(0x170),'noAppCodeOption2Doc':a56_0x6a32af(0x13d),'usingConfigAppCode':a56_0x6a32af(0x21a),'usingConfigAppCodeHint':'\x20\x20(注:\x20--appcode\x20参数与配置一致,将使用默认配置)','usingSpecifiedAppCode':a56_0x6a32af(0x22b),'usingDefaultAppCode':a56_0x6a32af(0x187),'noAppCodeDefault':a56_0x6a32af(0x1d8),'paramsInvalidJson':'×\x20--params\x20参数必须是一个有效的\x20JSON\x20对象','paramsNotJson':'×\x20--params\x20参数不是有效的\x20JSON\x20格式','paramsError':a56_0x6a32af(0x264),'datasetcodeEmpty':'×\x20--datasetcode\x20参数不能为空','onlyGenerateDatasets':a56_0x6a32af(0x208),'authExpired':a56_0x6a32af(0x152),'authRetry':'重新登录后再试','unknownError':a56_0x6a32af(0x288)},'pullUI':{'fetching':'*\x20正在从服务器拉取\x20API\x20配置...\x20(环境:\x20{{env}})','successPull':a56_0x6a32af(0x1a8),'duplicateInfo':a56_0x6a32af(0x1fe),'generatedFiles':a56_0x6a32af(0x222),'modelFile':a56_0x6a32af(0x1f7),'clientFile':a56_0x6a32af(0x254),'importHint':a56_0x6a32af(0x161),'pullFailed':'拉取\x20API\x20配置失败:\x20{{error}}'},'docUI':{'fetchingDatasets':a56_0x6a32af(0x1b5),'noDatasets':'未找到任何数据集','datasetsNotFound':'!\x20以下数据集代码不存在:\x20{{codes}}','allDatasetsNotFound':'指定的数据集代码都不存在:\x20{{codes}}','filteredDatasets':a56_0x6a32af(0x241),'generatingDocs':a56_0x6a32af(0x257),'generatingFile':a56_0x6a32af(0x13f),'docComplete':a56_0x6a32af(0x196),'docFailed':a56_0x6a32af(0x157),'processedDatasets':a56_0x6a32af(0x16e),'outputDir':a56_0x6a32af(0x1f2),'generatedDocs':a56_0x6a32af(0x23d),'failedDatasets':a56_0x6a32af(0x185),'docGenerateFailed':a56_0x6a32af(0x13b)},'fetchModel':{'fetching':a56_0x6a32af(0x236),'httpError':a56_0x6a32af(0x1ed),'fetchError':a56_0x6a32af(0x262)},'generateFile':{'noAppCode':'请先通过\x20`lovrabet\x20config\x20set\x20app\x20<value>`\x20配置应用\x20Code'},'docBatch':{'totalDatasets':a56_0x6a32af(0x23e),'generating':a56_0x6a32af(0x24b),'success':a56_0x6a32af(0x142),'failed':a56_0x6a32af(0x24e),'waiting':a56_0x6a32af(0x1f6),'docFormatError':a56_0x6a32af(0x279),'httpError':a56_0x6a32af(0x27f)},'silent':{'invalidPrefix':a56_0x6a32af(0x26b),'fetching':a56_0x6a32af(0x215),'generating':'*\x20开始生成\x20API\x20配置文件:','modelFileName':a56_0x6a32af(0x255),'clientFileName':a56_0x6a32af(0x221),'processing':a56_0x6a32af(0x246),'success':a56_0x6a32af(0x1a8),'error':a56_0x6a32af(0x1c5)}},'auth':{'title':a56_0x6a32af(0x12d),'login':{'success':{'title':a56_0x6a32af(0x290),'message':a56_0x6a32af(0x21c),'manualClose':a56_0x6a32af(0x1ca)},'successCli':a56_0x6a32af(0x144),'inProgress':a56_0x6a32af(0x25b),'browserPrompt':a56_0x6a32af(0x269),'pressEnter':'*\x20按回车开始登录。','pressQToExit':a56_0x6a32af(0x273)},'session':{'valid':a56_0x6a32af(0x151)},'server':{'starting':a56_0x6a32af(0x14f),'loginUrl':a56_0x6a32af(0x229),'openingBrowser':'🌐\x20正在尝试自动打开浏览器...','manualOpenHint':a56_0x6a32af(0x195),'browserOpened':a56_0x6a32af(0x265),'browserOpenFailed':'⚠️\x20\x20无法自动打开浏览器','manualCopyUrl':a56_0x6a32af(0x217)},'logout':{'success':'✓\x20已退出登录','notLoggedIn':a56_0x6a32af(0x17b)}},'menu':{'sync':a56_0x6a32af(0x199),'update':a56_0x6a32af(0x1c0)},'mcp':{'cursor':a56_0x6a32af(0x18a),'claude':a56_0x6a32af(0x178),'error':{'unsupportedCommand':a56_0x6a32af(0x1c8),'missingAppcode':'未找到\x20appcode\x20配置,请先运行\x20\x27lovrabet\x20init\x27\x20初始化项目配置'},'help':{'title':a56_0x6a32af(0x224),'availableCommands':a56_0x6a32af(0x16a),'command':{'install':a56_0x6a32af(0x191),'help':a56_0x6a32af(0x275)},'usage':{'help':a56_0x6a32af(0x28d),'install':a56_0x6a32af(0x1a4),'installCursor':'\x20\x20lovrabet\x20mcp\x20install\x20--cursor\x20\x20\x20\x20直接配置\x20Cursor\x20MCP','installClaude':'\x20\x20lovrabet\x20mcp\x20install\x20--claude\x20\x20\x20\x20直接配置\x20Claude\x20Code\x20MCP'},'configMethods':a56_0x6a32af(0x238),'configMethodsInteractive':'\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列表供选择','configMethodsInteractiveHint':a56_0x6a32af(0x1d6),'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':'\x20\x20\x20\x20$\x20lovrabet\x20mcp\x20install\x20--cursor\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20#\x20配置\x20Cursor','configMethodsDirectClaude':a56_0x6a32af(0x281),'supportedIDEs':'支持的\x20IDE:','examples':a56_0x6a32af(0x289),'exampleInstall':'\x20\x20$\x20lovrabet\x20mcp\x20install','exampleInstallHint':'\x20\x20\x20\x20→\x20交互式选择\x20IDE','exampleInstallCursor':a56_0x6a32af(0x271),'exampleInstallCursorHint':'\x20\x20\x20\x20→\x20直接配置\x20Cursor\x20MCP\x20(写入\x20.cursor/mcp.json)','configGuide':a56_0x6a32af(0x179)},'select':{'chooseIDE':a56_0x6a32af(0x192),'cancel':a56_0x6a32af(0x28b),'enterNumber':a56_0x6a32af(0x1dc),'prompt':a56_0x6a32af(0x146),'cancelled':a56_0x6a32af(0x1b7),'invalidChoice':'\x0a无效的选择,请输入\x201-{{count}}\x20之间的数字\x0a'},'installFlow':{'configuring':a56_0x6a32af(0x156),'error':a56_0x6a32af(0x194)},'cursorConfig':{'success':a56_0x6a32af(0x182),'configInfo':a56_0x6a32af(0x205),'usageHint':a56_0x6a32af(0x202),'restartRequired':a56_0x6a32af(0x1a9),'error':'\x0a错误:\x20配置失败\x20-\x20{{error}}\x0a','rules':{'exists':a56_0x6a32af(0x21f),'created':a56_0x6a32af(0x153),'copyFailed':a56_0x6a32af(0x282)},'updateExisting':a56_0x6a32af(0x1b2),'createNew':a56_0x6a32af(0x272),'written':a56_0x6a32af(0x1e4)},'claudeConfig':{'error':a56_0x6a32af(0x194),'agents':{'exists':a56_0x6a32af(0x234),'created':'创建\x20agents.md\x20文件','copyFailed':a56_0x6a32af(0x127)},'manualCommand':a56_0x6a32af(0x225),'configInfo':'配置信息:','restartRequired':'重启\x20Claude\x20Code\x20后生效','commandGenerated':a56_0x6a32af(0x277)},'other':{'configInfo':a56_0x6a32af(0x1bb),'configGuide':'详细配置指南:\x20https://help.yuntoo.com/mcp/config-guide','guideShown':a56_0x6a32af(0x200)},'config':{'env':a56_0x6a32af(0x1ae)},'install':{'starting':'开始配置\x20MCP','unknownIDE':a56_0x6a32af(0x1f1),'otherIDE':'其他\x20IDE','success':'\x0a✓\x20{{ide}}\x20MCP\x20配置成功','failed':a56_0x6a32af(0x1ac),'completed':a56_0x6a32af(0x231),'manualActionRequired':a56_0x6a32af(0x228)},'ui':{'otherIDE':a56_0x6a32af(0x22f),'otherIDEDescription':a56_0x6a32af(0x163),'selectAtLeastOne':a56_0x6a32af(0x133),'selectedIDE':a56_0x6a32af(0x206),'count':'{{count}}\x20个','title':a56_0x6a32af(0x1eb),'configuring':a56_0x6a32af(0x23b),'completed':a56_0x6a32af(0x22e),'partialManual':a56_0x6a32af(0x167),'failed':a56_0x6a32af(0x261),'manualRequired':a56_0x6a32af(0x1d3),'pressAnyKeyToExit':a56_0x6a32af(0x184),'unsupportedIDE':a56_0x6a32af(0x17d)}},'aiSetup':{'error':{'missingAppcode':a56_0x6a32af(0x203)},'mcp':{'cursor':{'success':a56_0x6a32af(0x244),'written':a56_0x6a32af(0x1e4),'error':a56_0x6a32af(0x293),'rules':{'created':a56_0x6a32af(0x153),'copyFailed':a56_0x6a32af(0x282)}},'claude':{'commandGenerated':'Claude\x20Code\x20MCP\x20命令已生成','manualCommand':a56_0x6a32af(0x1e0),'configInfo':a56_0x6a32af(0x205),'env':'\x20\x20环境:\x20{{env}}','restartRequired':'\x20\x20重启\x20Claude\x20Code\x20后生效\x0a','manualExecute':a56_0x6a32af(0x193),'agents':{'created':a56_0x6a32af(0x177),'copyFailed':a56_0x6a32af(0x127)}},'other':{'name':'其他','title':a56_0x6a32af(0x1be),'guideShown':a56_0x6a32af(0x1b6)},'unsupportedIDE':'不支持的\x20MCP\x20IDE:\x20{{ide}}'},'skill':{'unknownIDE':a56_0x6a32af(0x1f1),'installSuccess':a56_0x6a32af(0x219),'itemsCreated':a56_0x6a32af(0x18f),'installFailed':a56_0x6a32af(0x173),'sharedCopied':'共享技能文件复制成功','sharedCopyFailed':a56_0x6a32af(0x28e),'manifestCreated':a56_0x6a32af(0x1f5)},'ui':{'selectAtLeastOne':a56_0x6a32af(0x283),'confirm':{'title':'是否同时配置\x20AI\x20助手?这将:','mcpDescription':a56_0x6a32af(0x1e9),'skillDescription':'•\x20Skill:\x20安装研发最佳实践、Backend\x20Function\x20规范','yes':a56_0x6a32af(0x19d),'no':a56_0x6a32af(0x1b3),'default':a56_0x6a32af(0x213)},'select':{'title':a56_0x6a32af(0x176),'mcpSection':a56_0x6a32af(0x26e),'skillSection':a56_0x6a32af(0x21e),'controls':'↑/↓:\x20移动\x20空格:\x20切换\x20a:\x20全选\x20q:\x20退出\x20Enter:\x20确认'},'installing':a56_0x6a32af(0x267)}},'appMenu':{'error':{'missingAppCode':a56_0x6a32af(0x1d8),'appCodeHint':{'title':a56_0x6a32af(0x19f),'option1':'\x20\x20\x201.\x20直接指定:\x20lovrabet\x20api\x20pull\x20<app-code>','option2':a56_0x6a32af(0x1f4)},'authExpired':a56_0x6a32af(0x152),'authValidationFailed':a56_0x6a32af(0x155),'httpStatus':a56_0x6a32af(0x15b),'fetchFailed':a56_0x6a32af(0x25e),'createHttpStatus':a56_0x6a32af(0x285),'createFailed':'创建菜单失败:\x20{{error}}'},'info':{'emptyMenuList':'服务端返回空菜单列表'},'success':{'fetched':a56_0x6a32af(0x243),'created':a56_0x6a32af(0x16b)},'fetching':{'online':a56_0x6a32af(0x188),'daily':a56_0x6a32af(0x12f)},'creating':{'single':a56_0x6a32af(0x204),'batch':{'start':a56_0x6a32af(0x1cd),'completed':'批量创建菜单完成,共\x20{{count}}\x20个'}},'sync':{'title':'*\x20同步菜单到\x20Lovrabet\x20平台','table':{'menuName':a56_0x6a32af(0x1cc),'local':'本地','lovrabetPlatform':a56_0x6a32af(0x143)},'error':{'noMenuSelected':'请至少选择一个菜单','invalidJsUrl':a56_0x6a32af(0x25a),'jsUrlUnreachable':'JS\x20链接无法访问','invalidCssUrl':a56_0x6a32af(0x15d),'cssUrlUnreachable':a56_0x6a32af(0x1a0),'createMenuFailed':a56_0x6a32af(0x248),'authHint':{'prefix':'提示:使用\x20','suffix':a56_0x6a32af(0x137)},'noLocalPages':a56_0x6a32af(0x24f)},'step':{'selectedMenus':a56_0x6a32af(0x16f),'selectedMenusCount':a56_0x6a32af(0x1e1),'jsUrl':a56_0x6a32af(0x131),'cssUrl':a56_0x6a32af(0x147),'selectMenus':a56_0x6a32af(0x226),'creating':a56_0x6a32af(0x186),'completed':a56_0x6a32af(0x128)},'operation':{'update':'更新','create':'新建'},'loading':{'fetchingMenuList':'\x20正在获取线上菜单列表...'},'hotkeys':'↑/↓:\x20移动光标\x20空格:\x20切换选中\x20a:\x20全选\x20i/r:\x20反选\x20Enter:\x20确认','input':{'jsUrl':{'label':a56_0x6a32af(0x287),'placeholder':a56_0x6a32af(0x25d)},'cssUrl':{'label':'*\x20CSS\x20链接:\x20','placeholder':'\x20输入项目的\x20CSS\x20资源链接(https://...)'}}},'updateCdn':{'title':a56_0x6a32af(0x12a),'error':{'invalidJsUrl':a56_0x6a32af(0x25a),'jsUrlUnreachable':a56_0x6a32af(0x24c),'invalidCssUrl':'请输入有效的\x20CSS\x20https\x20链接','cssUrlUnreachable':a56_0x6a32af(0x1a0),'authHint':{'prefix':'提示:使用\x20','suffix':a56_0x6a32af(0x137)},'noCdnLinks':'!\x20未找到菜单资源链接','updateFailed':a56_0x6a32af(0x284)},'loading':{'fetching':a56_0x6a32af(0x278),'syncing':a56_0x6a32af(0x1a6)},'action':{'continue':a56_0x6a32af(0x28c),'cancel':'取消更新'},'success':{'updated':a56_0x6a32af(0x1fb),'synced':a56_0x6a32af(0x201)},'updating':a56_0x6a32af(0x1e8),'preview':{'title':a56_0x6a32af(0x1a2),'menuList':a56_0x6a32af(0x19b),'resourceLinks':a56_0x6a32af(0x1e5)},'input':{'title':'*\x20已输入的资源资源','jsUrl':{'label':a56_0x6a32af(0x15a),'placeholder':'输入项目的\x20JS\x20资源链接(https://...)'},'cssUrl':{'label':a56_0x6a32af(0x1b4),'placeholder':a56_0x6a32af(0x212)}}}},'skill':{'install':a56_0x6a32af(0x1ef),'error':{'unsupportedCommand':'错误:\x20不支持的命令:\x20{{cmd}}','installFailed':a56_0x6a32af(0x252),'unknownPlatform':'⚠️\x20\x20未知的平台:\x20{{ide}},使用通用模板','unknownIDE':'\x20\x20✗\x20未知的\x20IDE:\x20{{ide}}','noValidIDE':a56_0x6a32af(0x149),'selectAtLeastOne':a56_0x6a32af(0x133)},'errorHint':{'availableCommands':'\x0a可用命令:','installInteractive':a56_0x6a32af(0x263),'installDirect':a56_0x6a32af(0x237),'showHelp':a56_0x6a32af(0x251),'usageExamples':a56_0x6a32af(0x164),'exampleInteractive':'\x20\x20lovrabet\x20skill\x20install\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20#\x20交互式选择\x20IDE','exampleDirect':a56_0x6a32af(0x129)},'select':{'title':a56_0x6a32af(0x15f),'installAll':a56_0x6a32af(0x25c),'cancel':'取消','inputFormat':'输入格式:\x20输入编号,用空格分隔\x20(例如:\x201\x203\x205)','inputHint':a56_0x6a32af(0x26a),'prompt':a56_0x6a32af(0x146),'cancelled':a56_0x6a32af(0x1f3),'noneSelected':a56_0x6a32af(0x197),'selectedIDE':a56_0x6a32af(0x206),'count':'{{count}}\x20个'},'cdn':{'fetching':a56_0x6a32af(0x159),'fetchingExtend':a56_0x6a32af(0x253),'fetchSuccess':'✓\x20拉取\x20{{count}}\x20个开发者指南','fetchFailed':'\x20\x20!\x20CDN\x20拉取失败,跳过指南安装:\x20{{error}}'},'installing':{'title':a56_0x6a32af(0x1e2),'progress':a56_0x6a32af(0x1fd),'ide':a56_0x6a32af(0x24a),'installed':a56_0x6a32af(0x1f9),'created':a56_0x6a32af(0x218),'createdDir':a56_0x6a32af(0x14a),'createdManifest':a56_0x6a32af(0x26f)},'done':{'success':a56_0x6a32af(0x207),'successInline':a56_0x6a32af(0x1ff),'guidesLocation':'开发者指南位置:','guidesPath':'\x20\x20.lovrabet/skill/.shared/guides/\x20-\x20详细开发指南\x0a','guidesPathInline':a56_0x6a32af(0x14b),'pressAnyKey':'按任意键退出...'},'generic':a56_0x6a32af(0x18b),'help':{'title':a56_0x6a32af(0x1b1),'usage':'用法:','showHelp':a56_0x6a32af(0x223),'installInteractive':a56_0x6a32af(0x148),'installDirect':a56_0x6a32af(0x27e),'installAll':a56_0x6a32af(0x171),'installWithBff':a56_0x6a32af(0x1e3),'installMethods':a56_0x6a32af(0x1de),'interactiveSelect':a56_0x6a32af(0x14e),'interactiveKeys':a56_0x6a32af(0x123),'directInstall':a56_0x6a32af(0x17e),'bffWorkflow':'\x20\x20包含\x20Backend\x20Function\x20同步工作流\x20\x20\x20-\x20使用\x20--dangerously-bff-save\x20标志','supportedIDEs':'支持的\x20IDE:','agentDesc':a56_0x6a32af(0x20e),'allDesc':a56_0x6a32af(0x132),'options':a56_0x6a32af(0x214),'bffOption':a56_0x6a32af(0x20f),'skillContents':a56_0x6a32af(0x260),'skillContentsList':a56_0x6a32af(0x291),'examples':a56_0x6a32af(0x289),'exampleInteractive':a56_0x6a32af(0x259),'exampleDirectDesc':a56_0x6a32af(0x1ea),'exampleBffDesc':'\x20\x20\x20\x20→\x20安装技能包并包含\x20Backend\x20Function\x20同步工作流','exampleAllDesc':a56_0x6a32af(0x16d),'afterInstall':a56_0x6a32af(0x15e),'afterInstallList':a56_0x6a32af(0x27b),'guidesLocationTitle':a56_0x6a32af(0x19e)}},'logs':{'title':'日志','view':'查看日志','clear':a56_0x6a32af(0x27d),'noLogs':a56_0x6a32af(0x1c1),'header':a56_0x6a32af(0x286),'time':a56_0x6a32af(0x1a3),'duration':a56_0x6a32af(0x292),'details':a56_0x6a32af(0x162),'cleared':'*\x20日志已清空'},'start':{'starting':'正在启动开发服务器...'},'build':{'building':a56_0x6a32af(0x172)},'preview':{'previewing':'正在预览项目...','watchMode':a56_0x6a32af(0x17c)},'ui':{'ideSelector':{'title':a56_0x6a32af(0x14d),'hotkeys':a56_0x6a32af(0x1bd)}},'upgrade':{'cli':{'title':a56_0x6a32af(0x20b),'current':a56_0x6a32af(0x276),'stable':a56_0x6a32af(0x1aa),'command':a56_0x6a32af(0x1ee)},'sdk':{'title':a56_0x6a32af(0x1f0),'current':a56_0x6a32af(0x17f),'stable':a56_0x6a32af(0x1aa),'command':a56_0x6a32af(0x1ee)}}};function a56_0x2928(_0x449072,_0x5ae2b3){_0x449072=_0x449072-0x123;var _0x1b25d7=a56_0x1b25();var _0x292801=_0x1b25d7[_0x449072];return _0x292801;}function a56_0x1b25(){var _0x4b0005=['√\x20文档生成完成!成功\x20{{successCount}}\x20个','\x0a未选择任何\x20IDE,安装取消\x0a','指定环境生成文档','同步菜单','*\x20正在更新\x20package.json\x20的\x20name\x20和\x20description\x20字段','待更新的菜单列表:','安装依赖','[Y]\x20是,配置\x20AI\x20助手','开发者指南位置:','!\x20请使用以下方式之一:','CSS\x20链接无法访问','成功在当前目录初始化\x20.lovrabetrc\x20文件','*\x20待更新的菜单&资源链接','\x20\x20\x20时间:\x20{{time}}','\x20\x20lovrabet\x20mcp\x20install\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20交互式选择并配置\x20MCP','*\x20正在检查登录状态...','\x20资源正在同步中...','lovrabet\x20api\x20-\x20API\x20相关操作','√\x20成功拉取\x20{{datasetCount}}\x20个数据集,生成\x20{{modelCount}}\x20个模型','请重启\x20Cursor\x20以加载新的\x20MCP\x20配置。','\x20\x20\x20稳定版本:\x20{{version}}','应用代码不合法','\x0a✗\x20{{ide}}\x20MCP\x20配置失败:\x20{{error}}','*\x20正在配置\x20Lovrabet\x20MCP\x20和\x20Skill...','环境:\x20{{env}}','项目配置','应用AppCode长度不能超过\x20100\x20个字符','Lovrabet\x20Skill\x20-\x20开发者技能包安装工具','更新现有\x20mcp.json\x20配置','[N]\x20跳过,稍后手动配置','CSS\x20链接:\x20','正在获取数据集列表...','配置指引已显示','\x0a已取消配置\x0a','\x20登录中...','4995000BDnnen','37992ceFXTl','配置信息:\x20appcode={{appcode}},\x20env={{env}}','无法在当前目录创建项目,请检查目录权限','↑/↓:\x20移动光标\x20空格:\x20切换选中\x20a:\x20全选\x20i/r:\x20反选\x20q:\x20退出\x20Enter:\x20确认','\x0a📋\x20其他\x20IDE\x20MCP\x20配置:\x0a','*\x20正在创建项目\x20{{name}}...','更新菜单\x20CDN\x20资源','*\x20暂无日志记录','应用AppCode','API\x20管理','查看可用命令。','×\x20API\x20配置拉取异常:\x20{{error}}','*\x20正在创建项目...','应用代码只能包含字母、数字、-\x20和\x20_','错误:\x20不支持的命令:\x20{{cmd}}','项目名称:\x20','无法自动关闭窗口,请手动关闭此标签页或窗口。','√\x20配置文件已创建,可稍后使用\x20\x27lovrabet\x20config\x20set\x20appcode\x20<app-code>\x27\x20配置','菜单名称','开始批量创建菜单,共\x20{{count}}\x20个','项目名长度不能超过\x2050\x20个字符','选择要配置的\x20IDE:','\x20\x20√\x20项目模板已创建','项目名只能以字母或数字开头,且只包含字母、数字、-\x20和\x20_','\x20\x20\x201.\x20配置默认值:\x20lovrabet\x20config\x20set\x20appcode\x20<app-code>','⚠️\x20配置需要手动完成','✓\x20{{scope}}语言配置已设置为:\x20{{value}}','✓\x20Skill\x20安装完成:','\x20\x20\x20\x20→\x20输入编号选择\x20IDE','√\x20配置文件已创建,应用AppCode:\x20{{appCode}}','未提供应用AppCode,且配置中也没有默认值','拉取API配置:\x20','上一步','6784526WoSlkF','请输入编号选择\x20IDE:\x0a','生成多个数据集的文档','安装方式:','加载中...','\x0a📋\x20请执行以下命令配置\x20Claude\x20Code\x20MCP:\x0a','{{count}}\x20个','安装\x20Lovrabet\x20技能包\x20-\x20选择\x20IDE','包含\x20Backend\x20Function\x20同步工作流','已写入\x20.cursor/mcp.json','待更新的资源链接:','获取配置项','配置示例:','正在更新菜单资源链接:\x20{{label}}\x20({{path}})','•\x20MCP:\x20让\x20AI\x20直接访问\x20Lovrabet\x20数据集','\x20\x20\x20\x20→\x20直接安装\x20Cursor\x20和\x20claude\x20code\x20技能包','配置\x20Lovrabet\x20MCP\x20服务器','设置环境\x20(online/daily)','获取数据集失败,HTTP状态码:\x20{{status}}','\x20\x20\x20升级命令:\x20{{command}}','安装技能包','↪\x20SDK\x20版本更新','未知的\x20IDE:\x20{{ide}}','*\x20输出目录:\x20','\x0a已取消安装\x0a','\x20\x20\x202.\x20配置默认值:\x20lovrabet\x20config\x20set\x20app\x20<app-code>','创建技能包\x20manifest','等待\x203\x20秒...\x0a','-\x20模型配置文件\x20({{count}}\x20个模型)','目录\x20\x22{{name}}\x22\x20已存在','已安装\x20{{count}}\x20个目录','*\x20是否配置\x20Lovrabet\x20MCP\x20和\x20Skill?','√\x20更新成功','locale\x20配置值无效,支持的值:\x20zh,\x20en,\x20zh-CN,\x20en-US','正在安装技能包...','!\x20原始数据集\x20{{originalCount}}\x20个,过滤重复\x20{{duplicateCount}}\x20个','✓\x20技能包安装成功!共安装\x20{{count}}\x20个目录','其他\x20IDE\x20配置指引已显示','菜单资源同步成功:\x20{{label}}','现在您可以在\x20Cursor\x20中使用\x20Lovrabet\x20数据集\x20MCP\x20工具了。','需要先配置\x20appcode','正在创建菜单:\x20{{label}}\x20({{path}})','配置信息:','已选择\x20IDE','\x0a✓\x20技能包安装成功!共安装\x20{{count}}\x20个目录\x0a','*\x20仅生成指定数据集的文档:\x20{{codes}}','当前目录已存在\x20.lovrabetrc\x20文件','75132RYPxAu','↪\x20新版本可用','🚀\x20接下来:','配置值无效或过长','其他\x20(通用模板)\x20(.agent/skills/)\x20-\x20兜底方案','\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正在登录,请前往浏览器完成登录...','输入项目的\x20CSS\x20资源链接(https://...)','Enter\x20默认:\x20是','选项:','*\x20正在从服务器拉取\x20API\x20配置...\x20(环境:\x20{{env}})','指定要生成文档的数据集代码(多个用逗号分隔,仅\x20doc\x20命令)','🔗\x20请手动复制登录地址到浏览器:','\x20\x20✓\x20创建\x20{{path}}','{{name}}\x20技能包安装成功','*\x20使用配置的应用AppCode:\x20{{appCode}}','未设置','登录成功,请返回命令行继续操作。当前窗口将在\x20{{seconds}}\x20秒内关闭。','√\x20API\x20配置拉取完成','技能包\x20(研发规范指南)','Cursor\x20Rules\x20文件已存在,跳过','应用代码不能为空','\x20\x20\x20•\x20{{name}}.ts\x20-\x20客户端实例文件','*\x20已生成文件:','显示帮助信息','Lovrabet\x20MCP\x20-\x20MCP\x20服务器配置工具','请执行以下命令配置\x20Claude\x20Code\x20MCP:','*\x20请选择要同步的菜单:','AppCode','\x0a注意:部分配置需要手动执行命令,请按照上述说明操作','📍\x20登录地址:','!\x20请指定一个有效的命令。','使用指定的应用AppCode:\x20{{appCode}}','\x20\x20√\x20环境配置完成','下一步','✓\x20MCP\x20配置完成!','其他\x20IDE','指定环境(如:daily、online)','\x0a✓\x20MCP\x20配置完成\x20({{successCount}}/{{totalCount}}\x20成功)','应用AppCode不合法','\x0a√\x20项目\x20{{name}}\x20创建成功!','agents.md\x20文件已存在,跳过','*\x20正在为项目\x20{{name}}\x20创建配置文件','正在从服务器拉取模型列表...\x20(环境:\x20{{env}})','\x20\x20lovrabet\x20skill\x20install\x20<ide>\x20\x20\x20\x20\x20#\x20直接安装指定\x20IDE\x20的技能包','配置方式:','示例:','*\x20项目名:\x20','正在配置\x20MCP\x20服务器...','生成所有数据集的文档','*\x20生成的文档文件:','\x0a共有\x20{{count}}\x20个数据集需要生成文档\x0a','×\x20未配置\x20AppCode','*\x20清理失败的项目目录:\x20{{dir}}','*\x20从\x20{{total}}\x20个数据集中筛选出\x20{{count}}\x20个匹配的数据集','只生成指定数据集的文档','成功获取\x20{{count}}\x20个线上菜单','Cursor\x20MCP\x20配置成功','指定输出目录(pull:\x20./src/api/,doc:\x20./docs)','*\x20正在处理\x20{{count}}\x20个数据集...','使用指定的\x20appcode','创建菜单失败','清理项目目录失败','\x0a📦\x20正在安装\x20{{name}}...\x0a','[{{current}}/{{total}}]\x20正在生成:\x20{{fileName}}.md\x20({{name}})','JS\x20链接无法访问','可用命令:','✗\x20失败:\x20{{fileName}}.md\x20-\x20{{error}}','!\x20未找到本地页面,请先创建页面','拉取并生成\x20API\x20配置文件','\x20\x20lovrabet\x20skill\x20--help\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20#\x20显示帮助信息\x0a','\x20\x20✗\x20安装\x20{{ide}}\x20失败:\x20{{error}}','正在从\x20CDN\x20拉取开发者指南(含扩展)...','-\x20客户端实例文件','\x20\x20\x20•\x20{{name}}.ts\x20-\x20模型配置文件','指定环境拉取\x20API','正在生成\x20{{count}}\x20个数据集的文档...','*\x20应用AppCode\x20','\x20\x20\x20\x20→\x20交互式选择\x20IDE','请输入有效的\x20JS\x20https\x20链接','正在登录...','全部安装','\x20输入项目的\x20JS\x20资源链接(https://...)','获取菜单列表失败:\x20{{error}}','依赖安装失败:\x20{{error}}','技能包内容包括:','✗\x20配置失败','获取数据集失败:\x20{{error}}','\x20\x20lovrabet\x20skill\x20install\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20#\x20交互式选择并安装技能包','\x20\x20错误:\x20{{error}}','✅\x20浏览器已自动打开,请在浏览器中完成登录','↑/↓:\x20移动\x20空格:\x20切换\x20a:\x20全选\x20i/r:\x20反选\x20Enter:\x20确认','正在配置\x20AI\x20助手...','\x20\x20正在安装依赖...','请前往浏览器完成登录。','输入\x200\x20安装所有\x20IDE,输入\x20q\x20取消\x0a','×\x20文件前缀格式不正确。只能包含字母、数字、连字符和下划线,且必须以字母开头。','登录失败','拉取API配置','MCP\x20服务器\x20(AI\x20访问数据集)','✓\x20创建\x20.lovrabet/skill-manifest.json','指定文档输出目录','\x20\x20$\x20lovrabet\x20mcp\x20install\x20--cursor','创建新的\x20mcp.json\x20配置','按\x20“q”\x20退出。','*\x20创建新项目','\x20\x20lovrabet\x20mcp\x20--help\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20#\x20显示帮助信息\x0a','\x20\x20\x20当前\x20CLI\x20版本:\x20{{version}}','生成配置命令','\x20正在获取线上菜单资源链接...','响应数据格式错误\x20({{datasetCode}}):缺少\x20data.markdown\x20字段','配置当前项目的\x20App\x20Code','\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开发者技能指南','16gHKDpS','清空日志','直接安装指定\x20IDE\x20的技能包','获取文档失败\x20({{datasetCode}}),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','复制\x20Cursor\x20Rules\x20文件失败','请至少选择一个配置项','更新菜单资源失败:\x20{{error}}','创建菜单失败,HTTP状态码:\x20{{status}}','*\x20Lovrabet\x20CLI\x20日志记录:\x0a','*\x20JS\x20链接:\x20','未知错误','示例:','399714ckAfne','\x20\x20q.\x20取消\x0a','继续更新','\x20\x20lovrabet\x20mcp\x20--help\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20显示帮助信息','共享技能文件复制失败','未知的\x20api\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启用)','\x20\x20\x20耗时:\x20{{duration}}ms','Cursor\x20MCP\x20配置失败','\x20\x20\x20\x20→\x20使用\x20↑↓\x20移动光标,空格选中/取消,Enter\x20确认\x0a\x20\x20\x20\x20→\x20按\x20a\x20全选,按\x20i/r\x20反选,按\x20q\x20退出','请输入应用代码\x20(AppCode):','项目名包含非法字符,不允许使用:\x20<\x20>\x20:\x20\x22\x20|\x20?\x20*\x20及控制字符','*\x20正在为项目\x20{{name}}\x20配置应用AppCode:\x20{{appCode}}','复制\x20agents.md\x20文件失败','√\x20菜单创建完成','\x20\x20lovrabet\x20skill\x20install\x20cursor\x20\x20\x20\x20#\x20直接安装\x20Cursor\x20技能包\x0a','*\x20请输入新的资源链接','94314UvMSrB','1278uTJcgI','登录认证','项目名不能为空','正在获取日常菜单列表...\x20(appCode:\x20{{appCode}})','\x20\x20√\x20package.json\x20已更新','JS\x20链接','安装所有\x20IDE\x20技能包(包括通用模板)','请至少选择一个\x20IDE','用法:','现在您可以使用\x20lovrabet\x20api\x20doc\x20和\x20lovrabet\x20api\x20pull\x20等命令了','136096pFuPTF','\x20命令重新登录','生成文档','跳过登录','设置配置项','文档生成失败:\x20{{error}}','*\x20是否要自动拉取\x20API\x20配置?','\x20\x20\x202.\x20使用参数:\x20lovrabet\x20api\x20doc\x20--appcode\x20<app-code>','√\x20检测到有效登录状态','正在生成\x20{{fileName}}.md\x20({{current}}/{{total}})','列出所有配置项','配置AppCode:','✓\x20成功生成:\x20{{fileName}}.md','Lovrabet平台','登录成功!','\x20\x20使用\x20←→\x20选择,回车确认','请选择:\x20','CSS\x20链接','交互式选择并安装技能包','\x0a没有有效的\x20IDE\x20需要安装\x0a','\x20\x20✓\x20创建\x20{{path}}/','开发者指南位置:\x20.lovrabet/skill/.shared/guides/','√\x20package.json\x20已更新:\x20name={{name}}','请选择要配置的\x20IDE:','\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返回修改选择,回车确认\x20IDE','√\x20当前为有效会话,无需重新登录。','登录鉴权失败,登录已过期,请使用\x20lovrabet\x20auth\x20重新登录','创建\x20Cursor\x20Rules\x20文件','登录状态','登录态校验失败,请使用\x20lovrabet\x20auth\x20重新登录','\x0a📦\x20正在配置\x20{{name}}\x20MCP...\x0a',',\x20失败\x20{{failCount}}\x20个','无效的命令,可用命令如下:','正在从\x20CDN\x20拉取开发者指南...','JS\x20链接:\x20','获取菜单列表失败,HTTP状态码:\x20{{status}}','正在初始化配置文件...','请输入有效的\x20CSS\x20https\x20链接','安装后会在项目中创建:','\x0a请选择要安装技能包的\x20IDE\x20(可多选):\x0a','*\x20是否要先登录以便拉取\x20API\x20配置?','*\x20导入方式:','\x20\x20\x20详情:\x20{{details}}','其他\x20IDE\x20配置指引','使用示例:','拉取\x20API','\x20检查中...','⚠️\x20部分配置需要手动完成','7dofJck','!\x20API\x20配置拉取失败,可稍后手动执行:\x20lovrabet\x20api\x20pull','\x0a可用命令:','菜单创建成功:','启动项目:','\x20\x20\x20\x20→\x20安装所有\x20IDE\x20技能包','*\x20共处理\x20{{count}}\x20个数据集','已选择菜单','\x20\x20\x202.\x20使用参数:\x20lovrabet\x20api\x20pull\x20--appcode\x20<app-code>','安装所有技能包','正在构建项目...','{{name}}\x20技能包安装失败','\x20\x20•\x20MCP\x20服务器:','保存配置失败','*\x20选择要配置的\x20IDE:','创建\x20agents.md\x20文件','Claude\x20Code','配置指南:','!\x20API\x20配置拉取异常,项目已创建,可稍后手动执行:\x20lovrabet\x20api\x20pull','!\x20当前未登录','监听模式','不支持的\x20IDE:\x20{{ide}}','\x20\x20直接安装指定\x20IDE\x20(支持多个)\x20\x20\x20\x20\x20\x20\x20-\x20使用\x20--ide\x20标志直接安装','\x20\x20\x20当前版本:\x20{{package}}@{{version}}','指定应用代码','\x20\x20√\x20依赖安装跳过(非交互模式)','\x0a✓\x20Cursor\x20MCP\x20配置成功!\x0a','项目名','按任意键退出...','⚠️\x20以下数据集生成失败:','*\x20正在创建菜单...','使用配置的应用AppCode:\x20{{appCode}}','正在获取线上菜单列表...\x20(appCode:\x20{{appCode}})','启动项目:\x20','Cursor','通用模板','项目名过长,最多支持\x20100\x20个字符','格式化代码','535muOqYV','已创建\x20{{count}}\x20项','8371IkGzDS','\x20\x20lovrabet\x20mcp\x20install\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20#\x20交互式选择并配置\x20MCP','\x0a请选择要配置\x20MCP\x20的\x20IDE:\x0a','请手动执行:\x20{{command}}','\x0a错误:\x20配置失败\x20-\x20{{error}}\x0a','💡\x20如果浏览器没有自动打开,请手动复制上面的登录地址到浏览器中打开'];a56_0x1b25=function(){return _0x4b0005;};return a56_0x1b25();}
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(_0x53021f,_0x1c28b3){const _0x3c732d=a57_0x399c,_0x1a9ea0=_0x53021f();while(!![]){try{const _0xa09ad=parseInt(_0x3c732d(0x148))/0x1*(-parseInt(_0x3c732d(0x13f))/0x2)+-parseInt(_0x3c732d(0x15d))/0x3*(-parseInt(_0x3c732d(0x13e))/0x4)+parseInt(_0x3c732d(0x150))/0x5*(-parseInt(_0x3c732d(0x16a))/0x6)+-parseInt(_0x3c732d(0x156))/0x7*(-parseInt(_0x3c732d(0x164))/0x8)+-parseInt(_0x3c732d(0x15a))/0x9+-parseInt(_0x3c732d(0x142))/0xa+parseInt(_0x3c732d(0x169))/0xb*(parseInt(_0x3c732d(0x14b))/0xc);if(_0xa09ad===_0x1c28b3)break;else _0x1a9ea0['push'](_0x1a9ea0['shift']());}catch(_0x1f91de){_0x1a9ea0['push'](_0x1a9ea0['shift']());}}}(a57_0x3b73,0xdaed9));import{jsxs as a57_0x69fa12,jsx as a57_0x1b4616}from'react/jsx-runtime';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';import{logger}from'../utils/logger.js';function a57_0x399c(_0x320a89,_0x587269){_0x320a89=_0x320a89-0x13c;const _0x3b73a8=a57_0x3b73();let _0x399cf8=_0x3b73a8[_0x320a89];return _0x399cf8;}function a57_0x3b73(){const _0x423d05=['709198WsGoFg','test','column','14421540GNsvmC','init','exit','version','cyan','cwd','1PCeFxR','init.appCodeDesc','red','60cZFHdZ','setLogPath','init.inputAppCode','utf8','创建配置文件失败','6386540RzTvuW','message','init.appCodeLabel','init.success','trim','return','7yowugJ','green','parse','init.creating','4872033kawvIB','init.validation.tooLong','info','425433Bodfxx','online','toLocaleString','env','init.validation.invalidCode','error','backspace','9788488SMFBxN','common.error','package.json','../..','init.nextSteps','6922861UqmnOI','6ApFyQH','1.0.0','string','length','gray','4ZUrWOE'];a57_0x3b73=function(){return _0x423d05;};return a57_0x3b73();}import{readConfig}from'../utils/config.js';import{useI18n}from'../i18n/hooks.js';export function Init({appcode:_0xe3648,env:_0x33b49f}){const _0x19ab5d=a57_0x399c,{t:_0x46d6fe}=useI18n(),[_0x152942,_0x4f54b8]=useState(null),[_0x1271e4,_0x3da33e]=useState(![]),[_0x1ea591,_0xfe17c6]=useState(!_0xe3648),[_0x2d1220,_0x4c297f]=useState(''),[_0x2d9727,_0x93e757]=useState(''),[_0x57ff7e,_0x4b263b]=useState(_0xe3648||''),[_0x31ece3]=useState(_0x33b49f);function _0x544abe(_0x44c990){const _0x101beb=a57_0x399c;if(_0x44c990[_0x101beb(0x13c)]===0x0)return{'valid':![],'message':''};if(_0x44c990[_0x101beb(0x13c)]>0x64)return{'valid':![],'message':_0x46d6fe(_0x101beb(0x15b))};const _0x5773a2=/^[A-Za-z0-9_-]+$/;if(!_0x5773a2[_0x101beb(0x140)](_0x44c990))return{'valid':![],'message':_0x46d6fe('init.validation.invalidFormat')};return{'valid':!![]};}useInput((_0x22d410,_0x356f14)=>{const _0x1faa30=a57_0x399c;if(!_0x1ea591)return;if(_0x356f14[_0x1faa30(0x155)]){if(_0x2d9727||!_0x2d1220[_0x1faa30(0x154)]()){_0x93e757(_0x46d6fe('init.validation.required'));return;}const _0x44a1e7=_0x2d1220['trim'](),{valid:_0x58deac,message:_0x3d4aa9}=_0x544abe(_0x44a1e7);if(!_0x58deac){_0x93e757(_0x3d4aa9||_0x46d6fe(_0x1faa30(0x161)));return;}_0x4b263b(_0x44a1e7),_0xfe17c6(![]);}else{if(_0x356f14[_0x1faa30(0x163)]||_0x356f14['delete'])_0x4c297f(_0x11f234=>{const _0x425896=_0x1faa30,_0x35637a=_0x11f234['slice'](0x0,-0x1);if(_0x35637a['length']===0x0)_0x93e757('');else{const {valid:_0x344325,message:_0x541e3b}=_0x544abe(_0x35637a);_0x93e757(_0x344325?'':_0x541e3b||_0x46d6fe(_0x425896(0x161)));}return _0x35637a;});else _0x356f14['ctrl']&&_0x22d410==='c'?process[_0x1faa30(0x144)](0x0):_0x4c297f(_0x1601a2=>{const _0x3ea723=_0x1faa30,_0x4c83f2=_0x1601a2+_0x22d410,{valid:_0x435c20,message:_0x58d294}=_0x544abe(_0x4c83f2);return _0x93e757(_0x435c20?'':_0x58d294||_0x46d6fe(_0x3ea723(0x161))),_0x4c83f2;});}},{'isActive':_0x1ea591}),useEffect(()=>{const _0x50719e=a57_0x399c;if(!_0x57ff7e||_0x1ea591)return;const _0x426c07=resolve(process[_0x50719e(0x147)](),'.lovrabetrc');if(existsSync(_0x426c07)){_0x4f54b8(_0x46d6fe('init.fileExists')),setTimeout(()=>process[_0x50719e(0x144)](0x1),0x64);return;}try{const _0x7e3ec8=fileURLToPath(import.meta.url),_0x25183c=resolve(dirname(_0x7e3ec8),_0x50719e(0x167)),_0x11ca89=join(_0x25183c,_0x50719e(0x166));let _0x2102d7=_0x50719e(0x16b);try{const _0x163ee0=JSON[_0x50719e(0x158)](readFileSync(_0x11ca89,_0x50719e(0x14e)));_0x2102d7=_0x163ee0['version']||_0x50719e(0x16b);}catch(_0x21ae5c){}const _0x1a0fc1=readConfig(),_0x45be53=typeof _0x1a0fc1[_0x50719e(0x160)]===_0x50719e(0x16c)?_0x1a0fc1[_0x50719e(0x160)]:undefined,{app:_0x12246e,appcode:_0x5c850c,..._0x448047}=_0x1a0fc1,_0x5f01eb={..._0x448047,'appcode':_0x57ff7e,'env':_0x31ece3||_0x45be53||_0x50719e(0x15e),'createdAt':new Date()[_0x50719e(0x15f)](),'version':_0x2102d7};writeFileSync(_0x426c07,JSON['stringify'](_0x5f01eb,null,0x2),{'encoding':_0x50719e(0x14e),'mode':0x180}),logger[_0x50719e(0x14c)](process['cwd']()),logger[_0x50719e(0x15c)](_0x50719e(0x143),'初始化项目配置文件成功',{'appcode':_0x57ff7e,'env':_0x5f01eb[_0x50719e(0x160)],'version':_0x5f01eb[_0x50719e(0x145)],'configPath':_0x426c07}),_0x3da33e(!![]),setTimeout(()=>process[_0x50719e(0x144)](0x0),0x64);}catch(_0x22ad64){logger[_0x50719e(0x162)]('init',_0x50719e(0x14f),{'error':_0x22ad64 instanceof Error?_0x22ad64[_0x50719e(0x151)]:String(_0x22ad64)}),_0x4f54b8(_0x46d6fe(_0x50719e(0x165))+':\x20'+(_0x22ad64 instanceof Error?_0x22ad64[_0x50719e(0x151)]:String(_0x22ad64))),setTimeout(()=>process[_0x50719e(0x144)](0x1),0x64);}},[_0x57ff7e,_0x1ea591,_0x31ece3]);if(_0x152942)return a57_0x1b4616(Box,{'flexDirection':'column','children':a57_0x69fa12(Text,{'color':_0x19ab5d(0x14a),'children':['✗\x20',_0x152942]})});if(_0x1ea591)return a57_0x69fa12(Box,{'flexDirection':_0x19ab5d(0x141),'children':[a57_0x69fa12(Box,{'children':[a57_0x69fa12(Text,{'color':_0x19ab5d(0x146),'children':[_0x46d6fe(_0x19ab5d(0x14d)),'\x20']}),_0x2d1220?a57_0x1b4616(Text,{'color':_0x19ab5d(0x157),'children':_0x2d1220}):a57_0x1b4616(Text,{'color':_0x19ab5d(0x13d),'children':'_'}),_0x2d9727&&a57_0x69fa12(Text,{'color':_0x19ab5d(0x14a),'children':['\x20←\x20',_0x2d9727]})]}),!_0x2d9727&&!_0x2d1220&&a57_0x1b4616(Box,{'children':a57_0x1b4616(Text,{'color':'gray','children':_0x46d6fe(_0x19ab5d(0x149))})})]});if(_0x1271e4)return a57_0x69fa12(Box,{'flexDirection':_0x19ab5d(0x141),'children':[a57_0x69fa12(Text,{'color':'green','children':['✓\x20',_0x46d6fe(_0x19ab5d(0x153))]}),a57_0x69fa12(Text,{'color':_0x19ab5d(0x146),'children':[_0x46d6fe(_0x19ab5d(0x152)),':\x20',_0x57ff7e]}),a57_0x1b4616(Text,{'children':_0x46d6fe(_0x19ab5d(0x168))})]});return a57_0x1b4616(Box,{'children':a57_0x1b4616(Text,{'children':_0x46d6fe(_0x19ab5d(0x159))})});}