@cueplusplus/ui 0.9.0 → 0.11.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 (330) hide show
  1. package/CHANGELOG.md +337 -0
  2. package/README.md +197 -9
  3. package/dist/chrome/index.d.ts +2 -1
  4. package/dist/chrome/index.js +3 -2
  5. package/dist/chrome/inspector.d.ts +61 -0
  6. package/dist/chrome/inspector.js +121 -0
  7. package/dist/forms/input.d.ts +12 -0
  8. package/dist/forms/textarea.d.ts +12 -0
  9. package/dist/forms/toggle.d.ts +6 -0
  10. package/dist/index.d.ts +7 -3
  11. package/dist/index.js +8 -3
  12. package/dist/instruments/code-block.d.ts +35 -0
  13. package/dist/instruments/code-block.js +173 -0
  14. package/dist/instruments/index.d.ts +2 -1
  15. package/dist/instruments/index.js +2 -1
  16. package/dist/instruments/meter.d.ts +5 -1
  17. package/dist/layout/bento.d.ts +144 -0
  18. package/dist/layout/bento.js +266 -0
  19. package/dist/layout/index.d.ts +4 -2
  20. package/dist/layout/index.js +4 -2
  21. package/dist/layout/preview.d.ts +110 -0
  22. package/dist/layout/preview.js +459 -0
  23. package/dist/primitives/button.d.ts +12 -0
  24. package/dist/primitives/chip.d.ts +1 -1
  25. package/dist/system/index.d.ts +2 -2
  26. package/dist/system/index.js +2 -1
  27. package/dist/system/overrides.d.ts +38 -1
  28. package/dist/system/overrides.js +40 -1
  29. package/manifest/components/accordion.json +24 -6
  30. package/manifest/components/activity-graph.json +20 -5
  31. package/manifest/components/agent-card.json +37 -9
  32. package/manifest/components/agent-handoff.json +21 -5
  33. package/manifest/components/agent-mode-badge.json +22 -4
  34. package/manifest/components/agent-pile.json +38 -8
  35. package/manifest/components/agent-plan.json +9 -2
  36. package/manifest/components/agent-status.json +17 -3
  37. package/manifest/components/agent-surface.json +26 -11
  38. package/manifest/components/alert-dialog.json +29 -5
  39. package/manifest/components/animated-number.json +14 -6
  40. package/manifest/components/app-bar.json +66 -13
  41. package/manifest/components/app-shell.json +133 -31
  42. package/manifest/components/app-window-frame.json +28 -6
  43. package/manifest/components/approval-card.json +37 -7
  44. package/manifest/components/artifact-card.json +16 -4
  45. package/manifest/components/ask-box.json +99 -21
  46. package/manifest/components/audience-icon.json +1 -7
  47. package/manifest/components/autocomplete.json +80 -18
  48. package/manifest/components/avatar-group.json +13 -2
  49. package/manifest/components/avatar.json +22 -4
  50. package/manifest/components/background-inbox.json +9 -2
  51. package/manifest/components/bento.json +306 -0
  52. package/manifest/components/branch-picker.json +29 -7
  53. package/manifest/components/breadcrumb.json +13 -3
  54. package/manifest/components/button-group.json +21 -4
  55. package/manifest/components/button.json +41 -4
  56. package/manifest/components/canvas-split-body.json +4 -1
  57. package/manifest/components/canvas-split-header.json +17 -4
  58. package/manifest/components/canvas-split-line.json +4 -1
  59. package/manifest/components/canvas-split-message.json +8 -1
  60. package/manifest/components/card.json +14 -3
  61. package/manifest/components/carousel.json +54 -12
  62. package/manifest/components/catalogue-icon.json +1 -7
  63. package/manifest/components/channel-beta-icon.json +1 -7
  64. package/manifest/components/channel-matrix.json +80 -15
  65. package/manifest/components/channel-released-icon.json +1 -7
  66. package/manifest/components/chart-container.json +26 -10
  67. package/manifest/components/chart-ramp.json +13 -3
  68. package/manifest/components/chart-swatch.json +9 -2
  69. package/manifest/components/chart-tooltip-content.json +31 -7
  70. package/manifest/components/chart.json +30 -6
  71. package/manifest/components/chat-panel-composer.json +9 -2
  72. package/manifest/components/checkbox-group.json +4 -2
  73. package/manifest/components/checkbox.json +17 -4
  74. package/manifest/components/checkpoint-history.json +13 -3
  75. package/manifest/components/chip.json +35 -5
  76. package/manifest/components/clamp.json +30 -7
  77. package/manifest/components/cli-tool-icon.json +1 -7
  78. package/manifest/components/code-block.json +106 -0
  79. package/manifest/components/code-diff.json +20 -5
  80. package/manifest/components/code-runner.json +32 -6
  81. package/manifest/components/collapsible.json +16 -4
  82. package/manifest/components/color-area.json +4 -1
  83. package/manifest/components/color-field.json +13 -3
  84. package/manifest/components/color-picker.json +75 -17
  85. package/manifest/components/color-slider.json +12 -3
  86. package/manifest/components/color-swatch.json +13 -2
  87. package/manifest/components/colors-section.json +8 -4
  88. package/manifest/components/combobox.json +81 -18
  89. package/manifest/components/command-palette.json +57 -13
  90. package/manifest/components/compaction-row.json +35 -7
  91. package/manifest/components/comparison-card.json +17 -4
  92. package/manifest/components/composer-attachment-chip.json +9 -2
  93. package/manifest/components/composer-bar.json +4 -1
  94. package/manifest/components/composer-command-item.json +8 -2
  95. package/manifest/components/composer-context.json +4 -1
  96. package/manifest/components/composer-input.json +5 -1
  97. package/manifest/components/composer-menu-item.json +4 -1
  98. package/manifest/components/composer-menu.json +12 -2
  99. package/manifest/components/composer-model-item.json +8 -2
  100. package/manifest/components/composer-model-trigger.json +8 -2
  101. package/manifest/components/composer-person-item.json +8 -2
  102. package/manifest/components/composer-send.json +8 -2
  103. package/manifest/components/composer-voice-button.json +4 -1
  104. package/manifest/components/composer-voice.json +8 -2
  105. package/manifest/components/composer.json +76 -17
  106. package/manifest/components/computer-use.json +17 -4
  107. package/manifest/components/confidence-marker.json +13 -3
  108. package/manifest/components/connection-state.json +23 -4
  109. package/manifest/components/container.json +14 -2
  110. package/manifest/components/context-breakdown.json +8 -2
  111. package/manifest/components/context-menu.json +16 -4
  112. package/manifest/components/context-usage.json +16 -4
  113. package/manifest/components/conversation-search.json +22 -5
  114. package/manifest/components/copy-button.json +32 -7
  115. package/manifest/components/cost-meter.json +12 -3
  116. package/manifest/components/cue-logotype.json +17 -3
  117. package/manifest/components/cue-mark.json +17 -3
  118. package/manifest/components/cue-portal-frame.json +13 -3
  119. package/manifest/components/data-row.json +21 -7
  120. package/manifest/components/data-table-pagination.json +18 -4
  121. package/manifest/components/data-table-toolbar.json +30 -7
  122. package/manifest/components/data-tree.json +42 -9
  123. package/manifest/components/date-field.json +13 -2
  124. package/manifest/components/date-picker.json +81 -19
  125. package/manifest/components/date-range-picker.json +81 -19
  126. package/manifest/components/day-separator.json +4 -1
  127. package/manifest/components/delegation-card.json +64 -12
  128. package/manifest/components/density.json +24 -4
  129. package/manifest/components/description-list.json +8 -1
  130. package/manifest/components/diagram.json +33 -7
  131. package/manifest/components/dialog.json +29 -6
  132. package/manifest/components/disclosure.json +31 -7
  133. package/manifest/components/dmx-bar.json +16 -4
  134. package/manifest/components/dmx-strip.json +20 -5
  135. package/manifest/components/document-reference.json +21 -5
  136. package/manifest/components/draft-restore.json +18 -4
  137. package/manifest/components/drawer.json +30 -6
  138. package/manifest/components/dropdown-menu.json +55 -10
  139. package/manifest/components/edit-message.json +32 -7
  140. package/manifest/components/elements-command-palette.json +27 -6
  141. package/manifest/components/elements-data-table.json +9 -2
  142. package/manifest/components/elements-timeline.json +8 -2
  143. package/manifest/components/elicitation-form.json +31 -6
  144. package/manifest/components/empty-state-composer.json +9 -2
  145. package/manifest/components/empty-state-suggestion.json +4 -1
  146. package/manifest/components/empty-state.json +25 -5
  147. package/manifest/components/end-of-turn-summary.json +16 -4
  148. package/manifest/components/env-var-input.json +54 -12
  149. package/manifest/components/error-state.json +17 -4
  150. package/manifest/components/export-dialog.json +27 -8
  151. package/manifest/components/eyebrow.json +4 -1
  152. package/manifest/components/feedback-dialog.json +33 -7
  153. package/manifest/components/field-description.json +4 -1
  154. package/manifest/components/field-error.json +13 -3
  155. package/manifest/components/field-label.json +4 -1
  156. package/manifest/components/field.json +4 -1
  157. package/manifest/components/file-tree.json +16 -4
  158. package/manifest/components/file-upload.json +58 -13
  159. package/manifest/components/flow-graph.json +12 -3
  160. package/manifest/components/folder-icon.json +1 -7
  161. package/manifest/components/footer.json +24 -4
  162. package/manifest/components/frac.json +10 -2
  163. package/manifest/components/generation-loader.json +17 -3
  164. package/manifest/components/generative-ui.json +39 -7
  165. package/manifest/components/grid.json +56 -5
  166. package/manifest/components/group-bar.json +25 -6
  167. package/manifest/components/guardrail-notice.json +22 -5
  168. package/manifest/components/hover-card.json +45 -8
  169. package/manifest/components/icon-button.json +22 -4
  170. package/manifest/components/image-generation.json +8 -2
  171. package/manifest/components/info-tip.json +42 -7
  172. package/manifest/components/inline-citation.json +14 -3
  173. package/manifest/components/input-group.json +24 -5
  174. package/manifest/components/input.json +33 -3
  175. package/manifest/components/inspector.json +199 -0
  176. package/manifest/components/item.json +42 -8
  177. package/manifest/components/job-progress.json +25 -6
  178. package/manifest/components/launcher-bubble.json +32 -7
  179. package/manifest/components/ledger.json +87 -19
  180. package/manifest/components/link.json +16 -3
  181. package/manifest/components/live-region-announcer.json +21 -5
  182. package/manifest/components/log-viewer.json +42 -10
  183. package/manifest/components/map-answer.json +17 -4
  184. package/manifest/components/markdown-text.json +36 -5
  185. package/manifest/components/math-block.json +12 -3
  186. package/manifest/components/mcp-server-icon.json +1 -7
  187. package/manifest/components/mcp-server-panel.json +18 -4
  188. package/manifest/components/memory-chips.json +9 -2
  189. package/manifest/components/menubar.json +33 -7
  190. package/manifest/components/message-actions.json +32 -7
  191. package/manifest/components/message-attachments.json +9 -2
  192. package/manifest/components/message-branches.json +14 -3
  193. package/manifest/components/message-list.json +27 -6
  194. package/manifest/components/message-pair.json +25 -5
  195. package/manifest/components/message-queue.json +13 -3
  196. package/manifest/components/message-timing.json +8 -2
  197. package/manifest/components/message.json +41 -9
  198. package/manifest/components/meter.json +43 -7
  199. package/manifest/components/mobile-composer.json +47 -10
  200. package/manifest/components/model-picker.json +13 -3
  201. package/manifest/components/multi-select.json +78 -17
  202. package/manifest/components/musical-time-input.json +34 -8
  203. package/manifest/components/navigation-menu.json +54 -12
  204. package/manifest/components/node-card.json +42 -7
  205. package/manifest/components/node-handle.json +17 -2
  206. package/manifest/components/number-field.json +28 -6
  207. package/manifest/components/number-ticker.json +8 -2
  208. package/manifest/components/onboarding.json +18 -4
  209. package/manifest/components/otp-field.json +43 -10
  210. package/manifest/components/page-shell.json +35 -6
  211. package/manifest/components/pagination.json +21 -5
  212. package/manifest/components/panel-header.json +15 -3
  213. package/manifest/components/password-input.json +58 -8
  214. package/manifest/components/permission-grant.json +28 -5
  215. package/manifest/components/permission-scopes.json +57 -12
  216. package/manifest/components/piano-keyboard.json +38 -9
  217. package/manifest/components/plussie.json +34 -5
  218. package/manifest/components/popover.json +45 -8
  219. package/manifest/components/preset-section.json +12 -5
  220. package/manifest/components/preview.json +202 -0
  221. package/manifest/components/progress.json +25 -6
  222. package/manifest/components/prompt-library.json +27 -6
  223. package/manifest/components/queue-dock.json +36 -8
  224. package/manifest/components/quota-banner.json +25 -6
  225. package/manifest/components/quote-reply.json +29 -7
  226. package/manifest/components/radio-group.json +12 -2
  227. package/manifest/components/radio.json +17 -3
  228. package/manifest/components/rating.json +60 -13
  229. package/manifest/components/read-aloud.json +35 -8
  230. package/manifest/components/reasoning-effort.json +17 -4
  231. package/manifest/components/reasoning-panel.json +33 -8
  232. package/manifest/components/recommendation-card.json +35 -10
  233. package/manifest/components/regenerate-menu.json +22 -5
  234. package/manifest/components/replay-player.json +29 -7
  235. package/manifest/components/research-report.json +12 -3
  236. package/manifest/components/resizable.json +4 -1
  237. package/manifest/components/retrieval-chunks.json +16 -4
  238. package/manifest/components/revert-dock.json +61 -14
  239. package/manifest/components/reviewable-diff.json +23 -5
  240. package/manifest/components/risk-badge.json +18 -3
  241. package/manifest/components/row.json +17 -4
  242. package/manifest/components/schedule-card.json +25 -6
  243. package/manifest/components/score-breakdown.json +20 -5
  244. package/manifest/components/scroll-anchor.json +13 -3
  245. package/manifest/components/scroll-area.json +31 -8
  246. package/manifest/components/scrollable-tabs-list.json +12 -4
  247. package/manifest/components/scrub-input.json +84 -18
  248. package/manifest/components/seam-cell.json +19 -3
  249. package/manifest/components/seam-grid.json +12 -3
  250. package/manifest/components/search-input.json +69 -10
  251. package/manifest/components/section-header.json +36 -8
  252. package/manifest/components/segmented-control.json +50 -11
  253. package/manifest/components/select.json +74 -16
  254. package/manifest/components/separator.json +4 -1
  255. package/manifest/components/settings-panel.json +41 -9
  256. package/manifest/components/shape-section.json +8 -4
  257. package/manifest/components/shared-conversation.json +21 -5
  258. package/manifest/components/sheet.json +29 -6
  259. package/manifest/components/shimmer-label.json +4 -2
  260. package/manifest/components/sidebar.json +60 -13
  261. package/manifest/components/skill-icon.json +1 -7
  262. package/manifest/components/slider.json +22 -5
  263. package/manifest/components/sources.json +17 -4
  264. package/manifest/components/sparkline.json +17 -4
  265. package/manifest/components/speaker-identity.json +4 -1
  266. package/manifest/components/spec-sheet.json +16 -4
  267. package/manifest/components/spectrum-visualizer.json +41 -10
  268. package/manifest/components/spinner.json +12 -2
  269. package/manifest/components/stack-icon.json +1 -7
  270. package/manifest/components/stack.json +54 -7
  271. package/manifest/components/stacks-matrix-icon.json +1 -7
  272. package/manifest/components/stat.json +28 -4
  273. package/manifest/components/status-bar.json +50 -9
  274. package/manifest/components/status-dot.json +23 -4
  275. package/manifest/components/stepper.json +22 -5
  276. package/manifest/components/stopped-run.json +19 -4
  277. package/manifest/components/streaming-text.json +12 -3
  278. package/manifest/components/subagent-list.json +21 -5
  279. package/manifest/components/suggestions.json +27 -5
  280. package/manifest/components/swap-label.json +18 -4
  281. package/manifest/components/switch.json +18 -3
  282. package/manifest/components/table-scroll-region.json +4 -1
  283. package/manifest/components/table.json +54 -11
  284. package/manifest/components/tabs.json +16 -5
  285. package/manifest/components/tags-input.json +79 -17
  286. package/manifest/components/tail-status.json +37 -8
  287. package/manifest/components/terminal-block.json +25 -5
  288. package/manifest/components/terminal-frame.json +34 -8
  289. package/manifest/components/textarea.json +28 -3
  290. package/manifest/components/theme-configurator.json +47 -11
  291. package/manifest/components/theme-provider.json +79 -15
  292. package/manifest/components/thinking-indicator.json +8 -2
  293. package/manifest/components/thread-list.json +13 -3
  294. package/manifest/components/thread-search.json +22 -5
  295. package/manifest/components/threshold-rail.json +77 -14
  296. package/manifest/components/time-boundary.json +8 -2
  297. package/manifest/components/time-field.json +13 -2
  298. package/manifest/components/timeline-ruler.json +51 -12
  299. package/manifest/components/timeline.json +19 -3
  300. package/manifest/components/title-bar.json +19 -4
  301. package/manifest/components/toast.json +12 -3
  302. package/manifest/components/todo-list.json +8 -2
  303. package/manifest/components/toggle-group.json +33 -7
  304. package/manifest/components/toggle.json +33 -4
  305. package/manifest/components/token-editor.json +26 -7
  306. package/manifest/components/tool-call-card.json +83 -16
  307. package/manifest/components/tool-call.json +37 -9
  308. package/manifest/components/tool-error.json +34 -8
  309. package/manifest/components/tool-group.json +17 -4
  310. package/manifest/components/tool-timeline.json +37 -9
  311. package/manifest/components/toolbar.json +37 -8
  312. package/manifest/components/tooltip.json +41 -7
  313. package/manifest/components/trace-waterfall.json +12 -3
  314. package/manifest/components/tree-visibility-toggle.json +18 -3
  315. package/manifest/components/tree.json +52 -11
  316. package/manifest/components/turn-footer.json +36 -8
  317. package/manifest/components/two-step-button.json +46 -9
  318. package/manifest/components/typing-indicator.json +8 -1
  319. package/manifest/components/universe-grid.json +37 -10
  320. package/manifest/components/unread-divider.json +4 -1
  321. package/manifest/components/usage-chart.json +46 -9
  322. package/manifest/components/verdict-row.json +20 -5
  323. package/manifest/components/voice-conversation.json +37 -7
  324. package/manifest/components/web-preview.json +23 -5
  325. package/manifest/components/web-search.json +20 -5
  326. package/manifest/components/work-collapse.json +30 -7
  327. package/manifest/fixtures.json +111 -0
  328. package/manifest/manifest.json +354 -297
  329. package/manifest/tokens.json +2 -2
  330. package/package.json +8 -7
