@lovrabet/cli 1.3.2 → 1.3.4-beta.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- 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 -0
- 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 -0
- package/lib/i18n/hooks.js +1 -0
- package/lib/i18n/index.js +1 -0
- package/lib/i18n/locales/en-US.js +1 -0
- package/lib/i18n/locales/zh-CN.js +1 -0
- 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 +6 -1
- package/templates/README.md +10 -55
- package/lib/add-page/input-page-router.js +0 -1
- package/lib/add-page/main.js +0 -1
- package/lib/add-page/select-page-template.js +0 -1
- package/lib/utils/router-updater.js +0 -1
- package/templates/pages/blank/index.tsx.tpl +0 -13
- package/templates/pages/sdk-fetch/index.tsx.tpl +0 -80
|
@@ -1 +1 @@
|
|
|
1
|
-
(function(
|
|
1
|
+
const a43_0x147257=a43_0x3f85;(function(_0x27eccb,_0x55de90){const _0x4786d0=a43_0x3f85,_0x126f4b=_0x27eccb();while(!![]){try{const _0x4981ef=parseInt(_0x4786d0(0x13e))/0x1*(parseInt(_0x4786d0(0x147))/0x2)+-parseInt(_0x4786d0(0x165))/0x3+-parseInt(_0x4786d0(0x150))/0x4*(parseInt(_0x4786d0(0x14b))/0x5)+parseInt(_0x4786d0(0x140))/0x6+-parseInt(_0x4786d0(0x163))/0x7*(parseInt(_0x4786d0(0x13f))/0x8)+-parseInt(_0x4786d0(0x13a))/0x9+parseInt(_0x4786d0(0x15e))/0xa;if(_0x4981ef===_0x55de90)break;else _0x126f4b['push'](_0x126f4b['shift']());}catch(_0x229cdb){_0x126f4b['push'](_0x126f4b['shift']());}}}(a43_0x3c72,0x70217));import a43_0x29af00 from'path';import{fileURLToPath}from'url';function a43_0x3c72(){const _0x44df44=['exit','\x0a\x20\x20cd\x20','create.validation.required','create.validation.noPermission','依赖安装失败:\x20','test','create.nonInteractive.codeFormatted','20170630zkNUcB','error','resolve','bun\x20--version','parse','10465GmXykQ','log','1421217JcTLGQ','create.nonInteractive.envConfigured','bun','create.nonInteractive.installingDeps','lovrabet.config.json','message','3080241cBjjmT','create.nonInteractive.success','readFile','../../templates/projects/sub-app-react-demo','111746EVBkyT','4616qMqqGK','5286510jYcrLS','utf-8','join','bind','constants','create.validation.tooLong','npm','2SkbjKw','description','needsUpgrade','create.nonInteractive.depsSkipped','1453340TMaYQz','create.nonInteractive.packageJsonUpdated','\x20install','W_OK','\x20\x20lovrabet\x20start\x0a','12rVpwQi','length','name','writeFile','dirname','cwd','create.errors.createFailed'];a43_0x3c72=function(){return _0x44df44;};return a43_0x3c72();}import a43_0x10b1a3 from'fs/promises';import{existsSync}from'fs';import{copyDirectory}from'../utils/copy-directory.js';import{exec}from'child_process';function a43_0x3f85(_0x866945,_0x20975e){_0x866945=_0x866945-0x137;const _0x3c722f=a43_0x3c72();let _0x3f8587=_0x3c722f[_0x866945];return _0x3f8587;}import{promisify}from'util';import{checkCliVersion,printCliUpgradeWarning}from'../utils/cli-version-check.js';import a43_0x39a486 from'../i18n/index.js';const t=a43_0x39a486['t'][a43_0x147257(0x143)](a43_0x39a486),execAsync=promisify(exec);function getTemplateDir(){const _0x5894d4=a43_0x147257,_0x5944d2=fileURLToPath(import.meta.url),_0x558f83=a43_0x29af00[_0x5894d4(0x154)](_0x5944d2);return a43_0x29af00[_0x5894d4(0x160)](_0x558f83,_0x5894d4(0x13d));}export async function createProjectNonInteractive(_0x1b81e9,_0x5f44de){const _0x573557=a43_0x147257,_0x1ef69f=await checkCliVersion();_0x1ef69f[_0x573557(0x149)]&&printCliUpgradeWarning(_0x1ef69f);(!_0x1b81e9||_0x1b81e9['trim']()==='')&&(console['error'](t(_0x573557(0x159))),process['exit'](0x1));const _0x3c838d=/[<>:"|?*\x00-\x1f\x7f]/;_0x3c838d[_0x573557(0x15c)](_0x1b81e9)&&(console[_0x573557(0x15f)](t('create.validation.invalidChars')),process[_0x573557(0x157)](0x1));_0x1b81e9[_0x573557(0x151)]>0x64&&(console[_0x573557(0x15f)](t(_0x573557(0x145))),process[_0x573557(0x157)](0x1));const _0x3edd3e=a43_0x29af00[_0x573557(0x160)](process['cwd'](),_0x1b81e9);existsSync(_0x3edd3e)&&(console['error'](t('create.validation.dirExists',{'name':_0x1b81e9})),process['exit'](0x1));try{const _0x182980=a43_0x29af00[_0x573557(0x154)](_0x3edd3e);await a43_0x10b1a3['access'](_0x182980,a43_0x10b1a3[_0x573557(0x144)][_0x573557(0x14e)]);}catch(_0x16200a){console['error'](t(_0x573557(0x15a))),process[_0x573557(0x157)](0x1);}try{console[_0x573557(0x164)](t('create.nonInteractive.creating',{'name':_0x1b81e9}));const _0x451a9b=getTemplateDir();await copyDirectory(_0x451a9b,_0x3edd3e),console[_0x573557(0x164)](t('create.nonInteractive.templateCreated')),await updatePackageJsonName(_0x1b81e9),console['log'](t(_0x573557(0x14c))),console[_0x573557(0x164)](t(_0x573557(0x137))),console[_0x573557(0x164)](t(_0x573557(0x14a))),await formatCode(_0x3edd3e),console['log'](t(_0x573557(0x15d))),await configureAppEnv(_0x1b81e9,_0x5f44de),console['log'](t(_0x573557(0x166))),console[_0x573557(0x164)](t(_0x573557(0x13b),{'name':_0x1b81e9})),console[_0x573557(0x164)](_0x573557(0x158)+_0x1b81e9),console['log'](_0x573557(0x14f));}catch(_0x42eba2){const _0x39a437=_0x42eba2 instanceof Error?_0x42eba2[_0x573557(0x139)]:String(_0x42eba2);try{existsSync(_0x3edd3e)&&await a43_0x10b1a3['rm'](_0x3edd3e,{'recursive':!![],'force':!![]});}catch{}console[_0x573557(0x15f)](t(_0x573557(0x156),{'error':_0x39a437})),process['exit'](0x1);}}async function updatePackageJsonName(_0x4391ea){const _0x48e72c=a43_0x147257,_0x2b4425=a43_0x29af00[_0x48e72c(0x160)](process[_0x48e72c(0x155)](),_0x4391ea),_0xbdaf11=a43_0x29af00[_0x48e72c(0x142)](_0x2b4425,'package.json'),_0x163610=await a43_0x10b1a3[_0x48e72c(0x13c)](_0xbdaf11,_0x48e72c(0x141)),_0x70aa6e=JSON['parse'](_0x163610);_0x70aa6e[_0x48e72c(0x152)]=_0x4391ea,_0x70aa6e[_0x48e72c(0x148)]='A\x20project\x20created\x20with\x20Lovrabet\x20CLI',await a43_0x10b1a3[_0x48e72c(0x153)](_0xbdaf11,JSON['stringify'](_0x70aa6e,null,0x2)+'\x0a');}async function installDependencies(_0x10cc07){const _0x27d990=a43_0x147257,_0x53ea6a=detectPackageManager(),_0x34a8d3=_0x53ea6a+_0x27d990(0x14d);try{await execAsync(_0x34a8d3,{'cwd':_0x10cc07});}catch(_0x1fb580){throw new Error(_0x27d990(0x15b)+_0x1fb580);}}function detectPackageManager(){const _0x74112=a43_0x147257;try{return execAsync(_0x74112(0x161),{}),_0x74112(0x167);}catch{return _0x74112(0x146);}}async function formatCode(_0x27ca1a){try{await execAsync('bun\x20run\x20format',{'cwd':_0x27ca1a});}catch{}}async function configureAppEnv(_0x2b3579,_0x4466a0){const _0x5ea269=a43_0x147257,_0x53259b=a43_0x29af00[_0x5ea269(0x160)](process[_0x5ea269(0x155)](),_0x2b3579),_0xfda1b7=a43_0x29af00['join'](_0x53259b,_0x5ea269(0x138));let _0x558f31={};if(existsSync(_0xfda1b7)){const _0x175a8d=await a43_0x10b1a3[_0x5ea269(0x13c)](_0xfda1b7,_0x5ea269(0x141));_0x558f31=JSON[_0x5ea269(0x162)](_0x175a8d);}_0x4466a0&&(_0x558f31['env']=_0x4466a0),await a43_0x10b1a3[_0x5ea269(0x153)](_0xfda1b7,JSON['stringify'](_0x558f31,null,0x2)+'\x0a');}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
(function(
|
|
1
|
+
(function(_0x56fc18,_0x2491d3){var _0x577fa5=a44_0x4327,_0x4b9046=_0x56fc18();while(!![]){try{var _0x55f90f=-parseInt(_0x577fa5(0x158))/0x1*(parseInt(_0x577fa5(0x153))/0x2)+parseInt(_0x577fa5(0x14c))/0x3*(-parseInt(_0x577fa5(0x14e))/0x4)+parseInt(_0x577fa5(0x151))/0x5*(parseInt(_0x577fa5(0x159))/0x6)+parseInt(_0x577fa5(0x157))/0x7*(-parseInt(_0x577fa5(0x152))/0x8)+-parseInt(_0x577fa5(0x14d))/0x9+-parseInt(_0x577fa5(0x150))/0xa*(-parseInt(_0x577fa5(0x155))/0xb)+-parseInt(_0x577fa5(0x156))/0xc;if(_0x55f90f===_0x2491d3)break;else _0x4b9046['push'](_0x4b9046['shift']());}catch(_0x11bc34){_0x4b9046['push'](_0x4b9046['shift']());}}}(a44_0x5319,0xd0a41));import{jsx as a44_0x90b27f,jsxs as a44_0x5a0a76}from'react/jsx-runtime';import{Box,Text}from'ink';function a44_0x5319(){var _0xeaccc0=['7515252FBrblF','5173pdPjRn','99562QqTyOc','233718JOtUoi','242664pKcrDA','275409hLIayK','4jhWnXJ','taskName','789380yElHcc','130PMCMNr','3272GuOLdz','14bZwFcJ','green','220fYBvaq'];a44_0x5319=function(){return _0xeaccc0;};return a44_0x5319();}function a44_0x4327(_0x1965ee,_0x2d9f5f){_0x1965ee=_0x1965ee-0x14c;var _0x53192e=a44_0x5319();var _0x43270e=_0x53192e[_0x1965ee];return _0x43270e;}import{TaskTime}from'./task-time.js';export function TaskFinished(_0x2c5622){var _0x384204=a44_0x4327;return a44_0x5a0a76(Box,{'children':[a44_0x90b27f(Box,{'width':'1'}),a44_0x90b27f(Text,{'color':_0x384204(0x154),'children':'\x20√\x20'}),a44_0x90b27f(Text,{'children':_0x2c5622[_0x384204(0x14f)]}),a44_0x90b27f(TaskTime,{'elapsed':_0x2c5622['elapsed']})]});}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
|
|
1
|
+
(function(_0x3b3334,_0x370e97){var _0x59e415=a45_0x1a78,_0x56e0a2=_0x3b3334();while(!![]){try{var _0x128c8b=parseInt(_0x59e415(0x1c5))/0x1*(parseInt(_0x59e415(0x1c3))/0x2)+-parseInt(_0x59e415(0x1c6))/0x3+parseInt(_0x59e415(0x1c2))/0x4*(-parseInt(_0x59e415(0x1be))/0x5)+parseInt(_0x59e415(0x1c7))/0x6+-parseInt(_0x59e415(0x1bf))/0x7+-parseInt(_0x59e415(0x1c0))/0x8+parseInt(_0x59e415(0x1c8))/0x9;if(_0x128c8b===_0x370e97)break;else _0x56e0a2['push'](_0x56e0a2['shift']());}catch(_0x49a491){_0x56e0a2['push'](_0x56e0a2['shift']());}}}(a45_0x4a82,0xc8510));import{jsx as a45_0x38383a,jsxs as a45_0x2a84b0}from'react/jsx-runtime';function a45_0x4a82(){var _0xa8bbf1=['finished','loading','1300bZOpZz','2119348yHhrDd','11550784QSEDeF','dots','11192tISsAE','1853890QPeVrc','\x20√\x20','1OeoCUg','415995cbgqgq','2829138cwxYgD','18313065KhTyex','green'];a45_0x4a82=function(){return _0xa8bbf1;};return a45_0x4a82();}import{Text}from'ink';import a45_0x5d192e from'ink-spinner';function a45_0x1a78(_0x569b5d,_0x2487ca){_0x569b5d=_0x569b5d-0x1bb;var _0x4a8251=a45_0x4a82();var _0x1a781b=_0x4a8251[_0x569b5d];return _0x1a781b;}export function TaskLoading(_0x493a0a){var _0x1c76c6=a45_0x1a78;if(_0x493a0a[_0x1c76c6(0x1bc)])return a45_0x38383a(Text,{'color':_0x1c76c6(0x1bb),'children':_0x1c76c6(0x1c4)});if(_0x493a0a[_0x1c76c6(0x1bd)])return a45_0x2a84b0(Text,{'color':_0x1c76c6(0x1bb),'children':['\x20',a45_0x38383a(a45_0x5d192e,{'type':_0x1c76c6(0x1c1)}),'\x20']});return a45_0x38383a(Text,{'children':'\x20\x20\x20'});}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
(function(
|
|
1
|
+
(function(_0x45b669,_0x3aee10){var _0x381384=a46_0x5e5e,_0x5ef9f4=_0x45b669();while(!![]){try{var _0x49cf82=parseInt(_0x381384(0xc3))/0x1*(parseInt(_0x381384(0xc0))/0x2)+-parseInt(_0x381384(0xba))/0x3*(parseInt(_0x381384(0xc5))/0x4)+parseInt(_0x381384(0xbe))/0x5*(-parseInt(_0x381384(0xbd))/0x6)+-parseInt(_0x381384(0xbc))/0x7+-parseInt(_0x381384(0xc4))/0x8+-parseInt(_0x381384(0xbb))/0x9*(-parseInt(_0x381384(0xc1))/0xa)+parseInt(_0x381384(0xb9))/0xb;if(_0x49cf82===_0x3aee10)break;else _0x5ef9f4['push'](_0x5ef9f4['shift']());}catch(_0x35dbe9){_0x5ef9f4['push'](_0x5ef9f4['shift']());}}}(a46_0x33ca,0x6e0bf));import{jsx as a46_0x6be4c1,jsxs as a46_0x3b2b0d}from'react/jsx-runtime';function a46_0x33ca(){var _0x20c828=['15nwIelA','taskName','57170VmORWU','2843410ozsnEc','elapsed','11DULvaa','7076592TCuxEU','31956MPAEGm','27904250YmCItb','207tWkwxl','9ivHjOs','3653181NONOUx','1454154MIYNDX'];a46_0x33ca=function(){return _0x20c828;};return a46_0x33ca();}import{Box,Text}from'ink';function a46_0x5e5e(_0x595a28,_0x10dc27){_0x595a28=_0x595a28-0xb9;var _0x33ca3d=a46_0x33ca();var _0x5e5e84=_0x33ca3d[_0x595a28];return _0x5e5e84;}import{TaskLoading}from'./task-loading.js';import{TaskTime}from'./task-time.js';export function TaskRunning(_0x21e273){var _0x3e7dd8=a46_0x5e5e;return a46_0x3b2b0d(Box,{'children':[a46_0x6be4c1(Box,{'width':'1'}),a46_0x6be4c1(TaskLoading,{..._0x21e273}),a46_0x6be4c1(Text,{'children':_0x21e273[_0x3e7dd8(0xbf)]}),a46_0x6be4c1(TaskTime,{'elapsed':_0x21e273[_0x3e7dd8(0xc2)]})]});}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
(function(
|
|
1
|
+
(function(_0x4f352e,_0x7566cb){var _0x32c9fe=a47_0xe86e,_0x19da9a=_0x4f352e();while(!![]){try{var _0x4e6220=parseInt(_0x32c9fe(0x1df))/0x1+parseInt(_0x32c9fe(0x1de))/0x2+-parseInt(_0x32c9fe(0x1dd))/0x3*(parseInt(_0x32c9fe(0x1dc))/0x4)+-parseInt(_0x32c9fe(0x1e2))/0x5+parseInt(_0x32c9fe(0x1e3))/0x6+parseInt(_0x32c9fe(0x1e5))/0x7+-parseInt(_0x32c9fe(0x1e1))/0x8;if(_0x4e6220===_0x7566cb)break;else _0x19da9a['push'](_0x19da9a['shift']());}catch(_0x72f4bd){_0x19da9a['push'](_0x19da9a['shift']());}}}(a47_0x4942,0xc5527));function a47_0x4942(){var _0x2587c8=['gray','1730048tpFeRj','5481220NkZIby','5739552ZncNLj','elapsed','1820042brtHZp','108584dxQCzJ','57fTJjqW','952760TugVyg','943527NXzAEo'];a47_0x4942=function(){return _0x2587c8;};return a47_0x4942();}import{jsx as a47_0x26f781,Fragment as a47_0x1d00a3,jsxs as a47_0x15776b}from'react/jsx-runtime';import{Text}from'ink';function a47_0xe86e(_0x484e67,_0xf39e3c){_0x484e67=_0x484e67-0x1dc;var _0x4942f0=a47_0x4942();var _0xe86e=_0x4942f0[_0x484e67];return _0xe86e;}export function TaskTime(_0x260264){var _0x24fef8=a47_0xe86e;if(_0x260264[_0x24fef8(0x1e4)])return a47_0x15776b(a47_0x1d00a3,{'children':[a47_0x26f781(Text,{'color':'gray','children':'\x20['}),a47_0x26f781(Text,{'color':'gray','bold':!![],'children':_0x260264[_0x24fef8(0x1e4)]}),a47_0x26f781(Text,{'color':_0x24fef8(0x1e0),'children':']'})]});return null;}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
const
|
|
1
|
+
const a48_0x74e835=a48_0x2f85;(function(_0x531441,_0x13c545){const _0x9f0aea=a48_0x2f85,_0x16be69=_0x531441();while(!![]){try{const _0x365dba=-parseInt(_0x9f0aea(0x149))/0x1*(parseInt(_0x9f0aea(0x14f))/0x2)+parseInt(_0x9f0aea(0x15e))/0x3*(parseInt(_0x9f0aea(0x15b))/0x4)+-parseInt(_0x9f0aea(0x15a))/0x5*(parseInt(_0x9f0aea(0x154))/0x6)+-parseInt(_0x9f0aea(0x160))/0x7+parseInt(_0x9f0aea(0x14e))/0x8*(parseInt(_0x9f0aea(0x14b))/0x9)+parseInt(_0x9f0aea(0x152))/0xa*(parseInt(_0x9f0aea(0x150))/0xb)+-parseInt(_0x9f0aea(0x158))/0xc;if(_0x365dba===_0x13c545)break;else _0x16be69['push'](_0x16be69['shift']());}catch(_0x3e193b){_0x16be69['push'](_0x16be69['shift']());}}}(a48_0x2499,0x4747e));function a48_0x2f85(_0x4ddee0,_0x16b255){_0x4ddee0=_0x4ddee0-0x149;const _0x2499a9=a48_0x2499();let _0x2f8564=_0x2499a9[_0x4ddee0];return _0x2f8564;}import a48_0x2a35b8 from'node:path';import{fileURLToPath}from'node:url';import{useCallback,useState}from'react';import{copyDirectory}from'../utils/copy-directory.js';import{formatElapsed}from'./format-elapsed.js';import{logger}from'../utils/logger.js';import{useI18n}from'../i18n/hooks.js';const __dirname=a48_0x2a35b8[a48_0x74e835(0x156)](fileURLToPath(import.meta.url)),templateDir=a48_0x2a35b8[a48_0x74e835(0x155)](__dirname,a48_0x74e835(0x159));function a48_0x2499(){const _0x492aae=['30AODQoS','now','6KrBADc','resolve','dirname','error','1623156pcWOLN','../../templates/projects/sub-app-react-demo','1773570eqyLCz','65724BVoTmW','cwd','message','102dwZVAc','开始复制项目模板','3689168nvvmDT','53JDTGdt','copy','27nyTXNZ','项目模板复制完成','create.tasks.copyFiles','1276360gDuHdX','8870VpXmZr','1858021yQvHwe','项目模板复制失败'];a48_0x2499=function(){return _0x492aae;};return a48_0x2499();}export function useCopyProjectTemplate(){const _0x3f1884=a48_0x74e835,{t:_0x61d0c0}=useI18n(),[_0x5d0196,_0x2aece4]=useState(![]),[_0x2b6d6f,_0x17b7fc]=useState(![]),[_0xbef13,_0x31891d]=useState(''),_0x57880f=useCallback(async _0x2b1493=>{const _0x1cbe4c=a48_0x2f85,_0x3b93b7=Date[_0x1cbe4c(0x153)](),_0x175d1d=a48_0x2a35b8[_0x1cbe4c(0x155)](process[_0x1cbe4c(0x15c)](),_0x2b1493);_0x2aece4(!![]);try{logger['info'](_0x1cbe4c(0x14a),_0x1cbe4c(0x15f),{'projectCode':_0x2b1493,'templateDir':templateDir}),await copyDirectory(templateDir,_0x175d1d);const _0x12f33a=Date[_0x1cbe4c(0x153)]()-_0x3b93b7;logger['success'](_0x1cbe4c(0x14a),_0x1cbe4c(0x14c),_0x12f33a,{'projectCode':_0x2b1493});}catch(_0x1398ab){const _0x374190=Date[_0x1cbe4c(0x153)]()-_0x3b93b7;logger[_0x1cbe4c(0x157)](_0x1cbe4c(0x14a),_0x1cbe4c(0x151),{'projectCode':_0x2b1493,'error':_0x1398ab instanceof Error?_0x1398ab[_0x1cbe4c(0x15d)]:String(_0x1398ab),'duration':_0x374190});throw _0x1398ab;}finally{_0x2aece4(![]),_0x17b7fc(!![]),_0x31891d(formatElapsed(_0x3b93b7));}},[]);return{'taskName':_0x61d0c0(_0x3f1884(0x14d)),'finished':_0x2b6d6f,'loading':_0x5d0196,'elapsed':_0xbef13,'doTask':_0x57880f};}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
(function(
|
|
1
|
+
(function(_0x1412c8,_0x51d210){const _0x288542=a49_0x3b1b,_0x1ab274=_0x1412c8();while(!![]){try{const _0x17fba0=parseInt(_0x288542(0x196))/0x1+-parseInt(_0x288542(0x187))/0x2+-parseInt(_0x288542(0x18a))/0x3+-parseInt(_0x288542(0x18d))/0x4+parseInt(_0x288542(0x183))/0x5*(parseInt(_0x288542(0x193))/0x6)+parseInt(_0x288542(0x18b))/0x7*(-parseInt(_0x288542(0x18c))/0x8)+parseInt(_0x288542(0x192))/0x9*(parseInt(_0x288542(0x197))/0xa);if(_0x17fba0===_0x51d210)break;else _0x1ab274['push'](_0x1ab274['shift']());}catch(_0x22daab){_0x1ab274['push'](_0x1ab274['shift']());}}}(a49_0x2e48,0x6805c));import a49_0x3938bf from'node:path';import{useCallback,useState}from'react';import{execa}from'execa';import{formatElapsed}from'./format-elapsed.js';import{logger}from'../utils/logger.js';function a49_0x2e48(){const _0xcdc3fe=['create.tasks.formatCode','代码格式化失败','736003pAQQEg','10DdjLOS','开始格式化代码','now','15DaaVvz','success','--write','resolve','1520946GKuOPJ','info','prettier','1319481HIaPHJ','826dxdzdd','36688hPhGXq','1881816krFUnk','error','format','npx','message','16251939XinMNK','192408hhXpwE'];a49_0x2e48=function(){return _0xcdc3fe;};return a49_0x2e48();}function a49_0x3b1b(_0x3dc246,_0x2d47b6){_0x3dc246=_0x3dc246-0x183;const _0x2e48be=a49_0x2e48();let _0x3b1bda=_0x2e48be[_0x3dc246];return _0x3b1bda;}import{useI18n}from'../i18n/hooks.js';export function useFormatCode(){const _0x39d9bc=a49_0x3b1b,{t:_0x42f394}=useI18n(),[_0x55d431,_0x3f9a06]=useState(![]),[_0x2942f0,_0x10ec99]=useState(![]),[_0x228ceb,_0xc2a68c]=useState(''),_0x16d008=useCallback(async _0x10f8c8=>{const _0x5c23b3=a49_0x3b1b,_0x22da21=Date['now'](),_0x4ae112=a49_0x3938bf[_0x5c23b3(0x186)](process['cwd'](),_0x10f8c8);_0x3f9a06(!![]);try{logger[_0x5c23b3(0x188)]('format',_0x5c23b3(0x198),{'projectCode':_0x10f8c8}),await execa(_0x5c23b3(0x190),[_0x5c23b3(0x189),_0x5c23b3(0x185),'.'],{'cwd':_0x4ae112});const _0x273eda=Date[_0x5c23b3(0x199)]()-_0x22da21;logger[_0x5c23b3(0x184)](_0x5c23b3(0x18f),'代码格式化完成',_0x273eda,{'projectCode':_0x10f8c8});}catch(_0x475643){const _0x368adc=Date['now']()-_0x22da21;logger[_0x5c23b3(0x18e)](_0x5c23b3(0x18f),_0x5c23b3(0x195),{'projectCode':_0x10f8c8,'error':_0x475643 instanceof Error?_0x475643[_0x5c23b3(0x191)]:String(_0x475643),'duration':_0x368adc});throw _0x475643;}finally{_0x3f9a06(![]),_0x10ec99(!![]),_0xc2a68c(formatElapsed(_0x22da21));}},[]);return{'taskName':_0x42f394(_0x39d9bc(0x194)),'finished':_0x2942f0,'loading':_0x55d431,'elapsed':_0x228ceb,'doTask':_0x16d008};}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
|
|
1
|
+
(function(_0x17ddb6,_0x12521d){const _0x221c0b=a50_0x33da,_0x1841cb=_0x17ddb6();while(!![]){try{const _0x23adcf=parseInt(_0x221c0b(0x1cd))/0x1*(-parseInt(_0x221c0b(0x1cc))/0x2)+-parseInt(_0x221c0b(0x1d7))/0x3+-parseInt(_0x221c0b(0x1c9))/0x4+-parseInt(_0x221c0b(0x1db))/0x5+parseInt(_0x221c0b(0x1d9))/0x6*(-parseInt(_0x221c0b(0x1d8))/0x7)+-parseInt(_0x221c0b(0x1d4))/0x8+-parseInt(_0x221c0b(0x1d3))/0x9*(-parseInt(_0x221c0b(0x1cb))/0xa);if(_0x23adcf===_0x12521d)break;else _0x1841cb['push'](_0x1841cb['shift']());}catch(_0x37138b){_0x1841cb['push'](_0x1841cb['shift']());}}}(a50_0x5aaa,0x762e0));import a50_0x37e14e from'node:path';function a50_0x33da(_0x113a51,_0x595b07){_0x113a51=_0x113a51-0x1c9;const _0x5aaa7e=a50_0x5aaa();let _0x33dacf=_0x5aaa7e[_0x113a51];return _0x33dacf;}import{useCallback,useState}from'react';function a50_0x5aaa(){const _0x180532=['609452XXqRoz','依赖安装失败','4650jNBhDz','1054yfofjD','1427dNDErP','npm','error','success','create.tasks.installDependencies','install','60561qvuVOk','2697528PirFfE','resolve','https://registry.npmmirror.com','2360997rCMibz','37786mGQQtR','678yRqlaR','message','31825qffrYK','now','cwd','开始安装依赖','--registry'];a50_0x5aaa=function(){return _0x180532;};return a50_0x5aaa();}import{execa}from'execa';import{formatElapsed}from'./format-elapsed.js';import{logger}from'../utils/logger.js';import{useI18n}from'../i18n/hooks.js';export function useInstallDependencies(){const _0x1a4d75=a50_0x33da,{t:_0xbc2ecd}=useI18n(),[_0x5b3201,_0x214428]=useState(![]),[_0x11e4b1,_0x2c2350]=useState(![]),[_0x48fbb2,_0x4ab978]=useState(''),_0x2e857c=useCallback(async _0x47cbd7=>{const _0x11c312=a50_0x33da,_0x530317=Date[_0x11c312(0x1dc)](),_0x5278be=a50_0x37e14e[_0x11c312(0x1d5)](process[_0x11c312(0x1dd)](),_0x47cbd7);_0x214428(!![]),_0x2c2350(![]);const _0x3a5939=async(_0x5520fc,_0x127948)=>{await execa(_0x5520fc,_0x127948,{'cwd':_0x5278be});};try{logger['info'](_0x11c312(0x1d2),_0x11c312(0x1de),{'projectCode':_0x47cbd7,'registry':_0x11c312(0x1d6)}),await _0x3a5939(_0x11c312(0x1ce),[_0x11c312(0x1d2),_0x11c312(0x1df),_0x11c312(0x1d6)]);const _0x23c172=Date[_0x11c312(0x1dc)]()-_0x530317;logger[_0x11c312(0x1d0)](_0x11c312(0x1d2),'依赖安装完成',_0x23c172,{'projectCode':_0x47cbd7});}catch(_0x43db30){const _0x307f0e=Date[_0x11c312(0x1dc)]()-_0x530317;logger[_0x11c312(0x1cf)](_0x11c312(0x1d2),_0x11c312(0x1ca),{'projectCode':_0x47cbd7,'error':_0x43db30 instanceof Error?_0x43db30[_0x11c312(0x1da)]:String(_0x43db30),'duration':_0x307f0e});throw _0x43db30;}finally{_0x214428(![]),_0x2c2350(!![]),_0x4ab978(formatElapsed(_0x530317));}},[]);return{'taskName':_0xbc2ecd(_0x1a4d75(0x1d1)),'finished':_0x11e4b1,'loading':_0x5b3201,'elapsed':_0x48fbb2,'doTask':_0x2e857c};}
|
package/lib/help.js
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
(function(
|
|
1
|
+
(function(_0x228a2a,_0x54cab6){const _0x37055c=a51_0x2ef7,_0x3f2235=_0x228a2a();while(!![]){try{const _0x205571=-parseInt(_0x37055c(0x137))/0x1+-parseInt(_0x37055c(0x139))/0x2+-parseInt(_0x37055c(0x130))/0x3+-parseInt(_0x37055c(0x136))/0x4*(-parseInt(_0x37055c(0x134))/0x5)+parseInt(_0x37055c(0x133))/0x6+-parseInt(_0x37055c(0x12f))/0x7+parseInt(_0x37055c(0x131))/0x8*(parseInt(_0x37055c(0x132))/0x9);if(_0x205571===_0x54cab6)break;else _0x3f2235['push'](_0x3f2235['shift']());}catch(_0xd551e1){_0x3f2235['push'](_0x3f2235['shift']());}}}(a51_0x31c1,0x9dd83));function a51_0x31c1(){const _0x370534=['82676jcHKCL','help.usageHint','column','5018573FljylU','1329468GrnCoT','104mhULCd','840501VbiGWz','6688692ztGQWB','353485jVUhUC','help.viewCommands','44MNQxMJ','1258542mMhSkB','help.invalidCommand'];a51_0x31c1=function(){return _0x370534;};return a51_0x31c1();}import{jsx as a51_0x34ab13,jsxs as a51_0x31b5cc}from'react/jsx-runtime';function a51_0x2ef7(_0x5b13f8,_0x38e1c9){_0x5b13f8=_0x5b13f8-0x12e;const _0x31c177=a51_0x31c1();let _0x2ef7eb=_0x31c177[_0x5b13f8];return _0x2ef7eb;}import{Box,Text}from'ink';import{useI18n}from'./i18n/hooks.js';export function Help(){const _0x18f558=a51_0x2ef7,{t:_0x3b41fa}=useI18n();return a51_0x31b5cc(Box,{'flexDirection':_0x18f558(0x12e),'marginTop':0x1,'marginBottom':0x1,'children':[a51_0x31b5cc(Box,{'children':[a51_0x34ab13(Box,{'width':'1'}),a51_0x34ab13(Text,{'children':_0x3b41fa(_0x18f558(0x138))})]}),a51_0x31b5cc(Box,{'marginTop':0x1,'children':[a51_0x34ab13(Box,{'width':'1'}),a51_0x31b5cc(Text,{'children':['\x20\x20',_0x3b41fa(_0x18f558(0x13a))]}),a51_0x31b5cc(Text,{'bold':!![],'color':'green','children':['\x20','lovrabet\x20--help','\x20']}),a51_0x34ab13(Text,{'children':_0x3b41fa(_0x18f558(0x135))})]})]});}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
(function(_0x5dec9e,_0x46dc2c){var _0x393e22=a52_0x463c,_0x2161f6=_0x5dec9e();while(!![]){try{var _0x4e94af=-parseInt(_0x393e22(0xf1))/0x1*(-parseInt(_0x393e22(0xee))/0x2)+parseInt(_0x393e22(0xed))/0x3+-parseInt(_0x393e22(0xf4))/0x4*(-parseInt(_0x393e22(0xef))/0x5)+-parseInt(_0x393e22(0xf5))/0x6*(parseInt(_0x393e22(0xf3))/0x7)+-parseInt(_0x393e22(0xea))/0x8*(parseInt(_0x393e22(0xec))/0x9)+parseInt(_0x393e22(0xeb))/0xa+-parseInt(_0x393e22(0xf2))/0xb;if(_0x4e94af===_0x46dc2c)break;else _0x2161f6['push'](_0x2161f6['shift']());}catch(_0xe0b5a0){_0x2161f6['push'](_0x2161f6['shift']());}}}(a52_0x3b53,0x6cf07));function a52_0x3b53(){var _0x3aaf63=['88472uOvDaV','3850880pJtHBT','153DdbxME','2015043UpLsTc','10jYXkgU','610NGqEYx','changeLanguage','79927kdPaSi','3251259NwrKpa','1865003isfcFE','8940uwurTH','18RCoPOX','language'];a52_0x3b53=function(){return _0x3aaf63;};return a52_0x3b53();}import{jsx as a52_0x455ba8}from'react/jsx-runtime';import{I18nextProvider}from'react-i18next';function a52_0x463c(_0x38579d,_0x313c29){_0x38579d=_0x38579d-0xe9;var _0x3b5363=a52_0x3b53();var _0x463ce9=_0x3b5363[_0x38579d];return _0x463ce9;}import a52_0x36347a from'./index.js';export function I18nProvider({children:_0x1ead20,language:_0x415edb}){var _0x4587de=a52_0x463c;return _0x415edb&&a52_0x36347a[_0x4587de(0xe9)]!==_0x415edb&&a52_0x36347a[_0x4587de(0xf0)](_0x415edb),a52_0x455ba8(I18nextProvider,{'i18n':a52_0x36347a,'children':_0x1ead20});}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
function a53_0x5d6c(_0x46ac0f,_0x8c041){_0x46ac0f=_0x46ac0f-0x19b;var _0x4004ba=a53_0x4004();var _0x5d6ccc=_0x4004ba[_0x46ac0f];return _0x5d6ccc;}function a53_0x4004(){var _0x482371=['1385466STmKbb','336872XfsJKg','752690rdVOdO','77361ORmRUH','513966moIcoo','2384123mbmfDB','20XPXSNk','10347000ohLCvO'];a53_0x4004=function(){return _0x482371;};return a53_0x4004();}(function(_0x5dc83f,_0x3906b7){var _0x1da4ef=a53_0x5d6c,_0x491d1c=_0x5dc83f();while(!![]){try{var _0x52ed45=parseInt(_0x1da4ef(0x19d))/0x1+-parseInt(_0x1da4ef(0x19f))/0x2*(-parseInt(_0x1da4ef(0x19c))/0x3)+parseInt(_0x1da4ef(0x1a2))/0x4+parseInt(_0x1da4ef(0x19b))/0x5+parseInt(_0x1da4ef(0x1a1))/0x6+parseInt(_0x1da4ef(0x19e))/0x7+-parseInt(_0x1da4ef(0x1a0))/0x8;if(_0x52ed45===_0x3906b7)break;else _0x491d1c['push'](_0x491d1c['shift']());}catch(_0x1573ff){_0x491d1c['push'](_0x491d1c['shift']());}}}(a53_0x4004,0x4582d));import{useTranslation}from'react-i18next';export function useI18n(){return useTranslation();}export function useI18nNs(_0x24959a){return useTranslation(_0x24959a);}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
const a54_0x2c01bd=a54_0x1560;(function(_0x59fe4f,_0x951636){const _0x597c7f=a54_0x1560,_0x1fe9bc=_0x59fe4f();while(!![]){try{const _0x3e7232=parseInt(_0x597c7f(0x141))/0x1*(parseInt(_0x597c7f(0x14d))/0x2)+-parseInt(_0x597c7f(0x13c))/0x3*(-parseInt(_0x597c7f(0x139))/0x4)+parseInt(_0x597c7f(0x154))/0x5*(parseInt(_0x597c7f(0x14c))/0x6)+parseInt(_0x597c7f(0x151))/0x7*(parseInt(_0x597c7f(0x13d))/0x8)+parseInt(_0x597c7f(0x156))/0x9+parseInt(_0x597c7f(0x142))/0xa*(-parseInt(_0x597c7f(0x14f))/0xb)+-parseInt(_0x597c7f(0x149))/0xc;if(_0x3e7232===_0x951636)break;else _0x1fe9bc['push'](_0x1fe9bc['shift']());}catch(_0x183f1a){_0x1fe9bc['push'](_0x1fe9bc['shift']());}}}(a54_0x5dee,0xceb41));import a54_0xb7f5ec from'i18next';import{initReactI18next}from'react-i18next';function a54_0x1560(_0x1dda67,_0x3af3f6){_0x1dda67=_0x1dda67-0x139;const _0x5deeda=a54_0x5dee();let _0x156039=_0x5deeda[_0x1dda67];return _0x156039;}import{existsSync,readFileSync}from'node:fs';import{resolve}from'node:path';import{homedir}from'node:os';import a54_0x692e14 from'./locales/zh-CN.js';import a54_0x2c8b2a from'./locales/en-US.js';function a54_0x5dee(){const _0x1ff1aa=['zh-CN','15744456vdwFZd','resolvedOptions','cwd','6tHbNHN','7894jjFJBz','env','94127qwruVd','LOVRABET_LANG','14FhZlbl','string','toLowerCase','855295IkPDiy','en-US','3863466gyXYAk','replace','utf8','locale','179448iSUukb','language','lang','78jUgoUO','687936TTMlDE','use','.lovrabetrc','test','227JNIxeY','790fBNctr','zh_CN','init','DateTimeFormat','LC_ALL','en_US'];a54_0x5dee=function(){return _0x1ff1aa;};return a54_0x5dee();}export function isChineseLanguage(_0x40d642){const _0x3d9ba0=a54_0x1560;if(!_0x40d642)return![];const _0x88c801=_0x40d642[_0x3d9ba0(0x153)]()[_0x3d9ba0(0x157)]('_','-');return/^zh($|-)/[_0x3d9ba0(0x140)](_0x88c801);}const LOCALE_MAP={'zh':'zh-CN','zh-cn':a54_0x2c01bd(0x148),'zh_cn':a54_0x2c01bd(0x148),'en':a54_0x2c01bd(0x155),'en-us':a54_0x2c01bd(0x155),'en_us':a54_0x2c01bd(0x155)};export function normalizeLocale(_0x913ffd){const _0x1c584a=a54_0x2c01bd;if(!_0x913ffd)return null;return LOCALE_MAP[_0x913ffd[_0x1c584a(0x153)]()]??null;}function readLocaleFromConfig(){const _0x4802c8=a54_0x2c01bd;try{const _0x2c5860=resolve(process[_0x4802c8(0x14b)](),_0x4802c8(0x13f));if(existsSync(_0x2c5860)){const _0x3ff773=readFileSync(_0x2c5860,{'encoding':_0x4802c8(0x158)});if(_0x3ff773){const _0x3cc912=JSON['parse'](_0x3ff773);if(typeof _0x3cc912['locale']===_0x4802c8(0x152)){const _0x5bb4da=normalizeLocale(_0x3cc912[_0x4802c8(0x159)]);if(_0x5bb4da)return _0x5bb4da;}}}}catch{}try{const _0x2742a0=resolve(homedir(),_0x4802c8(0x13f));if(existsSync(_0x2742a0)){const _0x103887=readFileSync(_0x2742a0,{'encoding':'utf8'});if(_0x103887){const _0xde6c15=JSON['parse'](_0x103887);if(typeof _0xde6c15[_0x4802c8(0x159)]===_0x4802c8(0x152)){const _0x186bec=normalizeLocale(_0xde6c15['locale']);if(_0x186bec)return _0x186bec;}}}}catch{}return null;}export function detectSystemLanguage(){const _0x186974=a54_0x2c01bd,_0x53d83c=process[_0x186974(0x14e)][_0x186974(0x150)];if(_0x53d83c){const _0x53299b=normalizeLocale(_0x53d83c);if(_0x53299b)return _0x53299b;}const _0x5996e2=readLocaleFromConfig();if(_0x5996e2)return _0x5996e2;const _0x314182=process['env'][_0x186974(0x146)];if(_0x314182&&isChineseLanguage(_0x314182))return'zh-CN';const _0x15ca95=process['env']['LANG'];if(_0x15ca95&&isChineseLanguage(_0x15ca95))return'zh-CN';try{const _0x2e63f8=Intl[_0x186974(0x145)]()[_0x186974(0x14a)]()[_0x186974(0x159)];if(_0x2e63f8&&isChineseLanguage(_0x2e63f8))return'zh-CN';}catch{}return'en-US';}export function getLanguageFromFlags(_0x2aef7c){const _0x202f1d=a54_0x2c01bd,_0x12800a=_0x2aef7c[_0x202f1d(0x13b)];if(_0x12800a==='zh-CN'||_0x12800a==='zh'||_0x12800a===_0x202f1d(0x143))return'zh-CN';if(_0x12800a===_0x202f1d(0x155)||_0x12800a==='en'||_0x12800a===_0x202f1d(0x147))return _0x202f1d(0x155);return null;}a54_0xb7f5ec[a54_0x2c01bd(0x13e)](initReactI18next)[a54_0x2c01bd(0x144)]({'resources':{'zh-CN':{'translation':a54_0x692e14},'en-US':{'translation':a54_0x2c8b2a}},'lng':detectSystemLanguage(),'fallbackLng':a54_0x2c01bd(0x155),'interpolation':{'escapeValue':![]},'react':{'useSuspense':![]},'showSupportNotice':![]});export default a54_0xb7f5ec;export function changeLanguage(_0x58e9df){a54_0xb7f5ec['changeLanguage'](_0x58e9df);}export function getCurrentLanguage(){const _0x25dec3=a54_0x2c01bd;return a54_0xb7f5ec[_0x25dec3(0x13a)];}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
function a55_0xbcc9(_0x280917,_0x23fe4f){_0x280917=_0x280917-0x1c8;var _0x31e9a5=a55_0x31e9();var _0xbcc997=_0x31e9a5[_0x280917];return _0xbcc997;}function a55_0x31e9(){var _0x1d7fa8=['*\x20CSS\x20URL:\x20','Show\x20help','Generate\x20doc\x20for\x20specific\x20dataset\x20only','Configuring\x20MCP\x20server...','Please\x20select\x20at\x20least\x20one\x20IDE','MCP\x20Server\x20(AI\x20dataset\x20access)','Failed\x20to\x20create\x20menu','\x0aSelect\x20IDEs\x20to\x20install\x20skills\x20(multi-select):\x0a','\x20\x20\x202.\x20Use\x20flag:\x20lovrabet\x20api\x20doc\x20--appcode\x20<app-code>','JS\x20URL\x20is\x20unreachable','MCP\x20&\x20Skill','Batch\x20menu\x20creation\x20completed,\x20total\x20{{count}}','Failed\x20to\x20copy\x20shared\x20skill\x20files','*\x20AppCode\x20','\x20\x20--dangerously-bff-save\x20\x20\x20\x20Include\x20Backend\x20Function\x20sync\x20workflow\x20guide\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20(requires\x20MCP\x20server\x20with\x20corresponding\x20tools\x20enabled)','No\x20AppCode\x20provided\x20and\x20no\x20default\x20configured','AppCode\x20cannot\x20exceed\x20100\x20characters','Update\x20Menu\x20CDN\x20Resources','Failed\x20to\x20create\x20menu,\x20HTTP\x20status:\x20{{status}}','\x20\x20Include\x20BFF\x20sync\x20workflow\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20-\x20Use\x20--dangerously-bff-save\x20flag','Please\x20restart\x20Cursor\x20to\x20load\x20the\x20new\x20MCP\x20config.','\x20Assets\x20are\x20syncing...','Fetching\x20developer\x20guides\x20from\x20CDN\x20(with\x20extensions)...','Press\x20any\x20key\x20to\x20exit...','Project','Project\x20name\x20contains\x20invalid\x20characters.\x20Not\x20allowed:\x20<\x20>\x20:\x20\x22\x20|\x20?\x20*\x20and\x20control\x20characters','\x20\x20-\x20Filter\x20query\x20building\x20spec\x20(10\x20common\x20error\x20comparisons)\x0a\x20\x20-\x20MCP\x20SQL\x20creation\x20workflow\x20(5-step\x20mandatory\x20process)\x0a\x20\x20-\x20AntD\x20UI\x20development\x20spec\x20(anti-AI-style)\x0a\x20\x20-\x20API\x20integration\x20guide\x20(lovrabet\x20api\x20pull\x20workflow)\x0a\x20\x20-\x20Menu\x20management\x20guide\x20(menu\x20sync/update\x20workflow)\x0a\x20\x20-\x20Backend\x20Function\x20script\x20spec\x20(permissions,\x20data\x20masking,\x20business\x20logic)\x0a\x20\x20-\x20Backend\x20Function\x20sync\x20workflow\x20(requires\x20--dangerously-bff-save)','\x20Enter\x20project\x20CSS\x20asset\x20URL\x20(https://...)','Configure\x20AppCode:','💡\x20If\x20the\x20browser\x20does\x20not\x20open\x20automatically,\x20copy\x20the\x20login\x20URL\x20above\x20into\x20your\x20browser.','AppCode','Using\x20configured\x20AppCode:\x20{{appCode}}','7022000sRDGmt','Written\x20.cursor/mcp.json','🔐\x20Starting\x20login\x20service...','Please\x20run:\x20{{command}}','✗\x20Configuration\x20failed','Not\x20set','Login\x20skipped','\x0aNo\x20IDE\x20selected,\x20installation\x20cancelled\x0a','Fetching\x20daily\x20menu\x20list...\x20(appCode:\x20{{appCode}})','√\x20Menu\x20creation\x20completed','\x20\x20\x201.\x20Specify\x20directly:\x20lovrabet\x20api\x20pull\x20<app-code>','\x20\x20\x201.\x20Set\x20default:\x20lovrabet\x20config\x20set\x20appcode\x20<app-code>','Usage:','Cursor\x20MCP\x20configured\x20successfully','\x20\x20Interactive\x20selection\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20-\x20Show\x20IDE\x20list\x20for\x20selection,\x20multi-select\x20supported','\x20|\x20AppCode:\x20','Generating\x20{{fileName}}.md\x20({{current}}/{{total}})','Create','Unknown\x20IDE:\x20{{ide}}','Configuration\x20command\x20generated','*\x20Updating\x20package.json\x20name\x20and\x20description\x20fields','Invalid\x20command.\x20Available\x20commands:','↑/↓:\x20Move\x20\x20Space:\x20Toggle\x20\x20a:\x20All\x20\x20q:\x20Quit\x20\x20Enter:\x20Confirm','-\x20Model\x20config\x20({{count}}\x20models)','2466momqXh','Project\x20name:\x20','✓\x20Skill\x20Installation\x20Complete:','\x20\x20\x20Duration:\x20{{duration}}ms','Configuration\x20methods:','Fetching\x20online\x20menu\x20list...\x20(appCode:\x20{{appCode}})','Use','Lovrabet\x20Platform','\x20\x20\x20•\x20{{name}}.ts\x20-\x20Client\x20instance\x20file','\x20\x20\x20\x20→\x20Use\x20↑↓\x20to\x20move,\x20Space\x20to\x20toggle,\x20Enter\x20to\x20confirm\x0a\x20\x20\x20\x20→\x20Press\x20a\x20to\x20select\x20all,\x20i/r\x20to\x20invert,\x20q\x20to\x20quit','\x20Fetching\x20online\x20menu\x20list...','√\x20Valid\x20login\x20detected','*\x20Processed\x20{{count}}\x20datasets','\x20\x20\x20\x20$\x20lovrabet\x20mcp\x20install\x20--cursor\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20#\x20Configure\x20Cursor','Installing\x20skills...','⚠️\x20Configuration\x20requires\x20manual\x20steps','Other\x20IDE\x20configuration\x20guide\x20displayed','16055CtUcXI','✓\x20Generated:\x20{{fileName}}.md','Examples','\x20\x20√\x20Environment\x20configured','Initializing\x20configuration\x20file...','Login\x20failed','Please\x20configure\x20app\x20code\x20first\x20via\x20`lovrabet\x20config\x20set\x20app\x20<value>`','↪\x20New\x20version\x20available','\x20Checking...','\x20Enter\x20project\x20JS\x20asset\x20URL\x20(https://...)','Watch\x20Mode','Fetched\x20{{count}}\x20online\x20menus\x20successfully','*\x20Entered\x20asset\x20URLs','Failed\x20to\x20copy\x20Cursor\x20Rules\x20file','1776663FMfSas','×\x20Project\x20creation\x20failed:\x20{{error}}','✓\x20MCP\x20configuration\x20completed!','Configuration:\x20appcode={{appcode}},\x20env={{env}}','×\x20API\x20config\x20pull\x20failed:\x20{{error}}','{{name}}\x20skill\x20installed\x20successfully','Starting\x20development\x20server...','⚠️\x20\x20Unknown\x20platform:\x20{{ide}},\x20using\x20generic\x20template','*\x20Select\x20IDEs\x20to\x20configure:','\x20\x20\x20Current\x20version:\x20{{package}}@{{version}}','*\x20No\x20logs\x20found','*\x20Pulling\x20API\x20config\x20from\x20server...\x20(env:\x20{{env}})','Specify\x20output\x20directory\x20(pull:\x20./src/api/,\x20doc:\x20./docs)','√\x20Configuration\x20file\x20created,\x20AppCode:\x20{{appCode}}','*\x20Using\x20configured\x20AppCode:\x20{{appCode}}','🚀\x20Next\x20Steps:','\x0aInstallation\x20cancelled\x0a','Menu\x20assets\x20synced:\x20{{label}}','Please\x20select\x20at\x20least\x20one\x20item\x20to\x20configure','App\x20Code\x20can\x20only\x20contain\x20letters,\x20numbers,\x20-\x20and\x20_','\x20\x20lovrabet\x20mcp\x20--help\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20#\x20Show\x20help\x0a','Lovrabet\x20Skill\x20-\x20Developer\x20Skill\x20Installation\x20Tool','Finish','Unsupported\x20MCP\x20IDE:\x20{{ide}}','•\x20Skill:\x20Install\x20best\x20practices\x20and\x20Backend\x20Function\x20guidelines','Specify\x20environment\x20(e.g.\x20daily,\x20online)','\x20\x20\x20\x20→\x20Interactive\x20IDE\x20selection','Generate\x20docs\x20for\x20all\x20datasets','\x20\x20Use\x20←→\x20to\x20revise\x20choice,\x20Enter\x20to\x20confirm\x20IDEs','\x0a✓\x20MCP\x20configuration\x20completed\x20({{successCount}}/{{totalCount}}\x20succeeded)','!\x20Not\x20logged\x20in','No\x20appcode\x20found.\x20Run\x20\x27lovrabet\x20init\x27\x20to\x20initialize\x20project\x20config','{{count}}\x20directories\x20installed','Failed\x20to\x20save\x20config','×\x20AppCode\x20not\x20configured','✗\x20Failed:\x20{{fileName}}.md\x20-\x20{{error}}','\x20\x20q.\x20Cancel\x0a','*\x20Checking\x20login\x20status...','App\x20Code','Install\x20all\x20skills','List\x20all\x20config\x20values','Installation\x20methods:','Specify\x20doc\x20output\x20directory','\x20\x20Direct\x20IDE\x20config\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20-\x20Use\x20--ide\x20flags','Failed\x20to\x20clean\x20up\x20project\x20directory','Other\x20IDE','JS\x20URL:\x20','Pull\x20API\x20config:\x20','Supported\x20IDEs:','⚠️\x20\x20Failed\x20to\x20open\x20browser\x20automatically','\x20\x20lovrabet\x20mcp\x20install\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20#\x20Interactive\x20MCP\x20configuration','✓\x20Logged\x20out','\x0aSelect\x20IDE\x20to\x20configure\x20MCP:\x0a','login\x20again\x20and\x20retry','Selected\x20menus','Generate\x20Documentation','*\x20Generated\x20doc\x20files:','Set\x20a\x20config\x20value','\x20\x20\x20Current\x20CLI\x20version:\x20{{version}}','\x20Fetching\x20online\x20menu\x20asset\x20links...','\x20\x20\x20Time:\x20{{time}}','Error:\x20Unsupported\x20command:\x20{{cmd}}','Selected\x20IDEs','Logged\x20in','*\x20Select\x20menus\x20to\x20sync:','Info','*\x20Logging\x20in,\x20please\x20complete\x20in\x20browser...','Failed\x20to\x20create\x20menu:\x20{{error}}','✓\x20Skills\x20installed\x20successfully!\x20{{count}}\x20directories\x20created','!\x20No\x20local\x20pages\x20found,\x20please\x20create\x20pages\x20first','\x20\x20(Note:\x20--appcode\x20flag\x20matches\x20config,\x20using\x20default\x20config)','\x20\x20✓\x20Created\x20{{path}}/','Failed\x20to\x20fetch\x20datasets,\x20HTTP\x20status:\x20{{status}}','Your\x20choice:\x20','Failed\x20to\x20fetch\x20menu\x20list:\x20{{error}}','Update','Unknown\x20error','Get\x20a\x20config\x20value','\x20\x20\x20Upgrade\x20command:\x20{{command}}','Cancel','*\x20Create\x20new\x20project','API\x20Management','Developer\x20guides\x20location:','Project\x20Name','Failed\x20to\x20update\x20menu\x20assets:\x20{{error}}','\x20\x20Restart\x20Claude\x20Code\x20to\x20take\x20effect\x0a','Set\x20display\x20language\x20(zh/en)','\x20\x20\x20\x20→\x20Install\x20all\x20IDE\x20skills','\x20Logging\x20in...','Set\x20App\x20Code\x20for\x20current\x20project','Interactive\x20skill\x20installation','\x20\x20\x20Stable\x20version:\x20{{version}}','Unknown\x20api\x20command','Select\x20IDEs\x20to\x20configure:','\x20\x20✗\x20Failed\x20to\x20install\x20{{ide}}:\x20{{error}}','*\x20Automatically\x20pull\x20API\x20config?','\x0aAvailable\x20commands:','Project\x20Configuration','\x0a✗\x20{{ide}}\x20MCP\x20configuration\x20failed:\x20{{error}}','!\x20The\x20following\x20dataset\x20codes\x20do\x20not\x20exist:\x20{{codes}}','\x20\x20\x202.\x20Set\x20default:\x20lovrabet\x20config\x20set\x20app\x20<app-code>','🚀\x20Pulling\x20API\x20config\x20from\x20server...\x20(env:\x20{{env}})','Claude\x20Code\x20MCP\x20command\x20generated','Install\x20all\x20IDE\x20skills\x20(including\x20generic\x20template)','Login\x20Successful','Failed\x20to\x20fetch\x20datasets:\x20{{error}}','*\x20Press\x20Enter\x20to\x20start\x20login.','*\x20Login\x20first\x20to\x20pull\x20API\x20config?','CSS\x20URL','*\x20Cleaning\x20up\x20failed\x20project\x20directory:\x20{{dir}}','Cursor\x20Rules\x20file\x20already\x20exists,\x20skipping','Enter\x20default:\x20Yes','\x0aInvalid\x20choice.\x20Enter\x20a\x20number\x20between\x201\x20and\x20{{count}}\x0a','\x0aNote:\x20Some\x20configurations\x20require\x20manual\x20commands,\x20please\x20follow\x20the\x20instructions\x20above','Logging\x20in...','\x20\x20•\x20Skill:','!\x20API\x20configuration\x20pull\x20failed,\x20you\x20can\x20manually\x20run:\x20lovrabet\x20api\x20pull','√\x20Configuration\x20file\x20created,\x20you\x20can\x20configure\x20later\x20with\x20\x27lovrabet\x20config\x20set\x20appcode\x20<app-code>\x27','\x0a✓\x20Skills\x20installed\x20successfully!\x20{{count}}\x20directories\x20created\x0a','1741708oPWOmb','Waiting\x203\x20seconds...\x0a','Start\x20project:\x20','Enter\x20project\x20CSS\x20asset\x20URL\x20(https://...)','[Y]\x20Yes,\x20configure\x20AI\x20assistant','Fetching\x20developer\x20guides\x20from\x20CDN...','Create\x20agents.md\x20file','agents.md\x20already\x20exists,\x20skipping','√\x20package.json\x20updated:\x20name={{name}}','Create\x20Cursor\x20Rules\x20file','2ewYwcE','✓\x20MCP\x20Server\x20Configuration\x20Complete:','\x20\x20√\x20Code\x20formatted','*\x20Output\x20directory:\x20','\x20\x20$\x20lovrabet\x20mcp\x20install','!\x20No\x20valid\x20login\x20detected','After\x20installation,\x20the\x20following\x20will\x20be\x20created\x20in\x20your\x20project:','*\x20Configure\x20Lovrabet\x20MCP\x20and\x20Skill?','Please\x20select\x20at\x20least\x20one\x20menu','Specify\x20app\x20code','\x0aError:\x20Configuration\x20failed\x20-\x20{{error}}\x0a','No\x20config\x20value\x20provided','Updating\x20menu\x20asset\x20links:\x20{{label}}\x20({{path}})','Install\x20all','175206SnwctZ','❌\x20Error:\x20Positional\x20arguments\x20are\x20no\x20longer\x20supported','\x20\x20lovrabet\x20mcp\x20install\x20--claude\x20\x20\x20\x20Configure\x20Claude\x20Code\x20MCP\x20directly','Enter\x200\x20to\x20install\x20all\x20IDEs,\x20enter\x20q\x20to\x20cancel\x0a','Login\x20status','Appcode\x20must\x20be\x20configured\x20first','\x20command\x20to\x20re-login','Copy\x20project\x20files','Project\x20name\x20is\x20too\x20long,\x20maximum\x20100\x20characters','*\x20Configuring\x20AppCode\x20for\x20project\x20{{name}}:\x20{{appCode}}','Install\x20for\x20specific\x20IDE','Success','Please\x20enter\x20a\x20valid\x20JS\x20https\x20URL','\x20\x20Error:\x20{{error}}','App\x20Code\x20identifies\x20your\x20project.\x20Only\x20letters,\x20numbers,\x20-\x20and\x20_\x20are\x20allowed','\x20\x20lovrabet\x20mcp\x20install\x20--cursor\x20\x20\x20\x20Configure\x20Cursor\x20MCP\x20directly','Asset\x20links\x20to\x20update:','*\x20Configuring\x20Lovrabet\x20MCP\x20and\x20Skill...','Local','Start\x20batch\x20menu\x20creation,\x20total\x20{{count}}','Login\x20successful.\x20Please\x20return\x20to\x20the\x20CLI\x20to\x20continue.\x20This\x20window\x20will\x20close\x20in\x20{{seconds}}\x20seconds.','Pull\x20API','Project\x20directory\x20{{name}}\x20already\x20exists,\x20please\x20use\x20a\x20different\x20name','Pull\x20API\x20for\x20specified\x20environment','Install\x20dependencies','*\x20Project\x20name:\x20','!\x20No\x20menu\x20asset\x20links\x20found','Generating\x20docs\x20for\x20{{count}}\x20datasets...','!\x20API\x20configuration\x20pull\x20error,\x20project\x20created,\x20you\x20can\x20manually\x20run:\x20lovrabet\x20api\x20pull','↑/↓:\x20Move\x20\x20Space:\x20Toggle\x20\x20a:\x20All\x20\x20i/r:\x20Invert\x20\x20Enter:\x20Confirm','*\x20Import\x20usage:','Confirm','\x0a✓\x20{{ide}}\x20MCP\x20configured\x20successfully','√\x20Valid\x20session\x20detected,\x20no\x20login\x20required.','lovrabet\x20api\x20-\x20API\x20Operations','Configuration\x20guide:','*\x20Enter\x20new\x20asset\x20URLs','Include\x20Backend\x20Function\x20sync\x20workflow','\x20\x20lovrabet\x20skill\x20install\x20cursor\x20\x20\x20\x20#\x20Install\x20Cursor\x20skill\x20directly\x0a','[N]\x20Skip,\x20configure\x20later','\x20\x20!\x20CDN\x20fetch\x20failed,\x20skipping\x20guide\x20installation:\x20{{error}}','{{count}}','Loading...','\x20\x20Recommended:\x20Yes,\x20to\x20auto-configure\x20API','\x20\x20Installing\x20dependencies...','Unsupported\x20IDE:\x20{{ide}}','√\x20Updated\x20successfully','\x20\x20✗\x20Unknown\x20IDE:\x20{{ide}}','Examples:','19315152RWzvdb','↪\x20SDK\x20update\x20available','Other\x20IDE\x20configuration\x20guide','×\x20--datasetcode\x20cannot\x20be\x20empty','Use\x20specified\x20appcode','*\x20Creating\x20project\x20{{name}}...','Invalid\x20response\x20format\x20({{datasetCode}}):\x20missing\x20data.markdown\x20field','Login\x20successful!','Continue\x20update','✅\x20Browser\x20opened.\x20Please\x20complete\x20login\x20in\x20the\x20browser.','Cancel\x20update','Please\x20enter\x20a\x20valid\x20CSS\x20https\x20URL','Directory\x20\x22{{name}}\x22\x20already\x20exists','App\x20Code\x20cannot\x20be\x20empty','\x20\x20\x20\x20→\x20Install\x20Cursor\x20and\x20Claude\x20Code\x20skills\x20directly','!\x20Please\x20use\x20one\x20of\x20the\x20following:','✓\x20MCP\x20server\x20configuration\x20completed:','Generic\x20Template','!\x20Please\x20specify\x20a\x20valid\x20command.','Configure\x20Lovrabet\x20MCP\x20Server','√\x20API\x20configuration\x20pulled\x20successfully','Pull\x20API\x20configuration:','*\x20Generated\x20files:','Claude\x20Code','×\x20--params\x20is\x20not\x20valid\x20JSON\x20format','\x0a📋\x20Other\x20IDE\x20MCP\x20configuration:\x0a','2425244hZxfqN','\x20\x20\x202.\x20Use\x20flag:\x20lovrabet\x20api\x20pull\x20--appcode\x20<app-code>','\x20\x20\x20•\x20{{name}}.ts\x20-\x20Model\x20config\x20file','Cannot\x20create\x20project\x20in\x20current\x20directory,\x20please\x20check\x20directory\x20permissions','✓\x20{{scope}}\x20locale\x20set\x20to:\x20{{value}}','Please\x20use\x20the\x20--appcode\x20flag,\x20for\x20example:','📍\x20Login\x20URL:',',\x20{{failCount}}\x20failed','Specify\x20output\x20directory','*\x20Creating\x20configuration\x20file\x20for\x20project\x20{{name}}','Configuration:','\x20\x20Environment:\x20{{env}}','Error','{{count}}\x20items','Please\x20enter\x20App\x20Code:','Config\x20value\x20is\x20invalid\x20or\x20too\x20long','Format\x20code','Pull\x20and\x20generate\x20API\x20config\x20files','.lovrabetrc\x20file\x20already\x20exists\x20in\x20current\x20directory','\x20\x20lovrabet\x20skill\x20install\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20#\x20Interactive\x20IDE\x20selection','√\x20Pulled\x20{{datasetCount}}\x20datasets,\x20generated\x20{{modelCount}}\x20models','🌐\x20Attempting\x20to\x20open\x20browser\x20automatically...','All\x20specified\x20dataset\x20codes\x20do\x20not\x20exist:\x20{{codes}}','Options:','AppCode\x20can\x20only\x20contain\x20letters,\x20numbers,\x20hyphens\x20and\x20underscores,\x20and\x20must\x20start\x20with\x20a\x20letter\x20or\x20number','Fetching\x20model\x20list\x20from\x20server...\x20(env:\x20{{env}})','\x20\x20\x20\x20→\x20Configure\x20Cursor\x20MCP\x20(writes\x20.cursor/mcp.json)','Cursor','Successfully\x20initialized\x20.lovrabetrc\x20file\x20in\x20current\x20directory','Authentication\x20failed,\x20session\x20expired.\x20Please\x20use\x20lovrabet\x20auth\x20to\x20login\x20again','Invalid\x20project\x20name','Hint:\x20use\x20','Warning','Other\x20(generic\x20template)\x20(.agent/skills/)\x20-\x20Fallback','Description','{{count}}\x20items\x20created','Invalid\x20App\x20Code','\x20\x20\x20Interactive\x20selection\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20-\x20Show\x20IDE\x20list\x20for\x20selection','*\x20Logs\x20cleared','Menu\x20Name','Failed\x20to\x20fetch\x20doc\x20({{datasetCode}}),\x20HTTP\x20status:\x20{{status}}','CSS\x20URL\x20is\x20unreachable','Usage','*\x20Processing\x20{{count}}\x20datasets...','{{name}}\x20skill\x20installation\x20failed','Enter\x20project\x20JS\x20asset\x20URL\x20(https://...)','Developer\x20guides:\x20.lovrabet/skill/.shared/guides/','\x20\x20Direct\x20install\x20(multiple\x20IDEs)\x20\x20\x20\x20\x20-\x20Use\x20--ide\x20flags\x20to\x20install\x20directly','Generate\x20docs\x20for\x20specified\x20environment','Skill\x20contents\x20include:','√\x20{{label}}:\x20','\x0aNo\x20valid\x20IDE\x20to\x20install\x0a','1.\x20Configure\x20Lovrabet\x20MCP\x20and\x20Skill','\x0a📦\x20Installing\x20{{name}}...\x0a','\x0a📋\x20Run\x20the\x20following\x20command\x20to\x20configure\x20Claude\x20Code\x20MCP:\x0a','to\x20view\x20available\x20commands.','Previous','√\x20Doc\x20generation\x20complete!\x20{{successCount}}\x20succeeded','\x20\x20√\x20Dependency\x20install\x20skipped\x20(non-interactive)','*\x20Pulling\x20API\x20configuration...','\x20\x20√\x20package.json\x20updated','Server\x20returned\x20empty\x20menu\x20list','Failed\x20to\x20fetch\x20menu\x20list,\x20HTTP\x20status:\x20{{status}}','View\x20Logs','App\x20Code\x20cannot\x20exceed\x20100\x20characters','\x0aConfiguration\x20cancelled\x0a','⚠️\x20The\x20following\x20datasets\x20failed\x20to\x20generate:','Yes'];a55_0x31e9=function(){return _0x1d7fa8;};return a55_0x31e9();}var a55_0x1ae8f6=a55_0xbcc9;(function(_0x39f90b,_0x139e39){var _0x53af48=a55_0xbcc9,_0xaaf03b=_0x39f90b();while(!![]){try{var _0x363d6e=parseInt(_0x53af48(0x259))/0x1+parseInt(_0x53af48(0x263))/0x2*(-parseInt(_0x53af48(0x271))/0x3)+-parseInt(_0x53af48(0x2bc))/0x4+parseInt(_0x53af48(0x1d4))/0x5*(parseInt(_0x53af48(0x338))/0x6)+-parseInt(_0x53af48(0x1e2))/0x7+parseInt(_0x53af48(0x320))/0x8+-parseInt(_0x53af48(0x2a2))/0x9;if(_0x363d6e===_0x139e39)break;else _0xaaf03b['push'](_0xaaf03b['shift']());}catch(_0x528987){_0xaaf03b['push'](_0xaaf03b['shift']());}}}(a55_0x31e9,0xd5821));export default{'common':{'success':a55_0x1ae8f6(0x27c),'error':a55_0x1ae8f6(0x2c8),'warning':a55_0x1ae8f6(0x2dc),'info':a55_0x1ae8f6(0x223),'loading':a55_0x1ae8f6(0x29b),'cancel':a55_0x1ae8f6(0x231),'confirm':a55_0x1ae8f6(0x290),'next':'Next','previous':a55_0x1ae8f6(0x2f4),'finish':a55_0x1ae8f6(0x1f8)},'help':{'invalidCommand':a55_0x1ae8f6(0x2b4),'usageHint':a55_0x1ae8f6(0x1c9),'viewCommands':a55_0x1ae8f6(0x2f3)},'cli':{'usage':a55_0x1ae8f6(0x2e6),'examples':a55_0x1ae8f6(0x1d6),'description':a55_0x1ae8f6(0x2de)},'init':{'inputAppCode':a55_0x1ae8f6(0x2ca),'appCodeDesc':a55_0x1ae8f6(0x27f),'fileExists':a55_0x1ae8f6(0x2ce),'creating':a55_0x1ae8f6(0x1d8),'success':a55_0x1ae8f6(0x2d8),'appCodeLabel':a55_0x1ae8f6(0x31e),'nextSteps':'You\x20can\x20now\x20use\x20commands\x20like\x20\x27lovrabet\x20api\x20doc\x27\x20and\x20\x27lovrabet\x20api\x20pull\x27','validation':{'required':a55_0x1ae8f6(0x2af),'tooLong':a55_0x1ae8f6(0x2fc),'invalidFormat':a55_0x1ae8f6(0x1f5),'invalidCode':a55_0x1ae8f6(0x2e0)}},'create':{'projectNameLabel':a55_0x1ae8f6(0x235),'appCodeLabel':'App\x20Code','validation':{'required':'Project\x20name\x20cannot\x20be\x20empty','invalidChars':a55_0x1ae8f6(0x319),'tooLong':a55_0x1ae8f6(0x279),'dirExists':a55_0x1ae8f6(0x287),'noPermission':a55_0x1ae8f6(0x2bf),'projectName':{'tooLong':'Project\x20name\x20cannot\x20exceed\x2050\x20characters','invalidFormat':'Project\x20name\x20must\x20start\x20with\x20a\x20letter\x20or\x20number\x20and\x20only\x20contain\x20letters,\x20numbers,\x20-\x20and\x20_','invalid':a55_0x1ae8f6(0x2da),'dirExistsShort':a55_0x1ae8f6(0x2ae)},'appCode':{'tooLong':a55_0x1ae8f6(0x310),'invalidFormat':a55_0x1ae8f6(0x2d4),'invalid':'Invalid\x20AppCode'},'ide':{'required':'Please\x20select\x20at\x20least\x20one\x20IDE'}},'common':{'yes':a55_0x1ae8f6(0x2ff),'no':'No','selectHint':'\x20\x20Use\x20←→\x20to\x20choose,\x20press\x20Enter\x20to\x20confirm'},'steps':{'pullingApi':a55_0x1ae8f6(0x2f7),'apiPullSuccess':a55_0x1ae8f6(0x2b6),'apiPullFailed':a55_0x1ae8f6(0x256),'apiPullError':a55_0x1ae8f6(0x28d),'updatingPackage':a55_0x1ae8f6(0x334),'packageUpdated':a55_0x1ae8f6(0x261),'configuringAppCode':a55_0x1ae8f6(0x27a),'creatingConfig':'*\x20Creating\x20configuration\x20file\x20for\x20project\x20{{name}}','configCreatedWithAppCode':a55_0x1ae8f6(0x1ef),'configCreated':'√\x20Configuration\x20file\x20created,\x20you\x20can\x20configure\x20later\x20with\x20\x27lovrabet\x20config\x20set\x20appcode\x20<app-code>\x27','configuringMcp':a55_0x1ae8f6(0x282),'mcpConfigComplete':'√\x20Lovrabet\x20MCP\x20and\x20Skill\x20configuration\x20completed','cleaningUp':a55_0x1ae8f6(0x24f),'projectName':{'label':'Project\x20Name'},'appCode':{'label':a55_0x1ae8f6(0x208),'notSet':a55_0x1ae8f6(0x325)},'apiPull':{'label':'Pull\x20API\x20config'},'lovrabetSetup':{'label':a55_0x1ae8f6(0x30a),'ideCount':'{{count}}\x20IDEs'},'login':{'label':a55_0x1ae8f6(0x275),'loggedIn':a55_0x1ae8f6(0x221),'failed':a55_0x1ae8f6(0x1d9),'skipped':a55_0x1ae8f6(0x326)}},'title':a55_0x1ae8f6(0x232),'completedStep':a55_0x1ae8f6(0x2ee),'input':{'projectName':{'label':a55_0x1ae8f6(0x28a),'hint':'Press\x20Enter\x20to\x20confirm\x20or\x20type\x20a\x20custom\x20name'},'appCode':{'label':a55_0x1ae8f6(0x30d),'optional':'[optional]:\x20','hint':'Bind\x20AppCode\x20to\x20auto-configure\x20API,\x20e.g.\x20app-c4c89304\x20(press\x20Enter\x20to\x20skip)'}},'login':{'checking':a55_0x1ae8f6(0x207),'checkingStatus':a55_0x1ae8f6(0x1dc),'valid':a55_0x1ae8f6(0x1ce),'notDetected':a55_0x1ae8f6(0x268),'prompt':a55_0x1ae8f6(0x24d),'inProgress':a55_0x1ae8f6(0x224),'inProgressStatus':a55_0x1ae8f6(0x23a)},'apiPull':{'confirm':a55_0x1ae8f6(0x241),'recommendation':a55_0x1ae8f6(0x29c)},'lovrabetSetup':{'confirm':a55_0x1ae8f6(0x26a),'selectIdeHint':a55_0x1ae8f6(0x1fe),'selectIdeTitle':a55_0x1ae8f6(0x23f),'keyboardShortcuts':a55_0x1ae8f6(0x28e),'inProgress':a55_0x1ae8f6(0x282),'mcpCompleted':a55_0x1ae8f6(0x2b2),'skillCompleted':'✓\x20Skill\x20installation\x20completed:'},'creating':'*\x20Creating\x20project...','display':{'projectName':a55_0x1ae8f6(0x339),'appCode':a55_0x1ae8f6(0x32f)},'packageJson':{'updating':a55_0x1ae8f6(0x334),'updated':a55_0x1ae8f6(0x261)},'config':{'configuringAppCode':a55_0x1ae8f6(0x27a),'creating':a55_0x1ae8f6(0x2c5),'createdWithAppCode':'√\x20Configuration\x20file\x20created,\x20AppCode:\x20{{appCode}}','createdWithoutAppCode':a55_0x1ae8f6(0x257)},'cleanup':{'inProgress':a55_0x1ae8f6(0x24f)},'results':{'mcpComplete':a55_0x1ae8f6(0x264),'skillComplete':a55_0x1ae8f6(0x33a),'nextSteps':a55_0x1ae8f6(0x1f1)},'nextSteps':{'configureMcpAndSkill':a55_0x1ae8f6(0x2f0),'skill':a55_0x1ae8f6(0x255),'mcp':'\x20\x20•\x20MCP\x20Server:','startProject':'Start\x20project:','pullApi':a55_0x1ae8f6(0x2b7),'configAppCode':a55_0x1ae8f6(0x31c)},'errors':{'createFailed':a55_0x1ae8f6(0x1e3),'cleanupFailed':a55_0x1ae8f6(0x20e),'depsInstallFailed':'Dependency\x20installation\x20failed:\x20{{error}}'},'nonInteractive':{'creating':a55_0x1ae8f6(0x2a7),'templateCreated':'\x20\x20√\x20Project\x20template\x20created','packageJsonUpdated':a55_0x1ae8f6(0x2f8),'installingDeps':a55_0x1ae8f6(0x29d),'depsSkipped':a55_0x1ae8f6(0x2f6),'codeFormatted':a55_0x1ae8f6(0x265),'envConfigured':a55_0x1ae8f6(0x1d7),'success':'\x0a√\x20Project\x20{{name}}\x20created\x20successfully!'},'tasks':{'copyFiles':a55_0x1ae8f6(0x278),'formatCode':'Format\x20code','installDependencies':a55_0x1ae8f6(0x289),'formatCodeLabel':a55_0x1ae8f6(0x2cc)},'nextStepsAlt':{'startProject':a55_0x1ae8f6(0x25b),'pullApi':a55_0x1ae8f6(0x211),'configureLovrabet':a55_0x1ae8f6(0x2f0)}},'config':{'title':a55_0x1ae8f6(0x243),'help':{'invalidCommand':a55_0x1ae8f6(0x335),'examples':a55_0x1ae8f6(0x2a1),'set':a55_0x1ae8f6(0x21b),'get':a55_0x1ae8f6(0x22f),'list':a55_0x1ae8f6(0x20a),'exampleApp':a55_0x1ae8f6(0x23b),'exampleEnv':'Set\x20environment\x20(online/daily)','exampleLocale':a55_0x1ae8f6(0x238)},'validation':{'envInvalid':'env\x20value\x20must\x20be\x20\x22online\x22\x20or\x20\x22daily\x22','localeInvalid':'Invalid\x20locale\x20value.\x20Supported:\x20zh,\x20en,\x20zh-CN,\x20en-US','valueInvalid':a55_0x1ae8f6(0x2cb),'noValue':a55_0x1ae8f6(0x26e),'saveFailed':a55_0x1ae8f6(0x203)},'success':{'envSet':'✓\x20{{scope}}\x20env\x20set\x20to:\x20{{value}}','localeSet':a55_0x1ae8f6(0x2c0)},'scope':{'project':a55_0x1ae8f6(0x318),'global':'Global'}},'api':{'title':a55_0x1ae8f6(0x233),'pull':a55_0x1ae8f6(0x286),'doc':a55_0x1ae8f6(0x219),'help':{'title':a55_0x1ae8f6(0x293),'usage':'Usage:','options':a55_0x1ae8f6(0x2d3),'optAppcode':a55_0x1ae8f6(0x26c),'optOutput':a55_0x1ae8f6(0x1ee),'optEnv':a55_0x1ae8f6(0x1fb),'optDatasetcode':'Specify\x20dataset\x20codes\x20for\x20doc\x20generation\x20(comma-separated,\x20doc\x20command\x20only)','optHelp':'Show\x20this\x20help\x20message','examples':'Examples:','pullDesc':a55_0x1ae8f6(0x2cd),'pullAppcode':a55_0x1ae8f6(0x2a6),'pullOutput':a55_0x1ae8f6(0x2c4),'pullEnv':a55_0x1ae8f6(0x288),'docDesc':a55_0x1ae8f6(0x1fd),'docAppcode':'Use\x20specified\x20appcode','docOutput':a55_0x1ae8f6(0x20c),'docEnv':a55_0x1ae8f6(0x2ec),'docDataset':a55_0x1ae8f6(0x302),'docDatasets':'Generate\x20docs\x20for\x20multiple\x20datasets','unknownCommand':a55_0x1ae8f6(0x23e),'availableCommands':'Available\x20commands:'},'common':{'noPositionalArgs':a55_0x1ae8f6(0x272),'useAppcodeFlag':a55_0x1ae8f6(0x2c1),'noAppCode':a55_0x1ae8f6(0x204),'noAppCodeHint':'!\x20Please\x20use\x20one\x20of\x20the\x20following:','noAppCodeOption1':a55_0x1ae8f6(0x32b),'noAppCodeOption2Pull':a55_0x1ae8f6(0x2bd),'noAppCodeOption2Doc':a55_0x1ae8f6(0x308),'usingConfigAppCode':a55_0x1ae8f6(0x1f0),'usingConfigAppCodeHint':a55_0x1ae8f6(0x228),'usingSpecifiedAppCode':'Using\x20specified\x20AppCode:\x20{{appCode}}','usingDefaultAppCode':a55_0x1ae8f6(0x31f),'noAppCodeDefault':a55_0x1ae8f6(0x30f),'paramsInvalidJson':'×\x20--params\x20must\x20be\x20a\x20valid\x20JSON\x20object','paramsNotJson':a55_0x1ae8f6(0x2ba),'paramsError':a55_0x1ae8f6(0x27e),'datasetcodeEmpty':a55_0x1ae8f6(0x2a5),'onlyGenerateDatasets':'*\x20Generating\x20docs\x20only\x20for\x20specified\x20datasets:\x20{{codes}}','authExpired':a55_0x1ae8f6(0x2d9),'authRetry':a55_0x1ae8f6(0x217),'unknownError':a55_0x1ae8f6(0x22e)},'pullUI':{'fetching':a55_0x1ae8f6(0x247),'successPull':'√\x20Pulled\x20{{datasetCount}}\x20datasets,\x20generated\x20{{modelCount}}\x20models','duplicateInfo':'!\x20Original\x20{{originalCount}}\x20datasets,\x20filtered\x20{{duplicateCount}}\x20duplicates','generatedFiles':a55_0x1ae8f6(0x2b8),'modelFile':a55_0x1ae8f6(0x337),'clientFile':'-\x20Client\x20instance\x20file','importHint':a55_0x1ae8f6(0x28f),'pullFailed':'Failed\x20to\x20pull\x20API\x20config:\x20{{error}}'},'docUI':{'fetchingDatasets':'Fetching\x20dataset\x20list...','noDatasets':'No\x20datasets\x20found','datasetsNotFound':a55_0x1ae8f6(0x245),'allDatasetsNotFound':a55_0x1ae8f6(0x2d2),'filteredDatasets':'*\x20Filtered\x20{{count}}\x20matching\x20datasets\x20from\x20{{total}}\x20total','generatingDocs':a55_0x1ae8f6(0x28c),'generatingFile':a55_0x1ae8f6(0x330),'docComplete':a55_0x1ae8f6(0x2f5),'docFailed':a55_0x1ae8f6(0x2c3),'processedDatasets':a55_0x1ae8f6(0x1cf),'outputDir':a55_0x1ae8f6(0x266),'generatedDocs':a55_0x1ae8f6(0x21a),'failedDatasets':a55_0x1ae8f6(0x2fe),'docGenerateFailed':'Doc\x20generation\x20failed:\x20{{error}}'},'fetchModel':{'fetching':a55_0x1ae8f6(0x2d5),'httpError':a55_0x1ae8f6(0x22a),'fetchError':a55_0x1ae8f6(0x24b)},'generateFile':{'noAppCode':a55_0x1ae8f6(0x1da)},'docBatch':{'totalDatasets':'\x0a{{count}}\x20datasets\x20to\x20generate\x20docs\x20for\x0a','generating':'[{{current}}/{{total}}]\x20Generating:\x20{{fileName}}.md\x20({{name}})','success':a55_0x1ae8f6(0x1d5),'failed':a55_0x1ae8f6(0x205),'waiting':a55_0x1ae8f6(0x25a),'docFormatError':a55_0x1ae8f6(0x2a8),'httpError':a55_0x1ae8f6(0x2e4)},'silent':{'invalidPrefix':'×\x20Invalid\x20file\x20prefix.\x20Only\x20letters,\x20numbers,\x20hyphens\x20and\x20underscores\x20allowed,\x20must\x20start\x20with\x20a\x20letter.','fetching':a55_0x1ae8f6(0x1ed),'generating':'*\x20Generating\x20API\x20config\x20files:','modelFileName':a55_0x1ae8f6(0x2be),'clientFileName':a55_0x1ae8f6(0x1cb),'processing':a55_0x1ae8f6(0x2e7),'success':a55_0x1ae8f6(0x2d0),'error':a55_0x1ae8f6(0x1e6)}},'auth':{'title':'Authentication','login':{'success':{'title':a55_0x1ae8f6(0x24a),'message':a55_0x1ae8f6(0x285),'manualClose':'Unable\x20to\x20close\x20automatically.\x20Please\x20close\x20this\x20tab\x20or\x20window\x20manually.'},'successCli':a55_0x1ae8f6(0x2a9),'inProgress':a55_0x1ae8f6(0x254),'browserPrompt':'Please\x20complete\x20login\x20in\x20your\x20browser.','pressEnter':a55_0x1ae8f6(0x24c),'pressQToExit':'Press\x20“q”\x20to\x20exit.'},'session':{'valid':a55_0x1ae8f6(0x292)},'server':{'starting':a55_0x1ae8f6(0x322),'loginUrl':a55_0x1ae8f6(0x2c2),'openingBrowser':a55_0x1ae8f6(0x2d1),'manualOpenHint':a55_0x1ae8f6(0x31d),'browserOpened':a55_0x1ae8f6(0x2ab),'browserOpenFailed':a55_0x1ae8f6(0x213),'manualCopyUrl':'🔗\x20Please\x20copy\x20the\x20login\x20URL\x20into\x20your\x20browser:'},'logout':{'success':a55_0x1ae8f6(0x215),'notLoggedIn':a55_0x1ae8f6(0x200)}},'menu':{'sync':'Sync\x20Menu','update':a55_0x1ae8f6(0x311)},'mcp':{'cursor':a55_0x1ae8f6(0x2d7),'claude':a55_0x1ae8f6(0x2b9),'error':{'unsupportedCommand':a55_0x1ae8f6(0x21f),'missingAppcode':a55_0x1ae8f6(0x201)},'help':{'title':'Lovrabet\x20MCP\x20-\x20MCP\x20Server\x20Configuration\x20Tool','availableCommands':'\x0aAvailable\x20commands:','command':{'install':a55_0x1ae8f6(0x214),'help':a55_0x1ae8f6(0x1f6)},'usage':{'help':'\x20\x20lovrabet\x20mcp\x20--help\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20Show\x20help','install':'\x20\x20lovrabet\x20mcp\x20install\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20Interactive\x20MCP\x20configuration','installCursor':a55_0x1ae8f6(0x280),'installClaude':a55_0x1ae8f6(0x273)},'configMethods':a55_0x1ae8f6(0x33c),'configMethodsInteractive':a55_0x1ae8f6(0x2e1),'configMethodsInteractiveHint':'\x20\x20\x20\x20→\x20Enter\x20number\x20to\x20select\x20IDE','configMethodsDirect':a55_0x1ae8f6(0x20d),'configMethodsDirectCursor':a55_0x1ae8f6(0x1d0),'configMethodsDirectClaude':'\x20\x20\x20\x20$\x20lovrabet\x20mcp\x20install\x20--claude\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20#\x20Configure\x20Claude\x20Code','supportedIDEs':a55_0x1ae8f6(0x212),'examples':a55_0x1ae8f6(0x2a1),'exampleInstall':a55_0x1ae8f6(0x267),'exampleInstallHint':a55_0x1ae8f6(0x1fc),'exampleInstallCursor':'\x20\x20$\x20lovrabet\x20mcp\x20install\x20--cursor','exampleInstallCursorHint':a55_0x1ae8f6(0x2d6),'configGuide':a55_0x1ae8f6(0x294)},'select':{'chooseIDE':a55_0x1ae8f6(0x216),'cancel':a55_0x1ae8f6(0x206),'enterNumber':'Enter\x20a\x20number\x20to\x20select\x20IDE:\x0a','prompt':a55_0x1ae8f6(0x22b),'cancelled':a55_0x1ae8f6(0x2fd),'invalidChoice':a55_0x1ae8f6(0x252)},'installFlow':{'configuring':'\x0a📦\x20Configuring\x20{{name}}\x20MCP...\x0a','error':a55_0x1ae8f6(0x26d)},'cursorConfig':{'success':'\x0a✓\x20Cursor\x20MCP\x20configured\x20successfully!\x0a','configInfo':a55_0x1ae8f6(0x2c6),'usageHint':'You\x20can\x20now\x20use\x20Lovrabet\x20dataset\x20MCP\x20tools\x20in\x20Cursor.','restartRequired':a55_0x1ae8f6(0x314),'error':a55_0x1ae8f6(0x26d),'rules':{'exists':a55_0x1ae8f6(0x250),'created':'Create\x20Cursor\x20Rules\x20file','copyFailed':'Failed\x20to\x20copy\x20Cursor\x20Rules\x20file'},'updateExisting':'Update\x20existing\x20mcp.json\x20config','createNew':'Create\x20new\x20mcp.json\x20config','written':a55_0x1ae8f6(0x321)},'claudeConfig':{'error':a55_0x1ae8f6(0x26d),'agents':{'exists':a55_0x1ae8f6(0x260),'created':'Create\x20agents.md\x20file','copyFailed':'Failed\x20to\x20copy\x20agents.md\x20file'},'manualCommand':'Run\x20the\x20following\x20command\x20to\x20configure\x20Claude\x20Code\x20MCP:','configInfo':a55_0x1ae8f6(0x2c6),'restartRequired':'Restart\x20Claude\x20Code\x20to\x20take\x20effect','commandGenerated':a55_0x1ae8f6(0x333)},'other':{'configInfo':a55_0x1ae8f6(0x1e5),'configGuide':'Detailed\x20guide:\x20https://help.yuntoo.com/mcp/config-guide','guideShown':a55_0x1ae8f6(0x1d3)},'config':{'env':'Environment:\x20{{env}}'},'install':{'starting':'Start\x20configuring\x20MCP','unknownIDE':'Unknown\x20IDE:\x20{{ide}}','otherIDE':a55_0x1ae8f6(0x20f),'success':a55_0x1ae8f6(0x291),'failed':a55_0x1ae8f6(0x244),'completed':a55_0x1ae8f6(0x1ff),'manualActionRequired':a55_0x1ae8f6(0x253)},'ui':{'otherIDE':a55_0x1ae8f6(0x20f),'otherIDEDescription':a55_0x1ae8f6(0x2a4),'selectAtLeastOne':a55_0x1ae8f6(0x304),'selectedIDE':a55_0x1ae8f6(0x220),'count':a55_0x1ae8f6(0x29a),'title':a55_0x1ae8f6(0x2b5),'configuring':a55_0x1ae8f6(0x303),'completed':a55_0x1ae8f6(0x1e4),'partialManual':'⚠️\x20Some\x20configurations\x20require\x20manual\x20steps','failed':a55_0x1ae8f6(0x324),'manualRequired':a55_0x1ae8f6(0x1d2),'pressAnyKeyToExit':a55_0x1ae8f6(0x317),'unsupportedIDE':a55_0x1ae8f6(0x29e)}},'aiSetup':{'error':{'missingAppcode':a55_0x1ae8f6(0x276)},'mcp':{'cursor':{'success':a55_0x1ae8f6(0x32d),'written':a55_0x1ae8f6(0x321),'error':'Cursor\x20MCP\x20configuration\x20failed','rules':{'created':a55_0x1ae8f6(0x262),'copyFailed':a55_0x1ae8f6(0x1e1)}},'claude':{'commandGenerated':a55_0x1ae8f6(0x248),'manualCommand':a55_0x1ae8f6(0x2f2),'configInfo':'Configuration:','env':a55_0x1ae8f6(0x2c7),'restartRequired':a55_0x1ae8f6(0x237),'manualExecute':a55_0x1ae8f6(0x323),'agents':{'created':a55_0x1ae8f6(0x25f),'copyFailed':'Failed\x20to\x20copy\x20agents.md\x20file'}},'other':{'name':'Other','title':a55_0x1ae8f6(0x2bb),'guideShown':'Configuration\x20guide\x20displayed'},'unsupportedIDE':a55_0x1ae8f6(0x1f9)},'skill':{'unknownIDE':a55_0x1ae8f6(0x332),'installSuccess':a55_0x1ae8f6(0x1e7),'itemsCreated':a55_0x1ae8f6(0x2df),'installFailed':a55_0x1ae8f6(0x2e8),'sharedCopied':'Shared\x20skill\x20files\x20copied\x20successfully','sharedCopyFailed':a55_0x1ae8f6(0x30c),'manifestCreated':'Skill\x20manifest\x20created'},'ui':{'selectAtLeastOne':a55_0x1ae8f6(0x1f4),'confirm':{'title':'Configure\x20AI\x20assistant\x20as\x20well?\x20This\x20will:','mcpDescription':'•\x20MCP:\x20Allow\x20AI\x20to\x20access\x20Lovrabet\x20datasets\x20directly','skillDescription':a55_0x1ae8f6(0x1fa),'yes':a55_0x1ae8f6(0x25d),'no':a55_0x1ae8f6(0x298),'default':a55_0x1ae8f6(0x251)},'select':{'title':a55_0x1ae8f6(0x1ea),'mcpSection':a55_0x1ae8f6(0x305),'skillSection':'Skills\x20(engineering\x20guidelines)','controls':a55_0x1ae8f6(0x336)},'installing':'Configuring\x20AI\x20assistant...'}},'appMenu':{'error':{'missingAppCode':'No\x20AppCode\x20provided\x20and\x20no\x20default\x20configured','appCodeHint':{'title':a55_0x1ae8f6(0x2b1),'option1':a55_0x1ae8f6(0x32a),'option2':a55_0x1ae8f6(0x246)},'authExpired':a55_0x1ae8f6(0x2d9),'authValidationFailed':'Auth\x20validation\x20failed.\x20Please\x20use\x20lovrabet\x20auth\x20to\x20login\x20again','httpStatus':a55_0x1ae8f6(0x2fa),'fetchFailed':a55_0x1ae8f6(0x22c),'createHttpStatus':a55_0x1ae8f6(0x312),'createFailed':a55_0x1ae8f6(0x225)},'info':{'emptyMenuList':a55_0x1ae8f6(0x2f9)},'success':{'fetched':a55_0x1ae8f6(0x1df),'created':'Menu\x20created\x20successfully:'},'fetching':{'online':a55_0x1ae8f6(0x1c8),'daily':a55_0x1ae8f6(0x328)},'creating':{'single':'Creating\x20menu:\x20{{label}}\x20({{path}})','batch':{'start':a55_0x1ae8f6(0x284),'completed':a55_0x1ae8f6(0x30b)}},'sync':{'title':'*\x20Sync\x20menus\x20to\x20Lovrabet\x20platform','table':{'menuName':a55_0x1ae8f6(0x2e3),'local':a55_0x1ae8f6(0x283),'lovrabetPlatform':a55_0x1ae8f6(0x1ca)},'error':{'noMenuSelected':a55_0x1ae8f6(0x26b),'invalidJsUrl':a55_0x1ae8f6(0x27d),'jsUrlUnreachable':a55_0x1ae8f6(0x309),'invalidCssUrl':a55_0x1ae8f6(0x2ad),'cssUrlUnreachable':a55_0x1ae8f6(0x2e5),'createMenuFailed':a55_0x1ae8f6(0x306),'authHint':{'prefix':a55_0x1ae8f6(0x2db),'suffix':a55_0x1ae8f6(0x277)},'noLocalPages':a55_0x1ae8f6(0x227)},'step':{'selectedMenus':a55_0x1ae8f6(0x218),'selectedMenusCount':a55_0x1ae8f6(0x2c9),'jsUrl':'JS\x20URL','cssUrl':a55_0x1ae8f6(0x24e),'selectMenus':a55_0x1ae8f6(0x222),'creating':'*\x20Creating\x20menus...','completed':a55_0x1ae8f6(0x329)},'operation':{'update':a55_0x1ae8f6(0x22d),'create':a55_0x1ae8f6(0x331)},'loading':{'fetchingMenuList':a55_0x1ae8f6(0x1cd)},'hotkeys':'↑/↓:\x20Move\x20\x20Space:\x20Toggle\x20\x20a:\x20All\x20\x20i/r:\x20Invert\x20\x20Enter:\x20Confirm','input':{'jsUrl':{'label':'*\x20JS\x20URL:\x20','placeholder':a55_0x1ae8f6(0x1dd)},'cssUrl':{'label':a55_0x1ae8f6(0x300),'placeholder':a55_0x1ae8f6(0x31b)}}},'updateCdn':{'title':a55_0x1ae8f6(0x295),'error':{'invalidJsUrl':a55_0x1ae8f6(0x27d),'jsUrlUnreachable':a55_0x1ae8f6(0x309),'invalidCssUrl':a55_0x1ae8f6(0x2ad),'cssUrlUnreachable':a55_0x1ae8f6(0x2e5),'authHint':{'prefix':a55_0x1ae8f6(0x2db),'suffix':a55_0x1ae8f6(0x277)},'noCdnLinks':a55_0x1ae8f6(0x28b),'updateFailed':a55_0x1ae8f6(0x236)},'loading':{'fetching':a55_0x1ae8f6(0x21d),'syncing':a55_0x1ae8f6(0x315)},'action':{'continue':a55_0x1ae8f6(0x2aa),'cancel':a55_0x1ae8f6(0x2ac)},'success':{'updated':a55_0x1ae8f6(0x29f),'synced':a55_0x1ae8f6(0x1f3)},'updating':a55_0x1ae8f6(0x26f),'preview':{'title':'*\x20Menus\x20and\x20asset\x20links\x20to\x20update','menuList':'Menus\x20to\x20update:','resourceLinks':a55_0x1ae8f6(0x281)},'input':{'title':a55_0x1ae8f6(0x1e0),'jsUrl':{'label':a55_0x1ae8f6(0x210),'placeholder':a55_0x1ae8f6(0x2e9)},'cssUrl':{'label':'CSS\x20URL:\x20','placeholder':a55_0x1ae8f6(0x25c)}}}},'skill':{'install':'Install\x20Skills','error':{'unsupportedCommand':a55_0x1ae8f6(0x21f),'installFailed':a55_0x1ae8f6(0x240),'unknownPlatform':a55_0x1ae8f6(0x1e9),'unknownIDE':a55_0x1ae8f6(0x2a0),'noValidIDE':a55_0x1ae8f6(0x2ef),'selectAtLeastOne':a55_0x1ae8f6(0x304)},'errorHint':{'availableCommands':a55_0x1ae8f6(0x242),'installInteractive':'\x20\x20lovrabet\x20skill\x20install\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20#\x20Interactive\x20skill\x20installation','installDirect':'\x20\x20lovrabet\x20skill\x20install\x20<ide>\x20\x20\x20\x20\x20#\x20Install\x20for\x20specific\x20IDE','showHelp':'\x20\x20lovrabet\x20skill\x20--help\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20#\x20Show\x20help\x0a','usageExamples':'Usage\x20examples:','exampleInteractive':a55_0x1ae8f6(0x2cf),'exampleDirect':a55_0x1ae8f6(0x297)},'select':{'title':a55_0x1ae8f6(0x307),'installAll':a55_0x1ae8f6(0x270),'cancel':'Cancel','inputFormat':'Input\x20format:\x20Enter\x20numbers\x20separated\x20by\x20spaces\x20(e.g.\x201\x203\x205)','inputHint':a55_0x1ae8f6(0x274),'prompt':'Your\x20choice:\x20','cancelled':a55_0x1ae8f6(0x1f2),'noneSelected':a55_0x1ae8f6(0x327),'selectedIDE':a55_0x1ae8f6(0x220),'count':'{{count}}'},'cdn':{'fetching':a55_0x1ae8f6(0x25e),'fetchingExtend':a55_0x1ae8f6(0x316),'fetchSuccess':'✓\x20Fetched\x20{{count}}\x20developer\x20guides','fetchFailed':a55_0x1ae8f6(0x299)},'installing':{'title':'Install\x20Lovrabet\x20Skills\x20-\x20Select\x20IDE','progress':a55_0x1ae8f6(0x1d1),'ide':a55_0x1ae8f6(0x2f1),'installed':a55_0x1ae8f6(0x202),'created':'\x20\x20✓\x20Created\x20{{path}}','createdDir':a55_0x1ae8f6(0x229),'createdManifest':'✓\x20Created\x20.lovrabet/skill-manifest.json'},'done':{'success':a55_0x1ae8f6(0x258),'successInline':a55_0x1ae8f6(0x226),'guidesLocation':a55_0x1ae8f6(0x234),'guidesPath':'\x20\x20.lovrabet/skill/.shared/guides/\x20-\x20Detailed\x20developer\x20guides\x0a','guidesPathInline':a55_0x1ae8f6(0x2ea),'pressAnyKey':a55_0x1ae8f6(0x317)},'generic':a55_0x1ae8f6(0x2b3),'help':{'title':a55_0x1ae8f6(0x1f7),'usage':a55_0x1ae8f6(0x32c),'showHelp':a55_0x1ae8f6(0x301),'installInteractive':a55_0x1ae8f6(0x23c),'installDirect':a55_0x1ae8f6(0x27b),'installAll':a55_0x1ae8f6(0x209),'installWithBff':a55_0x1ae8f6(0x296),'installMethods':a55_0x1ae8f6(0x20b),'interactiveSelect':a55_0x1ae8f6(0x32e),'interactiveKeys':a55_0x1ae8f6(0x1cc),'directInstall':a55_0x1ae8f6(0x2eb),'bffWorkflow':a55_0x1ae8f6(0x313),'supportedIDEs':a55_0x1ae8f6(0x212),'agentDesc':a55_0x1ae8f6(0x2dd),'allDesc':a55_0x1ae8f6(0x249),'options':a55_0x1ae8f6(0x2d3),'bffOption':a55_0x1ae8f6(0x30e),'skillContents':a55_0x1ae8f6(0x2ed),'skillContentsList':a55_0x1ae8f6(0x31a),'examples':a55_0x1ae8f6(0x2a1),'exampleInteractive':'\x20\x20\x20\x20→\x20Interactive\x20IDE\x20selection','exampleDirectDesc':a55_0x1ae8f6(0x2b0),'exampleBffDesc':'\x20\x20\x20\x20→\x20Install\x20skills\x20with\x20Backend\x20Function\x20sync\x20workflow','exampleAllDesc':a55_0x1ae8f6(0x239),'afterInstall':a55_0x1ae8f6(0x269),'afterInstallList':'\x20\x20-\x20IDE-specific\x20config\x20files\x20(.cursorrules,\x20.windsurf/,\x20.claude/,\x20.cline/,\x20.codex/,\x20.opencode/,\x20.qoder/,\x20.codebuddy/,\x20.trae/)\x0a\x20\x20-\x20.lovrabet/skill/.shared/guides/\x20\x20-\x20Developer\x20skill\x20guides','guidesLocationTitle':a55_0x1ae8f6(0x234)}},'logs':{'title':'Logs','view':a55_0x1ae8f6(0x2fb),'clear':'Clear\x20Logs','noLogs':a55_0x1ae8f6(0x1ec),'header':'*\x20Lovrabet\x20CLI\x20logs:\x0a','time':a55_0x1ae8f6(0x21e),'duration':a55_0x1ae8f6(0x33b),'details':'\x20\x20\x20Details:\x20{{details}}','cleared':a55_0x1ae8f6(0x2e2)},'start':{'starting':a55_0x1ae8f6(0x1e8)},'build':{'building':'Building\x20project...'},'preview':{'previewing':'Previewing\x20project...','watchMode':a55_0x1ae8f6(0x1de)},'ui':{'ideSelector':{'title':'Select\x20IDEs\x20to\x20configure:','hotkeys':'↑/↓:\x20Move\x20\x20Space:\x20Toggle\x20\x20a:\x20All\x20\x20i/r:\x20Invert\x20\x20q:\x20Quit\x20\x20Enter:\x20Confirm'}},'upgrade':{'cli':{'title':a55_0x1ae8f6(0x1db),'current':a55_0x1ae8f6(0x21c),'stable':'\x20\x20\x20Stable\x20version:\x20{{version}}','command':a55_0x1ae8f6(0x230)},'sdk':{'title':a55_0x1ae8f6(0x2a3),'current':a55_0x1ae8f6(0x1eb),'stable':a55_0x1ae8f6(0x23d),'command':a55_0x1ae8f6(0x230)}}};
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
function a56_0x29bc(_0x1fe89c,_0x4b7324){_0x1fe89c=_0x1fe89c-0xb7;var _0x3e0155=a56_0x3e01();var _0x29bc4e=_0x3e0155[_0x1fe89c];return _0x29bc4e;}var a56_0x339dd2=a56_0x29bc;function a56_0x3e01(){var _0x1e9b5f=['\x0a✓\x20技能包安装成功!共安装\x20{{count}}\x20个目录\x0a','*\x20正在从服务器拉取\x20API\x20配置...\x20(环境:\x20{{env}})','\x0a已取消配置\x0a','全部安装','\x20\x20\x20耗时:\x20{{duration}}ms','❌\x20错误:不再支持位置参数方式','*\x20是否要自动拉取\x20API\x20配置?','包含\x20Backend\x20Function\x20同步工作流','正在获取线上菜单列表...\x20(appCode:\x20{{appCode}})','192285jXFcGW','交互式选择并安装技能包','\x20\x20\x20•\x20{{name}}.ts\x20-\x20模型配置文件','显示帮助信息','\x20\x20正在安装依赖...','创建菜单失败:\x20{{error}}','正在安装技能包...','格式化代码','JS\x20链接无法访问','\x20\x20-\x20IDE\x20特定配置文件\x20(.cursorrules,\x20.windsurf/,\x20.claude/,\x20.cline/,\x20.codex/,\x20.opencode/,\x20.qoder/,\x20.codebuddy/,\x20.trae/)\x0a\x20\x20-\x20.lovrabet/skill/.shared/guides/\x20\x20-\x20开发者技能指南','\x20\x20直接安装指定\x20IDE\x20(支持多个)\x20\x20\x20\x20\x20\x20\x20-\x20使用\x20--ide\x20标志直接安装','√\x20配置文件已创建,可稍后使用\x20\x27lovrabet\x20config\x20set\x20appcode\x20<app-code>\x27\x20配置','创建\x20agents.md\x20文件','*\x20已输入的资源资源','正在预览项目...','\x0a可用命令:','*\x20正在创建项目...','复制\x20agents.md\x20文件失败','!\x20未找到本地页面,请先创建页面','*\x20正在更新\x20package.json\x20的\x20name\x20和\x20description\x20字段','*\x20请选择要同步的菜单:','\x20\x20•\x20Skill:','√\x20成功拉取\x20{{datasetCount}}\x20个数据集,生成\x20{{modelCount}}\x20个模型','633544OnmJCd','-\x20模型配置文件\x20({{count}}\x20个模型)','\x0a📦\x20正在安装\x20{{name}}...\x0a','\x0a✓\x20Cursor\x20MCP\x20配置成功!\x0a','\x0a✓\x20{{ide}}\x20MCP\x20配置成功','已创建\x20{{count}}\x20项','开始批量创建菜单,共\x20{{count}}\x20个','其他\x20IDE\x20配置指引','示例:','\x20\x20✓\x20创建\x20{{path}}/','\x0a请选择要配置\x20MCP\x20的\x20IDE:\x0a','*\x20正在为项目\x20{{name}}\x20配置应用AppCode:\x20{{appCode}}','\x20\x20直接配置指定\x20IDE\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20-\x20使用\x20--ide\x20标志直接配置','登录认证','请至少选择一个菜单','✓\x20技能包安装成功!共安装\x20{{count}}\x20个目录','成功在当前目录初始化\x20.lovrabetrc\x20文件','💡\x20如果浏览器没有自动打开,请手动复制上面的登录地址到浏览器中打开','当前目录已存在\x20.lovrabetrc\x20文件','需要先配置\x20appcode','Claude\x20Code','Lovrabet\x20Skill\x20-\x20开发者技能包安装工具','\x20|\x20应用AppCode:\x20','配置信息:','请先通过\x20`lovrabet\x20config\x20set\x20app\x20<value>`\x20配置应用\x20Code','使用指定的\x20appcode','正在从服务器拉取模型列表...\x20(环境:\x20{{env}})','✓\x20MCP\x20服务器配置完成:','正在配置\x20AI\x20助手...','应用AppCode只能包含字母、数字、连字符和下划线,且必须以字母或数字开头','*\x20待更新的菜单&资源链接','*\x20清理失败的项目目录:\x20{{dir}}','√\x20package.json\x20已更新:\x20name={{name}}','*\x20JS\x20链接:\x20','\x20\x20lovrabet\x20skill\x20install\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20#\x20交互式选择\x20IDE','*\x20正在拉取\x20API\x20配置...','*\x20按回车开始登录。','正在初始化配置文件...','\x20\x20\x20当前\x20CLI\x20版本:\x20{{version}}','✗\x20失败:\x20{{fileName}}.md\x20-\x20{{error}}','√\x20{{label}}:\x20','×\x20--params\x20参数必须是一个有效的\x20JSON\x20对象','已安装\x20{{count}}\x20个目录','保存配置失败','Cursor\x20MCP\x20配置成功','*\x20正在创建项目\x20{{name}}...','\x20\x20\x20时间:\x20{{time}}','[{{current}}/{{total}}]\x20正在生成:\x20{{fileName}}.md\x20({{name}})','正在配置\x20MCP\x20服务器...','创建菜单失败,HTTP状态码:\x20{{status}}','生成多个数据集的文档','\x20\x20lovrabet\x20mcp\x20--help\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20#\x20显示帮助信息\x0a','服务端返回空菜单列表','\x0a无效的选择,请输入\x201-{{count}}\x20之间的数字\x0a','跳过登录','\x20\x20lovrabet\x20mcp\x20install\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20#\x20交互式选择并配置\x20MCP','拉取\x20API','更新菜单\x20CDN\x20资源','应用AppCode不合法','*\x20共处理\x20{{count}}\x20个数据集','[可选]:\x20','未知的\x20IDE:\x20{{ide}}','指定环境生成文档','\x20\x20$\x20lovrabet\x20mcp\x20install','应用代码长度不能超过\x20100\x20个字符','选项:','项目名不合法','选择要配置的\x20IDE:','配置示例:','93549mZIqfh','√\x20API\x20配置拉取完成','项目名包含非法字符,不允许使用:\x20<\x20>\x20:\x20\x22\x20|\x20?\x20*\x20及控制字符','🚀\x20接下来:','\x20\x20\x20\x20→\x20使用\x20↑↓\x20移动光标,空格选中/取消,Enter\x20确认\x0a\x20\x20\x20\x20→\x20按\x20a\x20全选,按\x20i/r\x20反选,按\x20q\x20退出','配置\x20Lovrabet\x20MCP\x20服务器','*\x20正在为项目\x20{{name}}\x20创建配置文件','✓\x20已退出登录','其他\x20IDE','*\x20项目名:\x20','✓\x20Skill\x20安装完成:','生成文档','1614725dKaLBS','启动项目:\x20','2054512HGmcgj','已登录','获取配置项','列出所有配置项','请输入有效的\x20CSS\x20https\x20链接','✅\x20浏览器已自动打开,请在浏览器中完成登录','已选择菜单','不支持的\x20MCP\x20IDE:\x20{{ide}}','输入\x200\x20安装所有\x20IDE,输入\x20q\x20取消\x0a','监听模式','正在获取数据集列表...','\x20\x20\x20•\x20{{name}}.ts\x20-\x20客户端实例文件','⚠️\x20配置需要手动完成','配置值无效或过长','Enter\x20默认:\x20是','已写入\x20.cursor/mcp.json','下一步','Cursor\x20Rules\x20文件已存在,跳过','\x0a请选择要安装技能包的\x20IDE\x20(可多选):\x0a','其他\x20(通用模板)\x20(.agent/skills/)\x20-\x20兜底方案','MCP\x20和\x20Skill','安装所有技能包','\x0a📋\x20其他\x20IDE\x20MCP\x20配置:\x0a','无效的命令,可用命令如下:','\x20\x20lovrabet\x20mcp\x20install\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20交互式选择并配置\x20MCP','\x20\x20包含\x20Backend\x20Function\x20同步工作流\x20\x20\x20-\x20使用\x20--dangerously-bff-save\x20标志','AppCode',',\x20失败\x20{{failCount}}\x20个','登录成功,请返回命令行继续操作。当前窗口将在\x20{{seconds}}\x20秒内关闭。','\x20\x20重启\x20Claude\x20Code\x20后生效\x0a','\x20\x20环境:\x20{{env}}','*\x20是否配置\x20Lovrabet\x20MCP\x20和\x20Skill?','成功获取\x20{{count}}\x20个线上菜单','拉取API配置','!\x20请指定一个有效的命令。','CSS\x20链接:\x20','应用代码不能为空','现在您可以使用\x20lovrabet\x20api\x20doc\x20和\x20lovrabet\x20api\x20pull\x20等命令了','创建菜单失败','\x20\x20\x202.\x20配置默认值:\x20lovrabet\x20config\x20set\x20app\x20<app-code>','提示:使用\x20','项目名只能以字母或数字开头,且只包含字母、数字、-\x20和\x20_','获取文档失败\x20({{datasetCode}}),HTTP状态码:\x20{{status}}','\x20直接回车确认,或输入自定义名称','详细配置指南:\x20https://help.yuntoo.com/mcp/config-guide','指定要生成文档的数据集代码(多个用逗号分隔,仅\x20doc\x20命令)','应用代码不合法','\x20\x20lovrabet\x20skill\x20--help\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20#\x20显示帮助信息\x0a','\x20\x20\x20稳定版本:\x20{{version}}','•\x20Skill:\x20安装研发最佳实践、Backend\x20Function\x20规范','指定应用代码','6DBFkIV','正在获取日常菜单列表...\x20(appCode:\x20{{appCode}})','支持的\x20IDE:','\x20\x20使用\x20←→\x20选择,回车确认','✓\x20{{scope}}语言配置已设置为:\x20{{value}}','!\x20API\x20配置拉取失败,可稍后手动执行:\x20lovrabet\x20api\x20pull','\x20\x20--dangerously-bff-save\x20\x20\x20\x20包含\x20Backend\x20Function\x20同步工作流指南\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20(需要\x20MCP\x20服务器启用相应\x20tools)','\x20\x20√\x20环境配置完成','绑定应用AppCode可自动配置\x20API,如:\x20app-c4c89304\x20(直接回车跳过)','使用配置的应用AppCode:\x20{{appCode}}','获取数据集失败,HTTP状态码:\x20{{status}}','\x20\x20\x20\x20$\x20lovrabet\x20mcp\x20install\x20--claude\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20#\x20配置\x20Claude\x20Code','\x0a已取消安装\x0a','错误:\x20不支持的命令:\x20{{cmd}}','\x20\x20\x20交互式选择\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20-\x20显示\x20IDE\x20列表供选择','请执行以下命令配置\x20Claude\x20Code\x20MCP:','环境:\x20{{env}}','\x0a√\x20项目\x20{{name}}\x20创建成功!','复制\x20Cursor\x20Rules\x20文件失败','*\x20正在配置\x20Lovrabet\x20MCP\x20和\x20Skill...','创建技能包\x20manifest','✓\x20MCP\x20配置完成!','{{count}}\x20个\x20IDE','\x20\x20lovrabet\x20mcp\x20install\x20--claude\x20\x20\x20\x20直接配置\x20Claude\x20Code\x20MCP','未知错误','批量创建菜单完成,共\x20{{count}}\x20个','\x20\x20lovrabet\x20skill\x20install\x20cursor\x20\x20\x20\x20#\x20直接安装\x20Cursor\x20技能包\x0a','项目名称:\x20','219qssMSx','Cursor','\x20正在获取线上菜单列表...','响应数据格式错误\x20({{datasetCode}}):缺少\x20data.markdown\x20字段','\x20\x20✗\x20安装\x20{{ide}}\x20失败:\x20{{error}}','登录成功!','更新现有\x20mcp.json\x20配置','使用指定的应用AppCode:\x20{{appCode}}','\x20登录中...','示例:','↪\x20新版本可用','\x20\x20$\x20lovrabet\x20mcp\x20install\x20--cursor','无法在当前目录创建项目,请检查目录权限','\x20\x20lovrabet\x20mcp\x20--help\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20显示帮助信息','↑/↓:\x20移动光标\x20空格:\x20切换选中\x20a:\x20全选\x20i/r:\x20反选\x20Enter:\x20确认','输入格式:\x20输入编号,用空格分隔\x20(例如:\x201\x203\x205)','是否同时配置\x20AI\x20助手?这将:','查看可用命令。','*\x20正在处理\x20{{count}}\x20个数据集...','\x20\x20√\x20项目模板已创建','环境配置值只能是\x20\x22online\x22\x20或\x20\x22daily\x22','菜单名称','\x20\x20\x201.\x20直接指定:\x20lovrabet\x20api\x20pull\x20<app-code>','现在您可以在\x20Cursor\x20中使用\x20Lovrabet\x20数据集\x20MCP\x20工具了。','指定环境拉取\x20API','获取数据集失败:\x20{{error}}','√\x20Lovrabet\x20MCP\x20和\x20Skill\x20配置完成','正在更新菜单资源链接:\x20{{label}}\x20({{path}})','共享技能文件复制成功','正在启动开发服务器...','JS\x20链接','按任意键退出...','项目目录\x20{{name}}\x20已存在,请使用其他项目名','只生成指定数据集的文档','↑/↓:\x20移动\x20空格:\x20切换\x20a:\x20全选\x20i/r:\x20反选\x20Enter:\x20确认','请选择要配置的\x20IDE:','配置指引已显示','\x20输入项目的\x20JS\x20资源链接(https://...)','指定输出目录','\x20\x20•\x20MCP\x20服务器:','↑/↓:\x20移动\x20空格:\x20切换\x20a:\x20全选\x20q:\x20退出\x20Enter:\x20确认','*\x20暂无日志记录','配置指南:','\x0a✓\x20MCP\x20配置完成\x20({{successCount}}/{{totalCount}}\x20成功)','登录成功','{{count}}\x20个','*\x20输出目录:\x20','•\x20MCP:\x20让\x20AI\x20直接访问\x20Lovrabet\x20数据集','文档生成失败:\x20{{error}}','用法:','locale\x20配置值无效,支持的值:\x20zh,\x20en,\x20zh-CN,\x20en-US','*\x20选择要配置的\x20IDE:','\x20\x20\x20\x20→\x20交互式选择\x20IDE','\x20\x20✗\x20未知的\x20IDE:\x20{{ide}}','使用示例:','\x0a📦\x20正在配置\x20{{name}}\x20MCP...\x0a','🌐\x20正在尝试自动打开浏览器...','*\x20正在创建菜单...','配置方式:','\x0a没有有效的\x20IDE\x20需要安装\x0a','⚠️\x20以下数据集生成失败:','MCP\x20服务器\x20(AI\x20访问数据集)','{{name}}\x20技能包安装成功','×\x20文件前缀格式不正确。只能包含字母、数字、连字符和下划线,且必须以字母开头。','\x0a📋\x20请执行以下命令配置\x20Claude\x20Code\x20MCP:\x0a','配置当前项目的\x20App\x20Code','🔗\x20请手动复制登录地址到浏览器:','*\x20CSS\x20链接:\x20','未提供配置值','目录\x20\x22{{name}}\x22\x20已存在','agents.md\x20文件已存在,跳过','查看日志','\x20\x20使用\x20←→\x20返回修改选择,回车确认\x20IDE','项目名过长,最多支持\x20100\x20个字符','\x20资源正在同步中...','生成配置命令','安装技能包','\x20\x20\x20\x20$\x20lovrabet\x20mcp\x20install\x20--cursor\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20#\x20配置\x20Cursor','选项:','√\x20当前为有效会话,无需重新登录。','加载中...','输入项目的\x20JS\x20资源链接(https://...)','*\x20已生成文件:','\x20\x20lovrabet\x20skill\x20install\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20#\x20交互式选择并安装技能包','指定的数据集代码都不存在:\x20{{codes}}','创建新的\x20mcp.json\x20配置','通用模板','项目名不能为空','\x20检查中...','未提供应用AppCode,且配置中也没有默认值','未找到\x20appcode\x20配置,请先运行\x20\x27lovrabet\x20init\x27\x20初始化项目配置','显示此帮助信息','正在生成\x20{{fileName}}.md\x20({{current}}/{{total}})','安装方式:','应用AppCode长度不能超过\x20100\x20个字符','未知的\x20api\x20命令','正在登录...','[Y]\x20是,配置\x20AI\x20助手','✓\x20拉取\x20{{count}}\x20个开发者指南','项目配置','16916AYvJLx','CSS\x20链接','{{name}}\x20技能包安装失败','请选择:\x20','开发者指南位置:','配置AppCode:','*\x20开始生成\x20API\x20配置文件:','\x0a✗\x20{{ide}}\x20MCP\x20配置失败:\x20{{error}}','\x20\x20q.\x20取消\x0a','未设置','*\x20请输入新的资源链接','\x20命令重新登录','!\x20请使用以下方式之一:','\x20\x20\x20升级命令:\x20{{command}}','菜单创建成功:','开发者指南位置:\x20.lovrabet/skill/.shared/guides/','请手动执行:\x20{{command}}','\x20\x20\x20\x20→\x20直接配置\x20Cursor\x20MCP\x20(写入\x20.cursor/mcp.json)','继续更新','230ZULdSE','登录态校验失败,请使用\x20lovrabet\x20auth\x20重新登录','*\x20Lovrabet\x20CLI\x20日志记录:\x0a','CSS\x20链接无法访问','554449sxPEZg','API\x20管理','\x20\x20\x201.\x20配置默认值:\x20lovrabet\x20config\x20set\x20appcode\x20<app-code>','\x20\x20\x202.\x20使用参数:\x20lovrabet\x20api\x20doc\x20--appcode\x20<app-code>','×\x20未配置\x20AppCode','Cursor\x20MCP\x20配置失败','等待\x203\x20秒...\x0a','\x20\x20!\x20CDN\x20拉取失败,跳过指南安装:\x20{{error}}','✓\x20{{scope}}环境配置已设置为:\x20{{value}}','请使用\x20--appcode\x20参数,例如:','!\x20API\x20配置拉取异常,项目已创建,可稍后手动执行:\x20lovrabet\x20api\x20pull','\x20\x20\x20当前版本:\x20{{package}}@{{version}}','更新菜单资源失败:\x20{{error}}','请至少选择一个\x20IDE','同步菜单','*\x20使用配置的应用AppCode:\x20{{appCode}}','应用代码只能包含字母、数字、-\x20和\x20_','不支持的\x20IDE:\x20{{ide}}','应用AppCode','安装所有\x20IDE\x20技能包(包括通用模板)','按\x20“q”\x20退出。','重启\x20Claude\x20Code\x20后生效','\x20\x20√\x20package.json\x20已更新','请重启\x20Cursor\x20以加载新的\x20MCP\x20配置。','Claude\x20Code\x20MCP\x20命令已生成','拉取API配置:','启动项目:','正在生成\x20{{count}}\x20个数据集的文档...','开始配置\x20MCP','\x0a错误:\x20配置失败\x20-\x20{{error}}\x0a','上一步','√\x20检测到有效登录状态','\x20正在获取线上菜单资源链接...','正在从\x20CDN\x20拉取开发者指南(含扩展)...','登录鉴权失败,登录已过期,请使用\x20lovrabet\x20auth\x20重新登录','×\x20API\x20配置拉取异常:\x20{{error}}','未找到任何数据集','↑/↓:\x20移动光标\x20空格:\x20切换选中\x20a:\x20全选\x20i/r:\x20反选\x20q:\x20退出\x20Enter:\x20确认'];a56_0x3e01=function(){return _0x1e9b5f;};return a56_0x3e01();}(function(_0x4b3b68,_0x323f4e){var _0xdcc41a=a56_0x29bc,_0xe15604=_0x4b3b68();while(!![]){try{var _0x5aebe5=-parseInt(_0xdcc41a(0x138))/0x1+parseInt(_0xdcc41a(0xf3))/0x2+parseInt(_0xdcc41a(0x195))/0x3*(parseInt(_0xdcc41a(0x1f9))/0x4)+parseInt(_0xdcc41a(0x144))/0x5*(parseInt(_0xdcc41a(0x179))/0x6)+parseInt(_0xdcc41a(0x210))/0x7+-parseInt(_0xdcc41a(0x146))/0x8+-parseInt(_0xdcc41a(0xdc))/0x9*(parseInt(_0xdcc41a(0x20c))/0xa);if(_0x5aebe5===_0x323f4e)break;else _0xe15604['push'](_0xe15604['shift']());}catch(_0x469e56){_0xe15604['push'](_0xe15604['shift']());}}}(a56_0x3e01,0x2d61b));export default{'common':{'success':'成功','error':'错误','warning':'警告','info':'信息','loading':a56_0x339dd2(0x1e5),'cancel':'取消','confirm':'确认','next':a56_0x339dd2(0x156),'previous':a56_0x339dd2(0xcb),'finish':'完成'},'help':{'invalidCommand':a56_0x339dd2(0x168),'usageHint':'使用','viewCommands':a56_0x339dd2(0x1a6)},'cli':{'usage':'使用','examples':'示例','description':'描述'},'init':{'inputAppCode':'请输入应用代码\x20(AppCode):','appCodeDesc':'应用代码用于标识您的项目,只能包含字母、数字、-\x20和\x20_','fileExists':a56_0x339dd2(0x105),'creating':a56_0x339dd2(0x118),'success':a56_0x339dd2(0x103),'appCodeLabel':a56_0x339dd2(0x160),'nextSteps':a56_0x339dd2(0x16b),'validation':{'required':a56_0x339dd2(0x16a),'tooLong':a56_0x339dd2(0x133),'invalidFormat':a56_0x339dd2(0xbd),'invalidCode':a56_0x339dd2(0x174)}},'create':{'projectNameLabel':'项目名称','appCodeLabel':a56_0x339dd2(0xbf),'validation':{'required':a56_0x339dd2(0x1ec),'invalidChars':a56_0x339dd2(0x13a),'tooLong':a56_0x339dd2(0x1de),'dirExists':a56_0x339dd2(0x1b5),'noPermission':a56_0x339dd2(0x1a1),'projectName':{'tooLong':'项目名长度不能超过\x2050\x20个字符','invalidFormat':a56_0x339dd2(0x16f),'invalid':a56_0x339dd2(0x135),'dirExistsShort':a56_0x339dd2(0x1da)},'appCode':{'tooLong':a56_0x339dd2(0x1f3),'invalidFormat':a56_0x339dd2(0x110),'invalid':a56_0x339dd2(0x12d)},'ide':{'required':a56_0x339dd2(0xba)}},'common':{'yes':'是','no':'否','selectHint':a56_0x339dd2(0x17c)},'steps':{'pullingApi':a56_0x339dd2(0x116),'apiPullSuccess':a56_0x339dd2(0x139),'apiPullFailed':a56_0x339dd2(0x17e),'apiPullError':a56_0x339dd2(0xb7),'updatingPackage':'*\x20正在更新\x20package.json\x20的\x20name\x20和\x20description\x20字段','packageUpdated':a56_0x339dd2(0x113),'configuringAppCode':a56_0x339dd2(0xfe),'creatingConfig':a56_0x339dd2(0x13e),'configCreatedWithAppCode':'√\x20配置文件已创建,应用AppCode:\x20{{appCode}}','configCreated':a56_0x339dd2(0xe7),'configuringMcp':a56_0x339dd2(0x18c),'mcpConfigComplete':a56_0x339dd2(0x1af),'cleaningUp':a56_0x339dd2(0x112),'projectName':{'label':'项目名'},'appCode':{'label':a56_0x339dd2(0xbf),'notSet':a56_0x339dd2(0x202)},'apiPull':{'label':a56_0x339dd2(0x167)},'lovrabetSetup':{'label':a56_0x339dd2(0x15a),'ideCount':a56_0x339dd2(0x18f)},'login':{'label':'登录状态','loggedIn':a56_0x339dd2(0x147),'failed':'登录失败','skipped':a56_0x339dd2(0x129)}},'title':'*\x20创建新项目','completedStep':a56_0x339dd2(0x11b),'input':{'projectName':{'label':a56_0x339dd2(0x141),'hint':a56_0x339dd2(0x171)},'appCode':{'label':'*\x20应用AppCode\x20','optional':a56_0x339dd2(0x12f),'hint':a56_0x339dd2(0x181)}},'login':{'checking':'*\x20正在检查登录状态...','checkingStatus':a56_0x339dd2(0x1ed),'valid':a56_0x339dd2(0xcc),'notDetected':'!\x20未检测到有效登录','prompt':'*\x20是否要先登录以便拉取\x20API\x20配置?','inProgress':'*\x20正在登录,请前往浏览器完成登录...','inProgressStatus':a56_0x339dd2(0x19d)},'apiPull':{'confirm':a56_0x339dd2(0xd9),'recommendation':'\x20\x20推荐选择\x20Yes,可自动配置\x20API\x20接口'},'lovrabetSetup':{'confirm':a56_0x339dd2(0x165),'selectIdeHint':a56_0x339dd2(0x1dd),'selectIdeTitle':a56_0x339dd2(0x136),'keyboardShortcuts':a56_0x339dd2(0x1b7),'inProgress':a56_0x339dd2(0x18c),'mcpCompleted':'✓\x20MCP\x20服务器配置完成:','skillCompleted':a56_0x339dd2(0x142)},'creating':a56_0x339dd2(0xec),'display':{'projectName':a56_0x339dd2(0x194),'appCode':a56_0x339dd2(0x109)},'packageJson':{'updating':a56_0x339dd2(0xef),'updated':'√\x20package.json\x20已更新:\x20name={{name}}'},'config':{'configuringAppCode':a56_0x339dd2(0xfe),'creating':a56_0x339dd2(0x13e),'createdWithAppCode':'√\x20配置文件已创建,应用AppCode:\x20{{appCode}}','createdWithoutAppCode':a56_0x339dd2(0xe7)},'cleanup':{'inProgress':a56_0x339dd2(0x112)},'results':{'mcpComplete':a56_0x339dd2(0x10e),'skillComplete':'✓\x20Skill\x20安装完成:','nextSteps':a56_0x339dd2(0x13b)},'nextSteps':{'configureMcpAndSkill':'1.\x20配置\x20Lovrabet\x20MCP\x20和\x20Skill','skill':a56_0x339dd2(0xf1),'mcp':a56_0x339dd2(0x1bc),'startProject':a56_0x339dd2(0xc7),'pullApi':a56_0x339dd2(0xc6),'configAppCode':a56_0x339dd2(0x1fe)},'errors':{'createFailed':'×\x20项目创建失败:\x20{{error}}','cleanupFailed':'清理项目目录失败','depsInstallFailed':'依赖安装失败:\x20{{error}}'},'nonInteractive':{'creating':a56_0x339dd2(0x120),'templateCreated':a56_0x339dd2(0x1a8),'packageJsonUpdated':a56_0x339dd2(0xc3),'installingDeps':a56_0x339dd2(0xe0),'depsSkipped':'\x20\x20√\x20依赖安装跳过(非交互模式)','codeFormatted':'\x20\x20√\x20代码已格式化','envConfigured':a56_0x339dd2(0x180),'success':a56_0x339dd2(0x18a)},'tasks':{'copyFiles':'复制项目文件','formatCode':a56_0x339dd2(0xe3),'installDependencies':'安装依赖'},'nextStepsAlt':{'startProject':a56_0x339dd2(0x145),'pullApi':'拉取API配置:\x20','configureLovrabet':'1.\x20配置\x20Lovrabet\x20MCP\x20和\x20Skill'}},'config':{'title':a56_0x339dd2(0x1f8),'help':{'invalidCommand':a56_0x339dd2(0x15d),'examples':a56_0x339dd2(0x137),'set':'设置配置项','get':a56_0x339dd2(0x148),'list':a56_0x339dd2(0x149),'exampleApp':a56_0x339dd2(0x1d6),'exampleEnv':'设置环境\x20(online/daily)','exampleLocale':'设置显示语言\x20(zh/en)'},'validation':{'envInvalid':a56_0x339dd2(0x1a9),'localeInvalid':a56_0x339dd2(0x1c7),'valueInvalid':a56_0x339dd2(0x153),'noValue':a56_0x339dd2(0x1d9),'saveFailed':a56_0x339dd2(0x11e)},'success':{'envSet':a56_0x339dd2(0x218),'localeSet':a56_0x339dd2(0x17d)},'scope':{'project':'项目','global':'全局'}},'api':{'title':a56_0x339dd2(0x211),'pull':a56_0x339dd2(0x12b),'doc':a56_0x339dd2(0x143),'help':{'title':'lovrabet\x20api\x20-\x20API\x20相关操作','usage':'用法:','options':a56_0x339dd2(0x1e3),'optAppcode':a56_0x339dd2(0x178),'optOutput':'指定输出目录(pull:\x20./src/api/,doc:\x20./docs)','optEnv':'指定环境(如:daily、online)','optDatasetcode':a56_0x339dd2(0x173),'optHelp':a56_0x339dd2(0x1f0),'examples':a56_0x339dd2(0x19e),'pullDesc':'拉取并生成\x20API\x20配置文件','pullAppcode':a56_0x339dd2(0x10c),'pullOutput':a56_0x339dd2(0x1bb),'pullEnv':a56_0x339dd2(0x1ad),'docDesc':'生成所有数据集的文档','docAppcode':a56_0x339dd2(0x10c),'docOutput':'指定文档输出目录','docEnv':a56_0x339dd2(0x131),'docDataset':a56_0x339dd2(0x1b6),'docDatasets':a56_0x339dd2(0x125),'unknownCommand':a56_0x339dd2(0x1f4),'availableCommands':'可用命令:'},'common':{'noPositionalArgs':a56_0x339dd2(0xd8),'useAppcodeFlag':a56_0x339dd2(0x219),'noAppCode':a56_0x339dd2(0x214),'noAppCodeHint':a56_0x339dd2(0x205),'noAppCodeOption1':a56_0x339dd2(0x212),'noAppCodeOption2Pull':'\x20\x20\x202.\x20使用参数:\x20lovrabet\x20api\x20pull\x20--appcode\x20<app-code>','noAppCodeOption2Doc':a56_0x339dd2(0x213),'usingConfigAppCode':a56_0x339dd2(0xbc),'usingConfigAppCodeHint':'\x20\x20(注:\x20--appcode\x20参数与配置一致,将使用默认配置)','usingSpecifiedAppCode':a56_0x339dd2(0x19c),'usingDefaultAppCode':a56_0x339dd2(0x182),'noAppCodeDefault':a56_0x339dd2(0x1ee),'paramsInvalidJson':a56_0x339dd2(0x11c),'paramsNotJson':'×\x20--params\x20参数不是有效的\x20JSON\x20格式','paramsError':'\x20\x20错误:\x20{{error}}','datasetcodeEmpty':'×\x20--datasetcode\x20参数不能为空','onlyGenerateDatasets':'*\x20仅生成指定数据集的文档:\x20{{codes}}','authExpired':a56_0x339dd2(0xcf),'authRetry':'重新登录后再试','unknownError':a56_0x339dd2(0x191)},'pullUI':{'fetching':'🚀\x20正在从服务器拉取\x20API\x20配置...\x20(环境:\x20{{env}})','successPull':a56_0x339dd2(0xf2),'duplicateInfo':'!\x20原始数据集\x20{{originalCount}}\x20个,过滤重复\x20{{duplicateCount}}\x20个','generatedFiles':a56_0x339dd2(0x1e7),'modelFile':a56_0x339dd2(0xf4),'clientFile':'-\x20客户端实例文件','importHint':'*\x20导入方式:','pullFailed':'拉取\x20API\x20配置失败:\x20{{error}}'},'docUI':{'fetchingDatasets':a56_0x339dd2(0x150),'noDatasets':a56_0x339dd2(0xd1),'datasetsNotFound':'!\x20以下数据集代码不存在:\x20{{codes}}','allDatasetsNotFound':a56_0x339dd2(0x1e9),'filteredDatasets':'*\x20从\x20{{total}}\x20个数据集中筛选出\x20{{count}}\x20个匹配的数据集','generatingDocs':a56_0x339dd2(0xc8),'generatingFile':a56_0x339dd2(0x1f1),'docComplete':'√\x20文档生成完成!成功\x20{{successCount}}\x20个','docFailed':a56_0x339dd2(0x161),'processedDatasets':a56_0x339dd2(0x12e),'outputDir':a56_0x339dd2(0x1c3),'generatedDocs':'*\x20生成的文档文件:','failedDatasets':a56_0x339dd2(0x1d1),'docGenerateFailed':a56_0x339dd2(0x1c5)},'fetchModel':{'fetching':a56_0x339dd2(0x10d),'httpError':a56_0x339dd2(0x183),'fetchError':a56_0x339dd2(0x1ae)},'generateFile':{'noAppCode':a56_0x339dd2(0x10b)},'docBatch':{'totalDatasets':'\x0a共有\x20{{count}}\x20个数据集需要生成文档\x0a','generating':a56_0x339dd2(0x122),'success':'✓\x20成功生成:\x20{{fileName}}.md','failed':a56_0x339dd2(0x11a),'waiting':a56_0x339dd2(0x216),'docFormatError':a56_0x339dd2(0x198),'httpError':a56_0x339dd2(0x170)},'silent':{'invalidPrefix':a56_0x339dd2(0x1d4),'fetching':a56_0x339dd2(0xd4),'generating':a56_0x339dd2(0x1ff),'modelFileName':a56_0x339dd2(0xde),'clientFileName':a56_0x339dd2(0x151),'processing':a56_0x339dd2(0x1a7),'success':a56_0x339dd2(0xf2),'error':a56_0x339dd2(0xd0)}},'auth':{'title':a56_0x339dd2(0x100),'login':{'success':{'title':a56_0x339dd2(0x1c1),'message':a56_0x339dd2(0x162),'manualClose':'无法自动关闭窗口,请手动关闭此标签页或窗口。'},'successCli':a56_0x339dd2(0x19a),'inProgress':a56_0x339dd2(0x1f5),'browserPrompt':'请前往浏览器完成登录。','pressEnter':a56_0x339dd2(0x117),'pressQToExit':a56_0x339dd2(0xc1)},'session':{'valid':a56_0x339dd2(0x1e4)},'server':{'starting':'🔐\x20正在启动登录服务...','loginUrl':'📍\x20登录地址:','openingBrowser':a56_0x339dd2(0x1cd),'manualOpenHint':a56_0x339dd2(0x104),'browserOpened':a56_0x339dd2(0x14b),'browserOpenFailed':'⚠️\x20\x20无法自动打开浏览器','manualCopyUrl':a56_0x339dd2(0x1d7)},'logout':{'success':a56_0x339dd2(0x13f),'notLoggedIn':'!\x20当前未登录'}},'menu':{'sync':a56_0x339dd2(0xbb),'update':a56_0x339dd2(0x12c)},'mcp':{'cursor':a56_0x339dd2(0x196),'claude':a56_0x339dd2(0x107),'error':{'unsupportedCommand':a56_0x339dd2(0x186),'missingAppcode':a56_0x339dd2(0x1ef)},'help':{'title':'Lovrabet\x20MCP\x20-\x20MCP\x20服务器配置工具','availableCommands':a56_0x339dd2(0xeb),'command':{'install':a56_0x339dd2(0x12a),'help':a56_0x339dd2(0x126)},'usage':{'help':a56_0x339dd2(0x1a2),'install':a56_0x339dd2(0x15e),'installCursor':'\x20\x20lovrabet\x20mcp\x20install\x20--cursor\x20\x20\x20\x20直接配置\x20Cursor\x20MCP','installClaude':a56_0x339dd2(0x190)},'configMethods':a56_0x339dd2(0x1cf),'configMethodsInteractive':a56_0x339dd2(0x187),'configMethodsInteractiveHint':'\x20\x20\x20\x20→\x20输入编号选择\x20IDE','configMethodsDirect':a56_0x339dd2(0xff),'configMethodsDirectCursor':a56_0x339dd2(0x1e2),'configMethodsDirectClaude':a56_0x339dd2(0x184),'supportedIDEs':a56_0x339dd2(0x17b),'examples':a56_0x339dd2(0xfb),'exampleInstall':a56_0x339dd2(0x132),'exampleInstallHint':'\x20\x20\x20\x20→\x20交互式选择\x20IDE','exampleInstallCursor':a56_0x339dd2(0x1a0),'exampleInstallCursorHint':a56_0x339dd2(0x20a),'configGuide':a56_0x339dd2(0x1bf)},'select':{'chooseIDE':a56_0x339dd2(0xfd),'cancel':a56_0x339dd2(0x201),'enterNumber':'请输入编号选择\x20IDE:\x0a','prompt':a56_0x339dd2(0x1fc),'cancelled':a56_0x339dd2(0xd5),'invalidChoice':a56_0x339dd2(0x128)},'installFlow':{'configuring':a56_0x339dd2(0x1cc),'error':a56_0x339dd2(0xca)},'cursorConfig':{'success':a56_0x339dd2(0xf6),'configInfo':a56_0x339dd2(0x10a),'usageHint':a56_0x339dd2(0x1ac),'restartRequired':a56_0x339dd2(0xc4),'error':a56_0x339dd2(0xca),'rules':{'exists':a56_0x339dd2(0x157),'created':'创建\x20Cursor\x20Rules\x20文件','copyFailed':a56_0x339dd2(0x18b)},'updateExisting':a56_0x339dd2(0x19b),'createNew':a56_0x339dd2(0x1ea),'written':a56_0x339dd2(0x155)},'claudeConfig':{'error':a56_0x339dd2(0xca),'agents':{'exists':a56_0x339dd2(0x1db),'created':a56_0x339dd2(0xe8),'copyFailed':a56_0x339dd2(0xed)},'manualCommand':a56_0x339dd2(0x188),'configInfo':a56_0x339dd2(0x10a),'restartRequired':a56_0x339dd2(0xc2),'commandGenerated':a56_0x339dd2(0x1e0)},'other':{'configInfo':'配置信息:\x20appcode={{appcode}},\x20env={{env}}','configGuide':a56_0x339dd2(0x172),'guideShown':'其他\x20IDE\x20配置指引已显示'},'config':{'env':a56_0x339dd2(0x189)},'install':{'starting':a56_0x339dd2(0xc9),'unknownIDE':'未知的\x20IDE:\x20{{ide}}','otherIDE':a56_0x339dd2(0x140),'success':a56_0x339dd2(0xf7),'failed':a56_0x339dd2(0x200),'completed':a56_0x339dd2(0x1c0),'manualActionRequired':'\x0a注意:部分配置需要手动执行命令,请按照上述说明操作'},'ui':{'otherIDE':'其他\x20IDE','otherIDEDescription':a56_0x339dd2(0xfa),'selectAtLeastOne':a56_0x339dd2(0xba),'selectedIDE':'已选择\x20IDE','count':a56_0x339dd2(0x1c2),'title':a56_0x339dd2(0x13d),'configuring':a56_0x339dd2(0x123),'completed':a56_0x339dd2(0x18e),'partialManual':'⚠️\x20部分配置需要手动完成','failed':'✗\x20配置失败','manualRequired':a56_0x339dd2(0x152),'pressAnyKeyToExit':a56_0x339dd2(0x1b4),'unsupportedIDE':a56_0x339dd2(0xbe)}},'aiSetup':{'error':{'missingAppcode':a56_0x339dd2(0x106)},'mcp':{'cursor':{'success':a56_0x339dd2(0x11f),'written':a56_0x339dd2(0x155),'error':a56_0x339dd2(0x215),'rules':{'created':'创建\x20Cursor\x20Rules\x20文件','copyFailed':a56_0x339dd2(0x18b)}},'claude':{'commandGenerated':a56_0x339dd2(0xc5),'manualCommand':a56_0x339dd2(0x1d5),'configInfo':a56_0x339dd2(0x10a),'env':a56_0x339dd2(0x164),'restartRequired':a56_0x339dd2(0x163),'manualExecute':a56_0x339dd2(0x209),'agents':{'created':a56_0x339dd2(0xe8),'copyFailed':a56_0x339dd2(0xed)}},'other':{'name':'其他','title':a56_0x339dd2(0x15c),'guideShown':a56_0x339dd2(0x1b9)},'unsupportedIDE':a56_0x339dd2(0x14d)},'skill':{'unknownIDE':a56_0x339dd2(0x130),'installSuccess':a56_0x339dd2(0x1d3),'itemsCreated':a56_0x339dd2(0xf8),'installFailed':a56_0x339dd2(0x1fb),'sharedCopied':a56_0x339dd2(0x1b1),'sharedCopyFailed':'共享技能文件复制失败','manifestCreated':a56_0x339dd2(0x18d)},'ui':{'selectAtLeastOne':'请至少选择一个配置项','confirm':{'title':a56_0x339dd2(0x1a5),'mcpDescription':a56_0x339dd2(0x1c4),'skillDescription':a56_0x339dd2(0x177),'yes':a56_0x339dd2(0x1f6),'no':'[N]\x20跳过,稍后手动配置','default':a56_0x339dd2(0x154)},'select':{'title':a56_0x339dd2(0x1c8),'mcpSection':a56_0x339dd2(0x1d2),'skillSection':'技能包\x20(研发规范指南)','controls':a56_0x339dd2(0x1bd)},'installing':a56_0x339dd2(0x10f)}},'appMenu':{'error':{'missingAppCode':a56_0x339dd2(0x1ee),'appCodeHint':{'title':a56_0x339dd2(0x205),'option1':a56_0x339dd2(0x1ab),'option2':a56_0x339dd2(0x16d)},'authExpired':'登录鉴权失败,登录已过期,请使用\x20lovrabet\x20auth\x20重新登录','authValidationFailed':a56_0x339dd2(0x20d),'httpStatus':'获取菜单列表失败,HTTP状态码:\x20{{status}}','fetchFailed':'获取菜单列表失败:\x20{{error}}','createHttpStatus':a56_0x339dd2(0x124),'createFailed':a56_0x339dd2(0xe1)},'info':{'emptyMenuList':a56_0x339dd2(0x127)},'success':{'fetched':a56_0x339dd2(0x166),'created':a56_0x339dd2(0x207)},'fetching':{'online':a56_0x339dd2(0xdb),'daily':a56_0x339dd2(0x17a)},'creating':{'single':'正在创建菜单:\x20{{label}}\x20({{path}})','batch':{'start':a56_0x339dd2(0xf9),'completed':a56_0x339dd2(0x192)}},'sync':{'title':'*\x20同步菜单到\x20Lovrabet\x20平台','table':{'menuName':a56_0x339dd2(0x1aa),'local':'本地','lovrabetPlatform':'Lovrabet平台'},'error':{'noMenuSelected':a56_0x339dd2(0x101),'invalidJsUrl':'请输入有效的\x20JS\x20https\x20链接','jsUrlUnreachable':'JS\x20链接无法访问','invalidCssUrl':a56_0x339dd2(0x14a),'cssUrlUnreachable':a56_0x339dd2(0x20f),'createMenuFailed':a56_0x339dd2(0x16c),'authHint':{'prefix':a56_0x339dd2(0x16e),'suffix':a56_0x339dd2(0x204)},'noLocalPages':a56_0x339dd2(0xee)},'step':{'selectedMenus':a56_0x339dd2(0x14c),'selectedMenusCount':a56_0x339dd2(0x1c2),'jsUrl':a56_0x339dd2(0x1b3),'cssUrl':a56_0x339dd2(0x1fa),'selectMenus':a56_0x339dd2(0xf0),'creating':a56_0x339dd2(0x1ce),'completed':'√\x20菜单创建完成'},'operation':{'update':'更新','create':'新建'},'loading':{'fetchingMenuList':a56_0x339dd2(0x197)},'hotkeys':a56_0x339dd2(0x1a3),'input':{'jsUrl':{'label':a56_0x339dd2(0x114),'placeholder':a56_0x339dd2(0x1ba)},'cssUrl':{'label':a56_0x339dd2(0x1d8),'placeholder':'\x20输入项目的\x20CSS\x20资源链接(https://...)'}}},'updateCdn':{'title':a56_0x339dd2(0x203),'error':{'invalidJsUrl':'请输入有效的\x20JS\x20https\x20链接','jsUrlUnreachable':a56_0x339dd2(0xe4),'invalidCssUrl':a56_0x339dd2(0x14a),'cssUrlUnreachable':a56_0x339dd2(0x20f),'authHint':{'prefix':a56_0x339dd2(0x16e),'suffix':'\x20命令重新登录'},'noCdnLinks':'!\x20未找到菜单资源链接','updateFailed':a56_0x339dd2(0xb9)},'loading':{'fetching':a56_0x339dd2(0xcd),'syncing':a56_0x339dd2(0x1df)},'action':{'continue':a56_0x339dd2(0x20b),'cancel':'取消更新'},'success':{'updated':'√\x20更新成功','synced':'菜单资源同步成功:\x20{{label}}'},'updating':a56_0x339dd2(0x1b0),'preview':{'title':a56_0x339dd2(0x111),'menuList':'待更新的菜单列表:','resourceLinks':'待更新的资源链接:'},'input':{'title':a56_0x339dd2(0xe9),'jsUrl':{'label':'JS\x20链接:\x20','placeholder':a56_0x339dd2(0x1e6)},'cssUrl':{'label':a56_0x339dd2(0x169),'placeholder':'输入项目的\x20CSS\x20资源链接(https://...)'}}}},'skill':{'install':a56_0x339dd2(0x1e1),'error':{'unsupportedCommand':a56_0x339dd2(0x186),'installFailed':a56_0x339dd2(0x199),'unknownPlatform':'⚠️\x20\x20未知的平台:\x20{{ide}},使用通用模板','unknownIDE':a56_0x339dd2(0x1ca),'noValidIDE':a56_0x339dd2(0x1d0),'selectAtLeastOne':a56_0x339dd2(0xba)},'errorHint':{'availableCommands':a56_0x339dd2(0xeb),'installInteractive':a56_0x339dd2(0x1e8),'installDirect':'\x20\x20lovrabet\x20skill\x20install\x20<ide>\x20\x20\x20\x20\x20#\x20直接安装指定\x20IDE\x20的技能包','showHelp':a56_0x339dd2(0x175),'usageExamples':a56_0x339dd2(0x1cb),'exampleInteractive':a56_0x339dd2(0x115),'exampleDirect':a56_0x339dd2(0x193)},'select':{'title':a56_0x339dd2(0x158),'installAll':a56_0x339dd2(0xd6),'cancel':'取消','inputFormat':a56_0x339dd2(0x1a4),'inputHint':a56_0x339dd2(0x14e),'prompt':'请选择:\x20','cancelled':a56_0x339dd2(0x185),'noneSelected':'\x0a未选择任何\x20IDE,安装取消\x0a','selectedIDE':'已选择\x20IDE','count':a56_0x339dd2(0x1c2)},'cdn':{'fetching':'正在从\x20CDN\x20拉取开发者指南...','fetchingExtend':a56_0x339dd2(0xce),'fetchSuccess':a56_0x339dd2(0x1f7),'fetchFailed':a56_0x339dd2(0x217)},'installing':{'title':'安装\x20Lovrabet\x20技能包\x20-\x20选择\x20IDE','progress':a56_0x339dd2(0xe2),'ide':a56_0x339dd2(0xf5),'installed':a56_0x339dd2(0x11d),'created':'\x20\x20✓\x20创建\x20{{path}}','createdDir':a56_0x339dd2(0xfc),'createdManifest':'✓\x20创建\x20.lovrabet/skill-manifest.json'},'done':{'success':a56_0x339dd2(0xd3),'successInline':a56_0x339dd2(0x102),'guidesLocation':a56_0x339dd2(0x1fd),'guidesPath':'\x20\x20.lovrabet/skill/.shared/guides/\x20-\x20详细开发指南\x0a','guidesPathInline':a56_0x339dd2(0x208),'pressAnyKey':a56_0x339dd2(0x1b4)},'generic':a56_0x339dd2(0x1eb),'help':{'title':a56_0x339dd2(0x108),'usage':a56_0x339dd2(0x1c6),'showHelp':a56_0x339dd2(0xdf),'installInteractive':a56_0x339dd2(0xdd),'installDirect':'直接安装指定\x20IDE\x20的技能包','installAll':a56_0x339dd2(0x15b),'installWithBff':a56_0x339dd2(0xda),'installMethods':a56_0x339dd2(0x1f2),'interactiveSelect':'\x20\x20交互式选择\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20-\x20显示\x20IDE\x20列表供选择,支持多选','interactiveKeys':a56_0x339dd2(0x13c),'directInstall':a56_0x339dd2(0xe6),'bffWorkflow':a56_0x339dd2(0x15f),'supportedIDEs':a56_0x339dd2(0x17b),'agentDesc':a56_0x339dd2(0x159),'allDesc':a56_0x339dd2(0xc0),'options':a56_0x339dd2(0x134),'bffOption':a56_0x339dd2(0x17f),'skillContents':'技能包内容包括:','skillContentsList':'\x20\x20-\x20Filter\x20查询构建规范\x20(10\x20种常见错误对照)\x0a\x20\x20-\x20MCP\x20SQL\x20创建工作流\x20(5\x20步强制流程)\x0a\x20\x20-\x20AntD\x20UI\x20开发规范\x20(禁止\x20AI\x20味道)\x0a\x20\x20-\x20API\x20集成指南\x20(lovrabet\x20api\x20pull\x20流程)\x0a\x20\x20-\x20菜单管理指南\x20(menu\x20sync/update\x20流程)\x0a\x20\x20-\x20Backend\x20Function\x20脚本编写规范\x20(权限过滤、数据脱敏、业务逻辑)\x0a\x20\x20-\x20Backend\x20Function\x20同步工作流\x20(需\x20--dangerously-bff-save\x20启用)','examples':a56_0x339dd2(0xfb),'exampleInteractive':a56_0x339dd2(0x1c9),'exampleDirectDesc':'\x20\x20\x20\x20→\x20直接安装\x20Cursor\x20和\x20claude\x20code\x20技能包','exampleBffDesc':'\x20\x20\x20\x20→\x20安装技能包并包含\x20Backend\x20Function\x20同步工作流','exampleAllDesc':'\x20\x20\x20\x20→\x20安装所有\x20IDE\x20技能包','afterInstall':'安装后会在项目中创建:','afterInstallList':a56_0x339dd2(0xe5),'guidesLocationTitle':a56_0x339dd2(0x1fd)}},'logs':{'title':'日志','view':a56_0x339dd2(0x1dc),'clear':'清空日志','noLogs':a56_0x339dd2(0x1be),'header':a56_0x339dd2(0x20e),'time':a56_0x339dd2(0x121),'duration':a56_0x339dd2(0xd7),'details':'\x20\x20\x20详情:\x20{{details}}','cleared':'*\x20日志已清空'},'start':{'starting':a56_0x339dd2(0x1b2)},'build':{'building':'正在构建项目...'},'preview':{'previewing':a56_0x339dd2(0xea),'watchMode':a56_0x339dd2(0x14f)},'ui':{'ideSelector':{'title':a56_0x339dd2(0x1b8),'hotkeys':a56_0x339dd2(0xd2)}},'upgrade':{'cli':{'title':a56_0x339dd2(0x19f),'current':a56_0x339dd2(0x119),'stable':a56_0x339dd2(0x176),'command':a56_0x339dd2(0x206)},'sdk':{'title':'↪\x20SDK\x20版本更新','current':a56_0x339dd2(0xb8),'stable':a56_0x339dd2(0x176),'command':a56_0x339dd2(0x206)}}};
|
package/lib/init/main.js
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
|
|
1
|
+
(function(_0xe99bc6,_0x574dbf){const _0x4ce6d7=a57_0x20aa,_0x25a51b=_0xe99bc6();while(!![]){try{const _0x32b728=parseInt(_0x4ce6d7(0xa6))/0x1*(-parseInt(_0x4ce6d7(0xba))/0x2)+parseInt(_0x4ce6d7(0xa3))/0x3+parseInt(_0x4ce6d7(0xc0))/0x4+-parseInt(_0x4ce6d7(0xb3))/0x5+parseInt(_0x4ce6d7(0xb8))/0x6*(parseInt(_0x4ce6d7(0xcf))/0x7)+parseInt(_0x4ce6d7(0xa2))/0x8*(parseInt(_0x4ce6d7(0xbe))/0x9)+-parseInt(_0x4ce6d7(0xa7))/0xa*(parseInt(_0x4ce6d7(0x9f))/0xb);if(_0x32b728===_0x574dbf)break;else _0x25a51b['push'](_0x25a51b['shift']());}catch(_0x3f2ce9){_0x25a51b['push'](_0x25a51b['shift']());}}}(a57_0x10cd,0xafd7b));import{jsxs as a57_0x3f9ad5,jsx as a57_0x15436b}from'react/jsx-runtime';function a57_0x10cd(){const _0x2df810=['1412274goiwzp','init.appCodeDesc','29914cpsmia','init.nextSteps','trim','backspace','144TTDAiO','green','3989060anhMij','length','init.validation.invalidCode','cwd','创建配置文件失败','env','message','column','init','red','ctrl','cyan','toLocaleString','\x20←\x20','init.appCodeLabel','7iwtotu','12395141qBqABC','1.0.0','package.json','495912LcwEdw','2944491POHLcA','test','init.validation.required','68ySmARx','10lYeKWb','error','init.inputAppCode','stringify','../..','utf8','init.validation.invalidFormat','online','gray','初始化项目配置文件成功','exit','common.error','1709035yVDuSz','parse','init.fileExists','string','slice'];a57_0x10cd=function(){return _0x2df810;};return a57_0x10cd();}import{useState,useEffect}from'react';import{Box,Text,useInput}from'ink';import{existsSync,writeFileSync,readFileSync}from'node:fs';import{resolve,join,dirname}from'node:path';import{fileURLToPath}from'node:url';function a57_0x20aa(_0x1fd054,_0x4a2931){_0x1fd054=_0x1fd054-0x9f;const _0x10cd4d=a57_0x10cd();let _0x20aa2a=_0x10cd4d[_0x1fd054];return _0x20aa2a;}import{logger}from'../utils/logger.js';import{readConfig}from'../utils/config.js';import{useI18n}from'../i18n/hooks.js';export function Init({appcode:_0x4b4ac5,env:_0x53d64c}){const _0x8e8c9d=a57_0x20aa,{t:_0x1ff249}=useI18n(),[_0xba04c0,_0x6ab65b]=useState(null),[_0x39ca17,_0x59496f]=useState(![]),[_0x4edeef,_0x5cfe03]=useState(!_0x4b4ac5),[_0x59914c,_0x590457]=useState(''),[_0x2b0f43,_0x44371f]=useState(''),[_0x15498d,_0x3459bb]=useState(_0x4b4ac5||''),[_0x3fc3a9]=useState(_0x53d64c);function _0x1bd166(_0x159b76){const _0x400831=a57_0x20aa;if(_0x159b76['length']===0x0)return{'valid':![],'message':''};if(_0x159b76['length']>0x64)return{'valid':![],'message':_0x1ff249('init.validation.tooLong')};const _0x175735=/^[A-Za-z0-9_-]+$/;if(!_0x175735[_0x400831(0xa4)](_0x159b76))return{'valid':![],'message':_0x1ff249(_0x400831(0xad))};return{'valid':!![]};}useInput((_0x5a9c01,_0x57e516)=>{const _0xb36c32=a57_0x20aa;if(!_0x4edeef)return;if(_0x57e516['return']){if(_0x2b0f43||!_0x59914c[_0xb36c32(0xbc)]()){_0x44371f(_0x1ff249(_0xb36c32(0xa5)));return;}const _0x534b17=_0x59914c['trim'](),{valid:_0x55ce52,message:_0x11d1d9}=_0x1bd166(_0x534b17);if(!_0x55ce52){_0x44371f(_0x11d1d9||_0x1ff249(_0xb36c32(0xc2)));return;}_0x3459bb(_0x534b17),_0x5cfe03(![]);}else{if(_0x57e516[_0xb36c32(0xbd)]||_0x57e516['delete'])_0x590457(_0x215a70=>{const _0x2dc3a0=_0xb36c32,_0x547b76=_0x215a70[_0x2dc3a0(0xb7)](0x0,-0x1);if(_0x547b76[_0x2dc3a0(0xc1)]===0x0)_0x44371f('');else{const {valid:_0x3292b7,message:_0x229710}=_0x1bd166(_0x547b76);_0x44371f(_0x3292b7?'':_0x229710||_0x1ff249('init.validation.invalidCode'));}return _0x547b76;});else _0x57e516[_0xb36c32(0xca)]&&_0x5a9c01==='c'?process[_0xb36c32(0xb1)](0x0):_0x590457(_0x30da24=>{const _0x2c37bc=_0x30da24+_0x5a9c01,{valid:_0x2303d3,message:_0x36ec78}=_0x1bd166(_0x2c37bc);return _0x44371f(_0x2303d3?'':_0x36ec78||_0x1ff249('init.validation.invalidCode')),_0x2c37bc;});}},{'isActive':_0x4edeef}),useEffect(()=>{const _0x10a32c=a57_0x20aa;if(!_0x15498d||_0x4edeef)return;const _0x3fb2f4=resolve(process[_0x10a32c(0xc3)](),'.lovrabetrc');if(existsSync(_0x3fb2f4)){_0x6ab65b(_0x1ff249(_0x10a32c(0xb5))),setTimeout(()=>process['exit'](0x1),0x64);return;}try{const _0x2ee2f5=fileURLToPath(import.meta.url),_0x3a3787=resolve(dirname(_0x2ee2f5),_0x10a32c(0xab)),_0x3565fc=join(_0x3a3787,_0x10a32c(0xa1));let _0x42a261=_0x10a32c(0xa0);try{const _0x3a14a9=JSON[_0x10a32c(0xb4)](readFileSync(_0x3565fc,'utf8'));_0x42a261=_0x3a14a9['version']||'1.0.0';}catch(_0x21a556){}const _0x14fc43=readConfig(),_0x4b8631=typeof _0x14fc43[_0x10a32c(0xc5)]===_0x10a32c(0xb6)?_0x14fc43['env']:undefined,{app:_0xbab41b,appcode:_0x1b1c32,..._0x4379cb}=_0x14fc43,_0x2f91a5={..._0x4379cb,'appcode':_0x15498d,'env':_0x3fc3a9||_0x4b8631||_0x10a32c(0xae),'createdAt':new Date()[_0x10a32c(0xcc)](),'version':_0x42a261};writeFileSync(_0x3fb2f4,JSON[_0x10a32c(0xaa)](_0x2f91a5,null,0x2),{'encoding':_0x10a32c(0xac),'mode':0x180}),logger['setLogPath'](process[_0x10a32c(0xc3)]()),logger['info'](_0x10a32c(0xc8),_0x10a32c(0xb0),{'appcode':_0x15498d,'env':_0x2f91a5[_0x10a32c(0xc5)],'version':_0x2f91a5['version'],'configPath':_0x3fb2f4}),_0x59496f(!![]),setTimeout(()=>process[_0x10a32c(0xb1)](0x0),0x64);}catch(_0x675998){logger[_0x10a32c(0xa8)]('init',_0x10a32c(0xc4),{'error':_0x675998 instanceof Error?_0x675998['message']:String(_0x675998)}),_0x6ab65b(_0x1ff249(_0x10a32c(0xb2))+':\x20'+(_0x675998 instanceof Error?_0x675998[_0x10a32c(0xc6)]:String(_0x675998))),setTimeout(()=>process[_0x10a32c(0xb1)](0x1),0x64);}},[_0x15498d,_0x4edeef,_0x3fc3a9]);if(_0xba04c0)return a57_0x15436b(Box,{'flexDirection':'column','children':a57_0x3f9ad5(Text,{'color':_0x8e8c9d(0xc9),'children':['✗\x20',_0xba04c0]})});if(_0x4edeef)return a57_0x3f9ad5(Box,{'flexDirection':_0x8e8c9d(0xc7),'children':[a57_0x3f9ad5(Box,{'children':[a57_0x3f9ad5(Text,{'color':_0x8e8c9d(0xcb),'children':[_0x1ff249(_0x8e8c9d(0xa9)),'\x20']}),_0x59914c?a57_0x15436b(Text,{'color':_0x8e8c9d(0xbf),'children':_0x59914c}):a57_0x15436b(Text,{'color':'gray','children':'_'}),_0x2b0f43&&a57_0x3f9ad5(Text,{'color':_0x8e8c9d(0xc9),'children':[_0x8e8c9d(0xcd),_0x2b0f43]})]}),!_0x2b0f43&&!_0x59914c&&a57_0x15436b(Box,{'children':a57_0x15436b(Text,{'color':_0x8e8c9d(0xaf),'children':_0x1ff249(_0x8e8c9d(0xb9))})})]});if(_0x39ca17)return a57_0x3f9ad5(Box,{'flexDirection':_0x8e8c9d(0xc7),'children':[a57_0x3f9ad5(Text,{'color':'green','children':['✓\x20',_0x1ff249('init.success')]}),a57_0x3f9ad5(Text,{'color':'cyan','children':[_0x1ff249(_0x8e8c9d(0xce)),':\x20',_0x15498d]}),a57_0x15436b(Text,{'children':_0x1ff249(_0x8e8c9d(0xbb))})]});return a57_0x15436b(Box,{'children':a57_0x15436b(Text,{'children':_0x1ff249('init.creating')})});}
|