@vertesia/ui 1.0.0-dev.20260128.144200 → 1.0.0-dev.20260225.024852Z

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 (500) hide show
  1. package/lib/esm/core/components/InputList.js +1 -1
  2. package/lib/esm/core/components/InputList.js.map +1 -1
  3. package/lib/esm/core/components/Overlay.js +1 -1
  4. package/lib/esm/core/components/Overlay.js.map +1 -1
  5. package/lib/esm/core/components/SidePanel.js +8 -2
  6. package/lib/esm/core/components/SidePanel.js.map +1 -1
  7. package/lib/esm/core/components/Switch.js +1 -1
  8. package/lib/esm/core/components/Switch.js.map +1 -1
  9. package/lib/esm/core/components/index.js +0 -8
  10. package/lib/esm/core/components/index.js.map +1 -1
  11. package/lib/esm/core/components/shadcn/MessageBox.js.map +1 -0
  12. package/lib/esm/core/components/shadcn/Panel.js +13 -0
  13. package/lib/esm/core/components/shadcn/Panel.js.map +1 -0
  14. package/lib/esm/core/components/{Badge.js → shadcn/badge.js} +2 -2
  15. package/lib/esm/core/components/shadcn/badge.js.map +1 -0
  16. package/lib/esm/core/components/shadcn/command.js +1 -1
  17. package/lib/esm/core/components/shadcn/command.js.map +1 -1
  18. package/lib/esm/core/components/shadcn/filters/filterBar.js +73 -83
  19. package/lib/esm/core/components/shadcn/filters/filterBar.js.map +1 -1
  20. package/lib/esm/core/components/shadcn/index.js +4 -2
  21. package/lib/esm/core/components/shadcn/index.js.map +1 -1
  22. package/lib/esm/core/components/shadcn/modal/ConfirmModal.js +10 -0
  23. package/lib/esm/core/components/shadcn/modal/ConfirmModal.js.map +1 -0
  24. package/lib/esm/core/components/{DeleteModal.js → shadcn/modal/DeleteModal.js} +1 -1
  25. package/lib/esm/core/components/shadcn/modal/DeleteModal.js.map +1 -0
  26. package/lib/esm/core/components/shadcn/{dialog.js → modal/dialog.js} +19 -15
  27. package/lib/esm/core/components/shadcn/modal/dialog.js.map +1 -0
  28. package/lib/esm/core/components/shadcn/modal/index.js +4 -0
  29. package/lib/esm/core/components/shadcn/modal/index.js.map +1 -0
  30. package/lib/esm/core/components/shadcn/popover.js +4 -2
  31. package/lib/esm/core/components/shadcn/popover.js.map +1 -1
  32. package/lib/esm/core/components/shadcn/selectBox.js +19 -15
  33. package/lib/esm/core/components/shadcn/selectBox.js.map +1 -1
  34. package/lib/esm/core/components/shadcn/tabs.js +16 -14
  35. package/lib/esm/core/components/shadcn/tabs.js.map +1 -1
  36. package/lib/esm/core/components/shadcn/textarea.js +30 -2
  37. package/lib/esm/core/components/shadcn/textarea.js.map +1 -1
  38. package/lib/esm/core/components/shadcn/tooltip.js +5 -1
  39. package/lib/esm/core/components/shadcn/tooltip.js.map +1 -1
  40. package/lib/esm/features/agent/PayloadBuilder.js +45 -0
  41. package/lib/esm/features/agent/PayloadBuilder.js.map +1 -1
  42. package/lib/esm/features/agent/chat/AgentChart.js +12 -232
  43. package/lib/esm/features/agent/chat/AgentChart.js.map +1 -1
  44. package/lib/esm/features/agent/chat/AskUserWidget.js +2 -1
  45. package/lib/esm/features/agent/chat/AskUserWidget.js.map +1 -1
  46. package/lib/esm/features/agent/chat/DocumentPanel.js +46 -0
  47. package/lib/esm/features/agent/chat/DocumentPanel.js.map +1 -0
  48. package/lib/esm/features/agent/chat/DocumentTabBar.js +17 -0
  49. package/lib/esm/features/agent/chat/DocumentTabBar.js.map +1 -0
  50. package/lib/esm/features/agent/chat/ModernAgentConversation.js +159 -402
  51. package/lib/esm/features/agent/chat/ModernAgentConversation.js.map +1 -1
  52. package/lib/esm/features/agent/chat/ModernAgentOutput/AllMessagesMixed.js +99 -57
  53. package/lib/esm/features/agent/chat/ModernAgentOutput/AllMessagesMixed.js.map +1 -1
  54. package/lib/esm/features/agent/chat/ModernAgentOutput/BatchProgressPanel.js +4 -4
  55. package/lib/esm/features/agent/chat/ModernAgentOutput/BatchProgressPanel.js.map +1 -1
  56. package/lib/esm/features/agent/chat/ModernAgentOutput/Header.js +4 -4
  57. package/lib/esm/features/agent/chat/ModernAgentOutput/Header.js.map +1 -1
  58. package/lib/esm/features/agent/chat/ModernAgentOutput/InlineSlidingPlanPanel.js +3 -3
  59. package/lib/esm/features/agent/chat/ModernAgentOutput/InlineSlidingPlanPanel.js.map +1 -1
  60. package/lib/esm/features/agent/chat/ModernAgentOutput/MessageInput.js +25 -22
  61. package/lib/esm/features/agent/chat/ModernAgentOutput/MessageInput.js.map +1 -1
  62. package/lib/esm/features/agent/chat/ModernAgentOutput/MessageItem.js +110 -55
  63. package/lib/esm/features/agent/chat/ModernAgentOutput/MessageItem.js.map +1 -1
  64. package/lib/esm/features/agent/chat/ModernAgentOutput/StreamingMessage.js +2 -2
  65. package/lib/esm/features/agent/chat/ModernAgentOutput/StreamingMessage.js.map +1 -1
  66. package/lib/esm/features/agent/chat/ModernAgentOutput/ToolCallGroup.js +146 -55
  67. package/lib/esm/features/agent/chat/ModernAgentOutput/ToolCallGroup.js.map +1 -1
  68. package/lib/esm/features/agent/chat/ModernAgentOutput/WorkstreamTabs.js +5 -6
  69. package/lib/esm/features/agent/chat/ModernAgentOutput/WorkstreamTabs.js.map +1 -1
  70. package/lib/esm/features/agent/chat/ModernAgentOutput/utils.js +110 -2
  71. package/lib/esm/features/agent/chat/ModernAgentOutput/utils.js.map +1 -1
  72. package/lib/esm/features/agent/chat/SkillWidgetProvider.js +28 -15
  73. package/lib/esm/features/agent/chat/SkillWidgetProvider.js.map +1 -1
  74. package/lib/esm/features/agent/chat/hooks/useAgentPlans.js +146 -0
  75. package/lib/esm/features/agent/chat/hooks/useAgentPlans.js.map +1 -0
  76. package/lib/esm/features/agent/chat/hooks/useAgentStream.js +180 -0
  77. package/lib/esm/features/agent/chat/hooks/useAgentStream.js.map +1 -0
  78. package/lib/esm/features/agent/chat/hooks/useDocumentPanel.js +100 -0
  79. package/lib/esm/features/agent/chat/hooks/useDocumentPanel.js.map +1 -0
  80. package/lib/esm/features/agent/chat/hooks/useFileProcessing.js +90 -0
  81. package/lib/esm/features/agent/chat/hooks/useFileProcessing.js.map +1 -0
  82. package/lib/esm/features/agent/chat/index.js +6 -5
  83. package/lib/esm/features/agent/chat/index.js.map +1 -1
  84. package/lib/esm/features/agent/chat/types/document.js +2 -0
  85. package/lib/esm/features/agent/chat/types/document.js.map +1 -0
  86. package/lib/esm/features/agent/index.js +0 -2
  87. package/lib/esm/features/agent/index.js.map +1 -1
  88. package/lib/esm/features/store/collections/BrowseCollectionView.js +4 -6
  89. package/lib/esm/features/store/collections/BrowseCollectionView.js.map +1 -1
  90. package/lib/esm/features/store/collections/CreateCollection.js +4 -4
  91. package/lib/esm/features/store/collections/CreateCollection.js.map +1 -1
  92. package/lib/esm/features/store/collections/EditCollectionView.js +1 -1
  93. package/lib/esm/features/store/collections/EditCollectionView.js.map +1 -1
  94. package/lib/esm/features/store/objects/DocumentSearchResults.js +5 -5
  95. package/lib/esm/features/store/objects/DocumentSearchResults.js.map +1 -1
  96. package/lib/esm/features/store/objects/ExportPropertiesModal.js +3 -3
  97. package/lib/esm/features/store/objects/ExportPropertiesModal.js.map +1 -1
  98. package/lib/esm/features/store/objects/components/ContentOverview.js +19 -120
  99. package/lib/esm/features/store/objects/components/ContentOverview.js.map +1 -1
  100. package/lib/esm/features/store/objects/components/PropertiesEditorModal.js +1 -1
  101. package/lib/esm/features/store/objects/components/PropertiesEditorModal.js.map +1 -1
  102. package/lib/esm/features/store/objects/components/SelectDocumentModal.js +2 -2
  103. package/lib/esm/features/store/objects/components/SelectDocumentModal.js.map +1 -1
  104. package/lib/esm/features/store/objects/components/VectorSearchWidget.js +1 -1
  105. package/lib/esm/features/store/objects/components/VectorSearchWidget.js.map +1 -1
  106. package/lib/esm/features/store/objects/components/index.js +1 -1
  107. package/lib/esm/features/store/objects/components/index.js.map +1 -1
  108. package/lib/esm/features/store/objects/components/useDownloadFile.js +192 -0
  109. package/lib/esm/features/store/objects/components/useDownloadFile.js.map +1 -0
  110. package/lib/esm/features/store/objects/search/DocumentSearchContext.js +1 -2
  111. package/lib/esm/features/store/objects/search/DocumentSearchContext.js.map +1 -1
  112. package/lib/esm/features/store/objects/selection/SelectionActions.js +5 -8
  113. package/lib/esm/features/store/objects/selection/SelectionActions.js.map +1 -1
  114. package/lib/esm/features/store/objects/selection/actions/AddToCollectionAction.js +4 -4
  115. package/lib/esm/features/store/objects/selection/actions/AddToCollectionAction.js.map +1 -1
  116. package/lib/esm/features/store/objects/selection/actions/ChangeTypeAction.js +2 -2
  117. package/lib/esm/features/store/objects/selection/actions/ChangeTypeAction.js.map +1 -1
  118. package/lib/esm/features/store/objects/selection/actions/ExportPropertiesAction.js +1 -1
  119. package/lib/esm/features/store/objects/selection/actions/ExportPropertiesAction.js.map +1 -1
  120. package/lib/esm/features/store/objects/selection/actions/StartWorkflowComponent.js +3 -3
  121. package/lib/esm/features/store/objects/selection/actions/StartWorkflowComponent.js.map +1 -1
  122. package/lib/esm/features/store/objects/upload/DocumentUploadModal.js +13 -13
  123. package/lib/esm/features/store/objects/upload/DocumentUploadModal.js.map +1 -1
  124. package/lib/esm/features/store/objects/upload/useSmartFileUploadProcessing.js +15 -8
  125. package/lib/esm/features/store/objects/upload/useSmartFileUploadProcessing.js.map +1 -1
  126. package/lib/esm/features/store/types/ObjectSchemaEditor.js +6 -5
  127. package/lib/esm/features/store/types/ObjectSchemaEditor.js.map +1 -1
  128. package/lib/esm/features/store/types/SelectContentType.js +3 -3
  129. package/lib/esm/features/store/types/SelectContentType.js.map +1 -1
  130. package/lib/esm/features/store/types/SelectContentTypeModal.js +5 -4
  131. package/lib/esm/features/store/types/SelectContentTypeModal.js.map +1 -1
  132. package/lib/esm/features/store/types/TableLayoutEditor.js +4 -4
  133. package/lib/esm/features/store/types/TableLayoutEditor.js.map +1 -1
  134. package/lib/esm/features/user/UserInfo.js +73 -9
  135. package/lib/esm/features/user/UserInfo.js.map +1 -1
  136. package/lib/esm/features/utils/print.js +0 -1
  137. package/lib/esm/features/utils/print.js.map +1 -1
  138. package/lib/esm/layout/AppLayout.js +3 -4
  139. package/lib/esm/layout/AppLayout.js.map +1 -1
  140. package/lib/esm/layout/Sidebar.js +5 -5
  141. package/lib/esm/layout/Sidebar.js.map +1 -1
  142. package/lib/esm/router/HistoryNavigator.js +7 -1
  143. package/lib/esm/router/HistoryNavigator.js.map +1 -1
  144. package/lib/esm/router/Nav.js +2 -2
  145. package/lib/esm/router/Nav.js.map +1 -1
  146. package/lib/esm/session/UserSession.js +35 -9
  147. package/lib/esm/session/UserSession.js.map +1 -1
  148. package/lib/esm/session/UserSessionProvider.js +3 -2
  149. package/lib/esm/session/UserSessionProvider.js.map +1 -1
  150. package/lib/esm/shell/apps/AppProjectSelector.js +2 -2
  151. package/lib/esm/shell/apps/AppProjectSelector.js.map +1 -1
  152. package/lib/esm/shell/apps/StandaloneApp.js +2 -2
  153. package/lib/esm/shell/apps/StandaloneApp.js.map +1 -1
  154. package/lib/esm/shell/login/InviteAcceptModal.js +2 -2
  155. package/lib/esm/shell/login/InviteAcceptModal.js.map +1 -1
  156. package/lib/esm/shell/login/SignInModal.js +1 -1
  157. package/lib/esm/shell/login/SignInModal.js.map +1 -1
  158. package/lib/esm/shell/login/SignupForm.js +2 -2
  159. package/lib/esm/shell/login/SignupForm.js.map +1 -1
  160. package/lib/esm/shell/login/UserInfo.js +2 -2
  161. package/lib/esm/shell/login/UserInfo.js.map +1 -1
  162. package/lib/esm/widgets/json-view/JSONCode.js +1 -1
  163. package/lib/esm/widgets/json-view/JSONCode.js.map +1 -1
  164. package/lib/esm/widgets/json-view/JSONDisplay.js +1 -1
  165. package/lib/esm/widgets/json-view/JSONDisplay.js.map +1 -1
  166. package/lib/esm/widgets/markdown/ArtifactContentRenderer.js +84 -13
  167. package/lib/esm/widgets/markdown/ArtifactContentRenderer.js.map +1 -1
  168. package/lib/esm/widgets/markdown/MarkdownFigure.js +40 -0
  169. package/lib/esm/widgets/markdown/MarkdownFigure.js.map +1 -0
  170. package/lib/esm/widgets/markdown/MarkdownRenderer.js +42 -7
  171. package/lib/esm/widgets/markdown/MarkdownRenderer.js.map +1 -1
  172. package/lib/esm/widgets/markdown/MermaidDiagram.js +80 -5
  173. package/lib/esm/widgets/markdown/MermaidDiagram.js.map +1 -1
  174. package/lib/esm/widgets/markdown/codeBlockHandlers.js +33 -33
  175. package/lib/esm/widgets/markdown/codeBlockHandlers.js.map +1 -1
  176. package/lib/esm/widgets/markdown/codeBlockHandlers.test.js +2 -29
  177. package/lib/esm/widgets/markdown/codeBlockHandlers.test.js.map +1 -1
  178. package/lib/esm/widgets/markdown/index.js +1 -0
  179. package/lib/esm/widgets/markdown/index.js.map +1 -1
  180. package/lib/esm/widgets/markdown/normalizeCustomSchemeLinks.js +77 -0
  181. package/lib/esm/widgets/markdown/normalizeCustomSchemeLinks.js.map +1 -0
  182. package/lib/esm/widgets/markdown/normalizeDirectives.js +45 -0
  183. package/lib/esm/widgets/markdown/normalizeDirectives.js.map +1 -0
  184. package/lib/esm/widgets/markdown/remarkDirectiveHandler.js +96 -0
  185. package/lib/esm/widgets/markdown/remarkDirectiveHandler.js.map +1 -0
  186. package/lib/esm/widgets/monacoEditor/MonacoEditor.js +8 -14
  187. package/lib/esm/widgets/monacoEditor/MonacoEditor.js.map +1 -1
  188. package/lib/esm/widgets/schema-editor/ManagedSchema.js.map +1 -1
  189. package/lib/esm/widgets/schema-editor/editor/PropertyEditor.js +3 -3
  190. package/lib/esm/widgets/schema-editor/editor/PropertyEditor.js.map +1 -1
  191. package/lib/esm/widgets/schema-editor/json-schema4-utils.js.map +1 -1
  192. package/lib/tsconfig.tsbuildinfo +1 -1
  193. package/lib/types/core/components/SidePanel.d.ts +4 -1
  194. package/lib/types/core/components/SidePanel.d.ts.map +1 -1
  195. package/lib/types/core/components/index.d.ts +0 -8
  196. package/lib/types/core/components/index.d.ts.map +1 -1
  197. package/lib/types/core/components/shadcn/MessageBox.d.ts.map +1 -0
  198. package/lib/types/core/components/{Panel.d.ts → shadcn/Panel.d.ts} +3 -1
  199. package/lib/types/core/components/shadcn/Panel.d.ts.map +1 -0
  200. package/lib/types/core/components/{Badge.d.ts → shadcn/badge.d.ts} +4 -4
  201. package/lib/types/core/components/shadcn/badge.d.ts.map +1 -0
  202. package/lib/types/core/components/shadcn/button.d.ts +1 -1
  203. package/lib/types/core/components/shadcn/filters/filterBar.d.ts.map +1 -1
  204. package/lib/types/core/components/shadcn/index.d.ts +4 -2
  205. package/lib/types/core/components/shadcn/index.d.ts.map +1 -1
  206. package/lib/types/core/components/shadcn/input.d.ts +1 -1
  207. package/lib/types/core/components/shadcn/modal/ConfirmModal.d.ts.map +1 -0
  208. package/lib/types/core/components/shadcn/modal/DeleteModal.d.ts.map +1 -0
  209. package/lib/types/core/components/shadcn/{dialog.d.ts → modal/dialog.d.ts} +7 -4
  210. package/lib/types/core/components/shadcn/modal/dialog.d.ts.map +1 -0
  211. package/lib/types/core/components/shadcn/modal/index.d.ts +4 -0
  212. package/lib/types/core/components/shadcn/modal/index.d.ts.map +1 -0
  213. package/lib/types/core/components/shadcn/popover.d.ts.map +1 -1
  214. package/lib/types/core/components/shadcn/selectBox.d.ts +9 -5
  215. package/lib/types/core/components/shadcn/selectBox.d.ts.map +1 -1
  216. package/lib/types/core/components/shadcn/tabs.d.ts +14 -5
  217. package/lib/types/core/components/shadcn/tabs.d.ts.map +1 -1
  218. package/lib/types/core/components/shadcn/textarea.d.ts +6 -2
  219. package/lib/types/core/components/shadcn/textarea.d.ts.map +1 -1
  220. package/lib/types/core/components/shadcn/tooltip.d.ts.map +1 -1
  221. package/lib/types/features/agent/PayloadBuilder.d.ts +22 -4
  222. package/lib/types/features/agent/PayloadBuilder.d.ts.map +1 -1
  223. package/lib/types/features/agent/chat/AgentChart.d.ts +3 -44
  224. package/lib/types/features/agent/chat/AgentChart.d.ts.map +1 -1
  225. package/lib/types/features/agent/chat/AskUserWidget.d.ts.map +1 -1
  226. package/lib/types/features/agent/chat/DocumentPanel.d.ts +16 -0
  227. package/lib/types/features/agent/chat/DocumentPanel.d.ts.map +1 -0
  228. package/lib/types/features/agent/chat/DocumentTabBar.d.ts +10 -0
  229. package/lib/types/features/agent/chat/DocumentTabBar.d.ts.map +1 -0
  230. package/lib/types/features/agent/chat/ModernAgentConversation.d.ts +69 -1
  231. package/lib/types/features/agent/chat/ModernAgentConversation.d.ts.map +1 -1
  232. package/lib/types/features/agent/chat/ModernAgentOutput/AllMessagesMixed.d.ts +36 -1
  233. package/lib/types/features/agent/chat/ModernAgentOutput/AllMessagesMixed.d.ts.map +1 -1
  234. package/lib/types/features/agent/chat/ModernAgentOutput/BatchProgressPanel.d.ts +18 -2
  235. package/lib/types/features/agent/chat/ModernAgentOutput/BatchProgressPanel.d.ts.map +1 -1
  236. package/lib/types/features/agent/chat/ModernAgentOutput/Header.d.ts +4 -7
  237. package/lib/types/features/agent/chat/ModernAgentOutput/Header.d.ts.map +1 -1
  238. package/lib/types/features/agent/chat/ModernAgentOutput/MessageInput.d.ts +2 -1
  239. package/lib/types/features/agent/chat/ModernAgentOutput/MessageInput.d.ts.map +1 -1
  240. package/lib/types/features/agent/chat/ModernAgentOutput/MessageItem.d.ts +35 -7
  241. package/lib/types/features/agent/chat/ModernAgentOutput/MessageItem.d.ts.map +1 -1
  242. package/lib/types/features/agent/chat/ModernAgentOutput/StreamingMessage.d.ts +11 -1
  243. package/lib/types/features/agent/chat/ModernAgentOutput/StreamingMessage.d.ts.map +1 -1
  244. package/lib/types/features/agent/chat/ModernAgentOutput/ToolCallGroup.d.ts +20 -2
  245. package/lib/types/features/agent/chat/ModernAgentOutput/ToolCallGroup.d.ts.map +1 -1
  246. package/lib/types/features/agent/chat/ModernAgentOutput/WorkstreamTabs.d.ts.map +1 -1
  247. package/lib/types/features/agent/chat/ModernAgentOutput/utils.d.ts +18 -1
  248. package/lib/types/features/agent/chat/ModernAgentOutput/utils.d.ts.map +1 -1
  249. package/lib/types/features/agent/chat/SkillWidgetProvider.d.ts.map +1 -1
  250. package/lib/types/features/agent/chat/hooks/useAgentPlans.d.ts +22 -0
  251. package/lib/types/features/agent/chat/hooks/useAgentPlans.d.ts.map +1 -0
  252. package/lib/types/features/agent/chat/hooks/useAgentStream.d.ts +42 -0
  253. package/lib/types/features/agent/chat/hooks/useAgentStream.d.ts.map +1 -0
  254. package/lib/types/features/agent/chat/hooks/useDocumentPanel.d.ts +22 -0
  255. package/lib/types/features/agent/chat/hooks/useDocumentPanel.d.ts.map +1 -0
  256. package/lib/types/features/agent/chat/hooks/useFileProcessing.d.ts +27 -0
  257. package/lib/types/features/agent/chat/hooks/useFileProcessing.d.ts.map +1 -0
  258. package/lib/types/features/agent/chat/index.d.ts +12 -8
  259. package/lib/types/features/agent/chat/index.d.ts.map +1 -1
  260. package/lib/types/features/agent/chat/types/document.d.ts +5 -0
  261. package/lib/types/features/agent/chat/types/document.d.ts.map +1 -0
  262. package/lib/types/features/agent/index.d.ts +0 -2
  263. package/lib/types/features/agent/index.d.ts.map +1 -1
  264. package/lib/types/features/store/collections/BrowseCollectionView.d.ts.map +1 -1
  265. package/lib/types/features/store/objects/ExportPropertiesModal.d.ts.map +1 -1
  266. package/lib/types/features/store/objects/components/ContentOverview.d.ts.map +1 -1
  267. package/lib/types/features/store/objects/components/PropertiesEditorModal.d.ts.map +1 -1
  268. package/lib/types/features/store/objects/components/index.d.ts +1 -1
  269. package/lib/types/features/store/objects/components/index.d.ts.map +1 -1
  270. package/lib/types/features/store/objects/components/useDownloadFile.d.ts +35 -0
  271. package/lib/types/features/store/objects/components/useDownloadFile.d.ts.map +1 -0
  272. package/lib/types/features/store/objects/search/DocumentSearchContext.d.ts.map +1 -1
  273. package/lib/types/features/store/objects/selection/SelectionActions.d.ts +1 -1
  274. package/lib/types/features/store/objects/selection/SelectionActions.d.ts.map +1 -1
  275. package/lib/types/features/store/objects/selection/actions/ChangeTypeAction.d.ts.map +1 -1
  276. package/lib/types/features/store/objects/selection/actions/ExportPropertiesAction.d.ts.map +1 -1
  277. package/lib/types/features/store/objects/upload/useSmartFileUploadProcessing.d.ts.map +1 -1
  278. package/lib/types/features/store/types/ObjectSchemaEditor.d.ts +2 -1
  279. package/lib/types/features/store/types/ObjectSchemaEditor.d.ts.map +1 -1
  280. package/lib/types/features/store/types/SelectContentTypeModal.d.ts +1 -1
  281. package/lib/types/features/store/types/SelectContentTypeModal.d.ts.map +1 -1
  282. package/lib/types/features/store/types/TableLayoutEditor.d.ts +2 -1
  283. package/lib/types/features/store/types/TableLayoutEditor.d.ts.map +1 -1
  284. package/lib/types/features/user/UserInfo.d.ts +12 -1
  285. package/lib/types/features/user/UserInfo.d.ts.map +1 -1
  286. package/lib/types/features/utils/print.d.ts.map +1 -1
  287. package/lib/types/layout/AppLayout.d.ts.map +1 -1
  288. package/lib/types/layout/Sidebar.d.ts +4 -2
  289. package/lib/types/layout/Sidebar.d.ts.map +1 -1
  290. package/lib/types/router/HistoryNavigator.d.ts.map +1 -1
  291. package/lib/types/router/Nav.d.ts +6 -1
  292. package/lib/types/router/Nav.d.ts.map +1 -1
  293. package/lib/types/session/UserSession.d.ts.map +1 -1
  294. package/lib/types/session/UserSessionProvider.d.ts +1 -0
  295. package/lib/types/session/UserSessionProvider.d.ts.map +1 -1
  296. package/lib/types/widgets/json-view/JSONCode.d.ts.map +1 -1
  297. package/lib/types/widgets/markdown/ArtifactContentRenderer.d.ts +10 -1
  298. package/lib/types/widgets/markdown/ArtifactContentRenderer.d.ts.map +1 -1
  299. package/lib/types/widgets/markdown/MarkdownFigure.d.ts +15 -0
  300. package/lib/types/widgets/markdown/MarkdownFigure.d.ts.map +1 -0
  301. package/lib/types/widgets/markdown/MarkdownRenderer.d.ts.map +1 -1
  302. package/lib/types/widgets/markdown/MermaidDiagram.d.ts.map +1 -1
  303. package/lib/types/widgets/markdown/codeBlockHandlers.d.ts +5 -2
  304. package/lib/types/widgets/markdown/codeBlockHandlers.d.ts.map +1 -1
  305. package/lib/types/widgets/markdown/index.d.ts +1 -0
  306. package/lib/types/widgets/markdown/index.d.ts.map +1 -1
  307. package/lib/types/widgets/markdown/normalizeCustomSchemeLinks.d.ts +9 -0
  308. package/lib/types/widgets/markdown/normalizeCustomSchemeLinks.d.ts.map +1 -0
  309. package/lib/types/widgets/markdown/normalizeDirectives.d.ts +20 -0
  310. package/lib/types/widgets/markdown/normalizeDirectives.d.ts.map +1 -0
  311. package/lib/types/widgets/markdown/remarkDirectiveHandler.d.ts +2 -0
  312. package/lib/types/widgets/markdown/remarkDirectiveHandler.d.ts.map +1 -0
  313. package/lib/types/widgets/monacoEditor/MonacoEditor.d.ts +1 -3
  314. package/lib/types/widgets/monacoEditor/MonacoEditor.d.ts.map +1 -1
  315. package/lib/types/widgets/schema-editor/ManagedSchema.d.ts +1 -1
  316. package/lib/types/widgets/schema-editor/ManagedSchema.d.ts.map +1 -1
  317. package/lib/vertesia-ui-core.js +1 -1
  318. package/lib/vertesia-ui-core.js.map +1 -1
  319. package/lib/vertesia-ui-features.js +1 -1
  320. package/lib/vertesia-ui-features.js.map +1 -1
  321. package/lib/vertesia-ui-layout.js +1 -1
  322. package/lib/vertesia-ui-layout.js.map +1 -1
  323. package/lib/vertesia-ui-router.js +1 -1
  324. package/lib/vertesia-ui-router.js.map +1 -1
  325. package/lib/vertesia-ui-session.js +1 -1
  326. package/lib/vertesia-ui-session.js.map +1 -1
  327. package/lib/vertesia-ui-shell.js +1 -1
  328. package/lib/vertesia-ui-shell.js.map +1 -1
  329. package/lib/vertesia-ui-widgets.js +1 -1
  330. package/lib/vertesia-ui-widgets.js.map +1 -1
  331. package/package.json +14 -10
  332. package/src/core/components/InputList.tsx +1 -1
  333. package/src/core/components/Overlay.tsx +1 -1
  334. package/src/core/components/SidePanel.tsx +29 -15
  335. package/src/core/components/Switch.tsx +1 -1
  336. package/src/core/components/index.ts +0 -8
  337. package/src/core/components/shadcn/Panel.tsx +50 -0
  338. package/src/core/components/{Badge.tsx → shadcn/badge.tsx} +3 -3
  339. package/src/core/components/shadcn/command.tsx +1 -1
  340. package/src/core/components/shadcn/filters/filterBar.tsx +76 -87
  341. package/src/core/components/shadcn/index.ts +5 -3
  342. package/src/core/components/{ConfirmModal.tsx → shadcn/modal/ConfirmModal.tsx} +8 -8
  343. package/src/core/components/{DeleteModal.tsx → shadcn/modal/DeleteModal.tsx} +1 -1
  344. package/src/core/components/shadcn/{dialog.tsx → modal/dialog.tsx} +43 -32
  345. package/src/core/components/shadcn/modal/index.ts +3 -0
  346. package/src/core/components/shadcn/popover.tsx +4 -2
  347. package/src/core/components/shadcn/selectBox.tsx +71 -52
  348. package/src/core/components/shadcn/tabs.tsx +36 -19
  349. package/src/core/components/shadcn/textarea.tsx +43 -2
  350. package/src/core/components/shadcn/tooltip.tsx +23 -17
  351. package/src/features/agent/PayloadBuilder.tsx +70 -9
  352. package/src/features/agent/chat/AgentChart.tsx +46 -678
  353. package/src/features/agent/chat/AskUserWidget.tsx +4 -3
  354. package/src/features/agent/chat/DocumentPanel.tsx +120 -0
  355. package/src/features/agent/chat/DocumentTabBar.tsx +49 -0
  356. package/src/features/agent/chat/ModernAgentConversation.tsx +403 -549
  357. package/src/features/agent/chat/ModernAgentOutput/AllMessagesMixed.tsx +162 -55
  358. package/src/features/agent/chat/ModernAgentOutput/BatchProgressPanel.tsx +40 -10
  359. package/src/features/agent/chat/ModernAgentOutput/Header.tsx +12 -16
  360. package/src/features/agent/chat/ModernAgentOutput/InlineSlidingPlanPanel.tsx +3 -3
  361. package/src/features/agent/chat/ModernAgentOutput/MessageInput.tsx +68 -75
  362. package/src/features/agent/chat/ModernAgentOutput/MessageItem.tsx +206 -94
  363. package/src/features/agent/chat/ModernAgentOutput/StreamingMessage.tsx +22 -5
  364. package/src/features/agent/chat/ModernAgentOutput/ToolCallGroup.tsx +295 -113
  365. package/src/features/agent/chat/ModernAgentOutput/WorkstreamTabs.tsx +11 -8
  366. package/src/features/agent/chat/ModernAgentOutput/utils.ts +133 -4
  367. package/src/features/agent/chat/SkillWidgetProvider.tsx +32 -15
  368. package/src/features/agent/chat/hooks/useAgentPlans.ts +190 -0
  369. package/src/features/agent/chat/hooks/useAgentStream.ts +239 -0
  370. package/src/features/agent/chat/hooks/useDocumentPanel.ts +118 -0
  371. package/src/features/agent/chat/hooks/useFileProcessing.ts +126 -0
  372. package/src/features/agent/chat/index.ts +18 -17
  373. package/src/features/agent/chat/types/document.ts +4 -0
  374. package/src/features/agent/index.ts +0 -2
  375. package/src/features/store/collections/BrowseCollectionView.tsx +5 -8
  376. package/src/features/store/collections/CreateCollection.tsx +8 -8
  377. package/src/features/store/collections/EditCollectionView.tsx +1 -1
  378. package/src/features/store/objects/DocumentSearchResults.tsx +9 -13
  379. package/src/features/store/objects/ExportPropertiesModal.tsx +9 -7
  380. package/src/features/store/objects/components/ContentOverview.tsx +29 -155
  381. package/src/features/store/objects/components/PropertiesEditorModal.tsx +0 -1
  382. package/src/features/store/objects/components/SelectDocumentModal.tsx +6 -6
  383. package/src/features/store/objects/components/VectorSearchWidget.tsx +2 -2
  384. package/src/features/store/objects/components/index.ts +1 -1
  385. package/src/features/store/objects/components/useDownloadFile.ts +237 -0
  386. package/src/features/store/objects/search/DocumentSearchContext.ts +1 -2
  387. package/src/features/store/objects/selection/SelectionActions.tsx +0 -4
  388. package/src/features/store/objects/selection/actions/AddToCollectionAction.tsx +13 -13
  389. package/src/features/store/objects/selection/actions/ChangeTypeAction.tsx +2 -6
  390. package/src/features/store/objects/selection/actions/ExportPropertiesAction.tsx +1 -3
  391. package/src/features/store/objects/selection/actions/StartWorkflowComponent.tsx +8 -8
  392. package/src/features/store/objects/upload/DocumentUploadModal.tsx +25 -25
  393. package/src/features/store/objects/upload/useSmartFileUploadProcessing.ts +16 -10
  394. package/src/features/store/types/ObjectSchemaEditor.tsx +32 -29
  395. package/src/features/store/types/SelectContentType.tsx +3 -3
  396. package/src/features/store/types/SelectContentTypeModal.tsx +17 -30
  397. package/src/features/store/types/TableLayoutEditor.tsx +14 -18
  398. package/src/features/user/UserInfo.tsx +176 -10
  399. package/src/features/utils/print.ts +0 -1
  400. package/src/layout/AppLayout.tsx +16 -44
  401. package/src/layout/Sidebar.tsx +7 -5
  402. package/src/router/HistoryNavigator.ts +9 -1
  403. package/src/router/Nav.tsx +7 -2
  404. package/src/session/UserSession.ts +38 -9
  405. package/src/session/UserSessionProvider.tsx +3 -2
  406. package/src/shell/apps/AppProjectSelector.tsx +2 -2
  407. package/src/shell/apps/StandaloneApp.tsx +3 -3
  408. package/src/shell/login/InviteAcceptModal.tsx +6 -6
  409. package/src/shell/login/SignInModal.tsx +1 -1
  410. package/src/shell/login/SignupForm.tsx +3 -3
  411. package/src/shell/login/UserInfo.tsx +5 -5
  412. package/src/widgets/json-view/JSONCode.tsx +1 -3
  413. package/src/widgets/json-view/JSONDisplay.tsx +1 -1
  414. package/src/widgets/markdown/ArtifactContentRenderer.tsx +115 -14
  415. package/src/widgets/markdown/MarkdownFigure.tsx +100 -0
  416. package/src/widgets/markdown/MarkdownRenderer.tsx +62 -9
  417. package/src/widgets/markdown/MermaidDiagram.tsx +97 -5
  418. package/src/widgets/markdown/codeBlockHandlers.test.tsx +3 -34
  419. package/src/widgets/markdown/codeBlockHandlers.tsx +47 -42
  420. package/src/widgets/markdown/index.ts +1 -0
  421. package/src/widgets/markdown/markdown.css +192 -0
  422. package/src/widgets/markdown/normalizeCustomSchemeLinks.test.ts +86 -0
  423. package/src/widgets/markdown/normalizeCustomSchemeLinks.ts +91 -0
  424. package/src/widgets/markdown/normalizeDirectives.ts +50 -0
  425. package/src/widgets/markdown/remarkDirectiveHandler.ts +119 -0
  426. package/src/widgets/monacoEditor/MonacoEditor.tsx +8 -22
  427. package/src/widgets/schema-editor/ManagedSchema.ts +1 -1
  428. package/src/widgets/schema-editor/editor/PropertyEditor.tsx +5 -5
  429. package/src/widgets/schema-editor/json-schema4-utils.ts +1 -1
  430. package/lib/esm/core/components/Badge.js.map +0 -1
  431. package/lib/esm/core/components/Button.js +0 -32
  432. package/lib/esm/core/components/Button.js.map +0 -1
  433. package/lib/esm/core/components/ConfirmModal.js +0 -10
  434. package/lib/esm/core/components/ConfirmModal.js.map +0 -1
  435. package/lib/esm/core/components/DeleteModal.js.map +0 -1
  436. package/lib/esm/core/components/MessageBox.js.map +0 -1
  437. package/lib/esm/core/components/Modal.js +0 -26
  438. package/lib/esm/core/components/Modal.js.map +0 -1
  439. package/lib/esm/core/components/Panel.js +0 -8
  440. package/lib/esm/core/components/Panel.js.map +0 -1
  441. package/lib/esm/core/components/SelectBox.js +0 -67
  442. package/lib/esm/core/components/SelectBox.js.map +0 -1
  443. package/lib/esm/core/components/shadcn/dialog.js.map +0 -1
  444. package/lib/esm/core/components/tabs/Tabs.js +0 -78
  445. package/lib/esm/core/components/tabs/Tabs.js.map +0 -1
  446. package/lib/esm/core/components/tabs/TabsContext.js +0 -7
  447. package/lib/esm/core/components/tabs/TabsContext.js.map +0 -1
  448. package/lib/esm/core/components/tabs/index.js +0 -3
  449. package/lib/esm/core/components/tabs/index.js.map +0 -1
  450. package/lib/esm/features/agent/createChartTool.js +0 -632
  451. package/lib/esm/features/agent/createChartTool.js.map +0 -1
  452. package/lib/esm/features/agent/examples.js +0 -295
  453. package/lib/esm/features/agent/examples.js.map +0 -1
  454. package/lib/esm/features/agent/visualization.js +0 -165
  455. package/lib/esm/features/agent/visualization.js.map +0 -1
  456. package/lib/esm/features/store/objects/components/useDownloadObject.js +0 -21
  457. package/lib/esm/features/store/objects/components/useDownloadObject.js.map +0 -1
  458. package/lib/types/core/components/Badge.d.ts.map +0 -1
  459. package/lib/types/core/components/Button.d.ts +0 -14
  460. package/lib/types/core/components/Button.d.ts.map +0 -1
  461. package/lib/types/core/components/ConfirmModal.d.ts.map +0 -1
  462. package/lib/types/core/components/DeleteModal.d.ts.map +0 -1
  463. package/lib/types/core/components/MessageBox.d.ts.map +0 -1
  464. package/lib/types/core/components/Modal.d.ts +0 -30
  465. package/lib/types/core/components/Modal.d.ts.map +0 -1
  466. package/lib/types/core/components/Panel.d.ts.map +0 -1
  467. package/lib/types/core/components/SelectBox.d.ts +0 -36
  468. package/lib/types/core/components/SelectBox.d.ts.map +0 -1
  469. package/lib/types/core/components/shadcn/dialog.d.ts.map +0 -1
  470. package/lib/types/core/components/tabs/Tabs.d.ts +0 -25
  471. package/lib/types/core/components/tabs/Tabs.d.ts.map +0 -1
  472. package/lib/types/core/components/tabs/TabsContext.d.ts +0 -17
  473. package/lib/types/core/components/tabs/TabsContext.d.ts.map +0 -1
  474. package/lib/types/core/components/tabs/index.d.ts +0 -3
  475. package/lib/types/core/components/tabs/index.d.ts.map +0 -1
  476. package/lib/types/features/agent/createChartTool.d.ts +0 -178
  477. package/lib/types/features/agent/createChartTool.d.ts.map +0 -1
  478. package/lib/types/features/agent/examples.d.ts +0 -59
  479. package/lib/types/features/agent/examples.d.ts.map +0 -1
  480. package/lib/types/features/agent/visualization.d.ts +0 -95
  481. package/lib/types/features/agent/visualization.d.ts.map +0 -1
  482. package/lib/types/features/store/objects/components/useDownloadObject.d.ts +0 -4
  483. package/lib/types/features/store/objects/components/useDownloadObject.d.ts.map +0 -1
  484. package/src/core/components/Button.tsx +0 -63
  485. package/src/core/components/Modal.tsx +0 -144
  486. package/src/core/components/Panel.tsx +0 -34
  487. package/src/core/components/SelectBox.tsx +0 -188
  488. package/src/core/components/tabs/Tabs.tsx +0 -132
  489. package/src/core/components/tabs/TabsContext.ts +0 -25
  490. package/src/core/components/tabs/index.ts +0 -2
  491. package/src/features/agent/CHART_INSTRUCTIONS.md +0 -228
  492. package/src/features/agent/createChartTool.ts +0 -643
  493. package/src/features/agent/examples.ts +0 -321
  494. package/src/features/agent/visualization.ts +0 -227
  495. package/src/features/store/objects/components/useDownloadObject.ts +0 -29
  496. /package/lib/esm/core/components/{MessageBox.js → shadcn/MessageBox.js} +0 -0
  497. /package/lib/types/core/components/{MessageBox.d.ts → shadcn/MessageBox.d.ts} +0 -0
  498. /package/lib/types/core/components/{ConfirmModal.d.ts → shadcn/modal/ConfirmModal.d.ts} +0 -0
  499. /package/lib/types/core/components/{DeleteModal.d.ts → shadcn/modal/DeleteModal.d.ts} +0 -0
  500. /package/src/core/components/{MessageBox.tsx → shadcn/MessageBox.tsx} +0 -0