@@ -12,63 +12,100 @@
12
12
  "type": "readonly UsageChartPoint[]",
13
13
  "required": true,
14
14
  "defaultValue": null,
15
- "description": "The series. Sorted and cleaned internally; order in is not order out."
15
+ "description": "The series. Sorted and cleaned internally; order in is not order out.",
16
+ "control": {
17
+ "kind": "array"
18
+ }
16
19
  },
17
20
  {
18
21
  "name": "tone",
19
22
  "type": "\"danger\" | \"accent\" | \"busy\" | \"ok\" | \"warn\" | \"info\"",
20
23
  "required": false,
21
24
  "defaultValue": "accent",
22
- "description": "Stroke tone. Defaults to `\"accent\"`."
25
+ "description": "Stroke tone. Defaults to `\"accent\"`.",
26
+ "control": {
27
+ "kind": "enum",
28
+ "members": [
29
+ "danger",
30
+ "accent",
31
+ "busy",
32
+ "ok",
33
+ "warn",
34
+ "info"
35
+ ]
36
+ }
23
37
  },
24
38
  {
25
39
  "name": "height",
26
40
  "type": "number",
27
41
  "required": false,
28
42
  "defaultValue": "120",
29
- "description": "Plot height in px at the 16px root. Defaults to `120`."
43
+ "description": "Plot height in px at the 16px root. Defaults to `120`.",
44
+ "control": {
45
+ "kind": "number"
46
+ }
30
47
  },
