@lovrabet/cli 1.3.4-beta.1 → 1.3.4-beta.2
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/lib/ai-setup/AISetupUI.js +1 -1
- package/lib/ai-setup/config.js +1 -1
- package/lib/api/api-doc-ui.js +1 -1
- package/lib/api/api-doc.js +1 -1
- package/lib/api/api-pull-ui.js +1 -1
- package/lib/api/fetch-model-list.js +1 -1
- package/lib/api/generate-api-file.js +1 -1
- package/lib/api/main.js +1 -1
- package/lib/api/pull-silent.js +1 -1
- package/lib/app-menu/app-menu-sync-ui.js +1 -1
- package/lib/app-menu/create-menu.js +1 -1
- package/lib/app-menu/get-local-pages.js +1 -1
- package/lib/app-menu/get-online-menu-list.js +1 -1
- package/lib/app-menu/use-get-online-menu-list.js +1 -1
- package/lib/app-menu/utils.js +1 -1
- package/lib/app-menu/valid-url.js +1 -1
- package/lib/app-menu-update-cdn/current-content.js +1 -1
- package/lib/app-menu-update-cdn/input-cdn-asset.js +1 -1
- package/lib/app-menu-update-cdn/main.js +1 -1
- package/lib/app-menu-update-cdn/update-menu-cdn-url.js +1 -1
- package/lib/auth/auth-server-ui.js +1 -1
- package/lib/auth/auth-server.js +1 -1
- package/lib/auth/constant.js +1 -1
- package/lib/auth/get-cookie.js +1 -1
- package/lib/auth/is-session-valid.js +1 -1
- package/lib/auth/logout.js +1 -1
- package/lib/cli-flags.js +1 -1
- package/lib/cli.js +1 -1
- package/lib/cmd/build-watch.js +1 -1
- package/lib/cmd/build.js +1 -1
- package/lib/cmd/logs.js +1 -1
- package/lib/cmd/preview.js +1 -1
- package/lib/cmd/start-execa.js +1 -1
- package/lib/cmd/start.js +1 -1
- package/lib/config/config-help.js +1 -1
- package/lib/config/main.js +1 -1
- package/lib/constant/domain.js +1 -1
- package/lib/constant/env.js +1 -1
- package/lib/create-app/enhanced-guided-create.js +1 -1
- package/lib/create-app/format-elapsed.js +1 -1
- package/lib/create-app/main.js +1 -1
- package/lib/create-app/non-interactive.js +1 -1
- package/lib/create-app/task-finished.js +1 -1
- package/lib/create-app/task-loading.js +1 -1
- package/lib/create-app/task-running.js +1 -1
- package/lib/create-app/task-time.js +1 -1
- package/lib/create-app/use-copy-project-template.js +1 -1
- package/lib/create-app/use-format-code.js +1 -1
- package/lib/create-app/use-install-dependencies.js +1 -1
- package/lib/help.js +1 -1
- package/lib/i18n/I18nProvider.js +1 -1
- package/lib/i18n/hooks.js +1 -1
- package/lib/i18n/index.js +1 -1
- package/lib/i18n/locales/en-US.js +1 -1
- package/lib/i18n/locales/zh-CN.js +1 -1
- package/lib/init/main.js +1 -1
- package/lib/mcp/McpInstallUI.js +1 -1
- package/lib/mcp/claude.js +1 -1
- package/lib/mcp/cursor.js +1 -1
- package/lib/mcp/main.js +1 -1
- package/lib/mcp/mcp-install-non-interactive.js +1 -1
- package/lib/mcp/mcp-installer.js +1 -1
- package/lib/skills/SkillInstallUI.js +1 -1
- package/lib/skills/main.js +1 -1
- package/lib/skills/skill-install-non-interactive.js +1 -1
- package/lib/skills/skill-installer.js +1 -1
- package/lib/ui/IDESelector.js +1 -1
- package/lib/ui/useIDESelection.js +1 -1
- package/lib/utils/ai_config.js +1 -1
- package/lib/utils/cdn-config.js +1 -1
- package/lib/utils/check-sdk-version.js +1 -1
- package/lib/utils/cli-version-check.js +1 -1
- package/lib/utils/config.js +1 -1
- package/lib/utils/copy-directory.js +1 -1
- package/lib/utils/file-utils.js +1 -1
- package/lib/utils/guides-cdn.js +1 -1
- package/lib/utils/http-client.js +1 -1
- package/lib/utils/logger.js +1 -1
- package/lib/utils/rules-cdn.js +1 -1
- package/lib/utils/sleep.js +1 -1
- package/lib/utils/template-replacer.js +1 -1
- package/package.json +1 -1
- package/templates/projects/sub-app-react-demo/src/pages/index.tsx +29 -6
- package/templates/projects/sub-app-react-demo/src/pages/sdk-demo/index.tsx +3 -3
|
@@ -1 +1 @@
|
|
|
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
|
+
function a55_0xb9f7(){var _0x5f40a6=['Failed\x20to\x20copy\x20agents.md\x20file','×\x20Invalid\x20file\x20prefix.\x20Only\x20letters,\x20numbers,\x20hyphens\x20and\x20underscores\x20allowed,\x20must\x20start\x20with\x20a\x20letter.','\x20\x20\x202.\x20Use\x20flag:\x20lovrabet\x20api\x20pull\x20--appcode\x20<app-code>','Press\x20“q”\x20to\x20exit.','*\x20Lovrabet\x20CLI\x20logs:\x0a','Authentication','*\x20Processed\x20{{count}}\x20datasets','Generic\x20Template','Run\x20the\x20following\x20command\x20to\x20configure\x20Claude\x20Code\x20MCP:','Hint:\x20use\x20','Lovrabet\x20MCP\x20-\x20MCP\x20Server\x20Configuration\x20Tool','Specify\x20dataset\x20codes\x20for\x20doc\x20generation\x20(comma-separated,\x20doc\x20command\x20only)','\x0a{{count}}\x20datasets\x20to\x20generate\x20docs\x20for\x0a','Shared\x20skill\x20files\x20copied\x20successfully','\x20\x20\x20Current\x20CLI\x20version:\x20{{version}}','Previewing\x20project...','\x20\x20√\x20Project\x20template\x20created','Claude\x20Code','✓\x20Skills\x20installed\x20successfully!\x20{{count}}\x20directories\x20created','Installing\x20skills...','Usage','Project','\x20\x20\x20\x20→\x20Install\x20skills\x20with\x20Backend\x20Function\x20sync\x20workflow','[{{current}}/{{total}}]\x20Generating:\x20{{fileName}}.md\x20({{name}})','agents.md\x20already\x20exists,\x20skipping','Local','Project\x20Name','✓\x20MCP\x20server\x20configuration\x20completed:','\x20\x20lovrabet\x20mcp\x20install\x20--cursor\x20\x20\x20\x20Configure\x20Cursor\x20MCP\x20directly','Install\x20all\x20skills','Please\x20enter\x20App\x20Code:','\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)','Using\x20configured\x20AppCode:\x20{{appCode}}','Configuring\x20AI\x20assistant...','Menus\x20to\x20update:','\x20\x20✓\x20Created\x20{{path}}','√\x20{{label}}:\x20','Start\x20batch\x20menu\x20creation,\x20total\x20{{count}}','*\x20Select\x20IDEs\x20to\x20configure:','Skills\x20(engineering\x20guidelines)','\x20\x20√\x20Dependency\x20install\x20skipped\x20(non-interactive)','\x20\x20\x20\x20$\x20lovrabet\x20mcp\x20install\x20--cursor\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20#\x20Configure\x20Cursor','\x20\x20•\x20MCP\x20Server:','*\x20Pulling\x20API\x20config\x20from\x20server...\x20(env:\x20{{env}})','\x20\x20Use\x20←→\x20to\x20revise\x20choice,\x20Enter\x20to\x20confirm\x20IDEs','2457080BiFmcd','\x20\x20\x20\x20→\x20Configure\x20Cursor\x20MCP\x20(writes\x20.cursor/mcp.json)','\x20\x20\x20Time:\x20{{time}}','Config\x20value\x20is\x20invalid\x20or\x20too\x20long','Failed\x20to\x20fetch\x20menu\x20list,\x20HTTP\x20status:\x20{{status}}','*\x20Enter\x20new\x20asset\x20URLs','Failed\x20to\x20pull\x20API\x20config:\x20{{error}}','📍\x20Login\x20URL:','\x0a✓\x20Cursor\x20MCP\x20configured\x20successfully!\x0a','\x20command\x20to\x20re-login','*\x20Press\x20Enter\x20to\x20start\x20login.','*\x20AppCode\x20','App\x20Code\x20identifies\x20your\x20project.\x20Only\x20letters,\x20numbers,\x20-\x20and\x20_\x20are\x20allowed','✗\x20Configuration\x20failed','Include\x20Backend\x20Function\x20sync\x20workflow','201Zsyrnp','×\x20Project\x20creation\x20failed:\x20{{error}}','Your\x20choice:\x20','*\x20JS\x20URL:\x20','CSS\x20URL:\x20','*\x20No\x20logs\x20found','√\x20Doc\x20generation\x20complete!\x20{{successCount}}\x20succeeded','\x20Fetching\x20online\x20menu\x20asset\x20links...','\x20\x20√\x20package.json\x20updated','Please\x20enter\x20a\x20valid\x20CSS\x20https\x20URL','\x0a📦\x20Configuring\x20{{name}}\x20MCP...\x0a','Project\x20name\x20is\x20too\x20long,\x20maximum\x20100\x20characters','[N]\x20Skip,\x20configure\x20later','Dependency\x20installation\x20failed:\x20{{error}}','\x20Fetching\x20online\x20menu\x20list...','Use','Restart\x20Claude\x20Code\x20to\x20take\x20effect','Cursor\x20MCP\x20configuration\x20failed','Generating\x20{{fileName}}.md\x20({{current}}/{{total}})','env\x20value\x20must\x20be\x20\x22online\x22\x20or\x20\x22daily\x22','Developer\x20guides:\x20.lovrabet/skill/.shared/guides/','AppCode\x20can\x20only\x20contain\x20letters,\x20numbers,\x20hyphens\x20and\x20underscores,\x20and\x20must\x20start\x20with\x20a\x20letter\x20or\x20number','*\x20Logging\x20in,\x20please\x20complete\x20in\x20browser...','Enter\x20project\x20JS\x20asset\x20URL\x20(https://...)','Skill\x20contents\x20include:','JS\x20URL','*\x20Using\x20configured\x20AppCode:\x20{{appCode}}','•\x20MCP:\x20Allow\x20AI\x20to\x20access\x20Lovrabet\x20datasets\x20directly','*\x20Processing\x20{{count}}\x20datasets...','Install\x20all','Examples','*\x20Entered\x20asset\x20URLs','Error','MCP\x20Server\x20(AI\x20dataset\x20access)','\x20\x20$\x20lovrabet\x20mcp\x20install\x20--cursor','Cancel\x20update','JS\x20URL:\x20','\x20\x20lovrabet\x20skill\x20install\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20#\x20Interactive\x20IDE\x20selection','Global','View\x20Logs','Generate\x20docs\x20for\x20all\x20datasets','\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','Written\x20.cursor/mcp.json','√\x20Configuration\x20file\x20created,\x20AppCode:\x20{{appCode}}','Available\x20commands:','🚀\x20Next\x20Steps:','✗\x20Failed:\x20{{fileName}}.md\x20-\x20{{error}}','Using\x20specified\x20AppCode:\x20{{appCode}}','Unsupported\x20MCP\x20IDE:\x20{{ide}}','Login\x20Successful','Invalid\x20response\x20format\x20({{datasetCode}}):\x20missing\x20data.markdown\x20field','*\x20Creating\x20menus...','*\x20Configuring\x20AppCode\x20for\x20project\x20{{name}}:\x20{{appCode}}','\x0a📋\x20Run\x20the\x20following\x20command\x20to\x20configure\x20Claude\x20Code\x20MCP:\x0a','\x0aConfiguration\x20cancelled\x0a','Unknown\x20api\x20command','\x0aNo\x20IDE\x20selected,\x20installation\x20cancelled\x0a','to\x20view\x20available\x20commands.','!\x20No\x20valid\x20login\x20detected','\x20\x20\x202.\x20Use\x20flag:\x20lovrabet\x20api\x20doc\x20--appcode\x20<app-code>','Enter\x200\x20to\x20install\x20all\x20IDEs,\x20enter\x20q\x20to\x20cancel\x0a','Invalid\x20locale\x20value.\x20Supported:\x20zh,\x20en,\x20zh-CN,\x20en-US','Project\x20name\x20contains\x20invalid\x20characters.\x20Not\x20allowed:\x20<\x20>\x20:\x20\x22\x20|\x20?\x20*\x20and\x20control\x20characters','Options:','*\x20Creating\x20configuration\x20file\x20for\x20project\x20{{name}}','Failed\x20to\x20create\x20menu','Failed\x20to\x20copy\x20shared\x20skill\x20files','✓\x20Logged\x20out','Other\x20IDE\x20configuration\x20guide\x20displayed','Configuration:','Fetching\x20developer\x20guides\x20from\x20CDN...','Starting\x20development\x20server...','Menu\x20created\x20successfully:','Batch\x20menu\x20creation\x20completed,\x20total\x20{{count}}','Fetched\x20{{count}}\x20online\x20menus\x20successfully','Cursor\x20MCP\x20configured\x20successfully','💡\x20If\x20the\x20browser\x20does\x20not\x20open\x20automatically,\x20copy\x20the\x20login\x20URL\x20above\x20into\x20your\x20browser.','\x20\x20lovrabet\x20skill\x20install\x20<ide>\x20\x20\x20\x20\x20#\x20Install\x20for\x20specific\x20IDE','!\x20No\x20menu\x20asset\x20links\x20found','Configure\x20AI\x20assistant\x20as\x20well?\x20This\x20will:','{{count}}','Generate\x20doc\x20for\x20specific\x20dataset\x20only','\x0aSelect\x20IDEs\x20to\x20install\x20skills\x20(multi-select):\x0a','*\x20Pulling\x20API\x20configuration...','6qEceDJ','*\x20Filtered\x20{{count}}\x20matching\x20datasets\x20from\x20{{total}}\x20total','Info','\x20\x20\x20•\x20{{name}}.ts\x20-\x20Model\x20config\x20file','*\x20Configuring\x20Lovrabet\x20MCP\x20and\x20Skill...','Install\x20for\x20specific\x20IDE','Lovrabet\x20Platform','Configuration\x20methods:','Install\x20dependencies','✓\x20Skill\x20Installation\x20Complete:','44180TdfIvl','Unknown\x20error','*\x20Import\x20usage:','\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','↪\x20SDK\x20update\x20available','Fetching\x20daily\x20menu\x20list...\x20(appCode:\x20{{appCode}})','\x20\x20\x20Stable\x20version:\x20{{version}}','Failed\x20to\x20clean\x20up\x20project\x20directory','✓\x20MCP\x20Server\x20Configuration\x20Complete:','\x20\x20Restart\x20Claude\x20Code\x20to\x20take\x20effect\x0a','Please\x20select\x20at\x20least\x20one\x20IDE','Login\x20successful.\x20Please\x20return\x20to\x20the\x20CLI\x20to\x20continue.\x20This\x20window\x20will\x20close\x20in\x20{{seconds}}\x20seconds.','Specify\x20output\x20directory\x20(pull:\x20./src/api/,\x20doc:\x20./docs)','\x20\x20lovrabet\x20mcp\x20--help\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20#\x20Show\x20help\x0a','Configuration:\x20appcode={{appcode}},\x20env={{env}}','✓\x20Created\x20.lovrabet/skill-manifest.json','Unknown\x20IDE:\x20{{ide}}','Other','\x20\x20\x20\x20→\x20Install\x20all\x20IDE\x20skills','\x20\x20lovrabet\x20mcp\x20install\x20--claude\x20\x20\x20\x20Configure\x20Claude\x20Code\x20MCP\x20directly','\x20\x20•\x20Skill:','Supported\x20IDEs:','Project\x20directory\x20{{name}}\x20already\x20exists,\x20please\x20use\x20a\x20different\x20name','Description','Pull\x20API\x20for\x20specified\x20environment','Project\x20name\x20cannot\x20exceed\x2050\x20characters','\x20\x20\x20Current\x20version:\x20{{package}}@{{version}}','Yes','Please\x20complete\x20login\x20in\x20your\x20browser.','\x0aSelect\x20IDE\x20to\x20configure\x20MCP:\x0a','Generate\x20docs\x20for\x20multiple\x20datasets','Invalid\x20project\x20name','\x20\x20\x201.\x20Specify\x20directly:\x20lovrabet\x20api\x20pull\x20<app-code>','√\x20Pulled\x20{{datasetCount}}\x20datasets,\x20generated\x20{{modelCount}}\x20models','Failed\x20to\x20copy\x20Cursor\x20Rules\x20file','Clear\x20Logs','Pull\x20API\x20config:\x20','3778LPNRpQ','√\x20Updated\x20successfully','Configuration\x20command\x20generated','[Y]\x20Yes,\x20configure\x20AI\x20assistant','\x20\x20✗\x20Failed\x20to\x20install\x20{{ide}}:\x20{{error}}','*\x20CSS\x20URL:\x20','⚠️\x20Some\x20configurations\x20require\x20manual\x20steps','\x20\x20$\x20lovrabet\x20mcp\x20install','App\x20Code','Lovrabet\x20Skill\x20-\x20Developer\x20Skill\x20Installation\x20Tool','Fetching\x20model\x20list\x20from\x20server...\x20(env:\x20{{env}})','CSS\x20URL\x20is\x20unreachable','{{name}}\x20skill\x20installed\x20successfully','Cursor\x20Rules\x20file\x20already\x20exists,\x20skipping','\x20\x20lovrabet\x20mcp\x20--help\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20Show\x20help','10548263gzprgs','*\x20Creating\x20project\x20{{name}}...','✓\x20Fetched\x20{{count}}\x20developer\x20guides','JS\x20URL\x20is\x20unreachable','!\x20Please\x20use\x20one\x20of\x20the\x20following:','Format\x20code','1740557eOvaan','228045WzDVBN','Configure\x20AppCode:','\x20\x20\x20\x20→\x20Enter\x20number\x20to\x20select\x20IDE','Please\x20select\x20at\x20least\x20one\x20item\x20to\x20configure','!\x20The\x20following\x20dataset\x20codes\x20do\x20not\x20exist:\x20{{codes}}','Install\x20Lovrabet\x20Skills\x20-\x20Select\x20IDE','Create\x20new\x20mcp.json\x20config','Selected\x20IDEs','Fetching\x20developer\x20guides\x20from\x20CDN\x20(with\x20extensions)...','Watch\x20Mode','login\x20again\x20and\x20retry','!\x20Please\x20specify\x20a\x20valid\x20command.','↑/↓:\x20Move\x20\x20Space:\x20Toggle\x20\x20a:\x20All\x20\x20q:\x20Quit\x20\x20Enter:\x20Confirm','Set\x20display\x20language\x20(zh/en)','*\x20Checking\x20login\x20status...','Directory\x20\x22{{name}}\x22\x20already\x20exists','\x20\x20\x20\x20$\x20lovrabet\x20mcp\x20install\x20--claude\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20#\x20Configure\x20Claude\x20Code','Cancel','×\x20--params\x20is\x20not\x20valid\x20JSON\x20format','*\x20Select\x20menus\x20to\x20sync:','\x0a📦\x20Installing\x20{{name}}...\x0a','Server\x20returned\x20empty\x20menu\x20list','*\x20Configure\x20Lovrabet\x20MCP\x20and\x20Skill?','✓\x20MCP\x20configuration\x20completed!','Create','Environment:\x20{{env}}','Login\x20successful!','Project\x20name:\x20','Get\x20a\x20config\x20value','Configuring\x20MCP\x20server...','Start\x20project:','\x20\x20Include\x20BFF\x20sync\x20workflow\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20-\x20Use\x20--dangerously-bff-save\x20flag','After\x20installation,\x20the\x20following\x20will\x20be\x20created\x20in\x20your\x20project:','√\x20Valid\x20session\x20detected,\x20no\x20login\x20required.','⚠️\x20\x20Unknown\x20platform:\x20{{ide}},\x20using\x20generic\x20template','All\x20specified\x20dataset\x20codes\x20do\x20not\x20exist:\x20{{codes}}','Pull\x20API\x20configuration:','\x20\x20.lovrabet/skill/.shared/guides/\x20-\x20Detailed\x20developer\x20guides\x0a','\x0a√\x20Project\x20{{name}}\x20created\x20successfully!','-\x20Client\x20instance\x20file','Update\x20existing\x20mcp.json\x20config','Invalid\x20AppCode','Configuration\x20guide\x20displayed','Menu\x20Name','No\x20AppCode\x20provided\x20and\x20no\x20default\x20configured','🔗\x20Please\x20copy\x20the\x20login\x20URL\x20into\x20your\x20browser:','AppCode','.lovrabetrc\x20file\x20already\x20exists\x20in\x20current\x20directory','Specify\x20environment\x20(e.g.\x20daily,\x20online)','\x20\x20√\x20Environment\x20configured','\x0aError:\x20Configuration\x20failed\x20-\x20{{error}}\x0a','Please\x20run:\x20{{command}}','Copy\x20project\x20files','Invalid\x20command.\x20Available\x20commands:','Failed\x20to\x20fetch\x20doc\x20({{datasetCode}}),\x20HTTP\x20status:\x20{{status}}','*\x20Creating\x20project...','*\x20Create\x20new\x20project','Please\x20use\x20the\x20--appcode\x20flag,\x20for\x20example:','Usage:','Logs','✓\x20Skill\x20installation\x20completed:','Login\x20status','Create\x20agents.md\x20file','Specify\x20app\x20code','Input\x20format:\x20Enter\x20numbers\x20separated\x20by\x20spaces\x20(e.g.\x201\x203\x205)','!\x20API\x20configuration\x20pull\x20error,\x20project\x20created,\x20you\x20can\x20manually\x20run:\x20lovrabet\x20api\x20pull','Failed\x20to\x20create\x20menu:\x20{{error}}','App\x20Code\x20cannot\x20be\x20empty','\x20\x20Environment:\x20{{env}}','Generate\x20docs\x20for\x20specified\x20environment','Error:\x20Unsupported\x20command:\x20{{cmd}}','{{count}}\x20IDEs','Previous','\x20Enter\x20project\x20CSS\x20asset\x20URL\x20(https://...)','*\x20Login\x20first\x20to\x20pull\x20API\x20config?','*\x20Project\x20name:\x20','Create\x20Cursor\x20Rules\x20file','-\x20Model\x20config\x20({{count}}\x20models)','\x20\x20\x20Interactive\x20selection\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20-\x20Show\x20IDE\x20list\x20for\x20selection','Finish','\x20|\x20AppCode:\x20','Examples:','You\x20can\x20now\x20use\x20commands\x20like\x20\x27lovrabet\x20api\x20doc\x27\x20and\x20\x27lovrabet\x20api\x20pull\x27','Enter\x20a\x20number\x20to\x20select\x20IDE:\x0a','Update','Claude\x20Code\x20MCP\x20command\x20generated','Project\x20Configuration','85UXXtvK','266984MuDuVl','No\x20config\x20value\x20provided','Project\x20name\x20must\x20start\x20with\x20a\x20letter\x20or\x20number\x20and\x20only\x20contain\x20letters,\x20numbers,\x20-\x20and\x20_','Please\x20enter\x20a\x20valid\x20JS\x20https\x20URL','1.\x20Configure\x20Lovrabet\x20MCP\x20and\x20Skill','√\x20Lovrabet\x20MCP\x20and\x20Skill\x20configuration\x20completed','\x0a📋\x20Other\x20IDE\x20MCP\x20configuration:\x0a','*\x20Updating\x20package.json\x20name\x20and\x20description\x20fields','\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)','\x20\x20Installing\x20dependencies...','Pull\x20API','Other\x20(generic\x20template)\x20(.agent/skills/)\x20-\x20Fallback','Specify\x20output\x20directory','Failed\x20to\x20fetch\x20menu\x20list:\x20{{error}}','Failed\x20to\x20update\x20menu\x20assets:\x20{{error}}','\x20\x20\x20Upgrade\x20command:\x20{{command}}','Next','Authentication\x20failed,\x20session\x20expired.\x20Please\x20use\x20lovrabet\x20auth\x20to\x20login\x20again','Developer\x20guides\x20location:','×\x20--datasetcode\x20cannot\x20be\x20empty','{{count}}\x20items\x20created','Failed\x20to\x20save\x20config','Please\x20configure\x20app\x20code\x20first\x20via\x20`lovrabet\x20config\x20set\x20app\x20<value>`','\x20\x20✗\x20Unknown\x20IDE:\x20{{ide}}','Asset\x20links\x20to\x20update:','{{count}}\x20directories\x20installed','\x20\x20\x20\x20→\x20Install\x20Cursor\x20and\x20Claude\x20Code\x20skills\x20directly','*\x20Generated\x20files:','Usage\x20examples:','API\x20Management','Project\x20name\x20cannot\x20be\x20empty','Logging\x20in...','!\x20API\x20configuration\x20pull\x20failed,\x20you\x20can\x20manually\x20run:\x20lovrabet\x20api\x20pull','Menu\x20assets\x20synced:\x20{{label}}','*\x20Output\x20directory:\x20','×\x20AppCode\x20not\x20configured','MCP\x20&\x20Skill','Use\x20specified\x20appcode','Sync\x20Menu','Login\x20failed','AppCode\x20cannot\x20exceed\x20100\x20characters','*\x20Cleaning\x20up\x20failed\x20project\x20directory:\x20{{dir}}','⚠️\x20The\x20following\x20datasets\x20failed\x20to\x20generate:','Configuration\x20guide:','Detailed\x20guide:\x20https://help.yuntoo.com/mcp/config-guide','CSS\x20URL','App\x20Code\x20cannot\x20exceed\x20100\x20characters','\x0a✓\x20MCP\x20configuration\x20completed\x20({{successCount}}/{{totalCount}}\x20succeeded)','↑/↓:\x20Move\x20\x20Space:\x20Toggle\x20\x20a:\x20All\x20\x20i/r:\x20Invert\x20\x20Enter:\x20Confirm','List\x20all\x20config\x20values','63rMePDu','Loading...','Failed\x20to\x20fetch\x20datasets:\x20{{error}}','\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','*\x20Generating\x20API\x20config\x20files:','\x0a✗\x20{{ide}}\x20MCP\x20configuration\x20failed:\x20{{error}}'];a55_0xb9f7=function(){return _0x5f40a6;};return a55_0xb9f7();}var a55_0x45567b=a55_0x3b28;function a55_0x3b28(_0x4354e2,_0x2ac565){_0x4354e2=_0x4354e2-0x19b;var _0xb9f75f=a55_0xb9f7();var _0x3b282f=_0xb9f75f[_0x4354e2];return _0x3b282f;}(function(_0x5ddb47,_0x53712a){var _0x56ab5a=a55_0x3b28,_0x4e5141=_0x5ddb47();while(!![]){try{var _0x30196b=-parseInt(_0x56ab5a(0x20a))/0x1+parseInt(_0x56ab5a(0x1f4))/0x2*(-parseInt(_0x56ab5a(0x2d7))/0x3)+-parseInt(_0x56ab5a(0x1cf))/0x4*(parseInt(_0x56ab5a(0x261))/0x5)+-parseInt(_0x56ab5a(0x1c5))/0x6*(parseInt(_0x56ab5a(0x209))/0x7)+-parseInt(_0x56ab5a(0x262))/0x8*(parseInt(_0x56ab5a(0x294))/0x9)+parseInt(_0x56ab5a(0x2c8))/0xa+parseInt(_0x56ab5a(0x203))/0xb;if(_0x30196b===_0x53712a)break;else _0x4e5141['push'](_0x4e5141['shift']());}catch(_0x558de9){_0x4e5141['push'](_0x4e5141['shift']());}}}(a55_0xb9f7,0x2bf26));export default{'common':{'success':'Success','error':a55_0x45567b(0x2f7),'warning':'Warning','info':a55_0x45567b(0x1c7),'loading':a55_0x45567b(0x295),'cancel':a55_0x45567b(0x21b),'confirm':'Confirm','next':a55_0x45567b(0x272),'previous':a55_0x45567b(0x252),'finish':a55_0x45567b(0x259)},'help':{'invalidCommand':a55_0x45567b(0x215),'usageHint':a55_0x45567b(0x2e6),'viewCommands':a55_0x45567b(0x1aa)},'cli':{'usage':a55_0x45567b(0x2af),'examples':a55_0x45567b(0x2f5),'description':a55_0x45567b(0x1e6)},'init':{'inputAppCode':a55_0x45567b(0x2b9),'appCodeDesc':a55_0x45567b(0x2d4),'fileExists':a55_0x45567b(0x239),'creating':'Initializing\x20configuration\x20file...','success':'Successfully\x20initialized\x20.lovrabetrc\x20file\x20in\x20current\x20directory','appCodeLabel':a55_0x45567b(0x238),'nextSteps':a55_0x45567b(0x25c),'validation':{'required':a55_0x45567b(0x24d),'tooLong':a55_0x45567b(0x290),'invalidFormat':'App\x20Code\x20can\x20only\x20contain\x20letters,\x20numbers,\x20-\x20and\x20_','invalidCode':'Invalid\x20App\x20Code'}},'create':{'projectNameLabel':'Project\x20Name','appCodeLabel':'App\x20Code','validation':{'required':a55_0x45567b(0x280),'invalidChars':a55_0x45567b(0x1af),'tooLong':a55_0x45567b(0x2e2),'dirExists':a55_0x45567b(0x1e5),'noPermission':'Cannot\x20create\x20project\x20in\x20current\x20directory,\x20please\x20check\x20directory\x20permissions','projectName':{'tooLong':a55_0x45567b(0x1e8),'invalidFormat':a55_0x45567b(0x264),'invalid':a55_0x45567b(0x1ee),'dirExistsShort':a55_0x45567b(0x219)},'appCode':{'tooLong':a55_0x45567b(0x28a),'invalidFormat':a55_0x45567b(0x2ec),'invalid':a55_0x45567b(0x233)},'ide':{'required':a55_0x45567b(0x1d9)}},'common':{'yes':a55_0x45567b(0x1ea),'no':'No','selectHint':'\x20\x20Use\x20←→\x20to\x20choose,\x20press\x20Enter\x20to\x20confirm'},'steps':{'pullingApi':a55_0x45567b(0x1c4),'apiPullSuccess':'√\x20API\x20configuration\x20pulled\x20successfully','apiPullFailed':a55_0x45567b(0x282),'apiPullError':a55_0x45567b(0x24b),'updatingPackage':a55_0x45567b(0x269),'packageUpdated':'√\x20package.json\x20updated:\x20name={{name}}','configuringAppCode':a55_0x45567b(0x1a5),'creatingConfig':'*\x20Creating\x20configuration\x20file\x20for\x20project\x20{{name}}','configCreatedWithAppCode':a55_0x45567b(0x19c),'configCreated':'√\x20Configuration\x20file\x20created,\x20you\x20can\x20configure\x20later\x20with\x20\x27lovrabet\x20config\x20set\x20appcode\x20<app-code>\x27','configuringMcp':a55_0x45567b(0x1c9),'mcpConfigComplete':a55_0x45567b(0x267),'cleaningUp':a55_0x45567b(0x28b),'projectName':{'label':a55_0x45567b(0x2b5)},'appCode':{'label':a55_0x45567b(0x1fc),'notSet':'Not\x20set'},'apiPull':{'label':'Pull\x20API\x20config'},'lovrabetSetup':{'label':a55_0x45567b(0x286),'ideCount':a55_0x45567b(0x251)},'login':{'label':a55_0x45567b(0x247),'loggedIn':'Logged\x20in','failed':a55_0x45567b(0x289),'skipped':'Login\x20skipped'}},'title':a55_0x45567b(0x242),'completedStep':a55_0x45567b(0x2bf),'input':{'projectName':{'label':a55_0x45567b(0x255),'hint':'Press\x20Enter\x20to\x20confirm\x20or\x20type\x20a\x20custom\x20name'},'appCode':{'label':a55_0x45567b(0x2d3),'optional':'[optional]:\x20','hint':'Bind\x20AppCode\x20to\x20auto-configure\x20API,\x20e.g.\x20app-c4c89304\x20(press\x20Enter\x20to\x20skip)'}},'login':{'checking':a55_0x45567b(0x218),'checkingStatus':'\x20Checking...','valid':'√\x20Valid\x20login\x20detected','notDetected':a55_0x45567b(0x1ab),'prompt':a55_0x45567b(0x254),'inProgress':a55_0x45567b(0x2ed),'inProgressStatus':'\x20Logging\x20in...'},'apiPull':{'confirm':'*\x20Automatically\x20pull\x20API\x20config?','recommendation':'\x20\x20Recommended:\x20Yes,\x20to\x20auto-configure\x20API'},'lovrabetSetup':{'confirm':a55_0x45567b(0x220),'selectIdeHint':a55_0x45567b(0x2c7),'selectIdeTitle':'Select\x20IDEs\x20to\x20configure:','keyboardShortcuts':'↑/↓:\x20Move\x20\x20Space:\x20Toggle\x20\x20a:\x20All\x20\x20i/r:\x20Invert\x20\x20Enter:\x20Confirm','inProgress':'*\x20Configuring\x20Lovrabet\x20MCP\x20and\x20Skill...','mcpCompleted':a55_0x45567b(0x2b6),'skillCompleted':a55_0x45567b(0x246)},'creating':a55_0x45567b(0x241),'display':{'projectName':a55_0x45567b(0x225),'appCode':a55_0x45567b(0x25a)},'packageJson':{'updating':'*\x20Updating\x20package.json\x20name\x20and\x20description\x20fields','updated':'√\x20package.json\x20updated:\x20name={{name}}'},'config':{'configuringAppCode':'*\x20Configuring\x20AppCode\x20for\x20project\x20{{name}}:\x20{{appCode}}','creating':a55_0x45567b(0x1b1),'createdWithAppCode':a55_0x45567b(0x19c),'createdWithoutAppCode':'√\x20Configuration\x20file\x20created,\x20you\x20can\x20configure\x20later\x20with\x20\x27lovrabet\x20config\x20set\x20appcode\x20<app-code>\x27'},'cleanup':{'inProgress':a55_0x45567b(0x28b)},'results':{'mcpComplete':a55_0x45567b(0x1d7),'skillComplete':a55_0x45567b(0x1ce),'nextSteps':a55_0x45567b(0x19e)},'nextSteps':{'configureMcpAndSkill':a55_0x45567b(0x266),'skill':a55_0x45567b(0x1e3),'mcp':a55_0x45567b(0x2c5),'startProject':a55_0x45567b(0x228),'pullApi':a55_0x45567b(0x22e),'configAppCode':a55_0x45567b(0x20b)},'errors':{'createFailed':a55_0x45567b(0x2d8),'cleanupFailed':a55_0x45567b(0x1d6),'depsInstallFailed':a55_0x45567b(0x2e4)},'nonInteractive':{'creating':a55_0x45567b(0x204),'templateCreated':a55_0x45567b(0x2ab),'packageJsonUpdated':a55_0x45567b(0x2df),'installingDeps':a55_0x45567b(0x26b),'depsSkipped':a55_0x45567b(0x2c3),'codeFormatted':'\x20\x20√\x20Code\x20formatted','envConfigured':a55_0x45567b(0x23b),'success':a55_0x45567b(0x230)},'tasks':{'copyFiles':a55_0x45567b(0x23e),'formatCode':'Format\x20code','installDependencies':a55_0x45567b(0x1cd),'formatCodeLabel':a55_0x45567b(0x208)},'nextStepsAlt':{'startProject':'Start\x20project:\x20','pullApi':a55_0x45567b(0x1f3),'configureLovrabet':a55_0x45567b(0x266)}},'config':{'title':a55_0x45567b(0x260),'help':{'invalidCommand':a55_0x45567b(0x23f),'examples':a55_0x45567b(0x25b),'set':'Set\x20a\x20config\x20value','get':a55_0x45567b(0x226),'list':a55_0x45567b(0x293),'exampleApp':'Set\x20App\x20Code\x20for\x20current\x20project','exampleEnv':'Set\x20environment\x20(online/daily)','exampleLocale':a55_0x45567b(0x217)},'validation':{'envInvalid':a55_0x45567b(0x2ea),'localeInvalid':a55_0x45567b(0x1ae),'valueInvalid':a55_0x45567b(0x2cb),'noValue':a55_0x45567b(0x263),'saveFailed':a55_0x45567b(0x277)},'success':{'envSet':'✓\x20{{scope}}\x20env\x20set\x20to:\x20{{value}}','localeSet':'✓\x20{{scope}}\x20locale\x20set\x20to:\x20{{value}}'},'scope':{'project':a55_0x45567b(0x2b0),'global':a55_0x45567b(0x2fd)}},'api':{'title':a55_0x45567b(0x27f),'pull':a55_0x45567b(0x26c),'doc':'Generate\x20Documentation','help':{'title':'lovrabet\x20api\x20-\x20API\x20Operations','usage':a55_0x45567b(0x244),'options':a55_0x45567b(0x1b0),'optAppcode':a55_0x45567b(0x249),'optOutput':a55_0x45567b(0x1db),'optEnv':a55_0x45567b(0x23a),'optDatasetcode':a55_0x45567b(0x2a6),'optHelp':'Show\x20this\x20help\x20message','examples':a55_0x45567b(0x25b),'pullDesc':'Pull\x20and\x20generate\x20API\x20config\x20files','pullAppcode':a55_0x45567b(0x287),'pullOutput':a55_0x45567b(0x26e),'pullEnv':a55_0x45567b(0x1e7),'docDesc':a55_0x45567b(0x2ff),'docAppcode':'Use\x20specified\x20appcode','docOutput':'Specify\x20doc\x20output\x20directory','docEnv':a55_0x45567b(0x24f),'docDataset':a55_0x45567b(0x1c2),'docDatasets':a55_0x45567b(0x1ed),'unknownCommand':a55_0x45567b(0x1a8),'availableCommands':a55_0x45567b(0x19d)},'common':{'noPositionalArgs':'❌\x20Error:\x20Positional\x20arguments\x20are\x20no\x20longer\x20supported','useAppcodeFlag':a55_0x45567b(0x243),'noAppCode':a55_0x45567b(0x285),'noAppCodeHint':a55_0x45567b(0x207),'noAppCodeOption1':'\x20\x20\x201.\x20Set\x20default:\x20lovrabet\x20config\x20set\x20appcode\x20<app-code>','noAppCodeOption2Pull':a55_0x45567b(0x29d),'noAppCodeOption2Doc':a55_0x45567b(0x1ac),'usingConfigAppCode':a55_0x45567b(0x2f1),'usingConfigAppCodeHint':'\x20\x20(Note:\x20--appcode\x20flag\x20matches\x20config,\x20using\x20default\x20config)','usingSpecifiedAppCode':a55_0x45567b(0x1a0),'usingDefaultAppCode':a55_0x45567b(0x2bb),'noAppCodeDefault':a55_0x45567b(0x236),'paramsInvalidJson':'×\x20--params\x20must\x20be\x20a\x20valid\x20JSON\x20object','paramsNotJson':a55_0x45567b(0x21c),'paramsError':'\x20\x20Error:\x20{{error}}','datasetcodeEmpty':a55_0x45567b(0x275),'onlyGenerateDatasets':'*\x20Generating\x20docs\x20only\x20for\x20specified\x20datasets:\x20{{codes}}','authExpired':a55_0x45567b(0x273),'authRetry':a55_0x45567b(0x214),'unknownError':a55_0x45567b(0x1d0)},'pullUI':{'fetching':a55_0x45567b(0x2c6),'successPull':'√\x20Pulled\x20{{datasetCount}}\x20datasets,\x20generated\x20{{modelCount}}\x20models','duplicateInfo':'!\x20Original\x20{{originalCount}}\x20datasets,\x20filtered\x20{{duplicateCount}}\x20duplicates','generatedFiles':a55_0x45567b(0x27d),'modelFile':a55_0x45567b(0x257),'clientFile':a55_0x45567b(0x231),'importHint':a55_0x45567b(0x1d1),'pullFailed':a55_0x45567b(0x2ce)},'docUI':{'fetchingDatasets':'Fetching\x20dataset\x20list...','noDatasets':'No\x20datasets\x20found','datasetsNotFound':a55_0x45567b(0x20e),'allDatasetsNotFound':a55_0x45567b(0x22d),'filteredDatasets':a55_0x45567b(0x1c6),'generatingDocs':'Generating\x20docs\x20for\x20{{count}}\x20datasets...','generatingFile':a55_0x45567b(0x2e9),'docComplete':a55_0x45567b(0x2dd),'docFailed':',\x20{{failCount}}\x20failed','processedDatasets':a55_0x45567b(0x2a1),'outputDir':a55_0x45567b(0x284),'generatedDocs':'*\x20Generated\x20doc\x20files:','failedDatasets':a55_0x45567b(0x28c),'docGenerateFailed':'Doc\x20generation\x20failed:\x20{{error}}'},'fetchModel':{'fetching':a55_0x45567b(0x1fe),'httpError':'Failed\x20to\x20fetch\x20datasets,\x20HTTP\x20status:\x20{{status}}','fetchError':a55_0x45567b(0x296)},'generateFile':{'noAppCode':a55_0x45567b(0x278)},'docBatch':{'totalDatasets':a55_0x45567b(0x2a7),'generating':a55_0x45567b(0x2b2),'success':'✓\x20Generated:\x20{{fileName}}.md','failed':a55_0x45567b(0x19f),'waiting':'Waiting\x203\x20seconds...\x0a','docFormatError':a55_0x45567b(0x1a3),'httpError':a55_0x45567b(0x240)},'silent':{'invalidPrefix':a55_0x45567b(0x29c),'fetching':a55_0x45567b(0x2c6),'generating':a55_0x45567b(0x299),'modelFileName':a55_0x45567b(0x1c8),'clientFileName':'\x20\x20\x20•\x20{{name}}.ts\x20-\x20Client\x20instance\x20file','processing':a55_0x45567b(0x2f3),'success':a55_0x45567b(0x1f0),'error':'×\x20API\x20config\x20pull\x20failed:\x20{{error}}'}},'auth':{'title':a55_0x45567b(0x2a0),'login':{'success':{'title':a55_0x45567b(0x1a2),'message':a55_0x45567b(0x1da),'manualClose':'Unable\x20to\x20close\x20automatically.\x20Please\x20close\x20this\x20tab\x20or\x20window\x20manually.'},'successCli':a55_0x45567b(0x224),'inProgress':a55_0x45567b(0x281),'browserPrompt':a55_0x45567b(0x1eb),'pressEnter':a55_0x45567b(0x2d2),'pressQToExit':a55_0x45567b(0x29e)},'session':{'valid':a55_0x45567b(0x22b)},'server':{'starting':'🔐\x20Starting\x20login\x20service...','loginUrl':a55_0x45567b(0x2cf),'openingBrowser':'🌐\x20Attempting\x20to\x20open\x20browser\x20automatically...','manualOpenHint':a55_0x45567b(0x1bd),'browserOpened':'✅\x20Browser\x20opened.\x20Please\x20complete\x20login\x20in\x20the\x20browser.','browserOpenFailed':'⚠️\x20\x20Failed\x20to\x20open\x20browser\x20automatically','manualCopyUrl':a55_0x45567b(0x237)},'logout':{'success':a55_0x45567b(0x1b4),'notLoggedIn':'!\x20Not\x20logged\x20in'}},'menu':{'sync':a55_0x45567b(0x288),'update':'Update\x20Menu\x20CDN\x20Resources'},'mcp':{'cursor':'Cursor','claude':a55_0x45567b(0x2ac),'error':{'unsupportedCommand':a55_0x45567b(0x250),'missingAppcode':'No\x20appcode\x20found.\x20Run\x20\x27lovrabet\x20init\x27\x20to\x20initialize\x20project\x20config'},'help':{'title':a55_0x45567b(0x2a5),'availableCommands':'\x0aAvailable\x20commands:','command':{'install':'\x20\x20lovrabet\x20mcp\x20install\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20#\x20Interactive\x20MCP\x20configuration','help':a55_0x45567b(0x1dc)},'usage':{'help':a55_0x45567b(0x202),'install':a55_0x45567b(0x298),'installCursor':a55_0x45567b(0x2b7),'installClaude':a55_0x45567b(0x1e2)},'configMethods':a55_0x45567b(0x1cc),'configMethodsInteractive':a55_0x45567b(0x258),'configMethodsInteractiveHint':a55_0x45567b(0x20c),'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':a55_0x45567b(0x2c4),'configMethodsDirectClaude':a55_0x45567b(0x21a),'supportedIDEs':a55_0x45567b(0x1e4),'examples':'Examples:','exampleInstall':a55_0x45567b(0x1fb),'exampleInstallHint':'\x20\x20\x20\x20→\x20Interactive\x20IDE\x20selection','exampleInstallCursor':a55_0x45567b(0x2f9),'exampleInstallCursorHint':a55_0x45567b(0x2c9),'configGuide':a55_0x45567b(0x28d)},'select':{'chooseIDE':a55_0x45567b(0x1ec),'cancel':'\x20\x20q.\x20Cancel\x0a','enterNumber':a55_0x45567b(0x25d),'prompt':a55_0x45567b(0x2d9),'cancelled':a55_0x45567b(0x1a7),'invalidChoice':a55_0x45567b(0x297)},'installFlow':{'configuring':a55_0x45567b(0x2e1),'error':'\x0aError:\x20Configuration\x20failed\x20-\x20{{error}}\x0a'},'cursorConfig':{'success':a55_0x45567b(0x2d0),'configInfo':a55_0x45567b(0x1b6),'usageHint':'You\x20can\x20now\x20use\x20Lovrabet\x20dataset\x20MCP\x20tools\x20in\x20Cursor.','restartRequired':'Please\x20restart\x20Cursor\x20to\x20load\x20the\x20new\x20MCP\x20config.','error':a55_0x45567b(0x23c),'rules':{'exists':a55_0x45567b(0x201),'created':a55_0x45567b(0x256),'copyFailed':'Failed\x20to\x20copy\x20Cursor\x20Rules\x20file'},'updateExisting':a55_0x45567b(0x232),'createNew':a55_0x45567b(0x210),'written':'Written\x20.cursor/mcp.json'},'claudeConfig':{'error':a55_0x45567b(0x23c),'agents':{'exists':a55_0x45567b(0x2b3),'created':a55_0x45567b(0x248),'copyFailed':a55_0x45567b(0x29b)},'manualCommand':a55_0x45567b(0x2a3),'configInfo':a55_0x45567b(0x1b6),'restartRequired':a55_0x45567b(0x2e7),'commandGenerated':a55_0x45567b(0x1f6)},'other':{'configInfo':a55_0x45567b(0x1dd),'configGuide':a55_0x45567b(0x28e),'guideShown':a55_0x45567b(0x1b5)},'config':{'env':a55_0x45567b(0x223)},'install':{'starting':'Start\x20configuring\x20MCP','unknownIDE':a55_0x45567b(0x1df),'otherIDE':'Other\x20IDE','success':'\x0a✓\x20{{ide}}\x20MCP\x20configured\x20successfully','failed':a55_0x45567b(0x29a),'completed':a55_0x45567b(0x291),'manualActionRequired':'\x0aNote:\x20Some\x20configurations\x20require\x20manual\x20commands,\x20please\x20follow\x20the\x20instructions\x20above'},'ui':{'otherIDE':'Other\x20IDE','otherIDEDescription':'Other\x20IDE\x20configuration\x20guide','selectAtLeastOne':a55_0x45567b(0x1d9),'selectedIDE':'Selected\x20IDEs','count':a55_0x45567b(0x1c1),'title':'Configure\x20Lovrabet\x20MCP\x20Server','configuring':a55_0x45567b(0x227),'completed':a55_0x45567b(0x221),'partialManual':a55_0x45567b(0x1fa),'failed':a55_0x45567b(0x2d5),'manualRequired':'⚠️\x20Configuration\x20requires\x20manual\x20steps','pressAnyKeyToExit':'Press\x20any\x20key\x20to\x20exit...','unsupportedIDE':'Unsupported\x20IDE:\x20{{ide}}'}},'aiSetup':{'error':{'missingAppcode':'Appcode\x20must\x20be\x20configured\x20first'},'mcp':{'cursor':{'success':a55_0x45567b(0x1bc),'written':a55_0x45567b(0x19b),'error':a55_0x45567b(0x2e8),'rules':{'created':'Create\x20Cursor\x20Rules\x20file','copyFailed':a55_0x45567b(0x1f1)}},'claude':{'commandGenerated':a55_0x45567b(0x25f),'manualCommand':a55_0x45567b(0x1a6),'configInfo':a55_0x45567b(0x1b6),'env':a55_0x45567b(0x24e),'restartRequired':a55_0x45567b(0x1d8),'manualExecute':a55_0x45567b(0x23d),'agents':{'created':a55_0x45567b(0x248),'copyFailed':a55_0x45567b(0x29b)}},'other':{'name':a55_0x45567b(0x1e0),'title':a55_0x45567b(0x268),'guideShown':a55_0x45567b(0x234)},'unsupportedIDE':a55_0x45567b(0x1a1)},'skill':{'unknownIDE':a55_0x45567b(0x1df),'installSuccess':a55_0x45567b(0x200),'itemsCreated':a55_0x45567b(0x276),'installFailed':'{{name}}\x20skill\x20installation\x20failed','sharedCopied':a55_0x45567b(0x2a8),'sharedCopyFailed':a55_0x45567b(0x1b3),'manifestCreated':'Skill\x20manifest\x20created'},'ui':{'selectAtLeastOne':a55_0x45567b(0x20d),'confirm':{'title':a55_0x45567b(0x1c0),'mcpDescription':a55_0x45567b(0x2f2),'skillDescription':'•\x20Skill:\x20Install\x20best\x20practices\x20and\x20Backend\x20Function\x20guidelines','yes':a55_0x45567b(0x1f7),'no':a55_0x45567b(0x2e3),'default':'Enter\x20default:\x20Yes'},'select':{'title':a55_0x45567b(0x2c1),'mcpSection':a55_0x45567b(0x2f8),'skillSection':a55_0x45567b(0x2c2),'controls':a55_0x45567b(0x216)},'installing':a55_0x45567b(0x2bc)}},'appMenu':{'error':{'missingAppCode':a55_0x45567b(0x236),'appCodeHint':{'title':a55_0x45567b(0x207),'option1':a55_0x45567b(0x1ef),'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':'Auth\x20validation\x20failed.\x20Please\x20use\x20lovrabet\x20auth\x20to\x20login\x20again','httpStatus':a55_0x45567b(0x2cc),'fetchFailed':a55_0x45567b(0x26f),'createHttpStatus':'Failed\x20to\x20create\x20menu,\x20HTTP\x20status:\x20{{status}}','createFailed':a55_0x45567b(0x24c)},'info':{'emptyMenuList':a55_0x45567b(0x21f)},'success':{'fetched':a55_0x45567b(0x1bb),'created':a55_0x45567b(0x1b9)},'fetching':{'online':'Fetching\x20online\x20menu\x20list...\x20(appCode:\x20{{appCode}})','daily':a55_0x45567b(0x1d4)},'creating':{'single':'Creating\x20menu:\x20{{label}}\x20({{path}})','batch':{'start':a55_0x45567b(0x2c0),'completed':a55_0x45567b(0x1ba)}},'sync':{'title':'*\x20Sync\x20menus\x20to\x20Lovrabet\x20platform','table':{'menuName':a55_0x45567b(0x235),'local':a55_0x45567b(0x2b4),'lovrabetPlatform':a55_0x45567b(0x1cb)},'error':{'noMenuSelected':'Please\x20select\x20at\x20least\x20one\x20menu','invalidJsUrl':a55_0x45567b(0x265),'jsUrlUnreachable':a55_0x45567b(0x206),'invalidCssUrl':a55_0x45567b(0x2e0),'cssUrlUnreachable':a55_0x45567b(0x1ff),'createMenuFailed':a55_0x45567b(0x1b2),'authHint':{'prefix':'Hint:\x20use\x20','suffix':'\x20command\x20to\x20re-login'},'noLocalPages':'!\x20No\x20local\x20pages\x20found,\x20please\x20create\x20pages\x20first'},'step':{'selectedMenus':'Selected\x20menus','selectedMenusCount':'{{count}}\x20items','jsUrl':a55_0x45567b(0x2f0),'cssUrl':a55_0x45567b(0x28f),'selectMenus':a55_0x45567b(0x21d),'creating':a55_0x45567b(0x1a4),'completed':'√\x20Menu\x20creation\x20completed'},'operation':{'update':a55_0x45567b(0x25e),'create':a55_0x45567b(0x222)},'loading':{'fetchingMenuList':a55_0x45567b(0x2e5)},'hotkeys':a55_0x45567b(0x292),'input':{'jsUrl':{'label':a55_0x45567b(0x2da),'placeholder':'\x20Enter\x20project\x20JS\x20asset\x20URL\x20(https://...)'},'cssUrl':{'label':a55_0x45567b(0x1f9),'placeholder':a55_0x45567b(0x253)}}},'updateCdn':{'title':a55_0x45567b(0x2cd),'error':{'invalidJsUrl':a55_0x45567b(0x265),'jsUrlUnreachable':a55_0x45567b(0x206),'invalidCssUrl':'Please\x20enter\x20a\x20valid\x20CSS\x20https\x20URL','cssUrlUnreachable':a55_0x45567b(0x1ff),'authHint':{'prefix':a55_0x45567b(0x2a4),'suffix':a55_0x45567b(0x2d1)},'noCdnLinks':a55_0x45567b(0x1bf),'updateFailed':a55_0x45567b(0x270)},'loading':{'fetching':a55_0x45567b(0x2de),'syncing':'\x20Assets\x20are\x20syncing...'},'action':{'continue':'Continue\x20update','cancel':a55_0x45567b(0x2fa)},'success':{'updated':a55_0x45567b(0x1f5),'synced':a55_0x45567b(0x283)},'updating':'Updating\x20menu\x20asset\x20links:\x20{{label}}\x20({{path}})','preview':{'title':'*\x20Menus\x20and\x20asset\x20links\x20to\x20update','menuList':a55_0x45567b(0x2bd),'resourceLinks':a55_0x45567b(0x27a)},'input':{'title':a55_0x45567b(0x2f6),'jsUrl':{'label':a55_0x45567b(0x2fb),'placeholder':a55_0x45567b(0x2ee)},'cssUrl':{'label':a55_0x45567b(0x2db),'placeholder':'Enter\x20project\x20CSS\x20asset\x20URL\x20(https://...)'}}}},'skill':{'install':'Install\x20Skills','error':{'unsupportedCommand':a55_0x45567b(0x250),'installFailed':a55_0x45567b(0x1f8),'unknownPlatform':a55_0x45567b(0x22c),'unknownIDE':a55_0x45567b(0x279),'noValidIDE':'\x0aNo\x20valid\x20IDE\x20to\x20install\x0a','selectAtLeastOne':'Please\x20select\x20at\x20least\x20one\x20IDE'},'errorHint':{'availableCommands':'\x0aAvailable\x20commands:','installInteractive':'\x20\x20lovrabet\x20skill\x20install\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20#\x20Interactive\x20skill\x20installation','installDirect':a55_0x45567b(0x1be),'showHelp':'\x20\x20lovrabet\x20skill\x20--help\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20#\x20Show\x20help\x0a','usageExamples':a55_0x45567b(0x27e),'exampleInteractive':a55_0x45567b(0x2fc),'exampleDirect':'\x20\x20lovrabet\x20skill\x20install\x20cursor\x20\x20\x20\x20#\x20Install\x20Cursor\x20skill\x20directly\x0a'},'select':{'title':a55_0x45567b(0x1c3),'installAll':a55_0x45567b(0x2f4),'cancel':'Cancel','inputFormat':a55_0x45567b(0x24a),'inputHint':a55_0x45567b(0x1ad),'prompt':a55_0x45567b(0x2d9),'cancelled':'\x0aInstallation\x20cancelled\x0a','noneSelected':a55_0x45567b(0x1a9),'selectedIDE':a55_0x45567b(0x211),'count':a55_0x45567b(0x1c1)},'cdn':{'fetching':a55_0x45567b(0x1b7),'fetchingExtend':a55_0x45567b(0x212),'fetchSuccess':a55_0x45567b(0x205),'fetchFailed':'\x20\x20!\x20CDN\x20fetch\x20failed,\x20skipping\x20guide\x20installation:\x20{{error}}'},'installing':{'title':a55_0x45567b(0x20f),'progress':a55_0x45567b(0x2ae),'ide':a55_0x45567b(0x21e),'installed':a55_0x45567b(0x27b),'created':a55_0x45567b(0x2be),'createdDir':'\x20\x20✓\x20Created\x20{{path}}/','createdManifest':a55_0x45567b(0x1de)},'done':{'success':'\x0a✓\x20Skills\x20installed\x20successfully!\x20{{count}}\x20directories\x20created\x0a','successInline':a55_0x45567b(0x2ad),'guidesLocation':a55_0x45567b(0x274),'guidesPath':a55_0x45567b(0x22f),'guidesPathInline':a55_0x45567b(0x2eb),'pressAnyKey':'Press\x20any\x20key\x20to\x20exit...'},'generic':a55_0x45567b(0x2a2),'help':{'title':a55_0x45567b(0x1fd),'usage':a55_0x45567b(0x244),'showHelp':'Show\x20help','installInteractive':'Interactive\x20skill\x20installation','installDirect':a55_0x45567b(0x1ca),'installAll':a55_0x45567b(0x2b8),'installWithBff':a55_0x45567b(0x2d6),'installMethods':'Installation\x20methods:','interactiveSelect':'\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','interactiveKeys':a55_0x45567b(0x1d2),'directInstall':'\x20\x20Direct\x20install\x20(multiple\x20IDEs)\x20\x20\x20\x20\x20-\x20Use\x20--ide\x20flags\x20to\x20install\x20directly','bffWorkflow':a55_0x45567b(0x229),'supportedIDEs':a55_0x45567b(0x1e4),'agentDesc':a55_0x45567b(0x26d),'allDesc':'Install\x20all\x20IDE\x20skills\x20(including\x20generic\x20template)','options':a55_0x45567b(0x1b0),'bffOption':a55_0x45567b(0x26a),'skillContents':a55_0x45567b(0x2ef),'skillContentsList':a55_0x45567b(0x2ba),'examples':a55_0x45567b(0x25b),'exampleInteractive':'\x20\x20\x20\x20→\x20Interactive\x20IDE\x20selection','exampleDirectDesc':a55_0x45567b(0x27c),'exampleBffDesc':a55_0x45567b(0x2b1),'exampleAllDesc':a55_0x45567b(0x1e1),'afterInstall':a55_0x45567b(0x22a),'afterInstallList':a55_0x45567b(0x300),'guidesLocationTitle':a55_0x45567b(0x274)}},'logs':{'title':a55_0x45567b(0x245),'view':a55_0x45567b(0x2fe),'clear':a55_0x45567b(0x1f2),'noLogs':a55_0x45567b(0x2dc),'header':a55_0x45567b(0x29f),'time':a55_0x45567b(0x2ca),'duration':'\x20\x20\x20Duration:\x20{{duration}}ms','details':'\x20\x20\x20Details:\x20{{details}}','cleared':'*\x20Logs\x20cleared'},'start':{'starting':a55_0x45567b(0x1b8)},'build':{'building':'Building\x20project...'},'preview':{'previewing':a55_0x45567b(0x2aa),'watchMode':a55_0x45567b(0x213)},'ui':{'ideSelector':{'title':'Select\x20IDEs\x20to\x20configure:','hotkeys':'↑/↓:\x20Move\x20\x20Space:\x20Toggle\x20\x20a:\x20All\x20\x20i/r:\x20Invert\x20\x20q:\x20Quit\x20\x20Enter:\x20Confirm'}},'upgrade':{'cli':{'title':'↪\x20New\x20version\x20available','current':a55_0x45567b(0x2a9),'stable':a55_0x45567b(0x1d5),'command':'\x20\x20\x20Upgrade\x20command:\x20{{command}}'},'sdk':{'title':a55_0x45567b(0x1d3),'current':a55_0x45567b(0x1e9),'stable':a55_0x45567b(0x1d5),'command':a55_0x45567b(0x271)}}};
|
|
@@ -1 +1 @@
|
|
|
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();}
|
|
1
|
+
var a56_0x4eefa6=a56_0x5331;function a56_0x1d2e(){var _0x2ee167=['\x0a请选择要配置\x20MCP\x20的\x20IDE:\x0a','17624FMXzzH','正在获取线上菜单列表...\x20(appCode:\x20{{appCode}})','*\x20正在处理\x20{{count}}\x20个数据集...','获取菜单列表失败,HTTP状态码:\x20{{status}}','\x20\x20\x202.\x20使用参数:\x20lovrabet\x20api\x20doc\x20--appcode\x20<app-code>','\x20\x20√\x20环境配置完成','*\x20按回车开始登录。','*\x20正在为项目\x20{{name}}\x20配置应用AppCode:\x20{{appCode}}','只生成指定数据集的文档','[N]\x20跳过,稍后手动配置','菜单名称','创建技能包\x20manifest','!\x20API\x20配置拉取异常,项目已创建,可稍后手动执行:\x20lovrabet\x20api\x20pull','启动项目:\x20','↑/↓:\x20移动光标\x20空格:\x20切换选中\x20a:\x20全选\x20i/r:\x20反选\x20q:\x20退出\x20Enter:\x20确认','生成多个数据集的文档','按任意键退出...','使用示例:','请手动执行:\x20{{command}}','*\x20是否要自动拉取\x20API\x20配置?','\x20\x20√\x20项目模板已创建','*\x20正在创建菜单...','MCP\x20和\x20Skill','正在从\x20CDN\x20拉取开发者指南(含扩展)...','\x20正在获取线上菜单资源链接...','正在获取日常菜单列表...\x20(appCode:\x20{{appCode}})','跳过登录','拉取API配置:','!\x20未找到本地页面,请先创建页面','正在配置\x20MCP\x20服务器...','API\x20管理','请先通过\x20`lovrabet\x20config\x20set\x20app\x20<value>`\x20配置应用\x20Code','Claude\x20Code','已创建\x20{{count}}\x20项','登录失败','2190qfQWQh','[可选]:\x20','安装后会在项目中创建:','设置配置项','11874PRghBI','\x20\x20(注:\x20--appcode\x20参数与配置一致,将使用默认配置)','重启\x20Claude\x20Code\x20后生效','应用AppCode','×\x20项目创建失败:\x20{{error}}','未知的\x20IDE:\x20{{ide}}','已选择\x20IDE','↪\x20新版本可用','应用代码不能为空','请前往浏览器完成登录。','指定环境拉取\x20API','🔗\x20请手动复制登录地址到浏览器:','环境:\x20{{env}}','未提供应用AppCode,且配置中也没有默认值','拉取\x20API\x20配置失败:\x20{{error}}','\x20检查中...','创建\x20Cursor\x20Rules\x20文件','\x0a✓\x20MCP\x20配置完成\x20({{successCount}}/{{totalCount}}\x20成功)','是否同时配置\x20AI\x20助手?这将:','创建菜单失败','\x20\x20lovrabet\x20mcp\x20--help\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20#\x20显示帮助信息\x0a','配置信息:\x20appcode={{appcode}},\x20env={{env}}','\x20\x20\x202.\x20配置默认值:\x20lovrabet\x20config\x20set\x20app\x20<app-code>','现在您可以在\x20Cursor\x20中使用\x20Lovrabet\x20数据集\x20MCP\x20工具了。','*\x20正在创建项目...','更新菜单\x20CDN\x20资源','\x20\x20错误:\x20{{error}}','🔐\x20正在启动登录服务...','获取文档失败\x20({{datasetCode}}),HTTP状态码:\x20{{status}}','\x20\x20推荐选择\x20Yes,可自动配置\x20API\x20接口','拉取\x20API','\x20\x20\x20当前\x20CLI\x20版本:\x20{{version}}','项目名长度不能超过\x2050\x20个字符','\x0a✓\x20技能包安装成功!共安装\x20{{count}}\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显示\x20IDE\x20列表供选择','🚀\x20接下来:','\x20\x20√\x20package.json\x20已更新','9041242fviHCY','指定文档输出目录','应用代码长度不能超过\x20100\x20个字符','选项:','\x20\x20!\x20CDN\x20拉取失败,跳过指南安装:\x20{{error}}','JS\x20链接:\x20','√\x20API\x20配置拉取完成','项目名只能以字母或数字开头,且只包含字母、数字、-\x20和\x20_','创建菜单失败:\x20{{error}}','配置\x20Lovrabet\x20MCP\x20服务器','技能包\x20(研发规范指南)','监听模式','\x20\x20\x201.\x20直接指定:\x20lovrabet\x20api\x20pull\x20<app-code>','\x0a可用命令:','配置信息:','获取配置项','请至少选择一个配置项','请输入有效的\x20CSS\x20https\x20链接','*\x20JS\x20链接:\x20','指定的数据集代码都不存在:\x20{{codes}}','请选择:\x20','正在登录...','安装方式:','未知错误','*\x20是否要先登录以便拉取\x20API\x20配置?','✗\x20失败:\x20{{fileName}}.md\x20-\x20{{error}}','*\x20暂无日志记录','×\x20API\x20配置拉取异常:\x20{{error}}','支持的\x20IDE:','详细配置指南:\x20https://help.yuntoo.com/mcp/config-guide','项目名','√\x20package.json\x20已更新:\x20name={{name}}','配置当前项目的\x20App\x20Code','菜单创建成功:','直接安装指定\x20IDE\x20的技能包','无法在当前目录创建项目,请检查目录权限','登录鉴权失败,登录已过期,请使用\x20lovrabet\x20auth\x20重新登录','\x20\x20lovrabet\x20skill\x20--help\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20#\x20显示帮助信息\x0a','目录\x20\x22{{name}}\x22\x20已存在','登录认证','\x20\x20\x201.\x20配置默认值:\x20lovrabet\x20config\x20set\x20appcode\x20<app-code>','\x0a📦\x20正在安装\x20{{name}}...\x0a','×\x20--datasetcode\x20参数不能为空','!\x20以下数据集代码不存在:\x20{{codes}}','Lovrabet平台','\x20\x20使用\x20←→\x20返回修改选择,回车确认\x20IDE','应用代码用于标识您的项目,只能包含字母、数字、-\x20和\x20_','!\x20原始数据集\x20{{originalCount}}\x20个,过滤重复\x20{{duplicateCount}}\x20个','CSS\x20链接','*\x20输出目录:\x20','\x20\x20lovrabet\x20skill\x20install\x20cursor\x20\x20\x20\x20#\x20直接安装\x20Cursor\x20技能包\x0a','正在生成\x20{{count}}\x20个数据集的文档...','\x0a已取消安装\x0a','\x20直接回车确认,或输入自定义名称','创建\x20agents.md\x20文件','💡\x20如果浏览器没有自动打开,请手动复制上面的登录地址到浏览器中打开','未知的\x20api\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)','项目配置','\x0a✗\x20{{ide}}\x20MCP\x20配置失败:\x20{{error}}','\x20\x20lovrabet\x20skill\x20install\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20#\x20交互式选择\x20IDE','未找到\x20appcode\x20配置,请先运行\x20\x27lovrabet\x20init\x27\x20初始化项目配置','使用指定的\x20appcode','✓\x20MCP\x20配置完成!','JS\x20链接','更新现有\x20mcp.json\x20配置','创建菜单失败,HTTP状态码:\x20{{status}}','\x20\x20\x20升级命令:\x20{{command}}','*\x20正在从服务器拉取\x20API\x20配置...\x20(环境:\x20{{env}})','\x0a✓\x20Cursor\x20MCP\x20配置成功!\x0a','现在您可以使用\x20lovrabet\x20api\x20doc\x20和\x20lovrabet\x20api\x20pull\x20等命令了','\x20\x20lovrabet\x20mcp\x20install\x20--claude\x20\x20\x20\x20直接配置\x20Claude\x20Code\x20MCP','\x20\x20包含\x20Backend\x20Function\x20同步工作流\x20\x20\x20-\x20使用\x20--dangerously-bff-save\x20标志','生成所有数据集的文档','项目名称','*\x20生成的文档文件:','未提供配置值','✓\x20MCP\x20服务器配置完成:','安装技能包','待更新的资源链接:','CSS\x20链接无法访问','*\x20请输入新的资源链接','\x0a无效的选择,请输入\x201-{{count}}\x20之间的数字\x0a','!\x20请指定一个有效的命令。','*\x20已输入的资源资源','\x20\x20正在安装依赖...','文档生成失败:\x20{{error}}','685789eiORWt','包含\x20Backend\x20Function\x20同步工作流','其他\x20IDE\x20配置指引','指定要生成文档的数据集代码(多个用逗号分隔,仅\x20doc\x20命令)','共享技能文件复制成功','\x20\x20•\x20Skill:','-\x20客户端实例文件','*\x20共处理\x20{{count}}\x20个数据集','\x20\x20lovrabet\x20skill\x20install\x20<ide>\x20\x20\x20\x20\x20#\x20直接安装指定\x20IDE\x20的技能包','\x0a已取消配置\x0a','✓\x20拉取\x20{{count}}\x20个开发者指南','复制\x20agents.md\x20文件失败','60973gszGYs','√\x20配置文件已创建,应用AppCode:\x20{{appCode}}','{{count}}\x20个\x20IDE','正在生成\x20{{fileName}}.md\x20({{current}}/{{total}})','\x20\x20✗\x20安装\x20{{ide}}\x20失败:\x20{{error}}','正在获取数据集列表...','按\x20“q”\x20退出。','agents.md\x20文件已存在,跳过','[Y]\x20是,配置\x20AI\x20助手','生成文档','*\x20导入方式:','{{name}}\x20技能包安装失败','项目目录\x20{{name}}\x20已存在,请使用其他项目名','请选择要配置的\x20IDE:','!\x20未找到菜单资源链接','\x0a√\x20项目\x20{{name}}\x20创建成功!','\x0a注意:部分配置需要手动执行命令,请按照上述说明操作','*\x20仅生成指定数据集的文档:\x20{{codes}}','\x20输入项目的\x20JS\x20资源链接(https://...)','JS\x20链接无法访问','配置指南:','无效的命令,可用命令如下:','配置方式:','应用AppCode只能包含字母、数字、连字符和下划线,且必须以字母或数字开头','√\x20{{label}}:\x20','\x20\x20\x20\x20→\x20直接配置\x20Cursor\x20MCP\x20(写入\x20.cursor/mcp.json)','\x20\x20$\x20lovrabet\x20mcp\x20install\x20--cursor','Cursor\x20MCP\x20配置成功','当前目录已存在\x20.lovrabetrc\x20文件','列出所有配置项','输入\x200\x20安装所有\x20IDE,输入\x20q\x20取消\x0a','Cursor\x20MCP\x20配置失败','\x20\x20lovrabet\x20mcp\x20install\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20交互式选择并配置\x20MCP','格式化代码','选择要配置的\x20IDE:','使用指定的应用AppCode:\x20{{appCode}}','开发者指南位置:\x20.lovrabet/skill/.shared/guides/','安装\x20Lovrabet\x20技能包\x20-\x20选择\x20IDE','请输入有效的\x20JS\x20https\x20链接','✓\x20已退出登录','\x0a错误:\x20配置失败\x20-\x20{{error}}\x0a','\x20\x20\x202.\x20使用参数:\x20lovrabet\x20api\x20pull\x20--appcode\x20<app-code>','\x20\x20\x20稳定版本:\x20{{version}}','⚠️\x20\x20无法自动打开浏览器','\x20输入项目的\x20CSS\x20资源链接(https://...)','\x0a未选择任何\x20IDE,安装取消\x0a','√\x20成功拉取\x20{{datasetCount}}\x20个数据集,生成\x20{{modelCount}}\x20个模型','需要先配置\x20appcode','\x20\x20使用\x20←→\x20选择,回车确认','不支持的\x20MCP\x20IDE:\x20{{ide}}','同步菜单','应用代码不合法','\x20\x20\x20•\x20{{name}}.ts\x20-\x20模型配置文件','90THWCmW','开始批量创建菜单,共\x20{{count}}\x20个','{{name}}\x20技能包安装成功','项目名称:\x20','成功获取\x20{{count}}\x20个线上菜单','清空日志','✓\x20Skill\x20安装完成:','正在配置\x20AI\x20助手...','正在创建菜单:\x20{{label}}\x20({{path}})',',\x20失败\x20{{failCount}}\x20个','•\x20MCP:\x20让\x20AI\x20直接访问\x20Lovrabet\x20数据集','获取菜单列表失败:\x20{{error}}','\x20\x20\x20耗时:\x20{{duration}}ms','1.\x20配置\x20Lovrabet\x20MCP\x20和\x20Skill','*\x20日志已清空','62ZFjfiE','*\x20项目名:\x20','菜单资源同步成功:\x20{{label}}','•\x20Skill:\x20安装研发最佳实践、Backend\x20Function\x20规范','\x20\x20\x20\x20→\x20安装所有\x20IDE\x20技能包','已写入\x20.cursor/mcp.json','\x0a请选择要安装技能包的\x20IDE\x20(可多选):\x0a','绑定应用AppCode可自动配置\x20API,如:\x20app-c4c89304\x20(直接回车跳过)','*\x20清理失败的项目目录:\x20{{dir}}','√\x20Lovrabet\x20MCP\x20和\x20Skill\x20配置完成','\x20\x20lovrabet\x20mcp\x20install\x20--cursor\x20\x20\x20\x20直接配置\x20Cursor\x20MCP','选项:','项目名不能为空','\x20\x20q.\x20取消\x0a','\x20\x20\x20\x20$\x20lovrabet\x20mcp\x20install\x20--claude\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20#\x20配置\x20Claude\x20Code','依赖安装失败:\x20{{error}}','共享技能文件复制失败','!\x20未检测到有效登录','CSS\x20链接:\x20','开始配置\x20MCP','技能包内容包括:','Lovrabet\x20MCP\x20-\x20MCP\x20服务器配置工具','登录态校验失败,请使用\x20lovrabet\x20auth\x20重新登录','!\x20请使用以下方式之一:','1746SoXWfo','✓\x20创建\x20.lovrabet/skill-manifest.json','获取数据集失败,HTTP状态码:\x20{{status}}','*\x20从\x20{{total}}\x20个数据集中筛选出\x20{{count}}\x20个匹配的数据集','-\x20模型配置文件\x20({{count}}\x20个模型)','输入格式:\x20输入编号,用空格分隔\x20(例如:\x201\x203\x205)','更新菜单资源失败:\x20{{error}}','应用代码只能包含字母、数字、-\x20和\x20_','取消更新','登录成功,请返回命令行继续操作。当前窗口将在\x20{{seconds}}\x20秒内关闭。','响应数据格式错误\x20({{datasetCode}}):缺少\x20data.markdown\x20字段','*\x20正在为项目\x20{{name}}\x20创建配置文件','\x20\x20$\x20lovrabet\x20mcp\x20install','\x20\x20\x20•\x20{{name}}.ts\x20-\x20客户端实例文件','安装所有技能包','*\x20正在配置\x20Lovrabet\x20MCP\x20和\x20Skill...','\x20\x20\x20时间:\x20{{time}}','\x20\x20\x20\x20→\x20交互式选择\x20IDE','重新登录后再试','Cursor','\x20正在获取线上菜单列表...','正在安装技能包...','应用AppCode不合法','复制\x20Cursor\x20Rules\x20文件失败','拉取并生成\x20API\x20配置文件','\x20|\x20应用AppCode:\x20','√\x20当前为有效会话,无需重新登录。','🌐\x20正在尝试自动打开浏览器...','\x20命令重新登录','\x20\x20重启\x20Claude\x20Code\x20后生效\x0a','\x20\x20\x20详情:\x20{{details}}','↑/↓:\x20移动\x20空格:\x20切换\x20a:\x20全选\x20q:\x20退出\x20Enter:\x20确认','显示帮助信息','AppCode','正在构建项目...','请输入编号选择\x20IDE:\x0a','已安装\x20{{count}}\x20个目录','{{count}}\x20个','\x20\x20直接配置指定\x20IDE\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20-\x20使用\x20--ide\x20标志直接配置','请输入应用代码\x20(AppCode):','查看可用命令。','\x20\x20✓\x20创建\x20{{path}}/','正在从服务器拉取模型列表...\x20(环境:\x20{{env}})','218245DYqLRe','提示:使用\x20','请执行以下命令配置\x20Claude\x20Code\x20MCP:','\x20\x20-\x20Filter\x20查询构建规范\x20(10\x20种常见错误对照)\x0a\x20\x20-\x20MCP\x20SQL\x20创建工作流\x20(5\x20步强制流程)\x0a\x20\x20-\x20AntD\x20UI\x20开发规范\x20(禁止\x20AI\x20味道)\x0a\x20\x20-\x20API\x20集成指南\x20(lovrabet\x20api\x20pull\x20流程)\x0a\x20\x20-\x20菜单管理指南\x20(menu\x20sync/update\x20流程)\x0a\x20\x20-\x20Backend\x20Function\x20脚本编写规范\x20(权限过滤、数据脱敏、业务逻辑)\x0a\x20\x20-\x20Backend\x20Function\x20同步工作流\x20(需\x20--dangerously-bff-save\x20启用)','用法:','安装依赖','\x0a没有有效的\x20IDE\x20需要安装\x0a','配置值无效或过长','MCP\x20服务器\x20(AI\x20访问数据集)','项目名不合法','上一步','正在启动开发服务器...','*\x20开始生成\x20API\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列表供选择,支持多选','拉取API配置','登录状态','请至少选择一个菜单','创建新的\x20mcp.json\x20配置','√\x20更新成功','已选择菜单','项目名过长,最多支持\x20100\x20个字符','设置环境\x20(online/daily)','交互式选择并安装技能包','环境配置值只能是\x20\x22online\x22\x20或\x20\x22daily\x22','✓\x20{{scope}}环境配置已设置为:\x20{{value}}','⚠️\x20配置需要手动完成','✓\x20成功生成:\x20{{fileName}}.md','配置AppCode:','请至少选择一个\x20IDE','应用AppCode长度不能超过\x20100\x20个字符','示例:','4737528pmfPMa','无法自动关闭窗口,请手动关闭此标签页或窗口。','⚠️\x20\x20未知的平台:\x20{{ide}},使用通用模板','请使用\x20--appcode\x20参数,例如:','*\x20正在检查登录状态...','输入项目的\x20JS\x20资源链接(https://...)','未找到任何数据集','安装所有\x20IDE\x20技能包(包括通用模板)','\x20\x20.lovrabet/skill/.shared/guides/\x20-\x20详细开发指南\x0a','✓\x20{{scope}}语言配置已设置为:\x20{{value}}','⚠️\x20部分配置需要手动完成','正在初始化配置文件...'];a56_0x1d2e=function(){return _0x2ee167;};return a56_0x1d2e();}function a56_0x5331(_0x510e47,_0x32e8be){_0x510e47=_0x510e47-0xe7;var _0x1d2e45=a56_0x1d2e();var _0x533164=_0x1d2e45[_0x510e47];return _0x533164;}(function(_0x5958ba,_0x37f9b7){var _0x586d82=a56_0x5331,_0x51b1e0=_0x5958ba();while(!![]){try{var _0x3680cf=parseInt(_0x586d82(0x148))/0x1+-parseInt(_0x586d82(0x198))/0x2*(parseInt(_0x586d82(0x22e))/0x3)+-parseInt(_0x586d82(0x1fa))/0x4+parseInt(_0x586d82(0x1db))/0x5*(-parseInt(_0x586d82(0x189))/0x6)+parseInt(_0x586d82(0xf1))/0x7+parseInt(_0x586d82(0x207))/0x8*(-parseInt(_0x586d82(0x1b0))/0x9)+parseInt(_0x586d82(0x22a))/0xa*(parseInt(_0x586d82(0x154))/0xb);if(_0x3680cf===_0x37f9b7)break;else _0x51b1e0['push'](_0x51b1e0['shift']());}catch(_0x3e683d){_0x51b1e0['push'](_0x51b1e0['shift']());}}}(a56_0x1d2e,0xc3d43));export default{'common':{'success':'成功','error':'错误','warning':'警告','info':'信息','loading':'加载中...','cancel':'取消','confirm':'确认','next':'下一步','previous':a56_0x4eefa6(0x1e5),'finish':'完成'},'help':{'invalidCommand':a56_0x4eefa6(0x144),'usageHint':'使用','viewCommands':a56_0x4eefa6(0x1d8)},'cli':{'usage':'使用','examples':'示例','description':'描述'},'init':{'inputAppCode':a56_0x4eefa6(0x1d7),'appCodeDesc':a56_0x4eefa6(0x11f),'fileExists':a56_0x4eefa6(0x170),'creating':a56_0x4eefa6(0x205),'success':'成功在当前目录初始化\x20.lovrabetrc\x20文件','appCodeLabel':a56_0x4eefa6(0x1d1),'nextSteps':a56_0x4eefa6(0x137),'validation':{'required':a56_0x4eefa6(0x236),'tooLong':a56_0x4eefa6(0xf3),'invalidFormat':a56_0x4eefa6(0x1b7),'invalidCode':a56_0x4eefa6(0x187)}},'create':{'projectNameLabel':a56_0x4eefa6(0x13b),'appCodeLabel':a56_0x4eefa6(0x231),'validation':{'required':a56_0x4eefa6(0x1a4),'invalidChars':'项目名包含非法字符,不允许使用:\x20<\x20>\x20:\x20\x22\x20|\x20?\x20*\x20及控制字符','tooLong':a56_0x4eefa6(0x1ef),'dirExists':a56_0x4eefa6(0x160),'noPermission':a56_0x4eefa6(0x114),'projectName':{'tooLong':a56_0x4eefa6(0xec),'invalidFormat':a56_0x4eefa6(0xf8),'invalid':a56_0x4eefa6(0x1e4),'dirExistsShort':a56_0x4eefa6(0x117)},'appCode':{'tooLong':a56_0x4eefa6(0x1f8),'invalidFormat':a56_0x4eefa6(0x16b),'invalid':a56_0x4eefa6(0x1c6)},'ide':{'required':'请至少选择一个\x20IDE'}},'common':{'yes':'是','no':'否','selectHint':a56_0x4eefa6(0x184)},'steps':{'pullingApi':'*\x20正在拉取\x20API\x20配置...','apiPullSuccess':a56_0x4eefa6(0xf7),'apiPullFailed':'!\x20API\x20配置拉取失败,可稍后手动执行:\x20lovrabet\x20api\x20pull','apiPullError':a56_0x4eefa6(0x213),'updatingPackage':'*\x20正在更新\x20package.json\x20的\x20name\x20和\x20description\x20字段','packageUpdated':'√\x20package.json\x20已更新:\x20name={{name}}','configuringAppCode':'*\x20正在为项目\x20{{name}}\x20配置应用AppCode:\x20{{appCode}}','creatingConfig':a56_0x4eefa6(0x1bb),'configCreatedWithAppCode':a56_0x4eefa6(0x155),'configCreated':'√\x20配置文件已创建,可稍后使用\x20\x27lovrabet\x20config\x20set\x20appcode\x20<app-code>\x27\x20配置','configuringMcp':a56_0x4eefa6(0x1bf),'mcpConfigComplete':a56_0x4eefa6(0x1a1),'cleaningUp':a56_0x4eefa6(0x1a0),'projectName':{'label':a56_0x4eefa6(0x10f)},'appCode':{'label':a56_0x4eefa6(0x231),'notSet':'未设置'},'apiPull':{'label':a56_0x4eefa6(0x1e9)},'lovrabetSetup':{'label':a56_0x4eefa6(0x21d),'ideCount':a56_0x4eefa6(0x156)},'login':{'label':a56_0x4eefa6(0x1ea),'loggedIn':'已登录','failed':a56_0x4eefa6(0x229),'skipped':a56_0x4eefa6(0x221)}},'title':'*\x20创建新项目','completedStep':a56_0x4eefa6(0x16c),'input':{'projectName':{'label':a56_0x4eefa6(0x199),'hint':a56_0x4eefa6(0x126)},'appCode':{'label':'*\x20应用AppCode\x20','optional':a56_0x4eefa6(0x22b),'hint':a56_0x4eefa6(0x19f)}},'login':{'checking':a56_0x4eefa6(0x1fe),'checkingStatus':a56_0x4eefa6(0x23d),'valid':'√\x20检测到有效登录状态','notDetected':a56_0x4eefa6(0x1a9),'prompt':a56_0x4eefa6(0x109),'inProgress':'*\x20正在登录,请前往浏览器完成登录...','inProgressStatus':'\x20登录中...'},'apiPull':{'confirm':a56_0x4eefa6(0x21a),'recommendation':a56_0x4eefa6(0xe9)},'lovrabetSetup':{'confirm':'*\x20是否配置\x20Lovrabet\x20MCP\x20和\x20Skill?','selectIdeHint':a56_0x4eefa6(0x11e),'selectIdeTitle':a56_0x4eefa6(0x176),'keyboardShortcuts':'↑/↓:\x20移动\x20空格:\x20切换\x20a:\x20全选\x20i/r:\x20反选\x20Enter:\x20确认','inProgress':'*\x20正在配置\x20Lovrabet\x20MCP\x20和\x20Skill...','mcpCompleted':'✓\x20MCP\x20服务器配置完成:','skillCompleted':a56_0x4eefa6(0x18f)},'creating':a56_0x4eefa6(0x246),'display':{'projectName':a56_0x4eefa6(0x18c),'appCode':a56_0x4eefa6(0x1c9)},'packageJson':{'updating':'*\x20正在更新\x20package.json\x20的\x20name\x20和\x20description\x20字段','updated':a56_0x4eefa6(0x110)},'config':{'configuringAppCode':a56_0x4eefa6(0x20e),'creating':a56_0x4eefa6(0x1bb),'createdWithAppCode':a56_0x4eefa6(0x155),'createdWithoutAppCode':'√\x20配置文件已创建,可稍后使用\x20\x27lovrabet\x20config\x20set\x20appcode\x20<app-code>\x27\x20配置'},'cleanup':{'inProgress':a56_0x4eefa6(0x1a0)},'results':{'mcpComplete':a56_0x4eefa6(0x13e),'skillComplete':a56_0x4eefa6(0x18f),'nextSteps':a56_0x4eefa6(0xef)},'nextSteps':{'configureMcpAndSkill':'1.\x20配置\x20Lovrabet\x20MCP\x20和\x20Skill','skill':a56_0x4eefa6(0x14d),'mcp':'\x20\x20•\x20MCP\x20服务器:','startProject':'启动项目:','pullApi':a56_0x4eefa6(0x222),'configAppCode':a56_0x4eefa6(0x1f6)},'errors':{'createFailed':a56_0x4eefa6(0x232),'cleanupFailed':'清理项目目录失败','depsInstallFailed':a56_0x4eefa6(0x1a7)},'nonInteractive':{'creating':'*\x20正在创建项目\x20{{name}}...','templateCreated':a56_0x4eefa6(0x21b),'packageJsonUpdated':a56_0x4eefa6(0xf0),'installingDeps':a56_0x4eefa6(0x146),'depsSkipped':'\x20\x20√\x20依赖安装跳过(非交互模式)','codeFormatted':'\x20\x20√\x20代码已格式化','envConfigured':a56_0x4eefa6(0x20c),'success':a56_0x4eefa6(0x163)},'tasks':{'copyFiles':'复制项目文件','formatCode':a56_0x4eefa6(0x175),'installDependencies':a56_0x4eefa6(0x1e0)},'nextStepsAlt':{'startProject':a56_0x4eefa6(0x214),'pullApi':'拉取API配置:\x20','configureLovrabet':a56_0x4eefa6(0x196)}},'config':{'title':a56_0x4eefa6(0x12b),'help':{'invalidCommand':a56_0x4eefa6(0x169),'examples':'配置示例:','set':a56_0x4eefa6(0x22d),'get':a56_0x4eefa6(0x100),'list':a56_0x4eefa6(0x171),'exampleApp':a56_0x4eefa6(0x111),'exampleEnv':a56_0x4eefa6(0x1f0),'exampleLocale':'设置显示语言\x20(zh/en)'},'validation':{'envInvalid':a56_0x4eefa6(0x1f2),'localeInvalid':'locale\x20配置值无效,支持的值:\x20zh,\x20en,\x20zh-CN,\x20en-US','valueInvalid':a56_0x4eefa6(0x1e2),'noValue':a56_0x4eefa6(0x13d),'saveFailed':'保存配置失败'},'success':{'envSet':a56_0x4eefa6(0x1f3),'localeSet':a56_0x4eefa6(0x203)},'scope':{'project':'项目','global':'全局'}},'api':{'title':a56_0x4eefa6(0x225),'pull':a56_0x4eefa6(0xea),'doc':a56_0x4eefa6(0x15d),'help':{'title':'lovrabet\x20api\x20-\x20API\x20相关操作','usage':a56_0x4eefa6(0x1df),'options':a56_0x4eefa6(0x1a3),'optAppcode':'指定应用代码','optOutput':'指定输出目录(pull:\x20./src/api/,doc:\x20./docs)','optEnv':'指定环境(如:daily、online)','optDatasetcode':a56_0x4eefa6(0x14b),'optHelp':'显示此帮助信息','examples':'示例:','pullDesc':a56_0x4eefa6(0x1c8),'pullAppcode':a56_0x4eefa6(0x12f),'pullOutput':'指定输出目录','pullEnv':a56_0x4eefa6(0x238),'docDesc':a56_0x4eefa6(0x13a),'docAppcode':a56_0x4eefa6(0x12f),'docOutput':a56_0x4eefa6(0xf2),'docEnv':'指定环境生成文档','docDataset':a56_0x4eefa6(0x20f),'docDatasets':a56_0x4eefa6(0x216),'unknownCommand':a56_0x4eefa6(0x129),'availableCommands':'可用命令:'},'common':{'noPositionalArgs':'❌\x20错误:不再支持位置参数方式','useAppcodeFlag':a56_0x4eefa6(0x1fd),'noAppCode':'×\x20未配置\x20AppCode','noAppCodeHint':a56_0x4eefa6(0x1af),'noAppCodeOption1':a56_0x4eefa6(0x119),'noAppCodeOption2Pull':a56_0x4eefa6(0x17d),'noAppCodeOption2Doc':a56_0x4eefa6(0x20b),'usingConfigAppCode':'*\x20使用配置的应用AppCode:\x20{{appCode}}','usingConfigAppCodeHint':a56_0x4eefa6(0x22f),'usingSpecifiedAppCode':a56_0x4eefa6(0x177),'usingDefaultAppCode':'使用配置的应用AppCode:\x20{{appCode}}','noAppCodeDefault':a56_0x4eefa6(0x23b),'paramsInvalidJson':'×\x20--params\x20参数必须是一个有效的\x20JSON\x20对象','paramsNotJson':'×\x20--params\x20参数不是有效的\x20JSON\x20格式','paramsError':a56_0x4eefa6(0x248),'datasetcodeEmpty':a56_0x4eefa6(0x11b),'onlyGenerateDatasets':a56_0x4eefa6(0x165),'authExpired':a56_0x4eefa6(0x115),'authRetry':a56_0x4eefa6(0x1c2),'unknownError':a56_0x4eefa6(0x108)},'pullUI':{'fetching':a56_0x4eefa6(0x135),'successPull':a56_0x4eefa6(0x182),'duplicateInfo':a56_0x4eefa6(0x120),'generatedFiles':'*\x20已生成文件:','modelFile':a56_0x4eefa6(0x1b4),'clientFile':a56_0x4eefa6(0x14e),'importHint':a56_0x4eefa6(0x15e),'pullFailed':a56_0x4eefa6(0x23c)},'docUI':{'fetchingDatasets':a56_0x4eefa6(0x159),'noDatasets':a56_0x4eefa6(0x200),'datasetsNotFound':a56_0x4eefa6(0x11c),'allDatasetsNotFound':a56_0x4eefa6(0x104),'filteredDatasets':a56_0x4eefa6(0x1b3),'generatingDocs':a56_0x4eefa6(0x124),'generatingFile':a56_0x4eefa6(0x157),'docComplete':'√\x20文档生成完成!成功\x20{{successCount}}\x20个','docFailed':a56_0x4eefa6(0x192),'processedDatasets':a56_0x4eefa6(0x14f),'outputDir':a56_0x4eefa6(0x122),'generatedDocs':a56_0x4eefa6(0x13c),'failedDatasets':'⚠️\x20以下数据集生成失败:','docGenerateFailed':a56_0x4eefa6(0x147)},'fetchModel':{'fetching':a56_0x4eefa6(0x1da),'httpError':a56_0x4eefa6(0x1b2),'fetchError':'获取数据集失败:\x20{{error}}'},'generateFile':{'noAppCode':a56_0x4eefa6(0x226)},'docBatch':{'totalDatasets':'\x0a共有\x20{{count}}\x20个数据集需要生成文档\x0a','generating':'[{{current}}/{{total}}]\x20正在生成:\x20{{fileName}}.md\x20({{name}})','success':a56_0x4eefa6(0x1f5),'failed':a56_0x4eefa6(0x10a),'waiting':'等待\x203\x20秒...\x0a','docFormatError':a56_0x4eefa6(0x1ba),'httpError':a56_0x4eefa6(0xe8)},'silent':{'invalidPrefix':'×\x20文件前缀格式不正确。只能包含字母、数字、连字符和下划线,且必须以字母开头。','fetching':a56_0x4eefa6(0x135),'generating':a56_0x4eefa6(0x1e7),'modelFileName':a56_0x4eefa6(0x188),'clientFileName':a56_0x4eefa6(0x1bd),'processing':a56_0x4eefa6(0x209),'success':a56_0x4eefa6(0x182),'error':a56_0x4eefa6(0x10c)}},'auth':{'title':a56_0x4eefa6(0x118),'login':{'success':{'title':'登录成功','message':a56_0x4eefa6(0x1b9),'manualClose':a56_0x4eefa6(0x1fb)},'successCli':'登录成功!','inProgress':a56_0x4eefa6(0x106),'browserPrompt':a56_0x4eefa6(0x237),'pressEnter':a56_0x4eefa6(0x20d),'pressQToExit':a56_0x4eefa6(0x15a)},'session':{'valid':a56_0x4eefa6(0x1ca)},'server':{'starting':a56_0x4eefa6(0xe7),'loginUrl':'📍\x20登录地址:','openingBrowser':a56_0x4eefa6(0x1cb),'manualOpenHint':a56_0x4eefa6(0x128),'browserOpened':'✅\x20浏览器已自动打开,请在浏览器中完成登录','browserOpenFailed':a56_0x4eefa6(0x17f),'manualCopyUrl':a56_0x4eefa6(0x239)},'logout':{'success':a56_0x4eefa6(0x17b),'notLoggedIn':'!\x20当前未登录'}},'menu':{'sync':a56_0x4eefa6(0x186),'update':a56_0x4eefa6(0x247)},'mcp':{'cursor':a56_0x4eefa6(0x1c3),'claude':a56_0x4eefa6(0x227),'error':{'unsupportedCommand':'错误:\x20不支持的命令:\x20{{cmd}}','missingAppcode':a56_0x4eefa6(0x12e)},'help':{'title':a56_0x4eefa6(0x1ad),'availableCommands':a56_0x4eefa6(0xfe),'command':{'install':'\x20\x20lovrabet\x20mcp\x20install\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20#\x20交互式选择并配置\x20MCP','help':a56_0x4eefa6(0x242)},'usage':{'help':'\x20\x20lovrabet\x20mcp\x20--help\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20显示帮助信息','install':a56_0x4eefa6(0x174),'installCursor':a56_0x4eefa6(0x1a2),'installClaude':a56_0x4eefa6(0x138)},'configMethods':a56_0x4eefa6(0x16a),'configMethodsInteractive':a56_0x4eefa6(0xee),'configMethodsInteractiveHint':'\x20\x20\x20\x20→\x20输入编号选择\x20IDE','configMethodsDirect':a56_0x4eefa6(0x1d6),'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_0x4eefa6(0x1a6),'supportedIDEs':'支持的\x20IDE:','examples':a56_0x4eefa6(0x1f9),'exampleInstall':a56_0x4eefa6(0x1bc),'exampleInstallHint':a56_0x4eefa6(0x1c1),'exampleInstallCursor':a56_0x4eefa6(0x16e),'exampleInstallCursorHint':a56_0x4eefa6(0x16d),'configGuide':a56_0x4eefa6(0x168)},'select':{'chooseIDE':a56_0x4eefa6(0x206),'cancel':a56_0x4eefa6(0x1a5),'enterNumber':a56_0x4eefa6(0x1d3),'prompt':'请选择:\x20','cancelled':a56_0x4eefa6(0x151),'invalidChoice':a56_0x4eefa6(0x143)},'installFlow':{'configuring':'\x0a📦\x20正在配置\x20{{name}}\x20MCP...\x0a','error':a56_0x4eefa6(0x17c)},'cursorConfig':{'success':a56_0x4eefa6(0x136),'configInfo':a56_0x4eefa6(0xff),'usageHint':a56_0x4eefa6(0x245),'restartRequired':'请重启\x20Cursor\x20以加载新的\x20MCP\x20配置。','error':a56_0x4eefa6(0x17c),'rules':{'exists':'Cursor\x20Rules\x20文件已存在,跳过','created':a56_0x4eefa6(0x23e),'copyFailed':'复制\x20Cursor\x20Rules\x20文件失败'},'updateExisting':a56_0x4eefa6(0x132),'createNew':a56_0x4eefa6(0x1ec),'written':'已写入\x20.cursor/mcp.json'},'claudeConfig':{'error':a56_0x4eefa6(0x17c),'agents':{'exists':a56_0x4eefa6(0x15b),'created':a56_0x4eefa6(0x127),'copyFailed':a56_0x4eefa6(0x153)},'manualCommand':a56_0x4eefa6(0x1dd),'configInfo':a56_0x4eefa6(0xff),'restartRequired':a56_0x4eefa6(0x230),'commandGenerated':'生成配置命令'},'other':{'configInfo':a56_0x4eefa6(0x243),'configGuide':a56_0x4eefa6(0x10e),'guideShown':'其他\x20IDE\x20配置指引已显示'},'config':{'env':a56_0x4eefa6(0x23a)},'install':{'starting':a56_0x4eefa6(0x1ab),'unknownIDE':a56_0x4eefa6(0x233),'otherIDE':'其他\x20IDE','success':'\x0a✓\x20{{ide}}\x20MCP\x20配置成功','failed':a56_0x4eefa6(0x12c),'completed':a56_0x4eefa6(0x23f),'manualActionRequired':a56_0x4eefa6(0x164)},'ui':{'otherIDE':'其他\x20IDE','otherIDEDescription':a56_0x4eefa6(0x14a),'selectAtLeastOne':a56_0x4eefa6(0x1f7),'selectedIDE':a56_0x4eefa6(0x234),'count':a56_0x4eefa6(0x1d5),'title':a56_0x4eefa6(0xfa),'configuring':a56_0x4eefa6(0x224),'completed':a56_0x4eefa6(0x130),'partialManual':a56_0x4eefa6(0x204),'failed':'✗\x20配置失败','manualRequired':a56_0x4eefa6(0x1f4),'pressAnyKeyToExit':a56_0x4eefa6(0x217),'unsupportedIDE':'不支持的\x20IDE:\x20{{ide}}'}},'aiSetup':{'error':{'missingAppcode':a56_0x4eefa6(0x183)},'mcp':{'cursor':{'success':a56_0x4eefa6(0x16f),'written':a56_0x4eefa6(0x19d),'error':a56_0x4eefa6(0x173),'rules':{'created':a56_0x4eefa6(0x23e),'copyFailed':a56_0x4eefa6(0x1c7)}},'claude':{'commandGenerated':'Claude\x20Code\x20MCP\x20命令已生成','manualCommand':'\x0a📋\x20请执行以下命令配置\x20Claude\x20Code\x20MCP:\x0a','configInfo':a56_0x4eefa6(0xff),'env':'\x20\x20环境:\x20{{env}}','restartRequired':a56_0x4eefa6(0x1cd),'manualExecute':a56_0x4eefa6(0x219),'agents':{'created':a56_0x4eefa6(0x127),'copyFailed':a56_0x4eefa6(0x153)}},'other':{'name':'其他','title':'\x0a📋\x20其他\x20IDE\x20MCP\x20配置:\x0a','guideShown':'配置指引已显示'},'unsupportedIDE':a56_0x4eefa6(0x185)},'skill':{'unknownIDE':'未知的\x20IDE:\x20{{ide}}','installSuccess':a56_0x4eefa6(0x18b),'itemsCreated':a56_0x4eefa6(0x228),'installFailed':a56_0x4eefa6(0x15f),'sharedCopied':a56_0x4eefa6(0x14c),'sharedCopyFailed':a56_0x4eefa6(0x1a8),'manifestCreated':a56_0x4eefa6(0x212)},'ui':{'selectAtLeastOne':a56_0x4eefa6(0x101),'confirm':{'title':a56_0x4eefa6(0x240),'mcpDescription':a56_0x4eefa6(0x193),'skillDescription':a56_0x4eefa6(0x19b),'yes':a56_0x4eefa6(0x15c),'no':a56_0x4eefa6(0x210),'default':'Enter\x20默认:\x20是'},'select':{'title':'*\x20选择要配置的\x20IDE:','mcpSection':a56_0x4eefa6(0x1e3),'skillSection':a56_0x4eefa6(0xfb),'controls':a56_0x4eefa6(0x1cf)},'installing':a56_0x4eefa6(0x190)}},'appMenu':{'error':{'missingAppCode':a56_0x4eefa6(0x23b),'appCodeHint':{'title':a56_0x4eefa6(0x1af),'option1':a56_0x4eefa6(0xfd),'option2':a56_0x4eefa6(0x244)},'authExpired':a56_0x4eefa6(0x115),'authValidationFailed':a56_0x4eefa6(0x1ae),'httpStatus':a56_0x4eefa6(0x20a),'fetchFailed':a56_0x4eefa6(0x194),'createHttpStatus':a56_0x4eefa6(0x133),'createFailed':a56_0x4eefa6(0xf9)},'info':{'emptyMenuList':'服务端返回空菜单列表'},'success':{'fetched':a56_0x4eefa6(0x18d),'created':a56_0x4eefa6(0x112)},'fetching':{'online':a56_0x4eefa6(0x208),'daily':a56_0x4eefa6(0x220)},'creating':{'single':a56_0x4eefa6(0x191),'batch':{'start':a56_0x4eefa6(0x18a),'completed':'批量创建菜单完成,共\x20{{count}}\x20个'}},'sync':{'title':'*\x20同步菜单到\x20Lovrabet\x20平台','table':{'menuName':a56_0x4eefa6(0x211),'local':'本地','lovrabetPlatform':a56_0x4eefa6(0x11d)},'error':{'noMenuSelected':a56_0x4eefa6(0x1eb),'invalidJsUrl':'请输入有效的\x20JS\x20https\x20链接','jsUrlUnreachable':a56_0x4eefa6(0x167),'invalidCssUrl':a56_0x4eefa6(0x102),'cssUrlUnreachable':a56_0x4eefa6(0x141),'createMenuFailed':a56_0x4eefa6(0x241),'authHint':{'prefix':'提示:使用\x20','suffix':a56_0x4eefa6(0x1cc)},'noLocalPages':a56_0x4eefa6(0x223)},'step':{'selectedMenus':a56_0x4eefa6(0x1ee),'selectedMenusCount':'{{count}}\x20个','jsUrl':a56_0x4eefa6(0x131),'cssUrl':a56_0x4eefa6(0x121),'selectMenus':'*\x20请选择要同步的菜单:','creating':a56_0x4eefa6(0x21c),'completed':'√\x20菜单创建完成'},'operation':{'update':'更新','create':'新建'},'loading':{'fetchingMenuList':a56_0x4eefa6(0x1c4)},'hotkeys':'↑/↓:\x20移动光标\x20空格:\x20切换选中\x20a:\x20全选\x20i/r:\x20反选\x20Enter:\x20确认','input':{'jsUrl':{'label':a56_0x4eefa6(0x103),'placeholder':a56_0x4eefa6(0x166)},'cssUrl':{'label':'*\x20CSS\x20链接:\x20','placeholder':a56_0x4eefa6(0x180)}}},'updateCdn':{'title':a56_0x4eefa6(0x142),'error':{'invalidJsUrl':a56_0x4eefa6(0x17a),'jsUrlUnreachable':'JS\x20链接无法访问','invalidCssUrl':'请输入有效的\x20CSS\x20https\x20链接','cssUrlUnreachable':'CSS\x20链接无法访问','authHint':{'prefix':a56_0x4eefa6(0x1dc),'suffix':a56_0x4eefa6(0x1cc)},'noCdnLinks':a56_0x4eefa6(0x162),'updateFailed':a56_0x4eefa6(0x1b6)},'loading':{'fetching':a56_0x4eefa6(0x21f),'syncing':'\x20资源正在同步中...'},'action':{'continue':'继续更新','cancel':a56_0x4eefa6(0x1b8)},'success':{'updated':a56_0x4eefa6(0x1ed),'synced':a56_0x4eefa6(0x19a)},'updating':'正在更新菜单资源链接:\x20{{label}}\x20({{path}})','preview':{'title':'*\x20待更新的菜单&资源链接','menuList':'待更新的菜单列表:','resourceLinks':a56_0x4eefa6(0x140)},'input':{'title':a56_0x4eefa6(0x145),'jsUrl':{'label':a56_0x4eefa6(0xf6),'placeholder':a56_0x4eefa6(0x1ff)},'cssUrl':{'label':a56_0x4eefa6(0x1aa),'placeholder':'输入项目的\x20CSS\x20资源链接(https://...)'}}}},'skill':{'install':a56_0x4eefa6(0x13f),'error':{'unsupportedCommand':'错误:\x20不支持的命令:\x20{{cmd}}','installFailed':a56_0x4eefa6(0x158),'unknownPlatform':a56_0x4eefa6(0x1fc),'unknownIDE':'\x20\x20✗\x20未知的\x20IDE:\x20{{ide}}','noValidIDE':a56_0x4eefa6(0x1e1),'selectAtLeastOne':a56_0x4eefa6(0x1f7)},'errorHint':{'availableCommands':a56_0x4eefa6(0xfe),'installInteractive':'\x20\x20lovrabet\x20skill\x20install\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20#\x20交互式选择并安装技能包','installDirect':a56_0x4eefa6(0x150),'showHelp':a56_0x4eefa6(0x116),'usageExamples':a56_0x4eefa6(0x218),'exampleInteractive':a56_0x4eefa6(0x12d),'exampleDirect':a56_0x4eefa6(0x123)},'select':{'title':a56_0x4eefa6(0x19e),'installAll':'全部安装','cancel':'取消','inputFormat':a56_0x4eefa6(0x1b5),'inputHint':a56_0x4eefa6(0x172),'prompt':a56_0x4eefa6(0x105),'cancelled':a56_0x4eefa6(0x125),'noneSelected':a56_0x4eefa6(0x181),'selectedIDE':a56_0x4eefa6(0x234),'count':'{{count}}\x20个'},'cdn':{'fetching':'正在从\x20CDN\x20拉取开发者指南...','fetchingExtend':a56_0x4eefa6(0x21e),'fetchSuccess':a56_0x4eefa6(0x152),'fetchFailed':a56_0x4eefa6(0xf5)},'installing':{'title':a56_0x4eefa6(0x179),'progress':a56_0x4eefa6(0x1c5),'ide':a56_0x4eefa6(0x11a),'installed':a56_0x4eefa6(0x1d4),'created':'\x20\x20✓\x20创建\x20{{path}}','createdDir':a56_0x4eefa6(0x1d9),'createdManifest':a56_0x4eefa6(0x1b1)},'done':{'success':a56_0x4eefa6(0xed),'successInline':'✓\x20技能包安装成功!共安装\x20{{count}}\x20个目录','guidesLocation':'开发者指南位置:','guidesPath':a56_0x4eefa6(0x202),'guidesPathInline':a56_0x4eefa6(0x178),'pressAnyKey':a56_0x4eefa6(0x217)},'generic':'通用模板','help':{'title':'Lovrabet\x20Skill\x20-\x20开发者技能包安装工具','usage':'用法:','showHelp':a56_0x4eefa6(0x1d0),'installInteractive':a56_0x4eefa6(0x1f1),'installDirect':a56_0x4eefa6(0x113),'installAll':a56_0x4eefa6(0x1be),'installWithBff':a56_0x4eefa6(0x149),'installMethods':a56_0x4eefa6(0x107),'interactiveSelect':a56_0x4eefa6(0x1e8),'interactiveKeys':'\x20\x20\x20\x20→\x20使用\x20↑↓\x20移动光标,空格选中/取消,Enter\x20确认\x0a\x20\x20\x20\x20→\x20按\x20a\x20全选,按\x20i/r\x20反选,按\x20q\x20退出','directInstall':'\x20\x20直接安装指定\x20IDE\x20(支持多个)\x20\x20\x20\x20\x20\x20\x20-\x20使用\x20--ide\x20标志直接安装','bffWorkflow':a56_0x4eefa6(0x139),'supportedIDEs':a56_0x4eefa6(0x10d),'agentDesc':'其他\x20(通用模板)\x20(.agent/skills/)\x20-\x20兜底方案','allDesc':a56_0x4eefa6(0x201),'options':a56_0x4eefa6(0xf4),'bffOption':a56_0x4eefa6(0x12a),'skillContents':a56_0x4eefa6(0x1ac),'skillContentsList':a56_0x4eefa6(0x1de),'examples':'示例:','exampleInteractive':a56_0x4eefa6(0x1c1),'exampleDirectDesc':'\x20\x20\x20\x20→\x20直接安装\x20Cursor\x20和\x20claude\x20code\x20技能包','exampleBffDesc':'\x20\x20\x20\x20→\x20安装技能包并包含\x20Backend\x20Function\x20同步工作流','exampleAllDesc':a56_0x4eefa6(0x19c),'afterInstall':a56_0x4eefa6(0x22c),'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':a56_0x4eefa6(0x18e),'noLogs':a56_0x4eefa6(0x10b),'header':'*\x20Lovrabet\x20CLI\x20日志记录:\x0a','time':a56_0x4eefa6(0x1c0),'duration':a56_0x4eefa6(0x195),'details':a56_0x4eefa6(0x1ce),'cleared':a56_0x4eefa6(0x197)},'start':{'starting':a56_0x4eefa6(0x1e6)},'build':{'building':a56_0x4eefa6(0x1d2)},'preview':{'previewing':'正在预览项目...','watchMode':a56_0x4eefa6(0xfc)},'ui':{'ideSelector':{'title':a56_0x4eefa6(0x161),'hotkeys':a56_0x4eefa6(0x215)}},'upgrade':{'cli':{'title':a56_0x4eefa6(0x235),'current':a56_0x4eefa6(0xeb),'stable':'\x20\x20\x20稳定版本:\x20{{version}}','command':'\x20\x20\x20升级命令:\x20{{command}}'},'sdk':{'title':'↪\x20SDK\x20版本更新','current':'\x20\x20\x20当前版本:\x20{{package}}@{{version}}','stable':a56_0x4eefa6(0x17e),'command':a56_0x4eefa6(0x134)}}};
|
package/lib/init/main.js
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
(function(
|
|
1
|
+
(function(_0x48aa8e,_0x470e69){const _0x318e73=a57_0x4c71,_0x41e39b=_0x48aa8e();while(!![]){try{const _0x59c36b=-parseInt(_0x318e73(0x75))/0x1*(parseInt(_0x318e73(0x8a))/0x2)+-parseInt(_0x318e73(0x9b))/0x3*(parseInt(_0x318e73(0x84))/0x4)+parseInt(_0x318e73(0x95))/0x5+parseInt(_0x318e73(0x76))/0x6+parseInt(_0x318e73(0x7b))/0x7+-parseInt(_0x318e73(0x86))/0x8+parseInt(_0x318e73(0x82))/0x9*(-parseInt(_0x318e73(0x74))/0xa);if(_0x59c36b===_0x470e69)break;else _0x41e39b['push'](_0x41e39b['shift']());}catch(_0x4911dc){_0x41e39b['push'](_0x41e39b['shift']());}}}(a57_0x1a9f,0xc035c));import{jsxs as a57_0x5dc348,jsx as a57_0x420ca9}from'react/jsx-runtime';import{useState,useEffect}from'react';import{Box,Text,useInput}from'ink';function a57_0x1a9f(){const _0x25a73b=['init.nextSteps','exit','init','error','cyan','init.validation.required','124164mliFwO','gray','520RgvZxW','toLocaleString','6554624FtjuFm','backspace','test','red','356566ucYOOf','1.0.0','env','\x20←\x20','column','version','init.creating','../..','init.appCodeLabel','init.inputAppCode','string','7478725AVnERy','init.success','delete','green','utf8','init.fileExists','19050AkCpEg','cwd','init.validation.invalidFormat','ctrl','parse','setLogPath','online','length','init.validation.invalidCode','10jwYSjV','4IWeMJZ','6472482CDQwBv','common.error','message','package.json','.lovrabetrc','4091892uMUZCs'];a57_0x1a9f=function(){return _0x25a73b;};return a57_0x1a9f();}function a57_0x4c71(_0x191b62,_0x380c39){_0x191b62=_0x191b62-0x71;const _0x1a9f12=a57_0x1a9f();let _0x4c71c9=_0x1a9f12[_0x191b62];return _0x4c71c9;}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';import{useI18n}from'../i18n/hooks.js';export function Init({appcode:_0xe51e14,env:_0x14aab6}){const _0x12d292=a57_0x4c71,{t:_0x2c50a3}=useI18n(),[_0x3d5103,_0x2bb79f]=useState(null),[_0x400b50,_0x451e5d]=useState(![]),[_0x49e9e1,_0x40ffba]=useState(!_0xe51e14),[_0x2de685,_0x207a8c]=useState(''),[_0x453179,_0x28b1a9]=useState(''),[_0x534e47,_0x2230f1]=useState(_0xe51e14||''),[_0x56b2a6]=useState(_0x14aab6);function _0x53aeda(_0x540da0){const _0x428ef5=a57_0x4c71;if(_0x540da0[_0x428ef5(0x72)]===0x0)return{'valid':![],'message':''};if(_0x540da0[_0x428ef5(0x72)]>0x64)return{'valid':![],'message':_0x2c50a3('init.validation.tooLong')};const _0x428796=/^[A-Za-z0-9_-]+$/;if(!_0x428796[_0x428ef5(0x88)](_0x540da0))return{'valid':![],'message':_0x2c50a3(_0x428ef5(0x9d))};return{'valid':!![]};}useInput((_0x1630a3,_0x1ed6aa)=>{const _0x430ba2=a57_0x4c71;if(!_0x49e9e1)return;if(_0x1ed6aa['return']){if(_0x453179||!_0x2de685['trim']()){_0x28b1a9(_0x2c50a3(_0x430ba2(0x81)));return;}const _0x3472e7=_0x2de685['trim'](),{valid:_0x4a5405,message:_0x4b9756}=_0x53aeda(_0x3472e7);if(!_0x4a5405){_0x28b1a9(_0x4b9756||_0x2c50a3(_0x430ba2(0x73)));return;}_0x2230f1(_0x3472e7),_0x40ffba(![]);}else{if(_0x1ed6aa[_0x430ba2(0x87)]||_0x1ed6aa[_0x430ba2(0x97)])_0x207a8c(_0x1e3b2e=>{const _0x128ff3=_0x1e3b2e['slice'](0x0,-0x1);if(_0x128ff3['length']===0x0)_0x28b1a9('');else{const {valid:_0x6c6538,message:_0xd397dd}=_0x53aeda(_0x128ff3);_0x28b1a9(_0x6c6538?'':_0xd397dd||_0x2c50a3('init.validation.invalidCode'));}return _0x128ff3;});else _0x1ed6aa[_0x430ba2(0x9e)]&&_0x1630a3==='c'?process[_0x430ba2(0x7d)](0x0):_0x207a8c(_0x2870d7=>{const _0x17c738=_0x430ba2,_0x55408f=_0x2870d7+_0x1630a3,{valid:_0x1e1faf,message:_0x13d342}=_0x53aeda(_0x55408f);return _0x28b1a9(_0x1e1faf?'':_0x13d342||_0x2c50a3(_0x17c738(0x73))),_0x55408f;});}},{'isActive':_0x49e9e1}),useEffect(()=>{const _0x39b974=a57_0x4c71;if(!_0x534e47||_0x49e9e1)return;const _0x4edd72=resolve(process[_0x39b974(0x9c)](),_0x39b974(0x7a));if(existsSync(_0x4edd72)){_0x2bb79f(_0x2c50a3(_0x39b974(0x9a))),setTimeout(()=>process[_0x39b974(0x7d)](0x1),0x64);return;}try{const _0x43ef97=fileURLToPath(import.meta.url),_0x4b9b5c=resolve(dirname(_0x43ef97),_0x39b974(0x91)),_0x29c5ff=join(_0x4b9b5c,_0x39b974(0x79));let _0x1719e6=_0x39b974(0x8b);try{const _0x279f43=JSON[_0x39b974(0x9f)](readFileSync(_0x29c5ff,_0x39b974(0x99)));_0x1719e6=_0x279f43[_0x39b974(0x8f)]||'1.0.0';}catch(_0x3dbe45){}const _0x48b416=readConfig(),_0x36a1be=typeof _0x48b416[_0x39b974(0x8c)]===_0x39b974(0x94)?_0x48b416['env']:undefined,{app:_0x36812f,appcode:_0x377ed4,..._0x3e0738}=_0x48b416,_0x5f1a3b={..._0x3e0738,'appcode':_0x534e47,'env':_0x56b2a6||_0x36a1be||_0x39b974(0x71),'createdAt':new Date()[_0x39b974(0x85)](),'version':_0x1719e6};writeFileSync(_0x4edd72,JSON['stringify'](_0x5f1a3b,null,0x2),{'encoding':_0x39b974(0x99),'mode':0x180}),logger[_0x39b974(0xa0)](process[_0x39b974(0x9c)]()),logger['info'](_0x39b974(0x7e),'初始化项目配置文件成功',{'appcode':_0x534e47,'env':_0x5f1a3b[_0x39b974(0x8c)],'version':_0x5f1a3b['version'],'configPath':_0x4edd72}),_0x451e5d(!![]),setTimeout(()=>process['exit'](0x0),0x64);}catch(_0x5c6dcc){logger[_0x39b974(0x7f)]('init','创建配置文件失败',{'error':_0x5c6dcc instanceof Error?_0x5c6dcc[_0x39b974(0x78)]:String(_0x5c6dcc)}),_0x2bb79f(_0x2c50a3(_0x39b974(0x77))+':\x20'+(_0x5c6dcc instanceof Error?_0x5c6dcc[_0x39b974(0x78)]:String(_0x5c6dcc))),setTimeout(()=>process['exit'](0x1),0x64);}},[_0x534e47,_0x49e9e1,_0x56b2a6]);if(_0x3d5103)return a57_0x420ca9(Box,{'flexDirection':'column','children':a57_0x5dc348(Text,{'color':_0x12d292(0x89),'children':['✗\x20',_0x3d5103]})});if(_0x49e9e1)return a57_0x5dc348(Box,{'flexDirection':_0x12d292(0x8e),'children':[a57_0x5dc348(Box,{'children':[a57_0x5dc348(Text,{'color':'cyan','children':[_0x2c50a3(_0x12d292(0x93)),'\x20']}),_0x2de685?a57_0x420ca9(Text,{'color':_0x12d292(0x98),'children':_0x2de685}):a57_0x420ca9(Text,{'color':_0x12d292(0x83),'children':'_'}),_0x453179&&a57_0x5dc348(Text,{'color':_0x12d292(0x89),'children':[_0x12d292(0x8d),_0x453179]})]}),!_0x453179&&!_0x2de685&&a57_0x420ca9(Box,{'children':a57_0x420ca9(Text,{'color':'gray','children':_0x2c50a3('init.appCodeDesc')})})]});if(_0x400b50)return a57_0x5dc348(Box,{'flexDirection':_0x12d292(0x8e),'children':[a57_0x5dc348(Text,{'color':'green','children':['✓\x20',_0x2c50a3(_0x12d292(0x96))]}),a57_0x5dc348(Text,{'color':_0x12d292(0x80),'children':[_0x2c50a3(_0x12d292(0x92)),':\x20',_0x534e47]}),a57_0x420ca9(Text,{'children':_0x2c50a3(_0x12d292(0x7c))})]});return a57_0x420ca9(Box,{'children':a57_0x420ca9(Text,{'children':_0x2c50a3(_0x12d292(0x90))})});}
|