@ckeditor/ckeditor5-ai 46.1.1 → 47.0.0-alpha.1

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 (623) hide show
  1. package/LICENSE.md +18 -5
  2. package/README.md +10 -9
  3. package/build/ai.js +2 -2
  4. package/build/translations/af.js +1 -1
  5. package/build/translations/ar.js +1 -1
  6. package/build/translations/ast.js +1 -1
  7. package/build/translations/az.js +1 -1
  8. package/build/translations/be.js +1 -1
  9. package/build/translations/bg.js +1 -1
  10. package/build/translations/bn.js +1 -1
  11. package/build/translations/bs.js +1 -1
  12. package/build/translations/ca.js +1 -1
  13. package/build/translations/cs.js +1 -1
  14. package/build/translations/da.js +1 -1
  15. package/build/translations/de-ch.js +1 -1
  16. package/build/translations/de.js +1 -1
  17. package/build/translations/el.js +1 -1
  18. package/build/translations/en-au.js +1 -1
  19. package/build/translations/en-gb.js +1 -1
  20. package/build/translations/eo.js +1 -1
  21. package/build/translations/es-co.js +1 -1
  22. package/build/translations/es.js +1 -1
  23. package/build/translations/et.js +1 -1
  24. package/build/translations/eu.js +1 -1
  25. package/build/translations/fa.js +1 -1
  26. package/build/translations/fi.js +1 -1
  27. package/build/translations/fr.js +1 -1
  28. package/build/translations/gl.js +1 -1
  29. package/build/translations/gu.js +1 -1
  30. package/build/translations/he.js +1 -1
  31. package/build/translations/hi.js +1 -1
  32. package/build/translations/hr.js +1 -1
  33. package/build/translations/hu.js +1 -1
  34. package/build/translations/hy.js +1 -1
  35. package/build/translations/id.js +1 -1
  36. package/build/translations/it.js +1 -1
  37. package/build/translations/ja.js +1 -1
  38. package/build/translations/jv.js +1 -1
  39. package/build/translations/kk.js +1 -1
  40. package/build/translations/km.js +1 -1
  41. package/build/translations/kn.js +1 -1
  42. package/build/translations/ko.js +1 -1
  43. package/build/translations/ku.js +1 -1
  44. package/build/translations/lt.js +1 -1
  45. package/build/translations/lv.js +1 -1
  46. package/build/translations/ms.js +1 -1
  47. package/build/translations/nb.js +1 -1
  48. package/build/translations/ne.js +1 -1
  49. package/build/translations/nl.js +1 -1
  50. package/build/translations/no.js +1 -1
  51. package/build/translations/oc.js +1 -1
  52. package/build/translations/pl.js +1 -1
  53. package/build/translations/pt-br.js +1 -1
  54. package/build/translations/pt.js +1 -1
  55. package/build/translations/ro.js +1 -1
  56. package/build/translations/ru.js +1 -1
  57. package/build/translations/si.js +1 -1
  58. package/build/translations/sk.js +1 -1
  59. package/build/translations/sl.js +1 -1
  60. package/build/translations/sq.js +1 -1
  61. package/build/translations/sr-latn.js +1 -1
  62. package/build/translations/sr.js +1 -1
  63. package/build/translations/sv.js +1 -1
  64. package/build/translations/th.js +1 -1
  65. package/build/translations/ti.js +1 -1
  66. package/build/translations/tk.js +1 -1
  67. package/build/translations/tr.js +1 -1
  68. package/build/translations/tt.js +1 -1
  69. package/build/translations/ug.js +1 -1
  70. package/build/translations/uk.js +1 -1
  71. package/build/translations/ur.js +1 -1
  72. package/build/translations/uz.js +1 -1
  73. package/build/translations/vi.js +1 -1
  74. package/build/translations/zh-cn.js +1 -1
  75. package/build/translations/zh.js +1 -1
  76. package/ckeditor5-metadata.json +24 -3
  77. package/dist/index-content.css +0 -1
  78. package/dist/index-editor.css +2742 -0
  79. package/dist/index.css +3141 -0
  80. package/dist/index.js +4 -2
  81. package/dist/translations/af.js +1 -1
  82. package/dist/translations/af.umd.js +1 -1
  83. package/dist/translations/ar.js +1 -1
  84. package/dist/translations/ar.umd.js +1 -1
  85. package/dist/translations/ast.js +1 -1
  86. package/dist/translations/ast.umd.js +1 -1
  87. package/dist/translations/az.js +1 -1
  88. package/dist/translations/az.umd.js +1 -1
  89. package/dist/translations/be.js +1 -1
  90. package/dist/translations/be.umd.js +1 -1
  91. package/dist/translations/bg.js +1 -1
  92. package/dist/translations/bg.umd.js +1 -1
  93. package/dist/translations/bn.js +1 -1
  94. package/dist/translations/bn.umd.js +1 -1
  95. package/dist/translations/bs.js +1 -1
  96. package/dist/translations/bs.umd.js +1 -1
  97. package/dist/translations/ca.js +1 -1
  98. package/dist/translations/ca.umd.js +1 -1
  99. package/dist/translations/cs.js +1 -1
  100. package/dist/translations/cs.umd.js +1 -1
  101. package/dist/translations/da.js +1 -1
  102. package/dist/translations/da.umd.js +1 -1
  103. package/dist/translations/de-ch.js +1 -1
  104. package/dist/translations/de-ch.umd.js +1 -1
  105. package/dist/translations/de.js +1 -1
  106. package/dist/translations/de.umd.js +1 -1
  107. package/dist/translations/el.js +1 -1
  108. package/dist/translations/el.umd.js +1 -1
  109. package/dist/translations/en-au.js +1 -1
  110. package/dist/translations/en-au.umd.js +1 -1
  111. package/dist/translations/en-gb.js +1 -1
  112. package/dist/translations/en-gb.umd.js +1 -1
  113. package/dist/translations/en.js +1 -1
  114. package/dist/translations/en.umd.js +1 -1
  115. package/dist/translations/eo.js +1 -1
  116. package/dist/translations/eo.umd.js +1 -1
  117. package/dist/translations/es-co.js +1 -1
  118. package/dist/translations/es-co.umd.js +1 -1
  119. package/dist/translations/es.js +1 -1
  120. package/dist/translations/es.umd.js +1 -1
  121. package/dist/translations/et.js +1 -1
  122. package/dist/translations/et.umd.js +1 -1
  123. package/dist/translations/eu.js +1 -1
  124. package/dist/translations/eu.umd.js +1 -1
  125. package/dist/translations/fa.js +1 -1
  126. package/dist/translations/fa.umd.js +1 -1
  127. package/dist/translations/fi.js +1 -1
  128. package/dist/translations/fi.umd.js +1 -1
  129. package/dist/translations/fr.js +1 -1
  130. package/dist/translations/fr.umd.js +1 -1
  131. package/dist/translations/gl.js +1 -1
  132. package/dist/translations/gl.umd.js +1 -1
  133. package/dist/translations/gu.js +1 -1
  134. package/dist/translations/gu.umd.js +1 -1
  135. package/dist/translations/he.js +1 -1
  136. package/dist/translations/he.umd.js +1 -1
  137. package/dist/translations/hi.js +1 -1
  138. package/dist/translations/hi.umd.js +1 -1
  139. package/dist/translations/hr.js +1 -1
  140. package/dist/translations/hr.umd.js +1 -1
  141. package/dist/translations/hu.js +1 -1
  142. package/dist/translations/hu.umd.js +1 -1
  143. package/dist/translations/hy.js +1 -1
  144. package/dist/translations/hy.umd.js +1 -1
  145. package/dist/translations/id.js +1 -1
  146. package/dist/translations/id.umd.js +1 -1
  147. package/dist/translations/it.js +1 -1
  148. package/dist/translations/it.umd.js +1 -1
  149. package/dist/translations/ja.js +1 -1
  150. package/dist/translations/ja.umd.js +1 -1
  151. package/dist/translations/jv.js +1 -1
  152. package/dist/translations/jv.umd.js +1 -1
  153. package/dist/translations/kk.js +1 -1
  154. package/dist/translations/kk.umd.js +1 -1
  155. package/dist/translations/km.js +1 -1
  156. package/dist/translations/km.umd.js +1 -1
  157. package/dist/translations/kn.js +1 -1
  158. package/dist/translations/kn.umd.js +1 -1
  159. package/dist/translations/ko.js +1 -1
  160. package/dist/translations/ko.umd.js +1 -1
  161. package/dist/translations/ku.js +1 -1
  162. package/dist/translations/ku.umd.js +1 -1
  163. package/dist/translations/lt.js +1 -1
  164. package/dist/translations/lt.umd.js +1 -1
  165. package/dist/translations/lv.js +1 -1
  166. package/dist/translations/lv.umd.js +1 -1
  167. package/dist/translations/ms.js +1 -1
  168. package/dist/translations/ms.umd.js +1 -1
  169. package/dist/translations/nb.js +1 -1
  170. package/dist/translations/nb.umd.js +1 -1
  171. package/dist/translations/ne.js +1 -1
  172. package/dist/translations/ne.umd.js +1 -1
  173. package/dist/translations/nl.js +1 -1
  174. package/dist/translations/nl.umd.js +1 -1
  175. package/dist/translations/no.js +1 -1
  176. package/dist/translations/no.umd.js +1 -1
  177. package/dist/translations/oc.js +1 -1
  178. package/dist/translations/oc.umd.js +1 -1
  179. package/dist/translations/pl.js +1 -1
  180. package/dist/translations/pl.umd.js +1 -1
  181. package/dist/translations/pt-br.js +1 -1
  182. package/dist/translations/pt-br.umd.js +1 -1
  183. package/dist/translations/pt.js +1 -1
  184. package/dist/translations/pt.umd.js +1 -1
  185. package/dist/translations/ro.js +1 -1
  186. package/dist/translations/ro.umd.js +1 -1
  187. package/dist/translations/ru.js +1 -1
  188. package/dist/translations/ru.umd.js +1 -1
  189. package/dist/translations/si.js +1 -1
  190. package/dist/translations/si.umd.js +1 -1
  191. package/dist/translations/sk.js +1 -1
  192. package/dist/translations/sk.umd.js +1 -1
  193. package/dist/translations/sl.js +1 -1
  194. package/dist/translations/sl.umd.js +1 -1
  195. package/dist/translations/sq.js +1 -1
  196. package/dist/translations/sq.umd.js +1 -1
  197. package/dist/translations/sr-latn.js +1 -1
  198. package/dist/translations/sr-latn.umd.js +1 -1
  199. package/dist/translations/sr.js +1 -1
  200. package/dist/translations/sr.umd.js +1 -1
  201. package/dist/translations/sv.js +1 -1
  202. package/dist/translations/sv.umd.js +1 -1
  203. package/dist/translations/th.js +1 -1
  204. package/dist/translations/th.umd.js +1 -1
  205. package/dist/translations/ti.js +1 -1
  206. package/dist/translations/ti.umd.js +1 -1
  207. package/dist/translations/tk.js +1 -1
  208. package/dist/translations/tk.umd.js +1 -1
  209. package/dist/translations/tr.js +1 -1
  210. package/dist/translations/tr.umd.js +1 -1
  211. package/dist/translations/tt.js +1 -1
  212. package/dist/translations/tt.umd.js +1 -1
  213. package/dist/translations/ug.js +1 -1
  214. package/dist/translations/ug.umd.js +1 -1
  215. package/dist/translations/uk.js +1 -1
  216. package/dist/translations/uk.umd.js +1 -1
  217. package/dist/translations/ur.js +1 -1
  218. package/dist/translations/ur.umd.js +1 -1
  219. package/dist/translations/uz.js +1 -1
  220. package/dist/translations/uz.umd.js +1 -1
  221. package/dist/translations/vi.js +1 -1
  222. package/dist/translations/vi.umd.js +1 -1
  223. package/dist/translations/zh-cn.js +1 -1
  224. package/dist/translations/zh-cn.umd.js +1 -1
  225. package/dist/translations/zh.js +1 -1
  226. package/dist/translations/zh.umd.js +1 -1
  227. package/lang/contexts.json +163 -1
  228. package/lang/translations/af.po +612 -0
  229. package/lang/translations/ar.po +628 -0
  230. package/lang/translations/ast.po +612 -0
  231. package/lang/translations/az.po +612 -0
  232. package/lang/translations/be.po +616 -0
  233. package/lang/translations/bg.po +612 -0
  234. package/lang/translations/bn.po +612 -0
  235. package/lang/translations/bs.po +616 -0
  236. package/lang/translations/ca.po +612 -0
  237. package/lang/translations/cs.po +616 -0
  238. package/lang/translations/da.po +612 -0
  239. package/lang/translations/de-ch.po +612 -0
  240. package/lang/translations/de.po +612 -0
  241. package/lang/translations/el.po +612 -0
  242. package/lang/translations/en-au.po +612 -0
  243. package/lang/translations/en-gb.po +612 -0
  244. package/lang/translations/en.po +612 -0
  245. package/lang/translations/eo.po +612 -0
  246. package/lang/translations/es-co.po +612 -0
  247. package/lang/translations/es.po +612 -0
  248. package/lang/translations/et.po +612 -0
  249. package/lang/translations/eu.po +612 -0
  250. package/lang/translations/fa.po +608 -0
  251. package/lang/translations/fi.po +612 -0
  252. package/lang/translations/fr.po +612 -0
  253. package/lang/translations/gl.po +612 -0
  254. package/lang/translations/gu.po +612 -0
  255. package/lang/translations/he.po +612 -0
  256. package/lang/translations/hi.po +612 -0
  257. package/lang/translations/hr.po +616 -0
  258. package/lang/translations/hu.po +612 -0
  259. package/lang/translations/hy.po +612 -0
  260. package/lang/translations/id.po +608 -0
  261. package/lang/translations/it.po +612 -0
  262. package/lang/translations/ja.po +608 -0
  263. package/lang/translations/jv.po +612 -0
  264. package/lang/translations/kk.po +612 -0
  265. package/lang/translations/km.po +608 -0
  266. package/lang/translations/kn.po +612 -0
  267. package/lang/translations/ko.po +608 -0
  268. package/lang/translations/ku.po +612 -0
  269. package/lang/translations/lt.po +616 -0
  270. package/lang/translations/lv.po +616 -0
  271. package/lang/translations/ms.po +608 -0
  272. package/lang/translations/nb.po +612 -0
  273. package/lang/translations/ne.po +612 -0
  274. package/lang/translations/nl.po +612 -0
  275. package/lang/translations/no.po +612 -0
  276. package/lang/translations/oc.po +612 -0
  277. package/lang/translations/pl.po +616 -0
  278. package/lang/translations/pt-br.po +612 -0
  279. package/lang/translations/pt.po +612 -0
  280. package/lang/translations/ro.po +616 -0
  281. package/lang/translations/ru.po +616 -0
  282. package/lang/translations/si.po +612 -0
  283. package/lang/translations/sk.po +616 -0
  284. package/lang/translations/sl.po +620 -0
  285. package/lang/translations/sq.po +612 -0
  286. package/lang/translations/sr-latn.po +616 -0
  287. package/lang/translations/sr.po +616 -0
  288. package/lang/translations/sv.po +612 -0
  289. package/lang/translations/th.po +608 -0
  290. package/lang/translations/ti.po +612 -0
  291. package/lang/translations/tk.po +612 -0
  292. package/lang/translations/tr.po +612 -0
  293. package/lang/translations/tt.po +608 -0
  294. package/lang/translations/ug.po +608 -0
  295. package/lang/translations/uk.po +616 -0
  296. package/lang/translations/ur.po +612 -0
  297. package/lang/translations/uz.po +612 -0
  298. package/lang/translations/vi.po +608 -0
  299. package/lang/translations/zh-cn.po +608 -0
  300. package/lang/translations/zh.po +608 -0
  301. package/package.json +23 -11
  302. package/src/aiactions/aiactions.d.ts +48 -0
  303. package/src/aiactions/aiactions.js +23 -0
  304. package/src/aiactions/model/aiactionsinteraction.d.ts +48 -0
  305. package/src/aiactions/model/aiactionsinteraction.js +23 -0
  306. package/src/aiactions/model/aiactionsreply.d.ts +15 -0
  307. package/src/aiactions/model/aiactionsreply.js +23 -0
  308. package/src/{adapters → aiassistant/adapters}/aiadapter.d.ts +1 -1
  309. package/src/aiassistant/adapters/aiadapter.js +23 -0
  310. package/src/{adapters → aiassistant/adapters}/aitextadapter.d.ts +9 -9
  311. package/src/aiassistant/adapters/aitextadapter.js +23 -0
  312. package/src/{adapters → aiassistant/adapters}/awstextadapter.d.ts +36 -23
  313. package/src/aiassistant/adapters/awstextadapter.js +23 -0
  314. package/src/{adapters → aiassistant/adapters}/openaitextadapter.d.ts +38 -25
  315. package/src/aiassistant/adapters/openaitextadapter.js +23 -0
  316. package/src/{aiassistant.d.ts → aiassistant/aiassistant.d.ts} +54 -13
  317. package/src/aiassistant/aiassistant.js +23 -0
  318. package/src/aiassistant/aiassistantediting.js +23 -0
  319. package/src/{aiassistantui.d.ts → aiassistant/aiassistantui.d.ts} +4 -4
  320. package/src/aiassistant/aiassistantui.js +23 -0
  321. package/src/{legacyerrors.js → aiassistant/legacyerrors.js} +1 -1
  322. package/src/{ui → aiassistant/ui}/aiassistantcontroller.d.ts +5 -4
  323. package/src/aiassistant/ui/aiassistantcontroller.js +24 -0
  324. package/src/{ui → aiassistant/ui}/form/aiformcontentarea.d.ts +1 -1
  325. package/src/aiassistant/ui/form/aiformcontentarea.js +23 -0
  326. package/src/aiassistant/ui/form/aiformerrorview.js +23 -0
  327. package/src/{ui → aiassistant/ui}/form/aiformpromptview.d.ts +1 -1
  328. package/src/aiassistant/ui/form/aiformpromptview.js +23 -0
  329. package/src/{ui → aiassistant/ui}/form/aiformtoolbarview.d.ts +1 -1
  330. package/src/aiassistant/ui/form/aiformtoolbarview.js +23 -0
  331. package/src/{ui → aiassistant/ui}/form/aiformview.d.ts +1 -1
  332. package/src/aiassistant/ui/form/aiformview.js +23 -0
  333. package/src/{ui → aiassistant/ui}/form/aihistorylistitemview.d.ts +1 -1
  334. package/src/aiassistant/ui/form/aihistorylistitemview.js +23 -0
  335. package/src/{ui → aiassistant/ui}/form/aihistorylistview.d.ts +1 -1
  336. package/src/aiassistant/ui/form/aihistorylistview.js +23 -0
  337. package/src/{ui → aiassistant/ui}/form/prompthistory.d.ts +3 -0
  338. package/src/aiassistant/ui/form/prompthistory.js +23 -0
  339. package/src/{ui → aiassistant/ui}/showaiassistantcommand.d.ts +2 -2
  340. package/src/aiassistant/ui/showaiassistantcommand.js +23 -0
  341. package/src/{utils → aiassistant/utils}/common-translations.d.ts +1 -1
  342. package/src/{utils → aiassistant/utils}/common-translations.js +1 -1
  343. package/src/{utils → aiassistant/utils}/normalizecommandsconfig.d.ts +2 -2
  344. package/src/{utils → aiassistant/utils}/normalizecommandsconfig.js +1 -1
  345. package/src/aiballoon/aiballoon.d.ts +72 -0
  346. package/src/aiballoon/aiballoon.js +23 -0
  347. package/src/aiballoon/ui/aiballoondisclaimerview.d.ts +17 -0
  348. package/src/aiballoon/ui/aiballoondisclaimerview.js +23 -0
  349. package/src/aiballoon/ui/aiballoontoolbarview.d.ts +31 -0
  350. package/src/aiballoon/ui/aiballoontoolbarview.js +23 -0
  351. package/src/aiballoon/ui/aiballoonview.d.ts +109 -0
  352. package/src/aiballoon/ui/aiballoonview.js +23 -0
  353. package/src/aichat/aichat.d.ts +79 -0
  354. package/src/aichat/aichat.js +23 -0
  355. package/src/aichat/aichatcontroller.d.ts +68 -0
  356. package/src/aichat/aichatcontroller.js +23 -0
  357. package/src/aichat/aichatui.d.ts +297 -0
  358. package/src/aichat/aichatui.js +23 -0
  359. package/src/aichat/model/aichatcontext.d.ts +360 -0
  360. package/src/aichat/model/aichatcontext.js +23 -0
  361. package/src/aichat/model/aichatconversation.d.ts +270 -0
  362. package/src/aichat/model/aichatconversation.js +23 -0
  363. package/src/aichat/model/aichatinteraction.d.ts +46 -0
  364. package/src/aichat/model/aichatinteraction.js +23 -0
  365. package/src/aichat/model/aichatmodels.d.ts +77 -0
  366. package/src/aichat/model/aichatmodels.js +23 -0
  367. package/src/aichat/ui/aichatcontrolsview.d.ts +98 -0
  368. package/src/aichat/ui/aichatcontrolsview.js +23 -0
  369. package/src/aichat/ui/aichatfeedview.d.ts +114 -0
  370. package/src/aichat/ui/aichatfeedview.js +23 -0
  371. package/src/aichat/ui/aichatheaderview.d.ts +29 -0
  372. package/src/aichat/ui/aichatheaderview.js +23 -0
  373. package/src/aichat/ui/aichatview.d.ts +37 -0
  374. package/src/aichat/ui/aichatview.js +23 -0
  375. package/src/aichat/ui/controls/aichatchipsoverflowmanager.d.ts +71 -0
  376. package/src/aichat/ui/controls/aichatchipsoverflowmanager.js +23 -0
  377. package/src/aichat/ui/controls/aichatcontextitembuttonview.d.ts +46 -0
  378. package/src/aichat/ui/controls/aichatcontextitembuttonview.js +23 -0
  379. package/src/aichat/ui/controls/aichatcontextpanelurlinputview.d.ts +89 -0
  380. package/src/aichat/ui/controls/aichatcontextpanelurlinputview.js +23 -0
  381. package/src/aichat/ui/controls/aichatcontextpanelview.d.ts +105 -0
  382. package/src/aichat/ui/controls/aichatcontextpanelview.js +23 -0
  383. package/src/aichat/ui/controls/aichatcontrolsloaderview.d.ts +12 -0
  384. package/src/aichat/ui/controls/aichatcontrolsloaderview.js +23 -0
  385. package/src/aichat/ui/controls/aichatpromptcapabilitiesview.d.ts +89 -0
  386. package/src/aichat/ui/controls/aichatpromptcapabilitiesview.js +23 -0
  387. package/src/aichat/ui/controls/aichatpromptinputview.d.ts +44 -0
  388. package/src/aichat/ui/controls/aichatpromptinputview.js +23 -0
  389. package/src/aichat/ui/controls/aichatpromptsuggestionslistview.d.ts +17 -0
  390. package/src/aichat/ui/controls/aichatpromptsuggestionslistview.js +23 -0
  391. package/src/aichat/ui/controls/resources/aichatresourcelistitemview.d.ts +61 -0
  392. package/src/aichat/ui/controls/resources/aichatresourcelistitemview.js +23 -0
  393. package/src/aichat/ui/controls/resources/aichatresourcesballoonview.d.ts +100 -0
  394. package/src/aichat/ui/controls/resources/aichatresourcesballoonview.js +23 -0
  395. package/src/aichat/ui/controls/resources/aichatresourceslistview.d.ts +49 -0
  396. package/src/aichat/ui/controls/resources/aichatresourceslistview.js +23 -0
  397. package/src/aichat/ui/controls/resources/aichatresourcessearchinputview.d.ts +61 -0
  398. package/src/aichat/ui/controls/resources/aichatresourcessearchinputview.js +23 -0
  399. package/src/aichat/ui/controls/resources/aichatresourcesview.d.ts +54 -0
  400. package/src/aichat/ui/controls/resources/aichatresourcesview.js +23 -0
  401. package/src/aichat/ui/feed/aichatfeedcontextchipsview.d.ts +27 -0
  402. package/src/aichat/ui/feed/aichatfeedcontextchipsview.js +23 -0
  403. package/src/aichat/ui/feed/aichatfeederroritemview.d.ts +39 -0
  404. package/src/aichat/ui/feed/aichatfeederroritemview.js +23 -0
  405. package/src/aichat/ui/feed/aichatfeedinteractionheaderview.d.ts +29 -0
  406. package/src/aichat/ui/feed/aichatfeedinteractionheaderview.js +23 -0
  407. package/src/aichat/ui/feed/aichatfeeditemview.d.ts +46 -0
  408. package/src/aichat/ui/feed/aichatfeeditemview.js +23 -0
  409. package/src/aichat/ui/feed/aichatfeedreplyitemview.d.ts +46 -0
  410. package/src/aichat/ui/feed/aichatfeedreplyitemview.js +23 -0
  411. package/src/aichat/ui/feed/aichatfeedsuggestionitemactionsview.d.ts +74 -0
  412. package/src/aichat/ui/feed/aichatfeedsuggestionitemactionsview.js +23 -0
  413. package/src/aichat/ui/feed/aichatfeedsuggestionitemview.d.ts +74 -0
  414. package/src/aichat/ui/feed/aichatfeedsuggestionitemview.js +23 -0
  415. package/src/aichat/ui/feed/aichatfeedusermessageitem.d.ts +40 -0
  416. package/src/aichat/ui/feed/aichatfeedusermessageitem.js +23 -0
  417. package/src/aichat/utils/eventnames.d.ts +5 -0
  418. package/src/aichat/utils/eventnames.js +23 -0
  419. package/src/aichat/utils/promisequeue.d.ts +32 -0
  420. package/src/aichat/utils/promisequeue.js +23 -0
  421. package/src/aichat/utils/scrollmanager.d.ts +23 -0
  422. package/src/aichat/utils/scrollmanager.js +23 -0
  423. package/src/aichathistory/aichathistory.d.ts +30 -0
  424. package/src/aichathistory/aichathistory.js +23 -0
  425. package/src/aichathistory/aichathistorycontroller.d.ts +40 -0
  426. package/src/aichathistory/aichathistorycontroller.js +23 -0
  427. package/src/aichathistory/aichathistoryui.d.ts +112 -0
  428. package/src/aichathistory/aichathistoryui.js +23 -0
  429. package/src/aichathistory/model/aichathistoryconversations.d.ts +114 -0
  430. package/src/aichathistory/model/aichathistoryconversations.js +23 -0
  431. package/src/aichathistory/model/aichathistoryitem.d.ts +59 -0
  432. package/src/aichathistory/model/aichathistoryitem.js +23 -0
  433. package/src/aichathistory/ui/aichathistorylistitemview.d.ts +42 -0
  434. package/src/aichathistory/ui/aichathistorylistitemview.js +23 -0
  435. package/src/aichathistory/ui/aichathistorylistview.d.ts +31 -0
  436. package/src/aichathistory/ui/aichathistorylistview.js +23 -0
  437. package/src/aichathistory/ui/aichathistorysectionlistview.d.ts +17 -0
  438. package/src/aichathistory/ui/aichathistorysectionlistview.js +23 -0
  439. package/src/aichathistory/ui/aichathistoryview.d.ts +41 -0
  440. package/src/aichathistory/ui/aichathistoryview.js +23 -0
  441. package/src/aiconfig.d.ts +92 -30
  442. package/src/aicore/aiconnector.d.ts +302 -0
  443. package/src/aicore/aiconnector.js +23 -0
  444. package/src/aicore/aiediting.d.ts +61 -0
  445. package/src/aicore/aiediting.js +23 -0
  446. package/src/aicore/model/aicapabilities.d.ts +55 -0
  447. package/src/aicore/model/aicapabilities.js +23 -0
  448. package/src/aicore/model/aicontext.d.ts +53 -0
  449. package/src/aicore/model/aicontext.js +23 -0
  450. package/src/aicore/model/aiinteraction.d.ts +135 -0
  451. package/src/aicore/model/aiinteraction.js +23 -0
  452. package/src/aicore/model/aireply.d.ts +178 -0
  453. package/src/aicore/model/aireply.js +23 -0
  454. package/src/aicore/pipeline/airesponseapplier.d.ts +291 -0
  455. package/src/aicore/pipeline/airesponseapplier.js +24 -0
  456. package/src/aicore/pipeline/airesponseparser.d.ts +27 -0
  457. package/src/aicore/pipeline/airesponseparser.js +24 -0
  458. package/src/aicore/ui/aidisclaimerview.d.ts +17 -0
  459. package/src/aicore/ui/aidisclaimerview.js +23 -0
  460. package/src/aicore/ui/aiskeleton.d.ts +37 -0
  461. package/src/aicore/ui/aiskeleton.js +23 -0
  462. package/src/aicore/ui/aispinner.d.ts +14 -0
  463. package/src/aicore/ui/aispinner.js +23 -0
  464. package/src/aicore/ui/suggestioncontainer/aiminitoolbarview.d.ts +62 -0
  465. package/src/aicore/ui/suggestioncontainer/aiminitoolbarview.js +23 -0
  466. package/src/aicore/ui/suggestioncontainer/aisuggestionbodyview.d.ts +38 -0
  467. package/src/aicore/ui/suggestioncontainer/aisuggestionbodyview.js +23 -0
  468. package/src/aicore/ui/suggestioncontainer/aisuggestioncontainerview.d.ts +80 -0
  469. package/src/aicore/ui/suggestioncontainer/aisuggestioncontainerview.js +23 -0
  470. package/src/aicore/ui/suggestioncontainer/aisuggestioncontentpartview.d.ts +39 -0
  471. package/src/aicore/ui/suggestioncontainer/aisuggestioncontentpartview.js +23 -0
  472. package/src/aicore/ui/suggestioncontainer/aisuggestionheaderview.d.ts +39 -0
  473. package/src/aicore/ui/suggestioncontainer/aisuggestionheaderview.js +23 -0
  474. package/src/aicore/utils/common-translations.d.ts +9 -0
  475. package/src/aicore/utils/common-translations.js +23 -0
  476. package/src/aicore/utils/createresizebutton.d.ts +12 -0
  477. package/src/aicore/utils/createresizebutton.js +23 -0
  478. package/src/aicore/utils/documentposition.d.ts +41 -0
  479. package/src/aicore/utils/documentposition.js +23 -0
  480. package/src/aicore/utils/documentrange.d.ts +46 -0
  481. package/src/aicore/utils/documentrange.js +23 -0
  482. package/src/aicore/utils/eventnames.d.ts +9 -0
  483. package/src/aicore/utils/eventnames.js +23 -0
  484. package/src/aicore/utils/geteditorfromcontext.d.ts +6 -0
  485. package/src/aicore/utils/geteditorfromcontext.js +23 -0
  486. package/src/aicore/utils/getoperationsfromreply.d.ts +21 -0
  487. package/src/aicore/utils/getoperationsfromreply.js +23 -0
  488. package/src/aicore/utils/getsuggestionpartsfromreply.d.ts +19 -0
  489. package/src/aicore/utils/getsuggestionpartsfromreply.js +23 -0
  490. package/src/aicore/utils/htmlparser.d.ts +35 -0
  491. package/src/aicore/utils/htmlparser.js +23 -0
  492. package/src/aicore/utils/htmlstreamer.d.ts +123 -0
  493. package/src/aicore/utils/htmlstreamer.js +23 -0
  494. package/src/aiquickactions/aiquickactions.d.ts +41 -0
  495. package/src/aiquickactions/aiquickactions.js +23 -0
  496. package/src/aiquickactions/aiquickactionscommand.d.ts +12 -0
  497. package/src/aiquickactions/aiquickactionscommand.js +23 -0
  498. package/src/aiquickactions/aiquickactionsediting.d.ts +23 -0
  499. package/src/aiquickactions/aiquickactionsediting.js +23 -0
  500. package/src/aiquickactions/aiquickactionsui.d.ts +150 -0
  501. package/src/aiquickactions/aiquickactionsui.js +23 -0
  502. package/src/aiquickactions/ui/aiquickactionsbuttoncreator.d.ts +30 -0
  503. package/src/aiquickactions/ui/aiquickactionsbuttoncreator.js +23 -0
  504. package/src/aiquickactions/ui/aiquickactionsdropdowncontentview.d.ts +45 -0
  505. package/src/aiquickactions/ui/aiquickactionsdropdowncontentview.js +23 -0
  506. package/src/aiquickactions/ui/aiquickactionsdropdowncreator.d.ts +45 -0
  507. package/src/aiquickactions/ui/aiquickactionsdropdowncreator.js +23 -0
  508. package/src/aiquickactions/utils/common-translations.d.ts +9 -0
  509. package/src/aiquickactions/utils/common-translations.js +23 -0
  510. package/src/aireviewmode/aireviewmode.d.ts +30 -0
  511. package/src/aireviewmode/aireviewmode.js +23 -0
  512. package/src/aireviewmode/aireviewmodecontroller.d.ts +32 -0
  513. package/src/aireviewmode/aireviewmodecontroller.js +23 -0
  514. package/src/aireviewmode/aireviewmodeediting.d.ts +129 -0
  515. package/src/aireviewmode/aireviewmodeediting.js +23 -0
  516. package/src/aireviewmode/aireviewmodeui.d.ts +73 -0
  517. package/src/aireviewmode/aireviewmodeui.js +23 -0
  518. package/src/aireviewmode/model/aireviewcheck.d.ts +60 -0
  519. package/src/aireviewmode/model/aireviewcheck.js +23 -0
  520. package/src/aireviewmode/model/aireviewcheckcustom.d.ts +17 -0
  521. package/src/aireviewmode/model/aireviewcheckcustom.js +23 -0
  522. package/src/aireviewmode/model/aireviewchecklist.d.ts +31 -0
  523. package/src/aireviewmode/model/aireviewchecklist.js +23 -0
  524. package/src/aireviewmode/model/aireviewcheckresult.d.ts +39 -0
  525. package/src/aireviewmode/model/aireviewcheckresult.js +23 -0
  526. package/src/aireviewmode/model/aireviewcheckresultchange.d.ts +42 -0
  527. package/src/aireviewmode/model/aireviewcheckresultchange.js +23 -0
  528. package/src/aireviewmode/model/aireviewcheckrun.d.ts +102 -0
  529. package/src/aireviewmode/model/aireviewcheckrun.js +23 -0
  530. package/src/aireviewmode/model/aireviewcustomcheckrun.d.ts +18 -0
  531. package/src/aireviewmode/model/aireviewcustomcheckrun.js +23 -0
  532. package/src/aireviewmode/model/aireviewmodels.d.ts +26 -0
  533. package/src/aireviewmode/model/aireviewmodels.js +23 -0
  534. package/src/aireviewmode/model/aireviewsystemcheckrun.d.ts +14 -0
  535. package/src/aireviewmode/model/aireviewsystemcheckrun.js +23 -0
  536. package/src/aireviewmode/ui/aireviemodepromptinputview.d.ts +29 -0
  537. package/src/aireviewmode/ui/aireviemodepromptinputview.js +23 -0
  538. package/src/aireviewmode/ui/aireviewmodechecklistitemresultview.d.ts +46 -0
  539. package/src/aireviewmode/ui/aireviewmodechecklistitemresultview.js +23 -0
  540. package/src/aireviewmode/ui/aireviewmodecustomcheckview.d.ts +23 -0
  541. package/src/aireviewmode/ui/aireviewmodecustomcheckview.js +23 -0
  542. package/src/aireviewmode/ui/aireviewmodereviewchecklistview.d.ts +23 -0
  543. package/src/aireviewmode/ui/aireviewmodereviewchecklistview.js +23 -0
  544. package/src/aireviewmode/ui/aireviewmodereviewcheckresultsview.d.ts +80 -0
  545. package/src/aireviewmode/ui/aireviewmodereviewcheckresultsview.js +23 -0
  546. package/src/aireviewmode/ui/aireviewmodereviewcommandlistitemview.d.ts +45 -0
  547. package/src/aireviewmode/ui/aireviewmodereviewcommandlistitemview.js +23 -0
  548. package/src/aireviewmode/ui/aireviewmodereviewcompletedview.d.ts +18 -0
  549. package/src/aireviewmode/ui/aireviewmodereviewcompletedview.js +23 -0
  550. package/src/aireviewmode/ui/aireviewmodeview.d.ts +42 -0
  551. package/src/aireviewmode/ui/aireviewmodeview.js +23 -0
  552. package/src/aireviewmode/ui/form/aireviewmodeformamanager.d.ts +16 -0
  553. package/src/aireviewmode/ui/form/aireviewmodeformamanager.js +23 -0
  554. package/src/aireviewmode/ui/form/aireviewmodeformdropdown.d.ts +20 -0
  555. package/src/aireviewmode/ui/form/aireviewmodeformdropdown.js +23 -0
  556. package/src/aireviewmode/ui/form/aireviewmodeformmanager.d.ts +16 -0
  557. package/src/aireviewmode/ui/form/aireviewmodeformmanager.js +23 -0
  558. package/src/aireviewmode/utils/common-translations.d.ts +9 -0
  559. package/src/aireviewmode/utils/common-translations.js +23 -0
  560. package/src/aitabs/aitabs.d.ts +92 -0
  561. package/src/aitabs/aitabs.js +23 -0
  562. package/src/aitabs/aitabsmainview.d.ts +45 -0
  563. package/src/aitabs/aitabsmainview.js +23 -0
  564. package/src/aitabs/tabs/aitabsview.d.ts +147 -0
  565. package/src/aitabs/tabs/aitabsview.js +23 -0
  566. package/src/aitabs/tabs/tabbuttonview.d.ts +47 -0
  567. package/src/aitabs/tabs/tabbuttonview.js +23 -0
  568. package/src/aitabs/tabs/tabpanelview.d.ts +44 -0
  569. package/src/aitabs/tabs/tabpanelview.js +23 -0
  570. package/src/augmentation.d.ts +22 -6
  571. package/src/index.d.ts +40 -9
  572. package/src/index.js +1 -1
  573. package/theme/aiballoon/aiballoon.css +207 -0
  574. package/theme/aichat/aichat-controls/aichat-context-chip.css +139 -0
  575. package/theme/aichat/aichat-controls/aichat-context-controls-balloon-panels.css +194 -0
  576. package/theme/aichat/aichat-controls/aichat-context-controls.css +46 -0
  577. package/theme/aichat/aichat-controls/aichat-controls-button.css +74 -0
  578. package/theme/aichat/aichat-controls/aichat-controls-loader.css +93 -0
  579. package/theme/aichat/aichat-controls/prompt-capabilities.css +46 -0
  580. package/theme/aichat/aichat-controls/prompt-input.css +55 -0
  581. package/theme/aichat/aichat-controls.css +154 -0
  582. package/theme/aichat/aichat.css +68 -0
  583. package/theme/aichat/aichatfeed.css +376 -0
  584. package/theme/aichat/aichathistory.css +235 -0
  585. package/theme/aichat/aiminitoolbar.css +94 -0
  586. package/theme/aichat/aisuggestioncontainer.css +203 -0
  587. package/theme/aiquickactions/aiquickactions.css +43 -0
  588. package/theme/aireviewmode/aireviewmode-check-list.css +255 -0
  589. package/theme/aireviewmode/aireviewmode-check-run.css +202 -0
  590. package/theme/aireviewmode/aireviewmode-review-completed.css +52 -0
  591. package/theme/aireviewmode/aireviewmode.css +73 -0
  592. package/theme/aitabs/aitabsview.css +64 -0
  593. package/theme/aitabs/tabs/tabbuttonview.css +74 -0
  594. package/theme/aitabs/tabs/tabsview.css +78 -0
  595. package/theme/common/aibutton.css +145 -0
  596. package/theme/common/aichaterror.css +61 -0
  597. package/theme/common/aidisclaimer.css +29 -0
  598. package/theme/common/aiheader.css +88 -0
  599. package/theme/common/aiskeleton.css +54 -0
  600. package/theme/common/aispinner.css +58 -0
  601. package/src/adapters/aiadapter.js +0 -23
  602. package/src/adapters/aitextadapter.js +0 -23
  603. package/src/adapters/awstextadapter.js +0 -23
  604. package/src/adapters/openaitextadapter.js +0 -23
  605. package/src/aiassistant.js +0 -23
  606. package/src/aiassistantediting.js +0 -23
  607. package/src/aiassistantui.js +0 -23
  608. package/src/ui/aiassistantcontroller.js +0 -24
  609. package/src/ui/form/aiformcontentarea.js +0 -23
  610. package/src/ui/form/aiformerrorview.js +0 -23
  611. package/src/ui/form/aiformpromptview.js +0 -23
  612. package/src/ui/form/aiformtoolbarview.js +0 -23
  613. package/src/ui/form/aiformview.js +0 -23
  614. package/src/ui/form/aihistorylistitemview.js +0 -23
  615. package/src/ui/form/aihistorylistview.js +0 -23
  616. package/src/ui/form/prompthistory.js +0 -23
  617. package/src/ui/showaiassistantcommand.js +0 -23
  618. /package/src/{aiassistantediting.d.ts → aiassistant/aiassistantediting.d.ts} +0 -0
  619. /package/src/{legacyerrors.d.ts → aiassistant/legacyerrors.d.ts} +0 -0
  620. /package/src/{ui → aiassistant/ui}/form/aiformerrorview.d.ts +0 -0
  621. /package/theme/{ai-dropdown.css → aiassistant/ai-dropdown.css} +0 -0
  622. /package/theme/{ai-form.css → aiassistant/ai-form.css} +0 -0
  623. /package/theme/{ai.css → aiassistant/ai.css} +0 -0
