@pstdio/ui 0.15.0 → 0.17.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 (304) hide show
  1. package/dist/{MermaidComponent-DBJsTOmj.js → MermaidComponent-BCMQqPqu.js} +11 -11
  2. package/dist/{MermaidComponent-DBJsTOmj.js.map → MermaidComponent-BCMQqPqu.js.map} +1 -1
  3. package/dist/browser-storage-BinyFNJX.js +40 -0
  4. package/dist/browser-storage-BinyFNJX.js.map +1 -0
  5. package/dist/chat-ui.js +1832 -1275
  6. package/dist/chat-ui.js.map +1 -1
  7. package/dist/checkbox-B2zYVemL.js +70 -0
  8. package/dist/checkbox-B2zYVemL.js.map +1 -0
  9. package/dist/components/chat-ui/components/ai-conversation.d.ts +1 -1
  10. package/dist/components/chat-ui/components/ai-message.d.ts +1 -1
  11. package/dist/components/chat-ui/components/ai-response.d.ts +0 -1
  12. package/dist/components/chat-ui/components/attachment-list.d.ts +1 -1
  13. package/dist/components/chat-ui/components/auto-scroll.d.ts +27 -0
  14. package/dist/components/chat-ui/components/chat-input-actions.d.ts +1 -0
  15. package/dist/components/chat-ui/components/chat-input.d.ts +8 -2
  16. package/dist/components/chat-ui/components/chat-message-animation.d.ts +22 -0
  17. package/dist/components/chat-ui/components/chat-panel.d.ts +11 -5
  18. package/dist/components/chat-ui/components/composer-constants.d.ts +1 -0
  19. package/dist/components/chat-ui/components/conversation-browse.d.ts +22 -0
  20. package/dist/components/chat-ui/components/message-types.d.ts +14 -0
  21. package/dist/components/chat-ui/components/queued-follow-up-list-state.d.ts +4 -0
  22. package/dist/components/chat-ui/components/queued-follow-up-list.d.ts +11 -0
  23. package/dist/components/chat-ui/components/timeline.d.ts +5 -2
  24. package/dist/components/chat-ui/components/working-indicator.d.ts +9 -0
  25. package/dist/components/chat-ui/components/workspace-hub.d.ts +8 -1
  26. package/dist/components/chat-ui/index.d.ts +4 -2
  27. package/dist/components/chat-ui/performance/chat-performance-fixtures.d.ts +0 -1
  28. package/dist/components/chat-ui/tool-rendering/build-timeline.d.ts +4 -14
  29. package/dist/components/chat-ui/tool-rendering/question-prompt.d.ts +9 -0
  30. package/dist/components/chat-ui/tool-rendering/shared.d.ts +1 -1
  31. package/dist/components/chat-ui/tool-rendering/types.d.ts +1 -2
  32. package/dist/components/command-palette/index.d.ts +4 -0
  33. package/dist/components/data-table/build-columns.d.ts +13 -2
  34. package/dist/components/data-table/categorical-color-cell.d.ts +8 -0
  35. package/dist/components/data-table/color-cell-style.d.ts +13 -0
  36. package/dist/components/data-table/color-scale-cell.d.ts +7 -0
  37. package/dist/components/data-table/data-table-column-menu.d.ts +12 -0
  38. package/dist/components/data-table/data-table-header.d.ts +18 -0
  39. package/dist/components/data-table/data-table-stat-chart.d.ts +21 -0
  40. package/dist/components/data-table/data-table-state.d.ts +27 -0
  41. package/dist/components/data-table/data-table-stats-row.d.ts +11 -0
  42. package/dist/components/data-table/data-table-stats.d.ts +19 -0
  43. package/dist/components/data-table/data-table-table-parts.d.ts +21 -0
  44. package/dist/components/data-table/data-table.story-descriptions.d.ts +6 -0
  45. package/dist/components/data-table/data-table.story-fixtures.d.ts +6 -0
  46. package/dist/components/data-table/friendly-json-display.d.ts +31 -0
  47. package/dist/components/data-table/index.d.ts +3 -1
  48. package/dist/components/data-table/json-cell.d.ts +6 -0
  49. package/dist/components/data-table/pagination-footer.d.ts +4 -1
  50. package/dist/components/data-table/selection-toolbar.d.ts +3 -1
  51. package/dist/components/data-table/types.d.ts +72 -0
  52. package/dist/components/diff-viewer/diff-card.d.ts +1 -0
  53. package/dist/components/diff-viewer/diff-drawer-scroll.d.ts +0 -19
  54. package/dist/components/diff-viewer/diff-drawer.d.ts +1 -0
  55. package/dist/components/diff-viewer/index.d.ts +2 -0
  56. package/dist/components/diff-viewer/use-selected-diff-scroll.d.ts +7 -3
  57. package/dist/components/internal/style-guide.d.ts +14 -0
  58. package/dist/components/internal/token-editor-controls.d.ts +8 -0
  59. package/dist/components/internal/token-editor-data.d.ts +40 -0
  60. package/dist/components/internal/token-editor-state.d.ts +22 -0
  61. package/dist/components/{data-renderer → kanban-renderer}/display-menu.d.ts +4 -4
  62. package/dist/components/{data-renderer → kanban-renderer}/filter-menu.d.ts +3 -3
  63. package/dist/components/kanban-renderer/index.d.ts +19 -0
  64. package/dist/components/kanban-renderer/kanban-renderer-attribute-badge.d.ts +7 -0
  65. package/dist/components/{data-renderer/data-renderer-board-column-header.d.ts → kanban-renderer/kanban-renderer-board-column-header.d.ts} +2 -2
  66. package/dist/components/{data-renderer/data-renderer-board-group-section.d.ts → kanban-renderer/kanban-renderer-board-group-section.d.ts} +2 -2
  67. package/dist/components/{data-renderer/data-renderer-board-move.d.ts → kanban-renderer/kanban-renderer-board-move.d.ts} +3 -3
  68. package/dist/components/{data-renderer/data-renderer-board.d.ts → kanban-renderer/kanban-renderer-board.d.ts} +16 -15
  69. package/dist/components/{data-renderer/data-renderer-card.d.ts → kanban-renderer/kanban-renderer-card.d.ts} +5 -4
  70. package/dist/components/{data-renderer/data-renderer-content.d.ts → kanban-renderer/kanban-renderer-content.d.ts} +8 -8
  71. package/dist/components/kanban-renderer/kanban-renderer-create-dialog.d.ts +12 -0
  72. package/dist/components/kanban-renderer/kanban-renderer-create-field.d.ts +10 -0
  73. package/dist/components/kanban-renderer/kanban-renderer-grouping.d.ts +23 -0
  74. package/dist/components/{data-renderer/data-renderer-helpers.d.ts → kanban-renderer/kanban-renderer-helpers.d.ts} +15 -15
  75. package/dist/components/kanban-renderer/kanban-renderer-list-items.d.ts +25 -0
  76. package/dist/components/kanban-renderer/kanban-renderer-list.d.ts +43 -0
  77. package/dist/components/{data-renderer/data-renderer-story-fixtures.d.ts → kanban-renderer/kanban-renderer-story-fixtures.d.ts} +3 -2
  78. package/dist/components/kanban-renderer/kanban-renderer-toolbar.d.ts +15 -0
  79. package/dist/components/kanban-renderer/kanban-renderer-view-bar.d.ts +14 -0
  80. package/dist/components/kanban-renderer/kanban-renderer-views.d.ts +12 -0
  81. package/dist/components/{data-renderer/data-renderer.d.ts → kanban-renderer/kanban-renderer.d.ts} +12 -9
  82. package/dist/components/{data-renderer → kanban-renderer}/types.d.ts +51 -14
  83. package/dist/components/kanban-renderer/use-kanban-renderer-store.d.ts +78 -0
  84. package/dist/components/layout/index.d.ts +7 -0
  85. package/dist/components/layout/panel-header.constants.d.ts +3 -0
  86. package/dist/components/{resizable-split-layout.d.ts → layout/resizable-split-layout.d.ts} +3 -2
  87. package/dist/components/layout/resizable-split-layout.geometry.d.ts +56 -0
  88. package/dist/components/{resizable-split-layout.handle.d.ts → layout/resizable-split-layout.handle.d.ts} +6 -2
  89. package/dist/components/layout/resizable-split-layout.panels.d.ts +25 -0
  90. package/dist/components/list-row/list-row-actions.d.ts +1 -0
  91. package/dist/components/list-row/list-row-content.d.ts +7 -0
  92. package/dist/components/list-row/list-row.types.d.ts +4 -1
  93. package/dist/components/overlays/attached-menu.d.ts +6 -0
  94. package/dist/components/overlays/attachment-chip.d.ts +13 -0
  95. package/dist/components/overlays/index.d.ts +16 -0
  96. package/dist/components/{resource-context-menu.d.ts → overlays/resource-context-menu.d.ts} +13 -1
  97. package/dist/components/{search-modal-content.d.ts → overlays/search-modal-content.d.ts} +1 -1
  98. package/dist/components/{searchable-menu.d.ts → overlays/searchable-menu.d.ts} +1 -1
  99. package/dist/components/param-editor/index.d.ts +24 -0
  100. package/dist/components/param-editor/inputs/action-input.d.ts +13 -0
  101. package/dist/components/param-editor/inputs/anchor-grid-input.d.ts +12 -0
  102. package/dist/components/param-editor/inputs/anchor-grid.d.ts +4 -0
  103. package/dist/components/param-editor/inputs/file-accept.d.ts +22 -0
  104. package/dist/components/param-editor/inputs/file-drop-input.d.ts +14 -0
  105. package/dist/components/param-editor/inputs/numeric-value.d.ts +6 -0
  106. package/dist/components/param-editor/inputs/range-input.d.ts +17 -0
  107. package/dist/components/param-editor/inputs/range-value.d.ts +5 -0
  108. package/dist/components/param-editor/inputs/resource-input-chips.d.ts +15 -0
  109. package/dist/components/param-editor/inputs/resource-input.d.ts +18 -0
  110. package/dist/components/param-editor/inputs/segmented-input.d.ts +14 -0
  111. package/dist/components/param-editor/{selection-input.d.ts → inputs/selection-input.d.ts} +6 -6
  112. package/dist/components/param-editor/inputs/selection-menu.d.ts +29 -0
  113. package/dist/components/param-editor/inputs/slider-marks.d.ts +5 -0
  114. package/dist/components/param-editor/inputs/vector-input.d.ts +17 -0
  115. package/dist/components/param-editor/inputs/vector-value.d.ts +7 -0
  116. package/dist/components/param-editor/param-editor-control-item.d.ts +15 -0
  117. package/dist/components/param-editor/param-editor-control-list.d.ts +5 -0
  118. package/dist/components/param-editor/param-editor-field-label.d.ts +1 -0
  119. package/dist/components/param-editor/param-editor-field.d.ts +11 -0
  120. package/dist/components/param-editor/param-editor-horizontal.d.ts +1 -0
  121. package/dist/components/param-editor/param-editor-inline-group.d.ts +5 -0
  122. package/dist/components/param-editor/param-editor-read-only-field.d.ts +9 -0
  123. package/dist/components/param-editor/param-editor-section.d.ts +17 -0
  124. package/dist/components/param-editor/param-editor.d.ts +3 -1
  125. package/dist/components/param-editor/param-editor.types.d.ts +135 -24
  126. package/dist/components/{breadcrumb.d.ts → primitives/breadcrumb.d.ts} +1 -1
  127. package/dist/components/primitives/index.d.ts +28 -0
  128. package/dist/components/{number-input.d.ts → primitives/number-input.d.ts} +0 -2
  129. package/dist/components/{session-indicator.d.ts → primitives/session-indicator.d.ts} +2 -1
  130. package/dist/components/{tooltip.d.ts → primitives/tooltip.d.ts} +0 -1
  131. package/dist/components/rich-text/prompt-input/commands.d.ts +0 -17
  132. package/dist/components/rich-text/prompt-input/events.d.ts +0 -13
  133. package/dist/components/rich-text/prompt-input/plugins/CommentPlugin/nodes/CommentNode/CommentNode.d.ts +1 -2
  134. package/dist/components/rich-text/prompt-input/plugins/ReferenceMenuPlugin/ReferenceMenuPlugin.d.ts +2 -1
  135. package/dist/components/rich-text/prompt-input/plugins/ReferenceMenuPlugin/hooks/useContextLookup.d.ts +2 -1
  136. package/dist/components/rich-text/prompt-input/plugins/ReferencePlugin/ReferencePlugin.d.ts +2 -1
  137. package/dist/components/rich-text/prompt-input/plugins/ReferencePlugin/nodes/ReferenceNode/ReferenceNode.d.ts +1 -2
  138. package/dist/components/rich-text/prompt-input/prompt-input.d.ts +3 -2
  139. package/dist/components/rich-text/prompt-input/utils.d.ts +1 -2
  140. package/dist/components/rich-text/shared/plugins/MermaidPlugin/MermaidNode.d.ts +0 -1
  141. package/dist/components/rich-text/types.d.ts +1 -1
  142. package/dist/components/rich-text/utils/inferResourceType.d.ts +1 -1
  143. package/dist/components/{sidebar/sidebar-footer.d.ts → sidenav/sidenav-footer.d.ts} +2 -2
  144. package/dist/components/{sidebar/sidebar-header.d.ts → sidenav/sidenav-header.d.ts} +2 -2
  145. package/dist/components/sidenav/sidenav.d.ts +2 -0
  146. package/dist/components/sidenav/sidenav.store.d.ts +49 -0
  147. package/dist/components/{sidebar/sidebar.types.d.ts → sidenav/sidenav.types.d.ts} +6 -6
  148. package/dist/components/tab-strip/tab-visibility-filter.d.ts +2 -1
  149. package/dist/components/tag-editor/tag-editor-row.d.ts +1 -1
  150. package/dist/components/tag-editor/tag-editor.types.d.ts +1 -1
  151. package/dist/components/terminal/bind-session.d.ts +33 -0
  152. package/dist/components/terminal/index.d.ts +6 -0
  153. package/dist/components/terminal/scripted-bridge.d.ts +35 -0
  154. package/dist/components/terminal/terminal-contract.d.ts +22 -0
  155. package/dist/components/terminal/terminal-theme.d.ts +12 -0
  156. package/dist/components/terminal/terminal.d.ts +56 -0
  157. package/dist/components/terminal/types.d.ts +35 -0
  158. package/dist/components/terminal/use-terminal-session.d.ts +21 -0
  159. package/dist/components/tree-list/tree-list-order-filter.d.ts +1 -2
  160. package/dist/components/tree-list/tree-list-visibility-filter.d.ts +1 -2
  161. package/dist/components/tree-list/tree-list.d.ts +2 -2
  162. package/dist/components/tree-list/tree-list.types.d.ts +4 -0
  163. package/dist/data-table.js +1271 -0
  164. package/dist/data-table.js.map +1 -0
  165. package/dist/diff-editor-BnfV8cYB.js +182 -0
  166. package/dist/diff-editor-BnfV8cYB.js.map +1 -0
  167. package/dist/diff.js +1313 -0
  168. package/dist/diff.js.map +1 -0
  169. package/dist/empty-state-Bo4HVrgr.js +34 -0
  170. package/dist/empty-state-Bo4HVrgr.js.map +1 -0
  171. package/dist/foundations/gallery/gallery-frame.d.ts +21 -0
  172. package/dist/foundations/gallery/sections/badges-section.d.ts +1 -0
  173. package/dist/foundations/gallery/sections/buttons-section.d.ts +1 -0
  174. package/dist/foundations/gallery/sections/composite-chat-section.d.ts +1 -0
  175. package/dist/foundations/gallery/sections/composites-section.d.ts +1 -0
  176. package/dist/foundations/gallery/sections/feedback-section.d.ts +1 -0
  177. package/dist/foundations/gallery/sections/input-authoring-card.d.ts +1 -0
  178. package/dist/foundations/gallery/sections/inputs-section.d.ts +1 -0
  179. package/dist/foundations/gallery/sections/layout-section.d.ts +1 -0
  180. package/dist/foundations/gallery/sections/navigation-identity-section.d.ts +1 -0
  181. package/dist/foundations/gallery/sections/overlays-section.d.ts +1 -0
  182. package/dist/foundations/gallery/sections/panels-section.d.ts +1 -0
  183. package/dist/foundations/gallery/sections/param-editor-composite-card.d.ts +1 -0
  184. package/dist/foundations/gallery/sections/settings-composite-cards.d.ts +1 -0
  185. package/dist/index.d.ts +14 -87
  186. package/dist/index.js +2027 -7501
  187. package/dist/index.js.map +1 -1
  188. package/dist/kanban-renderer-toolbar-B9ro-9z1.js +1318 -0
  189. package/dist/kanban-renderer-toolbar-B9ro-9z1.js.map +1 -0
  190. package/dist/kanban-renderer.js +1087 -0
  191. package/dist/kanban-renderer.js.map +1 -0
  192. package/dist/list-row-YRUxEcy3.js +808 -0
  193. package/dist/list-row-YRUxEcy3.js.map +1 -0
  194. package/dist/mermaid-renderer-DZo3qj6D.js +425 -0
  195. package/dist/mermaid-renderer-DZo3qj6D.js.map +1 -0
  196. package/dist/mermaid.js +5 -0
  197. package/dist/mermaid.js.map +1 -0
  198. package/dist/param-editor-CYZJbmKu.js +933 -0
  199. package/dist/param-editor-CYZJbmKu.js.map +1 -0
  200. package/dist/param-editor-read-only-field-DgtLqcFa.js +925 -0
  201. package/dist/param-editor-read-only-field-DgtLqcFa.js.map +1 -0
  202. package/dist/prism-BXb57lxL.js +125 -0
  203. package/dist/prism-BXb57lxL.js.map +1 -0
  204. package/dist/radio-cLMEBBZk.js +76 -0
  205. package/dist/radio-cLMEBBZk.js.map +1 -0
  206. package/dist/resource-badge-qCWHP-wQ.js +99 -0
  207. package/dist/resource-badge-qCWHP-wQ.js.map +1 -0
  208. package/dist/{rich-message-DNSEhxXh.js → rich-message-DBf_5YlW.js} +462 -481
  209. package/dist/rich-message-DBf_5YlW.js.map +1 -0
  210. package/dist/rich-text.js +300 -299
  211. package/dist/rich-text.js.map +1 -1
  212. package/dist/scroll-area-BMbg1WcD.js +91 -0
  213. package/dist/scroll-area-BMbg1WcD.js.map +1 -0
  214. package/dist/style.css +1 -1
  215. package/dist/terminal.js +359 -0
  216. package/dist/terminal.js.map +1 -0
  217. package/dist/theme/global.d.ts +3 -0
  218. package/dist/theme/primitives/sizes.d.ts +23 -0
  219. package/dist/theme/recipes/badge.d.ts +50 -0
  220. package/dist/theme/recipes/button.d.ts +30 -19
  221. package/dist/theme/recipes/color-picker.d.ts +1 -0
  222. package/dist/theme/recipes/dialog.d.ts +1 -1
  223. package/dist/theme/recipes/drawer.d.ts +1 -1
  224. package/dist/theme/recipes/input.d.ts +55 -0
  225. package/dist/theme/recipes/number-input.d.ts +98 -0
  226. package/dist/theme/recipes/tabs.d.ts +49 -28
  227. package/dist/theme/recipes/textarea.d.ts +62 -1
  228. package/dist/theme/recipes/timeline.d.ts +74 -0
  229. package/dist/theme/tokens/borders.d.ts +0 -3
  230. package/dist/theme/tokens/colors.d.ts +118 -94
  231. package/dist/{theme-25P7ij4C.js → theme-CNhnbvcE.js} +1300 -375
  232. package/dist/theme-CNhnbvcE.js.map +1 -0
  233. package/dist/theme-preference-DOzHx64J.js +123 -0
  234. package/dist/theme-preference-DOzHx64J.js.map +1 -0
  235. package/dist/theme.js +1 -1
  236. package/dist/tree-list-CZHLAURU.js +1033 -0
  237. package/dist/tree-list-CZHLAURU.js.map +1 -0
  238. package/package.json +29 -3
  239. package/dist/components/data-renderer/card-interaction-guard.d.ts +0 -2
  240. package/dist/components/data-renderer/data-renderer-attribute-badge.d.ts +0 -7
  241. package/dist/components/data-renderer/data-renderer-grouping.d.ts +0 -23
  242. package/dist/components/data-renderer/data-renderer-list.d.ts +0 -39
  243. package/dist/components/data-renderer/data-renderer-toolbar.d.ts +0 -12
  244. package/dist/components/data-renderer/use-data-renderer-store.d.ts +0 -59
  245. package/dist/components/file-tree-helpers.d.ts +0 -8
  246. package/dist/components/open-source-notices-screen.d.ts +0 -20
  247. package/dist/components/panel-header.constants.d.ts +0 -1
  248. package/dist/components/param-editor/input-group.d.ts +0 -10
  249. package/dist/components/rich-text/shared/plugins/MermaidPlugin/index.d.ts +0 -1
  250. package/dist/components/rich-text/shared/plugins/TableActionMenuPlugin/TableActionMenuPlugin.d.ts +0 -5
  251. package/dist/components/rich-text/shared/plugins/TableCellResizerPlugin/TableCellResizerPlugin.d.ts +0 -2
  252. package/dist/components/rich-text/theme/report-theme.d.ts +0 -3
  253. package/dist/components/sidebar/sidebar.d.ts +0 -2
  254. package/dist/components/sidebar/sidebar.store.d.ts +0 -49
  255. package/dist/components/style-guide-data.d.ts +0 -40
  256. package/dist/components/style-guide.d.ts +0 -1
  257. package/dist/mermaid-renderer-CPGj6vsb.js +0 -570
  258. package/dist/mermaid-renderer-CPGj6vsb.js.map +0 -1
  259. package/dist/radio-DJtQY9po.js +0 -286
  260. package/dist/radio-DJtQY9po.js.map +0 -1
  261. package/dist/resource-badge-CeJTOn8F.js +0 -188
  262. package/dist/resource-badge-CeJTOn8F.js.map +0 -1
  263. package/dist/rich-message-DNSEhxXh.js.map +0 -1
  264. package/dist/theme-25P7ij4C.js.map +0 -1
  265. package/dist/utils/formats.d.ts +0 -7
  266. /package/dist/components/{palette-filter.d.ts → command-palette/palette-filter.d.ts} +0 -0
  267. /package/dist/components/{palette-list.d.ts → command-palette/palette-list.d.ts} +0 -0
  268. /package/dist/components/{palette-shortcut.d.ts → command-palette/palette-shortcut.d.ts} +0 -0
  269. /package/dist/components/{palette.d.ts → command-palette/palette.d.ts} +0 -0
  270. /package/dist/components/{code-editor.d.ts → diff-viewer/code-editor.d.ts} +0 -0
  271. /package/dist/components/{column-file-browser.d.ts → file-browser/column-file-browser.d.ts} +0 -0
  272. /package/dist/components/{performance-panel.d.ts → internal/performance-panel.d.ts} +0 -0
  273. /package/dist/components/{data-renderer/data-renderer-badge-helpers.d.ts → kanban-renderer/kanban-renderer-badge-helpers.d.ts} +0 -0
  274. /package/dist/components/{data-renderer/data-renderer-enum-helpers.d.ts → kanban-renderer/kanban-renderer-enum-helpers.d.ts} +0 -0
  275. /package/dist/components/{data-renderer → kanban-renderer}/use-resolved-attributes.d.ts +0 -0
  276. /package/dist/components/{header.d.ts → layout/header.d.ts} +0 -0
  277. /package/dist/components/{horizontal-menu-stack.d.ts → layout/horizontal-menu-stack.d.ts} +0 -0
  278. /package/dist/components/{item-section.d.ts → layout/item-section.d.ts} +0 -0
  279. /package/dist/components/{attached-panel.d.ts → overlays/attached-panel.d.ts} +0 -0
  280. /package/dist/components/{bubble-button.d.ts → overlays/bubble-button.d.ts} +0 -0
  281. /package/dist/components/{bubble-panel.d.ts → overlays/bubble-panel.d.ts} +0 -0
  282. /package/dist/components/{delete-confirmation-modal.d.ts → overlays/delete-confirmation-modal.d.ts} +0 -0
  283. /package/dist/components/{repo-picker-dialog.d.ts → overlays/repo-picker-dialog.d.ts} +0 -0
  284. /package/dist/components/param-editor/{color-input.d.ts → inputs/color-input.d.ts} +0 -0
  285. /package/dist/components/param-editor/{date-input.d.ts → inputs/date-input.d.ts} +0 -0
  286. /package/dist/components/param-editor/{horizontal-text-input.d.ts → inputs/horizontal-text-input.d.ts} +0 -0
  287. /package/dist/components/param-editor/{number-input.d.ts → inputs/number-input.d.ts} +0 -0
  288. /package/dist/components/param-editor/{text-input.d.ts → inputs/text-input.d.ts} +0 -0
  289. /package/dist/components/{alert.d.ts → primitives/alert.d.ts} +0 -0
  290. /package/dist/components/{checkbox.d.ts → primitives/checkbox.d.ts} +0 -0
  291. /package/dist/components/{content-placeholder.d.ts → primitives/content-placeholder.d.ts} +0 -0
  292. /package/dist/components/{empty-state.d.ts → primitives/empty-state.d.ts} +0 -0
  293. /package/dist/components/{error-boundary.d.ts → primitives/error-boundary.d.ts} +0 -0
  294. /package/dist/components/{icon-color-picker.d.ts → primitives/icon-color-picker.d.ts} +0 -0
  295. /package/dist/components/{info-card.d.ts → primitives/info-card.d.ts} +0 -0
  296. /package/dist/components/{integration-card.d.ts → primitives/integration-card.d.ts} +0 -0
  297. /package/dist/components/{radio.d.ts → primitives/radio.d.ts} +0 -0
  298. /package/dist/components/{resource-badge.d.ts → primitives/resource-badge.d.ts} +0 -0
  299. /package/dist/components/{scroll-area.d.ts → primitives/scroll-area.d.ts} +0 -0
  300. /package/dist/components/{simple-card.d.ts → primitives/simple-card.d.ts} +0 -0
  301. /package/dist/components/{slider.d.ts → primitives/slider.d.ts} +0 -0
  302. /package/dist/components/{switch.d.ts → primitives/switch.d.ts} +0 -0
  303. /package/dist/components/{toaster.d.ts → primitives/toaster.d.ts} +0 -0
  304. /package/dist/components/{workspace-badge.d.ts → primitives/workspace-badge.d.ts} +0 -0