31
48
  {
32
49
  "name": "gapMs",
33
50
  "type": "number",
34
51
  "required": false,
35
52
  "defaultValue": "15 * 60 * 1000",
36
- "description": "Break the line when consecutive samples are further apart than this, in ms."
53
+ "description": "Break the line when consecutive samples are further apart than this, in ms.",
54
+ "control": {
55
+ "kind": "number"
56
+ }
37
57
  },
38
58
  {
39
59
  "name": "threshold",
40
60
  "type": "number",
41
61
  "required": false,
42
62
  "defaultValue": null,
43
- "description": "Draw a dashed rule at this percentage — where throttling starts, say."
63
+ "description": "Draw a dashed rule at this percentage — where throttling starts, say.",
64
+ "control": {
65
+ "kind": "number"
66
+ }
44
67
  },
45
68
  {
46
69
  "name": "label",
47
70
  "type": "string",
48
71
  "required": false,
49
72
  "defaultValue": null,
50
- "description": "The accessible name. Name the series; the shape is not self-describing."
73
+ "description": "The accessible name. Name the series; the shape is not self-describing.",
74
+ "control": {
75
+ "kind": "string"
76
+ }
51
77
  },
52
78
  {
53
79
  "name": "emptyLabel",
54
80
  "type": "string",
55
81
  "required": false,
56
82
  "defaultValue": "No data yet",
57
- "description": "What to say when there is nothing to plot. Defaults to `\"No data yet\"`."
83
+ "description": "What to say when there is nothing to plot. Defaults to `\"No data yet\"`.",
84
+ "control": {
85
+ "kind": "string"
86
+ }
58
87
  },
