@mcp-b/react-components 0.14.1 → 0.16.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 (241) hide show
  1. package/dist/AgentActivity-BNUNrP9O.d.ts +36 -0
  2. package/dist/{AgentChat-Cgb1xuT7.d.ts → AgentChat-CrlpbvQJ.d.ts} +62 -8
  3. package/dist/{CodeBlock-DUh9WOGo.d.ts → CodeBlock-BRajW4QU.d.ts} +1 -1
  4. package/dist/{CodeBlock-BUFXG8HW.js → CodeBlock-BmB4Xaqq.js} +15 -4
  5. package/dist/{FileTree-mpEIcfzA.js → FileTree-CkVbIMWV.js} +82 -89
  6. package/dist/Message-BkMdE3bS.js +375 -0
  7. package/dist/{ModelSelector-DVgVBdvw.js → ModelSelector-SlJNgwKY.js} +17 -8
  8. package/dist/{PromptInput-ClNqBiIw.d.ts → PromptInput-BWTuXMOD.d.ts} +123 -5
  9. package/dist/ResponsiveSidebarShell-Dd9DCcBT.d.ts +67 -0
  10. package/dist/{Select-Dl_vF_Bt.d.ts → Select-BeEsefzh.d.ts} +12 -2
  11. package/dist/{ThinkChat-7DQ2CogF.js → ThinkChat-CzC-zNGA.js} +27 -37
  12. package/dist/{ThinkChatActivity-m9orbdeI.d.ts → ThinkChatActivity-BFQnb2ct.d.ts} +3 -10
  13. package/dist/ThinkChatActivitySummary-BPmu9a-c.d.ts +39 -0
  14. package/dist/{ThinkChatToolParts-Cv4o7j6F.d.ts → ThinkChatToolParts-CSzVwMXf.d.ts} +62 -3
  15. package/dist/ThinkExecutionRun-ChhWhOoU.d.ts +30 -0
  16. package/dist/Toggle-CAAlNl-M.d.ts +69 -0
  17. package/dist/ToggleGroup-8hPv-b69.d.ts +73 -0
  18. package/dist/Workspace-D39LxGvP.d.ts +62 -0
  19. package/dist/WorkspaceFile-DOZkPwzu.d.ts +106 -0
  20. package/dist/WorkspaceFileView-rSN_yT0L.js +744 -0
  21. package/dist/WorkspaceLink-DIPbXrUM.js +337 -0
  22. package/dist/WorkspaceLink-DK1DWMHe.d.ts +89 -0
  23. package/dist/components/Activity.d.ts +27 -1
  24. package/dist/components/Activity.js +33 -15
  25. package/dist/components/AgentActivity.d.ts +2 -0
  26. package/dist/components/AgentActivity.js +45 -0
  27. package/dist/components/AgentActivityPreview.d.ts +46 -0
  28. package/dist/components/AgentActivityPreview.js +94 -0
  29. package/dist/components/AgentAttention.d.ts +73 -0
  30. package/dist/components/AgentAttention.js +85 -0
  31. package/dist/components/AgentChat.d.ts +2 -2
  32. package/dist/components/AgentChat.js +231 -205
  33. package/dist/components/AgentChatMessageEditor.d.ts +29 -0
  34. package/dist/components/AgentChatMessageEditor.js +92 -0
  35. package/dist/components/AgentChatTurnError.d.ts +17 -0
  36. package/dist/components/AgentChatTurnError.js +40 -0
  37. package/dist/components/AgentConnection.d.ts +12 -17
  38. package/dist/components/AgentConnection.js +99 -91
  39. package/dist/components/AppFrame.d.ts +24 -0
  40. package/dist/components/AppFrame.js +25 -0
  41. package/dist/components/AppTopBar.d.ts +71 -0
  42. package/dist/components/AppTopBar.js +82 -0
  43. package/dist/components/Artifact.js +1 -1
  44. package/dist/components/BrowserLiveView.js +1 -1
  45. package/dist/components/BrowserReplay.js +1 -1
  46. package/dist/components/BrowserRunPanel.js +1 -1
  47. package/dist/components/Card.d.ts +3 -0
  48. package/dist/components/Card.js +2 -1
  49. package/dist/components/ChainOfThought.d.ts +1 -1
  50. package/dist/components/ChainOfThought.js +1 -1
  51. package/dist/components/ChatGptSignInScreen.js +2 -2
  52. package/dist/components/Checkbox.js +5 -13
  53. package/dist/components/CheckboxGroup.d.ts +58 -2
  54. package/dist/components/CheckboxGroup.js +59 -1
  55. package/dist/components/CodeBlock.d.ts +1 -1
  56. package/dist/components/CodeBlock.js +1 -1
  57. package/dist/components/CodexModelSelector.js +1 -1
  58. package/dist/components/Commit.js +2 -2
  59. package/dist/components/ContextMenu.js +1 -1
  60. package/dist/components/Conversation.js +1 -1
  61. package/dist/components/DescriptionList.d.ts +12 -0
  62. package/dist/components/DescriptionList.js +11 -0
  63. package/dist/components/DescriptionListParts.d.ts +37 -0
  64. package/dist/components/DescriptionListParts.js +35 -0
  65. package/dist/components/EnvironmentVariables.js +2 -2
  66. package/dist/components/Fieldset.d.ts +13 -1
  67. package/dist/components/Fieldset.js +11 -2
  68. package/dist/components/FileTree.js +1 -1
  69. package/dist/components/IconButton.d.ts +33 -0
  70. package/dist/components/IconButton.js +27 -0
  71. package/dist/components/McpConnectionRequest.d.ts +44 -0
  72. package/dist/components/McpConnectionRequest.js +122 -0
  73. package/dist/components/McpServerPicker.d.ts +48 -23
  74. package/dist/components/McpServerPicker.js +238 -189
  75. package/dist/components/Menubar.js +1 -1
  76. package/dist/components/Message.d.ts +1 -0
  77. package/dist/components/Message.js +1 -285
  78. package/dist/components/MessageScroller.js +1 -1
  79. package/dist/components/ModelSelector.d.ts +15 -3
  80. package/dist/components/ModelSelector.js +1 -1
  81. package/dist/components/NaniteScene.d.ts +10 -1
  82. package/dist/components/NaniteScene.js +36 -1
  83. package/dist/components/Pricing.d.ts +37 -0
  84. package/dist/components/Pricing.js +17 -0
  85. package/dist/components/PricingBillingToggle.d.ts +23 -0
  86. package/dist/components/PricingBillingToggle.js +86 -0
  87. package/dist/components/PricingConfirmationDialog.d.ts +25 -0
  88. package/dist/components/PricingConfirmationDialog.js +57 -0
  89. package/dist/components/PricingFAQ.d.ts +18 -0
  90. package/dist/components/PricingFAQ.js +27 -0
  91. package/dist/components/PricingPage.d.ts +2 -38
  92. package/dist/components/PricingPage.js +39 -359
  93. package/dist/components/PricingPlanCard.d.ts +22 -0
  94. package/dist/components/PricingPlanCard.js +109 -0
  95. package/dist/components/PricingUsageCalculator.d.ts +22 -0
  96. package/dist/components/PricingUsageCalculator.js +96 -0
  97. package/dist/components/PromptInput.d.ts +2 -2
  98. package/dist/components/PromptInput.js +210 -15
  99. package/dist/components/Queue.js +1 -1
  100. package/dist/components/Reasoning.d.ts +2 -1
  101. package/dist/components/Reasoning.js +14 -29
  102. package/dist/components/ResizableSidePanel.d.ts +57 -0
  103. package/dist/components/ResizableSidePanel.js +151 -0
  104. package/dist/components/ResponsiveSidebarShell.d.ts +2 -0
  105. package/dist/components/ResponsiveSidebarShell.js +129 -0
  106. package/dist/components/Select.d.ts +2 -2
  107. package/dist/components/Select.js +11 -2
  108. package/dist/components/Slider.d.ts +13 -1
  109. package/dist/components/Slider.js +11 -0
  110. package/dist/components/Sources.js +1 -1
  111. package/dist/components/Stepper.d.ts +4 -0
  112. package/dist/components/Stepper.js +5 -3
  113. package/dist/components/SubagentRun.d.ts +86 -0
  114. package/dist/components/SubagentRun.js +108 -0
  115. package/dist/components/SubagentRunDetails.d.ts +44 -0
  116. package/dist/components/SubagentRunDetails.js +48 -0
  117. package/dist/components/SubagentRunIndicator.d.ts +22 -0
  118. package/dist/components/SubagentRunIndicator.js +33 -0
  119. package/dist/components/SubagentRunList.d.ts +25 -0
  120. package/dist/components/SubagentRunList.js +26 -0
  121. package/dist/components/SubagentRunSelector.d.ts +47 -0
  122. package/dist/components/SubagentRunSelector.js +55 -0
  123. package/dist/components/Task.js +1 -1
  124. package/dist/components/Terminal.js +2 -2
  125. package/dist/components/TestResults.js +1 -1
  126. package/dist/components/Textarea.d.ts +21 -0
  127. package/dist/components/Textarea.js +19 -0
  128. package/dist/components/ThemeModeControl.d.ts +24 -0
  129. package/dist/components/ThemeModeControl.js +52 -0
  130. package/dist/components/ThemeProvider.d.ts +38 -0
  131. package/dist/components/ThemeProvider.js +80 -0
  132. package/dist/components/ThinkChat.d.ts +34 -7
  133. package/dist/components/ThinkChat.js +7 -4
  134. package/dist/components/ThinkChatActivity.d.ts +3 -2
  135. package/dist/components/ThinkChatActivity.js +18 -297
  136. package/dist/components/ThinkChatActivitySummary.d.ts +2 -0
  137. package/dist/components/ThinkChatActivitySummary.js +421 -0
  138. package/dist/components/ThinkChatToolPanels.d.ts +15 -5
  139. package/dist/components/ThinkChatToolPanels.js +116 -9
  140. package/dist/components/ThinkChatToolParts.d.ts +2 -2
  141. package/dist/components/ThinkChatToolParts.js +51 -9
  142. package/dist/components/ThinkExecutionDetail.d.ts +20 -0
  143. package/dist/components/ThinkExecutionDetail.js +80 -0
  144. package/dist/components/ThinkExecutionRun.d.ts +2 -0
  145. package/dist/components/ThinkExecutionRun.js +72 -0
  146. package/dist/components/ThinkExecutionStatus.d.ts +22 -0
  147. package/dist/components/ThinkExecutionStatus.js +36 -0
  148. package/dist/components/ThinkExecutionWorkbench.d.ts +7 -0
  149. package/dist/components/ThinkExecutionWorkbench.js +69 -225
  150. package/dist/components/ThinkFullApp.d.ts +58 -14
  151. package/dist/components/ThinkFullApp.js +129 -160
  152. package/dist/components/ThinkFullAppViewSwitch.d.ts +31 -0
  153. package/dist/components/ThinkFullAppViewSwitch.js +34 -0
  154. package/dist/components/ThinkRoutine.d.ts +36 -0
  155. package/dist/components/ThinkRoutine.js +15 -0
  156. package/dist/components/ThinkRoutineBrowser.d.ts +25 -0
  157. package/dist/components/ThinkRoutineBrowser.js +156 -0
  158. package/dist/components/ThinkRoutineDetail.d.ts +24 -0
  159. package/dist/components/ThinkRoutineDetail.js +102 -0
  160. package/dist/components/ThinkRoutineForm.d.ts +32 -0
  161. package/dist/components/ThinkRoutineForm.js +151 -0
  162. package/dist/components/ThinkRoutineLibrary.d.ts +74 -0
  163. package/dist/components/ThinkRoutineLibrary.js +178 -0
  164. package/dist/components/ThinkRoutineRuns.d.ts +24 -0
  165. package/dist/components/ThinkRoutineRuns.js +68 -0
  166. package/dist/components/ThinkThreadPicker.d.ts +18 -1
  167. package/dist/components/ThinkThreadPicker.js +51 -5
  168. package/dist/components/ThinkThreadShell.d.ts +12 -9
  169. package/dist/components/ThinkThreadShell.js +17 -137
  170. package/dist/components/Toggle.d.ts +1 -68
  171. package/dist/components/ToggleGroup.d.ts +1 -72
  172. package/dist/components/Tooltip.d.ts +3 -1
  173. package/dist/components/Tooltip.js +4 -2
  174. package/dist/components/WebPreview.js +1 -1
  175. package/dist/components/Workspace.d.ts +2 -0
  176. package/dist/components/Workspace.js +424 -0
  177. package/dist/components/WorkspaceBrowser.d.ts +32 -0
  178. package/dist/components/WorkspaceBrowser.js +103 -0
  179. package/dist/components/WorkspaceExplorer.d.ts +12 -79
  180. package/dist/components/WorkspaceExplorer.js +116 -330
  181. package/dist/components/WorkspaceFile.d.ts +2 -0
  182. package/dist/components/WorkspaceFile.js +195 -0
  183. package/dist/components/WorkspaceFileView.d.ts +26 -0
  184. package/dist/components/WorkspaceFileView.js +2 -0
  185. package/dist/components/WorkspaceHeader.d.ts +35 -0
  186. package/dist/components/WorkspaceHeader.js +51 -0
  187. package/dist/components/WorkspaceLink.d.ts +2 -0
  188. package/dist/components/WorkspaceLink.js +2 -0
  189. package/dist/components/icons.d.ts +2 -2
  190. package/dist/components/icons.js +2 -2
  191. package/dist/{copy-button-DUMLYdsk.js → copy-button-Dejn5heL.js} +1 -1
  192. package/dist/icons-CpfUer49.js +85 -0
  193. package/dist/{icons-CUCz_Sft.d.ts → icons-GQd1xF4e.d.ts} +51 -1
  194. package/dist/styles/activity-header.css +75 -0
  195. package/dist/styles/activity.css +49 -63
  196. package/dist/styles/agent-activity-preview-overlay.css +80 -0
  197. package/dist/styles/agent-activity-preview.css +235 -0
  198. package/dist/styles/agent-attention.css +122 -0
  199. package/dist/styles/agent-chat.css +141 -4
  200. package/dist/styles/app-frame.css +15 -0
  201. package/dist/styles/app-top-bar.css +100 -0
  202. package/dist/styles/avatar.css +0 -1
  203. package/dist/styles/browser-control-overlay.css +184 -0
  204. package/dist/styles/card.css +21 -0
  205. package/dist/styles/checkbox-group.css +69 -0
  206. package/dist/styles/description-list.css +50 -0
  207. package/dist/styles/fieldset.css +11 -0
  208. package/dist/styles/index.css +15 -2
  209. package/dist/styles/mcp-connection-request.css +60 -0
  210. package/dist/styles/mcp-server-picker.css +95 -68
  211. package/dist/styles/message.css +4 -43
  212. package/dist/styles/nanite-scene.css +16 -0
  213. package/dist/styles/pricing-page.css +21 -27
  214. package/dist/styles/prompt-input.css +225 -32
  215. package/dist/styles/reasoning.css +1 -55
  216. package/dist/styles/recipes.css +23 -15
  217. package/dist/styles/resizable-side-panel.css +66 -0
  218. package/dist/styles/responsive-sidebar-shell.css +169 -0
  219. package/dist/styles/select.css +10 -0
  220. package/dist/styles/stepper.css +13 -0
  221. package/dist/styles/streamdown.css +0 -4
  222. package/dist/styles/subagent-run.css +205 -0
  223. package/dist/styles/textarea.css +20 -0
  224. package/dist/styles/theme-mode-control.css +72 -0
  225. package/dist/styles/think-execution-status.css +49 -0
  226. package/dist/styles/think-execution-workbench.css +8 -72
  227. package/dist/styles/think-full-app.css +106 -131
  228. package/dist/styles/think-routine-library.css +491 -0
  229. package/dist/styles/think-thread-picker.css +47 -3
  230. package/dist/styles/toggle-group.css +7 -0
  231. package/dist/styles/workspace-explorer.css +511 -64
  232. package/dist/utils/codex-model-catalog.d.ts +4 -4
  233. package/dist/utils/mcp-server-catalog.d.ts +82 -78
  234. package/dist/utils/mcp-server-catalog.js +64 -41
  235. package/dist/utils/structured-code.d.ts +1 -1
  236. package/dist/utils/theme.d.ts +22 -0
  237. package/dist/utils/theme.js +55 -0
  238. package/package.json +34 -28
  239. package/dist/icons-Ba9THQKz.js +0 -64
  240. package/dist/styles/think-resize-handle.css +0 -33
  241. package/dist/styles/think-thread-shell.css +0 -219