@@ -0,0 +1,70 @@
1
+ import { jsx as m, jsxs as S } from "react/jsx-runtime";
2
+ import { c as w } from "react/compiler-runtime";
3
+ import { Checkbox as s } from "@chakra-ui/react";
4
+ import * as I from "react";
5
+ const L = I.forwardRef(function(k, R) {
6
+ const e = w(33);
7
+ let r, t, l, i, a, f, u;
8
+ e[0] !== k ? ({
9
+ icon: t,
10
+ children: r,
11
+ inputProps: l,
12
+ rootRef: a,
13
+ disabled: f,
14
+ readOnly: u,
15
+ ...i
16
+ } = k, e[0] = k, e[1] = r, e[2] = t, e[3] = l, e[4] = i, e[5] = a, e[6] = f, e[7] = u) : (r = e[1], t = e[2], l = e[3], i = e[4], a = e[5], f = e[6], u = e[7]);
17
+ const h = f === void 0 ? !1 : f, g = u === void 0 ? !1 : u, o = h ? "not-allowed" : g ? "default" : "pointer";
18
+ let n;
19
+ e[8] !== l || e[9] !== R ? (n = /* @__PURE__ */ m(s.HiddenInput, { ref: R, ...l }), e[8] = l, e[9] = R, e[10] = n) : n = e[10];
20
+ let C, p, y;
21
+ e[11] === /* @__PURE__ */ Symbol.for("react.memo_cache_sentinel") ? (C = {
22
+ borderColor: "border.accent-light"
23
+ }, p = {
24
+ borderColor: "border.accent-light"
25
+ }, y = {
26
+ borderColor: "border.accent-light",
27
+ outline: "none",
28
+ boxShadow: "none"
29
+ }, e[11] = C, e[12] = p, e[13] = y) : (C = e[11], p = e[12], y = e[13]);
30
+ let _;
31
+ e[14] === /* @__PURE__ */ Symbol.for("react.memo_cache_sentinel") ? (_ = {
32
+ bg: "bg.button.primary.default",
33
+ borderColor: "bg.button.primary.default",
34
+ color: "fg.button.primary.default",
35
+ _hover: {
36
+ borderColor: "bg.button.primary.default"
37
+ },
38
+ _active: {
39
+ borderColor: "bg.button.primary.default"
40
+ }
41
+ }, e[14] = _) : _ = e[14];
42
+ let x;
43
+ e[15] === /* @__PURE__ */ Symbol.for("react.memo_cache_sentinel") ? (x = {
44
+ bg: "bg.button.primary.default",
45
+ borderColor: "bg.button.primary.default",
46
+ color: "fg.button.primary.default",
47
+ _hover: {
48
+ borderColor: "bg.button.primary.default"
49
+ },
50
+ _active: {
51
+ borderColor: "bg.button.primary.default"
52
+ }
53
+ }, e[15] = x) : x = e[15];
54
+ let b;
55
+ e[16] !== t ? (b = t ? /* @__PURE__ */ m(s.Indicator, { children: t }) : /* @__PURE__ */ m(s.Indicator, {}), e[16] = t, e[17] = b) : b = e[17];
56
+ let d;
57
+ e[18] !== o || e[19] !== b ? (d = /* @__PURE__ */ m(s.Control, { bg: "bg", borderColor: "border", borderRadius: "xs", color: "fg.button.primary.default", cursor: o, transition: "border-color 0.2s ease-in-out", boxShadow: "none", _hover: C, _active: p, _focusVisible: y, _checked: _, _indeterminate: x, children: b }), e[18] = o, e[19] = b, e[20] = d) : d = e[20];
58
+ let c;
59
+ e[21] !== r || e[22] !== o ? (c = r != null && /* @__PURE__ */ m(s.Label, { cursor: o, children: r }), e[21] = r, e[22] = o, e[23] = c) : c = e[23];
60
+ let v;
61
+ return e[24] !== h || e[25] !== o || e[26] !== g || e[27] !== i || e[28] !== a || e[29] !== c || e[30] !== n || e[31] !== d ? (v = /* @__PURE__ */ S(s.Root, { ref: a, disabled: h, readOnly: g, cursor: o, ...i, children: [
62
+ n,
63
+ d,
64
+ c
65
+ ] }), e[24] = h, e[25] = o, e[26] = g, e[27] = i, e[28] = a, e[29] = c, e[30] = n, e[31] = d, e[32] = v) : v = e[32], v;
66
+ });
67
+ export {
68
+ L as C
69
+ };
70
+ //# sourceMappingURL=checkbox-B2zYVemL.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"checkbox-B2zYVemL.js","sources":["../src/components/primitives/checkbox.tsx"],"sourcesContent":["import { Checkbox as ChakraCheckbox } from \"@chakra-ui/react\";\nimport * as React from \"react\";\n\nexport interface CheckboxProps extends ChakraCheckbox.RootProps {\n icon?: React.ReactNode;\n inputProps?: React.InputHTMLAttributes<HTMLInputElement>;\n rootRef?: React.RefObject<HTMLLabelElement | null>;\n}\n\nexport const Checkbox = React.forwardRef<HTMLInputElement, CheckboxProps>(function Checkbox(props, ref) {\n const { icon, children, inputProps, rootRef, disabled = false, readOnly = false, ...rest } = props;\n const interactiveCursor = disabled ? \"not-allowed\" : readOnly ? \"default\" : \"pointer\";\n\n return (\n <ChakraCheckbox.Root ref={rootRef} disabled={disabled} readOnly={readOnly} cursor={interactiveCursor} {...rest}>\n <ChakraCheckbox.HiddenInput ref={ref} {...inputProps} />\n <ChakraCheckbox.Control\n bg=\"bg\"\n borderColor=\"border\"\n borderRadius=\"xs\"\n color=\"fg.button.primary.default\"\n cursor={interactiveCursor}\n transition=\"border-color 0.2s ease-in-out\"\n boxShadow=\"none\"\n _hover={{ borderColor: \"border.accent-light\" }}\n _active={{ borderColor: \"border.accent-light\" }}\n _focusVisible={{ borderColor: \"border.accent-light\", outline: \"none\", boxShadow: \"none\" }}\n _checked={{\n bg: \"bg.button.primary.default\",\n borderColor: \"bg.button.primary.default\",\n color: \"fg.button.primary.default\",\n _hover: { borderColor: \"bg.button.primary.default\" },\n _active: { borderColor: \"bg.button.primary.default\" },\n }}\n _indeterminate={{\n bg: \"bg.button.primary.default\",\n borderColor: \"bg.button.primary.default\",\n color: \"fg.button.primary.default\",\n _hover: { borderColor: \"bg.button.primary.default\" },\n _active: { borderColor: \"bg.button.primary.default\" },\n }}\n >\n {icon ? <ChakraCheckbox.Indicator>{icon}</ChakraCheckbox.Indicator> : <ChakraCheckbox.Indicator />}\n </ChakraCheckbox.Control>\n {children != null && <ChakraCheckbox.Label cursor={interactiveCursor}>{children}</ChakraCheckbox.Label>}\n </ChakraCheckbox.Root>\n );\n});\n"],"names":["Checkbox","React","forwardRef","props","ref","$","_c","children","icon","inputProps","rest","rootRef","t0","t1","disabled","readOnly","undefined","interactiveCursor","t2","t3","t4","t5","Symbol","for","borderColor","outline","boxShadow","t6","bg","color","_hover","_active","t7","t8","jsx","ChakraCheckbox","t9","t10","t11","jsxs"],"mappings":"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"}
@@ -1,6 +1,6 @@
1
1
  import { HTMLChakraProps, IconButtonProps } from '@chakra-ui/react';