59
88
  {
60
89
  "name": "formatTimestamp",
61
90
  "type": "((t: number) => string)",
62
91
  "required": false,
63
92
  "defaultValue": null,
64
- "description": "Format a sample's timestamp for the tooltip. Defaults to a short local date-time."
93
+ "description": "Format a sample's timestamp for the tooltip. Defaults to a short local date-time.",
94
+ "control": {
95
+ "kind": "callback",
96
+ "fixture": "callback.log"
97
+ }
65
98
  },
66
99
  {
67
100
  "name": "formatValue",
68
101
  "type": "((v: number) => string)",
69
102
  "required": false,
70
103
  "defaultValue": "(value) => `${Math.round(value)}%`",
71
- "description": "Format a sample's value for the tooltip. Defaults to `\"87%\"`."
104
+ "description": "Format a sample's value for the tooltip. Defaults to `\"87%\"`.",
105
+ "control": {
106
+ "kind": "callback",
107
+ "fixture": "callback.log"
108
+ }
72
109
  }
73
110
  ],
74
111
  "typeReferences": [
@@ -14,35 +14,50 @@
14
14
  "type": "number",
15
15
  "required": true,
16
16
  "defaultValue": null,
17
- "description": "What the scorer thought of the work, `0`–`1`. Clamped, and a non-finite\nscore is worth no stars — see {@link verdictStars}."
17
+ "description": "What the scorer thought of the work, `0`–`1`. Clamped, and a non-finite\nscore is worth no stars — see {@link verdictStars}.",
18
+ "control": {
19
+ "kind": "number"
20
+ }
18
21
  },
