@univerjs-pro/mcp-ui 0.10.6-experimental.20250903-f52e3bf → 0.10.6-experimental.20250904-9591d16

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 (54) hide show
  1. package/lib/cjs/index.js +1 -1
  2. package/lib/cjs/locale/ca-ES.js +1 -1
  3. package/lib/cjs/locale/en-US.js +1 -1
  4. package/lib/cjs/locale/es-ES.js +1 -1
  5. package/lib/cjs/locale/fa-IR.js +1 -1
  6. package/lib/cjs/locale/fr-FR.js +1 -1
  7. package/lib/cjs/locale/ko-KR.js +1 -1
  8. package/lib/cjs/locale/ru-RU.js +1 -1
  9. package/lib/cjs/locale/vi-VN.js +1 -1
  10. package/lib/cjs/locale/zh-CN.js +1 -1
  11. package/lib/cjs/locale/zh-TW.js +1 -1
  12. package/lib/es/index.js +1 -1
  13. package/lib/es/locale/ca-ES.js +1 -1
  14. package/lib/es/locale/en-US.js +1 -1
  15. package/lib/es/locale/es-ES.js +1 -1
  16. package/lib/es/locale/fa-IR.js +1 -1
  17. package/lib/es/locale/fr-FR.js +1 -1
  18. package/lib/es/locale/ko-KR.js +1 -1
  19. package/lib/es/locale/ru-RU.js +1 -1
  20. package/lib/es/locale/vi-VN.js +1 -1
  21. package/lib/es/locale/zh-CN.js +1 -1
  22. package/lib/es/locale/zh-TW.js +1 -1
  23. package/lib/index.css +1 -0
  24. package/lib/index.js +1 -1
  25. package/lib/locale/ca-ES.js +1 -1
  26. package/lib/locale/en-US.js +1 -1
  27. package/lib/locale/es-ES.js +1 -1
  28. package/lib/locale/fa-IR.js +1 -1
  29. package/lib/locale/fr-FR.js +1 -1
  30. package/lib/locale/ko-KR.js +1 -1
  31. package/lib/locale/ru-RU.js +1 -1
  32. package/lib/locale/vi-VN.js +1 -1
  33. package/lib/locale/zh-CN.js +1 -1
  34. package/lib/locale/zh-TW.js +1 -1
  35. package/lib/types/controllers/mcp-config-ui.controller.d.ts +3 -1
  36. package/lib/types/controllers/mcp-connection-ui.controller.d.ts +4 -36
  37. package/lib/types/index.d.ts +1 -0
  38. package/lib/types/locale/en-US.d.ts +20 -1
  39. package/lib/types/locale/zh-CN.d.ts +20 -1
  40. package/lib/types/plugin.d.ts +0 -16
  41. package/lib/types/views/components/mcp-config.d.ts +7 -2
  42. package/lib/types/views/components/mcp-status.d.ts +0 -4
  43. package/lib/umd/index.js +1 -1
  44. package/lib/umd/locale/ca-ES.js +1 -1
  45. package/lib/umd/locale/en-US.js +1 -1
  46. package/lib/umd/locale/es-ES.js +1 -1
  47. package/lib/umd/locale/fa-IR.js +1 -1
  48. package/lib/umd/locale/fr-FR.js +1 -1
  49. package/lib/umd/locale/ko-KR.js +1 -1
  50. package/lib/umd/locale/ru-RU.js +1 -1
  51. package/lib/umd/locale/vi-VN.js +1 -1
  52. package/lib/umd/locale/zh-CN.js +1 -1
  53. package/lib/umd/locale/zh-TW.js +1 -1
  54. package/package.json +5 -5
