@tylertech/forge-ai 0.15.3-dev.0 → 0.16.0-dev.0

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 (444) hide show
  1. package/MIGRATION.md +192 -0
  2. package/README.md +76 -2
  3. package/custom-elements.json +5156 -13880
  4. package/dist/_virtual/_@oxc-project_runtime@0.154.0/helpers/esm/decorate.mjs +9 -0
  5. package/dist/ai-agent-info/ai-agent-info.mjs +4 -78
  6. package/dist/ai-agent-info/ai-agent-info2.mjs +55 -0
  7. package/dist/ai-agent-info/index.d.ts +1 -1
  8. package/dist/ai-agent-info/index.mjs +1 -5
  9. package/dist/ai-agent-selector/ai-agent-selector.d.ts +2 -2
  10. package/dist/ai-agent-selector/ai-agent-selector.mjs +4 -439
  11. package/dist/ai-agent-selector/ai-agent-selector2.mjs +344 -0
  12. package/dist/ai-agent-selector/index.mjs +1 -5
  13. package/dist/ai-artifact/ai-artifact.mjs +4 -39
  14. package/dist/ai-artifact/ai-artifact2.mjs +31 -0
  15. package/dist/ai-artifact/index.d.ts +1 -1
  16. package/dist/ai-artifact/index.mjs +1 -5
  17. package/dist/ai-artifact-card/ai-artifact-card.mjs +4 -142
  18. package/dist/ai-artifact-card/ai-artifact-card2.mjs +103 -0
  19. package/dist/ai-artifact-card/index.d.ts +1 -1
  20. package/dist/ai-artifact-card/index.mjs +1 -5
  21. package/dist/ai-artifact-card-group/ai-artifact-card-group.mjs +4 -137
  22. package/dist/ai-artifact-card-group/ai-artifact-card-group2.mjs +100 -0
  23. package/dist/ai-artifact-card-group/index.d.ts +1 -1
  24. package/dist/ai-artifact-card-group/index.mjs +1 -5
  25. package/dist/ai-assistant-response/ai-assistant-response.d.ts +2 -3
  26. package/dist/ai-assistant-response/ai-assistant-response.mjs +4 -235
  27. package/dist/ai-assistant-response/ai-assistant-response2.mjs +137 -0
  28. package/dist/ai-assistant-response/index.d.ts +1 -1
  29. package/dist/ai-assistant-response/index.mjs +1 -5
  30. package/dist/ai-canvas/ai-canvas.d.ts +43 -0
  31. package/dist/ai-canvas/ai-canvas.mjs +4 -0
  32. package/dist/ai-canvas/ai-canvas2.mjs +74 -0
  33. package/dist/ai-canvas/index.d.ts +1 -0
  34. package/dist/ai-canvas/index.mjs +1 -0
  35. package/dist/ai-chain-of-thought/ai-chain-of-thought.mjs +4 -45
  36. package/dist/ai-chain-of-thought/ai-chain-of-thought2.mjs +35 -0
  37. package/dist/ai-chain-of-thought/index.d.ts +5 -5
  38. package/dist/ai-chain-of-thought/index.mjs +6 -17
  39. package/dist/ai-chain-of-thought/thought-base/index.mjs +1 -5
  40. package/dist/ai-chain-of-thought/thought-base/thought-base.mjs +4 -43
  41. package/dist/ai-chain-of-thought/thought-base/thought-base2.mjs +31 -0
  42. package/dist/ai-chain-of-thought/thought-detail/index.mjs +1 -5
  43. package/dist/ai-chain-of-thought/thought-detail/thought-detail.mjs +4 -34
  44. package/dist/ai-chain-of-thought/thought-detail/thought-detail2.mjs +26 -0
  45. package/dist/ai-chain-of-thought/thought-image/index.mjs +1 -5
  46. package/dist/ai-chain-of-thought/thought-image/thought-image.mjs +4 -43
  47. package/dist/ai-chain-of-thought/thought-image/thought-image2.mjs +30 -0
  48. package/dist/ai-chain-of-thought/thought-search-result/index.mjs +1 -5
  49. package/dist/ai-chain-of-thought/thought-search-result/thought-search-result.mjs +4 -62
  50. package/dist/ai-chain-of-thought/thought-search-result/thought-search-result2.mjs +45 -0
  51. package/dist/ai-chat-header/ai-chat-header.d.ts +7 -5
  52. package/dist/ai-chat-header/ai-chat-header.mjs +4 -439
  53. package/dist/ai-chat-header/ai-chat-header2.mjs +319 -0
  54. package/dist/ai-chat-header/index.d.ts +2 -2
  55. package/dist/ai-chat-header/index.mjs +1 -5
  56. package/dist/ai-chat-interface/ai-chat-interface.d.ts +1 -0
  57. package/dist/ai-chat-interface/ai-chat-interface.mjs +4 -103
  58. package/dist/ai-chat-interface/ai-chat-interface2.mjs +73 -0
  59. package/dist/ai-chat-interface/index.mjs +1 -5
  60. package/dist/ai-client-message/ai-client-message.d.ts +5 -6
  61. package/dist/ai-client-message/ai-client-message.mjs +4 -112
  62. package/dist/ai-client-message/ai-client-message2.mjs +76 -0
  63. package/dist/ai-client-message/index.mjs +1 -5
  64. package/dist/ai-context-chip/ai-context-chip.d.ts +1 -1
  65. package/dist/ai-context-chip/ai-context-chip.mjs +4 -169
  66. package/dist/ai-context-chip/ai-context-chip2.mjs +113 -0
  67. package/dist/ai-context-chip/index.mjs +1 -5
  68. package/dist/ai-context-items/ai-context-items.d.ts +11 -5
  69. package/dist/ai-context-items/ai-context-items.mjs +4 -78
  70. package/dist/ai-context-items/ai-context-items2.mjs +53 -0
  71. package/dist/ai-context-items/index.d.ts +1 -1
  72. package/dist/ai-context-items/index.mjs +1 -5
  73. package/dist/ai-conversations-panel/ai-conversations-panel.d.ts +2 -2
  74. package/dist/ai-conversations-panel/ai-conversations-panel.mjs +4 -632
  75. package/dist/ai-conversations-panel/ai-conversations-panel2.mjs +531 -0
  76. package/dist/ai-conversations-panel/index.mjs +1 -5
  77. package/dist/ai-copy-button/ai-copy-button.mjs +4 -116
  78. package/dist/ai-copy-button/ai-copy-button2.mjs +88 -0
  79. package/dist/ai-copy-button/index.mjs +1 -5
  80. package/dist/ai-dialog/ai-dialog.mjs +4 -304
  81. package/dist/ai-dialog/ai-dialog2.mjs +237 -0
  82. package/dist/ai-dialog/index.d.ts +1 -1
  83. package/dist/ai-dialog/index.mjs +1 -5
  84. package/dist/ai-disclaimer/ai-disclaimer.mjs +4 -70
  85. package/dist/ai-disclaimer/ai-disclaimer2.mjs +46 -0
  86. package/dist/ai-disclaimer/index.d.ts +1 -1
  87. package/dist/ai-disclaimer/index.mjs +1 -5
  88. package/dist/ai-dropdown-menu/ai-dropdown-menu-item-group.mjs +4 -80
  89. package/dist/ai-dropdown-menu/ai-dropdown-menu-item-group2.mjs +51 -0
  90. package/dist/ai-dropdown-menu/ai-dropdown-menu-item.d.ts +5 -1
  91. package/dist/ai-dropdown-menu/ai-dropdown-menu-item.mjs +4 -330
  92. package/dist/ai-dropdown-menu/ai-dropdown-menu-item2.mjs +280 -0
  93. package/dist/ai-dropdown-menu/ai-dropdown-menu-separator.mjs +4 -26
  94. package/dist/ai-dropdown-menu/ai-dropdown-menu-separator2.mjs +19 -0
  95. package/dist/ai-dropdown-menu/ai-dropdown-menu.d.ts +5 -0
  96. package/dist/ai-dropdown-menu/ai-dropdown-menu.mjs +4 -351
  97. package/dist/ai-dropdown-menu/ai-dropdown-menu2.mjs +268 -0
  98. package/dist/ai-dropdown-menu/index.d.ts +1 -0
  99. package/dist/ai-dropdown-menu/index.mjs +5 -10
  100. package/dist/ai-dropdown-menu/navigation-controller.d.ts +9 -1
  101. package/dist/ai-dropdown-menu/navigation-controller.mjs +214 -204
  102. package/dist/ai-dropdown-menu/selection-manager.mjs +202 -182
  103. package/dist/ai-edit-thread/ai-edit-thread.d.ts +1 -1
  104. package/dist/ai-edit-thread/ai-edit-thread.mjs +4 -137
  105. package/dist/ai-edit-thread/ai-edit-thread2.mjs +96 -0
  106. package/dist/ai-edit-thread/index.d.ts +1 -1
  107. package/dist/ai-edit-thread/index.mjs +1 -5
  108. package/dist/ai-empty-state/ai-empty-state.mjs +4 -38
  109. package/dist/ai-empty-state/ai-empty-state2.mjs +28 -0
  110. package/dist/ai-empty-state/index.d.ts +1 -1
  111. package/dist/ai-empty-state/index.mjs +1 -5
  112. package/dist/ai-error-message/ai-error-message.mjs +4 -80
  113. package/dist/ai-error-message/ai-error-message2.mjs +62 -0
  114. package/dist/ai-error-message/index.mjs +1 -5
  115. package/dist/ai-fab/ai-fab.mjs +4 -81
  116. package/dist/ai-fab/ai-fab2.mjs +54 -0
  117. package/dist/ai-fab/index.d.ts +1 -1
  118. package/dist/ai-fab/index.mjs +1 -5
  119. package/dist/ai-file-picker/ai-file-picker.d.ts +1 -0
  120. package/dist/ai-file-picker/ai-file-picker.mjs +4 -224
  121. package/dist/ai-file-picker/ai-file-picker2.mjs +172 -0
  122. package/dist/ai-file-picker/index.mjs +1 -4
  123. package/dist/ai-gradient-container/ai-gradient-container.mjs +4 -61
  124. package/dist/ai-gradient-container/ai-gradient-container2.mjs +38 -0
  125. package/dist/ai-gradient-container/index.d.ts +1 -1
  126. package/dist/ai-gradient-container/index.mjs +1 -5
  127. package/dist/ai-icon/ai-icon.d.ts +3 -0
  128. package/dist/ai-icon/ai-icon.mjs +4 -71
  129. package/dist/ai-icon/ai-icon2.mjs +41 -0
  130. package/dist/ai-icon/index.d.ts +1 -1
  131. package/dist/ai-icon/index.mjs +1 -5
  132. package/dist/ai-message-thread/ai-message-thread.d.ts +5 -4
  133. package/dist/ai-message-thread/ai-message-thread.mjs +4 -359
  134. package/dist/ai-message-thread/ai-message-thread2.mjs +279 -0
  135. package/dist/ai-message-thread/index.mjs +1 -5
  136. package/dist/ai-modal/ai-modal.mjs +4 -178
  137. package/dist/ai-modal/ai-modal2.mjs +141 -0
  138. package/dist/ai-modal/index.mjs +1 -4
  139. package/dist/ai-prompt/ai-prompt.d.ts +10 -6
  140. package/dist/ai-prompt/ai-prompt.mjs +4 -534
  141. package/dist/ai-prompt/ai-prompt2.mjs +438 -0
  142. package/dist/ai-prompt/index.mjs +1 -5
  143. package/dist/ai-reasoning/ai-reasoning.mjs +4 -44
  144. package/dist/ai-reasoning/ai-reasoning2.mjs +35 -0
  145. package/dist/ai-reasoning/index.d.ts +2 -2
  146. package/dist/ai-reasoning/index.mjs +4 -8
  147. package/dist/ai-reasoning/reasoning-content/index.d.ts +1 -1
  148. package/dist/ai-reasoning/reasoning-content/index.mjs +1 -5
  149. package/dist/ai-reasoning/reasoning-content/reasoning-content.mjs +4 -90
  150. package/dist/ai-reasoning/reasoning-content/reasoning-content2.mjs +68 -0
  151. package/dist/ai-reasoning-header/ai-reasoning-header.d.ts +7 -1
  152. package/dist/ai-reasoning-header/ai-reasoning-header.mjs +4 -68
  153. package/dist/ai-reasoning-header/ai-reasoning-header2.mjs +51 -0
  154. package/dist/ai-reasoning-header/index.d.ts +1 -1
  155. package/dist/ai-reasoning-header/index.mjs +1 -5
  156. package/dist/ai-response-message/ai-response-message.mjs +4 -25
  157. package/dist/ai-response-message/ai-response-message2.mjs +17 -0
  158. package/dist/ai-response-message/index.mjs +1 -5
  159. package/dist/ai-response-message-toolbar/ai-response-message-toolbar.d.ts +1 -1
  160. package/dist/ai-response-message-toolbar/ai-response-message-toolbar.mjs +4 -230
  161. package/dist/ai-response-message-toolbar/ai-response-message-toolbar2.mjs +171 -0
  162. package/dist/ai-response-message-toolbar/index.mjs +1 -5
  163. package/dist/ai-sidebar/ai-sidebar.d.ts +4 -4
  164. package/dist/ai-sidebar/ai-sidebar.mjs +4 -256
  165. package/dist/ai-sidebar/ai-sidebar2.mjs +211 -0
  166. package/dist/ai-sidebar/index.d.ts +2 -2
  167. package/dist/ai-sidebar/index.mjs +1 -5
  168. package/dist/ai-slash-command-menu/ai-slash-command-menu.d.ts +1 -1
  169. package/dist/ai-slash-command-menu/ai-slash-command-menu.mjs +4 -200
  170. package/dist/ai-slash-command-menu/ai-slash-command-menu2.mjs +156 -0
  171. package/dist/ai-slash-command-menu/index.mjs +1 -5
  172. package/dist/ai-spinner/ai-spinner.mjs +4 -41
  173. package/dist/ai-spinner/ai-spinner2.mjs +29 -0
  174. package/dist/ai-spinner/index.d.ts +1 -1
  175. package/dist/ai-spinner/index.mjs +1 -5
  176. package/dist/ai-steps/ai-steps.mjs +4 -163
  177. package/dist/ai-steps/ai-steps2.mjs +133 -0
  178. package/dist/ai-steps/index.d.ts +1 -1
  179. package/dist/ai-steps/index.mjs +1 -5
  180. package/dist/ai-suggestions/ai-suggestions.d.ts +2 -5
  181. package/dist/ai-suggestions/ai-suggestions.mjs +4 -164
  182. package/dist/ai-suggestions/ai-suggestions2.mjs +125 -0
  183. package/dist/ai-suggestions/index.d.ts +2 -1
  184. package/dist/ai-suggestions/index.mjs +1 -5
  185. package/dist/ai-thinking-indicator/ai-thinking-indicator.d.ts +2 -1
  186. package/dist/ai-thinking-indicator/ai-thinking-indicator.mjs +4 -160
  187. package/dist/ai-thinking-indicator/ai-thinking-indicator2.mjs +143 -0
  188. package/dist/ai-thinking-indicator/index.d.ts +1 -1
  189. package/dist/ai-thinking-indicator/index.mjs +1 -5
  190. package/dist/ai-thread-actions-menu/ai-thread-actions-menu.d.ts +2 -2
  191. package/dist/ai-thread-actions-menu/ai-thread-actions-menu.mjs +4 -152
  192. package/dist/ai-thread-actions-menu/ai-thread-actions-menu2.mjs +109 -0
  193. package/dist/ai-thread-actions-menu/index.d.ts +1 -1
  194. package/dist/ai-thread-actions-menu/index.mjs +1 -5
  195. package/dist/ai-threads-search/ai-threads-search.d.ts +3 -4
  196. package/dist/ai-threads-search/ai-threads-search.mjs +4 -602
  197. package/dist/ai-threads-search/ai-threads-search2.mjs +495 -0
  198. package/dist/ai-threads-search/index.d.ts +1 -1
  199. package/dist/ai-threads-search/index.mjs +1 -5
  200. package/dist/ai-tool-call/ai-tool-call.d.ts +21 -0
  201. package/dist/ai-tool-call/ai-tool-call.mjs +4 -0
  202. package/dist/ai-tool-call/ai-tool-call2.mjs +132 -0
  203. package/dist/ai-tool-call/create-tool-renderer.d.ts +9 -0
  204. package/dist/ai-tool-call/create-tool-renderer.mjs +10 -0
  205. package/dist/ai-tool-call/index.d.ts +6 -0
  206. package/dist/ai-tool-call/index.mjs +5 -0
  207. package/dist/ai-tool-call/tool-canvas.d.ts +60 -0
  208. package/dist/ai-tool-call/tool-canvas.mjs +135 -0
  209. package/dist/ai-tool-call/utils.d.ts +12 -0
  210. package/dist/ai-tool-call/utils.mjs +20 -0
  211. package/dist/ai-tool-call-indicator/ai-tool-call-indicator.d.ts +2 -2
  212. package/dist/ai-tool-call-indicator/ai-tool-call-indicator.mjs +4 -331
  213. package/dist/ai-tool-call-indicator/ai-tool-call-indicator2.mjs +225 -0
  214. package/dist/ai-tool-call-indicator/index.mjs +1 -5
  215. package/dist/ai-user-message/ai-user-message.mjs +4 -151
  216. package/dist/ai-user-message/ai-user-message2.mjs +105 -0
  217. package/dist/ai-user-message/index.mjs +1 -5
  218. package/dist/ai-user-message-toolbar/ai-user-message-toolbar.mjs +4 -160
  219. package/dist/ai-user-message-toolbar/ai-user-message-toolbar2.mjs +102 -0
  220. package/dist/ai-user-message-toolbar/index.mjs +1 -5
  221. package/dist/ai-voice-input/ai-voice-input.d.ts +1 -1
  222. package/dist/ai-voice-input/ai-voice-input.mjs +4 -113
  223. package/dist/ai-voice-input/ai-voice-input2.mjs +92 -0
  224. package/dist/ai-voice-input/index.d.ts +1 -1
  225. package/dist/ai-voice-input/index.mjs +1 -5
  226. package/dist/core/drag-controller.mjs +196 -221
  227. package/dist/core/index.d.ts +4 -2
  228. package/dist/core/index.mjs +7 -6
  229. package/dist/core/overlay/index.mjs +1 -4
  230. package/dist/core/overlay/overlay.d.ts +1 -1
  231. package/dist/core/overlay/overlay.mjs +4 -180
  232. package/dist/core/overlay/overlay2.mjs +146 -0
  233. package/dist/core/popover/index.mjs +1 -4
  234. package/dist/core/popover/popover.mjs +4 -98
  235. package/dist/core/popover/popover2.mjs +71 -0
  236. package/dist/core/resize-controller.d.ts +5 -0
  237. package/dist/core/resize-controller.mjs +132 -152
  238. package/dist/core/tooltip/index.mjs +1 -4
  239. package/dist/core/tooltip/tooltip.mjs +4 -279
  240. package/dist/core/tooltip/tooltip2.mjs +213 -0
  241. package/dist/index.d.ts +45 -52
  242. package/dist/index.mjs +100 -208
  243. package/dist/jsx.d.ts +895 -0
  244. package/dist/tools/ai-data-table/ai-data-table.d.ts +1 -2
  245. package/dist/tools/ai-data-table/ai-data-table.mjs +4 -257
  246. package/dist/tools/ai-data-table/ai-data-table2.mjs +185 -0
  247. package/dist/tools/ai-data-table/index.d.ts +0 -1
  248. package/dist/tools/ai-data-table/index.mjs +1 -6
  249. package/dist/tools/ai-paginator/ai-paginator.d.ts +14 -0
  250. package/dist/tools/ai-paginator/ai-paginator.mjs +4 -115
  251. package/dist/tools/ai-paginator/ai-paginator2.mjs +90 -0
  252. package/dist/tools/ai-paginator/index.mjs +1 -4
  253. package/dist/tools/ai-steps/ai-steps.d.ts +2 -3
  254. package/dist/tools/ai-steps/ai-steps.mjs +4 -49
  255. package/dist/tools/ai-steps/ai-steps2.mjs +30 -0
  256. package/dist/tools/ai-steps/index.d.ts +0 -1
  257. package/dist/tools/ai-steps/index.mjs +1 -6
  258. package/dist/tools/index.d.ts +3 -3
  259. package/dist/tools/index.mjs +7 -12
  260. package/dist/types/chat.d.ts +102 -0
  261. package/dist/types/feature.d.ts +1 -0
  262. package/dist/types/file.d.ts +36 -0
  263. package/dist/types/index.d.ts +6 -0
  264. package/dist/types/index.mjs +0 -0
  265. package/dist/types/thread.d.ts +14 -0
  266. package/dist/types/tool.d.ts +197 -0
  267. package/dist/utils/csv-utils.mjs +37 -57
  268. package/dist/utils/delete-thread-controller.d.ts +1 -1
  269. package/dist/utils/delete-thread-controller.mjs +48 -71
  270. package/dist/utils/dom.d.ts +14 -0
  271. package/dist/utils/dom.mjs +30 -0
  272. package/dist/utils/format.d.ts +9 -0
  273. package/dist/utils/format.mjs +27 -0
  274. package/dist/utils/index.d.ts +9 -6
  275. package/dist/utils/index.mjs +6 -16
  276. package/dist/utils/infinite-scroll-controller.mjs +88 -94
  277. package/dist/utils/keyboard-navigation-controller.mjs +62 -70
  278. package/dist/utils/markdown-stream-controller.mjs +48 -0
  279. package/dist/utils/markdown.d.ts +10 -1
  280. package/dist/utils/markdown.mjs +261 -40
  281. package/dist/utils/storage-utils.mjs +30 -24
  282. package/package.json +39 -103
  283. package/dist/ai-agent-info/ai-agent-info.scss.mjs +0 -4
  284. package/dist/ai-agent-selector/ai-agent-selector.scss.mjs +0 -4
  285. package/dist/ai-artifact/ai-artifact.scss.mjs +0 -4
  286. package/dist/ai-artifact-card/ai-artifact-card.scss.mjs +0 -283
  287. package/dist/ai-artifact-card-group/ai-artifact-card-group.scss.mjs +0 -173
  288. package/dist/ai-assistant-response/ai-assistant-response.scss.mjs +0 -4
  289. package/dist/ai-attachment/ai-attachment.d.ts +0 -39
  290. package/dist/ai-attachment/ai-attachment.mjs +0 -130
  291. package/dist/ai-attachment/ai-attachment.scss.mjs +0 -4
  292. package/dist/ai-attachment/index.d.ts +0 -1
  293. package/dist/ai-attachment/index.mjs +0 -5
  294. package/dist/ai-button/ai-button.d.ts +0 -21
  295. package/dist/ai-button/ai-button.mjs +0 -68
  296. package/dist/ai-button/ai-button.scss.mjs +0 -4
  297. package/dist/ai-button/index.d.ts +0 -1
  298. package/dist/ai-button/index.mjs +0 -5
  299. package/dist/ai-chain-of-thought/ai-chain-of-thought.scss.mjs +0 -4
  300. package/dist/ai-chain-of-thought/thought-base/thought-base.scss.mjs +0 -4
  301. package/dist/ai-chain-of-thought/thought-detail/thought-detail.scss.mjs +0 -4
  302. package/dist/ai-chain-of-thought/thought-image/thought-image.scss.mjs +0 -4
  303. package/dist/ai-chain-of-thought/thought-search-result/thought-search-result.scss.mjs +0 -4
  304. package/dist/ai-chat-header/ai-chat-header.scss.mjs +0 -4
  305. package/dist/ai-chat-interface/ai-chat-interface.scss.mjs +0 -4
  306. package/dist/ai-chatbot/ag-ui-adapter.d.ts +0 -24
  307. package/dist/ai-chatbot/ag-ui-adapter.mjs +0 -388
  308. package/dist/ai-chatbot/agent-adapter.d.ts +0 -310
  309. package/dist/ai-chatbot/agent-adapter.mjs +0 -221
  310. package/dist/ai-chatbot/agent-runner.d.ts +0 -41
  311. package/dist/ai-chatbot/agent-runner.mjs +0 -265
  312. package/dist/ai-chatbot/ai-chatbot-base.d.ts +0 -178
  313. package/dist/ai-chatbot/ai-chatbot-base.mjs +0 -673
  314. package/dist/ai-chatbot/ai-chatbot-tool-call.d.ts +0 -19
  315. package/dist/ai-chatbot/ai-chatbot-tool-call.mjs +0 -104
  316. package/dist/ai-chatbot/ai-chatbot-tool-call.scss.mjs +0 -4
  317. package/dist/ai-chatbot/ai-chatbot.d.ts +0 -173
  318. package/dist/ai-chatbot/ai-chatbot.mjs +0 -402
  319. package/dist/ai-chatbot/ai-chatbot.scss.mjs +0 -4
  320. package/dist/ai-chatbot/create-tool-renderer.d.ts +0 -9
  321. package/dist/ai-chatbot/create-tool-renderer.mjs +0 -16
  322. package/dist/ai-chatbot/event-emitter.d.ts +0 -43
  323. package/dist/ai-chatbot/event-emitter.mjs +0 -81
  324. package/dist/ai-chatbot/file-upload-manager.d.ts +0 -27
  325. package/dist/ai-chatbot/file-upload-manager.mjs +0 -106
  326. package/dist/ai-chatbot/http-agent-with-credentials.d.ts +0 -8
  327. package/dist/ai-chatbot/http-agent-with-credentials.mjs +0 -14
  328. package/dist/ai-chatbot/index.d.ts +0 -17
  329. package/dist/ai-chatbot/index.mjs +0 -37
  330. package/dist/ai-chatbot/markdown-stream-controller.mjs +0 -50
  331. package/dist/ai-chatbot/message-state-controller.d.ts +0 -72
  332. package/dist/ai-chatbot/message-state-controller.mjs +0 -392
  333. package/dist/ai-chatbot/request-serialization.d.ts +0 -33
  334. package/dist/ai-chatbot/request-serialization.mjs +0 -31
  335. package/dist/ai-chatbot/types.d.ts +0 -470
  336. package/dist/ai-chatbot/utils.d.ts +0 -44
  337. package/dist/ai-chatbot/utils.mjs +0 -110
  338. package/dist/ai-chatbot-launcher/ai-chatbot-launcher.d.ts +0 -152
  339. package/dist/ai-chatbot-launcher/ai-chatbot-launcher.mjs +0 -767
  340. package/dist/ai-chatbot-launcher/ai-chatbot-launcher.scss.mjs +0 -4
  341. package/dist/ai-chatbot-launcher/index.d.ts +0 -1
  342. package/dist/ai-chatbot-launcher/index.mjs +0 -5
  343. package/dist/ai-client-message/ai-client-message.scss.mjs +0 -4
  344. package/dist/ai-confirmation-prompt/ai-confirmation-prompt.d.ts +0 -34
  345. package/dist/ai-confirmation-prompt/ai-confirmation-prompt.mjs +0 -134
  346. package/dist/ai-confirmation-prompt/ai-confirmation-prompt.scss.mjs +0 -4
  347. package/dist/ai-confirmation-prompt/index.d.ts +0 -1
  348. package/dist/ai-confirmation-prompt/index.mjs +0 -5
  349. package/dist/ai-context-chip/ai-context-chip.scss.mjs +0 -4
  350. package/dist/ai-context-items/ai-context-items.scss.mjs +0 -4
  351. package/dist/ai-conversations-panel/ai-conversations-panel.scss.mjs +0 -4
  352. package/dist/ai-copy-button/ai-copy-button.scss.mjs +0 -4
  353. package/dist/ai-dialog/ai-dialog.scss.mjs +0 -4
  354. package/dist/ai-disclaimer/ai-disclaimer.scss.mjs +0 -4
  355. package/dist/ai-dropdown-menu/ai-dropdown-menu-item-group.scss.mjs +0 -4
  356. package/dist/ai-dropdown-menu/ai-dropdown-menu-item.scss.mjs +0 -4
  357. package/dist/ai-dropdown-menu/ai-dropdown-menu-separator.scss.mjs +0 -4
  358. package/dist/ai-dropdown-menu/ai-dropdown-menu.scss.mjs +0 -4
  359. package/dist/ai-edit-thread/ai-edit-thread.scss.mjs +0 -4
  360. package/dist/ai-embedded-chat/ai-embedded-chat.d.ts +0 -64
  361. package/dist/ai-embedded-chat/ai-embedded-chat.mjs +0 -172
  362. package/dist/ai-embedded-chat/ai-embedded-chat.scss.mjs +0 -4
  363. package/dist/ai-embedded-chat/index.d.ts +0 -1
  364. package/dist/ai-embedded-chat/index.mjs +0 -5
  365. package/dist/ai-empty-state/ai-empty-state.scss.mjs +0 -4
  366. package/dist/ai-error-message/ai-error-message.scss.mjs +0 -4
  367. package/dist/ai-fab/ai-fab.scss.mjs +0 -4
  368. package/dist/ai-file-picker/ai-file-picker.scss.mjs +0 -4
  369. package/dist/ai-floating-chat/ai-floating-chat.d.ts +0 -53
  370. package/dist/ai-floating-chat/ai-floating-chat.mjs +0 -147
  371. package/dist/ai-floating-chat/ai-floating-chat.scss.mjs +0 -4
  372. package/dist/ai-floating-chat/index.d.ts +0 -1
  373. package/dist/ai-floating-chat/index.mjs +0 -5
  374. package/dist/ai-gradient-container/ai-gradient-container.scss.mjs +0 -4
  375. package/dist/ai-icon/ai-icon.scss.mjs +0 -4
  376. package/dist/ai-icon-button/ai-icon-button.d.ts +0 -19
  377. package/dist/ai-icon-button/ai-icon-button.mjs +0 -66
  378. package/dist/ai-icon-button/ai-icon-button.scss.mjs +0 -4
  379. package/dist/ai-icon-button/index.d.ts +0 -1
  380. package/dist/ai-icon-button/index.mjs +0 -5
  381. package/dist/ai-message-thread/ai-message-thread.scss.mjs +0 -4
  382. package/dist/ai-modal/ai-modal.scss.mjs +0 -4
  383. package/dist/ai-prompt/ai-prompt.scss.mjs +0 -4
  384. package/dist/ai-prompt/prompt-button/index.d.ts +0 -1
  385. package/dist/ai-prompt/prompt-button/index.mjs +0 -5
  386. package/dist/ai-prompt/prompt-button/prompt-button.d.ts +0 -16
  387. package/dist/ai-prompt/prompt-button/prompt-button.mjs +0 -40
  388. package/dist/ai-prompt/prompt-button/prompt-button.scss.mjs +0 -4
  389. package/dist/ai-reasoning/ai-reasoning.scss.mjs +0 -4
  390. package/dist/ai-reasoning/reasoning-content/reasoning-content.scss.mjs +0 -4
  391. package/dist/ai-reasoning-header/ai-reasoning-header.scss.mjs +0 -4
  392. package/dist/ai-response-message/ai-response-message.scss.mjs +0 -4
  393. package/dist/ai-response-message-toolbar/ai-response-message-toolbar.scss.mjs +0 -4
  394. package/dist/ai-sidebar/ai-sidebar.scss.mjs +0 -4
  395. package/dist/ai-sidebar-chat/ai-sidebar-chat.d.ts +0 -54
  396. package/dist/ai-sidebar-chat/ai-sidebar-chat.mjs +0 -163
  397. package/dist/ai-sidebar-chat/ai-sidebar-chat.scss.mjs +0 -4
  398. package/dist/ai-sidebar-chat/index.d.ts +0 -1
  399. package/dist/ai-sidebar-chat/index.mjs +0 -5
  400. package/dist/ai-slash-command-menu/ai-slash-command-menu.scss.mjs +0 -4
  401. package/dist/ai-spinner/ai-spinner.scss.mjs +0 -4
  402. package/dist/ai-steps/ai-steps.scss.mjs +0 -4
  403. package/dist/ai-suggestions/ai-suggestions.scss.mjs +0 -500
  404. package/dist/ai-thinking-indicator/ai-thinking-indicator.scss.mjs +0 -143
  405. package/dist/ai-thread-actions-menu/ai-thread-actions-menu.scss.mjs +0 -4
  406. package/dist/ai-threads/ai-threads.d.ts +0 -82
  407. package/dist/ai-threads/ai-threads.mjs +0 -343
  408. package/dist/ai-threads/ai-threads.scss.mjs +0 -4
  409. package/dist/ai-threads/index.d.ts +0 -1
  410. package/dist/ai-threads/index.mjs +0 -5
  411. package/dist/ai-threads-search/ai-threads-search.scss.mjs +0 -4
  412. package/dist/ai-tool-call-indicator/ai-tool-call-indicator.scss.mjs +0 -4
  413. package/dist/ai-user-message/ai-user-message.scss.mjs +0 -4
  414. package/dist/ai-user-message-toolbar/ai-user-message-toolbar.scss.mjs +0 -4
  415. package/dist/ai-voice-input/ai-voice-input.scss.mjs +0 -4
  416. package/dist/core/chatbot-core-controller.d.ts +0 -57
  417. package/dist/core/chatbot-core-controller.mjs +0 -523
  418. package/dist/core/overlay/overlay.scss.mjs +0 -4
  419. package/dist/core/popover/popover.scss.mjs +0 -4
  420. package/dist/core/tooltip/tooltip.scss.mjs +0 -4
  421. package/dist/tools/ai-data-table/ai-data-table-definition.d.ts +0 -2
  422. package/dist/tools/ai-data-table/ai-data-table-definition.mjs +0 -42
  423. package/dist/tools/ai-data-table/ai-data-table.scss.mjs +0 -4
  424. package/dist/tools/ai-mcp-app/ai-mcp-app.d.ts +0 -69
  425. package/dist/tools/ai-mcp-app/ai-mcp-app.mjs +0 -574
  426. package/dist/tools/ai-mcp-app/ai-mcp-app.scss.mjs +0 -4
  427. package/dist/tools/ai-mcp-app/index.d.ts +0 -3
  428. package/dist/tools/ai-mcp-app/index.mjs +0 -6
  429. package/dist/tools/ai-mcp-app/mcp-app-bridge-controller.d.ts +0 -61
  430. package/dist/tools/ai-mcp-app/mcp-app-bridge-controller.mjs +0 -156
  431. package/dist/tools/ai-mcp-app/mcp-app-bridge-types.d.ts +0 -123
  432. package/dist/tools/ai-mcp-app/mcp-app-bridge.d.ts +0 -41
  433. package/dist/tools/ai-mcp-app/mcp-app-bridge.mjs +0 -293
  434. package/dist/tools/ai-mcp-app/mcp-app-context.d.ts +0 -46
  435. package/dist/tools/ai-mcp-app/mcp-app-context.mjs +0 -5
  436. package/dist/tools/ai-paginator/ai-paginator.scss.mjs +0 -4
  437. package/dist/tools/ai-steps/ai-steps-definition.d.ts +0 -2
  438. package/dist/tools/ai-steps/ai-steps-definition.mjs +0 -50
  439. package/dist/tools/ai-steps/ai-steps.scss.mjs +0 -4
  440. package/dist/utils/inert-outside.d.ts +0 -7
  441. package/dist/utils/inert-outside.mjs +0 -28
  442. package/dist/utils.d.ts +0 -32
  443. package/dist/utils.mjs +0 -57
  444. /package/dist/{ai-chatbot → utils}/markdown-stream-controller.d.ts +0 -0
