@parallelworks/ui 0.44.0 → 0.45.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 (622) hide show
  1. package/README.md +348 -25
  2. package/dist/ai/agent/diff.d.ts +2 -1
  3. package/dist/ai/agent/diff.js +4 -12
  4. package/dist/ai/agent/diffHighlight.d.ts +1 -1
  5. package/dist/ai/agent/diffHighlight.js +4 -3
  6. package/dist/ai/agent/index.d.ts +2 -1
  7. package/dist/ai/agent/toolStrings.d.ts +37 -0
  8. package/dist/ai/agent/toolStrings.js +35 -0
  9. package/dist/ai/agent/toolfmt.d.ts +8 -3
  10. package/dist/ai/agent/toolfmt.js +50 -65
  11. package/dist/ai/ai.css +18 -31
  12. package/dist/ai/components/AllocationSelector.js +2 -2
  13. package/dist/ai/components/AttachmentManager.js +28 -29
  14. package/dist/ai/components/AttachmentUpload.js +25 -30
  15. package/dist/ai/components/BlockedGroupBanner.js +2 -2
  16. package/dist/ai/components/BranchNavigator.js +3 -4
  17. package/dist/ai/components/ChatEmptyState.js +8 -7
  18. package/dist/ai/components/ChatInput.js +10 -12
  19. package/dist/ai/components/ChatLayout.js +3 -3
  20. package/dist/ai/components/ChatMessage.js +49 -61
  21. package/dist/ai/components/ChatMessageList.js +46 -42
  22. package/dist/ai/components/ChatSidebar.js +26 -34
  23. package/dist/ai/components/ChatStage.js +1 -1
  24. package/dist/ai/components/ComposerChrome.js +3 -4
  25. package/dist/ai/components/DragOverlay.js +6 -4
  26. package/dist/ai/components/ModelSelector.js +14 -15
  27. package/dist/ai/components/PastedText.js +18 -14
  28. package/dist/ai/components/ProviderIssueBanner.js +3 -4
  29. package/dist/ai/components/Reasoning.d.ts +12 -6
  30. package/dist/ai/components/Reasoning.js +31 -18
  31. package/dist/ai/components/ShareDialog.js +25 -28
  32. package/dist/ai/components/SlashMenu.js +3 -3
  33. package/dist/ai/components/agent/ActivityLine.d.ts +0 -5
  34. package/dist/ai/components/agent/ActivityLine.js +17 -54
  35. package/dist/ai/components/agent/AgentMessageParts.js +139 -149
  36. package/dist/ai/components/conversationActions.js +16 -16
  37. package/dist/ai/core/ChatProvider.d.ts +2 -4
  38. package/dist/ai/core/ChatProvider.js +25 -38
  39. package/dist/ai/core/exportConversation.js +4 -4
  40. package/dist/ai/core/sidebarState.d.ts +8 -6
  41. package/dist/ai/core/sidebarState.js +21 -28
  42. package/dist/ai/core/useKeyboardShortcuts.js +14 -5
  43. package/dist/ai/index.d.ts +4 -5
  44. package/dist/ai/index.js +7 -7
  45. package/dist/ai/strings.d.ts +14 -31
  46. package/dist/ai/strings.js +19 -39
  47. package/dist/ai/types.d.ts +0 -5
  48. package/dist/ai/ui/ConversationSidebar.d.ts +12 -9
  49. package/dist/ai/ui/ConversationSidebar.js +43 -87
  50. package/dist/ai/ui/Markdown.d.ts +3 -6
  51. package/dist/ai/ui/Markdown.js +6 -73
  52. package/dist/ai/ui/Notice.js +10 -12
  53. package/dist/ai/ui/chip.d.ts +2 -2
  54. package/dist/ai/ui/chip.js +1 -1
  55. package/dist/ai/ui/sidebar.d.ts +4 -20
  56. package/dist/ai/ui/sidebar.js +30 -67
  57. package/dist/ai/utils.d.ts +0 -1
  58. package/dist/ai/utils.js +1 -14
  59. package/dist/brandIcons.d.ts +51 -0
  60. package/dist/brandIcons.js +75 -0
  61. package/dist/components/Avatar.d.ts +3 -1
  62. package/dist/components/Avatar.js +34 -28
  63. package/dist/components/Button.d.ts +12 -7
  64. package/dist/components/Button.js +39 -44
  65. package/dist/components/Callout.js +18 -12
  66. package/dist/components/Card.d.ts +18 -8
  67. package/dist/components/Card.js +17 -6
  68. package/dist/components/Checkbox.d.ts +9 -0
  69. package/dist/components/Checkbox.js +30 -0
  70. package/dist/components/Combobox.d.ts +9 -1
  71. package/dist/components/Combobox.js +71 -44
  72. package/dist/components/ConfirmModal.js +11 -11
  73. package/dist/components/ContextMenu.d.ts +2 -8
  74. package/dist/components/ContextMenu.js +2 -29
  75. package/dist/components/CopyToClipboard.js +17 -36
  76. package/dist/components/CreateModal.d.ts +3 -24
  77. package/dist/components/CreateModal.js +46 -113
  78. package/dist/components/DatePicker.d.ts +31 -0
  79. package/dist/components/DatePicker.js +191 -0
  80. package/dist/components/DescriptionList.js +4 -4
  81. package/dist/components/Disclosure.d.ts +34 -0
  82. package/dist/components/Disclosure.js +46 -0
  83. package/dist/components/Drawer.d.ts +47 -0
  84. package/dist/components/Drawer.js +120 -0
  85. package/dist/components/EmptyState.d.ts +15 -10
  86. package/dist/components/EmptyState.js +13 -8
  87. package/dist/components/ExternalLink.d.ts +8 -0
  88. package/dist/components/ExternalLink.js +29 -0
  89. package/dist/components/Field.d.ts +70 -0
  90. package/dist/components/Field.js +159 -0
  91. package/dist/components/HoverCard.js +11 -14
  92. package/dist/components/IconButton.d.ts +16 -13
  93. package/dist/components/IconButton.js +27 -18
  94. package/dist/components/InfoTip.js +16 -23
  95. package/dist/components/Input.d.ts +10 -9
  96. package/dist/components/Input.js +54 -96
  97. package/dist/components/LetterBadge.js +2 -2
  98. package/dist/components/Loader.d.ts +15 -8
  99. package/dist/components/Loader.js +29 -19
  100. package/dist/components/Markdown.d.ts +7 -1
  101. package/dist/components/Markdown.js +2 -0
  102. package/dist/components/MarkdownImpl.d.ts +1 -1
  103. package/dist/components/MarkdownImpl.js +55 -14
  104. package/dist/components/Menu.js +13 -15
  105. package/dist/components/MenuEntries.js +11 -16
  106. package/dist/components/Meter.d.ts +48 -0
  107. package/dist/components/Meter.js +94 -0
  108. package/dist/components/Modal.js +11 -14
  109. package/dist/components/NumberInput.d.ts +25 -0
  110. package/dist/components/NumberInput.js +55 -0
  111. package/dist/components/Overview.js +12 -10
  112. package/dist/components/PageHeader.d.ts +2 -3
  113. package/dist/components/PageHeader.js +30 -21
  114. package/dist/components/Pagination.d.ts +27 -14
  115. package/dist/components/Pagination.js +86 -25
  116. package/dist/components/Popover.d.ts +47 -0
  117. package/dist/components/Popover.js +63 -0
  118. package/dist/components/Provider.d.ts +197 -80
  119. package/dist/components/Provider.js +200 -118
  120. package/dist/components/Radio.d.ts +1 -1
  121. package/dist/components/Radio.js +4 -4
  122. package/dist/components/RefreshButton.d.ts +15 -0
  123. package/dist/components/RefreshButton.js +53 -0
  124. package/dist/components/RunStatusIcon.d.ts +12 -0
  125. package/dist/components/RunStatusIcon.js +84 -0
  126. package/dist/components/SearchInput.d.ts +16 -0
  127. package/dist/components/SearchInput.js +52 -0
  128. package/dist/components/Section.d.ts +28 -0
  129. package/dist/components/Section.js +76 -0
  130. package/dist/components/SegmentedControl.d.ts +7 -11
  131. package/dist/components/SegmentedControl.js +25 -56
  132. package/dist/components/Select.d.ts +5 -1
  133. package/dist/components/Select.js +43 -44
  134. package/dist/components/SettingModeOption.d.ts +3 -5
  135. package/dist/components/SettingModeOption.js +5 -6
  136. package/dist/components/SettingsCard.d.ts +32 -19
  137. package/dist/components/SettingsCard.js +40 -13
  138. package/dist/components/Skeleton.d.ts +22 -0
  139. package/dist/components/Skeleton.js +34 -0
  140. package/dist/components/Slider.d.ts +16 -0
  141. package/dist/components/Slider.js +30 -0
  142. package/dist/components/Sort.js +4 -6
  143. package/dist/components/StatusBadge.d.ts +3 -1
  144. package/dist/components/StatusBadge.js +9 -32
  145. package/dist/components/StatusIcons.d.ts +0 -4
  146. package/dist/components/StatusIcons.js +5 -13
  147. package/dist/components/Switch.d.ts +5 -1
  148. package/dist/components/Switch.js +23 -6
  149. package/dist/components/Table.js +13 -20
  150. package/dist/components/Tabs.d.ts +52 -0
  151. package/dist/components/Tabs.js +75 -0
  152. package/dist/components/ThemeEditor.d.ts +29 -0
  153. package/dist/components/ThemeEditor.js +397 -0
  154. package/dist/components/Toast.d.ts +57 -0
  155. package/dist/components/Toast.js +203 -0
  156. package/dist/components/Tooltip.js +12 -15
  157. package/dist/components/buttonClasses.d.ts +18 -0
  158. package/dist/components/buttonClasses.js +31 -0
  159. package/dist/components/codeTheme.d.ts +5 -0
  160. package/dist/components/codeTheme.js +93 -0
  161. package/dist/components/fieldBox.d.ts +14 -0
  162. package/dist/components/fieldBox.js +29 -0
  163. package/dist/components/floating.d.ts +26 -5
  164. package/dist/components/floating.js +31 -9
  165. package/dist/{ai/ui/codeBreaks.js → components/markdownCodeBreaks.js} +1 -1
  166. package/dist/components/persistedState.d.ts +2 -0
  167. package/dist/components/persistedState.js +63 -0
  168. package/dist/components/relativeTime.d.ts +36 -8
  169. package/dist/components/relativeTime.js +106 -23
  170. package/dist/components/segmented.d.ts +17 -0
  171. package/dist/components/segmented.js +27 -0
  172. package/dist/components/shortcutKey.d.ts +4 -0
  173. package/dist/components/shortcutKey.js +27 -0
  174. package/dist/components/splitter.d.ts +26 -0
  175. package/dist/components/splitter.js +69 -0
  176. package/dist/components/tone.d.ts +9 -0
  177. package/dist/components/tone.js +30 -0
  178. package/dist/components/useCopy.d.ts +14 -0
  179. package/dist/components/useCopy.js +31 -0
  180. package/dist/components/useCssIsDark.d.ts +2 -0
  181. package/dist/components/useCssIsDark.js +2 -1
  182. package/dist/components/useTheme.d.ts +10 -0
  183. package/dist/components/useTheme.js +40 -0
  184. package/dist/cx.d.ts +5 -0
  185. package/dist/cx.js +11 -0
  186. package/dist/editor/Editor.js +2 -2
  187. package/dist/editor/EditorField.js +7 -10
  188. package/dist/editor/FormCodePanel.js +10 -23
  189. package/dist/editor/Monaco.js +7 -4
  190. package/dist/editor/index.d.ts +1 -1
  191. package/dist/editor/index.js +2 -2
  192. package/dist/editor/themes.d.ts +4 -0
  193. package/dist/editor/themes.js +75 -76
  194. package/dist/file-explorer/FileExplorer.js +180 -187
  195. package/dist/file-explorer/FileExplorerContext.js +36 -58
  196. package/dist/file-explorer/FilePreview/CodePreviewEditor.js +2 -1
  197. package/dist/file-explorer/FilePreview/Inline.js +9 -7
  198. package/dist/file-explorer/FilePreview/StreamedBadge.js +2 -2
  199. package/dist/file-explorer/FilePreview/Viewer.js +32 -34
  200. package/dist/file-explorer/FilePreview/index.js +60 -92
  201. package/dist/file-explorer/FileRow.js +10 -15
  202. package/dist/file-explorer/FileRowsWindow.js +2 -6
  203. package/dist/file-explorer/FileTable.js +2 -2
  204. package/dist/file-explorer/FileTableHeaders.js +8 -11
  205. package/dist/file-explorer/LoadMoreRow.js +8 -9
  206. package/dist/file-explorer/TreeView.js +16 -16
  207. package/dist/file-explorer/helpers.d.ts +1 -4
  208. package/dist/file-explorer/helpers.js +101 -114
  209. package/dist/file-explorer/lib/utils.d.ts +0 -2
  210. package/dist/file-explorer/lib/utils.js +1 -25
  211. package/dist/file-explorer/toasts.js +104 -185
  212. package/dist/form/Fields/BooleanField.js +12 -14
  213. package/dist/form/Fields/CheckboxGroupField.d.ts +1 -1
  214. package/dist/form/Fields/CheckboxGroupField.js +16 -18
  215. package/dist/form/Fields/ColorField.js +11 -11
  216. package/dist/form/Fields/DropdownField.d.ts +1 -1
  217. package/dist/form/Fields/DropdownField.js +20 -36
  218. package/dist/form/Fields/DurationField.d.ts +1 -1
  219. package/dist/form/Fields/DurationField.js +36 -50
  220. package/dist/form/Fields/LabelField.js +2 -2
  221. package/dist/form/Fields/MultiDropdownField.d.ts +1 -1
  222. package/dist/form/Fields/MultiDropdownField.js +9 -14
  223. package/dist/form/Fields/NumberField.d.ts +1 -1
  224. package/dist/form/Fields/NumberField.js +13 -48
  225. package/dist/form/Fields/ObjectField.js +3 -3
  226. package/dist/form/Fields/RadioField.d.ts +1 -1
  227. package/dist/form/Fields/RadioField.js +15 -18
  228. package/dist/form/Fields/RangeField.js +34 -35
  229. package/dist/form/Fields/StringField.d.ts +1 -1
  230. package/dist/form/Fields/StringField.js +15 -25
  231. package/dist/form/Fields/TextAreaField.js +10 -15
  232. package/dist/form/Form.d.ts +7 -2
  233. package/dist/form/Form.js +144 -49
  234. package/dist/form/FormLayout.js +18 -12
  235. package/dist/form/Wizard/WizardContainer.js +44 -18
  236. package/dist/form/Wizard/WizardNavigation.d.ts +1 -1
  237. package/dist/form/Wizard/WizardNavigation.js +31 -56
  238. package/dist/form/Wizard/WizardStepIndicator.d.ts +3 -0
  239. package/dist/form/Wizard/WizardStepIndicator.js +98 -114
  240. package/dist/form/Wizard/types.d.ts +2 -2
  241. package/dist/form/fieldFrame.d.ts +7 -0
  242. package/dist/form/fieldFrame.js +19 -0
  243. package/dist/form/index.d.ts +5 -5
  244. package/dist/form/index.js +4 -6
  245. package/dist/form/layoutCSS.js +5 -4
  246. package/dist/form/types/fieldComponentTypes.d.ts +5 -3
  247. package/dist/form/useChoiceField.js +2 -3
  248. package/dist/form/useFieldValue.d.ts +3 -0
  249. package/dist/form/useFieldValue.js +24 -7
  250. package/dist/form/utils/duration.d.ts +2 -2
  251. package/dist/form/utils/duration.js +3 -3
  252. package/dist/form/utils/fieldPath.d.ts +5 -3
  253. package/dist/form/utils/fieldPath.js +18 -3
  254. package/dist/form/utils/secondaryField.d.ts +0 -7
  255. package/dist/form/utils/secondaryField.js +1 -12
  256. package/dist/form/validation.d.ts +29 -0
  257. package/dist/form/validation.js +14 -0
  258. package/dist/format.d.ts +28 -0
  259. package/dist/format.js +64 -0
  260. package/dist/graph/AnnotationBanner.js +20 -31
  261. package/dist/graph/Connectors.js +1 -1
  262. package/dist/graph/DependencyGraph.js +51 -65
  263. package/dist/graph/GraphEditor.js +24 -28
  264. package/dist/graph/GraphEditorDialogs.js +239 -245
  265. package/dist/graph/InputDialog.js +93 -112
  266. package/dist/graph/InputsEditor.js +83 -84
  267. package/dist/graph/JobSummary.js +10 -11
  268. package/dist/graph/MatrixGroup.js +3 -3
  269. package/dist/graph/ProblemsButton.js +9 -10
  270. package/dist/graph/ShortcutsButton.js +12 -17
  271. package/dist/graph/SuggestionInput.d.ts +1 -2
  272. package/dist/graph/SuggestionInput.js +1 -3
  273. package/dist/graph/TreeView.js +47 -45
  274. package/dist/graph/WorkflowSettingsDialog.js +97 -102
  275. package/dist/graph/editorChrome.js +10 -12
  276. package/dist/graph/editorFields.d.ts +19 -16
  277. package/dist/graph/editorFields.js +97 -135
  278. package/dist/graph/editorPrimitives.js +2 -2
  279. package/dist/graph/editorRows.js +22 -25
  280. package/dist/graph/editorStrings.d.ts +16 -19
  281. package/dist/graph/editorStrings.js +11 -23
  282. package/dist/graph/fieldProblems.js +2 -2
  283. package/dist/graph/graphEditorState.d.ts +4 -4
  284. package/dist/graph/inputRefs.d.ts +0 -13
  285. package/dist/graph/inputRefs.js +121 -159
  286. package/dist/graph/settingsViews.js +5 -3
  287. package/dist/graph/stepWith.js +100 -100
  288. package/dist/graph/toolbarPanel.d.ts +8 -0
  289. package/dist/graph/toolbarPanel.js +11 -0
  290. package/dist/icons.d.ts +234 -23
  291. package/dist/icons.js +249 -264
  292. package/dist/index.d.ts +38 -21
  293. package/dist/index.js +42 -21
  294. package/dist/list/ActionToolbar.d.ts +1 -5
  295. package/dist/list/ActionToolbar.js +21 -20
  296. package/dist/list/ListPage.js +7 -7
  297. package/dist/list/ListTable.d.ts +3 -2
  298. package/dist/list/ListTable.js +33 -29
  299. package/dist/list/ListViewControls.d.ts +0 -17
  300. package/dist/list/ListViewControls.js +50 -118
  301. package/dist/list/UserHoverCard.js +24 -32
  302. package/dist/list/index.d.ts +2 -4
  303. package/dist/list/index.js +3 -5
  304. package/dist/list/listSearch.d.ts +1 -1
  305. package/dist/list/listSearch.js +19 -14
  306. package/dist/list/rowMenu.js +20 -26
  307. package/dist/logviewer/LogViewer.js +268 -382
  308. package/dist/logviewer/logviewer.css +53 -41
  309. package/dist/styles/base.css +16 -40
  310. package/dist/styles/theme.css +75 -106
  311. package/dist/styles.css +1 -1
  312. package/dist/theme/color.d.ts +40 -0
  313. package/dist/theme/color.js +228 -0
  314. package/dist/theme/contrast.d.ts +42 -0
  315. package/dist/theme/contrast.js +145 -0
  316. package/dist/theme/derive.d.ts +25 -0
  317. package/dist/theme/derive.js +475 -0
  318. package/dist/theme/fit.d.ts +35 -0
  319. package/dist/theme/fit.js +185 -0
  320. package/dist/theme/index.d.ts +14 -29
  321. package/dist/theme/index.js +20 -279
  322. package/dist/theme/model.d.ts +64 -0
  323. package/dist/theme/model.js +219 -0
  324. package/package.json +9 -5
  325. package/dist/ai/ui/Avatar.d.ts +0 -7
  326. package/dist/ai/ui/Avatar.js +0 -24
  327. package/dist/components/Filter.d.ts +0 -15
  328. package/dist/components/Filter.js +0 -32
  329. package/dist/components/FilterPill.d.ts +0 -7
  330. package/dist/components/FilterPill.js +0 -14
  331. package/dist/components/Indicator.d.ts +0 -4
  332. package/dist/components/Indicator.js +0 -44
  333. package/dist/components/SectionHeader.d.ts +0 -8
  334. package/dist/components/SectionHeader.js +0 -11
  335. package/dist/components/SettingRow.d.ts +0 -18
  336. package/dist/components/SettingRow.js +0 -35
  337. package/dist/components/SettingsGroup.d.ts +0 -8
  338. package/dist/components/SettingsGroup.js +0 -17
  339. package/dist/components/ghostButton.d.ts +0 -4
  340. package/dist/components/ghostButton.js +0 -7
  341. package/dist/components/inputClasses.d.ts +0 -1
  342. package/dist/components/inputClasses.js +0 -4
  343. package/dist/duration.d.ts +0 -3
  344. package/dist/duration.js +0 -17
  345. package/dist/form/FieldGroup.d.ts +0 -11
  346. package/dist/form/FieldGroup.js +0 -36
  347. package/dist/form/FieldWrapper.d.ts +0 -16
  348. package/dist/form/FieldWrapper.js +0 -55
  349. package/dist/form/fieldContext.d.ts +0 -19
  350. package/dist/form/fieldContext.js +0 -26
  351. package/dist/graph/Collapse.d.ts +0 -7
  352. package/dist/graph/Collapse.js +0 -15
  353. package/dist/graph/ToolbarPopover.d.ts +0 -13
  354. package/dist/graph/ToolbarPopover.js +0 -39
  355. package/dist/icons/ai/AiOutlineRollback.js +0 -16
  356. package/dist/icons/bi/BiBell.js +0 -16
  357. package/dist/icons/bi/BiBellOff.js +0 -16
  358. package/dist/icons/bi/BiBuildings.js +0 -20
  359. package/dist/icons/bi/BiError.js +0 -20
  360. package/dist/icons/bi/BiExpandVertical.js +0 -16
  361. package/dist/icons/bi/BiPause.js +0 -16
  362. package/dist/icons/bi/BiPlay.js +0 -16
  363. package/dist/icons/bi/BiRedo.js +0 -16
  364. package/dist/icons/bi/BiSolidCheckShield.js +0 -16
  365. package/dist/icons/bi/BiSolidTrashAlt.js +0 -16
  366. package/dist/icons/bi/BiStop.js +0 -16
  367. package/dist/icons/bi/BiUndo.js +0 -16
  368. package/dist/icons/bs/BsArrowsCollapse.js +0 -22
  369. package/dist/icons/bs/BsBank2.js +0 -19
  370. package/dist/icons/bs/BsBriefcase.js +0 -19
  371. package/dist/icons/bs/BsBucket.js +0 -19
  372. package/dist/icons/bs/BsCalendarX.js +0 -23
  373. package/dist/icons/bs/BsChatLeft.js +0 -19
  374. package/dist/icons/bs/BsChevronDoubleDown.js +0 -29
  375. package/dist/icons/bs/BsChevronDoubleUp.js +0 -29
  376. package/dist/icons/bs/BsClipboardCheck.js +0 -34
  377. package/dist/icons/bs/BsCurrencyDollar.js +0 -19
  378. package/dist/icons/bs/BsDash.js +0 -19
  379. package/dist/icons/bs/BsFileEarmarkZip.js +0 -23
  380. package/dist/icons/bs/BsFiles.js +0 -19
  381. package/dist/icons/bs/BsGeoAlt.js +0 -23
  382. package/dist/icons/bs/BsGrid.js +0 -19
  383. package/dist/icons/bs/BsLayers.js +0 -19
  384. package/dist/icons/bs/BsLayoutThreeColumns.js +0 -19
  385. package/dist/icons/bs/BsListUl.js +0 -22
  386. package/dist/icons/bs/BsMortarboard.js +0 -23
  387. package/dist/icons/bs/BsMusicNoteBeamed.js +0 -34
  388. package/dist/icons/bs/BsOpenai.js +0 -19
  389. package/dist/icons/bs/BsPersonPlus.js +0 -26
  390. package/dist/icons/bs/BsSearch.js +0 -19
  391. package/dist/icons/bs/BsSend.js +0 -19
  392. package/dist/icons/bs/BsShieldSlash.js +0 -22
  393. package/dist/icons/bs/BsStar.js +0 -19
  394. package/dist/icons/bs/BsStarFill.js +0 -19
  395. package/dist/icons/bs/BsStopCircle.js +0 -23
  396. package/dist/icons/bs/BsTag.js +0 -23
  397. package/dist/icons/bs/BsTelephone.js +0 -19
  398. package/dist/icons/bs/BsTerminal.js +0 -23
  399. package/dist/icons/bs/BsTerminalFill.js +0 -19
  400. package/dist/icons/bs/BsThreeDots.js +0 -19
  401. package/dist/icons/bs/BsThreeDotsVertical.js +0 -19
  402. package/dist/icons/bs/BsZoomIn.js +0 -37
  403. package/dist/icons/fa/FaAmazon.js +0 -16
  404. package/dist/icons/fa/FaAngleDown.js +0 -16
  405. package/dist/icons/fa/FaAngleLeft.js +0 -16
  406. package/dist/icons/fa/FaAngleRight.js +0 -16
  407. package/dist/icons/fa/FaAngleUp.js +0 -16
  408. package/dist/icons/fa/FaArrowDown.js +0 -16
  409. package/dist/icons/fa/FaArrowLeft.js +0 -16
  410. package/dist/icons/fa/FaArrowRight.js +0 -16
  411. package/dist/icons/fa/FaArrowUp.js +0 -16
  412. package/dist/icons/fa/FaBalanceScale.js +0 -16
  413. package/dist/icons/fa/FaCaretDown.js +0 -16
  414. package/dist/icons/fa/FaCentos.js +0 -16
  415. package/dist/icons/fa/FaChartLine.js +0 -16
  416. package/dist/icons/fa/FaChartPie.js +0 -16
  417. package/dist/icons/fa/FaCheck.js +0 -16
  418. package/dist/icons/fa/FaChevronDown.js +0 -16
  419. package/dist/icons/fa/FaChevronUp.js +0 -16
  420. package/dist/icons/fa/FaChrome.js +0 -16
  421. package/dist/icons/fa/FaCircleNotch.js +0 -16
  422. package/dist/icons/fa/FaCloud.js +0 -16
  423. package/dist/icons/fa/FaCloudDownloadAlt.js +0 -16
  424. package/dist/icons/fa/FaCog.js +0 -16
  425. package/dist/icons/fa/FaCogs.js +0 -16
  426. package/dist/icons/fa/FaComments.js +0 -16
  427. package/dist/icons/fa/FaCompress.js +0 -16
  428. package/dist/icons/fa/FaDesktop.js +0 -16
  429. package/dist/icons/fa/FaDocker.js +0 -16
  430. package/dist/icons/fa/FaDollarSign.js +0 -16
  431. package/dist/icons/fa/FaEdge.js +0 -16
  432. package/dist/icons/fa/FaEdit.js +0 -16
  433. package/dist/icons/fa/FaExclamationTriangle.js +0 -16
  434. package/dist/icons/fa/FaExpand.js +0 -16
  435. package/dist/icons/fa/FaEye.js +0 -16
  436. package/dist/icons/fa/FaEyeSlash.js +0 -16
  437. package/dist/icons/fa/FaFile.js +0 -16
  438. package/dist/icons/fa/FaFilePdf.js +0 -16
  439. package/dist/icons/fa/FaFilter.js +0 -16
  440. package/dist/icons/fa/FaFirefoxBrowser.js +0 -16
  441. package/dist/icons/fa/FaFlask.js +0 -16
  442. package/dist/icons/fa/FaFolder.js +0 -16
  443. package/dist/icons/fa/FaGithub.js +0 -16
  444. package/dist/icons/fa/FaGitlab.js +0 -16
  445. package/dist/icons/fa/FaGlobe.js +0 -16
  446. package/dist/icons/fa/FaGlobeAmericas.js +0 -16
  447. package/dist/icons/fa/FaImage.js +0 -16
  448. package/dist/icons/fa/FaInfoCircle.js +0 -16
  449. package/dist/icons/fa/FaKey.js +0 -16
  450. package/dist/icons/fa/FaLayerGroup.js +0 -16
  451. package/dist/icons/fa/FaLink.js +0 -16
  452. package/dist/icons/fa/FaLinkedin.js +0 -16
  453. package/dist/icons/fa/FaLinux.js +0 -16
  454. package/dist/icons/fa/FaList.js +0 -16
  455. package/dist/icons/fa/FaLock.js +0 -16
  456. package/dist/icons/fa/FaOpenid.js +0 -16
  457. package/dist/icons/fa/FaOpera.js +0 -16
  458. package/dist/icons/fa/FaPaperclip.js +0 -16
  459. package/dist/icons/fa/FaPlus.js +0 -16
  460. package/dist/icons/fa/FaPowerOff.js +0 -16
  461. package/dist/icons/fa/FaPrint.js +0 -16
  462. package/dist/icons/fa/FaQrcode.js +0 -16
  463. package/dist/icons/fa/FaQuestionCircle.js +0 -16
  464. package/dist/icons/fa/FaRedhat.js +0 -16
  465. package/dist/icons/fa/FaRegCircle.js +0 -16
  466. package/dist/icons/fa/FaRegFileImage.js +0 -16
  467. package/dist/icons/fa/FaRegFolder.js +0 -16
  468. package/dist/icons/fa/FaRobot.js +0 -16
  469. package/dist/icons/fa/FaRocket.js +0 -16
  470. package/dist/icons/fa/FaRunning.js +0 -16
  471. package/dist/icons/fa/FaSafari.js +0 -16
  472. package/dist/icons/fa/FaSave.js +0 -16
  473. package/dist/icons/fa/FaSearch.js +0 -16
  474. package/dist/icons/fa/FaShieldAlt.js +0 -16
  475. package/dist/icons/fa/FaSlack.js +0 -16
  476. package/dist/icons/fa/FaStar.js +0 -16
  477. package/dist/icons/fa/FaStop.js +0 -16
  478. package/dist/icons/fa/FaSuse.js +0 -16
  479. package/dist/icons/fa/FaTerminal.js +0 -16
  480. package/dist/icons/fa/FaTimes.js +0 -16
  481. package/dist/icons/fa/FaUbuntu.js +0 -16
  482. package/dist/icons/fa/FaUndoAlt.js +0 -16
  483. package/dist/icons/fa/FaUnlink.js +0 -16
  484. package/dist/icons/fa/FaUser.js +0 -16
  485. package/dist/icons/fa/FaUsers.js +0 -16
  486. package/dist/icons/fa/FaWindows.js +0 -16
  487. package/dist/icons/fa6/FaApple.js +0 -16
  488. package/dist/icons/fa6/FaArrowsRotate.js +0 -16
  489. package/dist/icons/fa6/FaDebian.js +0 -16
  490. package/dist/icons/fa6/FaFilterCircleXmark.js +0 -16
  491. package/dist/icons/fa6/FaInbox.js +0 -16
  492. package/dist/icons/fa6/FaLocationDot.js +0 -16
  493. package/dist/icons/fa6/FaRegFilePdf.js +0 -16
  494. package/dist/icons/fa6/FaRegFolderOpen.js +0 -16
  495. package/dist/icons/fa6/FaUpRightFromSquare.js +0 -16
  496. package/dist/icons/fa6/FaWandMagicSparkles.js +0 -16
  497. package/dist/icons/fa6/FaXTwitter.js +0 -16
  498. package/dist/icons/fi/FiActivity.js +0 -23
  499. package/dist/icons/fi/FiAlertCircle.js +0 -49
  500. package/dist/icons/fi/FiChevronDown.js +0 -23
  501. package/dist/icons/fi/FiClock.js +0 -31
  502. package/dist/icons/fi/FiCopy.js +0 -34
  503. package/dist/icons/fi/FiDownload.js +0 -40
  504. package/dist/icons/fi/FiFile.js +0 -27
  505. package/dist/icons/fi/FiFileText.js +0 -55
  506. package/dist/icons/fi/FiHardDrive.js +0 -55
  507. package/dist/icons/fi/FiRotateCcw.js +0 -27
  508. package/dist/icons/fi/FiUpload.js +0 -40
  509. package/dist/icons/fi/FiX.js +0 -37
  510. package/dist/icons/fi/FiZap.js +0 -23
  511. package/dist/icons/gi/GiSpy.js +0 -16
  512. package/dist/icons/go/GoGitCommit.js +0 -16
  513. package/dist/icons/go/GoGitPullRequest.js +0 -20
  514. package/dist/icons/go/GoIssueOpened.js +0 -16
  515. package/dist/icons/go/GoPlus.js +0 -16
  516. package/dist/icons/go/GoRepoForked.js +0 -28
  517. package/dist/icons/go/GoSignOut.js +0 -16
  518. package/dist/icons/go/GoSkip.js +0 -20
  519. package/dist/icons/go/GoVideo.js +0 -20
  520. package/dist/icons/gr/GrCloudComputer.js +0 -20
  521. package/dist/icons/gr/GrInbox.js +0 -20
  522. package/dist/icons/gr/GrServerCluster.js +0 -20
  523. package/dist/icons/gr/GrStorage.js +0 -20
  524. package/dist/icons/gr/GrTasks.js +0 -20
  525. package/dist/icons/hi/HiCog.js +0 -24
  526. package/dist/icons/hi/HiDuplicate.js +0 -24
  527. package/dist/icons/hi/HiOutlineArchive.js +0 -26
  528. package/dist/icons/hi/HiOutlineClipboardCopy.js +0 -26
  529. package/dist/icons/hi/HiOutlineHome.js +0 -26
  530. package/dist/icons/hi/HiQuestionMarkCircle.js +0 -24
  531. package/dist/icons/hi/HiServer.js +0 -24
  532. package/dist/icons/hi2/HiMiniCheckCircle.js +0 -24
  533. package/dist/icons/hi2/HiMiniLanguage.js +0 -28
  534. package/dist/icons/hi2/HiMiniMinusCircle.js +0 -24
  535. package/dist/icons/hi2/HiMiniXCircle.js +0 -24
  536. package/dist/icons/hi2/HiSparkles.js +0 -24
  537. package/dist/icons/im/ImSpinner5.js +0 -19
  538. package/dist/icons/io/IoIosNotifications.js +0 -16
  539. package/dist/icons/io/IoMdBuild.js +0 -16
  540. package/dist/icons/io/IoMdClose.js +0 -16
  541. package/dist/icons/io5/IoCloudUploadOutline.js +0 -32
  542. package/dist/icons/io5/IoDocumentTextOutline.js +0 -31
  543. package/dist/icons/io5/IoFileTrayFullOutline.js +0 -31
  544. package/dist/icons/io5/IoHeart.js +0 -16
  545. package/dist/icons/io5/IoHeartDislike.js +0 -16
  546. package/dist/icons/io5/IoHeartOutline.js +0 -22
  547. package/dist/icons/io5/IoInformationCircleOutline.js +0 -50
  548. package/dist/icons/io5/IoSettingsOutline.js +0 -22
  549. package/dist/icons/io5/IoWarningOutline.js +0 -40
  550. package/dist/icons/lu/LuArrowRight.js +0 -27
  551. package/dist/icons/lu/LuBadgeCheck.js +0 -27
  552. package/dist/icons/lu/LuBraces.js +0 -27
  553. package/dist/icons/lu/LuBrainCircuit.js +0 -101
  554. package/dist/icons/lu/LuCalendar.js +0 -46
  555. package/dist/icons/lu/LuCheck.js +0 -23
  556. package/dist/icons/lu/LuChevronLeft.js +0 -23
  557. package/dist/icons/lu/LuChevronRight.js +0 -23
  558. package/dist/icons/lu/LuCode.js +0 -27
  559. package/dist/icons/lu/LuExternalLink.js +0 -35
  560. package/dist/icons/lu/LuEye.js +0 -31
  561. package/dist/icons/lu/LuEyeOff.js +0 -40
  562. package/dist/icons/lu/LuFolderTree.js +0 -40
  563. package/dist/icons/lu/LuIdCard.js +0 -55
  564. package/dist/icons/lu/LuKeyboard.js +0 -71
  565. package/dist/icons/lu/LuLogs.js +0 -65
  566. package/dist/icons/lu/LuMail.js +0 -33
  567. package/dist/icons/lu/LuMegaphone.js +0 -27
  568. package/dist/icons/lu/LuMoon.js +0 -23
  569. package/dist/icons/lu/LuNetwork.js +0 -63
  570. package/dist/icons/lu/LuPartyPopper.js +0 -65
  571. package/dist/icons/lu/LuSettings2.js +0 -48
  572. package/dist/icons/lu/LuSheet.js +0 -72
  573. package/dist/icons/lu/LuShield.js +0 -23
  574. package/dist/icons/lu/LuSun.js +0 -69
  575. package/dist/icons/lu/LuTextCursorInput.js +0 -45
  576. package/dist/icons/lu/LuX.js +0 -27
  577. package/dist/icons/lu/LuZoomIn.js +0 -59
  578. package/dist/icons/lu/LuZoomOut.js +0 -49
  579. package/dist/icons/md/MdClear.js +0 -23
  580. package/dist/icons/md/MdDragHandle.js +0 -23
  581. package/dist/icons/md/MdInstallDesktop.js +0 -31
  582. package/dist/icons/md/MdOutlineAttachMoney.js +0 -23
  583. package/dist/icons/md/MdOutlineMoneyOff.js +0 -23
  584. package/dist/icons/md/MdPieChart.js +0 -23
  585. package/dist/icons/md/MdRefresh.js +0 -23
  586. package/dist/icons/md/MdReplay.js +0 -23
  587. package/dist/icons/md/MdSmartphone.js +0 -23
  588. package/dist/icons/pi/PiArrowBendUpRightBold.js +0 -19
  589. package/dist/icons/pi/PiPlugsConnectedFill.js +0 -19
  590. package/dist/icons/pi/PiRectangleDashed.js +0 -19
  591. package/dist/icons/pi/PiShareBold.js +0 -19
  592. package/dist/icons/si/SiAnthropic.js +0 -19
  593. package/dist/icons/si/SiHelm.js +0 -19
  594. package/dist/icons/si/SiKubernetes.js +0 -19
  595. package/dist/icons/tb/TbAlertTriangle.js +0 -35
  596. package/dist/icons/tb/TbAlertTriangleFilled.js +0 -19
  597. package/dist/icons/tb/TbApi.js +0 -40
  598. package/dist/icons/tb/TbBrain.js +0 -50
  599. package/dist/icons/tb/TbBuildingTunnel.js +0 -65
  600. package/dist/icons/tb/TbEdit.js +0 -35
  601. package/dist/icons/tb/TbLayoutSidebar.js +0 -27
  602. package/dist/icons/tb/TbLayoutSidebarLeftCollapse.js +0 -35
  603. package/dist/icons/tb/TbLayoutSidebarRightCollapse.js +0 -35
  604. package/dist/icons/tb/TbUser.js +0 -27
  605. package/dist/icons/tb/TbUserOff.js +0 -35
  606. package/dist/icons/tb/TbWorldShare.js +0 -55
  607. package/dist/icons/tb/TbWorldWww.js +0 -65
  608. package/dist/icons/ti/TiArrowSortedDown.js +0 -20
  609. package/dist/icons/ti/TiArrowSortedUp.js +0 -20
  610. package/dist/icons/ti/TiArrowUnsorted.js +0 -20
  611. package/dist/icons/ti/TiCancel.js +0 -20
  612. package/dist/icons/vsc/VscChromeMinimize.js +0 -19
  613. package/dist/icons/vsc/VscJson.js +0 -19
  614. package/dist/icons/vsc/VscLayoutSidebarLeft.js +0 -19
  615. package/dist/icons/vsc/VscPass.js +0 -27
  616. package/dist/icons/vsc/VscSplitHorizontal.js +0 -19
  617. package/dist/icons/vsc/VscTerminalPowershell.js +0 -19
  618. package/dist/list/ListPager.d.ts +0 -14
  619. package/dist/list/ListPager.js +0 -62
  620. package/dist/list/textEntry.d.ts +0 -2
  621. package/dist/list/textEntry.js +0 -10
  622. /package/dist/{ai/ui/codeBreaks.d.ts → components/markdownCodeBreaks.d.ts} +0 -0