@@ -1 +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};
1
+ function _0x555b(_0x4172be,_0x9b6669){const _0x20129f=_0x2012();return _0x555b=function(_0x555bb0,_0x3fe1c5){_0x555bb0=_0x555bb0-0x145;let _0x2b7a96=_0x20129f[_0x555bb0];return _0x2b7a96;},_0x555b(_0x4172be,_0x9b6669);}const _0x2ef952=_0x555b;function _0x2012(){const _0x126786=['Invalid\x20configuration','MCP\x20Connected','Max\x20Retries','Server\x20Endpoint','Session\x20is\x20currently\x20occupied.\x20Please\x20try\x20again\x20later','Get\x20your\x20API\x20key\x20in\x20seconds','Invalid\x20API\x20key,\x20please\x20check\x20if\x20the\x20key\x20is\x20correct','8bbLFRs','Enable\x20authentication\x20for\x20secure\x20connections','MCP\x20Connecting...','API\x20Key','MCP:\x20Network\x20Error','Your\x20API\x20key\x20will\x20be\x20stored\x20locally\x20in\x20this\x20browser','API\x20key\x20is\x20required\x20to\x20connect','504CYPkWv','Enable\x20Authentication','2429703WkYwEF','Configuration\x20changes\x20will\x20take\x20effect\x20immediately','Saving...','MCP:\x20API\x20Key\x20Missing','Configuration\x20saved\x20successfully','Disconnected','Invalid\x20API\x20key.\x20Please\x20check\x20your\x20key\x20and\x20try\x20again','MCP\x20Connection\x20Failed','Retrying...','MCP:\x20Max\x20Retries\x20Exceeded','Enter\x20your\x20API\x20key','Save\x20Configuration','What\x20is\x20API\x20Key?','Configure\x20MCP\x20to\x20use\x20AI\x20for\x20operating\x20spreadsheets','1623628zkVxtX','7141440IFLilz','4052601PXrOtA','Network\x20connection\x20error.\x20Please\x20check\x20your\x20internet\x20connection','Click\x20to\x20configure\x20MCP','MCP\x20Unknown\x20Status','MCP\x20Configuration','API\x20key\x20must\x20be\x20at\x20least\x2010\x20characters\x20long','508172AednZn','Connection\x20Information','2424336gpFCVd','25255jZvDTC','Your\x20API\x20key\x20is\x20stored\x20securely\x20in\x20local\x20storage','1pSWmZp','Connected','Maximum\x20retry\x20attempts\x20exceeded.\x20Please\x20try\x20again\x20later','MCP:\x20Invalid\x20API\x20Key','MCP\x20Retrying...'];_0x2012=function(){return _0x126786;};return _0x2012();}(function(_0x33f627,_0x2729d5){const _0x5f3be4=_0x555b,_0x5ea079=_0x33f627();while(!![]){try{const _0x13956d=parseInt(_0x5f3be4(0x16c))/0x1*(parseInt(_0x5f3be4(0x15f))/0x2)+parseInt(_0x5f3be4(0x151))/0x3+-parseInt(_0x5f3be4(0x169))/0x4+-parseInt(_0x5f3be4(0x16a))/0x5*(parseInt(_0x5f3be4(0x14f))/0x6)+parseInt(_0x5f3be4(0x167))/0x7+-parseInt(_0x5f3be4(0x148))/0x8*(parseInt(_0x5f3be4(0x161))/0x9)+parseInt(_0x5f3be4(0x160))/0xa;if(_0x13956d===_0x2729d5)break;else _0x5ea079['push'](_0x5ea079['shift']());}catch(_0x3085b9){_0x5ea079['push'](_0x5ea079['shift']());}}}(_0x2012,0xe2836));const e={'mcpStatus':{'disconnected':'MCP\x20Disconnected','connecting':_0x2ef952(0x14a),'connected':_0x2ef952(0x172),'failed':_0x2ef952(0x158),'retrying':_0x2ef952(0x170),'unknown':_0x2ef952(0x164),'missingApiKey':_0x2ef952(0x154),'invalidApiKey':_0x2ef952(0x16f),'sessionOccupied':'MCP:\x20Session\x20Occupied','networkError':_0x2ef952(0x14c),'maxRetriesExceeded':_0x2ef952(0x15a),'clickToConnect':'Click\x20to\x20connect\x20MCP','clickToConfigure':_0x2ef952(0x163)},'mcpConfig':{'title':_0x2ef952(0x165),'description':_0x2ef952(0x15e),'apiKey':_0x2ef952(0x14b),'apiKeyPlaceholder':_0x2ef952(0x15b),'apiKeyHint':_0x2ef952(0x14d),'enableAuth':_0x2ef952(0x150),'enableAuthHint':_0x2ef952(0x149),'connectionInfo':_0x2ef952(0x168),'serverEndpoint':_0x2ef952(0x174),'sessionId':'Session\x20ID','maxRetries':_0x2ef952(0x173),'save':_0x2ef952(0x15c),'saving':_0x2ef952(0x153),'note1':_0x2ef952(0x152),'note2':_0x2ef952(0x16b),'configSaved':_0x2ef952(0x155),'configError':'Failed\x20to\x20save\x20configuration','apiApplyInfo':{'title':_0x2ef952(0x15d),'description':'API\x20Key\x20connects\x20you\x20to\x20Univer\x20MCP\x20Server\x20to\x20use\x20AI\x20for\x20operating\x20spreadsheets.\x20Get\x20your\x20API\x20key\x20from\x20our\x20console\x20to\x20get\x20started.','univerAiLabel':'Univer\x20AI\x20Console','getStarted':_0x2ef952(0x146)},'validation':{'apiKeyRequired':'API\x20key\x20is\x20required','apiKeyTooShort':_0x2ef952(0x166),'invalidConfig':_0x2ef952(0x171),'invalidApiKey':_0x2ef952(0x147)},'connectionStatus':{'disconnected':_0x2ef952(0x156),'connecting':'Connecting...','connected':_0x2ef952(0x16d),'failed':'Connection\x20Failed','retrying':_0x2ef952(0x159)},'connectionError':{'missingApiKey':_0x2ef952(0x14e),'invalidApiKey':_0x2ef952(0x157),'sessionOccupied':_0x2ef952(0x145),'networkError':_0x2ef952(0x162),'maxRetriesExceeded':_0x2ef952(0x16e)}}},n=e;export{n as default};
@@ -1 +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};
1
+ function _0x58f7(_0x2369b6,_0x4d0add){const _0x23b049=_0x23b0();return _0x58f7=function(_0x58f761,_0x3ff803){_0x58f761=_0x58f761-0x114;let _0x2db236=_0x23b049[_0x58f761];return _0x2db236;},_0x58f7(_0x2369b6,_0x4d0add);}const _0x400807=_0x58f7;function _0x23b0(){const _0x18e862=['Connecting...','Max\x20Retries','Connection\x20Information','API\x20key\x20is\x20required','Invalid\x20configuration','MCP:\x20API\x20Key\x20Missing','Enable\x20authentication\x20for\x20secure\x20connections','11712FHbWIB','Click\x20to\x20configure\x20MCP','Configure\x20MCP\x20to\x20use\x20AI\x20for\x20operating\x20spreadsheets','MCP\x20Configuration','Configuration\x20changes\x20will\x20take\x20effect\x20immediately','116zuuZEm','What\x20is\x20API\x20Key?','Get\x20your\x20API\x20key\x20in\x20seconds','MCP\x20Disconnected','MCP\x20Connected','Your\x20API\x20key\x20is\x20stored\x20securely\x20in\x20local\x20storage','Save\x20Configuration','MCP:\x20Max\x20Retries\x20Exceeded','4395XapvSE','5VLVtGc','1414878rkdpcV','API\x20Key','1767864XfQVtN','MCP:\x20Invalid\x20API\x20Key','MCP:\x20Session\x20Occupied','Univer\x20AI\x20Console','299090PExhik','193380PQrChz','MCP\x20Connection\x20Failed','Session\x20is\x20currently\x20occupied.\x20Please\x20try\x20again\x20later','API\x20Key\x20connects\x20you\x20to\x20Univer\x20MCP\x20Server\x20to\x20use\x20AI\x20for\x20operating\x20spreadsheets.\x20Get\x20your\x20API\x20key\x20from\x20our\x20console\x20to\x20get\x20started.','Configuration\x20saved\x20successfully','MCP\x20Unknown\x20Status','Enable\x20Authentication','MCP:\x20Network\x20Error','Retrying...','Network\x20connection\x20error.\x20Please\x20check\x20your\x20internet\x20connection','Connected','1330008oEKjAm','Click\x20to\x20connect\x20MCP','Saving...','Connection\x20Failed','API\x20key\x20is\x20required\x20to\x20connect','Maximum\x20retry\x20attempts\x20exceeded.\x20Please\x20try\x20again\x20later','MCP\x20Connecting...','36ieleiU','110PiEKDF','API\x20key\x20must\x20be\x20at\x20least\x2010\x20characters\x20long'];_0x23b0=function(){return _0x18e862;};return _0x23b0();}(function(_0x661de5,_0x1d4745){const _0x478c14=_0x58f7,_0x51876d=_0x661de5();while(!![]){try{const _0x4926ed=-parseInt(_0x478c14(0x136))/0x1*(-parseInt(_0x478c14(0x120))/0x2)+parseInt(_0x478c14(0x129))/0x3*(-parseInt(_0x478c14(0x12e))/0x4)+parseInt(_0x478c14(0x137))/0x5*(parseInt(_0x478c14(0x138))/0x6)+-parseInt(_0x478c14(0x13a))/0x7+parseInt(_0x478c14(0x118))/0x8+parseInt(_0x478c14(0x11f))/0x9*(-parseInt(_0x478c14(0x13e))/0xa)+parseInt(_0x478c14(0x13f))/0xb;if(_0x4926ed===_0x1d4745)break;else _0x51876d['push'](_0x51876d['shift']());}catch(_0x2304f5){_0x51876d['push'](_0x51876d['shift']());}}}(_0x23b0,0x2af5d));const e={'mcpStatus':{'disconnected':_0x400807(0x131),'connecting':_0x400807(0x11e),'connected':_0x400807(0x132),'failed':_0x400807(0x140),'retrying':'MCP\x20Retrying...','unknown':_0x400807(0x144),'missingApiKey':_0x400807(0x127),'invalidApiKey':_0x400807(0x13b),'sessionOccupied':_0x400807(0x13c),'networkError':_0x400807(0x114),'maxRetriesExceeded':_0x400807(0x135),'clickToConnect':_0x400807(0x119),'clickToConfigure':_0x400807(0x12a)},'mcpConfig':{'title':_0x400807(0x12c),'description':_0x400807(0x12b),'apiKey':_0x400807(0x139),'apiKeyPlaceholder':'Enter\x20your\x20API\x20key','apiKeyHint':'Your\x20API\x20key\x20will\x20be\x20stored\x20locally\x20in\x20this\x20browser','enableAuth':_0x400807(0x145),'enableAuthHint':_0x400807(0x128),'connectionInfo':_0x400807(0x124),'serverEndpoint':'Server\x20Endpoint','sessionId':'Session\x20ID','maxRetries':_0x400807(0x123),'save':_0x400807(0x134),'saving':_0x400807(0x11a),'note1':_0x400807(0x12d),'note2':_0x400807(0x133),'configSaved':_0x400807(0x143),'configError':'Failed\x20to\x20save\x20configuration','apiApplyInfo':{'title':_0x400807(0x12f),'description':_0x400807(0x142),'univerAiLabel':_0x400807(0x13d),'getStarted':_0x400807(0x130)},'validation':{'apiKeyRequired':_0x400807(0x125),'apiKeyTooShort':_0x400807(0x121),'invalidConfig':_0x400807(0x126),'invalidApiKey':'Invalid\x20API\x20key,\x20please\x20check\x20if\x20the\x20key\x20is\x20correct'},'connectionStatus':{'disconnected':'Disconnected','connecting':_0x400807(0x122),'connected':_0x400807(0x117),'failed':_0x400807(0x11b),'retrying':_0x400807(0x115)},'connectionError':{'missingApiKey':_0x400807(0x11c),'invalidApiKey':'Invalid\x20API\x20key.\x20Please\x20check\x20your\x20key\x20and\x20try\x20again','sessionOccupied':_0x400807(0x141),'networkError':_0x400807(0x116),'maxRetriesExceeded':_0x400807(0x11d)}}},n=e;export{n as default};
@@ -1 +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};
1
+ const _0x2d93de=_0x3b17;function _0x3b17(_0x5daea8,_0x1fd912){const _0x2f5ebd=_0x2f5e();return _0x3b17=function(_0x3b17b6,_0x11323b){_0x3b17b6=_0x3b17b6-0x14b;let _0xcf32de=_0x2f5ebd[_0x3b17b6];return _0xcf32de;},_0x3b17(_0x5daea8,_0x1fd912);}function _0x2f5e(){const _0x187589=['12zncNCR','配置保存失败','点击连接\x20MCP','最大重试次数','会话当前被占用,请稍后再试','服务器端点','请输入您的\x20API\x20密钥','MCP\x20连接失败','14ZSXrjF','681424hsbYOH','连接信息','5555310tjNVWv','MCP:\x20会话被占用','16497844ZQSVIJ','网络连接错误,请检查您的网络连接','配置无效','API\x20密钥长度至少需要\x2010\x20位','点击配置\x20MCP','MCP:\x20网络错误','MCP\x20已断开','10407708JLzvnP','21CMVDYz','需要\x20API\x20密钥才能连接','MCP\x20重连中...','API\x20密钥无效,请检查您的密钥后重试','连接失败','10hKSJcE','连接中...','MCP\x20配置','160004iHxyLl','MCP\x20状态未知','MCP:\x20缺少\x20API\x20密钥','配置\x20MCP\x20使用\x20AI\x20操作电子表格','重连中...','39801xMnxlK','会话ID','超出最大重试次数,请稍后再试','70GmbIBg','未连接','已连接','API\x20密钥不能为空','MCP\x20已连接','API\x20密钥无效,请检查密钥是否正确','您的\x20API\x20密钥将在此浏览器中本地存储','MCP\x20连接中...','几秒钟内获取您的\x20API\x20密钥','保存中...','配置更改将立即生效','2570875UQdDhM'];_0x2f5e=function(){return _0x187589;};return _0x2f5e();}(function(_0x150648,_0x32716e){const _0x2f26dc=_0x3b17,_0x2bb18a=_0x150648();while(!![]){try{const _0x16609c=parseInt(_0x2f26dc(0x155))/0x1*(-parseInt(_0x2f26dc(0x16c))/0x2)+parseInt(_0x2f26dc(0x179))/0x3*(parseInt(_0x2f26dc(0x150))/0x4)+parseInt(_0x2f26dc(0x163))/0x5+parseInt(_0x2f26dc(0x16f))/0x6+parseInt(_0x2f26dc(0x158))/0x7*(-parseInt(_0x2f26dc(0x16d))/0x8)+-parseInt(_0x2f26dc(0x178))/0x9*(parseInt(_0x2f26dc(0x14d))/0xa)+-parseInt(_0x2f26dc(0x171))/0xb*(-parseInt(_0x2f26dc(0x164))/0xc);if(_0x16609c===_0x32716e)break;else _0x2bb18a['push'](_0x2bb18a['shift']());}catch(_0x4779fd){_0x2bb18a['push'](_0x2bb18a['shift']());}}}(_0x2f5e,0xe3cd0));const e={'mcpStatus':{'disconnected':_0x2d93de(0x177),'connecting':_0x2d93de(0x15f),'connected':_0x2d93de(0x15c),'failed':_0x2d93de(0x16b),'retrying':_0x2d93de(0x17b),'unknown':_0x2d93de(0x151),'missingApiKey':_0x2d93de(0x152),'invalidApiKey':'MCP:\x20无效的\x20API\x20密钥','sessionOccupied':_0x2d93de(0x170),'networkError':_0x2d93de(0x176),'maxRetriesExceeded':'MCP:\x20超出最大重试次数','clickToConnect':_0x2d93de(0x166),'clickToConfigure':_0x2d93de(0x175)},'mcpConfig':{'title':_0x2d93de(0x14f),'description':_0x2d93de(0x153),'apiKey':'API\x20密钥','apiKeyPlaceholder':_0x2d93de(0x16a),'apiKeyHint':_0x2d93de(0x15e),'enableAuth':'启用身份验证','enableAuthHint':'启用身份验证以获得安全连接','connectionInfo':_0x2d93de(0x16e),'serverEndpoint':_0x2d93de(0x169),'sessionId':_0x2d93de(0x156),'maxRetries':_0x2d93de(0x167),'save':'保存配置','saving':_0x2d93de(0x161),'note1':_0x2d93de(0x162),'note2':'您的\x20API\x20密钥安全存储在本地存储中','configSaved':'配置保存成功','configError':_0x2d93de(0x165),'apiApplyInfo':{'title':'什么是\x20API\x20密钥?','description':'API\x20密钥用于连接\x20Univer\x20MCP\x20服务器,让您可以使用\x20AI\x20来操作电子表格。请前往控制台获取您的专属密钥。','univerAiLabel':'Univer\x20AI\x20控制台','getStarted':_0x2d93de(0x160)},'validation':{'apiKeyRequired':_0x2d93de(0x15b),'apiKeyTooShort':_0x2d93de(0x174),'invalidConfig':_0x2d93de(0x173),'invalidApiKey':_0x2d93de(0x15d)},'connectionStatus':{'disconnected':_0x2d93de(0x159),'connecting':_0x2d93de(0x14e),'connected':_0x2d93de(0x15a),'failed':_0x2d93de(0x14c),'retrying':_0x2d93de(0x154)},'connectionError':{'missingApiKey':_0x2d93de(0x17a),'invalidApiKey':_0x2d93de(0x14b),'sessionOccupied':_0x2d93de(0x168),'networkError':_0x2d93de(0x172),'maxRetriesExceeded':_0x2d93de(0x157)}}};export{e as default};
@@ -1 +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};
1
+ const _0x33ba23=_0x4ef7;(function(_0x3614a2,_0x6c1ae4){const _0x1538a5=_0x4ef7,_0x5c6730=_0x3614a2();while(!![]){try{const _0x5d758c=parseInt(_0x1538a5(0x1e4))/0x1+parseInt(_0x1538a5(0x1f0))/0x2+-parseInt(_0x1538a5(0x1da))/0x3+parseInt(_0x1538a5(0x1f5))/0x4*(-parseInt(_0x1538a5(0x1ec))/0x5)+-parseInt(_0x1538a5(0x1fe))/0x6*(-parseInt(_0x1538a5(0x1ff))/0x7)+parseInt(_0x1538a5(0x1d8))/0x8+-parseInt(_0x1538a5(0x1eb))/0x9;if(_0x5d758c===_0x6c1ae4)break;else _0x5c6730['push'](_0x5c6730['shift']());}catch(_0x53f9ad){_0x5c6730['push'](_0x5c6730['shift']());}}}(_0xa883,0x661b1));const e={'mcpStatus':{'disconnected':_0x33ba23(0x1d9),'connecting':_0x33ba23(0x1e0),'connected':_0x33ba23(0x1e9),'failed':_0x33ba23(0x1d2),'retrying':_0x33ba23(0x1ea),'unknown':_0x33ba23(0x1e8),'missingApiKey':_0x33ba23(0x1d3),'invalidApiKey':'MCP:\x20Invalid\x20API\x20Key','sessionOccupied':'MCP:\x20Session\x20Occupied','networkError':_0x33ba23(0x1f2),'maxRetriesExceeded':_0x33ba23(0x1d6),'clickToConnect':_0x33ba23(0x1de),'clickToConfigure':_0x33ba23(0x1fa)},'mcpConfig':{'title':_0x33ba23(0x1ee),'description':_0x33ba23(0x1ed),'apiKey':'API\x20Key','apiKeyPlaceholder':_0x33ba23(0x1d1),'apiKeyHint':_0x33ba23(0x1e2),'enableAuth':_0x33ba23(0x1d7),'enableAuthHint':_0x33ba23(0x1f3),'connectionInfo':_0x33ba23(0x1dd),'serverEndpoint':_0x33ba23(0x1dc),'sessionId':_0x33ba23(0x1e6),'maxRetries':_0x33ba23(0x1e1),'save':_0x33ba23(0x1fb),'saving':_0x33ba23(0x200),'note1':'Configuration\x20changes\x20will\x20take\x20effect\x20immediately','note2':_0x33ba23(0x1db),'configSaved':_0x33ba23(0x1f1),'configError':_0x33ba23(0x201),'apiApplyInfo':{'title':_0x33ba23(0x1df),'description':_0x33ba23(0x1d4),'univerAiLabel':_0x33ba23(0x1e3),'getStarted':'Get\x20your\x20API\x20key\x20in\x20seconds'},'validation':{'apiKeyRequired':'API\x20key\x20is\x20required','apiKeyTooShort':_0x33ba23(0x1d5),'invalidConfig':_0x33ba23(0x1f6),'invalidApiKey':_0x33ba23(0x1e5)},'connectionStatus':{'disconnected':_0x33ba23(0x1f8),'connecting':_0x33ba23(0x1fd),'connected':'Connected','failed':_0x33ba23(0x1f9),'retrying':_0x33ba23(0x1f4)},'connectionError':{'missingApiKey':_0x33ba23(0x1f7),'invalidApiKey':'Invalid\x20API\x20key.\x20Please\x20check\x20your\x20key\x20and\x20try\x20again','sessionOccupied':_0x33ba23(0x1ef),'networkError':_0x33ba23(0x1fc),'maxRetriesExceeded':_0x33ba23(0x1e7)}}},n=e;function _0x4ef7(_0x2310f9,_0x389f54){const _0xa8836b=_0xa883();return _0x4ef7=function(_0x4ef712,_0x15b8bf){_0x4ef712=_0x4ef712-0x1d1;let _0x3ab2a7=_0xa8836b[_0x4ef712];return _0x3ab2a7;},_0x4ef7(_0x2310f9,_0x389f54);}function _0xa883(){const _0x164e87=['Session\x20is\x20currently\x20occupied.\x20Please\x20try\x20again\x20later','420342lzkenK','Configuration\x20saved\x20successfully','MCP:\x20Network\x20Error','Enable\x20authentication\x20for\x20secure\x20connections','Retrying...','118188UqfDBk','Invalid\x20configuration','API\x20key\x20is\x20required\x20to\x20connect','Disconnected','Connection\x20Failed','Click\x20to\x20configure\x20MCP','Save\x20Configuration','Network\x20connection\x20error.\x20Please\x20check\x20your\x20internet\x20connection','Connecting...','6JuwJaK','2989MxDmsK','Saving...','Failed\x20to\x20save\x20configuration','Enter\x20your\x20API\x20key','MCP\x20Connection\x20Failed','MCP:\x20API\x20Key\x20Missing','API\x20Key\x20connects\x20you\x20to\x20Univer\x20MCP\x20Server\x20to\x20use\x20AI\x20for\x20operating\x20spreadsheets.\x20Get\x20your\x20API\x20key\x20from\x20our\x20console\x20to\x20get\x20started.','API\x20key\x20must\x20be\x20at\x20least\x2010\x20characters\x20long','MCP:\x20Max\x20Retries\x20Exceeded','Enable\x20Authentication','3231024RHuDFm','MCP\x20Disconnected','1187886trhiql','Your\x20API\x20key\x20is\x20stored\x20securely\x20in\x20local\x20storage','Server\x20Endpoint','Connection\x20Information','Click\x20to\x20connect\x20MCP','What\x20is\x20API\x20Key?','MCP\x20Connecting...','Max\x20Retries','Your\x20API\x20key\x20will\x20be\x20stored\x20locally\x20in\x20this\x20browser','Univer\x20AI\x20Console','758837VFvBvt','Invalid\x20API\x20key,\x20please\x20check\x20if\x20the\x20key\x20is\x20correct','Session\x20ID','Maximum\x20retry\x20attempts\x20exceeded.\x20Please\x20try\x20again\x20later','MCP\x20Unknown\x20Status','MCP\x20Connected','MCP\x20Retrying...','1841058uFFlht','60HqpRyB','Configure\x20MCP\x20to\x20use\x20AI\x20for\x20operating\x20spreadsheets','MCP\x20Configuration'];_0xa883=function(){return _0x164e87;};return _0xa883();}export{n as default};
@@ -1,3 +1,4 @@
1
+ import { MCPConnectionController } from '@univerjs-pro/mcp';
1
2
  import { Disposable, IConfigService, ILocalStorageService, ILogService, Injector, LocaleService } from '@univerjs/core';