2
2
  import { StickToBottom as StickToBottomEl } from 'use-stick-to-bottom';
3
- import { ScrollArea } from '../../scroll-area';
3
+ import { ScrollArea } from '../../primitives/scroll-area';
4
4
  export type ConversationRootProps = HTMLChakraProps<"div", React.ComponentProps<typeof StickToBottomEl>>;
5
5
  export declare const conversationRootDefaultProps: {
6
6
  readonly "aria-roledescription": "conversation";
@@ -11,7 +11,7 @@ declare const recipe: import('@chakra-ui/react').SlotRecipeDefinition<"content"
11
11
  borderRightWidth: "1px";
12
12
  borderBottomWidth: "1px";
13
13
  borderLeftWidth: "1px";
14
- borderColor: "border.muted";
14
+ borderColor: "border.subtle";
15
15
  bg: "bg.subtle";
16
16
  px: "xs";
17
17
  py: "xs";
@@ -2,5 +2,4 @@ import { BoxProps } from '@chakra-ui/react';
2
2
  export interface ChatRichContentProps extends Omit<BoxProps, "children"> {
3
3
  children: string;
4
4
  }
5
- export declare const ChatRichContent: (props: ChatRichContentProps) => import("react/jsx-runtime").JSX.Element;
6
5
  export declare const Response: (props: ChatRichContentProps) => import("react/jsx-runtime").JSX.Element;
@@ -1,5 +1,5 @@
1
1
  import { ReactNode } from 'react';
2
- import { ResourceBadgeProps } from '../../resource-badge';
2
+ import { ResourceBadgeProps } from '../../primitives/resource-badge';
3
3
  export type AttachmentListRenderBadge = (props: AttachmentListItemRenderProps) => ReactNode;
4
4
  export interface AttachmentListItemRenderProps {
5
5
  attachmentId: string;
@@ -1,10 +1,37 @@
1
1
  export interface AutoScrollProps {
2
2
  userMessageCount: number;
3
+ conversationKey?: string | null;
3
4
  }
4
5
  interface ShouldAutoScrollArgs {
5
6
  previousUserMessageCount: number;
6
7
  userMessageCount: number;
7
8
  }
9
+ export interface AutoScrollState {
10
+ conversationKey: string | null;
11
+ userMessageCount: number;
12
+ }
13
+ interface NextAutoScrollStateArgs {
14
+ state: AutoScrollState;
15
+ conversationKey?: string | null;
16
+ userMessageCount: number;
17
+ }
18
+ interface ScrollForNextAutoScrollStateArgs extends NextAutoScrollStateArgs {
19
+ scrollToBottom: (animation?: "instant") => void;
20
+ }
8
21
  export declare const shouldAutoScroll: (args: ShouldAutoScrollArgs) => boolean;
22
+ export declare const getNextAutoScrollState: (args: NextAutoScrollStateArgs) => {
23
+ shouldScroll: boolean;
24
+ state: {
25
+ conversationKey: string | null;
26
+ userMessageCount: number;
27
+ };
28
+ };
29
+ export declare const scrollForNextAutoScrollState: (args: ScrollForNextAutoScrollStateArgs) => {
30
+ shouldScroll: boolean;
31
+ state: {
32
+ conversationKey: string | null;
33
+ userMessageCount: number;
34
+ };
35
+ };
9
36
  export declare function AutoScroll(props: AutoScrollProps): null;
10
37
  export {};
@@ -1,5 +1,6 @@
1
1
  interface ChatInputActionState {
2
2
  canInterrupt: boolean;
3
+ hasQuestionPrompt: boolean;
3
4
  isDisabled: boolean;
4
5
  streaming: boolean;
5
6
  text: string;
@@ -1,6 +1,7 @@
1
1
  import { ReactNode } from 'react';
2
+ import { ReferenceItem } from '../../rich-text';
2
3
  import { ChatInputQuestionPrompt, ChatInputQuestionResponse } from './chat-input-question-prompt';
3
- interface ChatInputProps {
4
+ export interface ChatInputProps {
4
5
  defaultState: string;
5
6
  placeholder?: string;
6
7
  onSubmit?: (text: string, attachments: string[], questionResponse?: ChatInputQuestionResponse) => void;
@@ -16,8 +17,13 @@ interface ChatInputProps {
16
17
  attachmentList?: ReactNode;
17
18
  actions?: ReactNode;
18
19
  attachedToTop?: boolean;
20
+ /** Recede the resting border to border.subtle when nested inside a stronger shell (the workspace hub). */
21
+ recessed?: boolean;
19
22
  questionPrompt?: ChatInputQuestionPrompt;
20
23
  autoFocus?: boolean;
24
+ focusSignal?: number;
25
+ submitTitle?: string;
26
+ references?: ReferenceItem[];
27
+ onAddReference?: (resourceId: string, resourceType: ReferenceItem["resourceType"]) => void;
21
28
  }
22
29
  export declare const ChatInput: (props: ChatInputProps) => import("react/jsx-runtime").JSX.Element;
23
- export {};
@@ -0,0 +1,22 @@
1
+ export interface MessageAnimationState {
2
+ initialized: boolean;
3
+ seenKeys: Set<string>;
4
+ }
5
+ interface NextMessageAnimationStateArgs {
6
+ itemKeys: string[];
7
+ state: MessageAnimationState;
8
+ }
9
+ export declare const messageFadeInProps: {
10
+ readonly animationName: "message-fade-in";
11
+ readonly animationDuration: "200ms";
12
+ readonly animationTimingFunction: "ease-out";
13
+ };
14
+ export declare const getNextMessageAnimationState: (args: NextMessageAnimationStateArgs) => {
15
+ animatedKeys: Set<string>;
16
+ state: {
17
+ initialized: boolean;
18
+ seenKeys: Set<string>;
19
+ };
20
+ };
21
+ export declare const useMessageAnimationKeys: (itemKeys: string[]) => Set<string>;
22
+ export {};
@@ -1,8 +1,10 @@
1
1
  import { ReactNode } from 'react';
2
+ import { ReferenceItem } from '../../rich-text';
2
3
  import { ChatInputQuestionPrompt, ChatInputQuestionResponse } from './chat-input-question-prompt';
3
- import { SessionMessage } from './message-types';
4
+ import { QueuedFollowUp, SessionMessage } from './message-types';
5
+ import { QueuedFollowUpMoveDirection } from './queued-follow-up-list-state';
4
6
  /** Full conversation shell for agent sessions, including messages, input, attachments, and host-provided slots. */
5
- interface ChatPanelProps {
7
+ export interface ChatPanelProps {
6
8
  /** Stable conversation identity used to reset ready state when switching sessions. */
7
9
  conversationKey?: string;
8
10
  messages: SessionMessage[];
@@ -19,9 +21,8 @@ interface ChatPanelProps {
19
21
  onAttachFiles?: (files: File[]) => void;
20
22
  onAttachText?: (text: string) => void;
21
23
  onChatInputChange?: (text: string) => void;
22
- /** Extra controls rendered near the chat input. */
24
+ /** Extra controls rendered in the chat input toolbar (attach, model, params). */
23
25
  actions?: ReactNode;
24
- repoMenu?: ReactNode;
25
26
  attachedResources?: string[];
26
27
  onClearAttachments?: () => void;
27
28
  attachmentList?: ReactNode;
@@ -32,6 +33,11 @@ interface ChatPanelProps {
32
33
  inputDisabled?: boolean;
33
34
  chatInputQuestionPrompt?: ChatInputQuestionPrompt;
34
35
  chatInputAutoFocus?: boolean;
36
+ queuedFollowUps?: QueuedFollowUp[];
37
+ onQueuedFollowUpUpdate?: (itemId: string, prompt: string) => void;
38
+ onQueuedFollowUpRemove?: (itemId: string) => void;
39
+ onQueuedFollowUpMove?: (itemId: string, direction: QueuedFollowUpMoveDirection, steps?: number) => void;
40
+ chatInputReferences?: ReferenceItem[];
41
+ onChatInputAddReference?: (resourceId: string, resourceType: ReferenceItem["resourceType"]) => void;
35
42
  }
36
43
  export declare const ChatPanel: (props: ChatPanelProps) => import("react/jsx-runtime").JSX.Element;
37
- export {};
@@ -0,0 +1 @@
1
+ export declare const COMPOSER_CONTROL_HEIGHT = "7";
@@ -0,0 +1,22 @@
1
+ export interface ConversationBrowseItem {
2
+ /** Turn id used to scroll the log to this user message. */
3
+ id: string;
4
+ /** The user message this tick indexes (shown in the hover card). */
5
+ message: string;
6
+ /** Optional assistant reply preview; hidden for a turn not yet answered. */
7
+ reply?: string;
8
+ }
9
+ interface ConversationBrowseProps {
10
+ items: ConversationBrowseItem[];
11
+ onSelect?: (id: string) => void;
12
+ /** Overlay the log's left edge with a scrim instead of reserving a gutter (panels under ~480px). */
13
+ floating?: boolean;
14
+ }
15
+ /**
16
+ * ChatBrowse — the conversation scrubber for the chat log's left gutter. One tick per user
17
+ * message, in order; the ticks nearest the pointer swell into a lens (growing along X only, so
18
+ * the row you aim at never moves), and the active tick raises a preview card. Clicking a tick
19
+ * selects that turn. Hidden below a few messages, where a gutter costs space and buys nothing.
20
+ */
21
+ export declare const ConversationBrowse: (props: ConversationBrowseProps) => import("react/jsx-runtime").JSX.Element | null;
22
+ export {};
@@ -88,9 +88,23 @@ export type SessionMessage = {
88
88
  };
89
89
  };
90
90
  };
91
+ export type QueuedFollowUp = {
92
+ id: string;
93
+ prompt: string;
94
+ attachments?: Array<{
95
+ id: string;
96
+ name: string;
97
+ mediaType?: string;
98
+ url?: string;
99
+ }>;
100
+ position?: number;
101
+ };
91
102
  export type MessageOrigin = "user" | "assistant" | "developer";
92
103
  export declare const getMessageOrigin: (role: string) => MessageOrigin;
93
104
  export declare const mergeReasoningToolOnlyMessages: (messages: SessionMessage[]) => SessionMessage[];
105
+ export declare const normalizeChatMessagesForDisplay: (messages: SessionMessage[], options?: {
106
+ streaming?: boolean;
107
+ }) => SessionMessage[];
94
108
  export interface MessageGroup {
95
109
  userMessage: SessionMessage;
96
110
  responses: SessionMessage[];
@@ -0,0 +1,4 @@
1
+ import { QueuedFollowUp } from './message-types';
2
+ export type QueuedFollowUpMoveDirection = "up" | "down";
3
+ export declare const moveQueuedFollowUp: (items: QueuedFollowUp[], itemId: string, direction: QueuedFollowUpMoveDirection, steps?: number) => QueuedFollowUp[];
4
+ export declare const reorderQueuedFollowUp: (items: QueuedFollowUp[], itemId: string, targetIndex: number) => QueuedFollowUp[];
@@ -0,0 +1,11 @@
1
+ import { QueuedFollowUp } from './message-types';
2
+ import { QueuedFollowUpMoveDirection } from './queued-follow-up-list-state';
3
+ interface QueuedFollowUpListProps {
4
+ items: QueuedFollowUp[];
5
+ editingItemId?: string | null;
6
+ onEdit?: (item: QueuedFollowUp) => void;
7
+ onRemove?: (itemId: string) => void;
8
+ onMove?: (itemId: string, direction: QueuedFollowUpMoveDirection, steps?: number) => void;
9
+ }
10
+ export declare const QueuedFollowUpList: (props: QueuedFollowUpListProps) => import("react/jsx-runtime").JSX.Element | null;
11
+ export {};
@@ -1,7 +1,5 @@
1
- import { Timeline as ChakraTimeline } from '@chakra-ui/react';
2
1
  import { ReactNode } from 'react';
3
2
  import { IconName } from '../utils/get-icon';
4
- export declare const Timeline: typeof ChakraTimeline;
5
3
  export type TimelineDoc = {
6
4
  items: Item[];
7
5
  };
@@ -96,6 +94,11 @@ export type Block = {
96
94
  } | {
97
95
  type: "references";
98
96
  references: string[];
97
+ } | {
98
+ type: "image";
99
+ src: string;
100
+ alt: string;
101
+ caption?: string;
99
102
  } | {
100
103
  type: "component";
101
104
  render: (ctx: {
@@ -0,0 +1,9 @@
1
+ /**
2
+ * Working indicator: a spinner followed by the elapsed run time in mono digits — never a
3
+ * static "Working…" label. The elapsed time is the one thing a static label cannot tell you
4
+ * and how you judge whether a run is stuck. Counts from the start of the active stream, including
5
+ * time spent temporarily hidden while the workspace initializes.
6
+ */
7
+ export declare const WorkingIndicator: (props: {
8
+ hidden?: boolean;
9
+ }) => import("react/jsx-runtime").JSX.Element | null;
@@ -1,12 +1,19 @@
1
1
  import { ReactNode } from 'react';
2
2
  type WorkspaceHubStatus = "ready" | "loading" | "error";
3
3
  interface ChatWorkspaceHubProps {
4
- changesLabel: string;
4
+ /** Workspace identity/selector shown at the start of the header (e.g. GitBranch + name). */
5
+ workspaceControl?: ReactNode;
5
6
  additions: number;
6
7
  deletions: number;
8
+ /** Icon-only action that opens the workspace resource. */
7
9
  action?: ReactNode;
8
10
  status?: WorkspaceHubStatus;
9
11
  statusLabel?: string;
10
12
  }
13
+ /**
14
+ * Workspace hub header: the frame the session sits in. The identity is always present;
15
+ * the slot beside it carries the diff counts, or the setup status while the workspace is
16
+ * being created or has failed. The open action recedes during setup.
17
+ */
11
18
  export declare const ChatWorkspaceHub: (props: ChatWorkspaceHubProps) => import("react/jsx-runtime").JSX.Element;
12
19
  export {};
@@ -6,11 +6,13 @@ export { ApprovalPrompt } from './components/approval-prompt';
6
6
  export { AttachmentList } from './components/attachment-list';
7
7
  export type { AutoScrollProps } from './components/auto-scroll';
8
8
  export { AutoScroll } from './components/auto-scroll';
9
- export { ChatInput } from './components/chat-input';
9
+ export { ChatInput, type ChatInputProps } from './components/chat-input';
10
10
  export type { ChatInputQuestionPrompt, ChatInputQuestionResponse } from './components/chat-input-question-prompt';
11
11
  export { ChatPanel } from './components/chat-panel';
12
12
  export { ChatSkeleton } from './components/chat-skeleton';
13
- export type { AlertPart, ChatMessagePart, SessionMessage, SessionMessagePart, ToolPart, } from './components/message-types';
13
+ export { ConversationBrowse, type ConversationBrowseItem } from './components/conversation-browse';
14
+ export type { AlertPart, ChatMessagePart, QueuedFollowUp, SessionMessage, SessionMessagePart, ToolPart, } from './components/message-types';
15
+ export type { QueuedFollowUpMoveDirection } from './components/queued-follow-up-list-state';
14
16
  export type { SendButtonProps } from './components/send-button';
15
17
  export { SendButton } from './components/send-button';
16
18
  export { ChatWorkspaceHub } from './components/workspace-hub';
@@ -11,7 +11,6 @@ export interface ChatPerformanceSession {
11
11
  messages: SessionMessage[];
12
12
  }
13
13
  export declare const CHAT_PERFORMANCE_STRESS_TURNS = 500;
14
- export declare const CHAT_PERFORMANCE_STRESS_MESSAGE_COUNT: number;
15
14
  export declare const buildLargeChatConversation: (options: LargeChatConversationOptions) => SessionMessage[];
16
15
  export declare const buildChatSessionSwitchFixture: () => {
17
16
  primarySession: {
@@ -1,21 +1,11 @@
1
1
  import { ToolPart } from '../components/message-types';
2
- import { Block, TitleSegment } from '../components/timeline';
3
- import { ToolRenderersMap, ToolTimelineBuilderOptions } from './types';
2
+ import { Block, Item, TitleSegment } from '../components/timeline';
3
+ import { ToolTimelineBuilderOptions } from './types';
4
4
  export declare const buildTimelineDocFromInvocations: (invocations: ToolPart[], options?: ToolTimelineBuilderOptions) => {
5
- items: (import('../components/timeline').Item | {
5
+ items: (Item | {
6
6
  indicator: {
7
7
  readonly type: "icon";
8
- readonly icon: "search" | "dot" | "danger" | "file" | "shell" | "ls" | "read_file" | "write_file" | "delete_file" | "patch" | "upload_files" | "download_file" | "move_file" | "browser" | "question" | "todo" | "terminal";
9
- };
10
- title: TitleSegment[];
11
- blocks: Block[];
12
- })[];
13
- };
14
- export declare const createToolTimelineBuilder: (toolRenderers: ToolRenderersMap) => (invocations: ToolPart[], options?: ToolTimelineBuilderOptions) => {
15
- items: (import('../components/timeline').Item | {
16
- indicator: {
17
- readonly type: "icon";
18
- readonly icon: "search" | "dot" | "danger" | "file" | "shell" | "ls" | "read_file" | "write_file" | "delete_file" | "patch" | "upload_files" | "download_file" | "move_file" | "browser" | "question" | "todo" | "terminal";
8
+ readonly icon: "search" | "dot" | "danger" | "file" | "terminal" | "shell" | "ls" | "read_file" | "write_file" | "delete_file" | "patch" | "upload_files" | "download_file" | "move_file" | "browser" | "question" | "todo";
19
9
  };
20
10
  title: TitleSegment[];
21
11
  blocks: Block[];
@@ -0,0 +1,9 @@
1
+ import { SessionMessage } from '../components/message-types';
2
+ import { QuestionFormBlockQuestion } from '../components/timeline';
3
+ export declare const getQuestionResponseText: (value: unknown) => string | null;
4
+ export declare const parseQuestionPrompt: (input: unknown) => {
5
+ questions: QuestionFormBlockQuestion[];
6
+ } | null;
7
+ export declare const resolveActiveQuestionPrompt: (messages: SessionMessage[]) => {
8
+ questions: QuestionFormBlockQuestion[];
9
+ } | undefined;
@@ -15,7 +15,7 @@ export declare const getStateLabel: (invocation: ToolPart) => string | null;
15
15
  export declare const isErrorState: (invocation: ToolPart) => boolean;
16
16
  export declare const buildIndicator: (invocation: ToolPart) => {
17
17
  readonly type: "icon";
18
- readonly icon: "search" | "dot" | "danger" | "file" | "shell" | "ls" | "read_file" | "write_file" | "delete_file" | "patch" | "upload_files" | "download_file" | "move_file" | "browser" | "question" | "todo" | "terminal";
18
+ readonly icon: "search" | "dot" | "danger" | "file" | "terminal" | "shell" | "ls" | "read_file" | "write_file" | "delete_file" | "patch" | "upload_files" | "download_file" | "move_file" | "browser" | "question" | "todo";
19
19
  };
20
20
  export declare const buildBaseTitle: (invocation: ToolPart, detail?: string, labelOverride?: string) => TitleSegment[];
21
21
  export declare const getInputObject: (invocation: ToolPart) => Record<string, unknown> | null;
@@ -1,5 +1,5 @@
1
1
  import { ToolPart } from '../components/message-types';
2
- import { Item, TimelineDoc } from '../components/timeline';
2
+ import { Item } from '../components/timeline';
3
3
  export type ToolRenderResult = Item;
4
4
  export type ToolRenderOptions = {
5
5
  labeledBlocks?: boolean;
@@ -10,4 +10,3 @@ export type ToolTimelineBuilderOptions = {
10
10
  labeledBlocks?: boolean;
11
11
  toolRenderers?: ToolRenderersMap;
12
12
  };
13
- export type ToolTimelineBuilder = (invocations: ToolPart[], options?: ToolTimelineBuilderOptions) => TimelineDoc;
@@ -0,0 +1,4 @@
1
+ export type { FilterPaletteEntriesOptions, PaletteEntry, PaletteEscapeContext, PaletteMode, PaletteProps, PaletteSearchEntry, PaletteState, PaletteStateValue, } from './palette';
2
+ export { DEFAULT_PALETTE_ASSET_LIMIT, filterPaletteEntries, Palette } from './palette';
3
+ export type { PaletteShortcutBinding } from './palette-shortcut';
4
+ export { PaletteShortcut } from './palette-shortcut';
@@ -1,3 +1,14 @@
1
+ import { RowSelectionState } from '@tanstack/react-table';
1
2
  import { ReactNode } from 'react';
2
- import { RowData } from './types';
3
- export declare function buildColumns(data: RowData[], columnKeys: string[], columnIcons?: Partial<Record<string, ReactNode>>): (import('@tanstack/react-table').AccessorFnColumnDef<RowData, number> | import('@tanstack/react-table').AccessorFnColumnDef<RowData, unknown>)[];
3
+ import { DataTableColumnRenderer, DataTableRowAction, RowData } from './types';
4
+ interface BuildColumnsOptions {
5
+ columnIcons?: Partial<Record<string, ReactNode>>;
6
+ columnDescriptions?: Partial<Record<string, string>>;
7
+ compactHeaders?: Partial<Record<string, string>>;
8
+ enableSelection?: boolean;
9
+ rowActions?: DataTableRowAction[];
10
+ selectedRowIds?: RowSelectionState;
11
+ columnRenderers?: Partial<Record<string, DataTableColumnRenderer>>;
12
+ }
13
+ export declare function buildColumns(data: RowData[], columnKeys: string[], options?: BuildColumnsOptions): ((import('@tanstack/react-table').ColumnDefBase<RowData, unknown> & import('@tanstack/react-table').StringHeaderIdentifier) | (import('@tanstack/react-table').ColumnDefBase<RowData, unknown> & import('@tanstack/react-table').IdIdentifier<RowData, unknown>) | (import('@tanstack/react-table').AccessorFnColumnDefBase<RowData, number> & import('@tanstack/react-table').StringHeaderIdentifier) | (import('@tanstack/react-table').AccessorFnColumnDefBase<RowData, number> & import('@tanstack/react-table').IdIdentifier<RowData, number>))[];
14
+ export {};
@@ -0,0 +1,8 @@
1
+ import { ReactNode } from 'react';
2
+ import { DataTableCategoricalColor } from './types';
3
+ interface CategoricalColorCellProps {
4
+ children: ReactNode;
5
+ }
6
+ export declare const resolveCategoricalColor: (value: unknown, categories: DataTableCategoricalColor[]) => import('./types').DataTableThemeColor | null;
7
+ export declare const CategoricalColorCell: (props: CategoricalColorCellProps) => ReactNode;
8
+ export {};
@@ -0,0 +1,13 @@
1
+ import { DataTableThemeColor } from './types';
2
+ export declare const parseHexColor: (color: string) => {
3
+ r: number;
4
+ g: number;
5
+ b: number;
6
+ } | null;
7
+ export declare const contrastRatioForHexColors: (foregroundColor: string, backgroundColor: string) => number;
8
+ export declare const resolveReadableTextColor: (backgroundColor: string) => string;
9
+ export declare const mixHexColors: (startColor: string, endColor: string, startWeight: number) => string | null;
10
+ export declare const resolveColorCellStyle: (color: DataTableThemeColor) => {
11
+ backgroundColor: string;
12
+ color: string;
13
+ };
@@ -0,0 +1,7 @@
1
+ import { DataTableColorScaleStop, DataTableThemeColor } from './types';
2
+ interface ColorScaleCellProps {
3
+ value: number;
4
+ }
5
+ export declare const resolveColorScaleValue: (value: unknown, stops: DataTableColorScaleStop[]) => DataTableThemeColor | null;
6
+ export declare const ColorScaleCell: (props: ColorScaleCellProps) => import("react/jsx-runtime").JSX.Element;
7
+ export {};
@@ -0,0 +1,12 @@
1
+ interface DataTableColumnMenuColumn {
2
+ id: string;
3
+ label: string;
4
+ }
5
+ interface DataTableColumnMenuProps {
6
+ columns: DataTableColumnMenuColumn[];
7
+ visibleColumnIds: Set<string>;
8
+ onColumnToggle: (columnId: string) => void;
9
+ onColumnReorder: (activeColumnId: string, overColumnId: string) => void;
10
+ }
11
+ export declare const DataTableColumnMenu: (props: DataTableColumnMenuProps) => import("react/jsx-runtime").JSX.Element;
12
+ export {};
@@ -0,0 +1,18 @@
1
+ import { ReactNode } from 'react';
2
+ import { AttributeDescriptor, KanbanRendererRow } from '../kanban-renderer/types';
3
+ import { DataTableSelectionAction, RowData } from './types';
4
+ interface DataTableHeaderProps {
5
+ rows: KanbanRendererRow[];
6
+ attributes: AttributeDescriptor[];
7
+ storageKey: string;
8
+ selectedCount: number;
9
+ totalCount: number;
10
+ visibleCount: number;
11
+ actions: DataTableSelectionAction[];
12
+ selectedRows: RowData[];
13
+ columnControl: ReactNode;
14
+ onClearSelection: () => void;
15
+ onSelectAll: () => void;
16
+ }
17
+ export declare const DataTableHeader: (props: DataTableHeaderProps) => import("react/jsx-runtime").JSX.Element;
18
+ export {};
@@ -0,0 +1,21 @@
1
+ import { UseChartProps } from '@chakra-ui/charts';
2
+ import { ReactNode } from 'react';
3
+ type ChartSeries<T> = NonNullable<UseChartProps<T>["series"]>[number];
4
+ type StringKeyOf<T> = Extract<keyof T, string>;
5
+ interface DataTableStatChartProps<T extends object> {
6
+ data: T[];
7
+ dataKey: StringKeyOf<T>;
8
+ color: ChartSeries<T>["color"];
9
+ height: string;
10
+ ariaLabel: string;
11
+ tooltipLabel: (datum: T) => ReactNode;
12
+ tooltipValue: (value: string | number) => ReactNode;
13
+ tooltipSeriesLabel: string;
14
+ layout?: "horizontal" | "vertical";
15
+ categoryKey?: StringKeyOf<T>;
16
+ domain?: [number, number];
17
+ barSize?: number;
18
+ barCategoryGap?: number;
19
+ }
20
+ export declare const DataTableStatChart: <T extends object>(props: DataTableStatChartProps<T>) => import("react/jsx-runtime").JSX.Element;
21
+ export {};
@@ -0,0 +1,27 @@
1
+ import { AttributeDescriptor, KanbanRendererFilterState, KanbanRendererRow } from '../kanban-renderer/types';
2
+ import { DataTableProps, DataTableSelectionAction, RowData } from './types';
3
+ export declare const defaultPageSize = 30;
4
+ export interface DataTableRendererRow extends KanbanRendererRow {
5
+ sourceRow: RowData;
6
+ }
7
+ export declare const resolveDataTableRowId: (row: RowData, index: number, getRowId?: DataTableProps["getRowId"]) => string;
8
+ export declare const resolveInitialPageSize: (props: Pick<DataTableProps, "initialPageSize">) => number;
9
+ export declare const getSelectedOriginalRows: (rows: Array<{
10
+ original: RowData;
11
+ }>) => RowData[];
12
+ export declare const resolveSelectionActions: (props: Pick<DataTableProps, "selectionActions" | "onCSVDownload" | "getRowId">) => DataTableSelectionAction[];
13
+ export declare const shouldEnableSelection: (props: Pick<DataTableProps, "selectionMode" | "selectionActions" | "onCSVDownload">) => boolean;
14
+ export declare const shouldHighlightActiveRow: (props: {
15
+ enableRowActivation?: boolean;
16
+ activeRowId?: string | null;
17
+ rowId: string;
18
+ }) => boolean;
19
+ export declare const buildDataTableRendererAttributes: (rows: RowData[], columnKeys: string[], compactHeaders?: Partial<Record<string, string>>) => AttributeDescriptor[];
20
+ export declare const buildDataTableRendererRows: (rows: RowData[], columnKeys: string[], getRowId?: DataTableProps["getRowId"]) => DataTableRendererRow[];
21
+ export declare const filterDataTableRows: (rows: DataTableRendererRow[], filters: KanbanRendererFilterState, attributes: AttributeDescriptor[]) => DataTableRendererRow[];
22
+ export declare const resolveDataTableColumnOrder: (availableColumnIds: string[], requestedColumnOrder: string[]) => string[];
23
+ export declare const reorderDataTableColumns: (columnIds: string[], activeColumnId: string, overColumnId: string) => string[];
24
+ export declare const resolveDataTableToolbarStorageKey: (props: {
25
+ toolbarStorageKey?: string;
26
+ columnKeys: string[];
27
+ }) => string;
@@ -0,0 +1,11 @@
1
+ import { HeaderGroup } from '@tanstack/react-table';
2
+ import { DataTableColumnStat, RowData } from './types';
3
+ interface DataTableStatsRowProps {
4
+ headerGroup: HeaderGroup<RowData>;
5
+ rows: RowData[];
6
+ columnStats: Partial<Record<string, DataTableColumnStat>>;
7
+ fullWidth?: boolean;
8
+ noBorder?: boolean;
9
+ }
10
+ export declare const DataTableStatsRow: (props: DataTableStatsRowProps) => import("react/jsx-runtime").JSX.Element | null;
11
+ export {};