@univerjs-pro/mcp-ui 0.10.6-experimental.20250903-f52e3bf

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (67) hide show
  1. package/README.md +16 -0
  2. package/lib/cjs/index.js +1 -0
  3. package/lib/cjs/locale/ca-ES.js +1 -0
  4. package/lib/cjs/locale/en-US.js +1 -0
  5. package/lib/cjs/locale/es-ES.js +1 -0
  6. package/lib/cjs/locale/fa-IR.js +1 -0
  7. package/lib/cjs/locale/fr-FR.js +1 -0
  8. package/lib/cjs/locale/ko-KR.js +1 -0
  9. package/lib/cjs/locale/ru-RU.js +1 -0
  10. package/lib/cjs/locale/vi-VN.js +1 -0
  11. package/lib/cjs/locale/zh-CN.js +1 -0
  12. package/lib/cjs/locale/zh-TW.js +1 -0
  13. package/lib/es/index.js +1 -0
  14. package/lib/es/locale/ca-ES.js +1 -0
  15. package/lib/es/locale/en-US.js +1 -0
  16. package/lib/es/locale/es-ES.js +1 -0
  17. package/lib/es/locale/fa-IR.js +1 -0
  18. package/lib/es/locale/fr-FR.js +1 -0
  19. package/lib/es/locale/ko-KR.js +1 -0
  20. package/lib/es/locale/ru-RU.js +1 -0
  21. package/lib/es/locale/vi-VN.js +1 -0
  22. package/lib/es/locale/zh-CN.js +1 -0
  23. package/lib/es/locale/zh-TW.js +1 -0
  24. package/lib/index.js +1 -0
  25. package/lib/locale/ca-ES.js +1 -0
  26. package/lib/locale/en-US.js +1 -0
  27. package/lib/locale/es-ES.js +1 -0
  28. package/lib/locale/fa-IR.js +1 -0
  29. package/lib/locale/fr-FR.js +1 -0
  30. package/lib/locale/ko-KR.js +1 -0
  31. package/lib/locale/ru-RU.js +1 -0
  32. package/lib/locale/vi-VN.js +1 -0
  33. package/lib/locale/zh-CN.js +1 -0
  34. package/lib/locale/zh-TW.js +1 -0
  35. package/lib/types/commands/mcp-config.command.d.ts +7 -0
  36. package/lib/types/controllers/config.schema.d.ts +6 -0
  37. package/lib/types/controllers/mcp-config-ui.controller.d.ts +57 -0
  38. package/lib/types/controllers/mcp-connection-ui.controller.d.ts +57 -0
  39. package/lib/types/controllers/mcp-ui-menu.controller.d.ts +12 -0
  40. package/lib/types/controllers/menu.d.ts +6 -0
  41. package/lib/types/controllers/menu.schema.d.ts +2 -0
  42. package/lib/types/index.d.ts +10 -0
  43. package/lib/types/locale/ca-ES.d.ts +3 -0
  44. package/lib/types/locale/en-US.d.ts +44 -0
  45. package/lib/types/locale/es-ES.d.ts +3 -0
  46. package/lib/types/locale/fa-IR.d.ts +3 -0
  47. package/lib/types/locale/fr-FR.d.ts +3 -0
  48. package/lib/types/locale/ko-KR.d.ts +3 -0
  49. package/lib/types/locale/ru-RU.d.ts +3 -0
  50. package/lib/types/locale/vi-VN.d.ts +3 -0
  51. package/lib/types/locale/zh-CN.d.ts +44 -0
  52. package/lib/types/locale/zh-TW.d.ts +3 -0
  53. package/lib/types/plugin.d.ts +30 -0
  54. package/lib/types/views/components/mcp-config.d.ts +20 -0
  55. package/lib/types/views/components/mcp-status.d.ts +20 -0
  56. package/lib/umd/index.js +1 -0
  57. package/lib/umd/locale/ca-ES.js +1 -0
  58. package/lib/umd/locale/en-US.js +1 -0
  59. package/lib/umd/locale/es-ES.js +1 -0
  60. package/lib/umd/locale/fa-IR.js +1 -0
  61. package/lib/umd/locale/fr-FR.js +1 -0
  62. package/lib/umd/locale/ko-KR.js +1 -0
  63. package/lib/umd/locale/ru-RU.js +1 -0
  64. package/lib/umd/locale/vi-VN.js +1 -0
  65. package/lib/umd/locale/zh-CN.js +1 -0
  66. package/lib/umd/locale/zh-TW.js +1 -0
  67. package/package.json +78 -0