2
3
  import { ComponentManager, IDialogService, IMessageService, IUIPartsService } from '@univerjs/ui';
3
4
  /**
@@ -18,10 +19,11 @@ export declare class MCPConfigUIController extends Disposable {
18
19
  private readonly _componentManager;
19
20
  private readonly _localeService;
20
21
  private readonly _logService;
22
+ private readonly _mcpConnectionController;
21
23
  private readonly _loading$;
22
24
  private readonly _mcpCoreConfig$;
23
25
  private readonly _config$;
24
- constructor(_injector: Injector, _uiPartsService: IUIPartsService, _configService: IConfigService, _localStorageService: ILocalStorageService, _dialogService: IDialogService, _messageService: IMessageService, _componentManager: ComponentManager, _localeService: LocaleService, _logService: ILogService);
26
+ constructor(_injector: Injector, _uiPartsService: IUIPartsService, _configService: IConfigService, _localStorageService: ILocalStorageService, _dialogService: IDialogService, _messageService: IMessageService, _componentManager: ComponentManager, _localeService: LocaleService, _logService: ILogService, _mcpConnectionController: MCPConnectionController);
25
27
  /**
26
28
  * Show configuration panel
27
29
  */
@@ -1,6 +1,5 @@
1
- import { Observable } from 'rxjs';
2
- import { MCPConnectionError, MCPConnectionStatus } from '@univerjs-pro/mcp';
3
- import { Disposable, IConfigService, ILogService, Injector } from '@univerjs/core';
1
+ import { MCPConnectionController } from '@univerjs-pro/mcp';
2
+ import { Disposable, Injector } from '@univerjs/core';
4
3
  import { IUIPartsService } from '@univerjs/ui';
