@ckeditor/ckeditor5-ai
Version:
AI features for CKEditor 5.
23 lines • 14.6 kB
JavaScript
/*
* Copyright (c) 2003-2025, CKSource Holding sp. z o.o. All rights reserved.
*
*
*
*
* +---------------------------------------------------------------------------------+
* | |
* | Hello stranger! |
* | |
* | |
* | What you're currently looking at is the source code of a legally protected, |
* | proprietary software. Any attempts to deobfuscate / disassemble this code |
* | are forbidden and will result in legal consequences. |
* | |
* | |
* +---------------------------------------------------------------------------------+
*
*
*
*
*/
const _0x38b1fd=_0x17a4;(function(_0x3d88ad,_0x5ba9ae){const _0x527888=_0x17a4,_0x1224c0=_0x3d88ad();while(!![]){try{const _0x3e921b=parseInt(_0x527888(0x129))/0x1+parseInt(_0x527888(0x13a))/0x2*(parseInt(_0x527888(0x184))/0x3)+parseInt(_0x527888(0x172))/0x4*(-parseInt(_0x527888(0x13c))/0x5)+-parseInt(_0x527888(0x181))/0x6*(parseInt(_0x527888(0x180))/0x7)+-parseInt(_0x527888(0x13b))/0x8+parseInt(_0x527888(0x155))/0x9+-parseInt(_0x527888(0x148))/0xa*(parseInt(_0x527888(0x130))/0xb);if(_0x3e921b===_0x5ba9ae)break;else _0x1224c0['push'](_0x1224c0['shift']());}catch(_0x1f612d){_0x1224c0['push'](_0x1224c0['shift']());}}}(_0x537c,0x9dc9a));import{CKEditorError as _0x2d0456,EmitterMixin as _0x58ca8d,logWarning as _0x477542}from'ckeditor5/src/utils.js';import{AI_MODEL_EVENT_NAMES as _0x25055f}from'../../aicore/model/aiinteraction.js';function _0x537c(){const _0x4297a1=['ai-chat-handle-user-interaction-already-in-progress','getCurrentDocumentContext','toggleWebSearch','isAvailable','capabilities','isCurrentDocumentInConversation','splice','addResourceToContext','_processMessagesToInteractions','fire','modelSelected','getEditor','getDocumentContext','chatContext','group','addSelectionToContext','ai-chat-handle-user-conversation-not-initialized','delegate','removeSelectionFromContext','currentReply','stop','getMessages','getPendingContextItems','isCurrentDocumentInContext','_extractContextItems','461042ItWPkP','start','setConversationTitle','lastInteraction','removeInteraction','addUrlToContext','hasOwn','587455DDGvCx','conversationInitialized','getAvailableModels','quickActionData','chatCapabilities','role','code','sessionId','user','error','989498UBvMWS','3348576LjBcKe','4130WrtCDh','updateCurrentDocument','set','selectedModel','stack','ai-chat-conversation-init-failed','toggleReasoning','addFilesToContext','toLowerCase','attributes','length','isStarted','50NNTKpl','message','model','init','prompt','webSearch','appendContent','chatModels','interactionCreated','title','destroy','isSelectionInContext','ai-chat-handle-user-interaction-start-failed','11025702mFVGst','contextItems','getConversation','connector','type','indexOf','fetchConversation','push','conversationId','modification-delta','text','currentInteraction','text-delta','conversationStarted','reset','createInteraction','createReply','ai-chat-conversation-set-model-null','ai-chat-conversation-already-started','assistant','selectedModelId','ai-chat-conversation-start-failed','addToConversationContext','addCurrentDocumentToContext','fetchConversationMessages','interactions','ai-chat-conversation-set-model-not-available','load','loadSourceResources','1524HwgPNP','content','reasoning','startConversation','ai-chat-conversation-start-no-model-selected','options','removeFromContext','getCapabilitiesConfig','setModel','ai-chat-conversation-init-from-id-failed','getInteraction','updateCurrentDocumentInContext','get','populateFromMessage','7203119CbpXsq','6DSRFgQ','getModel','handleUserInteraction','6TsyfmF','getAll','find'];_0x537c=function(){return _0x4297a1;};return _0x537c();}function _0x17a4(_0x2e9f87,_0x10c86c){const _0x537cb3=_0x537c();return _0x17a4=function(_0x17a4e8,_0x5187b5){_0x17a4e8=_0x17a4e8-0x121;let _0x2cc205=_0x537cb3[_0x17a4e8];return _0x2cc205;},_0x17a4(_0x2e9f87,_0x10c86c);}import{AIChatContext as _0x53f609,AI_CONTEXT_MODEL_EVENT_NAMES as _0x265374}from'./aichatcontext.js';import{AICapabilities as _0x4361b3,CAPABILITIES_MODEL_EVENT_NAMES as _0x323ce9}from'../../aicore/model/aicapabilities.js';import{AIChatInteraction as _0xc77839}from'./aichatinteraction.js';import{errorsMap as _0x2f3650}from'../../errorsmap.js';export class AIChatConversation extends _0x58ca8d(){['id'];[_0x38b1fd(0x147)]=!0x1;[_0x38b1fd(0x16e)]=[];[_0x38b1fd(0x160)];[_0x38b1fd(0x13f)];[_0x38b1fd(0x158)];[_0x38b1fd(0x177)];constructor(_0x5db504){const _0x55493a=_0x38b1fd;super(),this[_0x55493a(0x177)]=_0x5db504,this[_0x55493a(0x158)]=_0x5db504[_0x55493a(0x158)],this[_0x55493a(0x14f)]=_0x5db504[_0x55493a(0x14f)],this['id']=_0x5db504[_0x55493a(0x15d)];}async[_0x38b1fd(0x14b)](_0x52f6f5){const _0x254496=_0x38b1fd;try{this[_0x254496(0x194)]=new _0x53f609({'connector':this[_0x254496(0x158)],'config':_0x52f6f5,'ownerId':this['id']}),this[_0x254496(0x194)][_0x254496(0x121)](..._0x265374)['to'](this),this[_0x254496(0x194)][_0x254496(0x14b)](),this[_0x254496(0x134)]=new _0x4361b3(),this[_0x254496(0x134)][_0x254496(0x121)](..._0x323ce9)['to'](this),this[_0x254496(0x134)][_0x254496(0x14b)]();const _0x22c992=await this[_0x254496(0x14f)][_0x254496(0x132)]();this[_0x254496(0x190)](_0x254496(0x131),{'availableModels':_0x22c992});const _0x2dfebb=await this[_0x254496(0x14f)][_0x254496(0x182)](this[_0x254496(0x177)][_0x254496(0x169)]);_0x2dfebb&&await this[_0x254496(0x17a)](_0x2dfebb);}catch(_0x1af493){const _0x758a8d=new _0x2d0456(_0x254496(0x141),null,{'message':_0x1af493[_0x254496(0x149)]||_0x1af493});_0x758a8d[_0x254496(0x140)]=_0x1af493[_0x254496(0x140)],this[_0x254496(0x190)](_0x254496(0x139),{'error':_0x758a8d});}}async[_0x38b1fd(0x12a)](){const _0x3d6b5b=_0x38b1fd;if(this[_0x3d6b5b(0x147)])throw new _0x2d0456(_0x3d6b5b(0x167),null,{'conversation':this});if(!this[_0x3d6b5b(0x13f)])throw new _0x2d0456(_0x3d6b5b(0x176),null,{'conversation':this});try{const {id:_0x132f93}=await this[_0x3d6b5b(0x158)][_0x3d6b5b(0x175)](this['id'],this[_0x3d6b5b(0x177)][_0x3d6b5b(0x195)])[_0x3d6b5b(0x157)]();this['id']=_0x132f93,this[_0x3d6b5b(0x147)]=!0x0,this[_0x3d6b5b(0x190)](_0x3d6b5b(0x162),{'conversationId':this['id'],'selectedModel':this[_0x3d6b5b(0x13f)]});}catch(_0x3046ba){const _0x42ae78=new _0x2d0456(_0x3d6b5b(0x16a),null,{'message':_0x3046ba[_0x3d6b5b(0x149)],'conversationId':this['id']});throw _0x42ae78[_0x3d6b5b(0x140)]=_0x3046ba[_0x3d6b5b(0x140)],this[_0x3d6b5b(0x190)](_0x3d6b5b(0x139),{'error':_0x42ae78}),_0x42ae78;}}async[_0x38b1fd(0x170)](_0x45fa64,_0x535437){const _0x3c7229=_0x38b1fd;try{const _0x17453c=await this[_0x3c7229(0x158)][_0x3c7229(0x15b)](_0x45fa64)[_0x3c7229(0x157)](),_0xf2102d=await this[_0x3c7229(0x158)][_0x3c7229(0x16d)](_0x45fa64)[_0x3c7229(0x125)](),_0x116c55=_0xf2102d[0x0][_0x3c7229(0x14a)];this[_0x3c7229(0x147)]=!0x0,this['id']=_0x17453c['id'],_0x3c7229(0x151)in _0x17453c?this[_0x3c7229(0x190)](_0x3c7229(0x12b),_0x17453c[_0x3c7229(0x151)],!0x0):this[_0x3c7229(0x190)](_0x3c7229(0x12b),'',!0x0);const _0x2c5b88=(await this[_0x3c7229(0x14f)][_0x3c7229(0x185)]())[_0x3c7229(0x186)](_0x3c219d=>_0x3c219d['id'][_0x3c7229(0x144)]()===_0x116c55[_0x3c7229(0x144)]());return this[_0x3c7229(0x13f)]=_0x2c5b88,this[_0x3c7229(0x190)](_0x3c7229(0x191),{'selectedModel':_0x2c5b88,'isDisabled':!0x0}),await this[_0x3c7229(0x18f)](_0xf2102d,_0x535437,_0x116c55),this[_0x3c7229(0x160)]=void 0x0,this;}catch(_0x128a86){const _0x4ef02a=new _0x2d0456(_0x3c7229(0x17b),null,{'message':_0x128a86[_0x3c7229(0x149)],'conversationId':_0x45fa64});throw _0x4ef02a[_0x3c7229(0x140)]=_0x128a86[_0x3c7229(0x140)],this[_0x3c7229(0x190)](_0x3c7229(0x139),{'error':_0x4ef02a}),_0x4ef02a;}}async[_0x38b1fd(0x18f)](_0x347c07,_0x4cba4b,_0xcb348b){const _0x56ae86=_0x38b1fd;let _0x55098f;for(const _0x5701ed of _0x347c07)if(_0x56ae86(0x138)===_0x5701ed[_0x56ae86(0x135)]){const _0xf867d5=await this[_0x56ae86(0x128)](_0x5701ed),_0x342a59={'isReasoningEnabled':Object[_0x56ae86(0x12f)](_0x5701ed[_0x56ae86(0x18b)],_0x56ae86(0x174)),'isWebSearchEnabled':Object[_0x56ae86(0x12f)](_0x5701ed[_0x56ae86(0x18b)],_0x56ae86(0x14d))};_0x55098f=this[_0x56ae86(0x164)]({'userMessage':_0x5701ed[_0x56ae86(0x14c)],'contextItems':_0xf867d5,'capabilities':_0x342a59,'modelId':_0xcb348b,'quickActionData':_0x5701ed[_0x56ae86(0x145)]?.[_0x56ae86(0x133)]}),this[_0x56ae86(0x160)]=_0x55098f,this[_0x56ae86(0x194)][_0x56ae86(0x16b)](this[_0x56ae86(0x160)][_0x56ae86(0x156)]);}else{if(_0x56ae86(0x168)===_0x5701ed[_0x56ae86(0x135)]&&_0x55098f)for(const _0x1144b0 of _0x5701ed[_0x56ae86(0x173)]){const _0x1da5b9=_0x56ae86(0x15f)===_0x1144b0[_0x56ae86(0x159)]?_0x56ae86(0x161):_0x56ae86(0x15e),_0x3fc9ba=_0x55098f[_0x56ae86(0x193)]()?.[_0x56ae86(0x137)]!==_0x4cba4b;_0x55098f[_0x56ae86(0x123)]=_0x55098f[_0x56ae86(0x165)]({'type':_0x1da5b9,'isDone':!0x0,'interactionId':_0x55098f['id'],'areActionsDisabled':_0x3fc9ba}),_0x55098f[_0x56ae86(0x123)][_0x56ae86(0x14e)](_0x1144b0[_0x56ae86(0x173)]);}}}async[_0x38b1fd(0x128)](_0x51777b){const _0x53dc40=_0x38b1fd,_0x4f00bf=new Map();if(!_0x51777b[_0x53dc40(0x173)])return _0x4f00bf;for(const _0x400027 of _0x51777b[_0x53dc40(0x173)]){const _0x2540a4=await this[_0x53dc40(0x194)][_0x53dc40(0x17f)](_0x400027);_0x2540a4&&_0x4f00bf[_0x53dc40(0x13e)](_0x2540a4['id'],_0x2540a4);}return _0x4f00bf;}async[_0x38b1fd(0x183)]({userMessage:_0x591939,quickActionData:_0x3a13a8}){const _0x54275a=_0x38b1fd;if(!this[_0x54275a(0x147)])throw new _0x2d0456(_0x54275a(0x197),null,{'conversation':this});if(this[_0x54275a(0x160)])throw new _0x2d0456(_0x54275a(0x187),null,{'conversation':this});try{const _0x584b3f=this[_0x54275a(0x194)][_0x54275a(0x126)](),_0x365c16=this[_0x54275a(0x134)][_0x54275a(0x179)](),_0x452d75=this[_0x54275a(0x13f)]['id'];this[_0x54275a(0x160)]=this[_0x54275a(0x164)]({'userMessage':_0x591939,'contextItems':_0x584b3f,'capabilities':_0x365c16,'modelId':_0x452d75,'quickActionData':_0x3a13a8}),await this[_0x54275a(0x160)][_0x54275a(0x12a)](),this[_0x54275a(0x194)][_0x54275a(0x16b)](this[_0x54275a(0x160)][_0x54275a(0x156)]);}catch(_0x4b16ba){if(_0x4b16ba instanceof _0x2d0456)this[_0x54275a(0x190)](_0x54275a(0x139),{'interactionId':this[_0x54275a(0x160)]?this[_0x54275a(0x160)]['id']:void 0x0,'error':_0x4b16ba});else{const _0x234fd3=_0x2f3650[_0x54275a(0x17e)](_0x4b16ba[_0x54275a(0x136)])||_0x54275a(0x154);this[_0x54275a(0x190)](_0x54275a(0x139),{'interactionId':this[_0x54275a(0x160)]?this[_0x54275a(0x160)]['id']:void 0x0,'error':new _0x2d0456(_0x234fd3,null,{'error':_0x4b16ba})});}}finally{this[_0x54275a(0x160)]?.[_0x54275a(0x124)](),this[_0x54275a(0x160)]=void 0x0;}}[_0x38b1fd(0x164)]({userMessage:_0x5be2ba,contextItems:_0x4750ca,capabilities:_0x3aca1b,modelId:_0x5c7974,quickActionData:_0x22fc87}){const _0x327b81=_0x38b1fd,_0xac3a56=new _0xc77839({'userMessage':_0x5be2ba,'contextItems':_0x4750ca,'capabilities':_0x3aca1b,'conversationId':this['id'],'connector':this[_0x327b81(0x158)],'editor':this[_0x327b81(0x177)][_0x327b81(0x192)]&&this[_0x327b81(0x177)][_0x327b81(0x192)](),'model':_0x5c7974,'quickActionData':_0x22fc87});return _0xac3a56[_0x327b81(0x121)](..._0x25055f)['to'](this),this[_0x327b81(0x16e)][_0x327b81(0x15c)](_0xac3a56),this[_0x327b81(0x190)](_0x327b81(0x150),_0xac3a56),_0xac3a56;}[_0x38b1fd(0x17c)](_0x62ef55){const _0x14162d=_0x38b1fd;return this[_0x14162d(0x16e)][_0x14162d(0x186)](_0x5843f0=>_0x5843f0['id']===_0x62ef55);}[_0x38b1fd(0x12d)](_0x278831){const _0x74d961=_0x38b1fd,_0x357110=this[_0x74d961(0x17c)](_0x278831);_0x357110&&(_0x357110[_0x74d961(0x152)](),this[_0x74d961(0x16e)][_0x74d961(0x18d)](this[_0x74d961(0x16e)][_0x74d961(0x15a)](_0x357110),0x1));}get[_0x38b1fd(0x12c)](){const _0x2c06d1=_0x38b1fd;return this[_0x2c06d1(0x16e)][this[_0x2c06d1(0x16e)][_0x2c06d1(0x146)]-0x1];}[_0x38b1fd(0x16c)](_0x289c9e){const _0x2f0fc4=_0x38b1fd;this[_0x2f0fc4(0x194)][_0x2f0fc4(0x16c)](_0x289c9e);}async[_0x38b1fd(0x17d)]({content:_0x7c8fda,version:_0x58961c,sessionId:_0x4a725e,selections:_0x4cf9de}){const _0x481148=_0x38b1fd;await this[_0x481148(0x194)][_0x481148(0x13d)](_0x7c8fda,_0x58961c,_0x4a725e,_0x4cf9de);}[_0x38b1fd(0x188)](){const _0x1c67bb=_0x38b1fd;return this[_0x1c67bb(0x160)]?.[_0x1c67bb(0x193)]()?.[_0x1c67bb(0x173)]||'';}[_0x38b1fd(0x196)](_0x2b6478){const _0x3936fc=_0x38b1fd;this[_0x3936fc(0x194)][_0x3936fc(0x196)](_0x2b6478);}[_0x38b1fd(0x122)](){const _0x29dfd7=_0x38b1fd;this[_0x29dfd7(0x194)][_0x29dfd7(0x122)]();}[_0x38b1fd(0x143)](_0x37b7d1){const _0xe777d=_0x38b1fd;this[_0xe777d(0x194)][_0xe777d(0x143)](_0x37b7d1);}[_0x38b1fd(0x12e)](_0x3fdcf1){const _0x14002e=_0x38b1fd;this[_0x14002e(0x194)][_0x14002e(0x12e)](_0x3fdcf1);}[_0x38b1fd(0x18e)](_0x3f050b,_0x50dc6c){const _0x5d275d=_0x38b1fd;this[_0x5d275d(0x194)][_0x5d275d(0x18e)](_0x3f050b,_0x50dc6c);}[_0x38b1fd(0x171)](_0x5e614b,_0x5bb7e3,_0x453d8d){const _0x273bd4=_0x38b1fd;return this[_0x273bd4(0x194)][_0x273bd4(0x171)](_0x5e614b,_0x5bb7e3,_0x453d8d);}[_0x38b1fd(0x178)](_0x567d77){const _0x4fb199=_0x38b1fd;this[_0x4fb199(0x194)][_0x4fb199(0x178)](_0x567d77);}[_0x38b1fd(0x189)](){const _0x2bd45c=_0x38b1fd;this[_0x2bd45c(0x134)][_0x2bd45c(0x189)]();}[_0x38b1fd(0x142)](){const _0x5e4680=_0x38b1fd;this[_0x5e4680(0x134)][_0x5e4680(0x142)]();}[_0x38b1fd(0x127)](){const _0x3dceae=_0x38b1fd;return this[_0x3dceae(0x194)][_0x3dceae(0x127)]();}[_0x38b1fd(0x18c)](){const _0x2255c9=_0x38b1fd;return this[_0x2255c9(0x194)][_0x2255c9(0x18c)]();}[_0x38b1fd(0x153)](){const _0x249a29=_0x38b1fd;return this[_0x249a29(0x194)][_0x249a29(0x153)]();}async[_0x38b1fd(0x17a)](_0x3f5be5){const _0x2aa840=_0x38b1fd;_0x3f5be5?!0x1===await this[_0x2aa840(0x14f)][_0x2aa840(0x18a)](_0x3f5be5)&&(_0x477542(_0x2aa840(0x16f),{'conversation':this,'model':_0x3f5be5}),_0x3f5be5=(await this[_0x2aa840(0x14f)][_0x2aa840(0x132)]())[0x0]):(_0x477542(_0x2aa840(0x166),{'conversation':this}),_0x3f5be5=(await this[_0x2aa840(0x14f)][_0x2aa840(0x132)]())[0x0]),_0x3f5be5['id']!==this[_0x2aa840(0x13f)]?.['id']&&(this[_0x2aa840(0x13f)]=_0x3f5be5,this[_0x2aa840(0x134)][_0x2aa840(0x163)](),this[_0x2aa840(0x190)](_0x2aa840(0x191),{'selectedModel':_0x3f5be5}));}}