@nuraly/lumenui 0.2.1 → 0.2.2

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 (525) hide show
  1. package/dist/nuralyui.bundle.js +2010 -1271
  2. package/dist/nuralyui.bundle.js.gz +0 -0
  3. package/dist/src/components/button/controllers/base.controller.d.ts +15 -0
  4. package/dist/src/components/button/controllers/base.controller.js +13 -0
  5. package/dist/src/components/button/controllers/index.d.ts +10 -0
  6. package/dist/src/components/button/controllers/index.js +10 -0
  7. package/dist/src/components/button/controllers/keyboard.controller.d.ts +32 -0
  8. package/dist/src/components/button/controllers/keyboard.controller.js +78 -0
  9. package/dist/src/components/button/controllers/link.controller.d.ts +30 -0
  10. package/dist/src/components/button/controllers/link.controller.js +75 -0
  11. package/dist/src/components/button/controllers/ripple.controller.d.ts +23 -0
  12. package/dist/src/components/button/controllers/ripple.controller.js +69 -0
  13. package/dist/src/components/button/interfaces/base-controller.interface.d.ts +61 -0
  14. package/dist/src/components/button/interfaces/base-controller.interface.js +7 -0
  15. package/dist/src/components/button/interfaces/index.d.ts +2 -0
  16. package/dist/src/components/button/interfaces/index.js +2 -0
  17. package/dist/src/components/button/test/nr-button_test.d.ts +2 -0
  18. package/dist/src/components/button/test/nr-button_test.js +91 -0
  19. package/dist/src/components/canvas/base-canvas.component.d.ts +2 -1
  20. package/dist/src/components/canvas/base-canvas.component.js +6 -0
  21. package/dist/src/components/canvas/bundle.js +702 -475
  22. package/dist/src/components/canvas/bundle.js.gz +0 -0
  23. package/dist/src/components/canvas/chatbot-panel.style.js +50 -59
  24. package/dist/src/components/canvas/chatbot-trigger/chatbot-trigger-fields.component.d.ts +115 -0
  25. package/dist/src/components/canvas/chatbot-trigger/chatbot-trigger-fields.component.js +480 -0
  26. package/dist/src/components/canvas/chatbot-trigger/chatbot-trigger-fields.style.d.ts +7 -0
  27. package/dist/src/components/canvas/chatbot-trigger/chatbot-trigger-fields.style.js +323 -0
  28. package/dist/src/components/canvas/chatbot-trigger/chatbot-trigger.types.d.ts +162 -0
  29. package/dist/src/components/canvas/chatbot-trigger/chatbot-trigger.types.js +88 -0
  30. package/dist/src/components/canvas/chatbot-trigger/index.d.ts +9 -0
  31. package/dist/src/components/canvas/chatbot-trigger/index.js +12 -0
  32. package/dist/src/components/canvas/controllers/base.controller.d.ts +53 -0
  33. package/dist/src/components/canvas/controllers/base.controller.js +80 -0
  34. package/dist/src/components/canvas/controllers/clipboard.controller.d.ts +80 -0
  35. package/dist/src/components/canvas/controllers/clipboard.controller.js +300 -0
  36. package/dist/src/components/canvas/controllers/collaboration.controller.d.ts +54 -0
  37. package/dist/src/components/canvas/controllers/collaboration.controller.js +425 -0
  38. package/dist/src/components/canvas/controllers/config.controller.d.ts +61 -0
  39. package/dist/src/components/canvas/controllers/config.controller.js +118 -0
  40. package/dist/src/components/canvas/controllers/connection.controller.d.ts +69 -0
  41. package/dist/src/components/canvas/controllers/connection.controller.js +183 -0
  42. package/dist/src/components/canvas/controllers/drag.controller.d.ts +56 -0
  43. package/dist/src/components/canvas/controllers/drag.controller.js +195 -0
  44. package/dist/src/components/canvas/controllers/frame.controller.d.ts +94 -0
  45. package/dist/src/components/canvas/controllers/frame.controller.js +456 -0
  46. package/dist/src/components/canvas/controllers/index.d.ts +19 -0
  47. package/dist/src/components/canvas/controllers/index.js +32 -0
  48. package/dist/src/components/canvas/controllers/keyboard.controller.d.ts +44 -0
  49. package/dist/src/components/canvas/controllers/keyboard.controller.js +275 -0
  50. package/dist/src/components/canvas/controllers/marquee.controller.d.ts +71 -0
  51. package/dist/src/components/canvas/controllers/marquee.controller.js +128 -0
  52. package/dist/src/components/canvas/controllers/selection.controller.d.ts +85 -0
  53. package/dist/src/components/canvas/controllers/selection.controller.js +202 -0
  54. package/dist/src/components/canvas/controllers/touch.controller.d.ts +55 -0
  55. package/dist/src/components/canvas/controllers/touch.controller.js +299 -0
  56. package/dist/src/components/canvas/controllers/undo.controller.d.ts +100 -0
  57. package/dist/src/components/canvas/controllers/undo.controller.js +218 -0
  58. package/dist/src/components/canvas/controllers/viewport.controller.d.ts +91 -0
  59. package/dist/src/components/canvas/controllers/viewport.controller.js +287 -0
  60. package/dist/src/components/canvas/data-node/data-node-config.component.d.ts +67 -0
  61. package/dist/src/components/canvas/data-node/data-node-config.component.js +496 -0
  62. package/dist/src/components/canvas/data-node/data-node-fields.component.d.ts +198 -0
  63. package/dist/src/components/canvas/data-node/data-node-fields.component.js +931 -0
  64. package/dist/src/components/canvas/data-node/data-node-fields.style.d.ts +7 -0
  65. package/dist/src/components/canvas/data-node/data-node-fields.style.js +448 -0
  66. package/dist/src/components/canvas/data-node/data-node.types.d.ts +245 -0
  67. package/dist/src/components/canvas/data-node/data-node.types.js +158 -0
  68. package/dist/src/components/canvas/data-node/index.d.ts +9 -0
  69. package/dist/src/components/canvas/data-node/index.js +12 -0
  70. package/dist/src/components/canvas/data-node/schema-select.component.d.ts +36 -0
  71. package/dist/src/components/canvas/data-node/schema-select.component.js +196 -0
  72. package/dist/src/components/canvas/data-node/table-select.component.d.ts +38 -0
  73. package/dist/src/components/canvas/data-node/table-select.component.js +199 -0
  74. package/dist/src/components/canvas/interfaces/canvas-host.interface.d.ts +91 -0
  75. package/dist/src/components/canvas/interfaces/canvas-host.interface.js +7 -0
  76. package/dist/src/components/canvas/interfaces/collaboration.interface.d.ts +58 -0
  77. package/dist/src/components/canvas/interfaces/collaboration.interface.js +10 -0
  78. package/dist/src/components/canvas/interfaces/index.d.ts +8 -0
  79. package/dist/src/components/canvas/interfaces/index.js +7 -0
  80. package/dist/src/components/canvas/templates/chatbot-panel.template.d.ts +28 -0
  81. package/dist/src/components/canvas/templates/chatbot-panel.template.js +49 -0
  82. package/dist/src/components/canvas/templates/config-panel.template.d.ts +22 -0
  83. package/dist/src/components/canvas/templates/config-panel.template.js +22 -0
  84. package/dist/src/components/canvas/templates/context-menu.template.d.ts +30 -0
  85. package/dist/src/components/canvas/templates/context-menu.template.js +80 -0
  86. package/dist/src/components/canvas/templates/edges.template.d.ts +41 -0
  87. package/dist/src/components/canvas/templates/edges.template.js +243 -0
  88. package/dist/src/components/canvas/templates/empty-state.template.d.ts +17 -0
  89. package/dist/src/components/canvas/templates/empty-state.template.js +25 -0
  90. package/dist/src/components/canvas/templates/frame.template.d.ts +24 -0
  91. package/dist/src/components/canvas/templates/frame.template.js +74 -0
  92. package/dist/src/components/canvas/templates/index.d.ts +18 -0
  93. package/dist/src/components/canvas/templates/index.js +30 -0
  94. package/dist/src/components/canvas/templates/palette.template.d.ts +27 -0
  95. package/dist/src/components/canvas/templates/palette.template.js +110 -0
  96. package/dist/src/components/canvas/templates/presence-bar.template.d.ts +18 -0
  97. package/dist/src/components/canvas/templates/presence-bar.template.js +60 -0
  98. package/dist/src/components/canvas/templates/remote-cursors.template.d.ts +19 -0
  99. package/dist/src/components/canvas/templates/remote-cursors.template.js +43 -0
  100. package/dist/src/components/canvas/templates/toolbar.template.d.ts +52 -0
  101. package/dist/src/components/canvas/templates/toolbar.template.js +118 -0
  102. package/dist/src/components/canvas/templates/wb-floating-toolbar.template.d.ts +30 -0
  103. package/dist/src/components/canvas/templates/wb-floating-toolbar.template.js +219 -0
  104. package/dist/src/components/canvas/templates/wb-sidebar.template.d.ts +23 -0
  105. package/dist/src/components/canvas/templates/wb-sidebar.template.js +152 -0
  106. package/dist/src/components/canvas/utils/variable-resolver.d.ts +71 -0
  107. package/dist/src/components/canvas/utils/variable-resolver.js +280 -0
  108. package/dist/src/components/canvas/workflow-canvas.component.js +6 -0
  109. package/dist/src/components/canvas/workflow-canvas.style.js +46 -55
  110. package/dist/src/components/carousel/demo/carousel-demo.d.ts +6 -0
  111. package/dist/src/components/carousel/demo/carousel-demo.js +68 -0
  112. package/dist/src/components/chatbot/audio-compress.d.ts +26 -0
  113. package/dist/src/components/chatbot/audio-compress.js +84 -0
  114. package/dist/src/components/chatbot/bundle.js +388 -144
  115. package/dist/src/components/chatbot/bundle.js.gz +0 -0
  116. package/dist/src/components/chatbot/chatbot-audio.controller.d.ts +35 -0
  117. package/dist/src/components/chatbot/chatbot-audio.controller.js +160 -0
  118. package/dist/src/components/chatbot/chatbot.component.d.ts +12 -0
  119. package/dist/src/components/chatbot/chatbot.component.js +41 -2
  120. package/dist/src/components/chatbot/chatbot.style.js +141 -0
  121. package/dist/src/components/chatbot/chatbot.types.d.ts +8 -0
  122. package/dist/src/components/chatbot/controllers/index.d.ts +8 -0
  123. package/dist/src/components/chatbot/controllers/index.js +8 -0
  124. package/dist/src/components/chatbot/controllers/scroll.controller.d.ts +34 -0
  125. package/dist/src/components/chatbot/controllers/scroll.controller.js +43 -0
  126. package/dist/src/components/chatbot/core/chatbot-core.controller.d.ts +283 -0
  127. package/dist/src/components/chatbot/core/chatbot-core.controller.js +824 -0
  128. package/dist/src/components/chatbot/core/event-bus.d.ts +54 -0
  129. package/dist/src/components/chatbot/core/event-bus.js +102 -0
  130. package/dist/src/components/chatbot/core/index.d.ts +12 -0
  131. package/dist/src/components/chatbot/core/index.js +15 -0
  132. package/dist/src/components/chatbot/core/types.d.ts +403 -0
  133. package/dist/src/components/chatbot/core/types.js +16 -0
  134. package/dist/src/components/chatbot/locales/locale-codes.d.ts +14 -0
  135. package/dist/src/components/chatbot/locales/locale-codes.js +23 -0
  136. package/dist/src/components/chatbot/plugins/analytics-plugin.d.ts +23 -0
  137. package/dist/src/components/chatbot/plugins/analytics-plugin.js +52 -0
  138. package/dist/src/components/chatbot/plugins/artifact-plugin.d.ts +71 -0
  139. package/dist/src/components/chatbot/plugins/artifact-plugin.js +313 -0
  140. package/dist/src/components/chatbot/plugins/chat-plugin.d.ts +44 -0
  141. package/dist/src/components/chatbot/plugins/chat-plugin.js +58 -0
  142. package/dist/src/components/chatbot/plugins/flight-card-plugin.d.ts +116 -0
  143. package/dist/src/components/chatbot/plugins/flight-card-plugin.js +594 -0
  144. package/dist/src/components/chatbot/plugins/flow-diagram-plugin.d.ts +23 -0
  145. package/dist/src/components/chatbot/plugins/flow-diagram-plugin.js +495 -0
  146. package/dist/src/components/chatbot/plugins/index.d.ts +16 -0
  147. package/dist/src/components/chatbot/plugins/index.js +17 -0
  148. package/dist/src/components/chatbot/plugins/json-graph-renderer-plugin.d.ts +43 -0
  149. package/dist/src/components/chatbot/plugins/json-graph-renderer-plugin.js +166 -0
  150. package/dist/src/components/chatbot/plugins/markdown-plugin.d.ts +26 -0
  151. package/dist/src/components/chatbot/plugins/markdown-plugin.js +68 -0
  152. package/dist/src/components/chatbot/plugins/persistence-plugin.d.ts +30 -0
  153. package/dist/src/components/chatbot/plugins/persistence-plugin.js +91 -0
  154. package/dist/src/components/chatbot/plugins/print-job-card-plugin.d.ts +110 -0
  155. package/dist/src/components/chatbot/plugins/print-job-card-plugin.js +505 -0
  156. package/dist/src/components/chatbot/plugins/selection-card-plugin.d.ts +111 -0
  157. package/dist/src/components/chatbot/plugins/selection-card-plugin.js +318 -0
  158. package/dist/src/components/chatbot/providers/custom-api-provider.d.ts +63 -0
  159. package/dist/src/components/chatbot/providers/custom-api-provider.js +240 -0
  160. package/dist/src/components/chatbot/providers/index.d.ts +16 -0
  161. package/dist/src/components/chatbot/providers/index.js +13 -0
  162. package/dist/src/components/chatbot/providers/mock-provider.d.ts +154 -0
  163. package/dist/src/components/chatbot/providers/mock-provider.js +411 -0
  164. package/dist/src/components/chatbot/providers/native-ws-provider.d.ts +184 -0
  165. package/dist/src/components/chatbot/providers/native-ws-provider.js +544 -0
  166. package/dist/src/components/chatbot/providers/openai-provider.d.ts +32 -0
  167. package/dist/src/components/chatbot/providers/openai-provider.js +246 -0
  168. package/dist/src/components/chatbot/providers/socket-provider.d.ts +159 -0
  169. package/dist/src/components/chatbot/providers/socket-provider.js +390 -0
  170. package/dist/src/components/chatbot/providers/workflow-socket-provider.d.ts +116 -0
  171. package/dist/src/components/chatbot/providers/workflow-socket-provider.js +484 -0
  172. package/dist/src/components/chatbot/storage/index.d.ts +7 -0
  173. package/dist/src/components/chatbot/storage/index.js +8 -0
  174. package/dist/src/components/chatbot/storage/storage-implementations.d.ts +43 -0
  175. package/dist/src/components/chatbot/storage/storage-implementations.js +179 -0
  176. package/dist/src/components/chatbot/templates/artifact-panel.template.d.ts +22 -0
  177. package/dist/src/components/chatbot/templates/artifact-panel.template.js +81 -0
  178. package/dist/src/components/chatbot/templates/chatbot-main.template.d.ts +49 -0
  179. package/dist/src/components/chatbot/templates/chatbot-main.template.js +115 -0
  180. package/dist/src/components/chatbot/templates/file-preview-modal.template.d.ts +19 -0
  181. package/dist/src/components/chatbot/templates/file-preview-modal.template.js +74 -0
  182. package/dist/src/components/chatbot/templates/file-upload-area.template.d.ts +19 -0
  183. package/dist/src/components/chatbot/templates/file-upload-area.template.js +29 -0
  184. package/dist/src/components/chatbot/templates/index.d.ts +15 -0
  185. package/dist/src/components/chatbot/templates/index.js +15 -0
  186. package/dist/src/components/chatbot/templates/input-box.template.d.ts +49 -0
  187. package/dist/src/components/chatbot/templates/input-box.template.js +317 -0
  188. package/dist/src/components/chatbot/templates/message.template.d.ts +31 -0
  189. package/dist/src/components/chatbot/templates/message.template.js +214 -0
  190. package/dist/src/components/chatbot/templates/suggestion.template.d.ts +20 -0
  191. package/dist/src/components/chatbot/templates/suggestion.template.js +40 -0
  192. package/dist/src/components/chatbot/templates/thread-sidebar.template.d.ts +24 -0
  193. package/dist/src/components/chatbot/templates/thread-sidebar.template.js +160 -0
  194. package/dist/src/components/chatbot/templates/url-modal.template.d.ts +25 -0
  195. package/dist/src/components/chatbot/templates/url-modal.template.js +100 -0
  196. package/dist/src/components/chatbot/utils/format.d.ts +23 -0
  197. package/dist/src/components/chatbot/utils/format.js +84 -0
  198. package/dist/src/components/chatbot/utils/index.d.ts +7 -0
  199. package/dist/src/components/chatbot/utils/index.js +7 -0
  200. package/dist/src/components/checkbox/mixins/checkbox-event-mixin.d.ts +87 -0
  201. package/dist/src/components/checkbox/mixins/checkbox-event-mixin.js +94 -0
  202. package/dist/src/components/checkbox/mixins/checkbox-focus-mixin.d.ts +55 -0
  203. package/dist/src/components/checkbox/mixins/checkbox-focus-mixin.js +57 -0
  204. package/dist/src/components/checkbox/mixins/index.d.ts +10 -0
  205. package/dist/src/components/checkbox/mixins/index.js +8 -0
  206. package/dist/src/components/checkbox/test/checkbox_test.d.ts +2 -0
  207. package/dist/src/components/checkbox/test/checkbox_test.js +88 -0
  208. package/dist/src/components/collapse/controllers/accordion.controller.d.ts +60 -0
  209. package/dist/src/components/collapse/controllers/accordion.controller.js +132 -0
  210. package/dist/src/components/collapse/controllers/animation.controller.d.ts +40 -0
  211. package/dist/src/components/collapse/controllers/animation.controller.js +125 -0
  212. package/dist/src/components/collapse/controllers/base.controller.d.ts +48 -0
  213. package/dist/src/components/collapse/controllers/base.controller.js +69 -0
  214. package/dist/src/components/collapse/controllers/index.d.ts +12 -0
  215. package/dist/src/components/collapse/controllers/index.js +11 -0
  216. package/dist/src/components/collapse/controllers/keyboard.controller.d.ts +73 -0
  217. package/dist/src/components/collapse/controllers/keyboard.controller.js +186 -0
  218. package/dist/src/components/colorpicker/controllers/base.controller.d.ts +14 -0
  219. package/dist/src/components/colorpicker/controllers/base.controller.js +15 -0
  220. package/dist/src/components/colorpicker/controllers/dropdown.controller.d.ts +60 -0
  221. package/dist/src/components/colorpicker/controllers/dropdown.controller.js +243 -0
  222. package/dist/src/components/colorpicker/controllers/event.controller.d.ts +46 -0
  223. package/dist/src/components/colorpicker/controllers/event.controller.js +130 -0
  224. package/dist/src/components/colorpicker/controllers/index.d.ts +4 -0
  225. package/dist/src/components/colorpicker/controllers/index.js +4 -0
  226. package/dist/src/components/colorpicker/interfaces/index.d.ts +60 -0
  227. package/dist/src/components/colorpicker/interfaces/index.js +2 -0
  228. package/dist/src/components/datepicker/controllers/calendar.controller.d.ts +78 -0
  229. package/dist/src/components/datepicker/controllers/calendar.controller.js +225 -0
  230. package/dist/src/components/datepicker/controllers/index.d.ts +11 -0
  231. package/dist/src/components/datepicker/controllers/index.js +11 -0
  232. package/dist/src/components/datepicker/controllers/keyboard.controller.d.ts +96 -0
  233. package/dist/src/components/datepicker/controllers/keyboard.controller.js +246 -0
  234. package/dist/src/components/datepicker/controllers/month-year-dropdown.controller.d.ts +48 -0
  235. package/dist/src/components/datepicker/controllers/month-year-dropdown.controller.js +92 -0
  236. package/dist/src/components/datepicker/controllers/positioning.controller.d.ts +82 -0
  237. package/dist/src/components/datepicker/controllers/positioning.controller.js +247 -0
  238. package/dist/src/components/datepicker/controllers/selection.controller.d.ts +92 -0
  239. package/dist/src/components/datepicker/controllers/selection.controller.js +267 -0
  240. package/dist/src/components/datepicker/interfaces/base-controller.interface.d.ts +40 -0
  241. package/dist/src/components/datepicker/interfaces/base-controller.interface.js +7 -0
  242. package/dist/src/components/datepicker/interfaces/datepicker-controllers.interface.d.ts +112 -0
  243. package/dist/src/components/datepicker/interfaces/datepicker-controllers.interface.js +7 -0
  244. package/dist/src/components/datepicker/interfaces/index.d.ts +8 -0
  245. package/dist/src/components/datepicker/interfaces/index.js +7 -0
  246. package/dist/src/components/datepicker/templates/days.template.d.ts +4 -0
  247. package/dist/src/components/datepicker/templates/days.template.js +40 -0
  248. package/dist/src/components/datepicker/templates/dropdown.template.d.ts +10 -0
  249. package/dist/src/components/datepicker/templates/dropdown.template.js +50 -0
  250. package/dist/src/components/datepicker/templates/headers.template.d.ts +2 -0
  251. package/dist/src/components/datepicker/templates/headers.template.js +5 -0
  252. package/dist/src/components/datepicker/templates/months.template.d.ts +6 -0
  253. package/dist/src/components/datepicker/templates/months.template.js +10 -0
  254. package/dist/src/components/datepicker/templates/years.template.d.ts +6 -0
  255. package/dist/src/components/datepicker/templates/years.template.js +11 -0
  256. package/dist/src/components/datepicker/test/datepicker_test.d.ts +2 -0
  257. package/dist/src/components/datepicker/test/datepicker_test.js +134 -0
  258. package/dist/src/components/datepicker/utils/day.helper.d.ts +5 -0
  259. package/dist/src/components/datepicker/utils/day.helper.js +53 -0
  260. package/dist/src/components/datepicker/utils/formatter.d.ts +2 -0
  261. package/dist/src/components/datepicker/utils/formatter.js +9 -0
  262. package/dist/src/components/datepicker/utils/index.d.ts +11 -0
  263. package/dist/src/components/datepicker/utils/index.js +11 -0
  264. package/dist/src/components/datepicker/utils/locale.helper.d.ts +144 -0
  265. package/dist/src/components/datepicker/utils/locale.helper.js +151 -0
  266. package/dist/src/components/datepicker/utils/month.helper.d.ts +3 -0
  267. package/dist/src/components/datepicker/utils/month.helper.js +24 -0
  268. package/dist/src/components/datepicker/utils/string.helper.d.ts +2 -0
  269. package/dist/src/components/datepicker/utils/string.helper.js +4 -0
  270. package/dist/src/components/document/demo/document-demo.d.ts +12 -0
  271. package/dist/src/components/document/demo/document-demo.js +40 -0
  272. package/dist/src/components/dropdown/controllers/base.controller.d.ts +18 -0
  273. package/dist/src/components/dropdown/controllers/base.controller.js +22 -0
  274. package/dist/src/components/dropdown/controllers/dropdown.controller.d.ts +50 -0
  275. package/dist/src/components/dropdown/controllers/dropdown.controller.js +408 -0
  276. package/dist/src/components/dropdown/controllers/index.d.ts +3 -0
  277. package/dist/src/components/dropdown/controllers/index.js +3 -0
  278. package/dist/src/components/dropdown/interfaces/controller-interfaces.d.ts +79 -0
  279. package/dist/src/components/dropdown/interfaces/controller-interfaces.js +2 -0
  280. package/dist/src/components/dropdown/interfaces/index.d.ts +2 -0
  281. package/dist/src/components/dropdown/interfaces/index.js +2 -0
  282. package/dist/src/components/dropdown/templates/nr-dropdown-item.d.ts +12 -0
  283. package/dist/src/components/dropdown/templates/nr-dropdown-item.js +55 -0
  284. package/dist/src/components/dropdown/templates/nr-dropdown-item.style.d.ts +2 -0
  285. package/dist/src/components/dropdown/templates/nr-dropdown-item.style.js +34 -0
  286. package/dist/src/components/dropdown/templates/nr-dropdown-menu.d.ts +18 -0
  287. package/dist/src/components/dropdown/templates/nr-dropdown-menu.js +70 -0
  288. package/dist/src/components/dropdown/templates/nr-dropdown-menu.style.d.ts +2 -0
  289. package/dist/src/components/dropdown/templates/nr-dropdown-menu.style.js +49 -0
  290. package/dist/src/components/file-upload/demo/file-upload-demo.d.ts +18 -0
  291. package/dist/src/components/file-upload/demo/file-upload-demo.js +156 -0
  292. package/dist/src/components/form/controllers/submission.controller.d.ts +60 -0
  293. package/dist/src/components/form/controllers/submission.controller.js +220 -0
  294. package/dist/src/components/form/controllers/validation.controller.d.ts +87 -0
  295. package/dist/src/components/form/controllers/validation.controller.js +236 -0
  296. package/dist/src/components/form/interfaces/validation.interface.d.ts +118 -0
  297. package/dist/src/components/form/interfaces/validation.interface.js +7 -0
  298. package/dist/src/components/icon/mixins/clickable-mixin.d.ts +57 -0
  299. package/dist/src/components/icon/mixins/clickable-mixin.js +111 -0
  300. package/dist/src/components/icon/mixins/index.d.ts +7 -0
  301. package/dist/src/components/icon/mixins/index.js +7 -0
  302. package/dist/src/components/iconpicker/controllers/event.controller.d.ts +38 -0
  303. package/dist/src/components/iconpicker/controllers/event.controller.js +68 -0
  304. package/dist/src/components/iconpicker/controllers/index.d.ts +9 -0
  305. package/dist/src/components/iconpicker/controllers/index.js +9 -0
  306. package/dist/src/components/iconpicker/controllers/search.controller.d.ts +34 -0
  307. package/dist/src/components/iconpicker/controllers/search.controller.js +55 -0
  308. package/dist/src/components/iconpicker/controllers/selection.controller.d.ts +27 -0
  309. package/dist/src/components/iconpicker/controllers/selection.controller.js +39 -0
  310. package/dist/src/components/iconpicker/interfaces/icon-picker.interface.d.ts +13 -0
  311. package/dist/src/components/iconpicker/interfaces/icon-picker.interface.js +7 -0
  312. package/dist/src/components/iconpicker/interfaces/index.d.ts +7 -0
  313. package/dist/src/components/iconpicker/interfaces/index.js +7 -0
  314. package/dist/src/components/iconpicker/utils/icon-filter.utils.d.ts +29 -0
  315. package/dist/src/components/iconpicker/utils/icon-filter.utils.js +96 -0
  316. package/dist/src/components/iconpicker/utils/icon-loader.utils.d.ts +39 -0
  317. package/dist/src/components/iconpicker/utils/icon-loader.utils.js +115 -0
  318. package/dist/src/components/iconpicker/utils/index.d.ts +8 -0
  319. package/dist/src/components/iconpicker/utils/index.js +8 -0
  320. package/dist/src/components/iconpicker/utils/lucide-icons.d.ts +10 -0
  321. package/dist/src/components/iconpicker/utils/lucide-icons.js +1624 -0
  322. package/dist/src/components/input/controllers/base.controller.d.ts +35 -0
  323. package/dist/src/components/input/controllers/base.controller.js +13 -0
  324. package/dist/src/components/input/controllers/event.controller.d.ts +111 -0
  325. package/dist/src/components/input/controllers/event.controller.js +355 -0
  326. package/dist/src/components/input/controllers/index.d.ts +14 -0
  327. package/dist/src/components/input/controllers/index.js +10 -0
  328. package/dist/src/components/input/controllers/state.controller.d.ts +153 -0
  329. package/dist/src/components/input/controllers/state.controller.js +245 -0
  330. package/dist/src/components/input/controllers/validation.controller.d.ts +205 -0
  331. package/dist/src/components/input/controllers/validation.controller.js +698 -0
  332. package/dist/src/components/input/mixins/focus-mixin.d.ts +60 -0
  333. package/dist/src/components/input/mixins/focus-mixin.js +65 -0
  334. package/dist/src/components/input/mixins/index.d.ts +12 -0
  335. package/dist/src/components/input/mixins/index.js +9 -0
  336. package/dist/src/components/input/mixins/number-mixin.d.ts +51 -0
  337. package/dist/src/components/input/mixins/number-mixin.js +128 -0
  338. package/dist/src/components/input/mixins/selection-mixin.d.ts +57 -0
  339. package/dist/src/components/input/mixins/selection-mixin.js +80 -0
  340. package/dist/src/components/input/test/nr-input_test.d.ts +2 -0
  341. package/dist/src/components/input/test/nr-input_test.js +159 -0
  342. package/dist/src/components/input/utils/index.d.ts +8 -0
  343. package/dist/src/components/input/utils/index.js +8 -0
  344. package/dist/src/components/input/utils/input-renderers.d.ts +54 -0
  345. package/dist/src/components/input/utils/input-renderers.js +178 -0
  346. package/dist/src/components/input/utils/input-validation.utils.d.ts +26 -0
  347. package/dist/src/components/input/utils/input-validation.utils.js +103 -0
  348. package/dist/src/components/menu/controllers/accessibility.controller.d.ts +86 -0
  349. package/dist/src/components/menu/controllers/accessibility.controller.js +235 -0
  350. package/dist/src/components/menu/controllers/base.controller.d.ts +41 -0
  351. package/dist/src/components/menu/controllers/base.controller.js +61 -0
  352. package/dist/src/components/menu/controllers/index.d.ts +10 -0
  353. package/dist/src/components/menu/controllers/index.js +10 -0
  354. package/dist/src/components/menu/controllers/keyboard.controller.d.ts +84 -0
  355. package/dist/src/components/menu/controllers/keyboard.controller.js +328 -0
  356. package/dist/src/components/menu/controllers/state.controller.d.ts +106 -0
  357. package/dist/src/components/menu/controllers/state.controller.js +249 -0
  358. package/dist/src/components/menu/interfaces/controller.interface.d.ts +51 -0
  359. package/dist/src/components/menu/interfaces/controller.interface.js +7 -0
  360. package/dist/src/components/menu/interfaces/index.d.ts +7 -0
  361. package/dist/src/components/menu/interfaces/index.js +7 -0
  362. package/dist/src/components/modal/controllers/index.d.ts +8 -0
  363. package/dist/src/components/modal/controllers/index.js +8 -0
  364. package/dist/src/components/modal/controllers/modal-drag-controller.d.ts +39 -0
  365. package/dist/src/components/modal/controllers/modal-drag-controller.js +108 -0
  366. package/dist/src/components/modal/controllers/modal-keyboard-controller.d.ts +36 -0
  367. package/dist/src/components/modal/controllers/modal-keyboard-controller.js +128 -0
  368. package/dist/src/components/panel/controllers/index.d.ts +8 -0
  369. package/dist/src/components/panel/controllers/index.js +8 -0
  370. package/dist/src/components/panel/controllers/panel-drag-controller.d.ts +40 -0
  371. package/dist/src/components/panel/controllers/panel-drag-controller.js +118 -0
  372. package/dist/src/components/panel/controllers/panel-resize-controller.d.ts +37 -0
  373. package/dist/src/components/panel/controllers/panel-resize-controller.js +124 -0
  374. package/dist/src/components/presence/bundle.js +528 -0
  375. package/dist/src/components/presence/bundle.js.gz +0 -0
  376. package/dist/src/components/presence/index.d.ts +10 -0
  377. package/dist/src/components/presence/index.js +10 -0
  378. package/dist/src/components/presence/presence-avatars.component.d.ts +40 -0
  379. package/dist/src/components/presence/presence-avatars.component.js +83 -0
  380. package/dist/src/components/presence/presence-avatars.style.d.ts +7 -0
  381. package/dist/src/components/presence/presence-avatars.style.js +105 -0
  382. package/dist/src/components/presence/presence-chat.component.d.ts +53 -0
  383. package/dist/src/components/presence/presence-chat.component.js +228 -0
  384. package/dist/src/components/presence/presence-chat.style.d.ts +7 -0
  385. package/dist/src/components/presence/presence-chat.style.js +248 -0
  386. package/dist/src/components/presence/presence.component.d.ts +71 -0
  387. package/dist/src/components/presence/presence.component.js +263 -0
  388. package/dist/src/components/presence/presence.style.d.ts +7 -0
  389. package/dist/src/components/presence/presence.style.js +12 -0
  390. package/dist/src/components/presence/presence.types.d.ts +31 -0
  391. package/dist/src/components/presence/presence.types.js +7 -0
  392. package/dist/src/components/presence/react.d.ts +24 -0
  393. package/dist/src/components/presence/react.js +41 -0
  394. package/dist/src/components/radio-group/controllers/focus.controller.d.ts +98 -0
  395. package/dist/src/components/radio-group/controllers/focus.controller.js +216 -0
  396. package/dist/src/components/radio-group/controllers/group.controller.d.ts +140 -0
  397. package/dist/src/components/radio-group/controllers/group.controller.js +179 -0
  398. package/dist/src/components/radio-group/controllers/index.d.ts +11 -0
  399. package/dist/src/components/radio-group/controllers/index.js +11 -0
  400. package/dist/src/components/radio-group/controllers/keyboard.controller.d.ts +24 -0
  401. package/dist/src/components/radio-group/controllers/keyboard.controller.js +93 -0
  402. package/dist/src/components/radio-group/controllers/ripple.controller.d.ts +59 -0
  403. package/dist/src/components/radio-group/controllers/ripple.controller.js +208 -0
  404. package/dist/src/components/radio-group/controllers/validation.controller.d.ts +73 -0
  405. package/dist/src/components/radio-group/controllers/validation.controller.js +108 -0
  406. package/dist/src/components/radio-group/interfaces/base-controller.interface.d.ts +75 -0
  407. package/dist/src/components/radio-group/interfaces/base-controller.interface.js +7 -0
  408. package/dist/src/components/radio-group/interfaces/focus-controller.interface.d.ts +40 -0
  409. package/dist/src/components/radio-group/interfaces/focus-controller.interface.js +7 -0
  410. package/dist/src/components/radio-group/interfaces/index.d.ts +11 -0
  411. package/dist/src/components/radio-group/interfaces/index.js +7 -0
  412. package/dist/src/components/radio-group/interfaces/ripple-controller.interface.d.ts +31 -0
  413. package/dist/src/components/radio-group/interfaces/ripple-controller.interface.js +7 -0
  414. package/dist/src/components/radio-group/interfaces/selection-controller.interface.d.ts +45 -0
  415. package/dist/src/components/radio-group/interfaces/selection-controller.interface.js +7 -0
  416. package/dist/src/components/radio-group/interfaces/validation-controller.interface.d.ts +48 -0
  417. package/dist/src/components/radio-group/interfaces/validation-controller.interface.js +7 -0
  418. package/dist/src/components/radio-group/test/radio_test.d.ts +2 -0
  419. package/dist/src/components/radio-group/test/radio_test.js +79 -0
  420. package/dist/src/components/select/controllers/base.controller.d.ts +10 -0
  421. package/dist/src/components/select/controllers/base.controller.js +8 -0
  422. package/dist/src/components/select/controllers/dropdown.controller.d.ts +76 -0
  423. package/dist/src/components/select/controllers/dropdown.controller.js +281 -0
  424. package/dist/src/components/select/controllers/event.controller.d.ts +54 -0
  425. package/dist/src/components/select/controllers/event.controller.js +113 -0
  426. package/dist/src/components/select/controllers/focus.controller.d.ts +79 -0
  427. package/dist/src/components/select/controllers/focus.controller.js +230 -0
  428. package/dist/src/components/select/controllers/index.d.ts +9 -0
  429. package/dist/src/components/select/controllers/index.js +9 -0
  430. package/dist/src/components/select/controllers/keyboard.controller.d.ts +75 -0
  431. package/dist/src/components/select/controllers/keyboard.controller.js +369 -0
  432. package/dist/src/components/select/controllers/search.controller.d.ts +71 -0
  433. package/dist/src/components/select/controllers/search.controller.js +167 -0
  434. package/dist/src/components/select/controllers/selection.controller.d.ts +67 -0
  435. package/dist/src/components/select/controllers/selection.controller.js +217 -0
  436. package/dist/src/components/select/controllers/validation.controller.d.ts +66 -0
  437. package/dist/src/components/select/controllers/validation.controller.js +189 -0
  438. package/dist/src/components/select/interfaces/base-controller.interface.d.ts +147 -0
  439. package/dist/src/components/select/interfaces/base-controller.interface.js +2 -0
  440. package/dist/src/components/select/interfaces/controller-interfaces.d.ts +94 -0
  441. package/dist/src/components/select/interfaces/controller-interfaces.js +11 -0
  442. package/dist/src/components/select/interfaces/index.d.ts +3 -0
  443. package/dist/src/components/select/interfaces/index.js +3 -0
  444. package/dist/src/components/slider-input/utils/debounce.d.ts +2 -0
  445. package/dist/src/components/slider-input/utils/debounce.js +8 -0
  446. package/dist/src/components/slider-input/utils/index.d.ts +2 -0
  447. package/dist/src/components/slider-input/utils/index.js +2 -0
  448. package/dist/src/components/table/controllers/base.controller.d.ts +15 -0
  449. package/dist/src/components/table/controllers/base.controller.js +13 -0
  450. package/dist/src/components/table/controllers/filter.controller.d.ts +48 -0
  451. package/dist/src/components/table/controllers/filter.controller.js +152 -0
  452. package/dist/src/components/table/controllers/index.d.ts +11 -0
  453. package/dist/src/components/table/controllers/index.js +11 -0
  454. package/dist/src/components/table/controllers/pagination.controller.d.ts +36 -0
  455. package/dist/src/components/table/controllers/pagination.controller.js +110 -0
  456. package/dist/src/components/table/controllers/selection.controller.d.ts +40 -0
  457. package/dist/src/components/table/controllers/selection.controller.js +120 -0
  458. package/dist/src/components/table/controllers/sort.controller.d.ts +32 -0
  459. package/dist/src/components/table/controllers/sort.controller.js +102 -0
  460. package/dist/src/components/table/interfaces/index.d.ts +7 -0
  461. package/dist/src/components/table/interfaces/index.js +7 -0
  462. package/dist/src/components/table/interfaces/table-host.interface.d.ts +48 -0
  463. package/dist/src/components/table/interfaces/table-host.interface.js +7 -0
  464. package/dist/src/components/table/templates/actions.template.d.ts +14 -0
  465. package/dist/src/components/table/templates/actions.template.js +15 -0
  466. package/dist/src/components/table/templates/column-filter.template.d.ts +24 -0
  467. package/dist/src/components/table/templates/column-filter.template.js +76 -0
  468. package/dist/src/components/table/templates/content.template.d.ts +37 -0
  469. package/dist/src/components/table/templates/content.template.js +208 -0
  470. package/dist/src/components/table/templates/empty.template.d.ts +8 -0
  471. package/dist/src/components/table/templates/empty.template.js +47 -0
  472. package/dist/src/components/table/templates/filter.template.d.ts +14 -0
  473. package/dist/src/components/table/templates/filter.template.js +28 -0
  474. package/dist/src/components/table/templates/index.d.ts +8 -0
  475. package/dist/src/components/table/templates/index.js +8 -0
  476. package/dist/src/components/table/templates/loading.template.d.ts +21 -0
  477. package/dist/src/components/table/templates/loading.template.js +51 -0
  478. package/dist/src/components/table/templates/pagination.template.d.ts +24 -0
  479. package/dist/src/components/table/templates/pagination.template.js +52 -0
  480. package/dist/src/components/tabs/controllers/base.controller.d.ts +49 -0
  481. package/dist/src/components/tabs/controllers/base.controller.js +26 -0
  482. package/dist/src/components/tabs/controllers/dragdrop.controller.d.ts +84 -0
  483. package/dist/src/components/tabs/controllers/dragdrop.controller.js +202 -0
  484. package/dist/src/components/tabs/controllers/editable.controller.d.ts +100 -0
  485. package/dist/src/components/tabs/controllers/editable.controller.js +242 -0
  486. package/dist/src/components/tabs/controllers/event.controller.d.ts +104 -0
  487. package/dist/src/components/tabs/controllers/event.controller.js +239 -0
  488. package/dist/src/components/tabs/controllers/index.d.ts +12 -0
  489. package/dist/src/components/tabs/controllers/index.js +18 -0
  490. package/dist/src/components/tabs/controllers/keyboard.controller.d.ts +85 -0
  491. package/dist/src/components/tabs/controllers/keyboard.controller.js +233 -0
  492. package/dist/src/components/tabs/controllers/popout.controller.d.ts +96 -0
  493. package/dist/src/components/tabs/controllers/popout.controller.js +441 -0
  494. package/dist/src/components/textarea/controllers/base.controller.d.ts +43 -0
  495. package/dist/src/components/textarea/controllers/base.controller.js +19 -0
  496. package/dist/src/components/textarea/controllers/event.controller.d.ts +169 -0
  497. package/dist/src/components/textarea/controllers/event.controller.js +408 -0
  498. package/dist/src/components/textarea/controllers/index.d.ts +9 -0
  499. package/dist/src/components/textarea/controllers/index.js +9 -0
  500. package/dist/src/components/textarea/controllers/validation.controller.d.ts +133 -0
  501. package/dist/src/components/textarea/controllers/validation.controller.js +315 -0
  502. package/dist/src/components/timepicker/controllers/formatting.controller.d.ts +93 -0
  503. package/dist/src/components/timepicker/controllers/formatting.controller.js +195 -0
  504. package/dist/src/components/timepicker/controllers/index.d.ts +9 -0
  505. package/dist/src/components/timepicker/controllers/index.js +9 -0
  506. package/dist/src/components/timepicker/controllers/selection.controller.d.ts +72 -0
  507. package/dist/src/components/timepicker/controllers/selection.controller.js +175 -0
  508. package/dist/src/components/timepicker/controllers/validation.controller.d.ts +88 -0
  509. package/dist/src/components/timepicker/controllers/validation.controller.js +200 -0
  510. package/dist/src/components/timepicker/interfaces/timepicker.interface.d.ts +103 -0
  511. package/dist/src/components/timepicker/interfaces/timepicker.interface.js +7 -0
  512. package/dist/src/components/timepicker/test/timepicker_test.d.ts +7 -0
  513. package/dist/src/components/timepicker/test/timepicker_test.js +218 -0
  514. package/dist/src/components/timepicker/utils/time.utils.d.ts +87 -0
  515. package/dist/src/components/timepicker/utils/time.utils.js +235 -0
  516. package/dist/src/components/toast/controllers/base.controller.d.ts +20 -0
  517. package/dist/src/components/toast/controllers/base.controller.js +12 -0
  518. package/dist/src/components/toast/controllers/index.d.ts +8 -0
  519. package/dist/src/components/toast/controllers/index.js +7 -0
  520. package/dist/src/components/tooltips/demo/tooltips-demo.d.ts +18 -0
  521. package/dist/src/components/tooltips/demo/tooltips-demo.js +132 -0
  522. package/dist/src/components/tooltips/test/tooltips_test.d.ts +2 -0
  523. package/dist/src/components/tooltips/test/tooltips_test.js +145 -0
  524. package/package.json +27 -1
  525. package/packages/common/dist/VERSIONS.md +1 -1