19
22
  {
20
23
  "name": "title",
21
24
  "type": "string",
22
25
  "required": false,
23
26
  "defaultValue": null,
24
- "description": "What the scorer is called. Defaults to `VERDICT_LABELS.title`\n(`Verification`), which is deliberately not `Critic`: the same row fits a\ntest run, a linter or a second model."
27
+ "description": "What the scorer is called. Defaults to `VERDICT_LABELS.title`\n(`Verification`), which is deliberately not `Critic`: the same row fits a\ntest run, a linter or a second model.",
28
+ "control": {
29
+ "kind": "string"
30
+ }
25
31
  },
26
32
  {
27
33
  "name": "summary",
28
34
  "type": "string",
29
35
  "required": false,
30
36
  "defaultValue": null,
31
- "description": "One line of the scorer's own prose, under the rating."
37
+ "description": "One line of the scorer's own prose, under the rating.",
38
+ "control": {
39
+ "kind": "string"
40
+ }
32
41
  },
33
42
  {
34
43
  "name": "issues",
35
44
  "type": "readonly VerdictIssue[]",
36
45
  "required": false,
37
46
  "defaultValue": null,
38
- "description": "What it thinks is probably wrong, drawn as chips with their probabilities\nand tinted by them. Order is the caller's — most likely first reads best."
47
+ "description": "What it thinks is probably wrong, drawn as chips with their probabilities\nand tinted by them. Order is the caller's — most likely first reads best.",
48
+ "control": {
49
+ "kind": "array"
50
+ }
39
51
  },