@@ -1,388 +0,0 @@
1
- import { HttpAgentWithCredentials } from "./http-agent-with-credentials.mjs";
2
- import { AgentAdapter } from "./agent-adapter.mjs";
3
- import { generateId } from "./utils.mjs";
4
- class AgUiAdapter extends AgentAdapter {
5
- #agent;
6
- #toolCalls = /* @__PURE__ */ new Map();
7
- #threadId;
8
- #textBuffers = /* @__PURE__ */ new Map();
9
- #context = {};
10
- constructor(config, threadId) {
11
- super();
12
- this.#threadId = threadId ?? generateId();
13
- this.#agent = new HttpAgentWithCredentials({
14
- url: config.url,
15
- headers: config.headers
16
- });
17
- this.#agent.threadId = this.#threadId;
18
- if (config.tools) {
19
- this.setTools(config.tools);
20
- }
21
- if (config.context) {
22
- this.#context = { ...config.context };
23
- }
24
- this.#setupSubscriber();
25
- }
26
- get threadId() {
27
- return this.#threadId;
28
- }
29
- set threadId(value) {
30
- this.#threadId = value;
31
- this.#agent.threadId = value;
32
- }
33
- setContext(context) {
34
- this.#context = { ...context };
35
- }
36
- getContext() {
37
- return { ...this.#context };
38
- }
39
- static async create(config) {
40
- const { threadId, ...adapterConfig } = config;
41
- const adapter = new AgUiAdapter(adapterConfig, threadId ?? generateId());
42
- await adapter.connect();
43
- return adapter;
44
- }
45
- async connect() {
46
- if (this._state.isConnecting || this._state.isConnected) {
47
- return;
48
- }
49
- this._updateState({ isConnecting: true, isConnected: true });
50
- await Promise.resolve();
51
- this._updateState({ isConnecting: false });
52
- }
53
- async disconnect() {
54
- this.abort();
55
- this._updateState({ isConnected: false });
56
- }
57
- sendMessage(messages) {
58
- if (!this._state.isConnected) {
59
- throw new Error("Adapter not connected. Call connect() first.");
60
- }
61
- const transformedMessages = this.#transformMessages(messages);
62
- const context = Object.keys(this.#context).length ? this.#transformContext(this.#context) : void 0;
63
- this.#agent.setMessages(transformedMessages);
64
- const tools = this.#transformTools(this.getModelFacingTools());
65
- this.#agent.runAgent({ tools, context });
66
- }
67
- sendToolResult(toolCallId, result, messages) {
68
- const toolMessage = {
69
- id: generateId(),
70
- role: "tool",
71
- content: JSON.stringify(result),
72
- timestamp: Date.now(),
73
- status: "complete",
74
- toolCallId
75
- };
76
- messages = messages ? [...messages, toolMessage] : [toolMessage];
77
- this.sendMessage(messages);
78
- this._emitToolResult({ toolCallId, result, message: toolMessage });
79
- }
80
- abort() {
81
- if (this._state.isRunning) {
82
- try {
83
- this.#agent.abortRun();
84
- } catch {
85
- }
86
- }
87
- this.#clearRunState();
88
- }
89
- #setupSubscriber() {
90
- const subscriber = {
91
- onRunInitialized: this.#handleRunInitialized.bind(this),
92
- onTextMessageStartEvent: this.#handleTextMessageStart.bind(this),
93
- onTextMessageContentEvent: this.#handleTextMessageContent.bind(this),
94
- onTextMessageEndEvent: this.#handleTextMessageEnd.bind(this),
95
- onToolCallStartEvent: this.#handleToolCallStart.bind(this),
96
- onToolCallArgsEvent: this.#handleToolCallArgs.bind(this),
97
- onToolCallEndEvent: this.#handleToolCallEnd.bind(this),
98
- onToolCallResultEvent: this.#handleToolCallResult.bind(this),
99
- onRunFinishedEvent: this.#handleRunFinished.bind(this),
100
- onRunErrorEvent: this.#handleRunError.bind(this),
101
- onRunFailed: this.#handleRunFailed.bind(this),
102
- onCustomEvent: this.#handleCustomEvent.bind(this),
103
- onRawEvent: this.#handleRawEvent.bind(this),
104
- onRunStartedEvent: this.#handleRunStartedEvent.bind(this),
105
- onStepStartedEvent: this.#handleStepStartedEvent.bind(this),
106
- onStepFinishedEvent: this.#handleStepFinishedEvent.bind(this),
107
- onStateSnapshotEvent: this.#handleStateSnapshotEvent.bind(this),
108
- onStateDeltaEvent: this.#handleStateDeltaEvent.bind(this),
109
- onActivitySnapshotEvent: this.#handleActivitySnapshotEvent.bind(this),
110
- onActivityDeltaEvent: this.#handleActivityDeltaEvent.bind(this)
111
- };
112
- this.#agent.subscribe(subscriber);
113
- }
114
- #handleRunInitialized() {
115
- this._updateState({ isRunning: true });
116
- this._emitRunStarted();
117
- }
118
- #handleTextMessageStart({ event }) {
119
- this._emitMessageStart(event.messageId, event);
120
- }
121
- #handleTextMessageContent({
122
- textMessageBuffer,
123
- event
124
- }) {
125
- this.#processTextDelta(event.messageId, textMessageBuffer);
126
- }
127
- #handleTextMessageEnd({
128
- textMessageBuffer,
129
- event
130
- }) {
131
- this.#processTextDelta(event.messageId, textMessageBuffer);
132
- this._emitMessageEnd(event.messageId, event);
133
- }
134
- #handleToolCallStart({
135
- event
136
- }) {
137
- const toolCallState = {
138
- messageId: event.parentMessageId || "",
139
- name: event.toolCallName,
140
- argsBuffer: ""
141
- };
142
- this.#toolCalls.set(event.toolCallId, toolCallState);
143
- this._emitToolCallStart(
144
- {
145
- id: event.toolCallId,
146
- messageId: toolCallState.messageId,
147
- name: toolCallState.name
148
- },
149
- event
150
- );
151
- }
152
- #handleToolCallArgs({
153
- event,
154
- partialToolCallArgs,
155
- toolCallBuffer
156
- }) {
157
- const toolCall = this.#getToolCallOrWarn(event.toolCallId);
158
- if (!toolCall) {
159
- return;
160
- }
161
- if (partialToolCallArgs && Object.keys(partialToolCallArgs).length) {
162
- toolCall.argsBuffer = JSON.stringify(partialToolCallArgs);
163
- } else {
164
- toolCall.argsBuffer = toolCallBuffer;
165
- }
166
- this._emitToolCallArgs(
167
- {
168
- id: event.toolCallId,
169
- messageId: toolCall.messageId,
170
- name: toolCall.name,
171
- argsBuffer: toolCall.argsBuffer,
172
- partialArgs: partialToolCallArgs
173
- },
174
- event
175
- );
176
- }
177
- #handleToolCallEnd({
178
- event,
179
- toolCallArgs
180
- }) {
181
- const toolCall = this.#getToolCallOrWarn(event.toolCallId);
182
- if (!toolCall) {
183
- return;
184
- }
185
- const args = toolCallArgs || {};
186
- const toolDef = this.#findToolDefinition(toolCall.name);
187
- if (toolDef) {
188
- const validationError = this.#validateToolArgs(toolCall.name, args, toolDef);
189
- if (validationError) {
190
- this._emitError(validationError);
191
- this.#toolCalls.delete(event.toolCallId);
192
- return;
193
- }
194
- }
195
- const toolCallEvent = {
196
- id: event.toolCallId,
197
- messageId: toolCall.messageId,
198
- name: toolCall.name,
199
- args
200
- };
201
- this._emitToolCallEnd(toolCallEvent, event);
202
- this._emitToolCall(toolCallEvent, event);
203
- this.#toolCalls.delete(event.toolCallId);
204
- }
205
- #handleToolCallResult({ event }) {
206
- const result = JSON.parse(event.content);
207
- const toolMessage = {
208
- id: generateId(),
209
- role: "tool",
210
- content: event.content,
211
- timestamp: Date.now(),
212
- status: "complete",
213
- toolCallId: event.toolCallId
214
- };
215
- this._emitToolResult(
216
- {
217
- toolCallId: event.toolCallId,
218
- result,
219
- message: toolMessage
220
- },
221
- event
222
- );
223
- }
224
- #handleRunFinished() {
225
- this.#clearRunState();
226
- this._emitRunFinished();
227
- }
228
- #handleRunError({ event }) {
229
- if (event.rawEvent?.name === "AbortError") {
230
- this.#clearRunState();
231
- this._emitRunAborted();
232
- return;
233
- }
234
- this._emitError(event.message || "Unknown error");
235
- this._updateState({ isRunning: false });
236
- }
237
- #handleRunFailed() {
238
- this.#clearRunState();
239
- this._emitError("An unexpected error occurred. Please try again.");
240
- }
241
- #handleCustomEvent({ event }) {
242
- this._emitCustomEvent(event.name, event.value, event);
243
- }
244
- #handleRawEvent({ event }) {
245
- this._emitRawEvent(event.event, event);
246
- }
247
- #handleRunStartedEvent({ event }) {
248
- this._emitRunStartedEvent(event.threadId, event.runId, event);
249
- }
250
- #handleStepStartedEvent({ event }) {
251
- this._emitStepStarted(event.stepName, event);
252
- }
253
- #handleStepFinishedEvent({ event }) {
254
- this._emitStepFinished(event.stepName, event);
255
- }
256
- #handleStateSnapshotEvent({ event }) {
257
- this._emitStateSnapshot(event.snapshot, event);
258
- }
259
- #handleStateDeltaEvent({ event }) {
260
- this._emitStateDelta(event.delta, event);
261
- }
262
- #handleActivitySnapshotEvent({
263
- event,
264
- activityMessage,
265
- existingMessage
266
- }) {
267
- this._emitActivitySnapshot(event.content, activityMessage, existingMessage, event);
268
- }
269
- #handleActivityDeltaEvent({
270
- event,
271
- activityMessage
272
- }) {
273
- this._emitActivityDelta(event.patch, activityMessage, event);
274
- }
275
- #processTextDelta(messageId, buffer) {
276
- const previousBuffer = this.#textBuffers.get(messageId) ?? "";
277
- const delta = buffer.slice(previousBuffer.length);
278
- if (delta.length) {
279
- this._emitMessageDelta(messageId, delta);
280
- }
281
- this.#textBuffers.set(messageId, buffer);
282
- }
283
- #getToolCallOrWarn(toolCallId) {
284
- const toolCall = this.#toolCalls.get(toolCallId);
285
- if (!toolCall) {
286
- console.warn(`Tool call ${toolCallId} not found in state`);
287
- }
288
- return toolCall ?? null;
289
- }
290
- #findToolDefinition(name) {
291
- return this._tools?.find((t) => t.name === name);
292
- }
293
- #clearRunState() {
294
- this.#toolCalls.clear();
295
- this.#textBuffers.clear();
296
- this._updateState({ isRunning: false });
297
- }
298
- #transformTools(tools) {
299
- if (!tools || tools.length === 0) {
300
- return void 0;
301
- }
302
- return tools.map((tool) => {
303
- const agUiTool = {
304
- name: tool.name,
305
- description: tool.description ?? "",
306
- parameters: tool.parameters
307
- };
308
- return agUiTool;
309
- });
310
- }
311
- #transformContext(context) {
312
- return Object.entries(context).map(([key, value]) => ({
313
- description: `Client context: ${key}`,
314
- value: typeof value === "string" ? value : JSON.stringify(value)
315
- }));
316
- }
317
- #transformMessages(messages) {
318
- return messages.filter((msg) => msg.role === "user" || msg.role === "assistant" || msg.role === "system" || msg.role === "tool").filter((msg) => !msg.clientOnly).filter((msg) => {
319
- if (msg.role === "assistant") {
320
- const content = typeof msg.content === "string" ? msg.content : "";
321
- return content.trim().length > 0 || msg.toolCalls && msg.toolCalls.length > 0;
322
- }
323
- return true;
324
- }).map((msg) => {
325
- switch (msg.role) {
326
- case "user": {
327
- const userMsg = {
328
- id: msg.id,
329
- role: "user",
330
- content: msg.content
331
- };
332
- return userMsg;
333
- }
334
- case "assistant": {
335
- const assistantMsg = {
336
- id: msg.id,
337
- role: "assistant",
338
- content: msg.content || ""
339
- };
340
- if (msg.toolCalls && msg.toolCalls.length) {
341
- assistantMsg.toolCalls = msg.toolCalls.map((tc) => ({
342
- id: tc.id,
343
- type: "function",
344
- function: {
345
- name: tc.name,
346
- arguments: JSON.stringify(tc.args)
347
- }
348
- }));
349
- }
350
- return assistantMsg;
351
- }
352
- case "system": {
353
- const systemMsg = {
354
- id: msg.id,
355
- role: "system",
356
- content: msg.content
357
- };
358
- return systemMsg;
359
- }
360
- case "tool": {
361
- const toolMsg = {
362
- id: msg.id,
363
- role: "tool",
364
- toolCallId: msg.toolCallId || "",
365
- content: msg.content
366
- };
367
- return toolMsg;
368
- }
369
- }
370
- });
371
- }
372
- #validateToolArgs(toolName, args, toolDef) {
373
- const { parameters } = toolDef;
374
- if (!parameters || parameters.type !== "object") {
375
- return null;
376
- }
377
- const required = parameters.required || [];
378
- for (const field of required) {
379
- if (!(field in args)) {
380
- return `Tool ${toolName} missing required parameter: ${field}`;
381
- }
382
- }
383
- return null;
384
- }
385
- }
386
- export {
387
- AgUiAdapter
388
- };
@@ -1,310 +0,0 @@
1
- import { ChatMessage, FileUploadCallbacks, McpAppUiResource, McpToolResult, ToolDefinition } from './types.js';
2
- import { EventEmitter, Subscription } from './event-emitter.js';
3
- export interface MessageStartEvent {
4
- messageId: string;
5
- rawEvent?: unknown;
6
- }
7
- export interface MessageDeltaEvent {
8
- messageId: string;
9
- delta: string;
10
- rawEvent?: unknown;
11
- }
12
- export interface MessageEndEvent {
13
- messageId: string;
14
- rawEvent?: unknown;
15
- }
16
- export interface ToolCallEvent {
17
- id: string;
18
- messageId: string;
19
- name: string;
20
- args: Record<string, unknown>;
21
- rawEvent?: unknown;
22
- }
23
- export interface ToolCallStartEvent {
24
- id: string;
25
- messageId: string;
26
- name: string;
27
- rawEvent?: unknown;
28
- }
29
- export interface ToolCallArgsEvent {
30
- id: string;
31
- messageId: string;
32
- name: string;
33
- /** Args text accumulated so far across this tool call's delta events. */
34
- argsBuffer: string;
35
- partialArgs?: Record<string, unknown>;
36
- rawEvent?: unknown;
37
- }
38
- export interface ToolCallEndEvent {
39
- id: string;
40
- messageId: string;
41
- name: string;
42
- args: Record<string, unknown>;
43
- rawEvent?: unknown;
44
- }
45
- export interface ToolResultEvent {
46
- toolCallId: string;
47
- /** Model-facing result. Never delivered to an MCP-app View. */
48
- result: unknown;
49
- message: ChatMessage;
50
- /** Companion structured payload delivered to an MCP-app widget, stripped from LLM context. */
51
- structuredContent?: unknown;
52
- /** `true` when the backend dropped `structuredContent` (size caps). */
53
- structuredContentOmitted?: boolean;
54
- /** Raw MCP result for an MCP-app tool call; the View's `tool-result` is built from it. */
55
- mcpResult?: McpToolResult;
56
- /** `true` when the backend dropped `mcpResult` (size caps). */
57
- mcpResultOmitted?: boolean;
58
- isError?: boolean;
59
- /** `true` when the tool call was cancelled rather than failed; takes precedence over `isError`. */
60
- cancelled?: boolean;
61
- rawEvent?: unknown;
62
- }
63
- /**
64
- * Emitted when the backend signals that a tool call is backed by an MCP-app UI
65
- * resource. Carries only the widget binding — the HTML and the `csp`/`permissions`
66
- * policy come from {@link AgentAdapter.resolveMcpAppResource}. The core controller
67
- * resolves the resource and stamps a {@link McpAppUiResource} onto the tool call.
68
- *
69
- * May be emitted before or after the matching `tool-call` chunk, and also after
70
- * `setMessages`/`setThreadState` to remount widgets restored from history.
71
- */
72
- export interface McpUiResourceEvent {
73
- toolCallId: string;
74
- toolName?: string;
75
- /** The concrete resolved `ui://` URI (interpolation done server-side). */
76
- resourceUri: string;
77
- serverId?: string;
78
- mimeType?: string;
79
- rawEvent?: unknown;
80
- }
81
- /** Parameters for {@link AgentAdapter.resolveMcpAppResource}. */
82
- export interface McpAppResourceResolveParams {
83
- /** The concrete resolved `ui://` URI from the `mcp-ui-resource` event. */
84
- resourceUri: string;
85
- /** The widget's tool call id; template reads are bound to it. */
86
- toolCallId: string;
87
- }
88
- /**
89
- * Parameters an MCP-app widget passes when forwarding a `tools/call` to the server.
90
- * The library never owns a `Client`; these delegate to the adapter.
91
- */
92
- export interface McpToolCallParams {
93
- name: string;
94
- arguments?: Record<string, unknown>;
95
- /** The calling widget's tool call id; the backend derives the MCP server from it. */
96
- toolCallId: string;
97
- }
98
- /** Parameters for an MCP-app widget-initiated `resources/read`. */
99
- export interface McpResourceReadParams {
100
- uri: string;
101
- /** The calling widget's tool call id. */
102
- toolCallId: string;
103
- }
104
- /** Payload of a widget's `ui/update-model-context`, forwarded to the adapter. */
105
- export interface McpModelContextUpdateParams {
106
- /** The widget's tool call id. */
107
- toolCallId: string;
108
- content?: unknown[];
109
- structuredContent?: unknown;
110
- }
111
- export interface AdapterState {
112
- isConnected: boolean;
113
- isConnecting: boolean;
114
- isRunning: boolean;
115
- }
116
- export interface FileUploadEvent extends FileUploadCallbacks {
117
- file: File;
118
- }
119
- export interface FileRemoveEvent {
120
- fileId: string;
121
- onSuccess: () => void;
122
- onError: (error: string) => void;
123
- }
124
- export interface ErrorEvent {
125
- message: string;
126
- }
127
- export interface CustomAgentEvent {
128
- name: string;
129
- value: unknown;
130
- rawEvent?: unknown;
131
- }
132
- export interface RawAgentEvent {
133
- event: unknown;
134
- rawEvent?: unknown;
135
- }
136
- export interface RunStartedAgentEvent {
137
- threadId: string;
138
- runId: string;
139
- rawEvent?: unknown;
140
- }
141
- export interface StepStartedAgentEvent {
142
- stepName: string;
143
- rawEvent?: unknown;
144
- }
145
- export interface StepFinishedAgentEvent {
146
- stepName: string;
147
- rawEvent?: unknown;
148
- }
149
- export interface StateSnapshotAgentEvent {
150
- state: unknown;
151
- rawEvent?: unknown;
152
- }
153
- export interface StateDeltaAgentEvent {
154
- delta: unknown[];
155
- rawEvent?: unknown;
156
- }
157
- export interface ActivitySnapshotAgentEvent {
158
- activity: unknown;
159
- activityMessage?: unknown;
160
- existingMessage?: unknown;
161
- rawEvent?: unknown;
162
- }
163
- export interface ActivityDeltaAgentEvent {
164
- delta: unknown;
165
- activityMessage?: unknown;
166
- rawEvent?: unknown;
167
- }
168
- export declare abstract class AgentAdapter {
169
- protected _state: AdapterState;
170
- protected _tools: ToolDefinition[];
171
- protected _events: {
172
- runStarted: EventEmitter<void>;
173
- runFinished: EventEmitter<void>;
174
- runAborted: EventEmitter<void>;
175
- messageStart: EventEmitter<MessageStartEvent>;
176
- messageDelta: EventEmitter<MessageDeltaEvent>;
177
- messageEnd: EventEmitter<MessageEndEvent>;
178
- toolCall: EventEmitter<ToolCallEvent>;
179
- toolCallStart: EventEmitter<ToolCallStartEvent>;
180
- toolCallArgs: EventEmitter<ToolCallArgsEvent>;
181
- toolCallEnd: EventEmitter<ToolCallEndEvent>;
182
- toolResult: EventEmitter<ToolResultEvent>;
183
- mcpUiResource: EventEmitter<McpUiResourceEvent>;
184
- fileUpload: EventEmitter<FileUploadEvent>;
185
- fileRemove: EventEmitter<FileRemoveEvent>;
186
- error: EventEmitter<ErrorEvent>;
187
- stateChange: EventEmitter<AdapterState>;
188
- customEvent: EventEmitter<CustomAgentEvent>;
189
- rawEvent: EventEmitter<RawAgentEvent>;
190
- runStartedEvent: EventEmitter<RunStartedAgentEvent>;
191
- stepStarted: EventEmitter<StepStartedAgentEvent>;
192
- stepFinished: EventEmitter<StepFinishedAgentEvent>;
193
- stateSnapshot: EventEmitter<StateSnapshotAgentEvent>;
194
- stateDelta: EventEmitter<StateDeltaAgentEvent>;
195
- activitySnapshot: EventEmitter<ActivitySnapshotAgentEvent>;
196
- activityDelta: EventEmitter<ActivityDeltaAgentEvent>;
197
- };
198
- abstract connect(): Promise<void>;
199
- abstract disconnect(): Promise<void>;
200
- abstract sendMessage(messages: ChatMessage[]): void;
201
- abstract sendToolResult(toolCallId: string, result: unknown, messages: ChatMessage[]): void;
202
- abstract abort(): void;
203
- abstract get threadId(): string;
204
- abstract set threadId(value: string);
205
- clearMemory?(): Promise<void>;
206
- /**
207
- * Resolve the MCP-app UI resource for an already-resolved `resourceUri`, bound to the
208
- * widget's `toolCallId`. The adapter fetches the template for that concrete URI and
209
- * fills `csp`/`permissions` from the template response's `_meta.ui` (`{}` when absent).
210
- * It MUST NOT re-derive the URI (templated-URI interpolation is server-side only).
211
- */
212
- resolveMcpAppResource?(params: McpAppResourceResolveParams): Promise<McpAppUiResource | undefined>;
213
- /**
214
- * Forward a widget-initiated `tools/call` to the MCP server. Resolve with the View's
215
- * `CallToolResult` (tool-level errors resolve with `isError: true`); reject for
216
- * transport/HTTP errors (e.g. a 403 for a tool without `"app"` visibility) — the
217
- * rejection is returned to the View as a JSON-RPC error.
218
- */
219
- callMcpTool?(params: McpToolCallParams): Promise<unknown>;
220
- /**
221
- * Forward a widget-initiated `resources/read` to the MCP server. When not implemented
222
- * the View's request is rejected with a JSON-RPC error.
223
- */
224
- readMcpResource?(params: McpResourceReadParams): Promise<unknown>;
225
- /**
226
- * Called when a widget sends `ui/update-model-context`. Each call replaces the previous
227
- * context for that `toolCallId`; adapters should debounce and may hold the latest value
228
- * until the run ends.
229
- */
230
- updateMcpModelContext?(params: McpModelContextUpdateParams): Promise<void>;
231
- /**
232
- * Called after a widget is torn down (its turn left the visible thread, or the thread was
233
- * cleared/replaced). Drop any state held for that `toolCallId`, e.g. a pending model context.
234
- */
235
- disposeMcpAppView?(params: {
236
- toolCallId: string;
237
- }): void;
238
- setTools(tools: ToolDefinition[]): void;
239
- getTools(): ToolDefinition[];
240
- /**
241
- * Tools to forward to the backend agent, excluding MCP-app tools (`ToolDefinition.mcpApp`).
242
- * MCP-app tools are a host-internal mechanism for streaming a UI resource into an existing
243
- * tool call — the model never calls them directly, so they must never reach the agent.
244
- */
245
- getModelFacingTools(): ToolDefinition[];
246
- getState(): AdapterState;
247
- get isConnected(): boolean;
248
- get isConnecting(): boolean;
249
- get isRunning(): boolean;
250
- onRunStarted(callback: () => void): Subscription;
251
- onRunFinished(callback: () => void): Subscription;
252
- onRunAborted(callback: () => void): Subscription;
253
- onMessageStart(callback: (event: MessageStartEvent) => void): Subscription;
254
- onMessageDelta(callback: (event: MessageDeltaEvent) => void): Subscription;
255
- onMessageEnd(callback: (event: MessageEndEvent) => void): Subscription;
256
- onToolCall(callback: (event: ToolCallEvent) => void): Subscription;
257
- onToolCallStart(callback: (event: ToolCallStartEvent) => void): Subscription;
258
- onToolCallArgs(callback: (event: ToolCallArgsEvent) => void): Subscription;
259
- onToolCallEnd(callback: (event: ToolCallEndEvent) => void): Subscription;
260
- onToolCallResult(callback: (event: ToolResultEvent) => void): Subscription;
261
- onMcpUiResource(callback: (event: McpUiResourceEvent) => void): Subscription;
262
- onFileUpload(callback: (event: FileUploadEvent) => void): Subscription;
263
- onFileRemove(callback: (event: FileRemoveEvent) => void): Subscription;
264
- onError(callback: (event: ErrorEvent) => void): Subscription;
265
- onStateChange(callback: (state: AdapterState) => void): Subscription;
266
- onCustomEvent(callback: (event: CustomAgentEvent) => void): Subscription;
267
- onRawEvent(callback: (event: RawAgentEvent) => void): Subscription;
268
- onRunStartedEvent(callback: (event: RunStartedAgentEvent) => void): Subscription;
269
- onStepStarted(callback: (event: StepStartedAgentEvent) => void): Subscription;
270
- onStepFinished(callback: (event: StepFinishedAgentEvent) => void): Subscription;
271
- onStateSnapshot(callback: (event: StateSnapshotAgentEvent) => void): Subscription;
272
- onStateDelta(callback: (event: StateDeltaAgentEvent) => void): Subscription;
273
- onActivitySnapshot(callback: (event: ActivitySnapshotAgentEvent) => void): Subscription;
274
- onActivityDelta(callback: (event: ActivityDeltaAgentEvent) => void): Subscription;
275
- protected _emitRunStarted(): void;
276
- protected _emitRunFinished(): void;
277
- protected _emitRunAborted(): void;
278
- protected _emitMessageStart(messageId: string, rawEvent?: unknown): void;
279
- protected _emitMessageDelta(messageId: string, delta: string, rawEvent?: unknown): void;
280
- protected _emitMessageEnd(messageId: string, rawEvent?: unknown): void;
281
- protected _emitToolCall(event: ToolCallEvent, rawEvent?: unknown): void;
282
- protected _emitToolCallStart(event: ToolCallStartEvent, rawEvent?: unknown): void;
283
- protected _emitToolCallArgs(event: ToolCallArgsEvent, rawEvent?: unknown): void;
284
- protected _emitToolCallEnd(event: ToolCallEndEvent, rawEvent?: unknown): void;
285
- protected _emitToolResult(event: ToolResultEvent, rawEvent?: unknown): void;
286
- /**
287
- * Announce that a tool call renders as an MCP-app widget. Also the way to remount
288
- * widgets restored from history: call it per widget after `setMessages`/`setThreadState`
289
- * — the resource is resolved and stamped onto the restored (already finalized) tool
290
- * call. If the tool call isn't in state yet, the resource is held and applied when it
291
- * arrives.
292
- */
293
- protected _emitMcpUiResource(event: McpUiResourceEvent, rawEvent?: unknown): void;
294
- emitFileUpload(file: File, callbacks: FileUploadCallbacks): void;
295
- emitFileRemove(fileId: string, callbacks: {
296
- onSuccess: () => void;
297
- onError: (error: string) => void;
298
- }): void;
299
- protected _emitError(message: string): void;
300
- protected _emitCustomEvent(name: string, value: unknown, rawEvent?: unknown): void;
301
- protected _emitRawEvent(event: unknown, rawEvent?: unknown): void;
302
- protected _emitRunStartedEvent(threadId: string, runId: string, rawEvent?: unknown): void;
303
- protected _emitStepStarted(stepName: string, rawEvent?: unknown): void;
304
- protected _emitStepFinished(stepName: string, rawEvent?: unknown): void;
305
- protected _emitStateSnapshot(state: unknown, rawEvent?: unknown): void;
306
- protected _emitStateDelta(delta: unknown[], rawEvent?: unknown): void;
307
- protected _emitActivitySnapshot(activity: unknown, activityMessage?: unknown, existingMessage?: unknown, rawEvent?: unknown): void;
308
- protected _emitActivityDelta(delta: unknown, activityMessage?: unknown, rawEvent?: unknown): void;
309
- protected _updateState(updates: Partial<AdapterState>): void;
310
- }