@@ -0,0 +1,824 @@
1
+ /**
2
+ * @license
3
+ * Copyright 2023 Nuraly, Laabidi Aymen
4
+ * SPDX-License-Identifier: MIT
5
+ */
6
+ var __awaiter = (this && this.__awaiter) || function (thisArg, _arguments, P, generator) {
7
+ function adopt(value) { return value instanceof P ? value : new P(function (resolve) { resolve(value); }); }
8
+ return new (P || (P = Promise))(function (resolve, reject) {
9
+ function fulfilled(value) { try { step(generator.next(value)); } catch (e) { reject(e); } }
10
+ function rejected(value) { try { step(generator["throw"](value)); } catch (e) { reject(e); } }
11
+ function step(result) { result.done ? resolve(result.value) : adopt(result.value).then(fulfilled, rejected); }
12
+ step((generator = generator.apply(thisArg, _arguments || [])).next());
13
+ });
14
+ };
15
+ import { EventBus } from './event-bus.js';
16
+ import { ValidationError } from './types.js';
17
+ import { ChatbotSender, ChatbotMessageState } from '../chatbot.types.js';
18
+ // Handlers (domain operations)
19
+ import { StateHandler, MessageHandler, ThreadHandler, FileHandler, ModuleHandler, SuggestionHandler } from './handlers/index.js';
20
+ // Services (infrastructure)
21
+ import { ProviderService, ValidationService, StorageService, PluginService } from './services/index.js';
22
+ /**
23
+ * Pure chatbot core controller - completely UI-agnostic
24
+ * All UI interactions happen through injected callbacks
25
+ * Can be extended and overridden for custom behavior
26
+ */
27
+ export class ChatbotCoreController {
28
+ constructor(config = {}) {
29
+ this.plugins = new Map();
30
+ this.config = config;
31
+ this.ui = config.ui || {};
32
+ this.eventBus = new EventBus();
33
+ this.pluginService = new PluginService();
34
+ this.plugins = this.pluginService.getPluginsMap();
35
+ // Register plugins BEFORE initializing state so initial messages can be processed
36
+ if (config.plugins) {
37
+ config.plugins.forEach(plugin => this.pluginService.registerPlugin(plugin, this));
38
+ }
39
+ const initialState = this.initializeState(config);
40
+ this.stateHandler = new StateHandler(initialState, this.eventBus, this.ui, this.plugins, this.config);
41
+ this.messageHandler = new MessageHandler(this.stateHandler, this.eventBus, this.plugins);
42
+ this.threadHandler = new ThreadHandler(this.stateHandler, this.eventBus, this.ui, this.config, config.provider);
43
+ this.fileHandler = new FileHandler(this.stateHandler, this.eventBus);
44
+ this.moduleHandler = new ModuleHandler(this.stateHandler, this.eventBus);
45
+ this.suggestionHandler = new SuggestionHandler(this.stateHandler);
46
+ this.providerService = new ProviderService(config.provider, this.stateHandler, this.messageHandler, this.fileHandler, this.eventBus, this.ui, this.plugins);
47
+ this.validationService = new ValidationService(this.config);
48
+ this.storageService = new StorageService(config.storage, this.stateHandler, this.config);
49
+ if (config.provider) {
50
+ const provider = config.provider;
51
+ queueMicrotask(() => { void this.initializeProvider(provider); });
52
+ }
53
+ this.setupLifecycleHooks();
54
+ }
55
+ initializeProvider(provider) {
56
+ return __awaiter(this, void 0, void 0, function* () {
57
+ try {
58
+ if (!provider.isConnected()) {
59
+ yield provider.connect({});
60
+ }
61
+ yield this.autoLoadConversations(provider);
62
+ }
63
+ catch (error) {
64
+ this.logError('Failed to connect provider:', error);
65
+ }
66
+ });
67
+ }
68
+ // ===== LIFECYCLE HOOKS (Override Points) =====
69
+ /**
70
+ * Initialize state - override to customize initial state
71
+ */
72
+ initializeState(config) {
73
+ // Process initial messages through plugins to render tags
74
+ const processedMessages = config.initialMessages
75
+ ? config.initialMessages.map(msg => this.processMessageThroughPlugins(msg))
76
+ : [];
77
+ return {
78
+ messages: processedMessages,
79
+ threads: config.initialThreads || [],
80
+ modules: config.enableModules ? [] : undefined,
81
+ selectedModules: [],
82
+ uploadedFiles: [],
83
+ suggestions: config.initialSuggestions || [],
84
+ isTyping: false,
85
+ isProcessing: false,
86
+ currentThreadId: undefined,
87
+ metadata: config.metadata || {}
88
+ };
89
+ }
90
+ /**
91
+ * Process a message text through all registered plugins to render HTML tags
92
+ */
93
+ processMessageThroughPlugins(message) {
94
+ if (!message.text || typeof message.text !== 'string') {
95
+ return message;
96
+ }
97
+ // Get all tag-aware plugins
98
+ const tagAwarePlugins = Array.from(this.plugins.values()).filter(plugin => Array.isArray(plugin.htmlTags) && plugin.htmlTags.length > 0);
99
+ if (tagAwarePlugins.length === 0) {
100
+ return message;
101
+ }
102
+ let processedText = message.text;
103
+ let hasHtmlContent = false;
104
+ // Process each plugin's tags
105
+ for (const plugin of tagAwarePlugins) {
106
+ const tags = plugin.htmlTags;
107
+ for (const tag of tags) {
108
+ const openTag = tag.open;
109
+ const closeTag = tag.close;
110
+ // Find all instances of this tag in the text
111
+ let searchPos = 0;
112
+ while (true) {
113
+ const openIdx = processedText.indexOf(openTag, searchPos);
114
+ if (openIdx === -1)
115
+ break;
116
+ const contentStart = openIdx + openTag.length;
117
+ const closeIdx = processedText.indexOf(closeTag, contentStart);
118
+ if (closeIdx === -1) {
119
+ // Tag not closed, skip
120
+ searchPos = contentStart;
121
+ continue;
122
+ }
123
+ // Extract content between tags
124
+ const content = processedText.substring(contentStart, closeIdx);
125
+ // Render the HTML block
126
+ let html = '';
127
+ if (typeof plugin.renderHtmlBlock === 'function') {
128
+ try {
129
+ html = plugin.renderHtmlBlock(tag.name, content);
130
+ }
131
+ catch (error) {
132
+ console.error(`[ChatbotCore] Error rendering HTML block for plugin ${plugin.id}:`, error);
133
+ }
134
+ }
135
+ if (html) {
136
+ // Replace the tag and content with rendered HTML
137
+ processedText =
138
+ processedText.substring(0, openIdx) +
139
+ html +
140
+ processedText.substring(closeIdx + closeTag.length);
141
+ hasHtmlContent = true;
142
+ // Continue searching from after the replacement
143
+ searchPos = openIdx + html.length;
144
+ }
145
+ else {
146
+ // No HTML rendered, continue searching after this tag
147
+ searchPos = closeIdx + closeTag.length;
148
+ }
149
+ }
150
+ }
151
+ }
152
+ // Return updated message with processed text and metadata flag
153
+ if (hasHtmlContent) {
154
+ return Object.assign(Object.assign({}, message), { text: processedText, metadata: Object.assign(Object.assign({}, message.metadata), { renderAsHtml: true }) });
155
+ }
156
+ return message;
157
+ }
158
+ /**
159
+ * Run onMessageReceived hooks on all bot messages currently in state.
160
+ * This ensures plugins like ArtifactPlugin can post-process restored
161
+ * or externally-loaded messages (not just streamed/added ones).
162
+ */
163
+ processRestoredMessagesForPlugins() {
164
+ const state = this.stateHandler.getState();
165
+ if (!state.messages || state.messages.length === 0)
166
+ return;
167
+ for (const msg of state.messages) {
168
+ if (msg.sender === 'bot') {
169
+ this.plugins.forEach(plugin => {
170
+ if (plugin.onMessageReceived) {
171
+ try {
172
+ plugin.onMessageReceived(msg);
173
+ }
174
+ catch (_a) {
175
+ // best-effort
176
+ }
177
+ }
178
+ });
179
+ }
180
+ }
181
+ }
182
+ /**
183
+ * Setup lifecycle hooks - override to add custom setup logic
184
+ */
185
+ setupLifecycleHooks() {
186
+ this.onBeforeInit();
187
+ this.onReady().catch(error => {
188
+ this.logError('Error during initialization:', error);
189
+ });
190
+ }
191
+ /**
192
+ * Called before initialization - override for custom pre-init logic
193
+ */
194
+ onBeforeInit() {
195
+ this.log('Initializing chatbot controller...');
196
+ }
197
+ /**
198
+ * Called when controller is ready - override for custom initialization
199
+ */
200
+ onReady() {
201
+ return __awaiter(this, void 0, void 0, function* () {
202
+ this.log('Chatbot controller ready');
203
+ try {
204
+ const state = this.stateHandler.getState();
205
+ const firstMsg = state.messages && state.messages.length > 0 ? state.messages[0] : undefined;
206
+ if (firstMsg && firstMsg.sender === 'bot' && firstMsg.introduction && Array.isArray(firstMsg.suggestions) && firstMsg.suggestions.length > 0) {
207
+ this.suggestionHandler.setSuggestions(firstMsg.suggestions);
208
+ }
209
+ }
210
+ catch (e) {
211
+ this.logError('Error initializing suggestions from initial messages:', e);
212
+ }
213
+ // Run onMessageReceived on initial/restored bot messages so plugins
214
+ // like ArtifactPlugin can post-process them (extract code fences, etc.)
215
+ this.processRestoredMessagesForPlugins();
216
+ if (this.ui.onStateChange) {
217
+ this.ui.onStateChange(this.getState());
218
+ }
219
+ this.emit('ready', this.stateHandler.getState());
220
+ });
221
+ }
222
+ /**
223
+ * Called when controller is destroyed - override for cleanup
224
+ */
225
+ onDestroy() {
226
+ this.log('Destroying chatbot controller...');
227
+ this.storageService.stopAutoSave();
228
+ this.pluginService.clearPlugins();
229
+ this.eventBus.removeAllListeners();
230
+ }
231
+ // ===== STATE MANAGEMENT =====
232
+ updateState(updates) {
233
+ this.stateHandler.updateState(updates);
234
+ }
235
+ // ===== MESSAGE OPERATIONS =====
236
+ /**
237
+ * Send a message (main public API)
238
+ */
239
+ sendMessage(text_1) {
240
+ return __awaiter(this, arguments, void 0, function* (text, options = {}) {
241
+ this.log('Sending message:', text);
242
+ try {
243
+ const state = this.stateHandler.getState();
244
+ if (this.config.enableThreads && !state.currentThreadId) {
245
+ yield this.threadHandler.createThread('New Chat');
246
+ }
247
+ const processedText = yield this.beforeMessageSent(text, options);
248
+ if (!options.skipValidation) {
249
+ const validation = yield this.validationService.validateMessage(processedText);
250
+ if (!validation.isValid) {
251
+ const error = new ValidationError(validation.errors);
252
+ this.handleValidationError(error);
253
+ throw error;
254
+ }
255
+ }
256
+ const message = this.messageHandler.createUserMessage(processedText, options.metadata);
257
+ if (options.files) {
258
+ message.files = options.files;
259
+ }
260
+ this.messageHandler.addMessage(message);
261
+ const currentState = this.stateHandler.getState();
262
+ if (options.threadId || currentState.currentThreadId) {
263
+ this.threadHandler.updateThreadMessages(options.threadId || currentState.currentThreadId);
264
+ }
265
+ yield this.afterMessageSent(message);
266
+ this.providerService.processMessage(message).catch(error => {
267
+ this.logError('Error processing with provider:', error);
268
+ });
269
+ return message;
270
+ }
271
+ catch (error) {
272
+ this.handleError(error);
273
+ throw error;
274
+ }
275
+ });
276
+ }
277
+ /**
278
+ * Stop the current provider processing/stream
279
+ */
280
+ stop() {
281
+ this.providerService.stopCurrentProcessing();
282
+ }
283
+ /**
284
+ * Add a message programmatically
285
+ */
286
+ addMessage(data) {
287
+ const message = this.messageHandler.createMessage(data);
288
+ // Process message through plugins if it's from the bot and has text content
289
+ const processedMessage = message.sender === 'bot'
290
+ ? this.processMessageThroughPlugins(message)
291
+ : message;
292
+ this.messageHandler.addMessage(processedMessage);
293
+ return processedMessage;
294
+ }
295
+ /**
296
+ * Update an existing message by ID
297
+ */
298
+ updateMessage(id, updates) {
299
+ this.messageHandler.updateMessage(id, updates);
300
+ }
301
+ /**
302
+ * Delete a message by ID
303
+ */
304
+ deleteMessage(id) {
305
+ this.messageHandler.deleteMessage(id);
306
+ }
307
+ /**
308
+ * Clear all messages from the current conversation
309
+ */
310
+ clearMessages() {
311
+ this.updateState({ messages: [] });
312
+ }
313
+ /**
314
+ * Get all messages in the current conversation
315
+ */
316
+ getMessages() {
317
+ return this.stateHandler.getState().messages;
318
+ }
319
+ // ===== FILE OPERATIONS =====
320
+ /**
321
+ * Upload files to the chatbot
322
+ * @param files - Optional array of files to upload. If not provided, will trigger file dialog
323
+ * @returns Array of uploaded ChatbotFile objects
324
+ */
325
+ uploadFiles(files) {
326
+ return __awaiter(this, void 0, void 0, function* () {
327
+ if (!this.config.enableFileUpload) {
328
+ throw new Error('File upload is not enabled');
329
+ }
330
+ let filesToUpload = files;
331
+ if (!filesToUpload && this.ui.openFileDialog) {
332
+ filesToUpload = yield this.ui.openFileDialog();
333
+ }
334
+ if (!filesToUpload || filesToUpload.length === 0) {
335
+ return [];
336
+ }
337
+ const uploadedFiles = [];
338
+ for (const file of filesToUpload) {
339
+ try {
340
+ const validation = yield this.validationService.validateFile(file, {
341
+ maxFileSize: this.config.maxFileSize,
342
+ allowedTypes: this.config.allowedFileTypes
343
+ });
344
+ if (!validation.isValid) {
345
+ if (this.ui.showNotification) {
346
+ this.ui.showNotification(validation.errors[0] || 'File validation failed', 'error');
347
+ }
348
+ continue;
349
+ }
350
+ const chatbotFile = yield this.fileHandler.createChatbotFile(file);
351
+ const uploaded = yield this.providerService.uploadFileToProvider(file);
352
+ if (uploaded) {
353
+ Object.assign(chatbotFile, uploaded);
354
+ }
355
+ uploadedFiles.push(chatbotFile);
356
+ this.fileHandler.addFile(chatbotFile);
357
+ if (this.ui.showFilePreview) {
358
+ this.ui.showFilePreview(chatbotFile);
359
+ }
360
+ }
361
+ catch (error) {
362
+ this.logError('Error uploading file:', error);
363
+ if (this.ui.showNotification) {
364
+ this.ui.showNotification(`Failed to upload ${file.name}`, 'error');
365
+ }
366
+ }
367
+ }
368
+ return uploadedFiles;
369
+ });
370
+ }
371
+ /**
372
+ * Remove an uploaded file by ID
373
+ */
374
+ removeFile(fileId) {
375
+ this.fileHandler.removeFile(fileId);
376
+ }
377
+ /**
378
+ * Clear all uploaded files
379
+ */
380
+ clearFiles() {
381
+ this.fileHandler.clearFiles();
382
+ }
383
+ /**
384
+ * Get all uploaded files
385
+ */
386
+ getUploadedFiles() {
387
+ return this.stateHandler.getState().uploadedFiles;
388
+ }
389
+ // ===== THREAD OPERATIONS =====
390
+ /**
391
+ * Create a new conversation thread
392
+ */
393
+ createThread(title) {
394
+ return __awaiter(this, void 0, void 0, function* () {
395
+ return yield this.threadHandler.createThread(title);
396
+ });
397
+ }
398
+ /**
399
+ * Switch to a different thread
400
+ */
401
+ switchThread(threadId) {
402
+ this.threadHandler.switchThread(threadId);
403
+ this.processRestoredMessagesForPlugins();
404
+ }
405
+ /**
406
+ * Delete a thread by ID
407
+ */
408
+ deleteThread(threadId) {
409
+ this.threadHandler.deleteThread(threadId);
410
+ }
411
+ /**
412
+ * Rename a thread
413
+ */
414
+ renameThread(threadId, newTitle) {
415
+ this.threadHandler.renameThread(threadId, newTitle);
416
+ }
417
+ /**
418
+ * Toggle bookmark on a thread
419
+ */
420
+ bookmarkThread(threadId) {
421
+ this.threadHandler.bookmarkThread(threadId);
422
+ }
423
+ /**
424
+ * Get the currently active thread
425
+ */
426
+ getCurrentThread() {
427
+ const state = this.stateHandler.getState();
428
+ return state.threads.find(t => t.id === state.currentThreadId);
429
+ }
430
+ /**
431
+ * Get all available threads
432
+ */
433
+ getThreads() {
434
+ return this.stateHandler.getState().threads;
435
+ }
436
+ // ===== MODULE OPERATIONS =====
437
+ /**
438
+ * Set available modules for the chatbot
439
+ */
440
+ setModules(modules) {
441
+ this.moduleHandler.setModules(modules);
442
+ }
443
+ /**
444
+ * Select specific modules by their IDs
445
+ */
446
+ selectModules(moduleIds) {
447
+ this.moduleHandler.selectModules(moduleIds);
448
+ }
449
+ /**
450
+ * Toggle a module's selection state
451
+ */
452
+ toggleModule(moduleId) {
453
+ this.moduleHandler.toggleModule(moduleId);
454
+ }
455
+ /**
456
+ * Get currently selected modules
457
+ */
458
+ getSelectedModules() {
459
+ return this.moduleHandler.getSelectedModules();
460
+ }
461
+ // ===== SUGGESTION OPERATIONS =====
462
+ /**
463
+ * Set suggestion chips for user interaction
464
+ */
465
+ setSuggestions(suggestions) {
466
+ this.suggestionHandler.setSuggestions(suggestions);
467
+ }
468
+ /**
469
+ * Clear all suggestions
470
+ */
471
+ clearSuggestions() {
472
+ this.suggestionHandler.clearSuggestions();
473
+ }
474
+ // ===== HOOKS (Override Points) =====
475
+ /**
476
+ * Called before sending message - override to transform or validate
477
+ */
478
+ beforeMessageSent(text, _options) {
479
+ return __awaiter(this, void 0, void 0, function* () {
480
+ let processedText = text;
481
+ for (const plugin of this.plugins.values()) {
482
+ if (plugin.beforeSend) {
483
+ processedText = yield plugin.beforeSend(processedText);
484
+ }
485
+ }
486
+ return processedText;
487
+ });
488
+ }
489
+ /**
490
+ * Called after message is sent - override for custom logic
491
+ */
492
+ afterMessageSent(message) {
493
+ return __awaiter(this, void 0, void 0, function* () {
494
+ this.log('Message sent:', message);
495
+ });
496
+ }
497
+ /**
498
+ * Called before provider call - override for custom logic
499
+ */
500
+ beforeProviderCall(message) {
501
+ return __awaiter(this, void 0, void 0, function* () {
502
+ this.log('Calling provider for message:', message.id);
503
+ });
504
+ }
505
+ /**
506
+ * Called after provider call - override for custom logic
507
+ */
508
+ afterProviderCall() {
509
+ return __awaiter(this, void 0, void 0, function* () {
510
+ this.log('Provider call completed');
511
+ });
512
+ }
513
+ /**
514
+ * Handle provider error - override to customize error handling
515
+ */
516
+ handleProviderError(error) {
517
+ return __awaiter(this, void 0, void 0, function* () {
518
+ this.logError('Provider error:', error);
519
+ const errorMessage = this.messageHandler.createMessage({
520
+ sender: ChatbotSender.Bot,
521
+ text: 'Sorry, there was an error processing your request.',
522
+ state: ChatbotMessageState.Error,
523
+ timestamp: new Date().toISOString()
524
+ });
525
+ this.messageHandler.addMessage(errorMessage);
526
+ if (this.ui.showNotification) {
527
+ this.ui.showNotification('Failed to process message', 'error');
528
+ }
529
+ this.emit('provider:error', error);
530
+ yield this.pluginService.executeHook('onError', error);
531
+ });
532
+ }
533
+ /**
534
+ * Handle validation error - override to customize
535
+ */
536
+ handleValidationError(error) {
537
+ this.logError('Validation error:', error);
538
+ if (this.ui.showNotification) {
539
+ this.ui.showNotification(error.errors[0], 'error');
540
+ }
541
+ this.emit('validation:error', error);
542
+ }
543
+ /**
544
+ * Handle general error - override to customize
545
+ */
546
+ handleError(error) {
547
+ this.logError('Error:', error);
548
+ this.emit('error', error);
549
+ this.plugins.forEach(plugin => {
550
+ if (plugin.onError) {
551
+ plugin.onError(error);
552
+ }
553
+ });
554
+ }
555
+ // ===== PLUGIN SYSTEM =====
556
+ /**
557
+ * Register a new plugin with the chatbot
558
+ */
559
+ registerPlugin(plugin) {
560
+ this.pluginService.registerPlugin(plugin, this);
561
+ }
562
+ /**
563
+ * Unregister a plugin by ID
564
+ */
565
+ unregisterPlugin(pluginId) {
566
+ this.pluginService.unregisterPlugin(pluginId);
567
+ }
568
+ /**
569
+ * Get a registered plugin by ID
570
+ */
571
+ getPlugin(pluginId) {
572
+ return this.pluginService.getPlugin(pluginId);
573
+ }
574
+ // ===== PROVIDER MANAGEMENT =====
575
+ /**
576
+ * Set the AI provider for the chatbot
577
+ */
578
+ setProvider(provider) {
579
+ this.providerService.setProvider(provider);
580
+ // Only connect if not already connected
581
+ if (!provider.isConnected()) {
582
+ provider.connect({}).then(() => __awaiter(this, void 0, void 0, function* () {
583
+ // Auto-load conversations if provider supports it
584
+ yield this.autoLoadConversations(provider);
585
+ this.emit('provider:connected', provider.id);
586
+ })).catch(error => {
587
+ this.logError('Failed to connect provider:', error);
588
+ });
589
+ }
590
+ else {
591
+ // Provider already connected, just auto-load conversations and emit event
592
+ this.autoLoadConversations(provider).catch(error => {
593
+ this.logError('Failed to auto-load conversations:', error);
594
+ });
595
+ this.emit('provider:connected', provider.id);
596
+ }
597
+ }
598
+ // ===== STORAGE MANAGEMENT =====
599
+ /**
600
+ * Set the storage adapter for persisting chatbot state
601
+ */
602
+ setStorage(storage) {
603
+ this.storageService.setStorage(storage);
604
+ }
605
+ /**
606
+ * Save current state to storage
607
+ */
608
+ saveToStorage() {
609
+ return __awaiter(this, arguments, void 0, function* (key = 'chatbot-state') {
610
+ yield this.storageService.saveState(key);
611
+ });
612
+ }
613
+ /**
614
+ * Load state from storage
615
+ */
616
+ loadFromStorage() {
617
+ return __awaiter(this, arguments, void 0, function* (key = 'chatbot-state') {
618
+ yield this.storageService.loadState(key);
619
+ // Process loaded messages through plugins to render any HTML tags
620
+ const state = this.stateHandler.getState();
621
+ if (state.messages && state.messages.length > 0) {
622
+ const processedMessages = state.messages.map(msg => this.processMessageThroughPlugins(msg));
623
+ this.stateHandler.updateState({ messages: processedMessages });
624
+ // Run onMessageReceived so plugins like ArtifactPlugin can post-process
625
+ this.processRestoredMessagesForPlugins();
626
+ }
627
+ });
628
+ }
629
+ // ===== EVENT BUS =====
630
+ /**
631
+ * Subscribe to an event
632
+ * @returns Unsubscribe function
633
+ */
634
+ on(event, handler) {
635
+ return this.eventBus.on(event, handler);
636
+ }
637
+ /**
638
+ * Emit an event
639
+ */
640
+ emit(event, data) {
641
+ this.eventBus.emit(event, data);
642
+ }
643
+ // ===== PUBLIC API =====
644
+ /**
645
+ * Get current chatbot state (readonly)
646
+ */
647
+ getState() {
648
+ return this.stateHandler.getState();
649
+ }
650
+ /**
651
+ * Update chatbot state (use with caution)
652
+ */
653
+ setState(updates) {
654
+ // If messages are being set, process them through plugins first
655
+ if (updates.messages && Array.isArray(updates.messages)) {
656
+ updates.messages = updates.messages.map(msg => this.processMessageThroughPlugins(msg));
657
+ }
658
+ // If threads are being set, process their messages through plugins
659
+ if (updates.threads && Array.isArray(updates.threads)) {
660
+ updates.threads = updates.threads.map(thread => (Object.assign(Object.assign({}, thread), { messages: thread.messages.map(msg => this.processMessageThroughPlugins(msg)) })));
661
+ }
662
+ this.updateState(updates);
663
+ // Run onMessageReceived so plugins like ArtifactPlugin can post-process
664
+ if (updates.messages) {
665
+ this.processRestoredMessagesForPlugins();
666
+ }
667
+ }
668
+ /**
669
+ * Load conversations from external source (API, database, etc.)
670
+ * This is a helper method that processes messages through plugins
671
+ */
672
+ loadConversations(threads) {
673
+ const processedThreads = threads.map(thread => (Object.assign(Object.assign({}, thread), { messages: thread.messages.map(msg => this.processMessageThroughPlugins(msg)) })));
674
+ this.updateState({
675
+ threads: processedThreads,
676
+ currentThreadId: processedThreads.length > 0 ? processedThreads[0].id : undefined,
677
+ messages: processedThreads.length > 0 ? processedThreads[0].messages : []
678
+ });
679
+ // Run onMessageReceived so plugins like ArtifactPlugin can post-process
680
+ this.processRestoredMessagesForPlugins();
681
+ }
682
+ /**
683
+ * Auto-load conversations from provider if it has loadConversations method
684
+ * This is called automatically when provider connects
685
+ */
686
+ autoLoadConversations(provider) {
687
+ return __awaiter(this, void 0, void 0, function* () {
688
+ if (!provider)
689
+ return;
690
+ // Check if provider has loadConversations method
691
+ if (typeof provider.loadConversations === 'function') {
692
+ try {
693
+ this.log('Auto-loading conversations from provider...');
694
+ const conversations = yield provider.loadConversations();
695
+ if (Array.isArray(conversations) && conversations.length > 0) {
696
+ this.log(`Loaded ${conversations.length} conversation summaries`);
697
+ // Load full conversation details if loadConversation method exists
698
+ const loadedThreads = [];
699
+ if (typeof provider.loadConversation === 'function') {
700
+ for (const conv of conversations) {
701
+ try {
702
+ const fullConversation = yield provider.loadConversation(conv.id);
703
+ if (fullConversation) {
704
+ const thread = {
705
+ id: fullConversation.id,
706
+ title: fullConversation.title,
707
+ messages: fullConversation.messages || [],
708
+ createdAt: fullConversation.createdAt,
709
+ updatedAt: fullConversation.updatedAt
710
+ };
711
+ loadedThreads.push(thread);
712
+ }
713
+ }
714
+ catch (error) {
715
+ this.logError(`Failed to load conversation ${conv.id}:`, error);
716
+ }
717
+ }
718
+ }
719
+ else {
720
+ // If no loadConversation method, convert summary to threads
721
+ for (const conv of conversations) {
722
+ const thread = {
723
+ id: conv.id,
724
+ title: conv.title,
725
+ messages: [],
726
+ createdAt: conv.createdAt,
727
+ updatedAt: conv.updatedAt
728
+ };
729
+ loadedThreads.push(thread);
730
+ }
731
+ }
732
+ if (loadedThreads.length > 0) {
733
+ this.log(`Successfully loaded ${loadedThreads.length} conversations`);
734
+ this.loadConversations(loadedThreads);
735
+ }
736
+ }
737
+ else {
738
+ this.log('No conversations to load from provider');
739
+ }
740
+ }
741
+ catch (error) {
742
+ this.logError('Failed to auto-load conversations from provider:', error);
743
+ }
744
+ }
745
+ });
746
+ }
747
+ /**
748
+ * Set or update UI callback functions
749
+ */
750
+ setUICallbacks(callbacks) {
751
+ this.ui = Object.assign(Object.assign({}, this.ui), callbacks);
752
+ }
753
+ /**
754
+ * Get chatbot configuration (readonly)
755
+ */
756
+ getConfig() {
757
+ return Object.freeze(Object.assign({}, this.config));
758
+ }
759
+ /**
760
+ * Update chatbot configuration
761
+ * Merges the provided partial config with existing config
762
+ */
763
+ updateConfig(partialConfig) {
764
+ this.config = Object.assign(Object.assign({}, this.config), partialConfig);
765
+ }
766
+ /**
767
+ * Set typing indicator state
768
+ */
769
+ setTyping(isTyping) {
770
+ this.updateState({ isTyping });
771
+ this.emit(isTyping ? 'typing:start' : 'typing:end');
772
+ }
773
+ /**
774
+ * Set dynamic status text shown beside the loading indicator
775
+ */
776
+ setStatusText(text) {
777
+ this.updateState({ statusText: text });
778
+ }
779
+ /**
780
+ * Clear the dynamic status text
781
+ */
782
+ clearStatusText() {
783
+ this.updateState({ statusText: undefined });
784
+ }
785
+ /**
786
+ * Get context for provider calls
787
+ */
788
+ getContext() {
789
+ const state = this.stateHandler.getState();
790
+ return {
791
+ messages: state.messages,
792
+ currentThread: this.getCurrentThread(),
793
+ selectedModules: state.selectedModules,
794
+ metadata: state.metadata,
795
+ uploadedFiles: state.uploadedFiles
796
+ };
797
+ }
798
+ /**
799
+ * Destroy the chatbot controller and clean up resources
800
+ */
801
+ destroy() {
802
+ this.onDestroy();
803
+ }
804
+ // ===== UTILITIES =====
805
+ generateId(prefix) {
806
+ return `${prefix}_${Date.now()}_${Math.random().toString(36).substr(2, 9)}`;
807
+ }
808
+ formatFileSize(bytes) {
809
+ if (bytes < 1024)
810
+ return `${bytes} B`;
811
+ if (bytes < 1024 * 1024)
812
+ return `${(bytes / 1024).toFixed(2)} KB`;
813
+ return `${(bytes / (1024 * 1024)).toFixed(2)} MB`;
814
+ }
815
+ log(...args) {
816
+ if (this.config.debug) {
817
+ console.log('[ChatbotCore]', ...args);
818
+ }
819
+ }
820
+ logError(...args) {
821
+ console.error('[ChatbotCore]', ...args);
822
+ }
823
+ }
824
+ //# sourceMappingURL=chatbot-core.controller.js.map