40
52
  {
41
53
  "name": "labels",
42
54
  "type": "Partial<VerdictLabels>",
43
55
  "required": false,
44
56
  "defaultValue": null,
45
- "description": "The row's three strings, merged over `VERDICT_LABELS`."
57
+ "description": "The row's three strings, merged over `VERDICT_LABELS`.",
58
+ "control": {
59
+ "kind": "opaque"
60
+ }
46
61
  }
47
62
  ],
48
63
  "typeReferences": [
@@ -14,49 +14,79 @@
14
14
  "type": "\"thinking\" | \"connecting\" | \"listening\" | \"speaking\"",
15
15
  "required": true,
16
16
  "defaultValue": null,
17
- "description": "Drives the orb and the caption. Only listening and speaking react to amplitude."
17
+ "description": "Drives the orb and the caption. Only listening and speaking react to amplitude.",
18
+ "control": {
19
+ "kind": "enum",
20
+ "members": [
21
+ "thinking",
22
+ "connecting",
23
+ "listening",
24
+ "speaking"
25
+ ]
26
+ }
18
27
  },
19
28
  {
20
29
  "name": "amplitude",
21
30
  "type": "number",
22
31
  "required": true,
23
32
  "defaultValue": null,
24
- "description": "Current level from 0 to 1, clamped internally. Feed it from the analyser node."
33
+ "description": "Current level from 0 to 1, clamped internally. Feed it from the analyser node.",
34
+ "control": {
35
+ "kind": "number"
36
+ }
25
37
  },
26
38
  {
27
39
  "name": "transcript",
28
40
  "type": "readonly VoiceTurn[]",
29
41
  "required": true,
30
42
  "defaultValue": null,
31
- "description": "Turns so far, oldest first."
43
+ "description": "Turns so far, oldest first.",
44
+ "control": {
45
+ "kind": "array"
46
+ }
32
47
  },
33
48
  {
34
49
  "name": "muted",
35
50
  "type": "boolean",
36
51
  "required": false,
37
52
  "defaultValue": null,
38
- "description": "Marks the mic control as engaged and swaps the hint."
53
+ "description": "Marks the mic control as engaged and swaps the hint.",
54
+ "control": {
55
+ "kind": "boolean"
56
+ }
39
57
  },
40
58
  {
41
59
  "name": "onToggleMute",
42
60
  "type": "(() => void)",
43
61
  "required": false,
44
62
  "defaultValue": null,
45
- "description": "Called when the mic is muted or unmuted."
63
+ "description": "Called when the mic is muted or unmuted.",
64
+ "control": {
65
+ "kind": "callback",
66
+ "fixture": "callback.log"
67
+ }
46
68
  },
47
69
  {
48
70
  "name": "onInterrupt",
49
71
  "type": "(() => void)",
50
72
  "required": false,
51
73
  "defaultValue": null,
52
- "description": "Called when the orb is pressed while the assistant is speaking. The orb is inert\nin every other mode, so the caption only offers the interrupt when one is\npossible."
74
+ "description": "Called when the orb is pressed while the assistant is speaking. The orb is inert\nin every other mode, so the caption only offers the interrupt when one is\npossible.",
75
+ "control": {
76
+ "kind": "callback",
77
+ "fixture": "callback.log"
78
+ }
53
79
  },
54
80
  {
55
81
  "name": "onEnd",
56
82
  "type": "(() => void)",
57
83
  "required": false,
58
84
  "defaultValue": null,
59
- "description": "Called when the call is ended."
85
+ "description": "Called when the call is ended.",
86
+ "control": {
87
+ "kind": "callback",
88
+ "fixture": "callback.log"
89
+ }
60
90
  }
61
91
  ],
62
92
  "typeReferences": [
@@ -14,35 +14,53 @@
14
14
  "type": "string",
15
15
  "required": true,
16
16
  "defaultValue": null,
17
- "description": "Host the content is served from. Show the sandbox origin, not your own, so the\nisolation is legible. Displaying it does not create the isolation; the frame you\npass as children must already be sandboxed."
17
+ "description": "Host the content is served from. Show the sandbox origin, not your own, so the\nisolation is legible. Displaying it does not create the isolation; the frame you\npass as children must already be sandboxed.",
18
+ "control": {
19
+ "kind": "string"
20
+ }
18
21
  },