@@ -0,0 +1,360 @@
1
+ /**
2
+ * @license Copyright (c) 2003-2025, CKSource Holding sp. z o.o. All rights reserved.
3
+ * For licensing, see LICENSE.md or https://ckeditor.com/legal/ckeditor-licensing-options
4
+ */
5
+ import { type AIConnector, type AIUserMessage } from '../../aicore/aiconnector.js';
6
+ import { AIContextItemType, AIContextTextResourceType, type AIContextItem, type AIContextItemRequestData } from '../../aicore/model/aicontext.js';
7
+ export declare const AI_CONTEXT_MODEL_EVENT_NAMES: readonly ["contextItemAdded", "contextItemRemoved", "contextItemLoadingEnded", "contextSent", "error", "addContextOptionsChanged", "sourceResourcesLoaded", "resourceStateChanged", "uploadProgressChanged"];
8
+ declare const AIChatContext_base: {
9
+ new (): import("ckeditor5/src/utils.js").Observable;
10
+ prototype: import("ckeditor5/src/utils.js").Observable;
11
+ };
12
+ /**
13
+ * Manages the context of the current conversation.
14
+ */
15
+ export declare class AIChatContext extends /* #__PURE__ */ AIChatContext_base {
16
+ constructor({ connector, config, ownerId }: {
17
+ connector: AIConnector;
18
+ config?: AIChatContextConfig;
19
+ ownerId: string;
20
+ });
21
+ /**
22
+ * Initializes the context.
23
+ */
24
+ init(): void;
25
+ /**
26
+ * Returns the pending context items that will be sent to the AI endpoint in the next interaction.
27
+ *
28
+ * @returns Map of pending context items keyed by their uiId
29
+ */
30
+ getPendingContextItems(): Map<string, AIContextItem>;
31
+ /**
32
+ * Populates context items from message data.
33
+ * This method converts user message content to context items and adds them to the conversation context.
34
+ */
35
+ populateFromMessage(content: AIUserMessage['content'][0]): Promise<AIContextItem>;
36
+ /**
37
+ * Creates a context item from conversation content.
38
+ */
39
+ private _createContextItemFromContent;
40
+ /**
41
+ * Returns all context items that have been sent to the AI endpoint in the current conversation.
42
+ *
43
+ * @returns Map of sent context items keyed by their uiId
44
+ */
45
+ getSentContextItems(): Map<string, AIContextItem>;
46
+ /**
47
+ * Removes a context item from the pending context.
48
+ * Read-only items cannot be removed and the method returns early.
49
+ *
50
+ * @param uiId The unique identifier of the context item to remove
51
+ */
52
+ removeFromContext(uiId: string): void;
53
+ /**
54
+ * Clears all pending context items and adds the current document to the conversation context if it exists.
55
+ */
56
+ clearPendingContextItems(): void;
57
+ /**
58
+ * Adds context items to the conversation context and clears the pending context items.
59
+ */
60
+ addToConversationContext(contextItems: Map<string, AIContextItem>): void;
61
+ /**
62
+ * Checks if the current document is in the pending context.
63
+ *
64
+ * @returns True if the current document is in pending context, false otherwise
65
+ */
66
+ isCurrentDocumentInContext(): boolean;
67
+ isSelectionInContext(): boolean;
68
+ /**
69
+ * Checks if the current document is in the conversation context.
70
+ *
71
+ * @returns True if the current document is in conversation context, false otherwise
72
+ */
73
+ isCurrentDocumentInConversation(): boolean;
74
+ /**
75
+ * Converts context items to request data format for API endpoint.
76
+ * This static method transforms the internal context item format to the format expected by the AI connector.
77
+ *
78
+ * @param contextItems Map of context items to convert
79
+ * @returns Array of context items in API request format
80
+ */
81
+ static mapContextItemsToRequestData(contextItems: Map<string, AIContextItem>): Array<AIContextItemRequestData>;
82
+ /**
83
+ * Adds files to the context by uploading them and creating context items.
84
+ * This method handles multiple files concurrently and tracks upload progress.
85
+ *
86
+ * @param files Array of File objects to upload and add to context
87
+ * @param [attributes] Optional attributes object containing resourceId and label for tracking purposes and context chips
88
+ * @param [type] Context item type, defaults to AIContextItemType.FILE to indicate that the file is being added as a file or text
89
+ * @returns Promise that resolves when all files are processed
90
+ */
91
+ addFilesToContext(files: Array<File>, attributes?: {
92
+ resourceId: string;
93
+ label: string;
94
+ }, type?: AIContextItemType.FILE | AIContextItemType.TEXT): Promise<void>;
95
+ /**
96
+ * Adds the current document to the pending context.
97
+ * If the document is already in context, this method returns early without changes.
98
+ *
99
+ * @param label Display label for the current document
100
+ */
101
+ addCurrentDocumentToContext(label: string): void;
102
+ /**
103
+ * Updates the current document in the pending context with new content and version.
104
+ * This method uploads the document content and updates the context item accordingly.
105
+ *
106
+ * @param content The document content to upload, or undefined to skip
107
+ * @param version Version number of the document for change tracking
108
+ * @returns Promise that resolves when the document is updated
109
+ */
110
+ updateCurrentDocument(content: string | undefined, version: number, sessionId: string | null, selections: Array<{
111
+ start: number;
112
+ end: number;
113
+ htmlFragment: string;
114
+ }>): Promise<void>;
115
+ addSelectionToContext(selection: string): void;
116
+ removeSelectionFromContext(): void;
117
+ /**
118
+ * Adds a URL to the context by uploading it and creating a context item.
119
+ * This method handles URL upload with proper error handling and progress tracking.
120
+ *
121
+ * @param url The URL to upload and add to context
122
+ * @param [attributes] Optional attributes object containing resourceId and label for tracking purposes and context chips
123
+ * @returns Promise that resolves when the URL is processed
124
+ */
125
+ addUrlToContext(url: string, attributes?: {
126
+ resourceId: string;
127
+ label: string;
128
+ }): Promise<void>;
129
+ /**
130
+ * Loads resources for a given source provider with the specified query.
131
+ * This method calls the source's getResources callback and updates resource states.
132
+ *
133
+ * @param sourceId The unique identifier of the source provider
134
+ * @param query Search query to filter resources
135
+ * @param uid Unique identifier for the request to prevent race conditions
136
+ * @returns Promise resolving to array of resources with context state
137
+ */
138
+ loadSourceResources(sourceId: string, query: string, uid: string): Promise<Array<AIContextResourceState>>;
139
+ addResourceToContext(source: AIContextProvider, resource: AIContextResource): Promise<void>;
140
+ }
141
+ export type AIChatContextItemAddedEvent = {
142
+ name: 'contextItemAdded';
143
+ args: [
144
+ {
145
+ contextItem: AIContextItem;
146
+ isLoading: boolean;
147
+ }
148
+ ];
149
+ };
150
+ export type AIChatContextItemRemovedEvent = {
151
+ name: 'contextItemRemoved';
152
+ args: [
153
+ {
154
+ uiId: string;
155
+ type?: AIContextItemType;
156
+ }
157
+ ];
158
+ };
159
+ export type AIChatContextItemLoadingEndedEvent = {
160
+ name: 'contextItemLoadingEnded';
161
+ args: [
162
+ {
163
+ contextItem: AIContextItem;
164
+ isLoading: boolean;
165
+ }
166
+ ];
167
+ };
168
+ export type AIChatContextSentEvent = {
169
+ name: 'contextSent';
170
+ args: [
171
+ {
172
+ contextItems: Array<AIContextItem>;
173
+ }
174
+ ];
175
+ };
176
+ export type AIChatContextAddContextOptionsChangedEvent = {
177
+ name: 'addContextOptionsChanged';
178
+ args: [
179
+ {
180
+ options: AIAddContextOptionsState;
181
+ }
182
+ ];
183
+ };
184
+ export type AIChatContextSourceResourcesLoadedEvent = {
185
+ name: 'sourceResourcesLoaded';
186
+ args: [
187
+ {
188
+ sourceId: string;
189
+ source: AIContextProvider;
190
+ resources: Array<AIContextResourceState>;
191
+ uid: string;
192
+ }
193
+ ];
194
+ };
195
+ export type AIChatContextResourceStateChangedEvent = {
196
+ name: 'resourceStateChanged';
197
+ args: [
198
+ {
199
+ sourceId: string;
200
+ resourceId: string;
201
+ isInContext: boolean;
202
+ }
203
+ ];
204
+ };
205
+ export type AIChatContextUploadProgressChangedEvent = {
206
+ name: 'uploadProgressChanged';
207
+ args: [
208
+ {
209
+ isUploadInProgress: boolean;
210
+ }
211
+ ];
212
+ };
213
+ export type AIAddContextOptionsState = {
214
+ document: {
215
+ enabled: boolean;
216
+ isHidden: boolean;
217
+ };
218
+ urls: {
219
+ enabled: boolean;
220
+ };
221
+ files: {
222
+ enabled: boolean;
223
+ };
224
+ sources: Array<AIContextProviderState>;
225
+ };
226
+ export type AIContextProviderState = AIContextProvider & {
227
+ resources: Array<AIContextResourceState>;
228
+ };
229
+ export type AIContextResourceState = AIContextResource & {
230
+ isInContext?: boolean;
231
+ };
232
+ /**
233
+ * The configuration of the AI Chat menu for adding resources to the prompt context.
234
+ *
235
+ * This menu allows users to attach additional resources (files, documents, URLs) to their AI chat prompts,
236
+ * providing the AI with more context for generating responses. The properties defined in this config are set
237
+ * in the `config.ai.chat.context` namespace.
238
+ *
239
+ * ```ts
240
+ * ClassicEditor
241
+ * .create( editorElement, {
242
+ * ai: {
243
+ * chat: {
244
+ * context: {
245
+ * document: { enabled: true },
246
+ * urls: { enabled: false },
247
+ * files: { enabled: true },
248
+ * sources: [
249
+ * {
250
+ * id: 'my-docs',
251
+ * label: 'My Documents',
252
+ * getResources: ( query?: string ) => fetchMyDocuments( query ),
253
+ * getData: ( id ) => fetchDocumentContent( id )
254
+ * }
255
+ * ]
256
+ * }
257
+ * }
258
+ * }
259
+ * } )
260
+ * .then( ... )
261
+ * .catch( ... );
262
+ * ```
263
+ *
264
+ * The `document`, `urls`, and `files` properties control the built-in options in the context menu.
265
+ * Each option can be enabled or disabled using the `enabled` boolean property.
266
+ *
267
+ * The `sources` property is an array where each element represents a custom option in the context menu.
268
+ * When a user clicks on a custom source option, it will display a list of available resources returned by the
269
+ * `getResources` callback. If a resource doesn't have content provided in the `getResources` response, the content
270
+ * will be retrieved using the `getData` callback when the resource is selected.
271
+ *
272
+ * See {@link module:ai/aichat/model/aichatcontext~AIContextProvider} and
273
+ * {@link module:ai/aichat/model/aichatcontext~AIContextResource}.
274
+ */
275
+ export type AIChatContextConfig = {
276
+ document?: {
277
+ enabled: boolean;
278
+ };
279
+ urls?: {
280
+ enabled: boolean;
281
+ };
282
+ files?: {
283
+ enabled: boolean;
284
+ };
285
+ sources?: Array<AIContextProvider>;
286
+ };
287
+ /**
288
+ * The configuration of a custom option in the AI Chat menu for adding resources to the prompt context.
289
+ *
290
+ * Each `AIContextProvider` represents a single menu option that, when clicked, displays a list of available
291
+ * resources that can be attached to the AI prompt. The `label` is displayed as the menu option text, and the
292
+ * optional `icon` can be used to provide a visual representation.
293
+ *
294
+ * The `getResources` callback is called when the user clicks on the menu option and should return an array of
295
+ * available resources. If a resource doesn't have content provided in the `getResources` response (i.e., the `data`
296
+ * property is undefined), the content will be retrieved using the `getData` callback when the resource is selected
297
+ * to be included in the prompt context.
298
+ *
299
+ * The optional `useDefaultFiltering` property controls whether the built-in search filtering should be applied
300
+ * to the resources returned by `getResources`. When set to `true`, the resources will be filtered
301
+ * based on the user's search query. When set to `false`, all resources will be displayed regardless of the search query,
302
+ * allowing the provider to handle filtering internally within the `getResources` callback.
303
+ *
304
+ * ```ts
305
+ * {
306
+ * id: 'knowledge-base',
307
+ * label: 'Knowledge Base',
308
+ * icon: 'book',
309
+ * useDefaultFiltering: false,
310
+ * getResources: async ( query?: string ) => [
311
+ * { id: 'doc1', type: AIContextItemType.DOCUMENT, label: 'User Guide' },
312
+ * { id: 'doc2', type: AIContextItemType.DOCUMENT, label: 'API Reference', data: 'content...' }
313
+ * ],
314
+ * getData: async ( id ) => fetchDocumentContent( id )
315
+ * }
316
+ * ```
317
+ */
318
+ export type AIContextProvider = {
319
+ id: string;
320
+ icon?: string;
321
+ label: string;
322
+ useDefaultFiltering?: boolean;
323
+ getResources: (query?: string) => Promise<Array<AIContextResource>>;
324
+ getData?: (id: string) => Promise<string>;
325
+ };
326
+ /**
327
+ * An individual resource item within a {@link module:ai/aichat/model/aichatcontext~AIContextProvider}.
328
+ *
329
+ * Represents a single selectable item in the resources list displayed when a user clicks on a custom
330
+ * context menu option. The `label` is displayed to the user as the resource name, and the `type`
331
+ * indicates what kind of context item this represents (file, document, or URL).
332
+ *
333
+ * When selected, the resource will be attached to the AI prompt to provide additional context for
334
+ * generating responses. If the `data` property is provided, it contains the content of the resource.
335
+ * If `data` is undefined, the content will be retrieved using the `getData` callback from the parent
336
+ * `AIContextProvider` when the resource is selected.
337
+ *
338
+ * ```ts
339
+ * {
340
+ * id: 'user-guide-intro',
341
+ * type: AIContextItemType.DOCUMENT,
342
+ * label: 'User Guide - Introduction',
343
+ * data: 'This is the introduction to our user guide...'
344
+ * }
345
+ * ```
346
+ */
347
+ export type AIContextResource = {
348
+ id: string;
349
+ type: AIContextItemType;
350
+ label: string;
351
+ data?: string | File | AIContextTextResource;
352
+ };
353
+ /**
354
+ * A text resource that can be used as a context item.
355
+ */
356
+ export type AIContextTextResource = {
357
+ content: string;
358
+ type: AIContextTextResourceType;
359
+ };
360
+ export {};
@@ -0,0 +1,23 @@
1
+ /*
2
+ * Copyright (c) 2003-2025, CKSource Holding sp. z o.o. All rights reserved.
3
+ *
4
+ *
5
+ *
6
+ *
7
+ * +---------------------------------------------------------------------------------+
8
+ * | |
9
+ * | Hello stranger! |
10
+ * | |
11
+ * | |
12
+ * | What you're currently looking at is the source code of a legally protected, |
13
+ * | proprietary software. Any attempts to deobfuscate / disassemble this code |
14
+ * | are forbidden and will result in legal consequences. |
15
+ * | |
16
+ * | |
17
+ * +---------------------------------------------------------------------------------+
18
+ *
19
+ *
20
+ *
21
+ *
22
+ */
23
+ const _0x4aa975=_0x5e1c;(function(_0x2772cb,_0x25b05a){const _0x1aec15=_0x5e1c,_0x22f496=_0x2772cb();while(!![]){try{const _0x27b6cb=parseInt(_0x1aec15(0x1c6))/0x1*(parseInt(_0x1aec15(0x232))/0x2)+parseInt(_0x1aec15(0x209))/0x3*(-parseInt(_0x1aec15(0x1bc))/0x4)+-parseInt(_0x1aec15(0x22e))/0x5+parseInt(_0x1aec15(0x225))/0x6+parseInt(_0x1aec15(0x203))/0x7+-parseInt(_0x1aec15(0x1e8))/0x8+parseInt(_0x1aec15(0x241))/0x9;if(_0x27b6cb===_0x25b05a)break;else _0x22f496['push'](_0x22f496['shift']());}catch(_0x5d8269){_0x22f496['push'](_0x22f496['shift']());}}}(_0x1f61,0xc4bb5));import{CKEditorError as _0x4233bd,ObservableMixin as _0x1eb501,uid as _0x264fe8}from'ckeditor5/src/utils.js';import{AIContextItemType as _0x4b6fd9,AIContextTextResourceType as _0x25c72c}from'../../aicore/model/aicontext.js';function _0x1f61(){const _0x515459=['_finishUploadOperation','contextSent','push','_mapContextItemToRequestData','fetchDocument','sources','startsWith','URL','filter','_ongoingUploads','18982908hJVMzS','getPendingContextItems','addToConversationContext','uiId','_createContextItemFromContent','ai-chat-document-upload-failed','_connector','find','356FLcUtq','addContextOptionsChanged','url-','ai-chat-resource-load-failed','getResources','ai-chat-resource-no-data','fire','_updateResourceInContextState','updateCurrentDocument','files-','334TkMcGk','ai-chat-context-unsupported-type','has','_config','_addToConversationContextItem','from','_addContextItem','attributes','sourceResourcesLoaded','uploadFile','hidden','text/markdown','uploadUrl','_ongoingUploadOperations','addUrlToContext','object','size','urls','addResourceToContext','document','enabled','loadSourceResources','label','object\x20with\x20content\x20and\x20type\x20properties','Current\x20document','isCurrentDocumentInContext','getId','message','error','_getCustomSourcesInitialState','ai-chat-source-resources-load-failed','_convertTextResourceToFile','length','addSelectionToContext','5571800NtGOZq','text/plain','contextItemAdded','isInContext','_conversationContextItems','removeFromContext','text/html','files','_isResourceInContext','delete','mapContextItemsToRequestData','abortController','start','init','isHidden','_finishContextItemLoading','map','SELECTION','abort','stack','FILE','isSelectionInContext','data','_toggleAddCurrentDocumentOptionVisibility','type','selection','getSentContextItems','10482192PTAAyZ','contextItemRemoved','_pendingContextItems','File','getDocument','file-','51702ewTBcV','end','contextItemLoadingEnded','HTML','_removeContextItem','DOCUMENT','_findSourceIdsByResourceId','resources','TEXT','forEach','isCurrentDocumentInConversation','removeSelectionFromContext','ai-chat-url-upload-failed','getData','content','name','resourceId','populateFromMessage','ai-request-aborted','version','ai-chat-file-upload-failed','ai-chat-context-invalid-data','_addContextOptionsState','addFilesToContext','_ownerId','get','clearPendingContextItems','uploadDocument','2179380NggdRJ','uploadProgressChanged','ai-chat-source-not-found','_setAddContextOptionsDefaultState','set','addCurrentDocumentToContext','all','values','MARKDOWN','7200640yycfNy','_startUploadOperation','current-document','sessionId','3032sANylb','resourceStateChanged','string','url','isReadOnly'];_0x1f61=function(){return _0x515459;};return _0x1f61();}import{escape as _0x4b4871}from'es-toolkit/compat';export const AI_CONTEXT_MODEL_EVENT_NAMES=[_0x4aa975(0x1ea),_0x4aa975(0x204),_0x4aa975(0x20b),_0x4aa975(0x238),_0x4aa975(0x1e2),_0x4aa975(0x1bd),_0x4aa975(0x1ce),_0x4aa975(0x233),_0x4aa975(0x226)];function _0x5e1c(_0x5b60fd,_0x59b263){const _0x1f610c=_0x1f61();return _0x5e1c=function(_0x5e1c3b,_0x4e9e61){_0x5e1c3b=_0x5e1c3b-0x1b5;let _0x1a1687=_0x1f610c[_0x5e1c3b];return _0x1a1687;},_0x5e1c(_0x5b60fd,_0x59b263);}export class AIChatContext extends _0x1eb501(){[_0x4aa975(0x1ba)];[_0x4aa975(0x1c9)];[_0x4aa975(0x221)];constructor({connector:_0xcbad3b,config:_0x17ffdf,ownerId:_0x44d46f}){const _0x1676a1=_0x4aa975;super(),this[_0x1676a1(0x1ba)]=_0xcbad3b,this[_0x1676a1(0x1c9)]=_0x17ffdf,this[_0x1676a1(0x221)]=_0x44d46f;}[_0x4aa975(0x1f5)](){const _0x184c4b=_0x4aa975;this[_0x184c4b(0x205)]=new Map(),this[_0x184c4b(0x1ec)]=new Map(),this[_0x184c4b(0x240)]=new Map(),this[_0x184c4b(0x1d3)]=new Map(),this[_0x184c4b(0x228)]();}[_0x4aa975(0x1b5)](){const _0x4e87e6=_0x4aa975;return this[_0x4e87e6(0x205)];}async[_0x4aa975(0x21a)](_0x61c33e){const _0xd8e2f2=_0x4aa975,_0x438f74=await this[_0xd8e2f2(0x1b8)](_0x61c33e);return this[_0xd8e2f2(0x1ca)](_0x438f74),_0xd8e2f2(0x230)===_0x438f74[_0xd8e2f2(0x1b7)]&&this[_0xd8e2f2(0x1ff)](),_0x438f74;}async[_0x4aa975(0x1b8)](_0x9dec6d){const _0x43cb2f=_0x4aa975;if(_0x9dec6d[_0x43cb2f(0x200)]===_0x4b6fd9[_0x43cb2f(0x20e)]){const _0x1e8d11=await this[_0x43cb2f(0x1ba)][_0x43cb2f(0x23b)](this[_0x43cb2f(0x221)],_0x9dec6d['id'])[_0x43cb2f(0x207)]();return{'id':_0x43cb2f(0x230),'uiId':_0x43cb2f(0x230),'label':_0x43cb2f(0x1de),'type':_0x9dec6d[_0x43cb2f(0x200)],'content':_0x1e8d11[_0x43cb2f(0x217)],'hidden':this[_0x43cb2f(0x1ec)][_0x43cb2f(0x1c8)](_0x43cb2f(0x230)),'version':_0x1e8d11[_0x43cb2f(0x1cd)]?.[_0x43cb2f(0x21c)],'sessionId':_0x1e8d11[_0x43cb2f(0x1cd)]?.[_0x43cb2f(0x231)]};}return{'id':_0x9dec6d['id'],'uiId':_0x9dec6d['id'],'label':_0x9dec6d[_0x43cb2f(0x1cd)]?.[_0x43cb2f(0x1dc)]||_0x9dec6d[_0x43cb2f(0x218)]||_0x9dec6d[_0x43cb2f(0x235)]||_0x9dec6d['id'],'type':_0x9dec6d[_0x43cb2f(0x200)],..._0x9dec6d?.[_0x43cb2f(0x1cd)]?.[_0x43cb2f(0x219)]?{'resourceId':_0x9dec6d[_0x43cb2f(0x1cd)]?.[_0x43cb2f(0x219)]}:{}};}[_0x4aa975(0x202)](){const _0x101481=_0x4aa975;return new Map(this[_0x101481(0x1ec)]);}[_0x4aa975(0x1ed)](_0x3c0755){const _0x2df8f8=_0x4aa975,_0x45681f=this[_0x2df8f8(0x205)][_0x2df8f8(0x222)](_0x3c0755);_0x45681f?.[_0x2df8f8(0x236)]||this[_0x2df8f8(0x20d)](_0x3c0755);}[_0x4aa975(0x223)](){const _0x143425=_0x4aa975;if(0x0===this[_0x143425(0x205)][_0x143425(0x1d6)])return;for(const _0x191a19 of this[_0x143425(0x205)][_0x143425(0x22c)]())this[_0x143425(0x20d)](_0x191a19[_0x143425(0x1b7)]);const _0x426eb2=this[_0x143425(0x1ec)][_0x143425(0x222)](_0x143425(0x230))||this[_0x143425(0x205)][_0x143425(0x222)](_0x143425(0x230));_0x426eb2&&this[_0x143425(0x1cc)]({..._0x426eb2,'isReadOnly':!0x0,'hidden':!0x0});}[_0x4aa975(0x1b6)](_0x455f6f){const _0x419866=_0x4aa975;for(const _0x5bb458 of _0x455f6f[_0x419866(0x22c)]())this[_0x419866(0x1ca)](_0x5bb458);this[_0x419866(0x223)](),this[_0x419866(0x1c2)](_0x419866(0x238),{'contextItems':Array[_0x419866(0x1cb)](this[_0x419866(0x202)]()[_0x419866(0x22c)]())});}[_0x4aa975(0x1df)](){const _0xa5f8de=_0x4aa975;return this[_0xa5f8de(0x205)][_0xa5f8de(0x1c8)](_0xa5f8de(0x230));}[_0x4aa975(0x1fd)](){const _0x1cb1ec=_0x4aa975;return this[_0x1cb1ec(0x205)][_0x1cb1ec(0x1c8)](_0x1cb1ec(0x201));}[_0x4aa975(0x213)](){const _0x487d56=_0x4aa975;return this[_0x487d56(0x1ec)][_0x487d56(0x1c8)](_0x487d56(0x230));}static[_0x4aa975(0x1f2)](_0x1cae18){const _0x209ca4=_0x4aa975;return Array[_0x209ca4(0x1cb)](_0x1cae18[_0x209ca4(0x22c)]())[_0x209ca4(0x1f8)](_0x50160c=>this[_0x209ca4(0x23a)](_0x50160c))[_0x209ca4(0x23f)](_0x12385e=>null!==_0x12385e);}async[_0x4aa975(0x220)](_0x2c5050,_0x51f039,_0x4e1bc7=_0x4b6fd9[_0x4aa975(0x1fc)]){const _0x31b42c=_0x4aa975,_0x470370=_0x31b42c(0x1c5)+_0x264fe8();this[_0x31b42c(0x22f)](_0x470370);try{await Promise[_0x31b42c(0x22b)](_0x2c5050[_0x31b42c(0x1f8)](async _0x242434=>{const _0x4645b7=_0x31b42c,_0x3dc441=_0x4645b7(0x208)+_0x264fe8(),_0x1a96a0=_0x4b4871(_0x242434[_0x4645b7(0x218)]);try{this[_0x4645b7(0x1cc)]({'type':_0x4e1bc7,'label':_0x51f039?.[_0x4645b7(0x1dc)]||_0x1a96a0,'uiId':_0x3dc441,'resourceId':_0x51f039?.[_0x4645b7(0x219)]},!0x0);const _0xd3aae6=this[_0x4645b7(0x1ba)][_0x4645b7(0x1cf)](this[_0x4645b7(0x221)],_0x242434,_0x51f039);this[_0x4645b7(0x240)][_0x4645b7(0x229)](_0x3dc441,_0xd3aae6[_0x4645b7(0x1f3)]);const {id:_0x35d775}=await _0xd3aae6[_0x4645b7(0x1e0)]();this[_0x4645b7(0x240)][_0x4645b7(0x1f1)](_0x3dc441),this[_0x4645b7(0x1f7)]({'type':_0x4e1bc7,'id':_0x35d775,'label':_0x51f039?.[_0x4645b7(0x1dc)]||_0x1a96a0,'uiId':_0x3dc441,'resourceId':_0x51f039?.[_0x4645b7(0x219)]},!0x1);}catch(_0xb47bd){this[_0x4645b7(0x240)][_0x4645b7(0x1f1)](_0x3dc441);if(!_0xb47bd[_0x4645b7(0x1e1)][_0x4645b7(0x23d)](_0x4645b7(0x21b))){const _0x20d653=new _0x4233bd(_0x4645b7(0x21d),null,{'fileName':_0x1a96a0});_0x20d653[_0x4645b7(0x1fb)]=_0xb47bd[_0x4645b7(0x1fb)],this[_0x4645b7(0x1c2)](_0x4645b7(0x1e2),{'error':_0x20d653,'fileName':_0x1a96a0});}this[_0x4645b7(0x20d)](_0x3dc441);}}));}finally{this[_0x31b42c(0x237)](_0x470370);}}[_0x4aa975(0x22a)](_0xc10c00){const _0x5abd90=_0x4aa975;if(this[_0x5abd90(0x1df)]())return;const _0x2fd7f8={'type':_0x4b6fd9[_0x5abd90(0x20e)],'uiId':_0x5abd90(0x230),'label':_0xc10c00,'isReadOnly':this[_0x5abd90(0x1ec)][_0x5abd90(0x1c8)](_0x5abd90(0x230)),'hidden':this[_0x5abd90(0x1ec)][_0x5abd90(0x1c8)](_0x5abd90(0x230))};this[_0x5abd90(0x1cc)](_0x2fd7f8);}async[_0x4aa975(0x1c4)](_0x513c31,_0x5448a8,_0x3e0103,_0x3fbcb2){const _0x234f20=_0x4aa975,_0x2dc45b=this[_0x234f20(0x205)][_0x234f20(0x222)](_0x234f20(0x230));if(_0x2dc45b&&_0x513c31){_0x2dc45b[_0x234f20(0x201)]=_0x3fbcb2?_0x3fbcb2[_0x234f20(0x1f8)](_0x4fee20=>({'start':_0x4fee20[_0x234f20(0x1f4)],'end':_0x4fee20[_0x234f20(0x20a)]})):[];try{if(_0x2dc45b[_0x234f20(0x21c)]===_0x5448a8)return;const {id:_0x410350}=await this[_0x234f20(0x1ba)][_0x234f20(0x224)](this[_0x234f20(0x221)],_0x513c31,{'version':_0x5448a8,'sessionId':_0x3e0103})[_0x234f20(0x1e0)]();_0x2dc45b['id']=_0x410350,_0x2dc45b[_0x234f20(0x217)]=_0x513c31,_0x2dc45b[_0x234f20(0x21c)]=_0x5448a8,_0x2dc45b[_0x234f20(0x231)]=_0x3e0103;}catch(_0x27f640){const _0x29a905=new _0x4233bd(_0x234f20(0x1b9),null);_0x29a905[_0x234f20(0x1fb)]=_0x27f640[_0x234f20(0x1fb)],this[_0x234f20(0x1c2)](_0x234f20(0x1e2),{'error':_0x29a905});}}}[_0x4aa975(0x1e7)](_0x42bd03){const _0xedffc7=_0x4aa975;this[_0xedffc7(0x1cc)]({'type':_0x4b6fd9[_0xedffc7(0x1f9)],'label':_0x42bd03,'uiId':_0xedffc7(0x201),'content':_0x42bd03});}[_0x4aa975(0x214)](){const _0x4ce3dd=_0x4aa975;this[_0x4ce3dd(0x20d)](_0x4ce3dd(0x201));}async[_0x4aa975(0x1d4)](_0x31c254,_0x226116){const _0x3e8802=_0x4aa975,_0x283b59=_0x3e8802(0x1be)+_0x264fe8();this[_0x3e8802(0x22f)](_0x283b59);const _0x56b239=_0x3e8802(0x1be)+_0x264fe8();try{this[_0x3e8802(0x1cc)]({'type':_0x4b6fd9[_0x3e8802(0x23e)],'label':_0x226116?.[_0x3e8802(0x1dc)]||_0x31c254,'uiId':_0x56b239,'resourceId':_0x226116?.[_0x3e8802(0x219)]},!0x0);const _0x3c8268=this[_0x3e8802(0x1ba)][_0x3e8802(0x1d2)](this[_0x3e8802(0x221)],_0x31c254,_0x226116);this[_0x3e8802(0x240)][_0x3e8802(0x229)](_0x56b239,_0x3c8268[_0x3e8802(0x1f3)]);const {id:_0x58ea4d}=await _0x3c8268[_0x3e8802(0x1e0)]();this[_0x3e8802(0x240)][_0x3e8802(0x1f1)](_0x56b239),this[_0x3e8802(0x1f7)]({'type':_0x4b6fd9[_0x3e8802(0x23e)],'id':_0x58ea4d,'label':_0x226116?.[_0x3e8802(0x1dc)]||_0x31c254,'uiId':_0x56b239,'resourceId':_0x226116?.[_0x3e8802(0x219)]},!0x1);}catch(_0x5bb216){this[_0x3e8802(0x240)][_0x3e8802(0x1f1)](_0x56b239),(_0x5bb216[_0x3e8802(0x1e1)][_0x3e8802(0x23d)](_0x3e8802(0x21b))||this[_0x3e8802(0x1c2)](_0x3e8802(0x1e2),{'error':new _0x4233bd(_0x3e8802(0x215),this,{'url':_0x31c254,'originalError':_0x5bb216}),'url':_0x31c254}),this[_0x3e8802(0x20d)](_0x56b239));}finally{this[_0x3e8802(0x237)](_0x283b59);}}async[_0x4aa975(0x1db)](_0x411540,_0x2b4bdd,_0x2dd93c){const _0x284cc4=_0x4aa975,_0x243b49=this[_0x284cc4(0x21f)][_0x284cc4(0x23c)][_0x284cc4(0x1bb)](_0x2c73e8=>_0x2c73e8['id']===_0x411540);if(!_0x243b49)return this[_0x284cc4(0x1c2)](_0x284cc4(0x1e2),{'error':new _0x4233bd(_0x284cc4(0x227),this,{'sourceId':_0x411540}),'sourceId':_0x411540}),[];try{const _0x481574=(await _0x243b49[_0x284cc4(0x1c0)](_0x2b4bdd))[_0x284cc4(0x1f8)](_0xf57a35=>{const _0xf2e07f=_0x284cc4,_0x42e804=this[_0xf2e07f(0x1f0)](_0xf57a35['id']);return{..._0xf57a35,'isInContext':_0x42e804};});return _0x243b49[_0x284cc4(0x210)]=_0x481574,this[_0x284cc4(0x1c2)](_0x284cc4(0x1ce),{'sourceId':_0x411540,'source':_0x243b49,'resources':_0x481574,'uid':_0x2dd93c}),_0x481574;}catch(_0x205f2f){return this[_0x284cc4(0x1c2)](_0x284cc4(0x1e2),{'error':new _0x4233bd(_0x284cc4(0x1e4),this,{'sourceId':_0x411540,'originalError':_0x205f2f}),'sourceId':_0x411540,'sourceLabel':_0x243b49[_0x284cc4(0x1dc)]}),[];}}async[_0x4aa975(0x1d8)](_0x2fb980,_0x3cda62){const _0x15ec3e=_0x4aa975;if(this[_0x15ec3e(0x1f0)](_0x3cda62['id']))return;let _0x595658=_0x3cda62[_0x15ec3e(0x1fe)];if(!_0x595658&&_0x2fb980[_0x15ec3e(0x216)])try{_0x595658=await _0x2fb980[_0x15ec3e(0x216)](_0x3cda62['id']);}catch(_0x4a544d){return void this[_0x15ec3e(0x1c2)](_0x15ec3e(0x1e2),{'error':new _0x4233bd(_0x15ec3e(0x1bf),this,{'resourceId':_0x3cda62['id'],'sourceId':_0x2fb980['id'],'originalError':_0x4a544d}),'resourceId':_0x3cda62['id'],'sourceId':_0x2fb980['id']});}if(_0x595658)switch(_0x3cda62[_0x15ec3e(0x200)]){case _0x4b6fd9[_0x15ec3e(0x23e)]:if(_0x15ec3e(0x234)!=typeof _0x595658)return void this[_0x15ec3e(0x1c2)](_0x15ec3e(0x1e2),{'error':new _0x4233bd(_0x15ec3e(0x21e),this,{'resourceId':_0x3cda62['id'],'sourceId':_0x2fb980['id'],'expectedType':_0x15ec3e(0x234),'actualType':typeof _0x595658}),'resourceId':_0x3cda62['id'],'sourceId':_0x2fb980['id']});await this[_0x15ec3e(0x1d4)](_0x595658,{'label':_0x3cda62[_0x15ec3e(0x1dc)],'resourceId':_0x3cda62['id']});break;case _0x4b6fd9[_0x15ec3e(0x1fc)]:if(!(_0x595658 instanceof File))return void this[_0x15ec3e(0x1c2)](_0x15ec3e(0x1e2),{'error':new _0x4233bd(_0x15ec3e(0x21e),this,{'resourceId':_0x3cda62['id'],'sourceId':_0x2fb980['id'],'expectedType':_0x15ec3e(0x206),'actualType':typeof _0x595658}),'resourceId':_0x3cda62['id'],'sourceId':_0x2fb980['id']});await this[_0x15ec3e(0x220)]([_0x595658],{'label':_0x3cda62[_0x15ec3e(0x1dc)],'resourceId':_0x3cda62['id']});break;case _0x4b6fd9[_0x15ec3e(0x211)]:if(_0x15ec3e(0x1d5)!=typeof _0x595658||!(_0x15ec3e(0x217)in _0x595658)||!(_0x15ec3e(0x200)in _0x595658))return void this[_0x15ec3e(0x1c2)](_0x15ec3e(0x1e2),{'error':new _0x4233bd(_0x15ec3e(0x21e),this,{'resourceId':_0x3cda62['id'],'sourceId':_0x2fb980['id'],'expectedType':_0x15ec3e(0x1dd),'actualType':typeof _0x595658}),'resourceId':_0x3cda62['id'],'sourceId':_0x2fb980['id']});_0x595658=AIChatContext[_0x15ec3e(0x1e5)](_0x595658,_0x3cda62[_0x15ec3e(0x1dc)]),await this[_0x15ec3e(0x220)]([_0x595658],{'label':_0x3cda62[_0x15ec3e(0x1dc)],'resourceId':_0x3cda62['id']},_0x4b6fd9[_0x15ec3e(0x211)]);break;default:this[_0x15ec3e(0x1c2)](_0x15ec3e(0x1e2),{'error':new _0x4233bd(_0x15ec3e(0x1c7),this,{'resourceId':_0x3cda62['id'],'sourceId':_0x2fb980['id'],'resourceType':_0x3cda62[_0x15ec3e(0x200)]}),'resourceId':_0x3cda62['id'],'sourceId':_0x2fb980['id']});}else this[_0x15ec3e(0x1c2)](_0x15ec3e(0x1e2),{'error':new _0x4233bd(_0x15ec3e(0x1c1),this,{'resourceId':_0x3cda62['id'],'sourceId':_0x2fb980['id']}),'resourceId':_0x3cda62['id'],'sourceId':_0x2fb980['id']});}static[_0x4aa975(0x1e5)](_0x4a3d04,_0x54bebc){const _0x3568f2=_0x4aa975;switch(_0x4a3d04[_0x3568f2(0x200)]){case _0x25c72c[_0x3568f2(0x22d)]:return new File([_0x4a3d04[_0x3568f2(0x217)]],_0x54bebc,{'type':_0x3568f2(0x1d1)});case _0x25c72c[_0x3568f2(0x20c)]:return new File([_0x4a3d04[_0x3568f2(0x217)]],_0x54bebc,{'type':_0x3568f2(0x1ee)});default:return new File([_0x4a3d04[_0x3568f2(0x217)]],_0x54bebc,{'type':_0x3568f2(0x1e9)});}}static[_0x4aa975(0x23a)](_0x55f25d){const _0x2b8143=_0x4aa975;switch(_0x55f25d[_0x2b8143(0x200)]){case _0x4b6fd9[_0x2b8143(0x1fc)]:return{'type':_0x4b6fd9[_0x2b8143(0x1fc)],'id':_0x55f25d['id']};case _0x4b6fd9[_0x2b8143(0x23e)]:return{'type':_0x4b6fd9[_0x2b8143(0x23e)],'id':_0x55f25d['id']};case _0x4b6fd9[_0x2b8143(0x20e)]:return{'type':_0x4b6fd9[_0x2b8143(0x20e)],'id':_0x55f25d['id'],..._0x55f25d[_0x2b8143(0x201)]?.[_0x2b8143(0x1e6)]&&{'selection':_0x55f25d[_0x2b8143(0x201)]}};case _0x4b6fd9[_0x2b8143(0x211)]:return{'type':_0x4b6fd9[_0x2b8143(0x1fc)],'id':_0x55f25d['id']};default:return null;}}[_0x4aa975(0x1cc)](_0x513ced,_0x12d595=!0x1){const _0x35829a=_0x4aa975;if(this[_0x35829a(0x205)][_0x35829a(0x229)](_0x513ced[_0x35829a(0x1b7)],_0x513ced),_0x513ced[_0x35829a(0x1d0)]||this[_0x35829a(0x1c2)](_0x35829a(0x1ea),{'contextItem':_0x513ced,'isLoading':_0x12d595}),_0x35829a(0x230)===_0x513ced[_0x35829a(0x1b7)]&&this[_0x35829a(0x1ff)](),_0x513ced[_0x35829a(0x219)]){const _0x5b1482=this[_0x35829a(0x20f)](_0x513ced[_0x35829a(0x219)]);_0x5b1482&&_0x5b1482[_0x35829a(0x212)](_0x441c9b=>{const _0x5907d0=_0x35829a;this[_0x5907d0(0x1c3)](_0x441c9b,_0x513ced[_0x5907d0(0x219)],!0x0);});}}[_0x4aa975(0x20d)](_0xe8a4d4){const _0x56cae1=_0x4aa975,_0x2efeea=this[_0x56cae1(0x205)][_0x56cae1(0x222)](_0xe8a4d4),_0xa69617=this[_0x56cae1(0x240)][_0x56cae1(0x222)](_0xe8a4d4);if(_0xa69617&&(_0xa69617[_0x56cae1(0x1fa)](),this[_0x56cae1(0x240)][_0x56cae1(0x1f1)](_0xe8a4d4)),_0x2efeea?.[_0x56cae1(0x219)]){const _0x1b3566=this[_0x56cae1(0x20f)](_0x2efeea[_0x56cae1(0x219)]);_0x1b3566&&_0x1b3566[_0x56cae1(0x212)](_0x2d1031=>{const _0x331259=_0x56cae1;this[_0x331259(0x1c3)](_0x2d1031,_0x2efeea[_0x331259(0x219)],!0x1);});}this[_0x56cae1(0x205)][_0x56cae1(0x1f1)](_0xe8a4d4),this[_0x56cae1(0x1c2)](_0x56cae1(0x204),{'uiId':_0xe8a4d4,'type':_0x2efeea?.[_0x56cae1(0x200)]}),_0x56cae1(0x230)===_0xe8a4d4&&this[_0x56cae1(0x1ff)]();}[_0x4aa975(0x1f7)](_0x31f473,_0x37df76){const _0xa82c22=_0x4aa975;if(this[_0xa82c22(0x205)][_0xa82c22(0x1c8)](_0x31f473[_0xa82c22(0x1b7)])&&(this[_0xa82c22(0x205)][_0xa82c22(0x229)](_0x31f473[_0xa82c22(0x1b7)],_0x31f473),this[_0xa82c22(0x1c2)](_0xa82c22(0x20b),{'contextItem':_0x31f473,'isLoading':_0x37df76}),_0x31f473[_0xa82c22(0x219)])){const _0xf73a90=this[_0xa82c22(0x20f)](_0x31f473[_0xa82c22(0x219)]);_0xf73a90&&_0xf73a90[_0xa82c22(0x212)](_0x5190eb=>{const _0x20525c=_0xa82c22;this[_0x20525c(0x1c3)](_0x5190eb,_0x31f473[_0x20525c(0x219)],!0x0);});}}[_0x4aa975(0x1ca)](_0x43ef10){const _0xb456d3=_0x4aa975;this[_0xb456d3(0x1ec)][_0xb456d3(0x229)](_0x43ef10[_0xb456d3(0x1b7)],_0x43ef10);}[_0x4aa975(0x228)](){const _0xe1b4bd=_0x4aa975;this[_0xe1b4bd(0x21f)]={'document':{'enabled':!0x1!==this[_0xe1b4bd(0x1c9)]?.[_0xe1b4bd(0x1d9)]?.[_0xe1b4bd(0x1da)],'isHidden':!0x1},'urls':{'enabled':!0x1!==this[_0xe1b4bd(0x1c9)]?.[_0xe1b4bd(0x1d7)]?.[_0xe1b4bd(0x1da)]},'files':{'enabled':!0x1!==this[_0xe1b4bd(0x1c9)]?.[_0xe1b4bd(0x1ef)]?.[_0xe1b4bd(0x1da)]},'sources':this[_0xe1b4bd(0x1e3)]()},this[_0xe1b4bd(0x1c2)](_0xe1b4bd(0x1bd),{'options':this[_0xe1b4bd(0x21f)]});}[_0x4aa975(0x1e3)](){const _0x21d28b=_0x4aa975;return this[_0x21d28b(0x1c9)]?.[_0x21d28b(0x23c)]?.[_0x21d28b(0x1f8)](_0x11ce10=>({..._0x11ce10,'resources':[]}))??[];}[_0x4aa975(0x1ff)](){const _0x3394dd=_0x4aa975,_0x367574=this[_0x3394dd(0x1df)]()||this[_0x3394dd(0x213)]();this[_0x3394dd(0x21f)][_0x3394dd(0x1d9)][_0x3394dd(0x1f6)]=_0x367574,this[_0x3394dd(0x1c2)](_0x3394dd(0x1bd),{'options':this[_0x3394dd(0x21f)]});}[_0x4aa975(0x1f0)](_0x2da3bb){const _0x4fd1c7=_0x4aa975;for(const _0x58f01b of this[_0x4fd1c7(0x205)][_0x4fd1c7(0x22c)]())if(_0x58f01b[_0x4fd1c7(0x219)]===_0x2da3bb)return!0x0;for(const _0x2e8485 of this[_0x4fd1c7(0x1ec)][_0x4fd1c7(0x22c)]())if(_0x2e8485[_0x4fd1c7(0x219)]===_0x2da3bb)return!0x0;return!0x1;}[_0x4aa975(0x20f)](_0x984e90){const _0x71909f=_0x4aa975,_0x20aad0=[];for(const _0x2a9d8c of this[_0x71909f(0x21f)][_0x71909f(0x23c)]){_0x2a9d8c[_0x71909f(0x210)][_0x71909f(0x1bb)](_0x287e78=>_0x287e78['id']===_0x984e90)&&_0x20aad0[_0x71909f(0x239)](_0x2a9d8c['id']);}return 0x0===_0x20aad0[_0x71909f(0x1e6)]?null:_0x20aad0;}[_0x4aa975(0x1c3)](_0x2120c4,_0x27895d,_0x3205d5){const _0x153f07=_0x4aa975,_0x4bedcc=this[_0x153f07(0x21f)][_0x153f07(0x23c)][_0x153f07(0x1bb)](_0xbcccb6=>_0xbcccb6['id']===_0x2120c4);if(!_0x4bedcc)return;const _0x4ff5a5=_0x4bedcc[_0x153f07(0x210)][_0x153f07(0x1bb)](_0x5dedc2=>_0x5dedc2['id']===_0x27895d);_0x4ff5a5&&(_0x4ff5a5[_0x153f07(0x1eb)]=_0x3205d5,this[_0x153f07(0x1c2)](_0x153f07(0x233),{'sourceId':_0x2120c4,'resourceId':_0x27895d,'isInContext':_0x3205d5}));}[_0x4aa975(0x22f)](_0x67d989){const _0x5694c9=_0x4aa975;this[_0x5694c9(0x1d3)][_0x5694c9(0x229)](_0x67d989,!0x0),this[_0x5694c9(0x1d3)][_0x5694c9(0x1d6)]&&this[_0x5694c9(0x1c2)](_0x5694c9(0x226),{'isUploadInProgress':!0x0});}[_0x4aa975(0x237)](_0x4d1b91){const _0xeaf7d9=_0x4aa975;this[_0xeaf7d9(0x1d3)][_0xeaf7d9(0x1f1)](_0x4d1b91),0x0===this[_0xeaf7d9(0x1d3)][_0xeaf7d9(0x1d6)]&&this[_0xeaf7d9(0x1c2)](_0xeaf7d9(0x226),{'isUploadInProgress':!0x1});}}