@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
@@ -1,5 +1,5 @@
1
1
  import { Breadcrumb as ChakraBreadcrumb, SystemStyleObject } from '@chakra-ui/react';
2
- import { ResourceContextAction } from './resource-context-menu';
2
+ import { ResourceContextAction } from '../overlays/resource-context-menu';
3
3
  import * as React from "react";
4
4
  export interface BreadcrumbItem {
5
5
  title: React.ReactNode;
@@ -0,0 +1,28 @@
1
+ export type { AlertProps } from './alert';
2
+ export { AlertMessage } from './alert';
3
+ export type { BreadcrumbItem } from './breadcrumb';
4
+ export { Breadcrumb } from './breadcrumb';
5
+ export type { CheckboxProps } from './checkbox';
6
+ export { Checkbox } from './checkbox';
7
+ export { ContentPlaceholder, Label as ContentPlaceholderLabel } from './content-placeholder';
8
+ export type { EmptyStateProps } from './empty-state';
9
+ export { EmptyState } from './empty-state';
10
+ export { ErrorBoundary } from './error-boundary';
11
+ export type { IconColorPickerIconOption, IconColorPickerProps } from './icon-color-picker';
12
+ export { getIconComponent, IconColorPicker, optionColors, optionIcons } from './icon-color-picker';
13
+ export type { IntegrationCardProps } from './integration-card';
14
+ export { IntegrationCard } from './integration-card';
15
+ export type { RadioProps } from './radio';
16
+ export { Radio, RadioGroup } from './radio';
17
+ export { ResourceBadge } from './resource-badge';
18
+ export { ScrollArea } from './scroll-area';
19
+ export type { SessionCompletionStatus } from './session-indicator';
20
+ export { resolveSessionIndicatorColor, resolveSessionIndicatorIcon, SessionIndicator } from './session-indicator';
21
+ export type { SimpleCardBodyProps, SimpleCardProps } from './simple-card';
22
+ export { SimpleCard, SimpleCardBody } from './simple-card';
23
+ export type { SwitchProps } from './switch';
24
+ export { Switch } from './switch';
25
+ export { Toaster, toaster } from './toaster';
26
+ export { Tooltip } from './tooltip';
27
+ export type { WorkspaceBadgeProps } from './workspace-badge';
28
+ export { WorkspaceBadge } from './workspace-badge';
@@ -4,5 +4,3 @@ export interface NumberInputProps extends ChakraNumberInput.RootProps {
4
4
  }
5
5
  export declare const NumberInputRoot: React.ForwardRefExoticComponent<NumberInputProps & React.RefAttributes<HTMLDivElement>>;
6
6
  export declare const NumberInputField: React.ForwardRefExoticComponent<ChakraNumberInput.InputProps & React.RefAttributes<HTMLInputElement>>;
7
- export declare const NumberInputScrubber: React.ForwardRefExoticComponent<ChakraNumberInput.ScrubberProps & React.RefAttributes<HTMLDivElement>>;
8
- export declare const NumberInputLabel: React.ForwardRefExoticComponent<ChakraNumberInput.LabelProps & React.RefAttributes<HTMLLabelElement>>;
@@ -1,6 +1,7 @@
1
1
  import { Icon } from '@chakra-ui/react';
2
2
  import { ComponentProps } from 'react';
3
- export type SessionCompletionStatus = "in_progress" | "awaiting_input" | "queued" | "completed" | "failed" | "cancelled" | "disconnected";
3
+ export declare const sessionCompletionStatuses: readonly ["in_progress", "awaiting_input", "queued", "completed", "failed", "cancelled", "disconnected"];
4
+ export type SessionCompletionStatus = (typeof sessionCompletionStatuses)[number];
4
5
  export declare const resolveSessionIndicatorIcon: (status: SessionCompletionStatus | undefined) => import('react').ForwardRefExoticComponent<Omit<import('lucide-react').LucideProps, "ref"> & import('react').RefAttributes<SVGSVGElement>>;
5
6
  export declare const resolveSessionIndicatorColor: (status: SessionCompletionStatus | undefined) => "fg.muted" | "fg.error" | "fg.warning" | "fg.success" | "fg.info";
6
7
  interface SessionIndicatorProps {
@@ -2,7 +2,6 @@ import { Tooltip as ChakraTooltip } from '@chakra-ui/react';
2
2
  import * as React from "react";
3
3
  export interface TooltipProps extends ChakraTooltip.RootProps {
4
4
  children?: React.ReactElement;
5
- showArrow?: boolean;
6
5
  portalled?: boolean;
7
6
  portalRef?: React.RefObject<HTMLElement>;
8
7
  content: React.ReactNode;
@@ -1,19 +1,2 @@
1
- export declare const UPLOAD_FILE_COMMAND: import('lexical').LexicalCommand<unknown>;
2
- export declare const OPEN_CONTEXT_COMMAND: import('lexical').LexicalCommand<unknown>;
3
- export declare const RUN_PROMPT_COMMAND: import('lexical').LexicalCommand<unknown>;
4
- export declare const UPDATE_FORMAT_COMMAND: import('lexical').LexicalCommand<unknown>;
5
- export declare const UPDATE_BEHAVIOR_COMMAND: import('lexical').LexicalCommand<unknown>;
6
- export declare const INSERT_PROMPT_COMMAND: import('lexical').LexicalCommand<unknown>;
7
- export declare const RENAME_PROMPT_COMMAND: import('lexical').LexicalCommand<unknown>;
8
- export declare const DUPLICATE_PROMPT_COMMAND: import('lexical').LexicalCommand<unknown>;
9
- export declare const DELETE_PROMPT_COMMAND: import('lexical').LexicalCommand<unknown>;
10
- export declare const DELETE_REFERENCES_COMMAND: import('lexical').LexicalCommand<unknown>;
11
- export declare const RENAME_REFERENCES_COMMAND: import('lexical').LexicalCommand<unknown>;
12
1
  export declare const INSERT_REFERENCE_COMMAND: import('lexical').LexicalCommand<unknown>;
13
2
  export declare const INSERT_BLOCK_COMMAND: import('lexical').LexicalCommand<unknown>;
14
- export declare const INSERT_NEW_FILE_PLACEHOLDER = "INSERT_NEW_FILE_PLACEHOLDER";
15
- export declare const INSERT_NEW_TEXT_PLACEHOLDER = "INSERT_NEW_TEXT_PLACEHOLDER";
16
- export declare const INSERT_PLACEHOLDER_REFERENCE = "INSERT_PLACEHOLDER_REFERENCE";
17
- export declare const INSERT_NEW_FILE_PLACEHOLDER_COMMAND: import('lexical').LexicalCommand<unknown>;
18
- export declare const INSERT_NEW_TEXT_PLACEHOLDER_COMMAND: import('lexical').LexicalCommand<unknown>;
19
- export declare const INSERT_PLACEHOLDER_REFERENCE_COMMAND: import('lexical').LexicalCommand<unknown>;
@@ -1,15 +1,2 @@
1
- export declare const FOCUS_EDITOR = "FOCUS_EDITOR";
2
- export declare const UPLOAD_FILE = "UPLOAD_FILE";
3
- export declare const OPEN_CONTEXT = "OPEN_CONTEXT";
4
- export declare const DROP_EVENT = "DROP_EVENT";
5
- export declare const RUN_PROMPT = "RUN_PROMPT";
6
- export declare const UPDATE_FORMAT = "UPDATE_FORMAT";
7
- export declare const UPDATE_BEHAVIOR = "UPDATE_BEHAVIOR";
8
- export declare const INSERT_PROMPT = "INSERT_PROMPT";
9
- export declare const RENAME_PROMPT = "RENAME_PROMPT";
10
- export declare const DUPLICATE_PROMPT = "DUPLICATE_PROMPT";
11
- export declare const DELETE_PROMPT = "DELETE_PROMPT";
12
- export declare const DELETE_REFERENCES = "DELETE_REFERENCES";
13
- export declare const RENAME_REFERENCES = "RENAME_REFERENCES";
14
1
  export declare const INSERT_REFERENCE = "INSERT_REFERENCE";
15
2
  export declare const INSERT_BLOCK = "INSERT_BLOCK";
@@ -1,4 +1,4 @@
1
- import { DOMConversionMap, DOMExportOutput, EditorConfig, ElementNode, LexicalEditor, LexicalNode, ParagraphNode, RangeSelection, SerializedElementNode } from 'lexical';
1
+ import { DOMConversionMap, DOMExportOutput, EditorConfig, ElementNode, LexicalEditor, ParagraphNode, RangeSelection, SerializedElementNode } from 'lexical';
2
2
  export type SerializedCommentNode = SerializedElementNode;
3
3
  export declare class CommentNode extends ElementNode {
4
4
  static getType(): string;
@@ -14,4 +14,3 @@ export declare class CommentNode extends ElementNode {
14
14
  collapseAtStart(): true;
15
15
  }
16
16
  export declare function $createCommentNode(): CommentNode;
17
- export declare function $isCommentNode(node: LexicalNode | null | undefined): node is CommentNode;
@@ -1,7 +1,8 @@
1
+ import { ReferenceResourceType } from '../../prompt-input';
1
2
  type Props = {
2
3
  items?: Array<{
3
4
  resourceId: string;
4
- resourceType: "table" | "connector";
5
+ resourceType: ReferenceResourceType;
5
6
  name: string;
6
7
  description?: string;
7
8
  }>;
@@ -1,3 +1,4 @@
1
+ import { ReferenceResourceType } from '../../../prompt-input';
1
2
  import { ReferenceMenuOption } from '../ReferenceMenuOption';
2
3
  /**
3
4
  * Search across all resources and menu options
@@ -7,7 +8,7 @@ import { ReferenceMenuOption } from '../ReferenceMenuOption';
7
8
  */
8
9
  export declare function useContextLookup(queryString: string | null, items?: {
9
10
  resourceId: string;
10
- resourceType: "table" | "connector";
11
+ resourceType: ReferenceResourceType;
11
12
  name: string;
12
13
  description?: string;
13
14
  }[]): ReferenceMenuOption[];
@@ -1,6 +1,7 @@
1
1
  import { LexicalNode } from 'lexical';
2
2
  import { PropsWithChildren } from 'react';
3
+ import { ReferenceResourceType } from '../../prompt-input';
3
4
  export declare const $insertExistingReference: (nodeToReplace: LexicalNode, resourceId: string, name: string) => void;
4
5
  export declare function ReferencePlugin(props: PropsWithChildren<{
5
- onAddReference?: (resourceId: string, resourceType: "table" | "connector") => void;
6
+ onAddReference?: (resourceId: string, resourceType: ReferenceResourceType) => void;
6
7
  }>): null;
@@ -1,4 +1,4 @@
1
- import { DOMConversionMap, DOMExportOutput, EditorConfig, LexicalEditor, LexicalNode, NodeKey, SerializedTextNode, Spread, TextNode } from 'lexical';
1
+ import { DOMConversionMap, DOMExportOutput, EditorConfig, LexicalEditor, NodeKey, SerializedTextNode, Spread, TextNode } from 'lexical';
2
2
  type SerializedReferenceNode = Spread<{
3
3
  referenceId: string;
4
4
  name: string;
@@ -22,5 +22,4 @@ export declare class ReferenceNode extends TextNode {
22
22
  getTextContent(): string;
23
23
  }
24
24
  export declare function $createReferenceNode(referenceId: string, name: string): ReferenceNode;
25
- export declare function $isReferenceNode(node: LexicalNode | null | undefined): node is ReferenceNode;
26
25
  export {};
@@ -1,8 +1,9 @@
1
1
  import { ReactElement, ForwardRefRenderFunction } from 'react';
2
2
  import { PromptEditorRef } from './plugins/ImperativeAPIPlugin';
3
+ export type ReferenceResourceType = "table" | "connector" | "file";
3
4
  export type ReferenceItem = {
4
5
  resourceId: string;
5
- resourceType: "table" | "connector";
6
+ resourceType: ReferenceResourceType;
6
7
  name: string;
7
8
  description?: string;
8
9
  };
@@ -17,7 +18,7 @@ export interface PromptEditorProps {
17
18
  /** Dynamic list of references (tables, connectors) shown when typing # */
18
19
  references?: ReferenceItem[];
19
20
  /** Optional app callback when a reference is inserted */
20
- onAddReference?: (resourceId: string, resourceType: "table" | "connector") => void;
21
+ onAddReference?: (resourceId: string, resourceType: ReferenceResourceType) => void;
21
22
  }
22
23
  export declare const BasePromptEditor: ForwardRefRenderFunction<PromptEditorRef, PromptEditorProps>;
23
24
  export declare const PromptEditor: import('react').ForwardRefExoticComponent<PromptEditorProps & import('react').RefAttributes<PromptEditorRef>>;
@@ -1,5 +1,4 @@
1
- import { Klass, LexicalNode, RootNode } from 'lexical';
2
- export declare function $getAllNodesOfType<T extends LexicalNode>(nodeType: Klass<T>): T[];
1
+ import { RootNode } from 'lexical';
3
2
  export declare const $getTextContent: (root: RootNode) => string;
4
3
  export declare const getTextFromSerializedEditorState: (state: string) => string;
5
4
  export declare const emptyEditorState: {
@@ -19,5 +19,4 @@ export declare class MermaidNode extends DecoratorNode<ReactNode> {
19
19
  setCode(code: string): void;
20
20
  decorate(): import("react/jsx-runtime").JSX.Element;
21
21
  }
22
- export declare function $createMermaidNode(code?: string): MermaidNode;
23
22
  export declare function $isMermaidNode(node: LexicalNode | null | undefined): node is MermaidNode;
@@ -1,4 +1,4 @@
1
- export type ResourceType = "table" | "connector" | "text" | "image" | "pdf" | "markdown" | "csv" | "json" | "code";
1
+ export type ResourceType = "table" | "connector" | "file" | "text" | "image" | "pdf" | "markdown" | "csv" | "json" | "code";
2
2
  export interface Resource {
3
3
  resourceId: string;
4
4
  resourceType: ResourceType;
@@ -1 +1 @@
1
- export declare function inferResourceTypeFromMediaType(mediaType: string): "text" | "table" | "image" | "json" | "markdown" | "pdf";
1
+ export declare function inferResourceTypeFromMediaType(mediaType: string): "text" | "table" | "image" | "json" | "pdf" | "markdown";
@@ -1,6 +1,6 @@
1
1
  import { ReactNode } from 'react';
2
- interface SidebarFooterProps {
2
+ interface SidenavFooterProps {
3
3
  children?: ReactNode;
4
4
  }
5
- export declare const SidebarFooter: (props: SidebarFooterProps) => import("react/jsx-runtime").JSX.Element | null;
5
+ export declare const SidenavFooter: (props: SidenavFooterProps) => import("react/jsx-runtime").JSX.Element | null;
6
6
  export {};
@@ -1,6 +1,6 @@
1
1
  import { ReactNode } from 'react';
2
- interface SidebarHeaderProps {
2
+ interface SidenavHeaderProps {
3
3
  children?: ReactNode;
4
4
  }
5
- export declare const SidebarHeader: (props: SidebarHeaderProps) => import("react/jsx-runtime").JSX.Element;
5
+ export declare const SidenavHeader: (props: SidenavHeaderProps) => import("react/jsx-runtime").JSX.Element;
6
6
  export {};
@@ -0,0 +1,2 @@
1
+ import { SidenavProps } from './sidenav.types';
2
+ export declare const Sidenav: (props: SidenavProps) => import("react/jsx-runtime").JSX.Element | null;
@@ -0,0 +1,49 @@
1
+ interface SidenavSnapshot {
2
+ open: boolean;
3
+ expandedSections: string[];
4
+ expandedNodes: string[];
5
+ width: number | null;
6
+ }
7
+ interface SidenavState extends SidenavSnapshot {
8
+ openSidenav: () => void;
9
+ closeSidenav: () => void;
10
+ toggleSidenav: () => void;
11
+ toggleSection: (sectionId: string) => void;
12
+ toggleNode: (nodeId: string) => void;
13
+ setSectionExpanded: (sectionId: string, expanded: boolean) => void;
14
+ setNodeExpanded: (nodeId: string, expanded: boolean) => void;
15
+ setWidth: (width: number) => void;
16
+ reset: () => void;
17
+ }
18
+ interface CreateSidenavStoreOptions {
19
+ storageKey: string;
20
+ initialState?: Partial<SidenavSnapshot>;
21
+ }
22
+ export declare const createSidenavStore: (options: CreateSidenavStoreOptions) => Omit<import('zustand').StoreApi<SidenavState>, "setState" | "persist"> & {
23
+ setState(partial: SidenavState | Partial<SidenavState> | ((state: SidenavState) => SidenavState | Partial<SidenavState>), replace?: false | undefined): unknown;
24
+ setState(state: SidenavState | ((state: SidenavState) => SidenavState), replace: true): unknown;
25
+ persist: {
26
+ setOptions: (options: Partial<import('zustand/middleware').PersistOptions<SidenavState, unknown, unknown>>) => void;
27
+ clearStorage: () => void;
28
+ rehydrate: () => Promise<void> | void;
29
+ hasHydrated: () => boolean;
30
+ onHydrate: (fn: (state: SidenavState) => void) => () => void;
31
+ onFinishHydration: (fn: (state: SidenavState) => void) => () => void;
32
+ getOptions: () => Partial<import('zustand/middleware').PersistOptions<SidenavState, unknown, unknown>>;
33
+ };
34
+ };
35
+ export declare const getSidenavStore: (storageKey: string, initialState?: Partial<SidenavSnapshot>) => Omit<import('zustand').StoreApi<SidenavState>, "setState" | "persist"> & {
36
+ setState(partial: SidenavState | Partial<SidenavState> | ((state: SidenavState) => SidenavState | Partial<SidenavState>), replace?: false | undefined): unknown;
37
+ setState(state: SidenavState | ((state: SidenavState) => SidenavState), replace: true): unknown;
38
+ persist: {
39
+ setOptions: (options: Partial<import('zustand/middleware').PersistOptions<SidenavState, unknown, unknown>>) => void;
40
+ clearStorage: () => void;
41
+ rehydrate: () => Promise<void> | void;
42
+ hasHydrated: () => boolean;
43
+ onHydrate: (fn: (state: SidenavState) => void) => () => void;
44
+ onFinishHydration: (fn: (state: SidenavState) => void) => () => void;
45
+ getOptions: () => Partial<import('zustand/middleware').PersistOptions<SidenavState, unknown, unknown>>;
46
+ };
47
+ };
48
+ export declare const useSidenavStore: <T>(storageKey: string, selector: (state: SidenavState) => T, initialState?: Partial<SidenavSnapshot>) => T;
49
+ export {};
@@ -1,14 +1,14 @@
1
1
  import { ReactNode } from 'react';
2
- import { ResourceContextAction } from '../resource-context-menu';
2
+ import { ResourceContextAction } from '../overlays/resource-context-menu';
3
3
  import { TreeListLinkComponent, TreeListNavigateEvent, TreeListSection } from '../tree-list/tree-list.types';
4
- export interface SidebarProps {
4
+ export interface SidenavProps {
5
5
  storageKey: string;
6
6
  sections: TreeListSection[];
7
7
  activeNodeId?: string | string[] | null;
8
8
  header?: ReactNode;
9
9
  footer?: ReactNode;
10
- /** Right-click menu for the empty back area of the tree. Passed straight through to the internal TreeList. */
11
- backgroundContextActions?: ResourceContextAction[];
10
+ /** Right-click menu available from every point in the Sidenav. */
11
+ contextActions?: ResourceContextAction[];
12
12
  /** Initial width when resizable. Set explicitly to override the persisted width. */
13
13
  width?: string | number;
14
14
  emptyLabel?: string;
@@ -17,14 +17,14 @@ export interface SidebarProps {
17
17
  onNavigate?: (event: TreeListNavigateEvent) => void;
18
18
  closable?: boolean;
19
19
  onOpenChange?: (open: boolean) => void;
20
- /** Allow split layouts to resize the sidebar. Defaults to `true`. */
20
+ /** Allow split layouts to resize the sidenav. Defaults to `true`. */
21
21
  resizable?: boolean;
22
22
  defaultWidth?: number;
23
23
  minWidth?: number;
24
24
  maxWidth?: number;
25
25
  /**
26
26
  * When enabled, the scroll content is virtualized — only nodes near the viewport
27
- * are mounted. Use for sidebars that may contain hundreds of entries. Requires
27
+ * are mounted. Use for sidenavs that may contain hundreds of entries. Requires
28
28
  * sections with flat nodes (no expandable children).
29
29
  */
30
30
  virtualize?: boolean;
@@ -1,9 +1,10 @@
1
1
  import { ReactNode } from 'react';
2
- import { ResourceContextAction } from '../resource-context-menu';
2
+ import { ResourceContextAction } from '../overlays/resource-context-menu';
3
3
  import { VisibilityOverride } from '../tree-list/tree-list-visibility.store';
4
4
  export interface TabVisibilityPlacement {
5
5
  closable?: boolean;
6
6
  hiddenByDefault?: boolean;
7
+ pinned?: boolean;
7
8
  title?: string;
8
9
  contributionId: string;
9
10
  }
@@ -1,4 +1,4 @@
1
- import { IconColorPickerIconOption } from '../icon-color-picker';
1
+ import { IconColorPickerIconOption } from '../primitives/icon-color-picker';
2
2
  import { TagEditorAction, TagEditorValue } from './tag-editor.types';
3
3
  interface TagEditorRowProps {
4
4
  actionOptions?: TagEditorAction[];
@@ -1,4 +1,4 @@
1
- import { IconColorPickerIconOption } from '../icon-color-picker';
1
+ import { IconColorPickerIconOption } from '../primitives/icon-color-picker';
2
2
  export interface TagEditorValue {
3
3
  id: string;
4
4
  name: string;
@@ -0,0 +1,33 @@
1
+ import { TerminalSessionAdapter } from './types';
2
+ /**
3
+ * Minimal subset of xterm.js that the binding needs. Tests substitute a fake
4
+ * sink so the wire-up logic can be exercised without a DOM.
5
+ */
6
+ export interface TerminalSink {
7
+ write(data: string | Uint8Array): void;
8
+ onInput(handler: (data: string) => void): () => void;
9
+ onResize(handler: (size: {
10
+ cols: number;
11
+ rows: number;
12
+ }) => void): () => void;
13
+ }
14
+ export interface BindSessionOptions {
15
+ /** Forwarded to the session when the user types in the sink. */
16
+ onInput?: (data: string) => void;
17
+ /** Called once the session exits; useful for surfacing status. */
18
+ onExit?: (exit: {
19
+ code: number | null;
20
+ signal: string | null;
21
+ }) => void;
22
+ /** Called on transport errors. */
23
+ onError?: (error: {
24
+ message: string;
25
+ }) => void;
26
+ }
27
+ /**
28
+ * Wires a {@link TerminalSink} (typically xterm.js) to a
29
+ * {@link TerminalSessionAdapter}. Returns a disposer that detaches every
30
+ * subscription it created. The session itself is *not* killed — owning the
31
+ * session lifecycle is the caller's responsibility.
32
+ */
33
+ export declare const bindSessionToSink: (sink: TerminalSink, session: TerminalSessionAdapter, options?: BindSessionOptions) => () => void;
@@ -0,0 +1,6 @@
1
+ export { type BindSessionOptions, bindSessionToSink, type TerminalSink } from './bind-session';
2
+ export { createScriptedTerminalBridge, type ScriptedBridgeOptions, type ScriptedTerminalStep, } from './scripted-bridge';
3
+ export { Terminal, type TerminalProps } from './terminal';
4
+ export { darkTerminalTheme, lightTerminalTheme, resolveTerminalTheme, type TerminalThemeName, terminalThemes, } from './terminal-theme';
5
+ export type { TerminalBridge, TerminalSessionAdapter, TerminalSessionError, TerminalSessionExit, TerminalSessionRequest, } from './types';
6
+ export { type TerminalSessionStatus, type UseTerminalSessionOptions, type UseTerminalSessionResult, useTerminalSession, } from './use-terminal-session';
@@ -0,0 +1,35 @@
1
+ import { TerminalBridge } from './types';
2
+ export interface ScriptedTerminalStep {
3
+ /** Bytes the host pushes back to the renderer (utf-8 string is encoded for you). */
4
+ data?: string | Uint8Array;
5
+ /** Milliseconds to wait before delivering this step. */
6
+ delayMs?: number;
7
+ /** Marks the session as exited after this step. */
8
+ exit?: {
9
+ code: number | null;
10
+ signal?: string | null;
11
+ };
12
+ /** Delivers a transport error after this step. */
13
+ error?: string;
14
+ }
15
+ export interface ScriptedBridgeOptions {
16
+ /** Initial script delivered after the first data subscriber attaches. */
17
+ initial?: ScriptedTerminalStep[];
18
+ /**
19
+ * Responds to user input. Return additional steps to play, or `undefined`
20
+ * to ignore. Defaults to echoing the input followed by a newline.
21
+ */
22
+ onInput?: (input: string) => ScriptedTerminalStep[] | undefined;
23
+ /** Called whenever the renderer requests a resize. */
24
+ onResize?: (size: {
25
+ cols: number;
26
+ rows: number;
27
+ }) => void;
28
+ /** Called once when the renderer kills the session. */
29
+ onKill?: (signal?: string) => void;
30
+ }
31
+ /**
32
+ * Deterministic in-memory bridge. Used by stories and tests to exercise the
33
+ * terminal UI without a real PTY supervisor.
34
+ */
35
+ export declare const createScriptedTerminalBridge: (options?: ScriptedBridgeOptions) => TerminalBridge;
@@ -0,0 +1,22 @@
1
+ export interface TerminalSessionRequest {
2
+ /** Command + args to run; defaults to the user's login shell when omitted. */
3
+ command?: string[];
4
+ /** Working directory; falls back to the extension's workspace root. */
5
+ cwd?: string;
6
+ /** Extra env vars merged over the inherited environment. */
7
+ env?: Record<string, string>;
8
+ /** Initial column count; the renderer can resize later. */
9
+ cols: number;
10
+ /** Initial row count; the renderer can resize later. */
11
+ rows: number;
12
+ }
13
+ export type TerminalHostEvent = {
14
+ sessionId: string;
15
+ kind: "data";
16
+ chunk: Uint8Array;
17
+ } | {
18
+ sessionId: string;
19
+ kind: "exit";
20
+ code: number | null;
21
+ signal: string | null;
22
+ };
@@ -0,0 +1,12 @@
1
+ import { ITheme } from '@xterm/xterm';
2
+ /**
3
+ * xterm theme presets aligned with the workbench `bg.inverted` / `fg.inverted`
4
+ * pairings so the terminal blends with the surrounding chrome without the
5
+ * consuming extension touching xterm directly. Consumers can still pass any
6
+ * `ITheme` they like via the `theme` prop.
7
+ */
8
+ export type TerminalThemeName = "light" | "dark";
9
+ export declare const lightTerminalTheme: ITheme;
10
+ export declare const darkTerminalTheme: ITheme;
11
+ export declare const terminalThemes: Record<TerminalThemeName, ITheme>;
12
+ export declare const resolveTerminalTheme: (theme: TerminalThemeName | ITheme | undefined) => ITheme;
@@ -0,0 +1,56 @@
1
+ import { ITheme, Terminal as Xterm } from '@xterm/xterm';
2
+ import { TerminalSink } from './bind-session';
3
+ import { TerminalThemeName } from './terminal-theme';
4
+ import { TerminalBridge, TerminalSessionAdapter, TerminalSessionRequest } from './types';
5
+ export declare const createInitialTerminalSessionRequest: (request?: Partial<TerminalSessionRequest>) => TerminalSessionRequest;
6
+ export declare const createTerminalSink: (xterm: Pick<Xterm, "write" | "onData" | "onResize">) => {
7
+ write(data: string | Uint8Array): void;
8
+ onInput(handler: (data: string) => void): () => boolean;
9
+ onResize(handler: (size: {
10
+ cols: number;
11
+ rows: number;
12
+ }) => void): () => void;
13
+ dispose(): void;
14
+ };
15
+ export declare const resizeSessionToTerminalGeometry: (terminal: Pick<Xterm, "cols" | "rows">, session: Pick<TerminalSessionAdapter, "resize">) => void;
16
+ export declare const bindTerminalSession: (terminal: Pick<Xterm, "cols" | "rows">, sink: TerminalSink, session: TerminalSessionAdapter, options: Pick<TerminalProps, "onSessionOpen" | "onSessionExit">) => () => void;
17
+ export interface TerminalSessionCallbackRefs {
18
+ onSessionOpen: React.RefObject<TerminalProps["onSessionOpen"]>;
19
+ onSessionExit: React.RefObject<TerminalProps["onSessionExit"]>;
20
+ }
21
+ export declare const bindTerminalSessionWithCallbackRefs: (terminal: Pick<Xterm, "cols" | "rows">, sink: TerminalSink, session: TerminalSessionAdapter, callbackRefs: TerminalSessionCallbackRefs) => () => void;
22
+ export interface TerminalProps {
23
+ /** Bridge adapter the component opens its session through. */
24
+ bridge: TerminalBridge;
25
+ /**
26
+ * Optional initial session request overrides. `cols`/`rows` default to
27
+ * 80x24; container resizes are forwarded after the session opens.
28
+ */
29
+ request?: Partial<TerminalSessionRequest>;
30
+ /** Theme preset name or full xterm theme. */
31
+ theme?: TerminalThemeName | ITheme;
32
+ /** Monospace font family. */
33
+ fontFamily?: string;
34
+ fontSize?: number;
35
+ /** Whether to kill the session when the component unmounts. Defaults to true. */
36
+ killOnUnmount?: boolean;
37
+ /** Focus the terminal while it is the active surface. Defaults to true. */
38
+ autoFocus?: boolean;
39
+ /** Forwarded to the container element. */
40
+ className?: string;
41
+ style?: React.CSSProperties;
42
+ /** Called once the session is open; useful for imperative refs. */
43
+ onSessionOpen?: (sessionId: string) => void;
44
+ /** Called once the session exits. */
45
+ onSessionExit?: (exit: {
46
+ code: number | null;
47
+ signal: string | null;
48
+ }) => void;
49
+ }
50
+ /**
51
+ * High-level terminal component. Mounts xterm.js inside a `<div>` and binds it
52
+ * to the session opened from `bridge.openSession(...)`. Resize is driven by
53
+ * `ResizeObserver` so the terminal fills its container and the host PTY
54
+ * geometry stays in sync.
55
+ */
56
+ export declare const Terminal: (props: TerminalProps) => import("react/jsx-runtime").JSX.Element;
@@ -0,0 +1,35 @@
1
+ import { TerminalHostEvent, TerminalSessionRequest } from './terminal-contract';
2
+ export type { TerminalSessionRequest } from './terminal-contract';
3
+ /**
4
+ * Renderer-side projection of a single terminal session over the
5
+ * `terminal.session` bridge.
6
+ *
7
+ * The host-side `TerminalSessionHandle` exposes a single-consumer async
8
+ * iterable; that contract is impractical inside React, so the renderer side
9
+ * uses observable subscriptions instead. Implementations (real bridge,
10
+ * scripted stub, etc.) are responsible for translating their own transport
11
+ * into these callbacks.
12
+ */
13
+ export interface TerminalSessionAdapter {
14
+ readonly id: string;
15
+ write(data: string | Uint8Array): void;
16
+ resize(cols: number, rows: number): void;
17
+ kill(signal?: string): Promise<void> | void;
18
+ onData(handler: (chunk: Uint8Array) => void): () => void;
19
+ onExit(handler: (exit: TerminalSessionExit) => void): () => void;
20
+ onError(handler: (error: TerminalSessionError) => void): () => void;
21
+ }
22
+ export type TerminalSessionExit = Omit<Extract<TerminalHostEvent, {
23
+ kind: "exit";
24
+ }>, "kind" | "sessionId">;
25
+ export interface TerminalSessionError {
26
+ message: string;
27
+ }
28
+ /**
29
+ * Renderer-side projection of the `terminal.session` capability. A bridge
30
+ * adapter typically wraps the webview transport, but stubs that drive
31
+ * scripted output (storybook, tests) implement the same shape.
32
+ */
33
+ export interface TerminalBridge {
34
+ openSession(request: TerminalSessionRequest): Promise<TerminalSessionAdapter>;
35
+ }
@@ -0,0 +1,21 @@
1
+ import { TerminalBridge, TerminalSessionAdapter, TerminalSessionError, TerminalSessionExit, TerminalSessionRequest } from './types';
2
+ export type TerminalSessionStatus = "idle" | "opening" | "open" | "exited" | "error";
3
+ export interface UseTerminalSessionResult {
4
+ session: TerminalSessionAdapter | null;
5
+ status: TerminalSessionStatus;
6
+ exit: TerminalSessionExit | null;
7
+ error: TerminalSessionError | null;
8
+ }
9
+ export interface UseTerminalSessionOptions {
10
+ bridge: TerminalBridge | null;
11
+ request: TerminalSessionRequest;
12
+ /** Set to false to keep the session alive when the hook unmounts. */
13
+ killOnUnmount?: boolean;
14
+ }
15
+ export declare const createTerminalSessionRequestKey: (request: TerminalSessionRequest) => string;
16
+ /**
17
+ * Opens a terminal session via the provided bridge and surfaces its lifecycle
18
+ * for the renderer. The session is killed on unmount unless explicitly opted
19
+ * out; switching bridges or request contents triggers a fresh open.
20
+ */
21
+ export declare const useTerminalSession: ({ bridge, request, killOnUnmount }: UseTerminalSessionOptions) => UseTerminalSessionResult;
@@ -1,3 +1,2 @@
1
- import { TreeListNode, TreeListSection } from './tree-list.types';
1
+ import { TreeListSection } from './tree-list.types';
2
2
  export declare const applyTreeListOrder: (sections: TreeListSection[], sectionOrder: string[], nodeOrderBySection: Record<string, string[]>) => TreeListSection[];
3
- export declare const reorderNodesById: (nodes: TreeListNode[], order: string[]) => TreeListNode[];
@@ -1,5 +1,5 @@
1
1
  import { ReactNode } from 'react';
2
- import { ResourceContextAction } from '../resource-context-menu';
2
+ import { ResourceContextAction } from '../overlays/resource-context-menu';
3
3
  import { TreeListNode, TreeListSection } from './tree-list.types';
4
4
  import { VisibilityOverride } from './tree-list-visibility.store';
5
5
  export declare const resolveVisibility: (override: VisibilityOverride | undefined, hiddenByDefault: boolean | undefined) => VisibilityOverride;
@@ -9,7 +9,6 @@ export interface TreeVisibilityMenuActions {
9
9
  onToggleSection: (id: string, hiddenByDefault: boolean) => void;
10
10
  onToggleNode: (id: string, hiddenByDefault: boolean) => void;
11
11
  onResetAll: () => void;
12
- onResetOrder?: () => void;
13
12
  }
14
13
  interface BuildMenuOptions {
15
14
  visibleIcon: ReactNode;
@@ -1,10 +1,10 @@
1
1
  import { StackProps } from '@chakra-ui/react';
2
2
  import { MouseEvent as ReactMouseEvent, RefObject } from 'react';
3
- import { ResourceContextAction } from '../resource-context-menu';
3
+ import { ResourceContextAction } from '../overlays/resource-context-menu';
4
4
  import { TreeListLinkComponent, TreeListNavigateEvent, TreeListSection } from './tree-list.types';
5
5
  export { buildVirtualRows } from './tree-list-model';
6
6
  type TreeListRowVariant = "compact" | "tree";
7
- /** Sectioned hierarchical list for files, resources, navigation, and customizable sidebars. */
7
+ /** Sectioned hierarchical list for files, resources, navigation, and customizable sidenavs. */
8
8
  interface TreeListProps {
9
9
  /** Ordered sections to render, each containing nested tree nodes. */
10
10
  sections: TreeListSection[];