19
22
  {
20
23
  "name": "loading",
21
24
  "type": "boolean",
22
25
  "required": true,
23
26
  "defaultValue": null,
24
- "description": "Fades the frame out and shimmers a status while the sandbox is being set up."
27
+ "description": "Fades the frame out and shimmers a status while the sandbox is being set up.",
28
+ "control": {
29
+ "kind": "boolean"
30
+ }
25
31
  },
26
32
  {
27
33
  "name": "children",
28
34
  "type": "ReactNode",
29
35
  "required": true,
30
36
  "defaultValue": null,
31
- "description": "The frame itself. In production this is a sandboxed iframe, not inline markup."
37
+ "description": "The frame itself. In production this is a sandboxed iframe, not inline markup.",
38
+ "control": {
39
+ "kind": "node",
40
+ "fixture": "children.text"
41
+ }
32
42
  },
33
43
  {
34
44
  "name": "onReload",
35
45
  "type": "(() => void)",
36
46
  "required": false,
37
47
  "defaultValue": null,
38
- "description": "Called from the reload control."
48
+ "description": "Called from the reload control.",
49
+ "control": {
50
+ "kind": "callback",
51
+ "fixture": "callback.log"
52
+ }
39
53
  },
40
54
  {
41
55
  "name": "onOpenExternal",
42
56
  "type": "(() => void)",
43
57
  "required": false,
44
58
  "defaultValue": null,
45
- "description": "Called from the open-in-new-tab control."
59
+ "description": "Called from the open-in-new-tab control.",
60
+ "control": {
61
+ "kind": "callback",
62
+ "fixture": "callback.log"
63
+ }
46
64
  }
47
65
  ],
48
66
  "typeReferences": [
@@ -14,35 +14,50 @@
14
14
  "type": "string",
15
15
  "required": true,
16
16
  "defaultValue": null,
17
- "description": "Search query shown in the query pill."
17
+ "description": "Search query shown in the query pill.",
18
+ "control": {
19
+ "kind": "string"
20
+ }
18
21
  },
19
22
  {
20
23
  "name": "results",
21
24
  "type": "readonly WebSearchResult[]",
22
25
  "required": true,
23
26
  "defaultValue": null,
24
- "description": "Result cards available to reveal one by one."
27
+ "description": "Result cards available to reveal one by one.",
28
+ "control": {
29
+ "kind": "array"
30
+ }
25
31
  },
26
32
  {
27
33
  "name": "visibleResults",
28
34
  "type": "number",
29
35
  "required": true,
30
36
  "defaultValue": null,
31
- "description": "How many results from the start are currently shown."
37
+ "description": "How many results from the start are currently shown.",
38
+ "control": {
39
+ "kind": "number"
40
+ }
32
41
  },
33
42
  {
34
43
  "name": "searching",
35
44
  "type": "boolean",
36
45
  "required": true,
37
46
  "defaultValue": null,
38
- "description": "When true a shimmering Searching label replaces the result count."
47
+ "description": "When true a shimmering Searching label replaces the result count.",
48
+ "control": {
49
+ "kind": "boolean"
50
+ }
39
51
  },
40
52
  {
41
53
  "name": "cycle",
42
54
  "type": "number",
43
55
  "required": true,
44
56
  "defaultValue": null,
45
- "description": "Identity key that remounts the list so entrance animation can replay."
57
+ "description": "Identity key that remounts the list so entrance animation can replay.",
58
+ "control": {
59
+ "kind": "number"
60
+ }
46
61
  }
47
62
  ],
48
63
  "typeReferences": [
@@ -14,49 +14,72 @@
14
14
  "type": "number",
15
15
  "required": false,
16
16
  "defaultValue": null,
17
- "description": "How long the run took, in milliseconds. Omit when it is not known."
17
+ "description": "How long the run took, in milliseconds. Omit when it is not known.",
18
+ "control": {
19
+ "kind": "number"
20
+ }
18
21
  },
19
22
  {
20
23
  "name": "toolCalls",
21
24
  "type": "number",
22
25
  "required": false,
23
26
  "defaultValue": null,
24
- "description": "How many tool calls it made. Omit when it is not counted."
27
+ "description": "How many tool calls it made. Omit when it is not counted.",
28
+ "control": {
29
+ "kind": "number"
30
+ }
25
31
  },
26
32
  {
27
33
  "name": "running",
28
34
  "type": "boolean",
29
35
  "required": false,
30
36
  "defaultValue": "false",
31
- "description": "Whether the run is still going: the label goes present tense and the sweep\nruns. Hermes's rule, and the one that keeps a collapsed live run from\nclaiming to be finished."
37
+ "description": "Whether the run is still going: the label goes present tense and the sweep\nruns. Hermes's rule, and the one that keeps a collapsed live run from\nclaiming to be finished.",
38
+ "control": {
39
+ "kind": "boolean"
40
+ }
32
41
  },