@@ -1,643 +0,0 @@
1
- /**
2
- * Chart creation tool definition for AI agents.
3
- *
4
- * This provides a tool schema that AI agents can use to understand
5
- * how to create charts in their responses.
6
- */
7
-
8
- import type { AgentChartSpec, RechartsChartSpec, VegaLiteChartSpec } from './chat/AgentChart';
9
-
10
- /**
11
- * Tool definition for creating charts.
12
- * Can be used with Claude, OpenAI, or other LLM tool-calling systems.
13
- */
14
- export const createChartToolDefinition = {
15
- name: 'create_chart',
16
- description: `Create an interactive chart visualization that will be rendered in the UI.
17
-
18
- IMPORTANT: You don't actually "call" this tool. Instead, you include a markdown code block with language "chart" in your response.
19
-
20
- ## CHART LIBRARIES
21
-
22
- Two chart libraries are available:
23
-
24
- ### 1. Recharts (Default) - Simple Charts
25
- For standard bar, line, pie, area charts. Use when you need quick, simple visualizations.
26
-
27
- \`\`\`chart
28
- {
29
- "library": "recharts",
30
- "chart": "bar|line|area|composed|pie|scatter|radar|radialBar|funnel|treemap",
31
- "title": "Chart Title",
32
- "data": [...],
33
- "xKey": "...",
34
- "series": [...]
35
- }
36
- \`\`\`
37
-
38
- ### 2. Vega-Lite (Advanced) - Complex Visualizations
39
- For heatmaps, geographic maps, layered charts, faceted charts, statistical plots.
40
-
41
- \`\`\`chart
42
- {
43
- "library": "vega-lite",
44
- "title": "Chart Title",
45
- "spec": {
46
- "data": {"values": [...]},
47
- "mark": "bar|line|point|rect|arc|...",
48
- "encoding": {...}
49
- }
50
- }
51
- \`\`\`
52
-
53
- ## WHEN TO USE EACH LIBRARY
54
-
55
- | Use Case | Library |
56
- |----------|---------|
57
- | Simple bar, line, pie charts | recharts (default) |
58
- | Heatmaps / correlation matrices | **vega-lite** |
59
- | Geographic maps | **vega-lite** |
60
- | Faceted / small multiples | **vega-lite** |
61
- | Layered charts (scatter + regression) | **vega-lite** |
62
- | Statistical plots (boxplot, violin) | **vega-lite** |
63
- | Standard business charts | recharts |
64
-
65
- ---
66
-
67
- ## RECHARTS EXAMPLES
68
-
69
- ## CHART TYPES & WHEN TO USE
70
-
71
- | Type | Use Case | Data Shape |
72
- |------|----------|------------|
73
- | bar | Category comparisons | \`[{x, y1, y2}]\` |
74
- | line | Trends over time | \`[{x, y1, y2}]\` |
75
- | area | Trends with volume emphasis | \`[{x, y1, y2}]\` |
76
- | composed | Mix bars + lines | \`[{x, y1, y2}]\` with series.type |
77
- | pie | Part-to-whole (%) | \`[{name, value}]\` |
78
- | scatter | Correlation analysis | \`[{x, y}]\` |
79
- | radar | Multi-dimensional comparison | \`[{axis, A, B}]\` |
80
- | radialBar | Progress/gauges | \`[{name, value}]\` |
81
- | funnel | Conversion stages | \`[{name, value}]\` |
82
- | treemap | Hierarchical proportions | \`[{name, value}]\` |
83
-
84
- ## EXAMPLES
85
-
86
- ### Bar Chart
87
- \`\`\`chart
88
- {"chart":"bar","title":"Revenue by Quarter","data":[{"quarter":"Q1","revenue":100000},{"quarter":"Q2","revenue":150000}],"xKey":"quarter","series":[{"key":"revenue","label":"Revenue"}]}
89
- \`\`\`
90
-
91
- ### Line Chart
92
- \`\`\`chart
93
- {"chart":"line","title":"Performance","data":[{"period":"Q1","tvpi":1.2},{"period":"Q2","tvpi":1.5}],"xKey":"period","series":[{"key":"tvpi","label":"TVPI","color":"#4f46e5"}]}
94
- \`\`\`
95
-
96
- ### Area Chart
97
- \`\`\`chart
98
- {"chart":"area","title":"Sales Volume","data":[{"month":"Jan","sales":1000},{"month":"Feb","sales":1500}],"xKey":"month","series":[{"key":"sales","label":"Sales"}],"options":{"stacked":true}}
99
- \`\`\`
100
-
101
- ### Composed Chart (Bar + Line)
102
- \`\`\`chart
103
- {"chart":"composed","title":"Cashflow","data":[{"period":"Q1","calls":1000000,"net":-500000}],"xKey":"period","series":[{"key":"calls","type":"bar","color":"#ef4444"},{"key":"net","type":"line","yAxisId":"right"}],"yAxis":{"left":{"label":"Amount"},"right":{"label":"Net"}}}
104
- \`\`\`
105
-
106
- ### Pie Chart
107
- \`\`\`chart
108
- {"chart":"pie","title":"Market Share","data":[{"name":"Product A","value":400},{"name":"Product B","value":300},{"name":"Product C","value":200}],"nameKey":"name","valueKey":"value"}
109
- \`\`\`
110
-
111
- ### Donut Chart (Pie with innerRadius)
112
- \`\`\`chart
113
- {"chart":"pie","title":"Revenue Split","data":[{"name":"Services","value":60},{"name":"Products","value":40}],"nameKey":"name","valueKey":"value","options":{"innerRadius":50}}
114
- \`\`\`
115
-
116
- ### Scatter Chart
117
- \`\`\`chart
118
- {"chart":"scatter","title":"Price vs Volume","data":[{"price":100,"volume":500},{"price":150,"volume":400}],"xKey":"price","yKey":"volume","series":[{"key":"data","label":"Products"}]}
119
- \`\`\`
120
-
121
- ### Radar Chart
122
- \`\`\`chart
123
- {"chart":"radar","title":"Skills Comparison","data":[{"skill":"Speed","A":120,"B":110},{"skill":"Power","A":98,"B":130}],"axisKey":"skill","series":[{"key":"A","label":"Team A"},{"key":"B","label":"Team B"}]}
124
- \`\`\`
125
-
126
- ### RadialBar Chart (Progress)
127
- \`\`\`chart
128
- {"chart":"radialBar","title":"Goal Progress","data":[{"name":"Sales","value":80},{"name":"Users","value":65}],"nameKey":"name","valueKey":"value"}
129
- \`\`\`
130
-
131
- ### Funnel Chart
132
- \`\`\`chart
133
- {"chart":"funnel","title":"Conversion Funnel","data":[{"name":"Visits","value":5000},{"name":"Cart","value":2500},{"name":"Purchase","value":1000}],"nameKey":"name","valueKey":"value"}
134
- \`\`\`
135
-
136
- ### Treemap
137
- \`\`\`chart
138
- {"chart":"treemap","title":"Budget Allocation","data":[{"name":"Engineering","value":500000},{"name":"Marketing","value":200000},{"name":"Sales","value":300000}],"nameKey":"name","dataKey":"value"}
139
- \`\`\`
140
-
141
- ## CONFIGURATION
142
-
143
- ### Series (for bar/line/area/composed/radar)
144
- - key: (required) Field name in data
145
- - label: Display name
146
- - type: "bar"|"line"|"area" (composed only)
147
- - color: Hex color
148
- - yAxisId: "left"|"right"
149
- - dot: Show dots on lines
150
-
151
- ### Keys (for pie/scatter/radar/funnel/treemap)
152
- - nameKey: Field for labels (default: "name")
153
- - valueKey: Field for values (default: "value")
154
- - xKey/yKey: For scatter charts
155
- - axisKey: For radar axis labels
156
- - dataKey: For treemap values
157
-
158
- ### Options
159
- - stacked: Stack bars/areas
160
- - referenceZero: Show y=0 line
161
- - innerRadius: For donut charts (0-100)
162
- - showLabels: Show value labels
163
- - startAngle/endAngle: For radialBar
164
-
165
- ## COLORS
166
- - Blue #4f46e5 - Primary
167
- - Cyan #06b6d4 - Secondary
168
- - Green #22c55e - Positive
169
- - Amber #f59e0b - Warning
170
- - Red #ef4444 - Negative
171
- - Purple #8b5cf6 - Accent
172
- - Pink #ec4899 - Highlight
173
- - Teal #14b8a6 - Alternative
174
-
175
- Numbers auto-format: 1K, 1M, 1B
176
-
177
- ---
178
-
179
- ## VEGA-LITE EXAMPLES
180
-
181
- ### Heatmap
182
- \`\`\`chart
183
- {"library":"vega-lite","title":"Correlation Matrix","spec":{"data":{"values":[{"x":"A","y":"A","v":1},{"x":"A","y":"B","v":0.7},{"x":"B","y":"A","v":0.7},{"x":"B","y":"B","v":1}]},"mark":"rect","encoding":{"x":{"field":"x","type":"nominal"},"y":{"field":"y","type":"nominal"},"color":{"field":"v","type":"quantitative","scale":{"scheme":"redblue","domain":[-1,1]}}}}}
184
- \`\`\`
185
-
186
- ### Layered Chart (Scatter + Trend Line)
187
- \`\`\`chart
188
- {"library":"vega-lite","title":"Sales Trend","spec":{"data":{"values":[{"x":1,"y":10},{"x":2,"y":18},{"x":3,"y":25},{"x":4,"y":31}]},"layer":[{"mark":"point","encoding":{"x":{"field":"x"},"y":{"field":"y"}}},{"mark":{"type":"line","color":"red"},"transform":[{"regression":"y","on":"x"}],"encoding":{"x":{"field":"x"},"y":{"field":"y"}}}]}}
189
- \`\`\`
190
-
191
- ### Faceted Chart
192
- \`\`\`chart
193
- {"library":"vega-lite","title":"Sales by Category","spec":{"data":{"values":[{"cat":"A","region":"N","val":10},{"cat":"A","region":"S","val":15},{"cat":"B","region":"N","val":8},{"cat":"B","region":"S","val":12}]},"mark":"bar","encoding":{"x":{"field":"region"},"y":{"field":"val"},"color":{"field":"region"}},"facet":{"field":"cat","columns":2}}}
194
- \`\`\`
195
-
196
- ### Box Plot
197
- \`\`\`chart
198
- {"library":"vega-lite","title":"Distribution","spec":{"data":{"values":[{"group":"A","val":10},{"group":"A","val":15},{"group":"A","val":12},{"group":"B","val":20},{"group":"B","val":25}]},"mark":"boxplot","encoding":{"x":{"field":"group"},"y":{"field":"val","type":"quantitative"}}}}
199
- \`\`\`
200
-
201
- ## VEGA-LITE REFERENCE
202
-
203
- ### Mark Types
204
- - bar, line, point, area, rect, arc, circle, text, boxplot, errorbar
205
-
206
- ### Encoding Types
207
- - quantitative (Q): Numbers
208
- - nominal (N): Categories
209
- - ordinal (O): Ordered categories
210
- - temporal (T): Dates
211
-
212
- ### Color Schemes
213
- - Sequential: blues, greens, viridis
214
- - Diverging: redblue, redyellowgreen
215
- - Categorical: category10, tableau10
216
-
217
- ---
218
-
219
- ## INTERACTIVE DASHBOARDS
220
-
221
- For interactive dashboards with cross-filtering and linked views, use \`options.mode: "dashboard"\`.
222
- Dashboard mode enables:
223
- - Larger default height (500px vs 280px)
224
- - Fullscreen button for exploration
225
- - "Interactive" badge indicator
226
-
227
- ### Dashboard with Cross-Filter Selection
228
- Click on a bar to filter the line chart below:
229
-
230
- \`\`\`chart
231
- {
232
- "library": "vega-lite",
233
- "title": "Sales Dashboard",
234
- "description": "Click a category to filter the trend",
235
- "options": {"mode": "dashboard", "height": 600},
236
- "spec": {
237
- "data": {"values": [
238
- {"category": "Electronics", "month": "Jan", "sales": 100},
239
- {"category": "Electronics", "month": "Feb", "sales": 120},
240
- {"category": "Electronics", "month": "Mar", "sales": 140},
241
- {"category": "Clothing", "month": "Jan", "sales": 80},
242
- {"category": "Clothing", "month": "Feb", "sales": 95},
243
- {"category": "Clothing", "month": "Mar", "sales": 110},
244
- {"category": "Food", "month": "Jan", "sales": 60},
245
- {"category": "Food", "month": "Feb", "sales": 70},
246
- {"category": "Food", "month": "Mar", "sales": 85}
247
- ]},
248
- "params": [{"name": "categorySelect", "select": {"type": "point", "fields": ["category"]}}],
249
- "vconcat": [
250
- {
251
- "mark": "bar",
252
- "encoding": {
253
- "x": {"field": "category", "type": "nominal"},
254
- "y": {"aggregate": "sum", "field": "sales"},
255
- "color": {"condition": {"param": "categorySelect", "field": "category"}, "value": "lightgray"},
256
- "opacity": {"condition": {"param": "categorySelect", "value": 1}, "value": 0.5}
257
- }
258
- },
259
- {
260
- "mark": "line",
261
- "transform": [{"filter": {"param": "categorySelect"}}],
262
- "encoding": {
263
- "x": {"field": "month", "type": "ordinal"},
264
- "y": {"field": "sales", "type": "quantitative"},
265
- "color": {"field": "category", "type": "nominal"}
266
- }
267
- }
268
- ]
269
- }
270
- }
271
- \`\`\`
272
-
273
- ### Dashboard with Interval Brush Selection
274
- Brush to select a time range in the overview, detail view updates:
275
-
276
- \`\`\`chart
277
- {
278
- "library": "vega-lite",
279
- "title": "Focus + Context",
280
- "options": {"mode": "dashboard", "height": 500},
281
- "spec": {
282
- "data": {"values": [
283
- {"date": "2024-01-01", "value": 28}, {"date": "2024-02-01", "value": 55},
284
- {"date": "2024-03-01", "value": 43}, {"date": "2024-04-01", "value": 91},
285
- {"date": "2024-05-01", "value": 81}, {"date": "2024-06-01", "value": 53},
286
- {"date": "2024-07-01", "value": 19}, {"date": "2024-08-01", "value": 87},
287
- {"date": "2024-09-01", "value": 52}, {"date": "2024-10-01", "value": 48}
288
- ]},
289
- "vconcat": [
290
- {
291
- "height": 250,
292
- "mark": "area",
293
- "encoding": {
294
- "x": {"field": "date", "type": "temporal", "scale": {"domain": {"param": "brush"}}, "axis": {"title": ""}},
295
- "y": {"field": "value", "type": "quantitative"}
296
- }
297
- },
298
- {
299
- "height": 60,
300
- "params": [{"name": "brush", "select": {"type": "interval", "encodings": ["x"]}}],
301
- "mark": "area",
302
- "encoding": {
303
- "x": {"field": "date", "type": "temporal"},
304
- "y": {"field": "value", "type": "quantitative", "axis": {"tickCount": 3}}
305
- }
306
- }
307
- ]
308
- }
309
- }
310
- \`\`\`
311
-
312
- ### Dashboard with Legend Filter
313
- Click legend items to filter:
314
-
315
- \`\`\`chart
316
- {
317
- "library": "vega-lite",
318
- "title": "Multi-Series with Legend Filter",
319
- "options": {"mode": "dashboard"},
320
- "spec": {
321
- "data": {"values": [
322
- {"series": "A", "x": 1, "y": 10}, {"series": "A", "x": 2, "y": 15},
323
- {"series": "B", "x": 1, "y": 20}, {"series": "B", "x": 2, "y": 12},
324
- {"series": "C", "x": 1, "y": 8}, {"series": "C", "x": 2, "y": 18}
325
- ]},
326
- "params": [{"name": "seriesFilter", "select": {"type": "point", "fields": ["series"]}, "bind": "legend"}],
327
- "mark": "line",
328
- "encoding": {
329
- "x": {"field": "x", "type": "quantitative"},
330
- "y": {"field": "y", "type": "quantitative"},
331
- "color": {"field": "series", "type": "nominal"},
332
- "opacity": {"condition": {"param": "seriesFilter", "value": 1}, "value": 0.2}
333
- }
334
- }
335
- }
336
- \`\`\`
337
-
338
- ### Dashboard with Input Widgets
339
- Bind parameters to sliders and dropdowns:
340
-
341
- \`\`\`chart
342
- {
343
- "library": "vega-lite",
344
- "title": "Interactive Controls",
345
- "options": {"mode": "dashboard"},
346
- "spec": {
347
- "params": [
348
- {"name": "threshold", "value": 50, "bind": {"input": "range", "min": 0, "max": 100, "step": 5}},
349
- {"name": "colorScheme", "value": "category10", "bind": {"input": "select", "options": ["category10", "tableau10", "set1"]}}
350
- ],
351
- "data": {"values": [{"x": "A", "y": 30}, {"x": "B", "y": 60}, {"x": "C", "y": 80}, {"x": "D", "y": 45}]},
352
- "mark": "bar",
353
- "encoding": {
354
- "x": {"field": "x", "type": "nominal"},
355
- "y": {"field": "y", "type": "quantitative"},
356
- "color": {
357
- "condition": {"test": "datum.y > threshold", "value": "steelblue"},
358
- "value": "lightgray"
359
- }
360
- }
361
- }
362
- }
363
- \`\`\`
364
-
365
- ### DASHBOARD OPTIONS
366
-
367
- | Option | Type | Default | Description |
368
- |--------|------|---------|-------------|
369
- | mode | "chart" \\| "dashboard" | "chart" | Dashboard mode enables fullscreen + larger height |
370
- | height | number | 280/500 | Explicit height (auto-calculated for vconcat) |
371
- | enableFullscreen | boolean | true (dashboard) | Show fullscreen button |
372
- | renderer | "canvas" \\| "svg" | "canvas" | SVG for print quality |
373
- | parameterValues | object | {} | Set initial param values (see below) |
374
-
375
- ### SETTING PARAMETER VALUES
376
-
377
- Override default param values to test different configurations:
378
-
379
- \`\`\`chart
380
- {
381
- "library": "vega-lite",
382
- "options": {
383
- "mode": "dashboard",
384
- "parameterValues": {"threshold": 75, "colorScheme": "tableau10"}
385
- },
386
- "spec": {
387
- "params": [
388
- {"name": "threshold", "value": 50, "bind": {"input": "range", "min": 0, "max": 100}},
389
- {"name": "colorScheme", "value": "category10", "bind": {"input": "select", "options": ["category10", "tableau10"]}}
390
- ],
391
- ...
392
- }
393
- }
394
- \`\`\`
395
-
396
- The chart renders with threshold=75 (instead of default 50). Interactive controls still work.
397
-
398
- ### INTERACTIVE FEATURES (params)
399
-
400
- | Selection Type | Use Case | Example |
401
- |---------------|----------|---------|
402
- | point | Click to select | \`{"select": {"type": "point", "fields": ["category"]}}\` |
403
- | interval | Brush selection | \`{"select": {"type": "interval", "encodings": ["x"]}}\` |
404
- | bind: "legend" | Legend toggle | \`{"select": {...}, "bind": "legend"}\` |
405
- | bind: input | Widgets | \`{"bind": {"input": "range", "min": 0, "max": 100}}\` |`,
406
-
407
- input_schema: {
408
- type: 'object',
409
- properties: {
410
- chart: {
411
- type: 'string',
412
- enum: ['bar', 'line', 'area', 'composed', 'pie', 'scatter', 'radar', 'radialBar', 'funnel', 'treemap'],
413
- description: 'Type of chart to create',
414
- },
415
- title: {
416
- type: 'string',
417
- description: 'Chart title',
418
- },
419
- description: {
420
- type: 'string',
421
- description: 'Optional description shown below the title',
422
- },
423
- data: {
424
- type: 'array',
425
- description: 'Array of data objects',
426
- items: {
427
- type: 'object',
428
- additionalProperties: true,
429
- },
430
- },
431
- xKey: {
432
- type: 'string',
433
- description: 'Field name to use for X-axis (for bar/line/area/composed/scatter)',
434
- },
435
- yKey: {
436
- type: 'string',
437
- description: 'Field name for Y values (for scatter charts)',
438
- },
439
- nameKey: {
440
- type: 'string',
441
- description: 'Field name for labels (for pie/funnel/radialBar/treemap, default: "name")',
442
- },
443
- valueKey: {
444
- type: 'string',
445
- description: 'Field name for values (for pie/funnel/radialBar, default: "value")',
446
- },
447
- axisKey: {
448
- type: 'string',
449
- description: 'Field name for radar axis labels',
450
- },
451
- dataKey: {
452
- type: 'string',
453
- description: 'Field name for treemap values',
454
- },
455
- series: {
456
- type: 'array',
457
- description: 'Array of series to plot (for bar/line/area/composed/radar)',
458
- items: {
459
- type: 'object',
460
- properties: {
461
- key: {
462
- type: 'string',
463
- description: 'Field name in data',
464
- },
465
- label: {
466
- type: 'string',
467
- description: 'Display name',
468
- },
469
- type: {
470
- type: 'string',
471
- enum: ['bar', 'line', 'area'],
472
- description: 'Series type (for composed charts)',
473
- },
474
- color: {
475
- type: 'string',
476
- description: 'Hex color code',
477
- },
478
- yAxisId: {
479
- type: 'string',
480
- enum: ['left', 'right'],
481
- description: 'Which Y-axis to use',
482
- },
483
- dot: {
484
- type: 'boolean',
485
- description: 'Show dots on line (default: false)',
486
- },
487
- },
488
- required: ['key'],
489
- },
490
- },
491
- yAxis: {
492
- type: 'object',
493
- description: 'Y-axis configuration',
494
- properties: {
495
- left: {
496
- type: 'object',
497
- properties: {
498
- label: { type: 'string' },
499
- },
500
- },
501
- right: {
502
- type: 'object',
503
- properties: {
504
- label: { type: 'string' },
505
- },
506
- },
507
- },
508
- },
509
- options: {
510
- type: 'object',
511
- description: 'Chart options',
512
- properties: {
513
- stacked: {
514
- type: 'boolean',
515
- description: 'Stack bars/areas',
516
- },
517
- referenceZero: {
518
- type: 'boolean',
519
- description: 'Show reference line at y=0',
520
- },
521
- collapsible: {
522
- type: 'boolean',
523
- description: 'Allow user to collapse chart',
524
- },
525
- collapseInitially: {
526
- type: 'boolean',
527
- description: 'Start collapsed',
528
- },
529
- innerRadius: {
530
- type: 'number',
531
- description: 'Inner radius for donut/radialBar charts (0-100)',
532
- },
533
- showLabels: {
534
- type: 'boolean',
535
- description: 'Show value labels on pie/funnel',
536
- },
537
- startAngle: {
538
- type: 'number',
539
- description: 'Start angle for radialBar (default: 180)',
540
- },
541
- endAngle: {
542
- type: 'number',
543
- description: 'End angle for radialBar (default: 0)',
544
- },
545
- },
546
- },
547
- },
548
- required: ['chart', 'data'],
549
- },
550
- };
551
-
552
- /**
553
- * System prompt addition for chart capabilities.
554
- * Include this in your agent's system prompt to enable chart creation.
555
- */
556
- export const chartSystemPromptAddition = `
557
- # Chart Visualization Capability
558
-
559
- You can create interactive charts by including markdown code blocks with the language "chart".
560
-
561
- ## Chart Types
562
-
563
- | Type | Use Case | Required Fields |
564
- |------|----------|-----------------|
565
- | bar | Category comparisons | xKey, series |
566
- | line | Trends over time | xKey, series |
567
- | area | Trends with volume | xKey, series |
568
- | composed | Mix bars + lines | xKey, series with type |
569
- | pie | Part-to-whole | nameKey, valueKey |
570
- | scatter | Correlation | xKey, yKey |
571
- | radar | Multi-dimensional | axisKey, series |
572
- | radialBar | Progress/gauges | nameKey, valueKey |
573
- | funnel | Conversion stages | nameKey, valueKey |
574
- | treemap | Hierarchical data | nameKey, dataKey |
575
-
576
- ## Quick Examples
577
-
578
- Bar: \`{"chart":"bar","data":[{"x":"A","y":10}],"xKey":"x","series":[{"key":"y"}]}\`
579
- Pie: \`{"chart":"pie","data":[{"name":"A","value":60},{"name":"B","value":40}]}\`
580
- Scatter: \`{"chart":"scatter","data":[{"x":1,"y":2}],"xKey":"x","yKey":"y"}\`
581
-
582
- Use charts when:
583
- - User requests visualization
584
- - 3+ data points to display
585
- - Visual form clarifies comparisons/trends
586
-
587
- Colors: Blue #4f46e5 (primary), Green #22c55e (positive), Red #ef4444 (negative)
588
- `;
589
-
590
- /**
591
- * Type-safe chart specification builder.
592
- * Use this when you want to build charts programmatically.
593
- */
594
- export function buildChartSpec(spec: AgentChartSpec): string {
595
- // Check if it's a Vega-Lite spec
596
- if (spec.library === 'vega-lite') {
597
- const vegaSpec = spec as VegaLiteChartSpec;
598
- if (!vegaSpec.spec) {
599
- throw new Error('Invalid Vega-Lite chart spec: missing required "spec" field');
600
- }
601
- const json = JSON.stringify(spec, null, 2);
602
- return `\`\`\`chart\n${json}\n\`\`\``;
603
- }
604
-
605
- // Recharts validation
606
- const rechartsSpec = spec as RechartsChartSpec;
607
- if (!rechartsSpec.chart || !rechartsSpec.data || !rechartsSpec.xKey || !rechartsSpec.series) {
608
- throw new Error('Invalid chart spec: missing required fields (chart, data, xKey, series)');
609
- }
610
-
611
- if (!Array.isArray(rechartsSpec.data)) {
612
- throw new Error('Invalid chart spec: data must be an array');
613
- }
614
-
615
- if (!Array.isArray(rechartsSpec.series) || rechartsSpec.series.length === 0) {
616
- throw new Error('Invalid chart spec: series must be a non-empty array');
617
- }
618
-
619
- // Return as markdown code block
620
- const json = JSON.stringify(spec, null, 2);
621
- return `\`\`\`chart\n${json}\n\`\`\``;
622
- }
623
-
624
- /**
625
- * Extract chart specifications from markdown text.
626
- * Useful for parsing agent responses.
627
- */
628
- export function extractChartSpecs(markdown: string): AgentChartSpec[] {
629
- const chartBlockRegex = /```chart\s*\n([\s\S]*?)\n```/g;
630
- const specs: AgentChartSpec[] = [];
631
-
632
- let match;
633
- while ((match = chartBlockRegex.exec(markdown)) !== null) {
634
- try {
635
- const spec = JSON.parse(match[1]) as AgentChartSpec;
636
- specs.push(spec);
637
- } catch (e) {
638
- console.warn('Failed to parse chart spec:', e);
639
- }
640
- }
641
-
642
- return specs;
643
- }