@@ -1,115 +1,161 @@
1
+ @import "yet-another-react-lightbox/styles.css";
2
+
1
3
  .workspace-explorer {
4
+ box-sizing: border-box;
2
5
  display: flex;
3
6
  flex-direction: column;
7
+ inline-size: 100%;
4
8
  min-height: 0;
5
9
  height: 100%;
10
+ overflow: hidden;
6
11
  font-family: inherit;
7
12
  color: var(--sigvelo-color-text);
13
+ background-color: var(--sigvelo-color-surface);
14
+ border: var(--sigvelo-border-style) var(--sigvelo-border-width)
15
+ var(--sigvelo-color-neutral-border-subtle);
16
+ border-radius: var(--sigvelo-radius-xl);
17
+ box-shadow: var(--sigvelo-shadow-xs);
18
+ container-type: inline-size;
8
19
  }
9
20
 
10
- /* Compact masthead, sized to the pre-design-system nanites workbench. */
11
21
  .workspace-explorer__header {
12
- display: flex;
13
- align-items: center;
14
- gap: 0.5rem;
15
- min-height: 2.5rem;
16
- padding: 0.25rem var(--sigvelo-spacing-2-5);
22
+ flex: 0 0 auto;
23
+ min-block-size: var(--sigvelo-control-height-sm);
24
+ padding-block: var(--sigvelo-spacing-0-5);
25
+ padding-inline: var(--sigvelo-spacing-1-5);
17
26
  border-block-end: var(--sigvelo-border-style) var(--sigvelo-border-width)
18
27
  var(--sigvelo-color-neutral-border-subtle);
19
28
  }