33
42
  {
34
43
  "name": "label",
35
44
  "type": "string",
36
45
  "required": false,
37
46
  "defaultValue": null,
38
- "description": "The whole summary line, replacing the one {@link formatWorkLabel} would\nbuild. This is where a category summary goes — \"Explored 3 files, ran 5\ncommands\", composed from `VERB_TRIADS` — which is a sentence no formatter\nover a duration and a count could produce."
47
+ "description": "The whole summary line, replacing the one {@link formatWorkLabel} would\nbuild. This is where a category summary goes — \"Explored 3 files, ran 5\ncommands\", composed from `VERB_TRIADS` — which is a sentence no formatter\nover a duration and a count could produce.",
48
+ "control": {
49
+ "kind": "string"
50
+ }
39
51
  },
40
52
  {
41
53
  "name": "open",
42
54
  "type": "boolean",
43
55
  "required": true,
44
56
  "defaultValue": null,
45
- "description": "Whether the rows are showing."
57
+ "description": "Whether the rows are showing.",
58
+ "control": {
59
+ "kind": "boolean"
60
+ }
46
61
  },
47
62
  {
48
63
  "name": "onOpenChange",
49
64
  "type": "((open: boolean) => void)",
50
65
  "required": false,
51
66
  "defaultValue": null,
52
- "description": "Called when the row is expanded or collapsed."
67
+ "description": "Called when the row is expanded or collapsed.",
68
+ "control": {
69
+ "kind": "callback",
70
+ "fixture": "callback.log"
71
+ }
53
72
  },
54
73
  {
55
74
  "name": "children",
56
75
  "type": "ReactNode",
57
76
  "required": false,
58
77
  "defaultValue": null,
59
- "description": "The rows the run folded away: tool calls, reasoning, whatever ran."
78
+ "description": "The rows the run folded away: tool calls, reasoning, whatever ran.",
79
+ "control": {
80
+ "kind": "node",
81
+ "fixture": "children.text"
82
+ }
60
83
  }
61
84
  ],
62
85
  "typeReferences": [
@@ -0,0 +1,111 @@
1
+ {
2
+ "schemaVersion": 2,
3
+ "generatedAt": "1970-01-01T00:00:00.000Z",
4
+ "fixtures": [
5
+ {
6
+ "id": "children.text",
7
+ "kind": "node",
8
+ "label": "A line of text"
9
+ },
10
+ {
11
+ "id": "children.rich",
12
+ "kind": "node",
13
+ "label": "A bold line and a paragraph"
14
+ },
15
+ {
16
+ "id": "children.label",
17
+ "kind": "node",
18
+ "label": "A short label"
19
+ },
20
+ {
21
+ "id": "bento.tiles",
22
+ "kind": "node",
23
+ "label": "Six bento tiles of mixed span"
24
+ },
25
+ {
26
+ "id": "icon.play",
27
+ "kind": "opaque",
28
+ "label": "Play icon",
29
+ "accepts": [
30
+ "ElementType<any, keyof IntrinsicElements>"
31
+ ]
32
+ },
33
+ {
34
+ "id": "icon.check",
35
+ "kind": "opaque",
36
+ "label": "Check icon"
37
+ },
38
+ {
39
+ "id": "table.rows-24",
40
+ "kind": "array",
41
+ "label": "24 cue rows"
42
+ },
43
+ {
44
+ "id": "table.rows-0",
45
+ "kind": "array",
46
+ "label": "0 rows, the empty table"
47
+ },
48
+ {
49
+ "id": "table.model-usage-6",
50
+ "kind": "array",
51
+ "label": "6 model rows",
52
+ "accepts": [
53
+ "readonly ModelUsage[]"
54
+ ]
55
+ },
56
+ {
57
+ "id": "agent.transcript",
58
+ "kind": "array",
59
+ "label": "6 transcript lines",
60
+ "accepts": [
61
+ "readonly string[]"
62
+ ]
63
+ },
64
+ {
65
+ "id": "chart.series",
66
+ "kind": "array",
67
+ "label": "12 trend points",
68
+ "accepts": [
69
+ "readonly number[]"
70
+ ]
71
+ },
72
+ {
73
+ "id": "form.fields",
74
+ "kind": "array",
75
+ "label": "4 field descriptors"
76
+ },
77
+ {
78
+ "id": "callback.log",
79
+ "kind": "callback",
80
+ "label": "Write to the event log"
81
+ },
82
+ {
83
+ "id": "sample.copy",
84
+ "kind": "object",
85
+ "label": "The five standard copy states"
86
+ },
87
+ {
88
+ "id": "sample.trend",
89
+ "kind": "array",
90
+ "label": "12 sample trend values"
91
+ },
92
+ {
93
+ "id": "sample.channels",
94
+ "kind": "array",
95
+ "label": "3 output channels"
96
+ },
97
+ {
98
+ "id": "sample.cues",
99
+ "kind": "array",
100
+ "label": "5 cue rows"
101
+ },
102
+ {
103
+ "id": "sample.blend-modes",
104
+ "kind": "array",
105
+ "label": "3 blend modes",
106
+ "accepts": [
107
+ "readonly SelectOption[]"
108
+ ]
109
+ }
110
+ ]
111
+ }