5
4
  /**
6
5
  * MCP Connection UI Controller
@@ -12,44 +11,13 @@ import { IUIPartsService } from '@univerjs/ui';
12
11
  */
13
12
  export declare class MCPConnectionUIController extends Disposable {
14
13
  private readonly _injector;
14
+ private readonly _connectionController;
15
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;
16
+ constructor(_injector: Injector, _connectionController: MCPConnectionController, _uiPartsService: IUIPartsService);
33
17
  /**
34
18
  * Initialize status component in the UI
35
19
  */
36
20
  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
21
  /**
54
22
  * Handle open configuration panel
55
23
  */
@@ -1,3 +1,4 @@
1
+ import './global.css';
1
2
  export { OpenMCPConfigPanelCommand } from './commands/mcp-config.command';
2
3
  export type { IUniverMCPUIConfig } from './controllers/config.schema';
3
4
  export { MCPConfigUIController } from './controllers/mcp-config-ui.controller';
@@ -12,7 +12,6 @@ declare const locale: {
12
12
  networkError: string;
13
13
  maxRetriesExceeded: string;
14
14
  clickToConnect: string;
15
- clickToDisconnect: string;
16
15
  clickToConfigure: string;
17
16
  };
18
17
  mcpConfig: {
@@ -33,12 +32,32 @@ declare const locale: {
33
32
  note2: string;
34
33
  configSaved: string;
35
34
  configError: string;
35
+ apiApplyInfo: {
36
+ title: string;
37
+ description: string;
38
+ univerAiLabel: string;
39
+ getStarted: string;
40
+ };
36
41
  validation: {
37
42
  apiKeyRequired: string;
38
43
  apiKeyTooShort: string;
39
44
  invalidConfig: string;
40
45
  invalidApiKey: string;
41
46
  };
47
+ connectionStatus: {
48
+ disconnected: string;
49
+ connecting: string;
50
+ connected: string;
51
+ failed: string;
52
+ retrying: string;
53
+ };
54
+ connectionError: {
55
+ missingApiKey: string;
56
+ invalidApiKey: string;
57
+ sessionOccupied: string;
58
+ networkError: string;
59
+ maxRetriesExceeded: string;
60
+ };
42
61
  };
43
62
  };
44
63
  export default locale;
@@ -12,7 +12,6 @@ declare const locale: {
12
12
  networkError: string;
13
13
  maxRetriesExceeded: string;
14
14
  clickToConnect: string;
15
- clickToDisconnect: string;
16
15
  clickToConfigure: string;
17
16
  };
18
17
  mcpConfig: {
@@ -33,12 +32,32 @@ declare const locale: {
33
32
  note2: string;
34
33
  configSaved: string;
35
34
  configError: string;
35
+ apiApplyInfo: {
36
+ title: string;
37
+ description: string;
38
+ univerAiLabel: string;
39
+ getStarted: string;
40
+ };
36
41
  validation: {
37
42
  apiKeyRequired: string;
38
43
  apiKeyTooShort: string;
39
44
  invalidConfig: string;
40
45
  invalidApiKey: string;
41
46
  };
47
+ connectionStatus: {
48
+ disconnected: string;
49
+ connecting: string;
50
+ connected: string;
51
+ failed: string;
52
+ retrying: string;
53
+ };
54
+ connectionError: {
55
+ missingApiKey: string;
56
+ invalidApiKey: string;
57
+ sessionOccupied: string;
58
+ networkError: string;
59
+ maxRetriesExceeded: string;
60
+ };
42
61
  };
43
62
  };
44
63
  export default locale;
@@ -1,22 +1,6 @@
1
1
  import { IUniverMCPUIConfig } from './controllers/config.schema';
2
2
  import { IConfigService, ILocalStorageService, Injector, LocaleService, Plugin } from '@univerjs/core';
3
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
4
  export declare class UniverMCPUIPlugin extends Plugin {
21
5
  private readonly _config;
22
6
  protected readonly _injector: Injector;
@@ -1,4 +1,5 @@
1
- import { IUniverMCPConfig } from '@univerjs-pro/mcp';
1
+ import { IUniverMCPConfig, MCPConnectionError, MCPConnectionStatus } from '@univerjs-pro/mcp';
2
+ import { Observable } from 'rxjs';
2
3
  import { IUniverMCPUIConfig } from '../../controllers/config.schema';
3
4
  export interface IMCPConfigProps {
4
5
  /** Current configuration */
@@ -6,9 +7,13 @@ export interface IMCPConfigProps {
6
7
  /** config */
7
8
  config: IUniverMCPUIConfig;
8
9
  /** Callback when configuration is saved */
9
- onSave: (config: any) => void;
10
+ onSave: (config: IUniverMCPConfig) => void;
10
11
  /** Whether the config form is loading */
11
12
  loading?: boolean;
13
+ /** The MCP connection status stream */
14
+ connectionStatus$?: Observable<MCPConnectionStatus>;
15
+ /** The MCP connection error stream */
16
+ connectionError$?: Observable<MCPConnectionError>;
12
17
  }
13
18
  /**
14
19
  * MCP Configuration Panel Component
@@ -5,10 +5,6 @@ export interface IMCPStatusProps {
5
5
  status$: Observable<MCPConnectionStatus>;
6
6
  /** The MCP connection error stream */
7
7
  error$: Observable<MCPConnectionError>;
8
- /** Callback to trigger manual connection */
9
- onConnect?: () => void;
10
- /** Callback to trigger manual disconnection */
11
- onDisconnect?: () => void;
12
8
  /** Callback to trigger configuration panel */
13
9
  onConfigure?: () => void;
14
10
  }