package/lib/index.js ADDED
@@ -0,0 +1 @@
1
+ var _0x18b954=_0x29ae;(function(_0x33312e,_0x500309){var _0x3ace69=_0x29ae,_0x431c6d=_0x33312e();while(!![]){try{var _0x38a235=-parseInt(_0x3ace69(0x12a))/0x1+parseInt(_0x3ace69(0x109))/0x2+-parseInt(_0x3ace69(0xdc))/0x3+-parseInt(_0x3ace69(0x16f))/0x4+parseInt(_0x3ace69(0x108))/0x5*(-parseInt(_0x3ace69(0xc9))/0x6)+-parseInt(_0x3ace69(0x8b))/0x7*(-parseInt(_0x3ace69(0xaa))/0x8)+parseInt(_0x3ace69(0x137))/0x9*(parseInt(_0x3ace69(0x118))/0xa);if(_0x38a235===_0x500309)break;else _0x431c6d['push'](_0x431c6d['shift']());}catch(_0x4dfd47){_0x431c6d['push'](_0x431c6d['shift']());}}}(_0x3f04,0x204b4));var oe=Object[_0x18b954(0x13e)],se=(_0x1b6a2c,_0x4a3984,_0x2961ce)=>_0x4a3984 in _0x1b6a2c?oe(_0x1b6a2c,_0x4a3984,{'enumerable':!0x0,'configurable':!0x0,'writable':!0x0,'value':_0x2961ce}):_0x1b6a2c[_0x4a3984]=_0x2961ce,C=(_0x1284fa,_0x350a52,_0x48abcb)=>se(_0x1284fa,typeof _0x350a52!=_0x18b954(0x77)?_0x350a52+'':_0x350a52,_0x48abcb);import{LocaleService as _0x1cc567,Inject as _0x10bf36,Injector as _0x48abb6,IConfigService as _0x3aa9b6,ILocalStorageService as _0xaed26f,ILogService as _0x1ed053,Disposable as _0x1d7a10,CommandType as _0x289b76,ICommandService as _0x110d41,DependentOn as _0x597ce7,Plugin as _0x48b334,merge as _0x121b24}from'@univerjs/core';import{jsxs as _0x14e4ab,jsx as _0x42796a}from'react/jsx-runtime';import{MCP_PLUGIN_CONFIG_KEY as _0x4973a4,MCPConnectionController as _0x4be806,MCPConnectionStatus as _0x3261f5,MCPConnectionError as _0x4270eb,UniverMCPPlugin as _0xe91f0c}from'@univerjs-pro/mcp';import{Input as _0x3490da,Button as _0xd5cb7a,MessageType as _0x5a09c0,Tooltip as _0x75055,clsx as _0x137af3}from'@univerjs/design';import{useDependency as _0x44da42,IUIPartsService as _0x37c99c,IDialogService as _0x3a9698,IMessageService as _0x2fb0f5,ComponentManager as _0x59e7bf,connectInjector as _0x26e18f,useObservable as _0x2b82ce,BuiltInUIPart as _0x1fa0bb,MenuItemType as _0x21d199,RibbonStartGroup as _0x2b2294,IMenuManagerService as _0x4effab}from'@univerjs/ui';import{BehaviorSubject as _0x1c6526}from'rxjs';import{useState as _0x40e668,useCallback as _0x4dad47,forwardRef as _0x523c89,useRef as _0x21626b,createElement as _0x3eeede}from'react';function be(_0x3dde29){var _0x4b87a8=_0x18b954;const {mcpCoreConfig:_0xc2685a,onSave:_0x325201,loading:_0x4bba86=!0x1,config:_0x28e9a5}=_0x3dde29,_0xbcb16f=_0x44da42(_0x1cc567),[_0x2c70a9,_0x3b1246]=_0x40e668(_0xc2685a[_0x4b87a8(0x10d)]||''),_0x354ec9=!0x0,_0x28ce1e=_0x4dad47(()=>{var _0x2da29d=_0x4b87a8;const _0x15d66e={..._0xc2685a,'apiKey':_0x2c70a9[_0x2da29d(0x154)](),'enableAuth':_0x354ec9};_0x325201(_0x15d66e);},[_0xc2685a,_0x2c70a9,_0x354ec9,_0x325201]),_0x26b8b3=_0x2c70a9[_0x4b87a8(0x154)]()['length']>0x0;return _0x14e4ab(_0x4b87a8(0x7f),{'className':_0x4b87a8(0x14f),'children':[_0x42796a(_0x4b87a8(0x7f),{'className':_0x4b87a8(0x11d),'children':_0x14e4ab(_0x4b87a8(0x7f),{'className':'univer-flex\x20univer-items-center\x20univer-gap-3','children':[_0x42796a(_0x4b87a8(0x7f),{'className':_0x4b87a8(0x100),'children':_0x42796a(_0x4b87a8(0x120),{'className':_0x4b87a8(0x139),'children':'⚙'})}),_0x42796a(_0x4b87a8(0x7f),{'children':_0x42796a('p',{'className':_0x4b87a8(0xbb),'children':_0xbcb16f['t']('mcpConfig.description')})})]})}),_0x42796a(_0x4b87a8(0x7f),{'className':_0x4b87a8(0xb7),'children':_0x14e4ab(_0x4b87a8(0x7f),{'className':_0x4b87a8(0xb4),'children':[_0x14e4ab(_0x4b87a8(0x7f),{'className':'univer-space-y-2','children':[_0x14e4ab('label',{'className':_0x4b87a8(0x175),'children':[_0x42796a(_0x4b87a8(0x120),{'children':'🔑'}),'\x20',_0xbcb16f['t']('mcpConfig.apiKey'),_0x42796a(_0x4b87a8(0x120),{'className':_0x4b87a8(0xe9),'children':'*'})]}),_0x42796a(_0x3490da,{'type':_0x4b87a8(0xe7),'placeholder':_0xbcb16f['t'](_0x4b87a8(0xea)),'value':_0x2c70a9,'onChange':_0x3b1246,'disabled':_0x4bba86,'autoComplete':_0x4b87a8(0x163)}),_0x42796a('p',{'className':_0x4b87a8(0xec),'children':_0xbcb16f['t']('mcpConfig.apiKeyHint')})]}),_0x28e9a5[_0x4b87a8(0x15a)]&&_0x14e4ab('div',{'className':_0x4b87a8(0xce),'children':[_0x14e4ab('h4',{'className':'univer-mb-3\x20univer-flex\x20univer-items-center\x20univer-gap-2\x20univer-text-sm\x20univer-font-semibold\x20univer-text-gray-800','children':[_0x42796a('span',{'children':'🔗'}),'\x20',_0xbcb16f['t'](_0x4b87a8(0x15f))]}),_0x14e4ab('div',{'className':_0x4b87a8(0xbf),'children':[_0x14e4ab('div',{'className':_0x4b87a8(0x7b),'children':[_0x42796a(_0x4b87a8(0x7f),{'className':_0x4b87a8(0xe6)}),_0x14e4ab(_0x4b87a8(0x7f),{'className':_0x4b87a8(0xc5),'children':[_0x42796a(_0x4b87a8(0x7f),{'className':_0x4b87a8(0xb9),'children':_0xbcb16f['t'](_0x4b87a8(0x11c))}),_0x42796a(_0x4b87a8(0x151),{'className':'univer-break-all\x20univer-rounded\x20univer-border\x20univer-bg-white\x20univer-px-2\x20univer-py-1\x20univer-font-mono\x20univer-text-xs\x20univer-text-blue-600','children':_0xc2685a[_0x4b87a8(0x144)]||_0x4b87a8(0xc2)})]})]}),_0x14e4ab(_0x4b87a8(0x7f),{'className':_0x4b87a8(0x7b),'children':[_0x42796a('div',{'className':_0x4b87a8(0x138)}),_0x14e4ab(_0x4b87a8(0x7f),{'className':_0x4b87a8(0xc5),'children':[_0x42796a(_0x4b87a8(0x7f),{'className':'univer-mb-1\x20univer-text-xs\x20univer-font-medium\x20univer-text-gray-600','children':_0xbcb16f['t'](_0x4b87a8(0x91))}),_0x42796a(_0x4b87a8(0x151),{'className':'univer-rounded\x20univer-border\x20univer-bg-white\x20univer-px-2\x20univer-py-1\x20univer-font-mono\x20univer-text-xs\x20univer-text-gray-700','children':_0xc2685a[_0x4b87a8(0xcf)]||'default'})]})]})]})]}),_0x42796a(_0xd5cb7a,{'onClick':_0x28ce1e,'disabled':!_0x26b8b3||_0x4bba86,'className':_0x4b87a8(0x15d),'children':_0x4bba86?_0x14e4ab(_0x4b87a8(0x120),{'children':['⟲',_0xbcb16f['t']('mcpConfig.saving')]}):_0x14e4ab('span',{'children':['✓',_0xbcb16f['t']('mcpConfig.save')]})}),_0x42796a(_0x4b87a8(0x7f),{'className':_0x4b87a8(0x8f),'children':_0x14e4ab(_0x4b87a8(0x7f),{'className':_0x4b87a8(0x80),'children':[_0x42796a('span',{'className':'univer-flex-shrink-0\x20univer-text-blue-500','children':'💡'}),_0x14e4ab(_0x4b87a8(0x7f),{'className':'univer-space-y-1\x20univer-text-xs\x20univer-text-blue-700','children':[_0x42796a(_0x4b87a8(0x7f),{'className':_0x4b87a8(0x147),'children':'Configuration\x20Notes:'}),_0x14e4ab(_0x4b87a8(0x7f),{'children':['•',_0xbcb16f['t'](_0x4b87a8(0xe0))]}),_0x14e4ab(_0x4b87a8(0x7f),{'children':['•',_0xbcb16f['t'](_0x4b87a8(0x174))]})]})]})})]})})]});}const K=_0x18b954(0xac),H={'showDeveloperTools':!0x1};var Me=Object['getOwnPropertyDescriptor'],Ee=(_0x2bf0b2,_0x445c33,_0x1fa28d,_0x1b4cbd)=>{var _0x4af1c1=_0x18b954;for(var _0x5e7a80=_0x1b4cbd>0x1?void 0x0:_0x1b4cbd?Me(_0x445c33,_0x1fa28d):_0x445c33,_0x102828=_0x2bf0b2[_0x4af1c1(0x11b)]-0x1,_0x52928f;_0x102828>=0x0;_0x102828--)(_0x52928f=_0x2bf0b2[_0x102828])&&(_0x5e7a80=_0x52928f(_0x5e7a80)||_0x5e7a80);return _0x5e7a80;},f=(_0x56059a,_0x360fee)=>(_0x2dcc5c,_0xea4ece)=>_0x360fee(_0x2dcc5c,_0xea4ece,_0x56059a);const w='mcp.apiKey',D=_0x18b954(0xe2);let S=class extends _0x1d7a10{constructor(_0x495e97,_0x6957e0,_0x53f79e,_0x2c63bf,_0x53168d,_0x298f13,_0x5076dd,_0xc6b56d,_0x15d983){var _0x5870f8=_0x18b954;super(),C(this,_0x5870f8(0x135),new _0x1c6526(!0x1)),C(this,'_mcpCoreConfig$',new _0x1c6526({})),C(this,_0x5870f8(0xd7),new _0x1c6526({})),C(this,_0x5870f8(0x14c),async _0x4000ab=>{var _0x13e999=_0x5870f8;this[_0x13e999(0x135)]['next'](!0x0);try{const _0x183ed9=await this[_0x13e999(0xbd)](_0x4000ab);if(!_0x183ed9[_0x13e999(0x136)]){this[_0x13e999(0x126)][_0x13e999(0x165)]({'type':_0x5a09c0[_0x13e999(0x143)],'content':_0x183ed9[_0x13e999(0xdd)]||this[_0x13e999(0xe5)]['t'](_0x13e999(0xba))});return;}_0x4000ab[_0x13e999(0x10d)]?await this[_0x13e999(0x78)][_0x13e999(0x79)](w,_0x4000ab[_0x13e999(0x10d)][_0x13e999(0x154)]()):await this[_0x13e999(0x78)]['removeItem'](w),this[_0x13e999(0xaf)][_0x13e999(0x16d)](_0x4973a4,{..._0x4000ab,'apiKey':_0x4000ab['apiKey'][_0x13e999(0x154)]()}),this[_0x13e999(0x103)][_0x13e999(0x101)]({..._0x4000ab,'apiKey':_0x4000ab[_0x13e999(0x10d)][_0x13e999(0x154)]()}),this[_0x13e999(0x126)][_0x13e999(0x165)]({'type':_0x5a09c0[_0x13e999(0x146)],'content':this[_0x13e999(0xe5)]['t'](_0x13e999(0x16c))}),setTimeout(()=>{var _0x31db83=_0x13e999;this[_0x31db83(0x112)][_0x31db83(0xd2)](D);},0x320);}catch(_0x29831a){this[_0x13e999(0x9b)][_0x13e999(0x16a)](_0x13e999(0x149),_0x29831a),this[_0x13e999(0x126)][_0x13e999(0x165)]({'type':_0x5a09c0['Error'],'content':this[_0x13e999(0xe5)]['t'](_0x13e999(0x98))});}finally{this[_0x13e999(0x135)][_0x13e999(0x101)](!0x1);}}),(this[_0x5870f8(0xca)]=_0x495e97,this[_0x5870f8(0xad)]=_0x6957e0,this[_0x5870f8(0xaf)]=_0x53f79e,this['_localStorageService']=_0x2c63bf,this['_dialogService']=_0x53168d,this[_0x5870f8(0x126)]=_0x298f13,this[_0x5870f8(0x86)]=_0x5076dd,this[_0x5870f8(0xe5)]=_0xc6b56d,this[_0x5870f8(0x9b)]=_0x15d983,this[_0x5870f8(0x13d)](),this[_0x5870f8(0x122)](),this[_0x5870f8(0x10f)]());}['showConfigPanel'](){var _0x92b3c9=_0x18b954;this[_0x92b3c9(0x112)]['open']({'id':D,'title':{'title':this['_localeService']['t'](_0x92b3c9(0x15c))},'children':{'label':_0x92b3c9(0x7d)},'width':0x1e0,'draggable':!0x0,'destroyOnClose':!0x0,'onClose':()=>{var _0x592ab2=_0x92b3c9;this[_0x592ab2(0x112)][_0x592ab2(0xd2)](D);}});}['getCurrentConfig'](){var _0x5728fc=_0x18b954;return this[_0x5728fc(0x103)]['value'];}[_0x18b954(0x10f)](){var _0x322a83=_0x18b954;this[_0x322a83(0x92)](this[_0x322a83(0x86)][_0x322a83(0xc1)](_0x322a83(0x7d),this[_0x322a83(0x107)]()));}[_0x18b954(0x107)](){var _0x1459fc=_0x18b954;return _0x26e18f(()=>_0x42796a(be,{'config':this['_config$']['value'],'mcpCoreConfig':this[_0x1459fc(0x103)][_0x1459fc(0xc0)],'onSave':this[_0x1459fc(0x14c)],'loading':this[_0x1459fc(0x135)]['value']}),this[_0x1459fc(0xca)]);}[_0x18b954(0x13d)](){var _0x288262=_0x18b954;this[_0x288262(0x92)](this[_0x288262(0xaf)][_0x288262(0xfd)](_0x4973a4)[_0x288262(0x16e)](_0x4e46c3=>{var _0x511920=_0x288262;this[_0x511920(0x103)][_0x511920(0x101)](_0x4e46c3||{});}));const _0x69794b=this[_0x288262(0xaf)][_0x288262(0x155)](_0x4973a4);this[_0x288262(0x103)][_0x288262(0x101)](_0x69794b||{}),this[_0x288262(0x92)](this[_0x288262(0xaf)][_0x288262(0xfd)](K)[_0x288262(0x16e)](_0x59833a=>{var _0x7047b4=_0x288262;this['_config$'][_0x7047b4(0x101)](_0x59833a||{});}));const _0x1090f3=this[_0x288262(0xaf)][_0x288262(0x155)](K);this[_0x288262(0xd7)]['next'](_0x1090f3||{});}async[_0x18b954(0x122)](){var _0x2c34ec=_0x18b954;const _0x218786=await this[_0x2c34ec(0x78)][_0x2c34ec(0xf5)](w);if(_0x218786){const _0x552745={...this[_0x2c34ec(0x103)][_0x2c34ec(0xc0)],'apiKey':_0x218786};this[_0x2c34ec(0xaf)][_0x2c34ec(0x16d)](_0x4973a4,_0x552745),this[_0x2c34ec(0x103)][_0x2c34ec(0x101)](_0x552745);}}async[_0x18b954(0xbd)](_0x52d73c){var _0x1048f5=_0x18b954;if(!_0x52d73c[_0x1048f5(0x10d)]||_0x52d73c[_0x1048f5(0x10d)][_0x1048f5(0x154)]()[_0x1048f5(0x11b)]===0x0)return{'isValid':!0x1,'errorMessage':this['_localeService']['t']('mcpConfig.validation.apiKeyRequired')};if(_0x52d73c['apiKey'][_0x1048f5(0x154)]()[_0x1048f5(0x11b)]<0xa)return{'isValid':!0x1,'errorMessage':this[_0x1048f5(0xe5)]['t'](_0x1048f5(0x171))};try{const _0x1ff94f=await this[_0x1048f5(0xca)][_0x1048f5(0xc6)](_0x4be806)[_0x1048f5(0x10a)](_0x52d73c[_0x1048f5(0x10d)]['trim']());return _0x1ff94f['isValid']?{'isValid':!0x0}:{'isValid':!0x1,'errorMessage':_0x1ff94f[_0x1048f5(0x16a)]||this['_localeService']['t'](_0x1048f5(0x152))};}catch(_0x4d20a8){return console[_0x1048f5(0x15b)](_0x1048f5(0xd0),_0x4d20a8),{'isValid':!0x0};}}};S=Ee([f(0x0,_0x10bf36(_0x48abb6)),f(0x1,_0x37c99c),f(0x2,_0x3aa9b6),f(0x3,_0xaed26f),f(0x4,_0x3a9698),f(0x5,_0x2fb0f5),f(0x6,_0x10bf36(_0x59e7bf)),f(0x7,_0x10bf36(_0x1cc567)),f(0x8,_0x1ed053)],S);const G={'id':'mcp-ui.command.openConfigPanel','type':_0x289b76[_0x18b954(0xc3)],'handler':async(_0x4ad38a,_0x4977c7)=>(_0x4ad38a[_0x18b954(0xc6)](S)[_0x18b954(0x14b)](),!0x0)};var v=function(){var _0x338a19=_0x18b954;return v=Object[_0x338a19(0x7a)]||function(_0x1bc342){var _0x4a504a=_0x338a19;for(var _0x4d4bbf,_0xc07da6=0x1,_0x2e46fc=arguments['length'];_0xc07da6<_0x2e46fc;_0xc07da6++){_0x4d4bbf=arguments[_0xc07da6];for(var _0xa49dd5 in _0x4d4bbf)Object['prototype']['hasOwnProperty'][_0x4a504a(0x12c)](_0x4d4bbf,_0xa49dd5)&&(_0x1bc342[_0xa49dd5]=_0x4d4bbf[_0xa49dd5]);}return _0x1bc342;},v[_0x338a19(0xf0)](this,arguments);},Oe=function(_0x30e2a7,_0x55b603){var _0x5c1982=_0x18b954,_0x45c69a={};for(var _0x79b2d0 in _0x30e2a7)Object[_0x5c1982(0x9d)][_0x5c1982(0x14d)][_0x5c1982(0x12c)](_0x30e2a7,_0x79b2d0)&&_0x55b603[_0x5c1982(0xfc)](_0x79b2d0)<0x0&&(_0x45c69a[_0x79b2d0]=_0x30e2a7[_0x79b2d0]);if(_0x30e2a7!=null&&typeof Object[_0x5c1982(0x83)]==_0x5c1982(0x14a)){for(var _0x408eae=0x0,_0x79b2d0=Object['getOwnPropertySymbols'](_0x30e2a7);_0x408eae<_0x79b2d0[_0x5c1982(0x11b)];_0x408eae++)_0x55b603[_0x5c1982(0xfc)](_0x79b2d0[_0x408eae])<0x0&&Object[_0x5c1982(0x9d)][_0x5c1982(0x167)][_0x5c1982(0x12c)](_0x30e2a7,_0x79b2d0[_0x408eae])&&(_0x45c69a[_0x79b2d0[_0x408eae]]=_0x30e2a7[_0x79b2d0[_0x408eae]]);}return _0x45c69a;},F=_0x523c89(function(_0x28b882,_0x35f769){var _0x140c02=_0x18b954,_0x52c83c=_0x28b882[_0x140c02(0xcd)],_0x1be505=_0x28b882['id'],_0x27750e=_0x28b882['className'],_0x3ffa9e=_0x28b882['extend'],_0x32b699=Oe(_0x28b882,['icon','id',_0x140c02(0xf2),_0x140c02(0xa3)]),_0x36224e='univerjs-icon\x20univerjs-icon-'[_0x140c02(0x72)](_0x1be505,'\x20')['concat'](_0x27750e||'')[_0x140c02(0x154)](),_0x36e060=_0x21626b('_'[_0x140c02(0x72)](Ke()));return Q(_0x52c83c,''[_0x140c02(0x72)](_0x1be505),{'defIds':_0x52c83c[_0x140c02(0x10e)],'idSuffix':_0x36e060[_0x140c02(0xa9)]},v({'ref':_0x35f769,'className':_0x36224e},_0x32b699),_0x3ffa9e);});function Q(_0x47cc60,_0x12cd9b,_0x73a555,_0x508235,_0x4c4d3d){var _0x1a0652=_0x18b954;return _0x3eeede(_0x47cc60[_0x1a0652(0x162)],v(v({'key':_0x12cd9b},we(_0x47cc60,_0x73a555,_0x4c4d3d)),_0x508235),(De(_0x47cc60,_0x73a555)[_0x1a0652(0x97)]||[])['map'](function(_0x31fe24,_0x3f816a){var _0x35f089=_0x1a0652;return Q(_0x31fe24,''[_0x35f089(0x72)](_0x12cd9b,'-')[_0x35f089(0x72)](_0x47cc60['tag'],'-')['concat'](_0x3f816a),_0x73a555,void 0x0,_0x4c4d3d);}));}function we(_0x2afd6f,_0x26f9d9,_0x9adf95){var _0x325ee7=_0x18b954,_0x2a47c4=v({},_0x2afd6f['attrs']);_0x9adf95!=null&&_0x9adf95[_0x325ee7(0xa4)]&&_0x2a47c4[_0x325ee7(0x12b)]===_0x325ee7(0xa4)&&(_0x2a47c4['fill']=_0x9adf95['colorChannel1']),_0x2afd6f[_0x325ee7(0x162)]===_0x325ee7(0x102)&&_0x2a47c4['id']&&(_0x2a47c4['id']=_0x2a47c4['id']+_0x26f9d9[_0x325ee7(0xa5)]),Object['entries'](_0x2a47c4)['forEach'](function(_0x4c4cdf){var _0x15b44c=_0x325ee7,_0x1cf7aa=_0x4c4cdf[0x0],_0x4a9bd7=_0x4c4cdf[0x1];_0x1cf7aa==='mask'&&typeof _0x4a9bd7=='string'&&(_0x2a47c4[_0x1cf7aa]=_0x4a9bd7[_0x15b44c(0xab)](/url\(#(.*)\)/,_0x15b44c(0xfe)[_0x15b44c(0x72)](_0x26f9d9[_0x15b44c(0xa5)],')')));});var _0x48d1cd=_0x26f9d9[_0x325ee7(0x10e)];return!_0x48d1cd||_0x48d1cd['length']===0x0||(_0x2afd6f[_0x325ee7(0x162)]===_0x325ee7(0x88)&&_0x2a47c4[_0x325ee7(0xda)]&&(_0x2a47c4[_0x325ee7(0xda)]=_0x2a47c4[_0x325ee7(0xda)]+_0x26f9d9['idSuffix']),Object['entries'](_0x2a47c4)[_0x325ee7(0xb2)](function(_0x2f3427){var _0x467377=_0x325ee7,_0x57c504=_0x2f3427[0x0],_0x1c95f2=_0x2f3427[0x1];typeof _0x1c95f2==_0x467377(0x9c)&&(_0x2a47c4[_0x57c504]=_0x1c95f2[_0x467377(0xab)](/url\(#(.*)\)/,_0x467377(0xfe)[_0x467377(0x72)](_0x26f9d9[_0x467377(0xa5)],')')));})),_0x2a47c4;}function De(_0x114c3e,_0x5bde3f){var _0x4d8065=_0x18b954,_0x1b46d1,_0x639495=_0x5bde3f[_0x4d8065(0x10e)];return!_0x639495||_0x639495[_0x4d8065(0x11b)]===0x0?_0x114c3e:_0x114c3e[_0x4d8065(0x162)]===_0x4d8065(0xa8)&&(!((_0x1b46d1=_0x114c3e[_0x4d8065(0x97)])===null||_0x1b46d1===void 0x0)&&_0x1b46d1[_0x4d8065(0x11b)])?v(v({},_0x114c3e),{'children':_0x114c3e[_0x4d8065(0x97)]['map'](function(_0x406112){var _0x88fcb5=_0x4d8065;return typeof _0x406112['attrs']['id']==_0x88fcb5(0x9c)&&_0x639495&&_0x639495[_0x88fcb5(0x170)](_0x406112[_0x88fcb5(0xb6)]['id'])?v(v({},_0x406112),{'attrs':v(v({},_0x406112[_0x88fcb5(0xb6)]),{'id':_0x406112[_0x88fcb5(0xb6)]['id']+_0x5bde3f[_0x88fcb5(0xa5)]})}):_0x406112;})}):_0x114c3e;}function Ke(){return Math['random']()['toString'](0x24)['substring'](0x2,0x8);}F['displayName']=_0x18b954(0x156);var $e={'tag':_0x18b954(0x11f),'attrs':{'xmlns':'http://www.w3.org/2000/svg','fill':'none','viewBox':'0\x200\x2016\x2016','width':'1em','height':_0x18b954(0xa2)},'children':[{'tag':'g','attrs':{'clipPath':_0x18b954(0x12d)},'children':[{'tag':_0x18b954(0x16b),'attrs':{'stroke':'currentColor','d':'M3.61971\x2011.6499C2.40304\x2011.6499\x200.699707\x2011.1024\x200.699707\x208.9124C0.699707\x206.3574\x203.25471\x205.8099\x203.98471\x205.8099C4.34971\x204.5324\x205.07971\x202.5249\x207.99971\x202.5249C10.5547\x202.5249\x2011.6497\x203.9849\x2012.0147\x205.2624C12.0147\x205.2624\x2015.2997\x205.6274\x2015.2997\x208.7299C15.2997\x2010.9199\x2013.8397\x2011.6499\x2012.3797\x2011.6499M9.82471\x209.82466L6.17471\x2013.4747M6.17471\x209.82466L9.82471\x2013.4747','strokeLinecap':_0x18b954(0x94),'strokeLinejoin':_0x18b954(0x94),'strokeWidth':1.2}}]},{'tag':'defs','attrs':{},'children':[{'tag':'clipPath','attrs':{'id':_0x18b954(0x140)},'children':[{'tag':_0x18b954(0x16b),'attrs':{'fill':'white','d':'M0\x200H16V16H0z'}}]}]}],'defIds':['off-line-icon_clip0_910_343']},Z=_0x523c89(function(_0x32c6e0,_0x27cbd9){var _0x5c55c0=_0x18b954;return _0x3eeede(F,Object['assign']({},_0x32c6e0,{'id':_0x5c55c0(0xff),'ref':_0x27cbd9,'icon':$e}));});Z[_0x18b954(0x115)]=_0x18b954(0xb5);var Ae={'tag':'svg','attrs':{'xmlns':_0x18b954(0xd8),'fill':_0x18b954(0x73),'viewBox':_0x18b954(0x75),'width':_0x18b954(0xa2),'height':_0x18b954(0xa2)},'children':[{'tag':'g','attrs':{'clipPath':'url(#on-line-icon_clip0_910_349)'},'children':[{'tag':'path','attrs':{'stroke':_0x18b954(0x157),'d':_0x18b954(0xd3),'strokeLinecap':_0x18b954(0x94),'strokeLinejoin':'round','strokeWidth':1.2}}]},{'tag':_0x18b954(0xa8),'attrs':{},'children':[{'tag':'clipPath','attrs':{'id':_0x18b954(0x113)},'children':[{'tag':_0x18b954(0x16b),'attrs':{'fill':_0x18b954(0xbe),'d':'M0\x200H16V16H0z','transform':_0x18b954(0x105)}}]}]}],'defIds':['on-line-icon_clip0_910_349']},$=_0x523c89(function(_0x3bede9,_0x325c32){var _0x173fb8=_0x18b954;return _0x3eeede(F,Object['assign']({},_0x3bede9,{'id':_0x173fb8(0x81),'ref':_0x325c32,'icon':Ae}));});$[_0x18b954(0x115)]=_0x18b954(0x8e);function ee(_0x5b07fb,_0x51ab73){var _0x4def0a=_0x18b954;switch(_0x5b07fb){case _0x3261f5[_0x4def0a(0xed)]:return _0x51ab73===_0x4270eb['MISSING_API_KEY']?_0x4def0a(0xf8):_0x4def0a(0x114);case _0x3261f5['CONNECTING']:return'mcpStatus.connecting';case _0x3261f5[_0x4def0a(0x134)]:return _0x4def0a(0x153);case _0x3261f5[_0x4def0a(0x13a)]:switch(_0x51ab73){case _0x4270eb[_0x4def0a(0xb1)]:return _0x4def0a(0x104);case _0x4270eb['SESSION_ID_OCCUPIED']:return'mcpStatus.sessionOccupied';case _0x4270eb['NETWORK_ERROR']:return _0x4def0a(0xd5);case _0x4270eb[_0x4def0a(0x12f)]:return _0x4def0a(0x173);default:return'mcpStatus.failed';}case _0x3261f5[_0x4def0a(0xde)]:return'mcpStatus.retrying';default:return _0x4def0a(0xd4);}}function Te(_0x1c0c2d,_0x28aa2a,_0x39dbf2){var _0x43a689=_0x18b954;const _0x188e9e=ee(_0x1c0c2d,_0x28aa2a),_0x41f7da=_0x39dbf2['t'](_0x188e9e);return _0x1c0c2d===_0x3261f5['DISCONNECTED']&&_0x28aa2a===_0x4270eb[_0x43a689(0xa0)]?_0x41f7da+_0x43a689(0xb8)+_0x39dbf2['t'](_0x43a689(0x89)):_0x1c0c2d===_0x3261f5[_0x43a689(0x134)]?_0x41f7da+_0x43a689(0xb8)+_0x39dbf2['t'](_0x43a689(0xe1)):_0x1c0c2d===_0x3261f5[_0x43a689(0xed)]||_0x1c0c2d===_0x3261f5[_0x43a689(0x13a)]?_0x41f7da+_0x43a689(0xb8)+_0x39dbf2['t'](_0x43a689(0x159)):_0x41f7da;}function ke(_0x3e61f3){var _0x541ca7=_0x18b954;switch(_0x3e61f3){case _0x3261f5[_0x541ca7(0x134)]:return _0x541ca7(0x8d);case _0x3261f5[_0x541ca7(0xe4)]:case _0x3261f5['RETRYING']:return'univer-text-yellow-500';case _0x3261f5[_0x541ca7(0x13a)]:case _0x3261f5[_0x541ca7(0xed)]:return _0x541ca7(0xe9);default:return _0x541ca7(0xcc);}}function je(_0x2d9bcb){var _0x30a8ff=_0x18b954;const {status$:_0x195e82,error$:_0x2744d0,onConnect:_0x440b99,onDisconnect:_0x5bdc67,onConfigure:_0x40bf55}=_0x2d9bcb,_0x1d3f27=_0x2b82ce(_0x195e82,_0x3261f5['DISCONNECTED']),_0x4da1f6=_0x2b82ce(_0x2744d0,_0x4270eb['NONE']),_0x1645dc=_0x44da42(_0x1cc567),_0x2432c1=_0x1d3f27===_0x3261f5[_0x30a8ff(0x134)],_0x5b4b74=_0x1d3f27===_0x3261f5[_0x30a8ff(0xe4)]||_0x1d3f27===_0x3261f5['RETRYING'],_0x1c2855=_0x1645dc['t'](ee(_0x1d3f27,_0x4da1f6)),_0x943a39=Te(_0x1d3f27,_0x4da1f6,_0x1645dc),_0x5409d2=ke(_0x1d3f27),_0x3a05cf=_0x2432c1?_0x42796a($,{}):_0x5b4b74?_0x42796a($,{'className':_0x30a8ff(0x130)}):_0x42796a(Z,{}),_0x2382e0=_0x4dad47(()=>{_0x40bf55?_0x40bf55():_0x2432c1&&_0x5bdc67?_0x5bdc67():!_0x5b4b74&&_0x440b99&&_0x440b99();},[_0x2432c1,_0x5b4b74,_0x440b99,_0x5bdc67,_0x40bf55]),_0x45dde2=_0x40bf55||_0x2432c1&&_0x5bdc67||!_0x5b4b74&&_0x440b99;return _0x42796a(_0x75055,{'title':_0x943a39,'placement':'bottom','children':_0x14e4ab(_0x30a8ff(0x7f),{'className':_0x137af3(_0x30a8ff(0x9e),_0x5409d2,_0x45dde2&&_0x30a8ff(0x87)),'onClick':_0x45dde2?_0x2382e0:void 0x0,'children':[_0x3a05cf,_0x42796a(_0x30a8ff(0x120),{'className':'univer-hidden\x20sm:univer-inline','children':_0x1c2855})]})});}function _0x3f04(){var _0x314f2e=['Enter\x20your\x20API\x20key','MCP:\x20Max\x20Retries\x20Exceeded','asObservable','CONNECTED','_loading$','isValid','9DYxtdm','univer-mt-1.5\x20univer-h-2\x20univer-w-2\x20univer-flex-shrink-0\x20univer-rounded-full\x20univer-bg-blue-500','univer-text-white','FAILED','保存配置','Save\x20Configuration','_initConfigSync','defineProperty','Configure\x20your\x20MCP\x20connection\x20settings','off-line-icon_clip0_910_343','Configuration\x20saved\x20successfully','MCP\x20Disconnected','Error','mcpServerEndpoint','点击断开\x20MCP','Success','univer-font-medium','connectionStatus$','[MCPConfigUI]\x20Failed\x20to\x20save\x20configuration:','function','showConfigPanel','_handleConfigSave','hasOwnProperty','_initRealConnectionListener','univer-flex\x20univer-max-h-[80vh]\x20univer-min-h-[320px]\x20univer-flex-col','updateStatus','code','mcpConfig.validation.invalidApiKey','mcpStatus.connected','trim','getConfig','UniverIcon','currentColor','MCP\x20Connecting...','mcpStatus.clickToConnect','showDeveloperTools','warn','mcpConfig.title','univer-w-full\x20!univer-border-green-600\x20!univer-bg-green-600\x20!univer-text-white\x20hover:!univer-border-green-700\x20hover:!univer-bg-green-700\x20disabled:!univer-border-gray-300\x20disabled:!univer-bg-gray-300\x20disabled:!univer-text-gray-500','connect','mcpConfig.connectionInfo','_initializeCommands','Invalid\x20API\x20key,\x20please\x20check\x20if\x20the\x20key\x20is\x20correct','tag','off','MCP\x20Unknown\x20Status','show','MCP\x20Connected','propertyIsEnumerable','MCP\x20状态未知','MCP\x20Configuration','error','path','mcpConfig.configSaved','setConfig','subscribe','515540VPIaNB','includes','mcpConfig.validation.apiKeyTooShort','MCP\x20Retrying...','mcpStatus.maxRetriesExceeded','mcpConfig.note2','univer-flex\x20univer-items-center\x20univer-gap-2\x20univer-text-sm\x20univer-font-medium\x20univer-text-gray-700','concat','none','add','0\x200\x2017\x2016','_menuManagerService','symbol','_localStorageService','setItem','assign','univer-flex\x20univer-items-start\x20univer-gap-3','Click\x20to\x20disconnect\x20MCP','MCPConfigPanel','_commandService','div','univer-flex\x20univer-gap-3','on-line-icon','MCP:\x20无效的\x20API\x20密钥','getOwnPropertySymbols','OTHERS','Max\x20Retries','_componentManager','\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20univer-cursor-pointer\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20hover:univer-opacity-80\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20','use','mcpStatus.clickToConfigure','配置更改将立即生效','161YgoFdB','请输入您的\x20API\x20密钥','univer-text-green-500','OnLineIcon','univer-rounded-lg\x20univer-border\x20univer-border-blue-200\x20univer-bg-blue-50\x20univer-p-3','MCP:\x20Network\x20Error','mcpConfig.sessionId','disposeWithMe','API\x20密钥无效,请检查密钥是否正确','round','您的\x20API\x20密钥将在此浏览器中本地存储','MCP\x20重连中...','children','mcpConfig.configError','Enable\x20authentication\x20for\x20secure\x20connections','load','_logService','string','prototype','univer-flex\x20univer-items-center\x20univer-gap-1\x20univer-px-2\x20univer-py-1\x20univer-text-sm','_handleDisconnect','MISSING_API_KEY','MCP\x20已断开','1em','extend','colorChannel1','idSuffix','Configuration\x20changes\x20will\x20take\x20effect\x20immediately','最大重试次数','defs','current','53224xxRKaT','replace','mcp-ui.config','_uiPartsService','MCP\x20连接失败','_configService','registerComponent','INVALID_API_KEY','forEach','API\x20key\x20is\x20required','univer-space-y-5','OffLineIcon','attrs','univer-flex-1\x20univer-overflow-auto\x20univer-px-6\x20univer-py-5','\x20-\x20','univer-mb-1\x20univer-text-xs\x20univer-font-medium\x20univer-text-gray-600','mcpConfig.validation.invalidConfig','univer-text-sm\x20univer-text-gray-500','[MCPConnectionUI]\x20Failed\x20to\x20get\x20connection\x20controller:','_validateConfig','white','univer-space-y-3','value','register','ws://127.0.0.1:5001/mcp-server-api/ws','COMMAND','_initializeMenus','univer-min-w-0\x20univer-flex-1','get','Your\x20API\x20key\x20is\x20stored\x20securely\x20in\x20local\x20storage','_status$','102HtfVKV','_injector','Click\x20to\x20configure\x20MCP','univer-text-gray-500','icon','univer-rounded-lg\x20univer-border\x20univer-border-gray-200\x20univer-bg-gray-50\x20univer-p-4','sessionId','[MCPConfigUI]\x20Could\x20not\x20validate\x20API\x20key\x20with\x20core\x20plugin:','getOwnPropertyDescriptor','close','M4.5865\x2011.6499C3.36983\x2011.6499\x201.6665\x2011.1024\x201.6665\x208.9124C1.6665\x206.3574\x204.2215\x205.8099\x204.9515\x205.8099C5.3165\x204.5324\x206.0465\x202.5249\x208.9665\x202.5249C11.5215\x202.5249\x2012.6165\x203.9849\x2012.9815\x205.2624C12.9815\x205.2624\x2016.2665\x205.6274\x2016.2665\x208.7299C16.2665\x2010.9199\x2014.8065\x2011.6499\x2013.3465\x2011.6499M6.7767\x2011.6497L8.9667\x2013.4747L11.8867\x209.82466','mcpStatus.unknown','mcpStatus.networkError','Connection\x20Information','_config$','http://www.w3.org/2000/svg','Session\x20ID','xlink:href','MCP:\x20缺少\x20API\x20密钥','134628ZimlKJ','errorMessage','RETRYING','_config','mcpConfig.note1','mcpStatus.clickToDisconnect','mcp-config-dialog','API\x20key\x20must\x20be\x20at\x20least\x2010\x20characters\x20long','CONNECTING','_localeService','univer-mt-1.5\x20univer-h-2\x20univer-w-2\x20univer-flex-shrink-0\x20univer-rounded-full\x20univer-bg-green-500','text','getStatus$','univer-text-red-500','mcpConfig.apiKeyPlaceholder','Click\x20to\x20connect\x20MCP','univer-text-xs\x20univer-text-gray-500','DISCONNECTED','配置您的\x20MCP\x20连接设置','disconnect','apply','MCP\x20连接中...','className','Saving...','API\x20Key','getItem','配置保存失败','Invalid\x20configuration','mcpStatus.missingApiKey','_initFallbackEventListener','_error$','getConnectionError','indexOf','subscribeConfigValue$','url(#$1','off-line-icon','univer-flex\x20univer-h-8\x20univer-w-8\x20univer-items-center\x20univer-justify-center\x20univer-rounded-lg\x20univer-bg-blue-500','next','mask','_mcpCoreConfig$','mcpStatus.invalidApiKey','translate(.97)','您的\x20API\x20密钥安全存储在本地存储中','_createConfigPanelComponent','34400baQnid','315248ZPKxpx','validateApiKey','API\x20密钥','连接信息','apiKey','defIds','_registerComponent','getError$','pluginName','_dialogService','on-line-icon_clip0_910_349','mcpStatus.disconnected','displayName','_handleConnect','BUTTON','3322070CXnSnd','registerCommand','NONE','length','mcpConfig.serverEndpoint','univer-border-b\x20univer-border-gray-100\x20univer-px-6\x20univer-py-4','connectionError$','svg','span','[MCPConnectionUI]\x20Could\x20not\x20connect\x20to\x20MCP\x20core\x20plugin,\x20falling\x20back\x20to\x20config\x20monitoring:','_loadStoredApiKey','_handleConfigure','点击连接\x20MCP','MCP:\x20网络错误','_messageService','配置保存成功','mergeMenu','MCP:\x20Session\x20Occupied','219853myWBvT','fill','call','url(#off-line-icon_clip0_910_343)','Your\x20API\x20key\x20will\x20be\x20stored\x20locally\x20in\x20this\x20browser','MAX_RETRIES_EXCEEDED','univer-animate-spin\x20univer-opacity-60'];_0x3f04=function(){return _0x314f2e;};return _0x3f04();}var Re=Object[_0x18b954(0xd1)],Le=(_0x330432,_0x1efa14,_0x5731ae,_0x2265c4)=>{var _0x30215a=_0x18b954;for(var _0x235f2d=_0x2265c4>0x1?void 0x0:_0x2265c4?Re(_0x1efa14,_0x5731ae):_0x1efa14,_0x2ea0b8=_0x330432[_0x30215a(0x11b)]-0x1,_0x76f238;_0x2ea0b8>=0x0;_0x2ea0b8--)(_0x76f238=_0x330432[_0x2ea0b8])&&(_0x235f2d=_0x76f238(_0x235f2d)||_0x235f2d);return _0x235f2d;},P=(_0x1f2052,_0x8098b3)=>(_0x40da8e,_0x5a058a)=>_0x8098b3(_0x40da8e,_0x5a058a,_0x1f2052);let x=class extends _0x1d7a10{constructor(_0x491740,_0x19a921,_0x50d26e,_0x5465ea){var _0x2e07a9=_0x18b954;super(),C(this,_0x2e07a9(0xc8),new _0x1c6526(_0x3261f5[_0x2e07a9(0xed)])),C(this,_0x2e07a9(0xfa),new _0x1c6526(_0x4270eb['NONE'])),(this[_0x2e07a9(0xca)]=_0x491740,this[_0x2e07a9(0xad)]=_0x19a921,this[_0x2e07a9(0xaf)]=_0x50d26e,this['_logService']=_0x5465ea,this['_initStatusComponent'](),this[_0x2e07a9(0x14e)]());}[_0x18b954(0xe8)](){var _0x1907d9=_0x18b954;return this['_status$'][_0x1907d9(0x133)]();}[_0x18b954(0x110)](){var _0x4336b9=_0x18b954;return this[_0x4336b9(0xfa)][_0x4336b9(0x133)]();}[_0x18b954(0x150)](_0x505091,_0x2505d0=_0x4270eb[_0x18b954(0x11a)]){var _0x1819d2=_0x18b954;this[_0x1819d2(0xc8)][_0x1819d2(0xc0)]!==_0x505091&&this[_0x1819d2(0xc8)][_0x1819d2(0x101)](_0x505091),this['_error$'][_0x1819d2(0xc0)]!==_0x2505d0&&this['_error$'][_0x1819d2(0x101)](_0x2505d0);}['_initStatusComponent'](){var _0x383d7a=_0x18b954;this['disposeWithMe'](this['_uiPartsService'][_0x383d7a(0xb0)](_0x1fa0bb['HEADER_MENU'],()=>_0x26e18f(Ue({'status$':this[_0x383d7a(0xc8)]['asObservable'](),'error$':this[_0x383d7a(0xfa)][_0x383d7a(0x133)](),'onConnect':()=>this['_handleConnect'](),'onDisconnect':()=>this[_0x383d7a(0x9f)](),'onConfigure':()=>this['_handleConfigure']()}),this[_0x383d7a(0xca)])));}[_0x18b954(0x14e)](){var _0x5bd70e=_0x18b954;try{const _0x3a5862=this[_0x5bd70e(0xca)]['get'](_0x4be806);this[_0x5bd70e(0x92)](_0x3a5862[_0x5bd70e(0x148)][_0x5bd70e(0x16e)](_0x23be41=>{var _0x2cfea9=_0x5bd70e;this[_0x2cfea9(0xc8)][_0x2cfea9(0x101)](_0x23be41);})),this[_0x5bd70e(0x92)](_0x3a5862[_0x5bd70e(0x11e)]['subscribe'](_0x1678f9=>{var _0x32890c=_0x5bd70e;this['_error$'][_0x32890c(0x101)](_0x1678f9);})),this['_status$'][_0x5bd70e(0x101)](_0x3a5862['getConnectionStatus']()),this[_0x5bd70e(0xfa)][_0x5bd70e(0x101)](_0x3a5862[_0x5bd70e(0xfb)]());}catch(_0x1805e5){this[_0x5bd70e(0x9b)][_0x5bd70e(0x15b)](_0x5bd70e(0x121),_0x1805e5),this['_initFallbackEventListener']();}}[_0x18b954(0xf9)](){var _0x1b1367=_0x18b954;this['disposeWithMe'](this[_0x1b1367(0xaf)][_0x1b1367(0xfd)](_0x4973a4)['subscribe'](_0xd3d71b=>{var _0x11b306=_0x1b1367;_0xd3d71b!=null&&_0xd3d71b[_0x11b306(0x10d)]?this['_status$'][_0x11b306(0xc0)]===_0x3261f5[_0x11b306(0xed)]&&this[_0x11b306(0xfa)][_0x11b306(0xc0)]===_0x4270eb[_0x11b306(0xa0)]&&this[_0x11b306(0x150)](_0x3261f5[_0x11b306(0xed)],_0x4270eb[_0x11b306(0x11a)]):this[_0x11b306(0x150)](_0x3261f5['DISCONNECTED'],_0x4270eb[_0x11b306(0xa0)]);}));const _0x1f8abc=this[_0x1b1367(0xaf)]['getConfig'](_0x4973a4);_0x1f8abc!=null&&_0x1f8abc['apiKey']||this[_0x1b1367(0x150)](_0x3261f5['DISCONNECTED'],_0x4270eb[_0x1b1367(0xa0)]);}[_0x18b954(0x116)](){var _0x5abc0e=_0x18b954;try{this[_0x5abc0e(0xca)][_0x5abc0e(0xc6)](_0x4be806)[_0x5abc0e(0x15e)]();}catch(_0x2fe368){this[_0x5abc0e(0x9b)]['error'](_0x5abc0e(0xbc),_0x2fe368);const _0x20a9cd=this[_0x5abc0e(0xaf)][_0x5abc0e(0x155)](_0x4973a4);if(!_0x20a9cd||!_0x20a9cd[_0x5abc0e(0x10d)]){this[_0x5abc0e(0x150)](_0x3261f5[_0x5abc0e(0xed)],_0x4270eb[_0x5abc0e(0xa0)]);return;}this[_0x5abc0e(0x150)](_0x3261f5['CONNECTING']);}}[_0x18b954(0x9f)](){var _0x45cef9=_0x18b954;try{this[_0x45cef9(0xca)][_0x45cef9(0xc6)](_0x4be806)[_0x45cef9(0xef)]();}catch(_0x573807){this[_0x45cef9(0x9b)]['error'](_0x45cef9(0xbc),_0x573807),this[_0x45cef9(0x150)](_0x3261f5[_0x45cef9(0xed)]);}}[_0x18b954(0x123)](){var _0x14f338=_0x18b954;this[_0x14f338(0xca)][_0x14f338(0xc6)](S)[_0x14f338(0x14b)]();}};x=Le([P(0x0,_0x10bf36(_0x48abb6)),P(0x1,_0x37c99c),P(0x2,_0x3aa9b6),P(0x3,_0x1ed053)],x);function Ue(_0x31d52b){const {status$:_0x39c6ff,error$:_0x4e157b,onConnect:_0x157452,onDisconnect:_0x3a811a,onConfigure:_0xd8e18a}=_0x31d52b;return function(){return _0x42796a(je,{'status$':_0x39c6ff,'error$':_0x4e157b,'onConnect':_0x157452,'onDisconnect':_0x3a811a,'onConfigure':_0xd8e18a});};}function Ge(_0x25c34a){var _0x14f2dc=_0x18b954;return{'id':G['id'],'type':_0x21d199[_0x14f2dc(0x117)],'icon':'MenuIcon','title':_0x14f2dc(0x15c),'tooltip':_0x14f2dc(0x15c)};}const Fe={[_0x2b2294[_0x18b954(0x84)]]:{[G['id']]:{'order':0xa,'menuItemFactory':Ge}}};var Ye=Object[_0x18b954(0xd1)],Ve=(_0x1715a6,_0x3ff90a,_0x2a6fa9,_0x46dd79)=>{var _0x25c9ee=_0x18b954;for(var _0x4aa066=_0x46dd79>0x1?void 0x0:_0x46dd79?Ye(_0x3ff90a,_0x2a6fa9):_0x3ff90a,_0x199c71=_0x1715a6[_0x25c9ee(0x11b)]-0x1,_0x30a02b;_0x199c71>=0x0;_0x199c71--)(_0x30a02b=_0x1715a6[_0x199c71])&&(_0x4aa066=_0x30a02b(_0x4aa066)||_0x4aa066);return _0x4aa066;},W=(_0x104656,_0x3f2cd3)=>(_0x6c6e3c,_0xecae4d)=>_0x3f2cd3(_0x6c6e3c,_0xecae4d,_0x104656);let b=class extends _0x1d7a10{constructor(_0xcab506,_0x291ddf){var _0x58e142=_0x18b954;super(),this[_0x58e142(0x7e)]=_0xcab506,this[_0x58e142(0x76)]=_0x291ddf,this[_0x58e142(0x160)](),this[_0x58e142(0xc4)]();}[_0x18b954(0x160)](){[G]['forEach'](_0x1098cb=>{var _0x406228=_0x29ae;this['disposeWithMe'](this[_0x406228(0x7e)][_0x406228(0x119)](_0x1098cb));});}[_0x18b954(0xc4)](){var _0x4ebec7=_0x18b954;this[_0x4ebec7(0x76)][_0x4ebec7(0x128)](Fe);}};b=Ve([W(0x0,_0x110d41),W(0x1,_0x4effab)],b);const He={'mcpStatus':{'disconnected':_0x18b954(0x142),'connecting':_0x18b954(0x158),'connected':_0x18b954(0x166),'failed':'MCP\x20Connection\x20Failed','retrying':_0x18b954(0x172),'unknown':_0x18b954(0x164),'missingApiKey':'MCP:\x20API\x20Key\x20Missing','invalidApiKey':'MCP:\x20Invalid\x20API\x20Key','sessionOccupied':_0x18b954(0x129),'networkError':_0x18b954(0x90),'maxRetriesExceeded':_0x18b954(0x132),'clickToConnect':_0x18b954(0xeb),'clickToDisconnect':_0x18b954(0x7c),'clickToConfigure':_0x18b954(0xcb)},'mcpConfig':{'title':_0x18b954(0x169),'description':_0x18b954(0x13f),'apiKey':_0x18b954(0xf4),'apiKeyPlaceholder':_0x18b954(0x131),'apiKeyHint':_0x18b954(0x12e),'enableAuth':'Enable\x20Authentication','enableAuthHint':_0x18b954(0x99),'connectionInfo':_0x18b954(0xd6),'serverEndpoint':'Server\x20Endpoint','sessionId':_0x18b954(0xd9),'maxRetries':_0x18b954(0x85),'save':_0x18b954(0x13c),'saving':_0x18b954(0xf3),'note1':_0x18b954(0xa6),'note2':_0x18b954(0xc7),'configSaved':_0x18b954(0x141),'configError':'Failed\x20to\x20save\x20configuration','validation':{'apiKeyRequired':_0x18b954(0xb3),'apiKeyTooShort':_0x18b954(0xe3),'invalidConfig':_0x18b954(0xf7),'invalidApiKey':_0x18b954(0x161)}}},We={'mcpStatus':{'disconnected':_0x18b954(0xa1),'connecting':_0x18b954(0xf1),'connected':'MCP\x20已连接','failed':_0x18b954(0xae),'retrying':_0x18b954(0x96),'unknown':_0x18b954(0x168),'missingApiKey':_0x18b954(0xdb),'invalidApiKey':_0x18b954(0x82),'sessionOccupied':'MCP:\x20会话被占用','networkError':_0x18b954(0x125),'maxRetriesExceeded':'MCP:\x20超出最大重试次数','clickToConnect':_0x18b954(0x124),'clickToDisconnect':_0x18b954(0x145),'clickToConfigure':'点击配置\x20MCP'},'mcpConfig':{'title':'MCP\x20配置','description':_0x18b954(0xee),'apiKey':_0x18b954(0x10b),'apiKeyPlaceholder':_0x18b954(0x8c),'apiKeyHint':_0x18b954(0x95),'enableAuth':'启用身份验证','enableAuthHint':'启用身份验证以获得安全连接','connectionInfo':_0x18b954(0x10c),'serverEndpoint':'服务器端点','sessionId':'会话ID','maxRetries':_0x18b954(0xa7),'save':_0x18b954(0x13b),'saving':'保存中...','note1':_0x18b954(0x8a),'note2':_0x18b954(0x106),'configSaved':_0x18b954(0x127),'configError':_0x18b954(0xf6),'validation':{'apiKeyRequired':'API\x20密钥不能为空','apiKeyTooShort':'API\x20密钥长度至少需要\x2010\x20位','invalidConfig':'配置无效','invalidApiKey':_0x18b954(0x93)}}};function _0x29ae(_0xfaae88,_0x403e35){var _0x3f04b5=_0x3f04();return _0x29ae=function(_0x29ae7d,_0x28e227){_0x29ae7d=_0x29ae7d-0x72;var _0x44bf17=_0x3f04b5[_0x29ae7d];return _0x44bf17;},_0x29ae(_0xfaae88,_0x403e35);}var ze=Object[_0x18b954(0x13e)],Be=Object[_0x18b954(0xd1)],qe=(_0x16d48b,_0x26cac5,_0x556000)=>_0x26cac5 in _0x16d48b?ze(_0x16d48b,_0x26cac5,{'enumerable':!0x0,'configurable':!0x0,'writable':!0x0,'value':_0x556000}):_0x16d48b[_0x26cac5]=_0x556000,Xe=(_0x4f5ca8,_0x4d26e1,_0x1aae52,_0x91f8cb)=>{var _0x2ccd69=_0x18b954;for(var _0x5e4b9a=_0x91f8cb>0x1?void 0x0:_0x91f8cb?Be(_0x4d26e1,_0x1aae52):_0x4d26e1,_0xe8641e=_0x4f5ca8[_0x2ccd69(0x11b)]-0x1,_0x481d71;_0xe8641e>=0x0;_0xe8641e--)(_0x481d71=_0x4f5ca8[_0xe8641e])&&(_0x5e4b9a=_0x481d71(_0x5e4b9a)||_0x5e4b9a);return _0x5e4b9a;},y=(_0x24f47d,_0x59f98c)=>(_0x173aa5,_0x271336)=>_0x59f98c(_0x173aa5,_0x271336,_0x24f47d),Je=(_0x139bcc,_0x45394b,_0x7905ac)=>qe(_0x139bcc,_0x45394b+'',_0x7905ac);let A=class extends _0x48b334{constructor(_0x323d58=H,_0x4545d1,_0x110fa8,_0x6538ce,_0x2e1fbf,_0x2b74b6){var _0x13fca0=_0x18b954;super(),this['_config']=_0x323d58,this[_0x13fca0(0xca)]=_0x4545d1,this['_configService']=_0x110fa8,this['_uiPartsService']=_0x6538ce,this['_localStorageService']=_0x2e1fbf,this['_localeService']=_0x2b74b6;const {..._0x159eca}=_0x121b24({},H,this[_0x13fca0(0xdf)]);this['_configService']['setConfig'](K,_0x159eca),this[_0x13fca0(0xe5)][_0x13fca0(0x9a)]({'zhCN':We,'enUS':He});}async['onStarting'](){var _0x12d1e5=_0x18b954;[[x],[S],[b]][_0x12d1e5(0xb2)](_0x1ecdb5=>this[_0x12d1e5(0xca)][_0x12d1e5(0x74)](_0x1ecdb5)),this['_injector']['get'](x),this[_0x12d1e5(0xca)][_0x12d1e5(0xc6)](S),this[_0x12d1e5(0xca)][_0x12d1e5(0xc6)](b);}};Je(A,_0x18b954(0x111),'MCP_UI_PLUGIN'),A=Xe([_0x597ce7(_0xe91f0c),y(0x1,_0x10bf36(_0x48abb6)),y(0x2,_0x3aa9b6),y(0x3,_0x37c99c),y(0x4,_0xaed26f),y(0x5,_0x10bf36(_0x1cc567))],A);export{be as MCPConfigPanel,S as MCPConfigUIController,x as MCPConnectionUIController,je as MCPStatusDisplay,b as MCPUIMenuController,G as OpenMCPConfigPanelCommand,A as UniverMCPUIPlugin,He as enUS,We as zhCN};
@@ -0,0 +1 @@
1
+ const _0x1edf25=_0x58ce;(function(_0x25dc02,_0x41f987){const _0x5c81d9=_0x58ce,_0x3f0df7=_0x25dc02();while(!![]){try{const _0x5a9ba2=-parseInt(_0x5c81d9(0xea))/0x1+parseInt(_0x5c81d9(0xec))/0x2+-parseInt(_0x5c81d9(0x105))/0x3*(-parseInt(_0x5c81d9(0xfd))/0x4)+-parseInt(_0x5c81d9(0xe8))/0x5*(parseInt(_0x5c81d9(0x10a))/0x6)+-parseInt(_0x5c81d9(0x106))/0x7+-parseInt(_0x5c81d9(0xff))/0x8+parseInt(_0x5c81d9(0xfa))/0x9;if(_0x5a9ba2===_0x41f987)break;else _0x3f0df7['push'](_0x3f0df7['shift']());}catch(_0x534d8a){_0x3f0df7['push'](_0x3f0df7['shift']());}}}(_0x4bf1,0x404df));function _0x4bf1(){const _0x3175c8=['MCP\x20Retrying...','174159sFAjrk','Click\x20to\x20disconnect\x20MCP','303362MVyNuG','Your\x20API\x20key\x20will\x20be\x20stored\x20locally\x20in\x20this\x20browser','Connection\x20Information','API\x20Key','Click\x20to\x20configure\x20MCP','Save\x20Configuration','MCP\x20Connection\x20Failed','Enter\x20your\x20API\x20key','MCP\x20Disconnected','MCP\x20Connecting...','MCP\x20Unknown\x20Status','MCP\x20Connected','Server\x20Endpoint','Your\x20API\x20key\x20is\x20stored\x20securely\x20in\x20local\x20storage','10076103OXVUlY','MCP:\x20Invalid\x20API\x20Key','Configure\x20your\x20MCP\x20connection\x20settings','700424FyyoSz','Click\x20to\x20connect\x20MCP','3160664qhMvwI','Saving...','Configuration\x20saved\x20successfully','API\x20key\x20is\x20required','Session\x20ID','Invalid\x20configuration','6bVsTuV','3138058fZqKKV','MCP:\x20Session\x20Occupied','Invalid\x20API\x20key,\x20please\x20check\x20if\x20the\x20key\x20is\x20correct','API\x20key\x20must\x20be\x20at\x20least\x2010\x20characters\x20long','681066hjKKRn','MCP:\x20API\x20Key\x20Missing','Enable\x20Authentication','15HugzyP'];_0x4bf1=function(){return _0x3175c8;};return _0x4bf1();}const e={'mcpStatus':{'disconnected':_0x1edf25(0xf4),'connecting':_0x1edf25(0xf5),'connected':_0x1edf25(0xf7),'failed':_0x1edf25(0xf2),'retrying':_0x1edf25(0xe9),'unknown':_0x1edf25(0xf6),'missingApiKey':_0x1edf25(0x10b),'invalidApiKey':_0x1edf25(0xfb),'sessionOccupied':_0x1edf25(0x107),'networkError':'MCP:\x20Network\x20Error','maxRetriesExceeded':'MCP:\x20Max\x20Retries\x20Exceeded','clickToConnect':_0x1edf25(0xfe),'clickToDisconnect':_0x1edf25(0xeb),'clickToConfigure':_0x1edf25(0xf0)},'mcpConfig':{'title':'MCP\x20Configuration','description':_0x1edf25(0xfc),'apiKey':_0x1edf25(0xef),'apiKeyPlaceholder':_0x1edf25(0xf3),'apiKeyHint':_0x1edf25(0xed),'enableAuth':_0x1edf25(0xe7),'enableAuthHint':'Enable\x20authentication\x20for\x20secure\x20connections','connectionInfo':_0x1edf25(0xee),'serverEndpoint':_0x1edf25(0xf8),'sessionId':_0x1edf25(0x103),'maxRetries':'Max\x20Retries','save':_0x1edf25(0xf1),'saving':_0x1edf25(0x100),'note1':'Configuration\x20changes\x20will\x20take\x20effect\x20immediately','note2':_0x1edf25(0xf9),'configSaved':_0x1edf25(0x101),'configError':'Failed\x20to\x20save\x20configuration','validation':{'apiKeyRequired':_0x1edf25(0x102),'apiKeyTooShort':_0x1edf25(0x109),'invalidConfig':_0x1edf25(0x104),'invalidApiKey':_0x1edf25(0x108)}}},n=e;function _0x58ce(_0x8e92c7,_0x48966a){const _0x4bf1d3=_0x4bf1();return _0x58ce=function(_0x58ceba,_0x14dcbc){_0x58ceba=_0x58ceba-0xe7;let _0x3f84d3=_0x4bf1d3[_0x58ceba];return _0x3f84d3;},_0x58ce(_0x8e92c7,_0x48966a);}export{n as default};
@@ -0,0 +1 @@
1
+ function _0x1311(_0x2f44c7,_0x1a3712){const _0x1e7251=_0x1e72();return _0x1311=function(_0x13113f,_0x3dff8f){_0x13113f=_0x13113f-0x145;let _0x48ce22=_0x1e7251[_0x13113f];return _0x48ce22;},_0x1311(_0x2f44c7,_0x1a3712);}function _0x1e72(){const _0x5536f0=['MCP\x20Configuration','Enable\x20Authentication','MCP:\x20Session\x20Occupied','Configure\x20your\x20MCP\x20connection\x20settings','MCP:\x20Network\x20Error','115vPIQMS','Server\x20Endpoint','Your\x20API\x20key\x20is\x20stored\x20securely\x20in\x20local\x20storage','Invalid\x20API\x20key,\x20please\x20check\x20if\x20the\x20key\x20is\x20correct','Configuration\x20changes\x20will\x20take\x20effect\x20immediately','Click\x20to\x20connect\x20MCP','MCP:\x20Invalid\x20API\x20Key','Failed\x20to\x20save\x20configuration','MCP\x20Disconnected','35287020aGqKIw','Save\x20Configuration','20XwklVo','Connection\x20Information','632rSfBBt','API\x20Key','Max\x20Retries','API\x20key\x20must\x20be\x20at\x20least\x2010\x20characters\x20long','Enable\x20authentication\x20for\x20secure\x20connections','Click\x20to\x20configure\x20MCP','Click\x20to\x20disconnect\x20MCP','714209ZNgcvg','Saving...','593937fkveFO','MCP:\x20API\x20Key\x20Missing','10330306YCXGEb','2859202LZjntu','MCP\x20Connected','119250mqKbXD','MCP\x20Connecting...','Session\x20ID','Configuration\x20saved\x20successfully','API\x20key\x20is\x20required','Invalid\x20configuration','253890GAJFNo'];_0x1e72=function(){return _0x5536f0;};return _0x1e72();}const _0x2928ab=_0x1311;(function(_0x2b83d9,_0x27188e){const _0x1114e1=_0x1311,_0x55ed82=_0x2b83d9();while(!![]){try{const _0x4f8d48=-parseInt(_0x1114e1(0x14b))/0x1+-parseInt(_0x1114e1(0x150))/0x2+-parseInt(_0x1114e1(0x14d))/0x3*(-parseInt(_0x1114e1(0x169))/0x4)+-parseInt(_0x1114e1(0x15e))/0x5*(-parseInt(_0x1114e1(0x158))/0x6)+-parseInt(_0x1114e1(0x14f))/0x7+parseInt(_0x1114e1(0x16b))/0x8*(-parseInt(_0x1114e1(0x152))/0x9)+parseInt(_0x1114e1(0x167))/0xa;if(_0x4f8d48===_0x27188e)break;else _0x55ed82['push'](_0x55ed82['shift']());}catch(_0x28b16f){_0x55ed82['push'](_0x55ed82['shift']());}}}(_0x1e72,0xc98b4));const e={'mcpStatus':{'disconnected':_0x2928ab(0x166),'connecting':_0x2928ab(0x153),'connected':_0x2928ab(0x151),'failed':'MCP\x20Connection\x20Failed','retrying':'MCP\x20Retrying...','unknown':'MCP\x20Unknown\x20Status','missingApiKey':_0x2928ab(0x14e),'invalidApiKey':_0x2928ab(0x164),'sessionOccupied':_0x2928ab(0x15b),'networkError':_0x2928ab(0x15d),'maxRetriesExceeded':'MCP:\x20Max\x20Retries\x20Exceeded','clickToConnect':_0x2928ab(0x163),'clickToDisconnect':_0x2928ab(0x14a),'clickToConfigure':_0x2928ab(0x149)},'mcpConfig':{'title':_0x2928ab(0x159),'description':_0x2928ab(0x15c),'apiKey':_0x2928ab(0x145),'apiKeyPlaceholder':'Enter\x20your\x20API\x20key','apiKeyHint':'Your\x20API\x20key\x20will\x20be\x20stored\x20locally\x20in\x20this\x20browser','enableAuth':_0x2928ab(0x15a),'enableAuthHint':_0x2928ab(0x148),'connectionInfo':_0x2928ab(0x16a),'serverEndpoint':_0x2928ab(0x15f),'sessionId':_0x2928ab(0x154),'maxRetries':_0x2928ab(0x146),'save':_0x2928ab(0x168),'saving':_0x2928ab(0x14c),'note1':_0x2928ab(0x162),'note2':_0x2928ab(0x160),'configSaved':_0x2928ab(0x155),'configError':_0x2928ab(0x165),'validation':{'apiKeyRequired':_0x2928ab(0x156),'apiKeyTooShort':_0x2928ab(0x147),'invalidConfig':_0x2928ab(0x157),'invalidApiKey':_0x2928ab(0x161)}}};export{e as default};
@@ -0,0 +1 @@
1
+ function _0x30b6(){const _0x117b98=['44578990tNwXOg','Configuration\x20saved\x20successfully','Enable\x20Authentication','Click\x20to\x20configure\x20MCP','Enter\x20your\x20API\x20key','441270qABrma','Max\x20Retries','Click\x20to\x20connect\x20MCP','Saving...','849392jWpeTO','API\x20Key','Failed\x20to\x20save\x20configuration','Enable\x20authentication\x20for\x20secure\x20connections','MCP:\x20Session\x20Occupied','API\x20key\x20is\x20required','4gxGUUi','Session\x20ID','Click\x20to\x20disconnect\x20MCP','MCP\x20Disconnected','Invalid\x20API\x20key,\x20please\x20check\x20if\x20the\x20key\x20is\x20correct','MCP\x20Configuration','MCP:\x20Network\x20Error','MCP\x20Unknown\x20Status','Configuration\x20changes\x20will\x20take\x20effect\x20immediately','48uVjhve','Your\x20API\x20key\x20will\x20be\x20stored\x20locally\x20in\x20this\x20browser','75CufzzR','MCP\x20Connecting...','MCP:\x20API\x20Key\x20Missing','MCP\x20Retrying...','11281452rIjrPU','2255022nJtoOz','286763qtzqkl','Your\x20API\x20key\x20is\x20stored\x20securely\x20in\x20local\x20storage','MCP\x20Connected','Save\x20Configuration','1043127apblPS'];_0x30b6=function(){return _0x117b98;};return _0x30b6();}const _0x3d6d8a=_0xee51;(function(_0xdd7f7c,_0x5c95e9){const _0x5594e2=_0xee51,_0x486f0e=_0xdd7f7c();while(!![]){try{const _0x52f5ad=parseInt(_0x5594e2(0xe0))/0x1*(-parseInt(_0x5594e2(0xcf))/0x2)+-parseInt(_0x5594e2(0xdf))/0x3+-parseInt(_0x5594e2(0xc9))/0x4+parseInt(_0x5594e2(0xda))/0x5*(-parseInt(_0x5594e2(0xc5))/0x6)+-parseInt(_0x5594e2(0xde))/0x7+parseInt(_0x5594e2(0xd8))/0x8*(parseInt(_0x5594e2(0xbf))/0x9)+parseInt(_0x5594e2(0xc0))/0xa;if(_0x52f5ad===_0x5c95e9)break;else _0x486f0e['push'](_0x486f0e['shift']());}catch(_0xc9afc){_0x486f0e['push'](_0x486f0e['shift']());}}}(_0x30b6,0xdbf5e));const e={'mcpStatus':{'disconnected':_0x3d6d8a(0xd2),'connecting':_0x3d6d8a(0xdb),'connected':_0x3d6d8a(0xbd),'failed':'MCP\x20Connection\x20Failed','retrying':_0x3d6d8a(0xdd),'unknown':_0x3d6d8a(0xd6),'missingApiKey':_0x3d6d8a(0xdc),'invalidApiKey':'MCP:\x20Invalid\x20API\x20Key','sessionOccupied':_0x3d6d8a(0xcd),'networkError':_0x3d6d8a(0xd5),'maxRetriesExceeded':'MCP:\x20Max\x20Retries\x20Exceeded','clickToConnect':_0x3d6d8a(0xc7),'clickToDisconnect':_0x3d6d8a(0xd1),'clickToConfigure':_0x3d6d8a(0xc3)},'mcpConfig':{'title':_0x3d6d8a(0xd4),'description':'Configure\x20your\x20MCP\x20connection\x20settings','apiKey':_0x3d6d8a(0xca),'apiKeyPlaceholder':_0x3d6d8a(0xc4),'apiKeyHint':_0x3d6d8a(0xd9),'enableAuth':_0x3d6d8a(0xc2),'enableAuthHint':_0x3d6d8a(0xcc),'connectionInfo':'Connection\x20Information','serverEndpoint':'Server\x20Endpoint','sessionId':_0x3d6d8a(0xd0),'maxRetries':_0x3d6d8a(0xc6),'save':_0x3d6d8a(0xbe),'saving':_0x3d6d8a(0xc8),'note1':_0x3d6d8a(0xd7),'note2':_0x3d6d8a(0xbc),'configSaved':_0x3d6d8a(0xc1),'configError':_0x3d6d8a(0xcb),'validation':{'apiKeyRequired':_0x3d6d8a(0xce),'apiKeyTooShort':'API\x20key\x20must\x20be\x20at\x20least\x2010\x20characters\x20long','invalidConfig':'Invalid\x20configuration','invalidApiKey':_0x3d6d8a(0xd3)}}},n=e;function _0xee51(_0x49b675,_0x3e8d73){const _0x30b67d=_0x30b6();return _0xee51=function(_0xee511,_0x369c70){_0xee511=_0xee511-0xbc;let _0x5808cf=_0x30b67d[_0xee511];return _0x5808cf;},_0xee51(_0x49b675,_0x3e8d73);}export{n as default};
@@ -0,0 +1 @@
1
+ const _0x4ae557=_0x3b82;(function(_0x4df788,_0x4b8b5a){const _0x2ea888=_0x3b82,_0x2c1e82=_0x4df788();while(!![]){try{const _0x13023d=-parseInt(_0x2ea888(0x91))/0x1+parseInt(_0x2ea888(0x9c))/0x2+parseInt(_0x2ea888(0xa1))/0x3+parseInt(_0x2ea888(0x93))/0x4*(parseInt(_0x2ea888(0x95))/0x5)+-parseInt(_0x2ea888(0x92))/0x6+-parseInt(_0x2ea888(0xa2))/0x7*(parseInt(_0x2ea888(0xa6))/0x8)+parseInt(_0x2ea888(0xa9))/0x9;if(_0x13023d===_0x4b8b5a)break;else _0x2c1e82['push'](_0x2c1e82['shift']());}catch(_0x63efdc){_0x2c1e82['push'](_0x2c1e82['shift']());}}}(_0x458c,0x1a823));const e={'mcpStatus':{'disconnected':_0x4ae557(0x8e),'connecting':_0x4ae557(0x9a),'connected':_0x4ae557(0xaf),'failed':_0x4ae557(0xae),'retrying':_0x4ae557(0x99),'unknown':_0x4ae557(0xab),'missingApiKey':_0x4ae557(0x98),'invalidApiKey':'MCP:\x20Invalid\x20API\x20Key','sessionOccupied':_0x4ae557(0xa3),'networkError':_0x4ae557(0xaa),'maxRetriesExceeded':_0x4ae557(0xa8),'clickToConnect':'Click\x20to\x20connect\x20MCP','clickToDisconnect':_0x4ae557(0x90),'clickToConfigure':'Click\x20to\x20configure\x20MCP'},'mcpConfig':{'title':'MCP\x20Configuration','description':_0x4ae557(0x9e),'apiKey':_0x4ae557(0x96),'apiKeyPlaceholder':'Enter\x20your\x20API\x20key','apiKeyHint':_0x4ae557(0x8d),'enableAuth':_0x4ae557(0x9f),'enableAuthHint':_0x4ae557(0xa0),'connectionInfo':_0x4ae557(0x9b),'serverEndpoint':_0x4ae557(0xb1),'sessionId':_0x4ae557(0xa7),'maxRetries':_0x4ae557(0x94),'save':_0x4ae557(0x97),'saving':_0x4ae557(0xad),'note1':_0x4ae557(0x9d),'note2':'Your\x20API\x20key\x20is\x20stored\x20securely\x20in\x20local\x20storage','configSaved':_0x4ae557(0xb0),'configError':_0x4ae557(0xa4),'validation':{'apiKeyRequired':_0x4ae557(0xa5),'apiKeyTooShort':_0x4ae557(0xac),'invalidConfig':_0x4ae557(0x8f),'invalidApiKey':_0x4ae557(0x8c)}}},n=e;function _0x3b82(_0x3084b8,_0xfae511){const _0x458ca3=_0x458c();return _0x3b82=function(_0x3b8279,_0x485303){_0x3b8279=_0x3b8279-0x8c;let _0x2f590f=_0x458ca3[_0x3b8279];return _0x2f590f;},_0x3b82(_0x3084b8,_0xfae511);}export{n as default};function _0x458c(){const _0x34ca36=['Click\x20to\x20disconnect\x20MCP','43836TjHxHx','499986mcgJqQ','4MPYwth','Max\x20Retries','156605NFphGa','API\x20Key','Save\x20Configuration','MCP:\x20API\x20Key\x20Missing','MCP\x20Retrying...','MCP\x20Connecting...','Connection\x20Information','129092yCXZas','Configuration\x20changes\x20will\x20take\x20effect\x20immediately','Configure\x20your\x20MCP\x20connection\x20settings','Enable\x20Authentication','Enable\x20authentication\x20for\x20secure\x20connections','9843YMiAxG','658021RmVYCz','MCP:\x20Session\x20Occupied','Failed\x20to\x20save\x20configuration','API\x20key\x20is\x20required','16rWvVdQ','Session\x20ID','MCP:\x20Max\x20Retries\x20Exceeded','2921436LMOurR','MCP:\x20Network\x20Error','MCP\x20Unknown\x20Status','API\x20key\x20must\x20be\x20at\x20least\x2010\x20characters\x20long','Saving...','MCP\x20Connection\x20Failed','MCP\x20Connected','Configuration\x20saved\x20successfully','Server\x20Endpoint','Invalid\x20API\x20key,\x20please\x20check\x20if\x20the\x20key\x20is\x20correct','Your\x20API\x20key\x20will\x20be\x20stored\x20locally\x20in\x20this\x20browser','MCP\x20Disconnected','Invalid\x20configuration'];_0x458c=function(){return _0x34ca36;};return _0x458c();}
@@ -0,0 +1 @@
1
+ const _0x1df646=_0x413a;(function(_0x39156f,_0x4cfeee){const _0x198f1c=_0x413a,_0x186d88=_0x39156f();while(!![]){try{const _0x15082d=-parseInt(_0x198f1c(0xc4))/0x1*(parseInt(_0x198f1c(0xc0))/0x2)+-parseInt(_0x198f1c(0xdb))/0x3+-parseInt(_0x198f1c(0xe1))/0x4+parseInt(_0x198f1c(0xc1))/0x5+-parseInt(_0x198f1c(0xdd))/0x6+parseInt(_0x198f1c(0xd5))/0x7*(-parseInt(_0x198f1c(0xd9))/0x8)+parseInt(_0x198f1c(0xd6))/0x9;if(_0x15082d===_0x4cfeee)break;else _0x186d88['push'](_0x186d88['shift']());}catch(_0x2e03d5){_0x186d88['push'](_0x186d88['shift']());}}}(_0x421c,0xbb7ef));const e={'mcpStatus':{'disconnected':_0x1df646(0xd0),'connecting':'MCP\x20Connecting...','connected':_0x1df646(0xd4),'failed':_0x1df646(0xc6),'retrying':_0x1df646(0xdc),'unknown':_0x1df646(0xe5),'missingApiKey':_0x1df646(0xde),'invalidApiKey':_0x1df646(0xd1),'sessionOccupied':_0x1df646(0xcf),'networkError':_0x1df646(0xcd),'maxRetriesExceeded':_0x1df646(0xbf),'clickToConnect':_0x1df646(0xe0),'clickToDisconnect':_0x1df646(0xda),'clickToConfigure':_0x1df646(0xcb)},'mcpConfig':{'title':_0x1df646(0xc2),'description':_0x1df646(0xe3),'apiKey':_0x1df646(0xe2),'apiKeyPlaceholder':_0x1df646(0xe6),'apiKeyHint':_0x1df646(0xca),'enableAuth':'Enable\x20Authentication','enableAuthHint':_0x1df646(0xdf),'connectionInfo':_0x1df646(0xc8),'serverEndpoint':_0x1df646(0xc3),'sessionId':_0x1df646(0xd8),'maxRetries':'Max\x20Retries','save':_0x1df646(0xc9),'saving':_0x1df646(0xcc),'note1':_0x1df646(0xc5),'note2':_0x1df646(0xd7),'configSaved':_0x1df646(0xc7),'configError':_0x1df646(0xe4),'validation':{'apiKeyRequired':_0x1df646(0xd3),'apiKeyTooShort':_0x1df646(0xbe),'invalidConfig':_0x1df646(0xce),'invalidApiKey':_0x1df646(0xd2)}}},n=e;function _0x413a(_0xa36c35,_0x57e850){const _0x421c6c=_0x421c();return _0x413a=function(_0x413aa3,_0x2a8f63){_0x413aa3=_0x413aa3-0xbe;let _0x93ca5e=_0x421c6c[_0x413aa3];return _0x93ca5e;},_0x413a(_0xa36c35,_0x57e850);}function _0x421c(){const _0x2c4117=['MCP\x20Connected','42308HsfkGf','54552483nFTUSL','Your\x20API\x20key\x20is\x20stored\x20securely\x20in\x20local\x20storage','Session\x20ID','1048YZPvYf','Click\x20to\x20disconnect\x20MCP','3397827wdYrUw','MCP\x20Retrying...','5251884gaaaYw','MCP:\x20API\x20Key\x20Missing','Enable\x20authentication\x20for\x20secure\x20connections','Click\x20to\x20connect\x20MCP','5331688xABdCp','API\x20Key','Configure\x20your\x20MCP\x20connection\x20settings','Failed\x20to\x20save\x20configuration','MCP\x20Unknown\x20Status','Enter\x20your\x20API\x20key','API\x20key\x20must\x20be\x20at\x20least\x2010\x20characters\x20long','MCP:\x20Max\x20Retries\x20Exceeded','22856AvMZPf','1224245FKwyBy','MCP\x20Configuration','Server\x20Endpoint','123OIZAMT','Configuration\x20changes\x20will\x20take\x20effect\x20immediately','MCP\x20Connection\x20Failed','Configuration\x20saved\x20successfully','Connection\x20Information','Save\x20Configuration','Your\x20API\x20key\x20will\x20be\x20stored\x20locally\x20in\x20this\x20browser','Click\x20to\x20configure\x20MCP','Saving...','MCP:\x20Network\x20Error','Invalid\x20configuration','MCP:\x20Session\x20Occupied','MCP\x20Disconnected','MCP:\x20Invalid\x20API\x20Key','Invalid\x20API\x20key,\x20please\x20check\x20if\x20the\x20key\x20is\x20correct','API\x20key\x20is\x20required'];_0x421c=function(){return _0x2c4117;};return _0x421c();}export{n as default};
@@ -0,0 +1 @@
1
+ const _0x3e724d=_0x563e;function _0x563e(_0x201ce3,_0xcb6e3f){const _0x6eaf58=_0x6eaf();return _0x563e=function(_0x563e55,_0x534204){_0x563e55=_0x563e55-0x1af;let _0x1fed31=_0x6eaf58[_0x563e55];return _0x1fed31;},_0x563e(_0x201ce3,_0xcb6e3f);}(function(_0x302bc4,_0x3ce879){const _0x4b600e=_0x563e,_0x1c277c=_0x302bc4();while(!![]){try{const _0x3ca42c=-parseInt(_0x4b600e(0x1bd))/0x1*(-parseInt(_0x4b600e(0x1b2))/0x2)+-parseInt(_0x4b600e(0x1d0))/0x3*(-parseInt(_0x4b600e(0x1ba))/0x4)+parseInt(_0x4b600e(0x1ce))/0x5*(parseInt(_0x4b600e(0x1bf))/0x6)+-parseInt(_0x4b600e(0x1d4))/0x7*(parseInt(_0x4b600e(0x1cf))/0x8)+parseInt(_0x4b600e(0x1b3))/0x9+parseInt(_0x4b600e(0x1b1))/0xa+parseInt(_0x4b600e(0x1cb))/0xb*(-parseInt(_0x4b600e(0x1c0))/0xc);if(_0x3ca42c===_0x3ce879)break;else _0x1c277c['push'](_0x1c277c['shift']());}catch(_0x17f6fe){_0x1c277c['push'](_0x1c277c['shift']());}}}(_0x6eaf,0xcafc9));const e={'mcpStatus':{'disconnected':'MCP\x20Disconnected','connecting':_0x3e724d(0x1d7),'connected':_0x3e724d(0x1d2),'failed':_0x3e724d(0x1b6),'retrying':_0x3e724d(0x1c7),'unknown':_0x3e724d(0x1c4),'missingApiKey':'MCP:\x20API\x20Key\x20Missing','invalidApiKey':_0x3e724d(0x1c3),'sessionOccupied':_0x3e724d(0x1be),'networkError':_0x3e724d(0x1c2),'maxRetriesExceeded':_0x3e724d(0x1c9),'clickToConnect':_0x3e724d(0x1cc),'clickToDisconnect':_0x3e724d(0x1d8),'clickToConfigure':_0x3e724d(0x1b0)},'mcpConfig':{'title':_0x3e724d(0x1ca),'description':_0x3e724d(0x1af),'apiKey':_0x3e724d(0x1b7),'apiKeyPlaceholder':_0x3e724d(0x1d3),'apiKeyHint':_0x3e724d(0x1cd),'enableAuth':_0x3e724d(0x1b8),'enableAuthHint':_0x3e724d(0x1c8),'connectionInfo':_0x3e724d(0x1bc),'serverEndpoint':_0x3e724d(0x1da),'sessionId':_0x3e724d(0x1b4),'maxRetries':_0x3e724d(0x1c6),'save':_0x3e724d(0x1c5),'saving':_0x3e724d(0x1d6),'note1':_0x3e724d(0x1d9),'note2':_0x3e724d(0x1b5),'configSaved':_0x3e724d(0x1d5),'configError':_0x3e724d(0x1bb),'validation':{'apiKeyRequired':_0x3e724d(0x1b9),'apiKeyTooShort':_0x3e724d(0x1d1),'invalidConfig':_0x3e724d(0x1c1),'invalidApiKey':'Invalid\x20API\x20key,\x20please\x20check\x20if\x20the\x20key\x20is\x20correct'}}},n=e;function _0x6eaf(){const _0x451b86=['Configuration\x20changes\x20will\x20take\x20effect\x20immediately','Server\x20Endpoint','Configure\x20your\x20MCP\x20connection\x20settings','Click\x20to\x20configure\x20MCP','3616710cMAOBj','28kAgMxo','8229699ikDdDg','Session\x20ID','Your\x20API\x20key\x20is\x20stored\x20securely\x20in\x20local\x20storage','MCP\x20Connection\x20Failed','API\x20Key','Enable\x20Authentication','API\x20key\x20is\x20required','5944pbfFoO','Failed\x20to\x20save\x20configuration','Connection\x20Information','84003WEJxsu','MCP:\x20Session\x20Occupied','7100022OrpuKV','84eWjIxj','Invalid\x20configuration','MCP:\x20Network\x20Error','MCP:\x20Invalid\x20API\x20Key','MCP\x20Unknown\x20Status','Save\x20Configuration','Max\x20Retries','MCP\x20Retrying...','Enable\x20authentication\x20for\x20secure\x20connections','MCP:\x20Max\x20Retries\x20Exceeded','MCP\x20Configuration','4927813uvBdhR','Click\x20to\x20connect\x20MCP','Your\x20API\x20key\x20will\x20be\x20stored\x20locally\x20in\x20this\x20browser','5WtskVD','8BQWgIm','2043QEZUld','API\x20key\x20must\x20be\x20at\x20least\x2010\x20characters\x20long','MCP\x20Connected','Enter\x20your\x20API\x20key','4760791gqqzCL','Configuration\x20saved\x20successfully','Saving...','MCP\x20Connecting...','Click\x20to\x20disconnect\x20MCP'];_0x6eaf=function(){return _0x451b86;};return _0x6eaf();}export{n as default};
@@ -0,0 +1 @@
1
+ const _0x21ba3f=_0x1372;(function(_0x41266d,_0x24e36d){const _0x3771e2=_0x1372,_0x5b2dea=_0x41266d();while(!![]){try{const _0x4220b3=-parseInt(_0x3771e2(0xaa))/0x1*(parseInt(_0x3771e2(0xa9))/0x2)+-parseInt(_0x3771e2(0xb3))/0x3*(-parseInt(_0x3771e2(0xbb))/0x4)+-parseInt(_0x3771e2(0xab))/0x5+-parseInt(_0x3771e2(0xa7))/0x6*(-parseInt(_0x3771e2(0xb1))/0x7)+-parseInt(_0x3771e2(0xc5))/0x8+parseInt(_0x3771e2(0xa5))/0x9*(parseInt(_0x3771e2(0xc2))/0xa)+-parseInt(_0x3771e2(0xb6))/0xb*(-parseInt(_0x3771e2(0xb7))/0xc);if(_0x4220b3===_0x24e36d)break;else _0x5b2dea['push'](_0x5b2dea['shift']());}catch(_0x1092c6){_0x5b2dea['push'](_0x5b2dea['shift']());}}}(_0x39c3,0xd04a2));function _0x1372(_0x2f8135,_0xb0045a){const _0x39c393=_0x39c3();return _0x1372=function(_0x1372a3,_0x34e96a){_0x1372a3=_0x1372a3-0xa5;let _0x4aeb5f=_0x39c393[_0x1372a3];return _0x4aeb5f;},_0x1372(_0x2f8135,_0xb0045a);}const e={'mcpStatus':{'disconnected':_0x21ba3f(0xc3),'connecting':_0x21ba3f(0xc1),'connected':_0x21ba3f(0xac),'failed':_0x21ba3f(0xc6),'retrying':_0x21ba3f(0xb0),'unknown':_0x21ba3f(0xbe),'missingApiKey':'MCP:\x20API\x20Key\x20Missing','invalidApiKey':_0x21ba3f(0xb5),'sessionOccupied':_0x21ba3f(0xbf),'networkError':'MCP:\x20Network\x20Error','maxRetriesExceeded':'MCP:\x20Max\x20Retries\x20Exceeded','clickToConnect':_0x21ba3f(0xb2),'clickToDisconnect':_0x21ba3f(0xad),'clickToConfigure':_0x21ba3f(0xc9)},'mcpConfig':{'title':_0x21ba3f(0xae),'description':_0x21ba3f(0xa8),'apiKey':_0x21ba3f(0xb9),'apiKeyPlaceholder':_0x21ba3f(0xba),'apiKeyHint':_0x21ba3f(0xc8),'enableAuth':'Enable\x20Authentication','enableAuthHint':_0x21ba3f(0xcc),'connectionInfo':'Connection\x20Information','serverEndpoint':'Server\x20Endpoint','sessionId':_0x21ba3f(0xc7),'maxRetries':_0x21ba3f(0xbc),'save':_0x21ba3f(0xb8),'saving':_0x21ba3f(0xc4),'note1':'Configuration\x20changes\x20will\x20take\x20effect\x20immediately','note2':_0x21ba3f(0xa6),'configSaved':_0x21ba3f(0xca),'configError':_0x21ba3f(0xbd),'validation':{'apiKeyRequired':_0x21ba3f(0xb4),'apiKeyTooShort':_0x21ba3f(0xaf),'invalidConfig':_0x21ba3f(0xcb),'invalidApiKey':_0x21ba3f(0xc0)}}},n=e;function _0x39c3(){const _0x59bc1a=['API\x20key\x20is\x20required','MCP:\x20Invalid\x20API\x20Key','1126730HVfaXe','48vYXkZn','Save\x20Configuration','API\x20Key','Enter\x20your\x20API\x20key','4RowOAR','Max\x20Retries','Failed\x20to\x20save\x20configuration','MCP\x20Unknown\x20Status','MCP:\x20Session\x20Occupied','Invalid\x20API\x20key,\x20please\x20check\x20if\x20the\x20key\x20is\x20correct','MCP\x20Connecting...','410cIlRGO','MCP\x20Disconnected','Saving...','10452888AlNBQp','MCP\x20Connection\x20Failed','Session\x20ID','Your\x20API\x20key\x20will\x20be\x20stored\x20locally\x20in\x20this\x20browser','Click\x20to\x20configure\x20MCP','Configuration\x20saved\x20successfully','Invalid\x20configuration','Enable\x20authentication\x20for\x20secure\x20connections','242037dQwRDO','Your\x20API\x20key\x20is\x20stored\x20securely\x20in\x20local\x20storage','10042014gOWrum','Configure\x20your\x20MCP\x20connection\x20settings','828562zydTgp','1LWWpOh','3685765iISvHM','MCP\x20Connected','Click\x20to\x20disconnect\x20MCP','MCP\x20Configuration','API\x20key\x20must\x20be\x20at\x20least\x2010\x20characters\x20long','MCP\x20Retrying...','7UNzEgJ','Click\x20to\x20connect\x20MCP','375591rBNAeA'];_0x39c3=function(){return _0x59bc1a;};return _0x39c3();}export{n as default};
@@ -0,0 +1 @@
1
+ const _0x51e7e0=_0x2f5f;function _0x2f5f(_0x1ce55e,_0x162441){const _0x16f2a9=_0x16f2();return _0x2f5f=function(_0x2f5f6a,_0x6ab2ed){_0x2f5f6a=_0x2f5f6a-0xae;let _0x3bc124=_0x16f2a9[_0x2f5f6a];return _0x3bc124;},_0x2f5f(_0x1ce55e,_0x162441);}(function(_0x2398d8,_0x2577d5){const _0x30c415=_0x2f5f,_0x5eeea3=_0x2398d8();while(!![]){try{const _0x3e91ae=-parseInt(_0x30c415(0xd0))/0x1*(-parseInt(_0x30c415(0xb5))/0x2)+parseInt(_0x30c415(0xc3))/0x3*(parseInt(_0x30c415(0xae))/0x4)+-parseInt(_0x30c415(0xb6))/0x5*(parseInt(_0x30c415(0xaf))/0x6)+-parseInt(_0x30c415(0xb1))/0x7+parseInt(_0x30c415(0xca))/0x8+parseInt(_0x30c415(0xd3))/0x9*(-parseInt(_0x30c415(0xc6))/0xa)+-parseInt(_0x30c415(0xba))/0xb*(-parseInt(_0x30c415(0xc7))/0xc);if(_0x3e91ae===_0x2577d5)break;else _0x5eeea3['push'](_0x5eeea3['shift']());}catch(_0x104a01){_0x5eeea3['push'](_0x5eeea3['shift']());}}}(_0x16f2,0x295fc));function _0x16f2(){const _0xb78fa2=['API\x20key\x20must\x20be\x20at\x20least\x2010\x20characters\x20long','Click\x20to\x20configure\x20MCP','Click\x20to\x20disconnect\x20MCP','Saving...','964wyFUsy','Server\x20Endpoint','MCP\x20Connected','9aTkSDM','API\x20key\x20is\x20required','Your\x20API\x20key\x20is\x20stored\x20securely\x20in\x20local\x20storage','MCP:\x20Session\x20Occupied','20ozjqYh','6ABtxYh','Configuration\x20changes\x20will\x20take\x20effect\x20immediately','1657887lIEKWn','Configure\x20your\x20MCP\x20connection\x20settings','Enter\x20your\x20API\x20key','Save\x20Configuration','366PmLHjL','403015bvryBF','MCP:\x20API\x20Key\x20Missing','Click\x20to\x20connect\x20MCP','Enable\x20authentication\x20for\x20secure\x20connections','22MwIKvN','API\x20Key','MCP:\x20Max\x20Retries\x20Exceeded','Session\x20ID','Invalid\x20configuration','Configuration\x20saved\x20successfully','MCP\x20Configuration','Enable\x20Authentication','Your\x20API\x20key\x20will\x20be\x20stored\x20locally\x20in\x20this\x20browser','28881mpLKHw','MCP\x20Connection\x20Failed','Failed\x20to\x20save\x20configuration','1065080gSWCmg','1987056ieFfjp','MCP\x20Disconnected','Max\x20Retries','301576xDYdSc','MCP:\x20Network\x20Error'];_0x16f2=function(){return _0xb78fa2;};return _0x16f2();}const e={'mcpStatus':{'disconnected':_0x51e7e0(0xc8),'connecting':'MCP\x20Connecting...','connected':_0x51e7e0(0xd2),'failed':_0x51e7e0(0xc4),'retrying':'MCP\x20Retrying...','unknown':'MCP\x20Unknown\x20Status','missingApiKey':_0x51e7e0(0xb7),'invalidApiKey':'MCP:\x20Invalid\x20API\x20Key','sessionOccupied':_0x51e7e0(0xd6),'networkError':_0x51e7e0(0xcb),'maxRetriesExceeded':_0x51e7e0(0xbc),'clickToConnect':_0x51e7e0(0xb8),'clickToDisconnect':_0x51e7e0(0xce),'clickToConfigure':_0x51e7e0(0xcd)},'mcpConfig':{'title':_0x51e7e0(0xc0),'description':_0x51e7e0(0xb2),'apiKey':_0x51e7e0(0xbb),'apiKeyPlaceholder':_0x51e7e0(0xb3),'apiKeyHint':_0x51e7e0(0xc2),'enableAuth':_0x51e7e0(0xc1),'enableAuthHint':_0x51e7e0(0xb9),'connectionInfo':'Connection\x20Information','serverEndpoint':_0x51e7e0(0xd1),'sessionId':_0x51e7e0(0xbd),'maxRetries':_0x51e7e0(0xc9),'save':_0x51e7e0(0xb4),'saving':_0x51e7e0(0xcf),'note1':_0x51e7e0(0xb0),'note2':_0x51e7e0(0xd5),'configSaved':_0x51e7e0(0xbf),'configError':_0x51e7e0(0xc5),'validation':{'apiKeyRequired':_0x51e7e0(0xd4),'apiKeyTooShort':_0x51e7e0(0xcc),'invalidConfig':_0x51e7e0(0xbe),'invalidApiKey':'Invalid\x20API\x20key,\x20please\x20check\x20if\x20the\x20key\x20is\x20correct'}}},n=e;export{n as default};
@@ -0,0 +1 @@
1
+ const _0x408e3b=_0x23a1;function _0x4d45(){const _0x27be52=['点击配置\x20MCP','16056620NNiblS','启用身份验证以获得安全连接','API\x20密钥长度至少需要\x2010\x20位','点击断开\x20MCP','会话ID','配置保存成功','配置您的\x20MCP\x20连接设置','6rVxruO','保存配置','235vGfYlz','8WqoluW','2317147qItobW','2465676lFyVSx','API\x20密钥无效,请检查密钥是否正确','46636UxgQVJ','MCP\x20状态未知','MCP\x20已断开','MCP\x20连接失败','点击连接\x20MCP','服务器端点','MCP:\x20超出最大重试次数','API\x20密钥不能为空','API\x20密钥','809679DsQoDj','配置更改将立即生效','540336WYfIYQ','MCP\x20已连接','MCP\x20重连中...','MCP\x20连接中...','MCP\x20配置','配置保存失败','MCP:\x20缺少\x20API\x20密钥','150692rBlqbg','MCP:\x20会话被占用','保存中...','配置无效'];_0x4d45=function(){return _0x27be52;};return _0x4d45();}(function(_0x58e201,_0x2da70f){const _0x1f7379=_0x23a1,_0xd5c2af=_0x58e201();while(!![]){try{const _0x1068e8=parseInt(_0x1f7379(0x120))/0x1+-parseInt(_0x1f7379(0x127))/0x2+parseInt(_0x1f7379(0x11e))/0x3+parseInt(_0x1f7379(0x13a))/0x4*(parseInt(_0x1f7379(0x135))/0x5)+-parseInt(_0x1f7379(0x133))/0x6*(-parseInt(_0x1f7379(0x137))/0x7)+parseInt(_0x1f7379(0x136))/0x8*(parseInt(_0x1f7379(0x138))/0x9)+-parseInt(_0x1f7379(0x12c))/0xa;if(_0x1068e8===_0x2da70f)break;else _0xd5c2af['push'](_0xd5c2af['shift']());}catch(_0xe2c369){_0xd5c2af['push'](_0xd5c2af['shift']());}}}(_0x4d45,0x44e43));function _0x23a1(_0x5f3d9c,_0x661c1a){const _0x4d4592=_0x4d45();return _0x23a1=function(_0x23a12a,_0x83e637){_0x23a12a=_0x23a12a-0x11c;let _0x4ff0cd=_0x4d4592[_0x23a12a];return _0x4ff0cd;},_0x23a1(_0x5f3d9c,_0x661c1a);}const e={'mcpStatus':{'disconnected':_0x408e3b(0x13c),'connecting':_0x408e3b(0x123),'connected':_0x408e3b(0x121),'failed':_0x408e3b(0x13d),'retrying':_0x408e3b(0x122),'unknown':_0x408e3b(0x13b),'missingApiKey':_0x408e3b(0x126),'invalidApiKey':'MCP:\x20无效的\x20API\x20密钥','sessionOccupied':_0x408e3b(0x128),'networkError':'MCP:\x20网络错误','maxRetriesExceeded':_0x408e3b(0x140),'clickToConnect':_0x408e3b(0x13e),'clickToDisconnect':_0x408e3b(0x12f),'clickToConfigure':_0x408e3b(0x12b)},'mcpConfig':{'title':_0x408e3b(0x124),'description':_0x408e3b(0x132),'apiKey':_0x408e3b(0x11d),'apiKeyPlaceholder':'请输入您的\x20API\x20密钥','apiKeyHint':'您的\x20API\x20密钥将在此浏览器中本地存储','enableAuth':'启用身份验证','enableAuthHint':_0x408e3b(0x12d),'connectionInfo':'连接信息','serverEndpoint':_0x408e3b(0x13f),'sessionId':_0x408e3b(0x130),'maxRetries':'最大重试次数','save':_0x408e3b(0x134),'saving':_0x408e3b(0x129),'note1':_0x408e3b(0x11f),'note2':'您的\x20API\x20密钥安全存储在本地存储中','configSaved':_0x408e3b(0x131),'configError':_0x408e3b(0x125),'validation':{'apiKeyRequired':_0x408e3b(0x11c),'apiKeyTooShort':_0x408e3b(0x12e),'invalidConfig':_0x408e3b(0x12a),'invalidApiKey':_0x408e3b(0x139)}}};export{e as default};
@@ -0,0 +1 @@
1
+ function _0x5517(){const _0x254ab2=['MCP:\x20Invalid\x20API\x20Key','Your\x20API\x20key\x20will\x20be\x20stored\x20locally\x20in\x20this\x20browser','MCP\x20Connection\x20Failed','2020750ZCYhLs','Configuration\x20saved\x20successfully','Connection\x20Information','MCP\x20Configuration','MCP:\x20Max\x20Retries\x20Exceeded','3VIRXXO','Server\x20Endpoint','202221NwKWmB','56Ulsyuc','MCP:\x20API\x20Key\x20Missing','827565graRmr','178786HLmEbO','Invalid\x20configuration','MCP\x20Disconnected','MCP\x20Retrying...','1058937sWrgaK','MCP\x20Unknown\x20Status','Invalid\x20API\x20key,\x20please\x20check\x20if\x20the\x20key\x20is\x20correct','MCP\x20Connected','154210FDgXEe','Failed\x20to\x20save\x20configuration','API\x20Key','6YoUZQu','MCP:\x20Session\x20Occupied','Enter\x20your\x20API\x20key','1hTdsOe','Click\x20to\x20connect\x20MCP','MCP\x20Connecting...','Session\x20ID','MCP:\x20Network\x20Error','300592fzussh','Enable\x20Authentication','API\x20key\x20is\x20required','API\x20key\x20must\x20be\x20at\x20least\x2010\x20characters\x20long','Your\x20API\x20key\x20is\x20stored\x20securely\x20in\x20local\x20storage'];_0x5517=function(){return _0x254ab2;};return _0x5517();}const _0x26f326=_0x8eea;(function(_0x430457,_0x43f768){const _0x52339d=_0x8eea,_0x314c36=_0x430457();while(!![]){try{const _0x2156bf=-parseInt(_0x52339d(0x1c4))/0x1*(parseInt(_0x52339d(0x1b6))/0x2)+parseInt(_0x52339d(0x1b0))/0x3*(parseInt(_0x52339d(0x1c9))/0x4)+-parseInt(_0x52339d(0x1b5))/0x5*(parseInt(_0x52339d(0x1c1))/0x6)+parseInt(_0x52339d(0x1be))/0x7+parseInt(_0x52339d(0x1b3))/0x8*(parseInt(_0x52339d(0x1b2))/0x9)+parseInt(_0x52339d(0x1ab))/0xa+-parseInt(_0x52339d(0x1ba))/0xb;if(_0x2156bf===_0x43f768)break;else _0x314c36['push'](_0x314c36['shift']());}catch(_0x29eafb){_0x314c36['push'](_0x314c36['shift']());}}}(_0x5517,0x19b93));const e={'mcpStatus':{'disconnected':_0x26f326(0x1b8),'connecting':_0x26f326(0x1c6),'connected':_0x26f326(0x1bd),'failed':_0x26f326(0x1aa),'retrying':_0x26f326(0x1b9),'unknown':_0x26f326(0x1bb),'missingApiKey':_0x26f326(0x1b4),'invalidApiKey':_0x26f326(0x1a8),'sessionOccupied':_0x26f326(0x1c2),'networkError':_0x26f326(0x1c8),'maxRetriesExceeded':_0x26f326(0x1af),'clickToConnect':_0x26f326(0x1c5),'clickToDisconnect':'Click\x20to\x20disconnect\x20MCP','clickToConfigure':'Click\x20to\x20configure\x20MCP'},'mcpConfig':{'title':_0x26f326(0x1ae),'description':'Configure\x20your\x20MCP\x20connection\x20settings','apiKey':_0x26f326(0x1c0),'apiKeyPlaceholder':_0x26f326(0x1c3),'apiKeyHint':_0x26f326(0x1a9),'enableAuth':_0x26f326(0x1ca),'enableAuthHint':'Enable\x20authentication\x20for\x20secure\x20connections','connectionInfo':_0x26f326(0x1ad),'serverEndpoint':_0x26f326(0x1b1),'sessionId':_0x26f326(0x1c7),'maxRetries':'Max\x20Retries','save':'Save\x20Configuration','saving':'Saving...','note1':'Configuration\x20changes\x20will\x20take\x20effect\x20immediately','note2':_0x26f326(0x1a7),'configSaved':_0x26f326(0x1ac),'configError':_0x26f326(0x1bf),'validation':{'apiKeyRequired':_0x26f326(0x1cb),'apiKeyTooShort':_0x26f326(0x1cc),'invalidConfig':_0x26f326(0x1b7),'invalidApiKey':_0x26f326(0x1bc)}}},n=e;function _0x8eea(_0x4c6b8b,_0x28ea32){const _0x55171d=_0x5517();return _0x8eea=function(_0x8eea55,_0x299dce){_0x8eea55=_0x8eea55-0x1a7;let _0x1e5572=_0x55171d[_0x8eea55];return _0x1e5572;},_0x8eea(_0x4c6b8b,_0x28ea32);}export{n as default};
@@ -0,0 +1,7 @@
1
+ import { ICommand } from '@univerjs/core';
2
+ /**
3
+ * Command to open MCP Configuration Panel
4
+ */
5
+ export interface IOpenMCPConfigPanelCommandParams {
6
+ }
7
+ export declare const OpenMCPConfigPanelCommand: ICommand<IOpenMCPConfigPanelCommandParams>;
@@ -0,0 +1,6 @@
1
+ export declare const MCP_UI_PLUGIN_CONFIG_KEY = "mcp-ui.config";
2
+ export declare const configSymbol: unique symbol;
3
+ export interface IUniverMCPUIConfig {
4
+ showDeveloperTools?: boolean;
5
+ }
6
+ export declare const defaultPluginConfig: Required<IUniverMCPUIConfig>;
@@ -0,0 +1,57 @@
1
+ import { Disposable, IConfigService, ILocalStorageService, ILogService, Injector, LocaleService } from '@univerjs/core';
2
+ import { ComponentManager, IDialogService, IMessageService, IUIPartsService } from '@univerjs/ui';
3
+ /**
4
+ * MCP Configuration UI Controller
5
+ *
6
+ * Manages the configuration panel UI for Univer MCP Plugin:
7
+ * - Provides configuration interface for API key and settings
8
+ * - Manages localStorage persistence for API key
9
+ * - Synchronizes config changes with the core plugin
10
+ */
11
+ export declare class MCPConfigUIController extends Disposable {
12
+ private readonly _injector;
13
+ private readonly _uiPartsService;
14
+ private readonly _configService;
15
+ private readonly _localStorageService;
16
+ private readonly _dialogService;
17
+ private readonly _messageService;
18
+ private readonly _componentManager;
19
+ private readonly _localeService;
20
+ private readonly _logService;
21
+ private readonly _loading$;
22
+ private readonly _mcpCoreConfig$;
23
+ private readonly _config$;
24
+ constructor(_injector: Injector, _uiPartsService: IUIPartsService, _configService: IConfigService, _localStorageService: ILocalStorageService, _dialogService: IDialogService, _messageService: IMessageService, _componentManager: ComponentManager, _localeService: LocaleService, _logService: ILogService);
25
+ /**
26
+ * Show configuration panel
27
+ */
28
+ showConfigPanel(): void;
29
+ /**
30
+ * Get current configuration
31
+ */
32
+ getCurrentConfig(): any;
33
+ /**
34
+ * Register the config panel component
35
+ */
36
+ private _registerComponent;
37
+ /**
38
+ * Create the config panel component
39
+ */
40
+ private _createConfigPanelComponent;
41
+ /**
42
+ * Initialize configuration synchronization
43
+ */
44
+ private _initConfigSync;
45
+ /**
46
+ * Load stored API key from localStorage
47
+ */
48
+ private _loadStoredApiKey;
49
+ /**
50
+ * Validate configuration before saving using real API key validation
51
+ */
52
+ private _validateConfig;
53
+ /**
54
+ * Save configuration changes
55
+ */
56
+ private _handleConfigSave;
57
+ }
@@ -0,0 +1,57 @@
1
+ import { Observable } from 'rxjs';
2
+ import { MCPConnectionError, MCPConnectionStatus } from '@univerjs-pro/mcp';
3
+ import { Disposable, IConfigService, ILogService, Injector } from '@univerjs/core';
4
+ import { IUIPartsService } from '@univerjs/ui';
5
+ /**
6
+ * MCP Connection UI Controller
7
+ *
8
+ * Manages the UI display for MCP connection status:
9
+ * - Shows connection status in the header
10
+ * - Provides manual connect/disconnect functionality
11
+ * - Monitors connection state changes from the core plugin
12
+ */
13
+ export declare class MCPConnectionUIController extends Disposable {
14
+ private readonly _injector;
15
+ private readonly _uiPartsService;
16
+ private readonly _configService;
17
+ private readonly _logService;
18
+ private readonly _status$;
19
+ private readonly _error$;
20
+ constructor(_injector: Injector, _uiPartsService: IUIPartsService, _configService: IConfigService, _logService: ILogService);
21
+ /**
22
+ * Get current connection status
23
+ */
24
+ getStatus$(): Observable<MCPConnectionStatus>;
25
+ /**
26
+ * Get current connection error
27
+ */
28
+ getError$(): Observable<MCPConnectionError>;
29
+ /**
30
+ * Update connection status (called by events from core plugin)
31
+ */
32
+ updateStatus(status: MCPConnectionStatus, error?: MCPConnectionError): void;
33
+ /**
34
+ * Initialize status component in the UI
35
+ */
36
+ private _initStatusComponent;
37
+ /**
38
+ * Initialize real connection status listener from core plugin
39
+ */
40
+ private _initRealConnectionListener;
41
+ /**
42
+ * Fallback event listener for when core plugin is not available
43
+ */
44
+ private _initFallbackEventListener;
45
+ /**
46
+ * Handle manual connect action
47
+ */
48
+ private _handleConnect;
49
+ /**
50
+ * Handle manual disconnect action
51
+ */
52
+ private _handleDisconnect;
53
+ /**
54
+ * Handle open configuration panel
55
+ */
56
+ private _handleConfigure;
57
+ }
@@ -0,0 +1,12 @@
1
+ import { Disposable, ICommandService } from '@univerjs/core';
2
+ import { IMenuManagerService } from '@univerjs/ui';
3
+ /**
4
+ * Controller for handling MCP UI menu registrations
5
+ */
6
+ export declare class MCPUIMenuController extends Disposable {
7
+ private readonly _commandService;
8
+ private readonly _menuManagerService;
9
+ constructor(_commandService: ICommandService, _menuManagerService: IMenuManagerService);
10
+ private _initializeCommands;
11
+ private _initializeMenus;
12
+ }
@@ -0,0 +1,6 @@
1
+ import { IAccessor } from '@univerjs/core';
2
+ import { IMenuButtonItem } from '@univerjs/ui';
3
+ /**
4
+ * Menu factory for MCP Config Panel
5
+ */
6
+ export declare function MCPConfigMenuItemFactory(accessor: IAccessor): IMenuButtonItem;
@@ -0,0 +1,2 @@
1
+ import { MenuSchemaType } from '@univerjs/ui';
2
+ export declare const menuSchema: MenuSchemaType;
@@ -0,0 +1,10 @@
1
+ export { OpenMCPConfigPanelCommand } from './commands/mcp-config.command';
2
+ export type { IUniverMCPUIConfig } from './controllers/config.schema';
3
+ export { MCPConfigUIController } from './controllers/mcp-config-ui.controller';
4
+ export { MCPConnectionUIController } from './controllers/mcp-connection-ui.controller';
5
+ export { MCPUIMenuController } from './controllers/mcp-ui-menu.controller';
6
+ export { default as enUS } from './locale/en-US';
7
+ export { default as zhCN } from './locale/zh-CN';
8
+ export { UniverMCPUIPlugin } from './plugin';
9
+ export { MCPConfigPanel } from './views/components/mcp-config';
10
+ export { MCPStatusDisplay } from './views/components/mcp-status';
@@ -0,0 +1,3 @@
1
+ import { default as enUS } from './en-US';
2
+ declare const locale: typeof enUS;
3
+ export default locale;
@@ -0,0 +1,44 @@
1
+ declare const locale: {
2
+ mcpStatus: {
3
+ disconnected: string;
4
+ connecting: string;
5
+ connected: string;
6
+ failed: string;
7
+ retrying: string;
8
+ unknown: string;
9
+ missingApiKey: string;
10
+ invalidApiKey: string;
11
+ sessionOccupied: string;
12
+ networkError: string;
13
+ maxRetriesExceeded: string;
14
+ clickToConnect: string;
15
+ clickToDisconnect: string;
16
+ clickToConfigure: string;
17
+ };
18
+ mcpConfig: {
19
+ title: string;
20
+ description: string;
21
+ apiKey: string;
22
+ apiKeyPlaceholder: string;
23
+ apiKeyHint: string;
24
+ enableAuth: string;
25
+ enableAuthHint: string;
26
+ connectionInfo: string;
27
+ serverEndpoint: string;
28
+ sessionId: string;
29
+ maxRetries: string;
30
+ save: string;
31
+ saving: string;
32
+ note1: string;
33
+ note2: string;
34
+ configSaved: string;
35
+ configError: string;
36
+ validation: {
37
+ apiKeyRequired: string;
38
+ apiKeyTooShort: string;
39
+ invalidConfig: string;
40
+ invalidApiKey: string;
41
+ };
42
+ };
43
+ };
44
+ export default locale;
@@ -0,0 +1,3 @@
1
+ import { default as enUS } from './en-US';
2
+ declare const locale: typeof enUS;
3
+ export default locale;
@@ -0,0 +1,3 @@
1
+ import { default as enUS } from './en-US';
2
+ declare const locale: typeof enUS;
3
+ export default locale;
@@ -0,0 +1,3 @@
1
+ import { default as enUS } from './en-US';
2
+ declare const locale: typeof enUS;
3
+ export default locale;
@@ -0,0 +1,3 @@
1
+ import { default as enUS } from './en-US';
2
+ declare const locale: typeof enUS;
3
+ export default locale;
@@ -0,0 +1,3 @@
1
+ import { default as enUS } from './en-US';
2
+ declare const locale: typeof enUS;
3
+ export default locale;
@@ -0,0 +1,3 @@
1
+ import { default as enUS } from './en-US';
2
+ declare const locale: typeof enUS;
3
+ export default locale;
@@ -0,0 +1,44 @@
1
+ declare const locale: {
2
+ mcpStatus: {
3
+ disconnected: string;
4
+ connecting: string;
5
+ connected: string;
6
+ failed: string;
7
+ retrying: string;
8
+ unknown: string;
9
+ missingApiKey: string;
10
+ invalidApiKey: string;
11
+ sessionOccupied: string;
12
+ networkError: string;
13
+ maxRetriesExceeded: string;
14
+ clickToConnect: string;
15
+ clickToDisconnect: string;
16
+ clickToConfigure: string;
17
+ };
18
+ mcpConfig: {
19
+ title: string;
20
+ description: string;
21
+ apiKey: string;
22
+ apiKeyPlaceholder: string;
23
+ apiKeyHint: string;
24
+ enableAuth: string;
25
+ enableAuthHint: string;
26
+ connectionInfo: string;
27
+ serverEndpoint: string;
28
+ sessionId: string;
29
+ maxRetries: string;
30
+ save: string;
31
+ saving: string;
32
+ note1: string;
33
+ note2: string;
34
+ configSaved: string;
35
+ configError: string;
36
+ validation: {
37
+ apiKeyRequired: string;
38
+ apiKeyTooShort: string;
39
+ invalidConfig: string;
40
+ invalidApiKey: string;
41
+ };
42
+ };
43
+ };
44
+ export default locale;
@@ -0,0 +1,3 @@
1
+ import { default as enUS } from './en-US';
2
+ declare const locale: typeof enUS;
3
+ export default locale;
@@ -0,0 +1,30 @@
1
+ import { IUniverMCPUIConfig } from './controllers/config.schema';
2
+ import { IConfigService, ILocalStorageService, Injector, LocaleService, Plugin } from '@univerjs/core';
3
+ import { IUIPartsService } from '@univerjs/ui';
4
+ /**
5
+ * univer MCP UI 部分,本插件运行在浏览器中
6
+ *
7
+ * 1. 展示当前连接状态和错误原因 (从 UniverMCPPlugin 中获取)
8
+ * 1. 连接失败的原因包括
9
+ * 1. 缺少 api-key
10
+ * 2. api-key 无效
11
+ * 3. univer-session-id 占用,此时提示为重新连接。
12
+ * 4. 多次重连失败,此时提示为请检查网络连接。
13
+ *
14
+ * 2. 提供配置面板:univer mcp server、api-key(临时)、univer-session-id 等属性
15
+ * 1. univer mcp server 目前不可修改,仅作展示
16
+ * 2. api-key 可以修改,存在浏览器 localStorage 中,这样刷新也能有,且必须配置
17
+ * 3. univer-session-id 默认值为 default, 不可指定,仅作展示
18
+ *
19
+ */
20
+ export declare class UniverMCPUIPlugin extends Plugin {
21
+ private readonly _config;
22
+ protected readonly _injector: Injector;
23
+ private readonly _configService;
24
+ private readonly _uiPartsService;
25
+ private readonly _localStorageService;
26
+ private readonly _localeService;
27
+ static pluginName: string;
28
+ constructor(_config: IUniverMCPUIConfig | undefined, _injector: Injector, _configService: IConfigService, _uiPartsService: IUIPartsService, _localStorageService: ILocalStorageService, _localeService: LocaleService);
29
+ onStarting(): Promise<void>;
30
+ }
@@ -0,0 +1,20 @@
1
+ import { IUniverMCPConfig } from '@univerjs-pro/mcp';
2
+ import { IUniverMCPUIConfig } from '../../controllers/config.schema';
3
+ export interface IMCPConfigProps {
4
+ /** Current configuration */
5
+ mcpCoreConfig: IUniverMCPConfig;
6
+ /** config */
7
+ config: IUniverMCPUIConfig;
8
+ /** Callback when configuration is saved */
9
+ onSave: (config: any) => void;
10
+ /** Whether the config form is loading */
11
+ loading?: boolean;
12
+ }
13
+ /**
14
+ * MCP Configuration Panel Component
15
+ *
16
+ * Allows users to configure MCP settings:
17
+ * - API Key input and management
18
+ * - Connection settings display
19
+ */
20
+ export declare function MCPConfigPanel(props: Readonly<IMCPConfigProps>): import("react/jsx-runtime").JSX.Element;
@@ -0,0 +1,20 @@
1
+ import { Observable } from 'rxjs';
2
+ import { MCPConnectionError, MCPConnectionStatus } from '@univerjs-pro/mcp';
3
+ export interface IMCPStatusProps {
4
+ /** The MCP connection status stream */
5
+ status$: Observable<MCPConnectionStatus>;
6
+ /** The MCP connection error stream */
7
+ error$: Observable<MCPConnectionError>;
8
+ /** Callback to trigger manual connection */
9
+ onConnect?: () => void;
10
+ /** Callback to trigger manual disconnection */
11
+ onDisconnect?: () => void;
12
+ /** Callback to trigger configuration panel */
13
+ onConfigure?: () => void;
14
+ }
15
+ /**
16
+ * MCP Status Display Component
17
+ *
18
+ * Shows the current MCP connection status to users with appropriate icons and tooltips
19
+ */
20
+ export declare function MCPStatusDisplay(props: Readonly<IMCPStatusProps>): import("react/jsx-runtime").JSX.Element;