20
29
 
21
- .workspace-explorer__title {
30
+ .workspace-explorer__header .app-top-bar__button {
31
+ inline-size: var(--sigvelo-control-height-xs);
32
+ min-inline-size: var(--sigvelo-control-height-xs);
33
+ block-size: var(--sigvelo-control-height-xs);
34
+ min-block-size: var(--sigvelo-control-height-xs);
35
+ padding: var(--sigvelo-spacing-1-5);
36
+ }
37
+
38
+ .workspace-explorer__header .app-top-bar__button svg {
39
+ inline-size: var(--sigvelo-text-sm);
40
+ block-size: var(--sigvelo-text-sm);
41
+ }
42
+
43
+ .workspace-explorer__heading {
44
+ display: flex;
45
+ align-items: baseline;
46
+ gap: var(--sigvelo-spacing-1);
22
47
  font-size: var(--sigvelo-text-compact);
23
- font-weight: 550;
24
48
  }
25
49
 
26
50
  .workspace-explorer__count {
27
- font-size: var(--sigvelo-text-xs);
51
+ font-size: var(--sigvelo-text-2xs);
52
+ font-weight: var(--sigvelo-font-weight-normal);
28
53
  color: var(--sigvelo-color-text-muted);
29
54
  }
30
55
 
31
56
  .workspace-explorer__path {
32
- flex: 1;
33
- min-width: 0;
57
+ display: block;
34
58
  overflow: hidden;
35
- text-overflow: ellipsis;
36
- white-space: nowrap;
37
- font-size: var(--sigvelo-text-xs);
38
59
  font-family: var(--sigvelo-font-mono);
39
- color: var(--sigvelo-color-text-muted);
40
- }
41
-
42
- .workspace-explorer__actions {
43
- display: flex;
44
- align-items: center;
45
- gap: 0.25rem;
46
- margin-inline-start: auto;
60
+ font-size: var(--sigvelo-text-xs);
61
+ font-weight: var(--sigvelo-font-weight-normal);
62
+ text-overflow: ellipsis;
47
63
  }
48
64
 
49
65
  .workspace-explorer__body {
50
66
  display: flex;
51
67
  flex-direction: column;
52
- gap: var(--sigvelo-spacing-1-5);
53
68
  min-height: 0;
54
69
  flex: 1;
55
- padding: var(--sigvelo-spacing-1-5) var(--sigvelo-spacing-2-5);
56
70
  overflow: auto;
57
71
  }
58
72
 
59
73
  .workspace-explorer__filter {
60
- display: flex;
61
- align-items: center;
62
- gap: var(--sigvelo-spacing-1-5);
63
- min-height: 2rem;
64
- padding-inline: 0.5rem;
74
+ inline-size: auto;
75
+ gap: 0;
76
+ margin-block: var(--sigvelo-spacing-1);
77
+ margin-inline: var(--sigvelo-spacing-2);
78
+ }
79
+
80
+ .workspace-explorer__filter-label {
81
+ position: absolute;
82
+ inline-size: 1px;
83
+ block-size: 1px;
84
+ margin: -1px;
85
+ padding: 0;
86
+ overflow: hidden;
87
+ border: 0;
88
+ clip-path: inset(50%);
89
+ white-space: nowrap;
90
+ }
91
+
92
+ .workspace-explorer__filter-control {
93
+ position: relative;
94
+ }
95
+
96
+ .workspace-explorer__filter-control > svg {
97
+ position: absolute;
98
+ inset-block-start: 50%;
99
+ inset-inline-start: var(--sigvelo-spacing-1-5);
100
+ z-index: 1;
101
+ inline-size: var(--sigvelo-text-sm);
102
+ block-size: var(--sigvelo-text-sm);
103
+ translate: 0 -50%;
65
104
  color: var(--sigvelo-color-text-muted);
66
- border: var(--sigvelo-border-style) var(--sigvelo-border-width)
67
- var(--sigvelo-color-neutral-border-subtle);
68
- border-radius: var(--sigvelo-radius-md);
105
+ pointer-events: none;
69
106
  }
70
107
 
71
- .workspace-explorer__filter:focus-within {
72
- border-color: var(--sigvelo-color-focus);
108
+ .workspace-explorer__filter-control > [data-slot="field-control"] {
109
+ block-size: var(--sigvelo-control-height-xs);
110
+ min-block-size: var(--sigvelo-control-height-xs);
111
+ padding-inline-start: calc(var(--sigvelo-spacing-1-5) + 1rem + var(--sigvelo-spacing-1));
112
+ font-size: var(--sigvelo-control-text-sm);
73
113
  }
74
114
 
75
- .workspace-explorer__filter-input.input {
115
+ .workspace-explorer__tree {
76
116
  flex: 1;
77
- min-width: 0;
78
- height: auto;
79
- padding-block: 0.25rem;
80
- padding-inline: 0;
81
- border: none;
117
+ min-block-size: 0;
118
+ border: 0;
82
119
  border-radius: 0;
83
120
  background: transparent;
84
- color: var(--sigvelo-color-text);
85
- font-family: inherit;
86
- font-size: var(--sigvelo-text-xs);
121
+ padding-block: var(--sigvelo-spacing-1);
122
+ padding-inline: var(--sigvelo-spacing-1-5);
87
123
  }
88
124
 
89
- .workspace-explorer__filter-input.input:focus-visible {
90
- outline: var(--sigvelo-focus-width) solid var(--sigvelo-color-focus);
91
- outline-offset: var(--sigvelo-focus-offset);
125
+ .workspace-explorer__tree .file-tree__node {
126
+ min-block-size: var(--sigvelo-control-height-xs);
127
+ gap: var(--sigvelo-spacing-1);
128
+ padding-block: var(--sigvelo-spacing-0-5);
129
+ padding-inline-end: var(--sigvelo-spacing-1-5);
130
+ border-radius: var(--sigvelo-radius-sm);
131
+ color: var(--sigvelo-color-text-muted);
132
+ font-size: var(--sigvelo-text-compact);
133
+ line-height: var(--sigvelo-leading-snug);
92
134
  }
93
135
 
94
- .workspace-explorer__tree {
95
- border: none;
96
- background: transparent;
97
- padding-block: 0;
136
+ .workspace-explorer__tree :is(.file-tree__chevron, .file-tree__icon) svg {
137
+ inline-size: var(--sigvelo-text-sm);
138
+ block-size: var(--sigvelo-text-sm);
98
139
  }
99
140
 
100
- /* Rows hug their label — hover reads as a pill around the name, not a
101
- full-width bar (carried over from the original nanites workbench). */
102
- .workspace-explorer__tree .file-tree__node {
103
- inline-size: fit-content;
104
- max-inline-size: 100%;
105
- gap: 0.5rem;
106
- padding-block: 0.3125rem;
107
- border-radius: var(--sigvelo-radius-md);
141
+ .workspace-explorer__tree .file-tree__chevron {
142
+ inline-size: var(--sigvelo-text-sm);
143
+ }
144
+
145
+ .workspace-explorer__tree .file-tree__node--folder .file-tree__icon {
146
+ color: currentColor;
108
147
  }
109
148
 
110
- .workspace-explorer__tree .file-tree__name {
111
- flex: 0 1 auto;
112
- line-height: 1.4;
149
+ .workspace-explorer__tree .file-tree__node[data-selected] {
150
+ background-color: var(--sigvelo-color-neutral-bg-subtle);
151
+ color: var(--sigvelo-color-text);
152
+ font-weight: var(--sigvelo-font-weight-normal);
153
+ }
154
+
155
+ .workspace-explorer__tree .file-tree__node:is([data-focused], :focus-visible) {
156
+ outline: none;
157
+ background-color: var(--sigvelo-color-neutral-bg-subtle);
158
+ box-shadow: inset 0 0 0 var(--sigvelo-border-width) var(--sigvelo-color-neutral-border-muted);
113
159
  }
114
160
 
115
161
  .workspace-explorer__empty {
@@ -134,11 +180,412 @@
134
180
 
135
181
  .workspace-explorer__code {
136
182
  flex: 1;
183
+ min-block-size: 100%;
137
184
  border-radius: 0;
185
+ background-color: var(--sigvelo-color-surface);
186
+ }
187
+
188
+ .workspace-explorer__markdown-scroll {
189
+ flex: 1;
190
+ min-block-size: 0;
191
+ overflow: auto;
192
+ background-color: var(--sigvelo-color-surface);
193
+ }
194
+
195
+ .workspace-explorer__markdown {
196
+ box-sizing: border-box;
197
+ inline-size: min(100%, 80ch);
198
+ margin-inline: auto;
199
+ padding-block: var(--sigvelo-spacing-8) var(--sigvelo-spacing-12);
200
+ padding-inline: var(--sigvelo-spacing-6);
201
+ font-size: var(--sigvelo-text-fluid-base);
202
+ line-height: var(--sigvelo-leading-relaxed);
203
+ }
204
+
205
+ .workspace-explorer__markdown-content > :first-child {
206
+ margin-block-start: 0;
207
+ }
208
+
209
+ .workspace-explorer__markdown-content > :last-child {
210
+ margin-block-end: 0;
211
+ }
212
+
213
+ .workspace-explorer__markdown-content [data-workspace-fragment] {
214
+ scroll-margin-block-start: var(--sigvelo-spacing-6);
215
+ }
216
+
217
+ .workspace-explorer__markdown-content [data-workspace-fragment]:focus-visible {
218
+ outline: var(--sigvelo-focus-ring);
219
+ outline-offset: var(--sigvelo-focus-offset);
220
+ border-radius: var(--sigvelo-radius-xs);
221
+ }
222
+
223
+ .workspace-link__external-mark,
224
+ .workspace-link__invalid-mark {
225
+ margin-inline-start: 0.2em;
226
+ font-size: 0.8em;
227
+ text-decoration: none;
228
+ }
229
+
230
+ .workspace-link--invalid {
231
+ color: var(--sigvelo-color-text-muted);
232
+ text-decoration: underline dotted;
233
+ cursor: not-allowed;
234
+ }
235
+
236
+ .workspace-link__visually-hidden {
237
+ position: absolute;
238
+ inline-size: 1px;
239
+ block-size: 1px;
240
+ margin: -1px;
241
+ padding: 0;
242
+ overflow: hidden;
243
+ border: 0;
244
+ clip-path: inset(50%);
245
+ white-space: nowrap;
246
+ }
247
+
248
+ .workspace-explorer__markdown-content
249
+ :is(
250
+ [data-streamdown="code-block"],
251
+ [data-streamdown="mermaid-block"],
252
+ [data-streamdown="code-block-actions"],
253
+ [data-streamdown="mermaid-block-actions"]
254
+ ) {
255
+ background-color: var(--sigvelo-color-surface);
256
+ }
257
+
258
+ .workspace-explorer__markdown-content [data-streamdown="heading-1"] {
259
+ margin-block: var(--sigvelo-spacing-8) var(--sigvelo-spacing-3);
260
+ font-size: var(--sigvelo-text-fluid-2xl);
261
+ font-weight: var(--sigvelo-font-weight-bold);
262
+ line-height: var(--sigvelo-leading-tight);
263
+ }
264
+
265
+ .workspace-explorer__markdown-content [data-streamdown="heading-2"] {
266
+ margin-block: var(--sigvelo-spacing-8) var(--sigvelo-spacing-2);
267
+ font-size: var(--sigvelo-text-fluid-lg);
268
+ font-weight: var(--sigvelo-font-weight-bold);
269
+ }
270
+
271
+ .workspace-explorer__markdown-content
272
+ :is([data-streamdown="heading-3"], [data-streamdown="heading-4"]) {
273
+ margin-block: var(--sigvelo-spacing-6) var(--sigvelo-spacing-2);
274
+ font-size: var(--sigvelo-text-lg);
275
+ }
276
+
277
+ .workspace-explorer__skill {
278
+ margin-block-end: var(--sigvelo-spacing-8);
279
+ padding-block-end: var(--sigvelo-spacing-6);
280
+ border-block-end: var(--sigvelo-border-style) var(--sigvelo-border-width)
281
+ var(--sigvelo-color-neutral-border-subtle);
282
+ }
283
+
284
+ .workspace-explorer__skill-kicker {
285
+ margin-block-end: var(--sigvelo-spacing-2);
286
+ color: var(--sigvelo-color-text-muted);
287
+ font-size: var(--sigvelo-text-xs);
288
+ font-weight: var(--sigvelo-font-weight-semibold);
289
+ letter-spacing: var(--sigvelo-tracking-wider);
290
+ text-transform: uppercase;
291
+ }
292
+
293
+ .workspace-explorer__skill-name {
294
+ margin: 0;
295
+ font-size: var(--sigvelo-text-xl);
296
+ font-weight: var(--sigvelo-font-weight-bold);
297
+ line-height: var(--sigvelo-leading-tight);
298
+ }
299
+
300
+ .workspace-explorer__skill-description {
301
+ margin-block: var(--sigvelo-spacing-2) 0;
302
+ color: var(--sigvelo-color-text-muted);
303
+ }
304
+
305
+ .workspace-explorer__skill-metadata {
306
+ display: grid;
307
+ grid-template-columns: max-content minmax(0, 1fr);
308
+ gap: var(--sigvelo-spacing-1) var(--sigvelo-spacing-3);
309
+ margin-block: var(--sigvelo-spacing-4) 0;
310
+ font-size: var(--sigvelo-text-sm);
311
+ }
312
+
313
+ .workspace-explorer__skill-metadata dt {
314
+ color: var(--sigvelo-color-text-muted);
138
315
  }
139
316
 
140
- /* File contents read at gutter scale, like the original workbench preview. */
141
- .workspace-explorer__code :is(.code-block__content, .code-block__content pre) {
317
+ .workspace-explorer__skill-metadata dd {
318
+ min-inline-size: 0;
319
+ margin: 0;
320
+ overflow-wrap: anywhere;
321
+ font-family: var(--sigvelo-font-mono);
322
+ }
323
+
324
+ .workspace-explorer__skill-status {
325
+ display: flex;
326
+ align-items: center;
327
+ gap: var(--sigvelo-spacing-1-5);
328
+ margin-block-start: var(--sigvelo-spacing-4);
329
+ color: var(--sigvelo-color-success-text);
330
+ font-size: var(--sigvelo-text-sm);
331
+ font-weight: var(--sigvelo-font-weight-semibold);
332
+ }
333
+
334
+ .workspace-explorer__skill-status[data-invalid] {
335
+ color: var(--sigvelo-color-warning-text);
336
+ }
337
+
338
+ .workspace-explorer__skill-errors {
339
+ margin-block: var(--sigvelo-spacing-2) 0;
340
+ padding-inline-start: var(--sigvelo-spacing-6);
341
+ color: var(--sigvelo-color-warning-text);
342
+ font-size: var(--sigvelo-text-sm);
343
+ }
344
+
345
+ .workspace-explorer__media-scroll {
346
+ display: flex;
347
+ min-block-size: 0;
348
+ flex: 1;
349
+ overflow: auto;
350
+ color-scheme: inherit;
351
+ background-color: var(--sigvelo-color-surface);
352
+ }
353
+
354
+ .workspace-explorer__media-scroll:focus-visible {
355
+ outline: var(--sigvelo-focus-ring);
356
+ outline-offset: calc(-1 * var(--sigvelo-focus-offset));
357
+ }
358
+
359
+ .workspace-explorer__media-figure {
360
+ display: grid;
361
+ grid-template-rows: minmax(18rem, 1fr) auto;
362
+ inline-size: 100%;
363
+ min-block-size: 100%;
364
+ margin: 0;
365
+ background-color: var(--sigvelo-color-surface);
366
+ }
367
+
368
+ .workspace-explorer__media-stage {
369
+ display: flex;
370
+ min-inline-size: 0;
371
+ min-block-size: 18rem;
372
+ align-items: center;
373
+ justify-content: center;
374
+ overflow: hidden;
375
+ padding: var(--sigvelo-spacing-6);
376
+ background-color: var(--sigvelo-color-surface);
377
+ }
378
+
379
+ .workspace-explorer__image-trigger {
380
+ display: flex;
381
+ inline-size: 100%;
382
+ block-size: 100%;
383
+ min-block-size: 16rem;
384
+ align-items: center;
385
+ justify-content: center;
386
+ padding: var(--sigvelo-spacing-2);
387
+ border: var(--sigvelo-border-style) var(--sigvelo-border-width)
388
+ var(--sigvelo-color-neutral-border-subtle);
389
+ border-radius: var(--sigvelo-radius-md);
390
+ color: inherit;
391
+ background-color: transparent;
392
+ cursor: zoom-in;
393
+ }
394
+
395
+ .workspace-explorer__image-trigger:focus-visible {
396
+ outline: var(--sigvelo-focus-ring);
397
+ outline-offset: var(--sigvelo-focus-offset);
398
+ }
399
+
400
+ .workspace-explorer__image-trigger[aria-disabled="true"] {
401
+ cursor: default;
402
+ }
403
+
404
+ .workspace-explorer__image {
405
+ display: block;
406
+ max-inline-size: 100%;
407
+ max-block-size: 100%;
408
+ inline-size: auto;
409
+ block-size: auto;
410
+ object-fit: contain;
411
+ }
412
+
413
+ .workspace-explorer__pdf {
414
+ inline-size: 100%;
415
+ block-size: 100%;
416
+ min-block-size: 28rem;
417
+ border: var(--sigvelo-border-style) var(--sigvelo-border-width)
418
+ var(--sigvelo-color-neutral-border-subtle);
419
+ border-radius: var(--sigvelo-radius-md);
420
+ background-color: var(--sigvelo-color-surface);
421
+ }
422
+
423
+ .workspace-explorer__audio {
424
+ inline-size: min(100%, 42rem);
425
+ }
426
+
427
+ .workspace-explorer__video {
428
+ display: block;
429
+ max-inline-size: 100%;
430
+ max-block-size: 100%;
431
+ inline-size: auto;
432
+ block-size: auto;
433
+ border-radius: var(--sigvelo-radius-md);
434
+ background-color: var(--sigvelo-color-surface);
435
+ }
436
+
437
+ .workspace-explorer__media-caption {
438
+ display: flex;
439
+ min-inline-size: 0;
440
+ align-items: center;
441
+ justify-content: space-between;
442
+ gap: var(--sigvelo-spacing-4);
443
+ padding-block: var(--sigvelo-spacing-3);
444
+ padding-inline: var(--sigvelo-spacing-4);
445
+ border-block-start: var(--sigvelo-border-style) var(--sigvelo-border-width)
446
+ var(--sigvelo-color-neutral-border-subtle);
447
+ background-color: var(--sigvelo-color-surface);
448
+ }
449
+
450
+ .workspace-explorer__media-details {
451
+ display: flex;
452
+ min-inline-size: 0;
453
+ flex-wrap: wrap;
454
+ gap: var(--sigvelo-spacing-2) var(--sigvelo-spacing-4);
455
+ margin: 0;
142
456
  font-size: var(--sigvelo-text-xs);
143
- line-height: 1.6;
457
+ }
458
+
459
+ .workspace-explorer__media-details > div {
460
+ display: flex;
461
+ min-inline-size: 0;
462
+ gap: var(--sigvelo-spacing-1-5);
463
+ }
464
+
465
+ .workspace-explorer__media-details dt {
466
+ color: var(--sigvelo-color-text-muted);
467
+ }
468
+
469
+ .workspace-explorer__media-details dd {
470
+ min-inline-size: 0;
471
+ margin: 0;
472
+ overflow-wrap: anywhere;
473
+ font-family: var(--sigvelo-font-mono);
474
+ }
475
+
476
+ .workspace-explorer__media-transcript,
477
+ .workspace-explorer__media-fallback a {
478
+ color: var(--sigvelo-color-primary-text);
479
+ text-decoration: underline;
480
+ text-underline-offset: 0.15em;
481
+ }
482
+
483
+ .workspace-explorer__media-transcript {
484
+ flex: 0 0 auto;
485
+ font-size: var(--sigvelo-text-sm);
486
+ }
487
+
488
+ .workspace-explorer__media-fallback,
489
+ .workspace-explorer__media-error {
490
+ max-inline-size: 42rem;
491
+ margin: 0;
492
+ color: var(--sigvelo-color-text-muted);
493
+ font-size: var(--sigvelo-text-compact);
494
+ text-align: center;
495
+ }
496
+
497
+ .workspace-explorer__media-error:empty {
498
+ display: none;
499
+ }
500
+
501
+ .workspace-explorer__visually-hidden {
502
+ position: absolute;
503
+ inline-size: 1px;
504
+ block-size: 1px;
505
+ margin: -1px;
506
+ padding: 0;
507
+ overflow: hidden;
508
+ border: 0;
509
+ clip-path: inset(50%);
510
+ white-space: nowrap;
511
+ }
512
+
513
+ .workspace-media-lightbox {
514
+ --yarl__color_backdrop: var(--sigvelo-color-surface);
515
+ --yarl__color_button: var(--sigvelo-color-text-muted);
516
+ --yarl__color_button_active: var(--sigvelo-color-text);
517
+ --yarl__color_button_disabled: var(--sigvelo-color-text-muted);
518
+ --yarl__button_background_color: var(--sigvelo-color-surface);
519
+ --yarl__button_border: var(--sigvelo-border-style) var(--sigvelo-border-width)
520
+ var(--sigvelo-color-neutral-border-subtle);
521
+ --yarl__button_filter: none;
522
+ --yarl__button_margin: var(--sigvelo-spacing-1);
523
+ --yarl__button_padding: var(--sigvelo-spacing-2);
524
+ --yarl__icon_size: 1.25rem;
525
+ --yarl__toolbar_padding: var(--sigvelo-spacing-2);
526
+ }
527
+
528
+ .workspace-media-lightbox .yarl__button {
529
+ min-inline-size: 2.75rem;
530
+ min-block-size: 2.75rem;
531
+ border-radius: var(--sigvelo-radius-md);
532
+ }
533
+
534
+ .workspace-media-lightbox .yarl__button:focus-visible {
535
+ outline: var(--sigvelo-focus-ring);
536
+ outline-offset: var(--sigvelo-focus-offset);
537
+ }
538
+
539
+ @media (forced-colors: active) {
540
+ .workspace-explorer__tree .file-tree__node:is([data-focused], :focus-visible) {
541
+ outline: 2px solid Highlight;
542
+ outline-offset: -2px;
543
+ background-color: Canvas;
544
+ color: CanvasText;
545
+ box-shadow: none;
546
+ }
547
+
548
+ .workspace-explorer__image-trigger,
549
+ .workspace-explorer__pdf,
550
+ .workspace-media-lightbox .yarl__button {
551
+ border-color: ButtonText;
552
+ }
553
+
554
+ .workspace-media-lightbox .yarl__button:focus-visible {
555
+ outline-color: Highlight;
556
+ }
557
+ }
558
+
559
+ @container (inline-size < 24rem) {
560
+ .workspace-explorer__heading {
561
+ max-inline-size: 34cqi;
562
+ }
563
+
564
+ .workspace-explorer__filter {
565
+ margin-inline: var(--sigvelo-spacing-1-5);
566
+ }
567
+
568
+ .workspace-explorer__markdown {
569
+ padding-block-start: var(--sigvelo-spacing-6);
570
+ padding-inline: var(--sigvelo-spacing-4);
571
+ }
572
+
573
+ .workspace-explorer__skill-metadata {
574
+ grid-template-columns: 1fr;
575
+ gap: 0;
576
+ }
577
+
578
+ .workspace-explorer__skill-metadata dd + dt {
579
+ margin-block-start: var(--sigvelo-spacing-2);
580
+ }
581
+
582
+ .workspace-explorer__media-stage {
583
+ padding: var(--sigvelo-spacing-3);
584
+ }
585
+
586
+ .workspace-explorer__media-caption {
587
+ align-items: flex-start;
588
+ flex-direction: column;
589
+ padding-inline: var(--sigvelo-spacing-3);
590
+ }
144
591
  }
@@ -78,7 +78,7 @@ declare const CHECKED_IN_CODEX_MODELS: readonly [{
78
78
  readonly upgradeInfo: null;
79
79
  readonly availabilityNux: null;
80
80
  readonly hidden: boolean;
81
- readonly inputModalities: ("text" | "image")[];
81
+ readonly inputModalities: ("image" | "text")[];
82
82
  readonly supportsPersonality: boolean;
83
83
  readonly additionalSpeedTiers: never[];
84
84
  readonly serviceTiers: never[];
@@ -98,7 +98,7 @@ declare const CHECKED_IN_CODEX_MODELS: readonly [{
98
98
  readonly upgradeInfo: null;
99
99
  readonly availabilityNux: null;
100
100
  readonly hidden: boolean;
101
- readonly inputModalities: ("text" | "image")[];
101
+ readonly inputModalities: ("image" | "text")[];
102
102
  readonly supportsPersonality: boolean;
103
103
  readonly additionalSpeedTiers: never[];
104
104
  readonly serviceTiers: never[];
@@ -115,7 +115,7 @@ declare const CHECKED_IN_CODEX_MODELS: readonly [{
115
115
  readonly upgradeInfo: null;
116
116
  readonly availabilityNux: null;
117
117
  readonly hidden: boolean;
118
- readonly inputModalities: ("text" | "image")[];
118
+ readonly inputModalities: ("image" | "text")[];
119
119
  readonly supportsPersonality: boolean;
120
120
  readonly additionalSpeedTiers: never[];
121
121
  readonly serviceTiers: never[];
@@ -132,7 +132,7 @@ declare const CHECKED_IN_CODEX_MODELS: readonly [{
132
132
  readonly upgradeInfo: null;
133
133
  readonly availabilityNux: null;
134
134
  readonly hidden: boolean;
135
- readonly inputModalities: ("text" | "image")[];
135
+ readonly inputModalities: ("image" | "text")[];
136
136
  readonly supportsPersonality: boolean;
137
137
  readonly additionalSpeedTiers: never[];
138
138
  readonly serviceTiers: never[];