@@ -1,10 +1,6 @@
1
1
  import type { ReactNode } from 'react';
2
+ import { type ToolStrings } from './agent/toolStrings.js';
2
3
  export interface ChatStrings {
3
- modal: {
4
- cancel: string;
5
- save: string;
6
- loading: string;
7
- };
8
4
  shareConversation: {
9
5
  title: string;
10
6
  loadError: string;
@@ -16,7 +12,6 @@ export interface ChatStrings {
16
12
  noGroups: string;
17
13
  viewOnly: string;
18
14
  canCollaborate: string;
19
- remove: string;
20
15
  addGroups: string;
21
16
  info: ReactNode;
22
17
  shareButton: string;
@@ -40,7 +35,6 @@ export interface ChatStrings {
40
35
  search: string;
41
36
  loading: string;
42
37
  failed: string;
43
- retry: string;
44
38
  none: string;
45
39
  /** Beside a provider another user registered and shared with the reader. */
46
40
  sharedBy: (owner: string) => string;
@@ -50,6 +44,8 @@ export interface ChatStrings {
50
44
  notResponding: string;
51
45
  /** Links the provider's settings from its issue banner, for its owner. */
52
46
  manageProvider: string;
47
+ /** Sending before a model is chosen. */
48
+ selectFirst: string;
53
49
  };
54
50
  allocationPicker: {
55
51
  choose: string;
@@ -64,9 +60,6 @@ export interface ChatStrings {
64
60
  waitingNextStep: string;
65
61
  /** Under a message the host has already handed to the running turn. */
66
62
  handedOver: string;
67
- /** The visible label of the remove control; `remove` names it for
68
- * assistive technology. */
69
- removeShort: string;
70
63
  };
71
64
  activity: {
72
65
  tokens: (input: string, output: string) => string;
@@ -80,7 +73,6 @@ export interface ChatStrings {
80
73
  addProvider: string;
81
74
  sessionUnreachableTitle: (session: string) => ReactNode;
82
75
  sessionUnreachableBody: string;
83
- retry: string;
84
76
  };
85
77
  input: {
86
78
  placeholder: string;
@@ -101,7 +93,11 @@ export interface ChatStrings {
101
93
  label: string;
102
94
  ellipsis: string;
103
95
  thoughtFor: (duration: string) => string;
96
+ /** A finished reasoning toggle's label when its duration is unknown. */
97
+ thoughtProcess: string;
104
98
  activity: string;
99
+ /** A finished turn's label when it ran tools without reasoning. */
100
+ ranToolCalls: (count: number) => string;
105
101
  };
106
102
  thread: {
107
103
  viewOnly: string;
@@ -113,9 +109,6 @@ export interface ChatStrings {
113
109
  groupThisMonth: string;
114
110
  groupOlder: string;
115
111
  untitled: string;
116
- rename: string;
117
- share: string;
118
- delete: string;
119
112
  sharedWithYou: string;
120
113
  openSidebar: string;
121
114
  closeSidebar: string;
@@ -130,26 +123,22 @@ export interface ChatStrings {
130
123
  noConversations: string;
131
124
  deleteTitle: string;
132
125
  deleteBody: string;
133
- deleteAction: string;
134
126
  renameTitle: string;
135
- renameAction: string;
136
127
  renameLabel: string;
137
128
  renamePlaceholder: string;
138
129
  };
139
130
  attachmentUpload: {
140
131
  fileTooLarge: (maxSize: string) => string;
141
132
  maxFilesAllowed: (max: number) => string;
142
- remove: string;
143
133
  dropFilesHere: string;
134
+ releaseToUpload: string;
144
135
  addFiles: string;
136
+ maxSizePerFile: (size: string) => string;
137
+ uploading: string;
145
138
  };
146
139
  attachmentManager: {
147
140
  title: string;
148
141
  empty: string;
149
- download: string;
150
- delete: string;
151
- loadMore: string;
152
- loading: string;
153
142
  };
154
143
  branch: {
155
144
  previous: string;
@@ -159,24 +148,19 @@ export interface ChatStrings {
159
148
  searchPlaceholder: string;
160
149
  searchLabel: string;
161
150
  noMatches: string;
162
- download: string;
163
151
  exportError: string;
164
152
  jumpToLatest: string;
165
- dismiss: string;
153
+ /** The copy shortcut's note when no reply has come yet. */
154
+ noResponseToCopy: string;
166
155
  };
167
156
  messageMeta: {
168
157
  stopped: string;
169
- showMore: string;
170
- showLess: string;
171
158
  tokens: (total: number) => string;
172
159
  tokensBreakdown: (prompt: number, completion: number) => string;
173
160
  copy: string;
174
161
  edit: string;
175
162
  regenerate: string;
176
- retry: string;
177
163
  editPlaceholder: string;
178
- cancel: string;
179
- send: string;
180
164
  };
181
165
  permissions: {
182
166
  choose: string;
@@ -192,8 +176,6 @@ export interface ChatStrings {
192
176
  planHint: string;
193
177
  };
194
178
  agentTranscript: {
195
- showMore: string;
196
- showLess: string;
197
179
  running: string;
198
180
  done: string;
199
181
  failed: string;
@@ -212,7 +194,6 @@ export interface ChatStrings {
212
194
  denyCall: string;
213
195
  denyWithFeedback: string;
214
196
  feedbackPlaceholder: string;
215
- send: string;
216
197
  answered: string;
217
198
  writeOwnAnswer: string;
218
199
  subagent: string;
@@ -221,5 +202,7 @@ export interface ChatStrings {
221
202
  approvalPending: string;
222
203
  approvalOptions: string;
223
204
  };
205
+ /** One-line summaries of an agent's finished tool calls. */
206
+ tools: ToolStrings;
224
207
  }
225
208
  export declare const defaultChatStrings: ChatStrings;
@@ -1,11 +1,7 @@
1
+ import { defaultToolStrings } from "./agent/toolStrings.js";
1
2
  import { Fragment, jsx, jsxs } from "react/jsx-runtime";
2
3
  //#region src/ai/strings.tsx
3
4
  var defaultChatStrings = {
4
- modal: {
5
- cancel: "Cancel",
6
- save: "Save",
7
- loading: "Loading…"
8
- },
9
5
  shareConversation: {
10
6
  title: "Share Conversation",
11
7
  loadError: "Failed to load sharing settings",
@@ -17,7 +13,6 @@ var defaultChatStrings = {
17
13
  noGroups: "No groups have access yet",
18
14
  viewOnly: "View only",
19
15
  canCollaborate: "Can collaborate",
20
- remove: "Remove",
21
16
  addGroups: "Add groups…",
22
17
  info: /* @__PURE__ */ jsxs(Fragment, { children: [
23
18
  /* @__PURE__ */ jsx("strong", { children: "View" }),
@@ -36,8 +31,7 @@ var defaultChatStrings = {
36
31
  remove: "Remove queued message",
37
32
  waiting: "Queued · sends when this reply finishes",
38
33
  waitingNextStep: "Queued · reaches the agent after its current step",
39
- handedOver: "Sent to the running turn",
40
- removeShort: "Remove"
34
+ handedOver: "Sent to the running turn"
41
35
  },
42
36
  providerIssue: {
43
37
  keyRejected: "API key rejected",
@@ -53,12 +47,12 @@ var defaultChatStrings = {
53
47
  search: "Search models…",
54
48
  loading: "Loading models…",
55
49
  failed: "Failed to load models",
56
- retry: "Retry",
57
50
  none: "No models available",
58
51
  sharedBy: (owner) => `Shared by ${owner}`,
59
52
  connecting: "Connecting…",
60
53
  notResponding: "Not responding",
61
- manageProvider: "Manage provider"
54
+ manageProvider: "Manage provider",
55
+ selectFirst: "Select a model first"
62
56
  },
63
57
  allocationPicker: {
64
58
  choose: "Allocation",
@@ -80,8 +74,7 @@ var defaultChatStrings = {
80
74
  session,
81
75
  "” is not reachable"
82
76
  ] }),
83
- sessionUnreachableBody: "The session may be offline or still starting up. You can select a different model to continue.",
84
- retry: "Retry"
77
+ sessionUnreachableBody: "The session may be offline or still starting up. You can select a different model to continue."
85
78
  },
86
79
  input: {
87
80
  placeholder: "Ask anything",
@@ -90,11 +83,11 @@ var defaultChatStrings = {
90
83
  attachFiles: "Attach files",
91
84
  stopGenerating: "Stop generating (Escape)",
92
85
  sendMessage: "Send message (Enter)",
93
- filesAttached: (count) => `${count} file${count > 1 ? "s" : ""} attached`
86
+ filesAttached: (count) => count === 1 ? "1 file attached" : `${count.toLocaleString()} files attached`
94
87
  },
95
88
  paste: {
96
89
  title: "Pasted text",
97
- lines: (count) => `${count.toLocaleString()} line${count === 1 ? "" : "s"}`,
90
+ lines: (count) => count === 1 ? "1 line" : `${count.toLocaleString()} lines`,
98
91
  saving: "Saving…",
99
92
  remove: "Remove paste"
100
93
  },
@@ -102,7 +95,9 @@ var defaultChatStrings = {
102
95
  label: "Thinking",
103
96
  ellipsis: "Thinking...",
104
97
  thoughtFor: (duration) => `Thought for ${duration}`,
105
- activity: "Activity"
98
+ thoughtProcess: "Thought process",
99
+ activity: "Activity",
100
+ ranToolCalls: (count) => count === 1 ? "Ran 1 tool call" : `Ran ${count.toLocaleString()} tool calls`
106
101
  },
107
102
  thread: { viewOnly: "You have view only access" },
108
103
  sidebar: {
@@ -112,9 +107,6 @@ var defaultChatStrings = {
112
107
  groupThisMonth: "This Month",
113
108
  groupOlder: "Older",
114
109
  untitled: "Untitled",
115
- rename: "Rename",
116
- share: "Share",
117
- delete: "Delete",
118
110
  sharedWithYou: "Shared with you",
119
111
  openSidebar: "Open sidebar",
120
112
  closeSidebar: "Close sidebar",
@@ -128,26 +120,22 @@ var defaultChatStrings = {
128
120
  noConversations: "No conversations yet",
129
121
  deleteTitle: "Delete Conversation",
130
122
  deleteBody: "Are you sure you want to delete this conversation? This action cannot be undone.",
131
- deleteAction: "Delete",
132
123
  renameTitle: "Rename Conversation",
133
- renameAction: "Rename",
134
124
  renameLabel: "Conversation title",
135
125
  renamePlaceholder: "Enter a new title"
136
126
  },
137
127
  attachmentUpload: {
138
128
  fileTooLarge: (maxSize) => `File too large. Maximum size is ${maxSize}`,
139
129
  maxFilesAllowed: (max) => `Maximum ${max} files allowed`,
140
- remove: "Remove",
141
130
  dropFilesHere: "Drop files here",
142
- addFiles: "Add files (drag or click)"
131
+ releaseToUpload: "Release to upload",
132
+ addFiles: "Add files (drag or click)",
133
+ maxSizePerFile: (size) => `Max ${size} per file`,
134
+ uploading: "Uploading…"
143
135
  },
144
136
  attachmentManager: {
145
137
  title: "Attachments",
146
- empty: "No attachments yet",
147
- download: "Download",
148
- delete: "Delete",
149
- loadMore: "Load more",
150
- loading: "Loading..."
138
+ empty: "No attachments yet"
151
139
  },
152
140
  branch: {
153
141
  previous: "Previous branch",
@@ -157,24 +145,18 @@ var defaultChatStrings = {
157
145
  searchPlaceholder: "Search conversations",
158
146
  searchLabel: "Search conversations (⌘/Ctrl+Shift+F)",
159
147
  noMatches: "No conversations match your search",
160
- download: "Download",
161
148
  exportError: "Failed to export conversation",
162
149
  jumpToLatest: "Jump to latest",
163
- dismiss: "Dismiss"
150
+ noResponseToCopy: "No response to copy"
164
151
  },
165
152
  messageMeta: {
166
153
  stopped: "Stopped",
167
- showMore: "Show more",
168
- showLess: "Show less",
169
154
  tokens: (total) => `${total.toLocaleString()} tokens`,
170
155
  tokensBreakdown: (prompt, completion) => `${prompt.toLocaleString()} in · ${completion.toLocaleString()} out`,
171
156
  copy: "Copy message",
172
157
  edit: "Edit message",
173
158
  regenerate: "Regenerate response",
174
- retry: "Retry",
175
- editPlaceholder: "Edit your message...",
176
- cancel: "Cancel",
177
- send: "Send"
159
+ editPlaceholder: "Edit your message..."
178
160
  },
179
161
  permissions: {
180
162
  choose: "Choose what the agent may do",
@@ -190,8 +172,6 @@ var defaultChatStrings = {
190
172
  planHint: "The workspace is left unchanged while a plan is drafted."
191
173
  },
192
174
  agentTranscript: {
193
- showMore: "Show more",
194
- showLess: "Show less",
195
175
  running: "Running…",
196
176
  done: "Done",
197
177
  failed: "Failed",
@@ -210,7 +190,6 @@ var defaultChatStrings = {
210
190
  denyCall: "No, deny this call",
211
191
  denyWithFeedback: "No, and provide feedback to the agent",
212
192
  feedbackPlaceholder: "Tell the agent what to do instead…",
213
- send: "Send",
214
193
  answered: "Answered",
215
194
  writeOwnAnswer: "Write my own answer…",
216
195
  subagent: "Task",
@@ -218,7 +197,8 @@ var defaultChatStrings = {
218
197
  planPending: "Plan awaiting approval in the terminal",
219
198
  approvalPending: "Waiting for an answer in the terminal",
220
199
  approvalOptions: "Offered choices"
221
- }
200
+ },
201
+ tools: defaultToolStrings
222
202
  };
223
203
  //#endregion
224
204
  export { defaultChatStrings };
@@ -228,11 +228,6 @@ export interface ChatNavigation {
228
228
  toConversation(id: string): void;
229
229
  toNewChat(): void;
230
230
  }
231
- export interface ChatNotify {
232
- success(message: string): void;
233
- error(message: string): void;
234
- info(message: string): void;
235
- }
236
231
  export type SharePermissionLevel = 'view' | 'collaborate';
237
232
  export interface SharePermission {
238
233
  id?: string;
@@ -1,15 +1,18 @@
1
1
  import { type ReactNode } from 'react';
2
2
  export declare const SIDEBAR_MIN_WIDTH_PX = 200;
3
- export declare const SIDEBAR_MAX_WIDTH_PX = 480;
4
- /** A sidebar width the reader drags, nudges or resets, kept per list under
5
- * its own storage key. */
6
- export declare function useResizableSidebarWidth(storageKey: string): {
7
- width: number;
8
- resizing: boolean;
9
- startResize: (e: React.PointerEvent<HTMLElement>) => void;
10
- reset: () => void;
11
- nudge: (delta: number) => void;
3
+ /** A conversation list's drawer on a layout too narrow to keep it beside the
4
+ * content: it covers the chat's own positioned container, not the window, and
5
+ * stays mounted so the list keeps its scroll and search between openings. */
6
+ export declare const sidebarDrawerProps: {
7
+ readonly contained: true;
8
+ readonly side: 'left';
9
+ readonly width: 'min(20rem, 85%)';
10
+ readonly modal: 'trap-focus';
11
+ readonly keepMounted: true;
12
+ readonly closeButton: false;
13
+ readonly padded: false;
12
14
  };
15
+ export declare const SIDEBAR_MAX_WIDTH_PX = 480;
13
16
  export interface ConversationSidebarGroup<T> {
14
17
  key: string;
15
18
  label: ReactNode;
@@ -1,66 +1,28 @@
1
+ import { cx } from "../../cx.js";
1
2
  import { positionKeys } from "../../components/keys.js";
2
- import { SidebarDrawer, SidebarGroupHeading, SidebarPanel, SidebarToggle } from "./sidebar.js";
3
- import { clsx } from "clsx";
3
+ import { usePersistedState } from "../../components/Provider.js";
4
+ import { useSplitter } from "../../components/splitter.js";
5
+ import { Drawer } from "../../components/Drawer.js";
6
+ import { LoadingRegion, Skeleton } from "../../components/Skeleton.js";
7
+ import { SidebarGroupHeading, SidebarPanel, SidebarToggle } from "./sidebar.js";
4
8
  import { jsx, jsxs } from "react/jsx-runtime";
5
- import { Fragment as Fragment$1, useEffect, useRef, useState } from "react";
9
+ import { Fragment as Fragment$1, useEffect, useRef } from "react";
10
+ /** A conversation list's drawer on a layout too narrow to keep it beside the
11
+ * content: it covers the chat's own positioned container, not the window, and
12
+ * stays mounted so the list keeps its scroll and search between openings. */
13
+ var sidebarDrawerProps = {
14
+ contained: true,
15
+ side: "left",
16
+ width: "min(20rem, 85%)",
17
+ modal: "trap-focus",
18
+ keepMounted: true,
19
+ closeButton: false,
20
+ padded: false
21
+ };
6
22
  var SHARED_WIDTH_STORAGE_KEY = "aiChatSidebarWidth";
7
23
  function clampSidebarWidth(width) {
8
24
  return Math.min(480, Math.max(200, width));
9
25
  }
10
- function readStoredSidebarWidth(storageKey) {
11
- try {
12
- const stored = Number(window.localStorage.getItem(storageKey));
13
- return Number.isFinite(stored) && stored > 0 ? clampSidebarWidth(stored) : 256;
14
- } catch {
15
- return 256;
16
- }
17
- }
18
- function storeSidebarWidth(storageKey, width) {
19
- try {
20
- window.localStorage.setItem(storageKey, String(width));
21
- } catch {}
22
- }
23
- /** A sidebar width the reader drags, nudges or resets, kept per list under
24
- * its own storage key. */
25
- function useResizableSidebarWidth(storageKey) {
26
- const [width, setWidth] = useState(() => readStoredSidebarWidth(storageKey));
27
- const [resizing, setResizing] = useState(false);
28
- const widthRef = useRef(width);
29
- widthRef.current = width;
30
- const startResize = (e) => {
31
- e.preventDefault();
32
- const startX = e.clientX;
33
- const startWidth = widthRef.current;
34
- setResizing(true);
35
- const onMove = (ev) => {
36
- setWidth(clampSidebarWidth(startWidth + ev.clientX - startX));
37
- };
38
- const onUp = () => {
39
- window.removeEventListener("pointermove", onMove);
40
- window.removeEventListener("pointerup", onUp);
41
- setResizing(false);
42
- storeSidebarWidth(storageKey, widthRef.current);
43
- };
44
- window.addEventListener("pointermove", onMove);
45
- window.addEventListener("pointerup", onUp);
46
- };
47
- const reset = () => {
48
- setWidth(256);
49
- storeSidebarWidth(storageKey, 256);
50
- };
51
- const nudge = (delta) => {
52
- const next = clampSidebarWidth(widthRef.current + delta);
53
- setWidth(next);
54
- storeSidebarWidth(storageKey, next);
55
- };
56
- return {
57
- width,
58
- resizing,
59
- startResize,
60
- reset,
61
- nudge
62
- };
63
- }
64
26
  /** Steps through the listed items in order and wraps, so moving between
65
27
  * conversations never needs the pointer. */
66
28
  function useItemCycling(ordered, cycle) {
@@ -92,7 +54,16 @@ function useItemCycling(ordered, cycle) {
92
54
  * collapse to a rail, with an optional drag handle for the width. The host
93
55
  * decides what is listed, how it is grouped and how each row reads. */
94
56
  function ConversationSidebar({ label, collapsed: collapsedProp, onToggle, toggleLabels, resize, fill: fillProp = false, drawer, groups, getKey, renderRow, loading = false, placeholder, top, rail, footer, cycle, groupTestId, children }) {
95
- const sized = useResizableSidebarWidth(resize?.storageKey ?? SHARED_WIDTH_STORAGE_KEY);
57
+ const [storedWidth, setStoredWidth] = usePersistedState(resize?.storageKey ?? SHARED_WIDTH_STORAGE_KEY, 256);
58
+ const splitter = useSplitter({
59
+ width: clampSidebarWidth(storedWidth),
60
+ onWidthChange: setStoredWidth,
61
+ min: 200,
62
+ max: 480,
63
+ side: "right",
64
+ defaultWidth: 256,
65
+ label: resize?.label
66
+ });
96
67
  useItemCycling(groups.flatMap((g) => g.items), cycle);
97
68
  const fill = fillProp || !!drawer;
98
69
  const collapsed = collapsedProp && !fill;
@@ -101,42 +72,26 @@ function ConversationSidebar({ label, collapsed: collapsedProp, onToggle, toggle
101
72
  collapsed,
102
73
  label,
103
74
  ...resizable ? {
104
- width: sized.width,
105
- resizing: sized.resizing
75
+ width: splitter.width,
76
+ resizing: splitter.resizing
106
77
  } : {},
107
78
  ...fill ? { style: { width: "100%" } } : {},
108
79
  children: [
109
80
  resizable && !collapsed && /* @__PURE__ */ jsx("div", {
110
- role: "separator",
111
- tabIndex: 0,
112
- "aria-orientation": "vertical",
113
- "aria-label": resize.label,
114
- "aria-valuemin": 200,
115
- "aria-valuemax": 480,
116
- "aria-valuenow": sized.width,
117
- title: resize.hint,
118
- onPointerDown: sized.startResize,
119
- onDoubleClick: sized.reset,
120
- onKeyDown: (e) => {
121
- if (e.key === "ArrowLeft") sized.nudge(-16);
122
- else if (e.key === "ArrowRight") sized.nudge(16);
123
- },
124
- className: clsx("absolute inset-y-0 right-0 z-10 w-1 cursor-col-resize touch-none", sized.resizing ? "bg-(--theme-element)" : "hover:bg-(--theme-border)")
81
+ ...splitter.separatorProps,
82
+ title: resize.hint
125
83
  }),
126
84
  top,
127
85
  collapsed && rail ? /* @__PURE__ */ jsx("ul", {
128
86
  className: "flex min-h-0 flex-1 flex-col items-center gap-1 overflow-y-auto py-1",
129
87
  children: rail
130
88
  }) : /* @__PURE__ */ jsx("div", {
131
- className: clsx("min-h-0 flex-1 overflow-y-auto px-2 pb-2 transition-opacity duration-200", collapsed ? "pointer-events-none opacity-0" : "opacity-100"),
132
- children: loading ? /* @__PURE__ */ jsx("div", {
89
+ className: cx("min-h-0 flex-1 overflow-y-auto px-2 pb-2 transition-opacity duration-200", collapsed ? "pointer-events-none opacity-0" : "opacity-100"),
90
+ children: loading ? /* @__PURE__ */ jsx(LoadingRegion, {
133
91
  className: "space-y-3 px-2 pt-2",
134
- children: positionKeys(5, "skeleton").map((key, i) => /* @__PURE__ */ jsx("div", {
135
- className: "animate-pulse",
136
- children: /* @__PURE__ */ jsx("div", {
137
- className: "h-4 rounded theme-muted-panel",
138
- style: { width: `${70 - i * 10}%` }
139
- })
92
+ children: positionKeys(5, "skeleton").map((key, i) => /* @__PURE__ */ jsx(Skeleton, {
93
+ width: `${70 - i * 10}%`,
94
+ height: 16
140
95
  }, key))
141
96
  }) : groups.length === 0 ? placeholder : groups.map((group) => /* @__PURE__ */ jsxs("div", {
142
97
  className: "mb-2",
@@ -151,7 +106,7 @@ function ConversationSidebar({ label, collapsed: collapsedProp, onToggle, toggle
151
106
  }, group.key))
152
107
  }),
153
108
  /* @__PURE__ */ jsxs("div", {
154
- className: clsx("flex shrink-0 items-center gap-1 p-1.5", collapsed ? "justify-center" : footer ? "justify-between" : "justify-end"),
109
+ className: cx("flex shrink-0 items-center gap-1 p-1.5", collapsed ? "justify-center" : footer ? "justify-between" : "justify-end"),
155
110
  children: [!collapsed && footer, /* @__PURE__ */ jsx(SidebarToggle, {
156
111
  collapsed,
157
112
  onToggle,
@@ -162,12 +117,13 @@ function ConversationSidebar({ label, collapsed: collapsedProp, onToggle, toggle
162
117
  children
163
118
  ]
164
119
  });
165
- return drawer ? /* @__PURE__ */ jsx(SidebarDrawer, {
120
+ return drawer ? /* @__PURE__ */ jsx(Drawer, {
121
+ ...sidebarDrawerProps,
166
122
  open: drawer.open,
167
123
  onClose: drawer.onClose,
168
- label: drawer.label,
124
+ "aria-label": drawer.label,
169
125
  children: panel
170
126
  }) : panel;
171
127
  }
172
128
  //#endregion
173
- export { ConversationSidebar, useResizableSidebarWidth };
129
+ export { ConversationSidebar, sidebarDrawerProps };
@@ -1,6 +1,3 @@
1
- interface MarkdownProps {
2
- children: string;
3
- isStreaming?: boolean;
4
- }
5
- export default function Markdown({ children, isStreaming }: MarkdownProps): import("react").JSX.Element;
6
- export {};
1
+ import { type MarkdownProps } from '../../components/Markdown.js';
2
+ /** Markdown with the chat host's per-tag overrides. */
3
+ export default function Markdown(props: Omit<MarkdownProps, 'components'>): import("react").JSX.Element;
@@ -1,80 +1,13 @@
1
+ import Markdown$1 from "../../components/Markdown.js";
1
2
  import { useChatConfig } from "../core/config.js";
2
- import { rehypeCodeBreaks } from "./codeBreaks.js";
3
- import { clsx } from "clsx";
4
3
  import { jsx } from "react/jsx-runtime";
5
- import { useEffect, useState } from "react";
6
- import { code } from "@streamdown/code";
7
- import { math } from "@streamdown/math";
8
- import { Streamdown, defaultRehypePlugins } from "streamdown";
9
4
  //#region src/ai/ui/Markdown.tsx
10
- function schemeIsDark() {
11
- if (typeof document === "undefined") return false;
12
- const scheme = getComputedStyle(document.documentElement).colorScheme;
13
- if (scheme.includes("dark") !== scheme.includes("light")) return scheme.includes("dark");
14
- return typeof window.matchMedia === "function" && window.matchMedia("(prefers-color-scheme: dark)").matches;
15
- }
16
- var basePlugins = {
17
- code,
18
- math
19
- };
20
- var pluginsWithMermaid;
21
- var mermaidLoad;
22
- function loadMermaid() {
23
- mermaidLoad ??= import("@streamdown/mermaid").then(({ createMermaidPlugin }) => {
24
- const base = createMermaidPlugin();
25
- pluginsWithMermaid = {
26
- ...basePlugins,
27
- mermaid: {
28
- ...base,
29
- getMermaid: (config) => base.getMermaid({
30
- theme: schemeIsDark() ? "dark" : "neutral",
31
- ...config
32
- })
33
- }
34
- };
35
- });
36
- return mermaidLoad;
37
- }
38
- var shikiTheme = ["github-light", "github-dark"];
39
- var rehypePlugins = [...Object.values(defaultRehypePlugins), rehypeCodeBreaks];
40
- function Markdown({ children, isStreaming }) {
5
+ /** Markdown with the chat host's per-tag overrides. */
6
+ function Markdown(props) {
41
7
  const { markdownComponents } = useChatConfig();
42
- const needsMermaid = !!children && children.includes("```mermaid");
43
- const [, setMermaidReady] = useState(() => !!pluginsWithMermaid);
44
- useEffect(() => {
45
- if (!needsMermaid || pluginsWithMermaid) return;
46
- let live = true;
47
- loadMermaid().then(() => {
48
- if (live) setMermaidReady(true);
49
- });
50
- return () => {
51
- live = false;
52
- };
53
- }, [needsMermaid]);
54
- const plugins = needsMermaid && pluginsWithMermaid ? pluginsWithMermaid : basePlugins;
55
- return /* @__PURE__ */ jsx("div", {
56
- className: "markdown whitespace-normal text-start w-full",
57
- children: /* @__PURE__ */ jsx(Streamdown, {
58
- mode: isStreaming ? "streaming" : "static",
59
- ...isStreaming === void 0 ? {} : { isAnimating: isStreaming },
60
- ...isStreaming ? {
61
- caret: "block",
62
- className: "markdown-streaming"
63
- } : {},
64
- plugins,
65
- rehypePlugins,
66
- shikiTheme,
67
- components: {
68
- a: ({ node, ...props }) => /* @__PURE__ */ jsx("a", {
69
- ...props,
70
- className: clsx("link wrap-break-word", props.className),
71
- target: "_blank",
72
- rel: "noopener noreferrer"
73
- }),
74
- ...markdownComponents
75
- },
76
- children: children || ""
77
- })
8
+ return /* @__PURE__ */ jsx(Markdown$1, {
9
+ ...props,
10
+ ...markdownComponents ? { components: markdownComponents } : {}
78
11
  });
79
12
  }
80
13
  //#endregion