@cueplusplus/ui 0.13.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 (1016) hide show
  1. package/CHANGELOG.md +4028 -0
  2. package/LICENSE +21 -0
  3. package/NOTICE.md +34 -0
  4. package/README.md +237 -0
  5. package/dist/agent-runtime/_glyphs.js +43 -0
  6. package/dist/agent-runtime/branch-picker.d.ts +45 -0
  7. package/dist/agent-runtime/branch-picker.js +87 -0
  8. package/dist/agent-runtime/index.d.ts +4 -0
  9. package/dist/agent-runtime/index.js +4 -0
  10. package/dist/agent-runtime/tool-call-card.d.ts +69 -0
  11. package/dist/agent-runtime/tool-call-card.js +187 -0
  12. package/dist/agent-runtime/use-agent-thread.d.ts +164 -0
  13. package/dist/agent-runtime/use-agent-thread.js +251 -0
  14. package/dist/brand/_chassis.d.ts +54 -0
  15. package/dist/brand/_chassis.js +81 -0
  16. package/dist/brand/_geometry.js +41 -0
  17. package/dist/brand/cue-logotype.d.ts +29 -0
  18. package/dist/brand/cue-logotype.js +60 -0
  19. package/dist/brand/cue-mark.d.ts +30 -0
  20. package/dist/brand/cue-mark.js +61 -0
  21. package/dist/brand/index.d.ts +5 -0
  22. package/dist/brand/plussie.d.ts +67 -0
  23. package/dist/brand/plussie.js +125 -0
  24. package/dist/charts/_token.js +39 -0
  25. package/dist/charts/container.d.ts +58 -0
  26. package/dist/charts/container.js +77 -0
  27. package/dist/charts/index.d.ts +5 -0
  28. package/dist/charts/index.js +5 -0
  29. package/dist/charts/ramps.d.ts +140 -0
  30. package/dist/charts/ramps.js +615 -0
  31. package/dist/charts/theme.d.ts +112 -0
  32. package/dist/charts/theme.js +165 -0
  33. package/dist/charts/tones.d.ts +111 -0
  34. package/dist/charts/tones.js +127 -0
  35. package/dist/chat/_glyphs.js +55 -0
  36. package/dist/chat/agent-color.d.ts +84 -0
  37. package/dist/chat/agent-color.js +101 -0
  38. package/dist/chat/agent-pile.d.ts +55 -0
  39. package/dist/chat/agent-pile.js +121 -0
  40. package/dist/chat/ask-box.d.ts +88 -0
  41. package/dist/chat/ask-box.js +341 -0
  42. package/dist/chat/composer.d.ts +66 -0
  43. package/dist/chat/composer.js +144 -0
  44. package/dist/chat/delegation-card.d.ts +60 -0
  45. package/dist/chat/delegation-card.js +129 -0
  46. package/dist/chat/index.d.ts +8 -0
  47. package/dist/chat/index.js +8 -0
  48. package/dist/chat/message-list.d.ts +45 -0
  49. package/dist/chat/message-list.js +141 -0
  50. package/dist/chat/message.d.ts +47 -0
  51. package/dist/chat/message.js +108 -0
  52. package/dist/chrome/_band.js +54 -0
  53. package/dist/chrome/_drag.js +59 -0
  54. package/dist/chrome/_edge-scroller.d.ts +45 -0
  55. package/dist/chrome/_edge-scroller.js +149 -0
  56. package/dist/chrome/_glyphs.js +119 -0
  57. package/dist/chrome/_status-bar-item.js +85 -0
  58. package/dist/chrome/_status-bar.d.ts +15 -0
  59. package/dist/chrome/_status-bar.js +171 -0
  60. package/dist/chrome/_tabs-scroll.d.ts +67 -0
  61. package/dist/chrome/_tabs-scroll.js +73 -0
  62. package/dist/chrome/_tree.d.ts +75 -0
  63. package/dist/chrome/_tree.js +49 -0
  64. package/dist/chrome/app-bar.d.ts +103 -0
  65. package/dist/chrome/app-bar.js +175 -0
  66. package/dist/chrome/app-shell.d.ts +243 -0
  67. package/dist/chrome/app-shell.js +266 -0
  68. package/dist/chrome/band.d.ts +106 -0
  69. package/dist/chrome/band.js +97 -0
  70. package/dist/chrome/empty-state.d.ts +37 -0
  71. package/dist/chrome/empty-state.js +57 -0
  72. package/dist/chrome/eyebrow.d.ts +29 -0
  73. package/dist/chrome/eyebrow.js +36 -0
  74. package/dist/chrome/footer.d.ts +88 -0
  75. package/dist/chrome/footer.js +83 -0
  76. package/dist/chrome/index.d.ts +24 -0
  77. package/dist/chrome/index.js +22 -0
  78. package/dist/chrome/inspector.d.ts +61 -0
  79. package/dist/chrome/inspector.js +121 -0
  80. package/dist/chrome/navigation-menu.d.ts +80 -0
  81. package/dist/chrome/navigation-menu.js +121 -0
  82. package/dist/chrome/page-shell.d.ts +38 -0
  83. package/dist/chrome/page-shell.js +76 -0
  84. package/dist/chrome/panel.d.ts +55 -0
  85. package/dist/chrome/panel.js +67 -0
  86. package/dist/chrome/row.d.ts +82 -0
  87. package/dist/chrome/row.js +106 -0
  88. package/dist/chrome/scroll-area.d.ts +39 -0
  89. package/dist/chrome/scroll-area.js +70 -0
  90. package/dist/chrome/section-header.d.ts +42 -0
  91. package/dist/chrome/section-header.js +79 -0
  92. package/dist/chrome/segmented-control.d.ts +77 -0
  93. package/dist/chrome/segmented-control.js +95 -0
  94. package/dist/chrome/status-bar.d.ts +129 -0
  95. package/dist/chrome/status-bar.js +120 -0
  96. package/dist/chrome/tabs.d.ts +80 -0
  97. package/dist/chrome/tabs.js +132 -0
  98. package/dist/chrome/title-bar.d.ts +47 -0
  99. package/dist/chrome/title-bar.js +43 -0
  100. package/dist/chrome/toolbar.d.ts +68 -0
  101. package/dist/chrome/toolbar.js +83 -0
  102. package/dist/chrome/tree.d.ts +98 -0
  103. package/dist/chrome/tree.js +248 -0
  104. package/dist/color/_checker.js +14 -0
  105. package/dist/color/_convert.d.ts +52 -0
  106. package/dist/color/_convert.js +66 -0
  107. package/dist/color/_glyphs.js +28 -0
  108. package/dist/color/_thumb.js +15 -0
  109. package/dist/color/_value.js +28 -0
  110. package/dist/color/color-area.d.ts +27 -0
  111. package/dist/color/color-area.js +40 -0
  112. package/dist/color/color-field.d.ts +32 -0
  113. package/dist/color/color-field.js +43 -0
  114. package/dist/color/color-picker.d.ts +71 -0
  115. package/dist/color/color-picker.js +178 -0
  116. package/dist/color/color-slider.d.ts +31 -0
  117. package/dist/color/color-slider.js +51 -0
  118. package/dist/color/color-swatch.d.ts +32 -0
  119. package/dist/color/color-swatch.js +44 -0
  120. package/dist/color/index.d.ts +7 -0
  121. package/dist/color/index.js +7 -0
  122. package/dist/configurator/_export.d.ts +78 -0
  123. package/dist/configurator/_export.js +302 -0
  124. package/dist/configurator/_glyphs.js +92 -0
  125. package/dist/configurator/_overrides.d.ts +266 -0
  126. package/dist/configurator/_overrides.js +541 -0
  127. package/dist/configurator/configurator.d.ts +71 -0
  128. package/dist/configurator/configurator.js +284 -0
  129. package/dist/configurator/export-dialog.d.ts +30 -0
  130. package/dist/configurator/export-dialog.js +121 -0
  131. package/dist/configurator/index.d.ts +8 -0
  132. package/dist/configurator/index.js +8 -0
  133. package/dist/configurator/panel-sections.d.ts +86 -0
  134. package/dist/configurator/panel-sections.js +352 -0
  135. package/dist/configurator/token-editor.d.ts +74 -0
  136. package/dist/configurator/token-editor.js +152 -0
  137. package/dist/configurator/use-zoom.d.ts +87 -0
  138. package/dist/configurator/use-zoom.js +113 -0
  139. package/dist/date/_glyphs.js +34 -0
  140. package/dist/date/_segments.js +101 -0
  141. package/dist/date/_trigger.js +31 -0
  142. package/dist/date/calendar.d.ts +25 -0
  143. package/dist/date/calendar.js +125 -0
  144. package/dist/date/date-field.d.ts +34 -0
  145. package/dist/date/date-field.js +41 -0
  146. package/dist/date/date-picker.d.ts +69 -0
  147. package/dist/date/date-picker.js +89 -0
  148. package/dist/date/date-range-picker.d.ts +65 -0
  149. package/dist/date/date-range-picker.js +92 -0
  150. package/dist/date/index.d.ts +6 -0
  151. package/dist/date/index.js +6 -0
  152. package/dist/date/time-field.d.ts +29 -0
  153. package/dist/date/time-field.js +36 -0
  154. package/dist/dmx/_ramp.d.ts +77 -0
  155. package/dist/dmx/_ramp.js +169 -0
  156. package/dist/dmx/_readout.js +53 -0
  157. package/dist/dmx/_universe.d.ts +105 -0
  158. package/dist/dmx/_universe.js +112 -0
  159. package/dist/dmx/channel-matrix.d.ts +81 -0
  160. package/dist/dmx/channel-matrix.js +285 -0
  161. package/dist/dmx/dmx-bar.d.ts +50 -0
  162. package/dist/dmx/dmx-bar.js +107 -0
  163. package/dist/dmx/dmx-strip.d.ts +41 -0
  164. package/dist/dmx/dmx-strip.js +196 -0
  165. package/dist/dmx/index.d.ts +7 -0
  166. package/dist/dmx/index.js +7 -0
  167. package/dist/dmx/universe-grid.d.ts +61 -0
  168. package/dist/dmx/universe-grid.js +182 -0
  169. package/dist/elements/activity-graph.d.ts +40 -0
  170. package/dist/elements/activity-graph.js +81 -0
  171. package/dist/elements/agent-card.d.ts +49 -0
  172. package/dist/elements/agent-card.js +91 -0
  173. package/dist/elements/agent-handoff.d.ts +24 -0
  174. package/dist/elements/agent-handoff.js +53 -0
  175. package/dist/elements/agent-mode-badge.d.ts +72 -0
  176. package/dist/elements/agent-mode-badge.js +110 -0
  177. package/dist/elements/agent-plan.d.ts +24 -0
  178. package/dist/elements/agent-plan.js +74 -0
  179. package/dist/elements/agent-status.d.ts +29 -0
  180. package/dist/elements/agent-status.js +46 -0
  181. package/dist/elements/agent-surface.d.ts +65 -0
  182. package/dist/elements/agent-surface.js +68 -0
  183. package/dist/elements/animated-number.d.ts +86 -0
  184. package/dist/elements/animated-number.js +118 -0
  185. package/dist/elements/approval-card.d.ts +40 -0
  186. package/dist/elements/approval-card.js +78 -0
  187. package/dist/elements/artifact-card.d.ts +30 -0
  188. package/dist/elements/artifact-card.js +58 -0
  189. package/dist/elements/background-inbox.d.ts +39 -0
  190. package/dist/elements/background-inbox.js +60 -0
  191. package/dist/elements/canvas-split.d.ts +77 -0
  192. package/dist/elements/canvas-split.js +138 -0
  193. package/dist/elements/chart.d.ts +41 -0
  194. package/dist/elements/chart.js +117 -0
  195. package/dist/elements/chat-panel.d.ts +46 -0
  196. package/dist/elements/chat-panel.js +104 -0
  197. package/dist/elements/checkpoint-history.d.ts +31 -0
  198. package/dist/elements/checkpoint-history.js +65 -0
  199. package/dist/elements/clamp.d.ts +90 -0
  200. package/dist/elements/clamp.js +109 -0
  201. package/dist/elements/code-diff.d.ts +42 -0
  202. package/dist/elements/code-diff.js +69 -0
  203. package/dist/elements/code-runner.d.ts +38 -0
  204. package/dist/elements/code-runner.js +84 -0
  205. package/dist/elements/command-palette.d.ts +48 -0
  206. package/dist/elements/command-palette.js +129 -0
  207. package/dist/elements/compaction-row.d.ts +63 -0
  208. package/dist/elements/compaction-row.js +110 -0
  209. package/dist/elements/comparison-card.d.ts +47 -0
  210. package/dist/elements/comparison-card.js +69 -0
  211. package/dist/elements/composer.d.ts +274 -0
  212. package/dist/elements/composer.js +505 -0
  213. package/dist/elements/computer-use.d.ts +40 -0
  214. package/dist/elements/computer-use.js +92 -0
  215. package/dist/elements/confidence-marker.d.ts +39 -0
  216. package/dist/elements/confidence-marker.js +64 -0
  217. package/dist/elements/connection-state.d.ts +29 -0
  218. package/dist/elements/connection-state.js +66 -0
  219. package/dist/elements/context-breakdown.d.ts +30 -0
  220. package/dist/elements/context-breakdown.js +86 -0
  221. package/dist/elements/context-usage.d.ts +99 -0
  222. package/dist/elements/context-usage.js +225 -0
  223. package/dist/elements/conversation-search.d.ts +48 -0
  224. package/dist/elements/conversation-search.js +88 -0
  225. package/dist/elements/cost-meter.d.ts +33 -0
  226. package/dist/elements/cost-meter.js +75 -0
  227. package/dist/elements/data-table.d.ts +31 -0
  228. package/dist/elements/data-table.js +67 -0
  229. package/dist/elements/day-separator.d.ts +34 -0
  230. package/dist/elements/day-separator.js +50 -0
  231. package/dist/elements/diagram.d.ts +34 -0
  232. package/dist/elements/diagram.js +75 -0
  233. package/dist/elements/document-reference.d.ts +37 -0
  234. package/dist/elements/document-reference.js +66 -0
  235. package/dist/elements/draft-restore.d.ts +27 -0
  236. package/dist/elements/draft-restore.js +54 -0
  237. package/dist/elements/edit-message.d.ts +36 -0
  238. package/dist/elements/edit-message.js +77 -0
  239. package/dist/elements/elements.css +459 -0
  240. package/dist/elements/elicitation-form.d.ts +48 -0
  241. package/dist/elements/elicitation-form.js +106 -0
  242. package/dist/elements/empty-state.d.ts +52 -0
  243. package/dist/elements/empty-state.js +98 -0
  244. package/dist/elements/end-of-turn-summary.d.ts +60 -0
  245. package/dist/elements/end-of-turn-summary.js +75 -0
  246. package/dist/elements/error-state.d.ts +29 -0
  247. package/dist/elements/error-state.js +55 -0
  248. package/dist/elements/feedback-dialog.d.ts +36 -0
  249. package/dist/elements/feedback-dialog.js +81 -0
  250. package/dist/elements/file-tree.d.ts +45 -0
  251. package/dist/elements/file-tree.js +84 -0
  252. package/dist/elements/flow-graph.d.ts +45 -0
  253. package/dist/elements/flow-graph.js +78 -0
  254. package/dist/elements/generative/chart.js +200 -0
  255. package/dist/elements/generative/faults.js +111 -0
  256. package/dist/elements/generative/icons.d.ts +41 -0
  257. package/dist/elements/generative/icons.js +190 -0
  258. package/dist/elements/generative/intrinsics.js +483 -0
  259. package/dist/elements/generative/spec.d.ts +110 -0
  260. package/dist/elements/generative/spec.js +366 -0
  261. package/dist/elements/generative.css +1145 -0
  262. package/dist/elements/generative.d.ts +144 -0
  263. package/dist/elements/generative.js +126 -0
  264. package/dist/elements/guardrail-notice.d.ts +29 -0
  265. package/dist/elements/guardrail-notice.js +63 -0
  266. package/dist/elements/image-generation.d.ts +18 -0
  267. package/dist/elements/image-generation.js +64 -0
  268. package/dist/elements/index.d.ts +116 -0
  269. package/dist/elements/index.js +115 -0
  270. package/dist/elements/inline-citation.d.ts +43 -0
  271. package/dist/elements/inline-citation.js +93 -0
  272. package/dist/elements/job-progress.d.ts +49 -0
  273. package/dist/elements/job-progress.js +74 -0
  274. package/dist/elements/launcher-bubble.d.ts +34 -0
  275. package/dist/elements/launcher-bubble.js +72 -0
  276. package/dist/elements/live-region-announcer.d.ts +130 -0
  277. package/dist/elements/live-region-announcer.js +230 -0
  278. package/dist/elements/loading-state.d.ts +27 -0
  279. package/dist/elements/loading-state.js +36 -0
  280. package/dist/elements/map-answer.d.ts +38 -0
  281. package/dist/elements/map-answer.js +93 -0
  282. package/dist/elements/markdown.d.ts +131 -0
  283. package/dist/elements/markdown.js +528 -0
  284. package/dist/elements/math-block.d.ts +51 -0
  285. package/dist/elements/math-block.js +70 -0
  286. package/dist/elements/mcp-server-panel.d.ts +41 -0
  287. package/dist/elements/mcp-server-panel.js +115 -0
  288. package/dist/elements/memory-chips.d.ts +30 -0
  289. package/dist/elements/memory-chips.js +43 -0
  290. package/dist/elements/message-actions.d.ts +38 -0
  291. package/dist/elements/message-actions.js +71 -0
  292. package/dist/elements/message-attachment.d.ts +48 -0
  293. package/dist/elements/message-attachment.js +63 -0
  294. package/dist/elements/message-branches.d.ts +25 -0
  295. package/dist/elements/message-branches.js +65 -0
  296. package/dist/elements/message-pair.d.ts +33 -0
  297. package/dist/elements/message-pair.js +65 -0
  298. package/dist/elements/message-queue.d.ts +31 -0
  299. package/dist/elements/message-queue.js +80 -0
  300. package/dist/elements/message-timing.d.ts +33 -0
  301. package/dist/elements/message-timing.js +37 -0
  302. package/dist/elements/mobile-composer.d.ts +44 -0
  303. package/dist/elements/mobile-composer.js +88 -0
  304. package/dist/elements/model-picker.d.ts +38 -0
  305. package/dist/elements/model-picker.js +69 -0
  306. package/dist/elements/number-ticker.d.ts +18 -0
  307. package/dist/elements/number-ticker.js +47 -0
  308. package/dist/elements/onboarding.d.ts +30 -0
  309. package/dist/elements/onboarding.js +75 -0
  310. package/dist/elements/permission-grant.d.ts +35 -0
  311. package/dist/elements/permission-grant.js +86 -0
  312. package/dist/elements/permission-scopes.d.ts +215 -0
  313. package/dist/elements/permission-scopes.js +249 -0
  314. package/dist/elements/prompt-library.d.ts +43 -0
  315. package/dist/elements/prompt-library.js +117 -0
  316. package/dist/elements/queue-dock.d.ts +101 -0
  317. package/dist/elements/queue-dock.js +132 -0
  318. package/dist/elements/quota-banner.d.ts +26 -0
  319. package/dist/elements/quota-banner.js +66 -0
  320. package/dist/elements/quote-reply.d.ts +44 -0
  321. package/dist/elements/quote-reply.js +79 -0
  322. package/dist/elements/range.d.ts +29 -0
  323. package/dist/elements/range.js +45 -0
  324. package/dist/elements/read-aloud.d.ts +45 -0
  325. package/dist/elements/read-aloud.js +75 -0
  326. package/dist/elements/reasoning-effort.d.ts +36 -0
  327. package/dist/elements/reasoning-effort.js +67 -0
  328. package/dist/elements/reasoning-panel.d.ts +46 -0
  329. package/dist/elements/reasoning-panel.js +75 -0
  330. package/dist/elements/recommendation-card.d.ts +45 -0
  331. package/dist/elements/recommendation-card.js +83 -0
  332. package/dist/elements/regenerate-menu.d.ts +45 -0
  333. package/dist/elements/regenerate-menu.js +51 -0
  334. package/dist/elements/replay.d.ts +217 -0
  335. package/dist/elements/replay.js +498 -0
  336. package/dist/elements/research-report.d.ts +38 -0
  337. package/dist/elements/research-report.js +69 -0
  338. package/dist/elements/retrieval-chunks.d.ts +43 -0
  339. package/dist/elements/retrieval-chunks.js +81 -0
  340. package/dist/elements/revert-dock.d.ts +159 -0
  341. package/dist/elements/revert-dock.js +327 -0
  342. package/dist/elements/reviewable-diff.d.ts +45 -0
  343. package/dist/elements/reviewable-diff.js +110 -0
  344. package/dist/elements/risk-badge.d.ts +52 -0
  345. package/dist/elements/risk-badge.js +91 -0
  346. package/dist/elements/schedule-card.d.ts +42 -0
  347. package/dist/elements/schedule-card.js +90 -0
  348. package/dist/elements/score-breakdown.d.ts +47 -0
  349. package/dist/elements/score-breakdown.js +82 -0
  350. package/dist/elements/scroll-anchor.d.ts +32 -0
  351. package/dist/elements/scroll-anchor.js +123 -0
  352. package/dist/elements/settings-panel.d.ts +52 -0
  353. package/dist/elements/settings-panel.js +107 -0
  354. package/dist/elements/shared-conversation.d.ts +39 -0
  355. package/dist/elements/shared-conversation.js +68 -0
  356. package/dist/elements/sources.d.ts +33 -0
  357. package/dist/elements/sources.js +61 -0
  358. package/dist/elements/speaker-identity.d.ts +32 -0
  359. package/dist/elements/speaker-identity.js +51 -0
  360. package/dist/elements/spec-sheet.d.ts +31 -0
  361. package/dist/elements/spec-sheet.js +45 -0
  362. package/dist/elements/stopped-run.d.ts +22 -0
  363. package/dist/elements/stopped-run.js +50 -0
  364. package/dist/elements/streaming-text.d.ts +31 -0
  365. package/dist/elements/streaming-text.js +45 -0
  366. package/dist/elements/subagent-list.d.ts +37 -0
  367. package/dist/elements/subagent-list.js +79 -0
  368. package/dist/elements/suggestions.d.ts +30 -0
  369. package/dist/elements/suggestions.js +36 -0
  370. package/dist/elements/surfaces.d.ts +85 -0
  371. package/dist/elements/surfaces.js +108 -0
  372. package/dist/elements/tail-status.d.ts +131 -0
  373. package/dist/elements/tail-status.js +94 -0
  374. package/dist/elements/terminal-block.d.ts +29 -0
  375. package/dist/elements/terminal-block.js +54 -0
  376. package/dist/elements/thinking-indicator.d.ts +18 -0
  377. package/dist/elements/thinking-indicator.js +36 -0
  378. package/dist/elements/thread-list.d.ts +35 -0
  379. package/dist/elements/thread-list.js +68 -0
  380. package/dist/elements/thread-search.d.ts +42 -0
  381. package/dist/elements/thread-search.js +99 -0
  382. package/dist/elements/timeline.d.ts +37 -0
  383. package/dist/elements/timeline.js +46 -0
  384. package/dist/elements/todo-list.d.ts +42 -0
  385. package/dist/elements/todo-list.js +59 -0
  386. package/dist/elements/tool-call.d.ts +41 -0
  387. package/dist/elements/tool-call.js +85 -0
  388. package/dist/elements/tool-error.d.ts +39 -0
  389. package/dist/elements/tool-error.js +76 -0
  390. package/dist/elements/tool-group.d.ts +45 -0
  391. package/dist/elements/tool-group.js +71 -0
  392. package/dist/elements/tool-timeline.d.ts +65 -0
  393. package/dist/elements/tool-timeline.js +88 -0
  394. package/dist/elements/trace-waterfall.d.ts +37 -0
  395. package/dist/elements/trace-waterfall.js +69 -0
  396. package/dist/elements/transcript-rules.d.ts +67 -0
  397. package/dist/elements/transcript-rules.js +95 -0
  398. package/dist/elements/turn-footer.d.ts +74 -0
  399. package/dist/elements/turn-footer.js +101 -0
  400. package/dist/elements/typing-indicator.d.ts +16 -0
  401. package/dist/elements/typing-indicator.js +51 -0
  402. package/dist/elements/verdict-row.d.ts +89 -0
  403. package/dist/elements/verdict-row.js +150 -0
  404. package/dist/elements/vocabulary.d.ts +612 -0
  405. package/dist/elements/vocabulary.js +611 -0
  406. package/dist/elements/voice-conversation.d.ts +49 -0
  407. package/dist/elements/voice-conversation.js +123 -0
  408. package/dist/elements/web-preview.d.ts +32 -0
  409. package/dist/elements/web-preview.js +66 -0
  410. package/dist/elements/web-search.d.ts +37 -0
  411. package/dist/elements/web-search.js +66 -0
  412. package/dist/elements/work-collapse.d.ts +103 -0
  413. package/dist/elements/work-collapse.js +131 -0
  414. package/dist/flow/_frame.d.ts +52 -0
  415. package/dist/flow/_frame.js +38 -0
  416. package/dist/flow/controls.d.ts +41 -0
  417. package/dist/flow/controls.js +53 -0
  418. package/dist/flow/flow.css +121 -0
  419. package/dist/flow/handles.d.ts +40 -0
  420. package/dist/flow/handles.js +61 -0
  421. package/dist/flow/index.d.ts +7 -0
  422. package/dist/flow/index.js +7 -0
  423. package/dist/flow/node-card.d.ts +71 -0
  424. package/dist/flow/node-card.js +102 -0
  425. package/dist/flow/signal-edge.d.ts +60 -0
  426. package/dist/flow/signal-edge.js +108 -0
  427. package/dist/flow/use-flow-theme.d.ts +69 -0
  428. package/dist/flow/use-flow-theme.js +109 -0
  429. package/dist/forms/_chassis.d.ts +164 -0
  430. package/dist/forms/_chassis.js +159 -0
  431. package/dist/forms/_glyphs.js +143 -0
  432. package/dist/forms/_listbox.js +55 -0
  433. package/dist/forms/autocomplete.d.ts +61 -0
  434. package/dist/forms/autocomplete.js +88 -0
  435. package/dist/forms/button-group.d.ts +47 -0
  436. package/dist/forms/button-group.js +52 -0
  437. package/dist/forms/checkbox.d.ts +51 -0
  438. package/dist/forms/checkbox.js +98 -0
  439. package/dist/forms/combobox.d.ts +73 -0
  440. package/dist/forms/combobox.js +108 -0
  441. package/dist/forms/env-var-input.d.ts +74 -0
  442. package/dist/forms/env-var-input.js +116 -0
  443. package/dist/forms/field.d.ts +89 -0
  444. package/dist/forms/field.js +102 -0
  445. package/dist/forms/file-upload.d.ts +113 -0
  446. package/dist/forms/file-upload.js +232 -0
  447. package/dist/forms/index.d.ts +26 -0
  448. package/dist/forms/index.js +26 -0
  449. package/dist/forms/input-group.d.ts +36 -0
  450. package/dist/forms/input-group.js +59 -0
  451. package/dist/forms/input.d.ts +45 -0
  452. package/dist/forms/input.js +36 -0
  453. package/dist/forms/multi-select.d.ts +62 -0
  454. package/dist/forms/multi-select.js +107 -0
  455. package/dist/forms/number-field.d.ts +39 -0
  456. package/dist/forms/number-field.js +65 -0
  457. package/dist/forms/otp-field.d.ts +54 -0
  458. package/dist/forms/otp-field.js +59 -0
  459. package/dist/forms/password-input.d.ts +46 -0
  460. package/dist/forms/password-input.js +62 -0
  461. package/dist/forms/radio-group.d.ts +50 -0
  462. package/dist/forms/radio-group.js +64 -0
  463. package/dist/forms/rating.d.ts +69 -0
  464. package/dist/forms/rating.js +103 -0
  465. package/dist/forms/scrub-input.d.ts +81 -0
  466. package/dist/forms/scrub-input.js +249 -0
  467. package/dist/forms/search-input.d.ts +54 -0
  468. package/dist/forms/search-input.js +112 -0
  469. package/dist/forms/select.d.ts +75 -0
  470. package/dist/forms/select.js +91 -0
  471. package/dist/forms/slider.d.ts +44 -0
  472. package/dist/forms/slider.js +65 -0
  473. package/dist/forms/switch.d.ts +36 -0
  474. package/dist/forms/switch.js +71 -0
  475. package/dist/forms/tags-input.d.ts +69 -0
  476. package/dist/forms/tags-input.js +148 -0
  477. package/dist/forms/textarea.d.ts +39 -0
  478. package/dist/forms/textarea.js +37 -0
  479. package/dist/forms/toggle-group.d.ts +41 -0
  480. package/dist/forms/toggle-group.js +56 -0
  481. package/dist/forms/toggle.d.ts +47 -0
  482. package/dist/forms/toggle.js +100 -0
  483. package/dist/icons/containers.d.ts +89 -0
  484. package/dist/icons/containers.js +295 -0
  485. package/dist/icons/index.d.ts +2 -0
  486. package/dist/index.d.ts +138 -0
  487. package/dist/index.js +124 -0
  488. package/dist/instruments/_ansi.js +116 -0
  489. package/dist/instruments/_data-row.d.ts +68 -0
  490. package/dist/instruments/_data-row.js +139 -0
  491. package/dist/instruments/_glyphs.js +90 -0
  492. package/dist/instruments/_ledger-disclosure.js +103 -0
  493. package/dist/instruments/_ledger.d.ts +21 -0
  494. package/dist/instruments/_ledger.js +5 -0
  495. package/dist/instruments/_motion.js +56 -0
  496. package/dist/instruments/_rem.js +21 -0
  497. package/dist/instruments/app-window-frame.d.ts +48 -0
  498. package/dist/instruments/app-window-frame.js +76 -0
  499. package/dist/instruments/code-block.d.ts +35 -0
  500. package/dist/instruments/code-block.js +173 -0
  501. package/dist/instruments/copy-button.d.ts +41 -0
  502. package/dist/instruments/copy-button.js +112 -0
  503. package/dist/instruments/data-row.d.ts +94 -0
  504. package/dist/instruments/data-row.js +151 -0
  505. package/dist/instruments/data-table.d.ts +168 -0
  506. package/dist/instruments/data-table.js +212 -0
  507. package/dist/instruments/data-tree.d.ts +126 -0
  508. package/dist/instruments/data-tree.js +303 -0
  509. package/dist/instruments/group-bar.d.ts +63 -0
  510. package/dist/instruments/group-bar.js +122 -0
  511. package/dist/instruments/index.d.ts +18 -0
  512. package/dist/instruments/index.js +18 -0
  513. package/dist/instruments/ledger.d.ts +204 -0
  514. package/dist/instruments/ledger.js +204 -0
  515. package/dist/instruments/log-viewer.d.ts +74 -0
  516. package/dist/instruments/log-viewer.js +215 -0
  517. package/dist/instruments/meter.d.ts +81 -0
  518. package/dist/instruments/meter.js +96 -0
  519. package/dist/instruments/progress.d.ts +61 -0
  520. package/dist/instruments/progress.js +79 -0
  521. package/dist/instruments/seam-grid.d.ts +66 -0
  522. package/dist/instruments/seam-grid.js +78 -0
  523. package/dist/instruments/sparkline.d.ts +39 -0
  524. package/dist/instruments/sparkline.js +85 -0
  525. package/dist/instruments/stat.d.ts +35 -0
  526. package/dist/instruments/stat.js +59 -0
  527. package/dist/instruments/table.d.ts +170 -0
  528. package/dist/instruments/table.js +237 -0
  529. package/dist/instruments/terminal-frame.d.ts +89 -0
  530. package/dist/instruments/terminal-frame.js +256 -0
  531. package/dist/instruments/two-step-button.d.ts +47 -0
  532. package/dist/instruments/two-step-button.js +166 -0
  533. package/dist/instruments/usage-chart.d.ts +55 -0
  534. package/dist/instruments/usage-chart.js +235 -0
  535. package/dist/layout/_collapse.js +46 -0
  536. package/dist/layout/_glyphs.js +45 -0
  537. package/dist/layout/_ground.d.ts +22 -0
  538. package/dist/layout/_ground.js +9 -0
  539. package/dist/layout/accordion.d.ts +52 -0
  540. package/dist/layout/accordion.js +81 -0
  541. package/dist/layout/bento.d.ts +144 -0
  542. package/dist/layout/bento.js +266 -0
  543. package/dist/layout/breadcrumb.d.ts +35 -0
  544. package/dist/layout/breadcrumb.js +67 -0
  545. package/dist/layout/card.d.ts +51 -0
  546. package/dist/layout/card.js +76 -0
  547. package/dist/layout/carousel.d.ts +96 -0
  548. package/dist/layout/carousel.js +211 -0
  549. package/dist/layout/collapsible.d.ts +74 -0
  550. package/dist/layout/collapsible.js +126 -0
  551. package/dist/layout/container.d.ts +27 -0
  552. package/dist/layout/container.js +43 -0
  553. package/dist/layout/description-list.d.ts +24 -0
  554. package/dist/layout/description-list.js +37 -0
  555. package/dist/layout/frames.d.ts +70 -0
  556. package/dist/layout/frames.js +298 -0
  557. package/dist/layout/grid.d.ts +40 -0
  558. package/dist/layout/grid.js +48 -0
  559. package/dist/layout/index.d.ts +19 -0
  560. package/dist/layout/index.js +18 -0
  561. package/dist/layout/item.d.ts +65 -0
  562. package/dist/layout/item.js +100 -0
  563. package/dist/layout/link.d.ts +48 -0
  564. package/dist/layout/link.js +63 -0
  565. package/dist/layout/pagination.d.ts +54 -0
  566. package/dist/layout/pagination.js +121 -0
  567. package/dist/layout/preview.d.ts +177 -0
  568. package/dist/layout/preview.js +628 -0
  569. package/dist/layout/resizable.d.ts +38 -0
  570. package/dist/layout/resizable.js +68 -0
  571. package/dist/layout/sidebar.d.ts +105 -0
  572. package/dist/layout/sidebar.js +158 -0
  573. package/dist/layout/stack.d.ts +46 -0
  574. package/dist/layout/stack.js +62 -0
  575. package/dist/layout/stepper.d.ts +49 -0
  576. package/dist/layout/stepper.js +81 -0
  577. package/dist/layout/timeline.d.ts +43 -0
  578. package/dist/layout/timeline.js +63 -0
  579. package/dist/lib/aria-class.js +24 -0
  580. package/dist/lib/cn.js +18 -0
  581. package/dist/lib/compose.js +38 -0
  582. package/dist/lib/cva.d.ts +18 -0
  583. package/dist/lib/cva.js +65 -0
  584. package/dist/midi/_notes.d.ts +101 -0
  585. package/dist/midi/_notes.js +183 -0
  586. package/dist/midi/_ruler.d.ts +100 -0
  587. package/dist/midi/_ruler.js +105 -0
  588. package/dist/midi/_time.d.ts +107 -0
  589. package/dist/midi/_time.js +130 -0
  590. package/dist/midi/index.d.ts +9 -0
  591. package/dist/midi/index.js +9 -0
  592. package/dist/midi/musical-time-input.d.ts +48 -0
  593. package/dist/midi/musical-time-input.js +154 -0
  594. package/dist/midi/piano-keyboard.d.ts +50 -0
  595. package/dist/midi/piano-keyboard.js +197 -0
  596. package/dist/midi/spectrum-visualizer.d.ts +65 -0
  597. package/dist/midi/spectrum-visualizer.js +213 -0
  598. package/dist/midi/threshold-rail.d.ts +72 -0
  599. package/dist/midi/threshold-rail.js +214 -0
  600. package/dist/midi/timeline-ruler.d.ts +83 -0
  601. package/dist/midi/timeline-ruler.js +152 -0
  602. package/dist/overlays/_debounce.js +34 -0
  603. package/dist/overlays/_glyphs.js +59 -0
  604. package/dist/overlays/_surface.d.ts +70 -0
  605. package/dist/overlays/_surface.js +70 -0
  606. package/dist/overlays/_wheel.js +42 -0
  607. package/dist/overlays/alert-dialog.d.ts +67 -0
  608. package/dist/overlays/alert-dialog.js +117 -0
  609. package/dist/overlays/command-palette.d.ts +93 -0
  610. package/dist/overlays/command-palette.js +193 -0
  611. package/dist/overlays/context-menu.d.ts +64 -0
  612. package/dist/overlays/context-menu.js +78 -0
  613. package/dist/overlays/dialog.d.ts +72 -0
  614. package/dist/overlays/dialog.js +124 -0
  615. package/dist/overlays/drawer.d.ts +75 -0
  616. package/dist/overlays/drawer.js +151 -0
  617. package/dist/overlays/dropdown-menu.d.ts +79 -0
  618. package/dist/overlays/dropdown-menu.js +156 -0
  619. package/dist/overlays/hover-card.d.ts +58 -0
  620. package/dist/overlays/hover-card.js +91 -0
  621. package/dist/overlays/index.d.ts +15 -0
  622. package/dist/overlays/index.js +15 -0
  623. package/dist/overlays/info-tip.d.ts +41 -0
  624. package/dist/overlays/info-tip.js +45 -0
  625. package/dist/overlays/menubar.d.ts +72 -0
  626. package/dist/overlays/menubar.js +100 -0
  627. package/dist/overlays/popover.d.ts +66 -0
  628. package/dist/overlays/popover.js +114 -0
  629. package/dist/overlays/sheet.d.ts +78 -0
  630. package/dist/overlays/sheet.js +131 -0
  631. package/dist/overlays/toast.d.ts +106 -0
  632. package/dist/overlays/toast.js +146 -0
  633. package/dist/overlays/tooltip.d.ts +57 -0
  634. package/dist/overlays/tooltip.js +95 -0
  635. package/dist/primitives/avatar.d.ts +51 -0
  636. package/dist/primitives/avatar.js +93 -0
  637. package/dist/primitives/button.d.ts +58 -0
  638. package/dist/primitives/button.js +104 -0
  639. package/dist/primitives/chip.d.ts +73 -0
  640. package/dist/primitives/chip.js +238 -0
  641. package/dist/primitives/icon-button.d.ts +41 -0
  642. package/dist/primitives/icon-button.js +59 -0
  643. package/dist/primitives/index.d.ts +10 -0
  644. package/dist/primitives/index.js +10 -0
  645. package/dist/primitives/kbd.d.ts +17 -0
  646. package/dist/primitives/kbd.js +24 -0
  647. package/dist/primitives/separator.d.ts +25 -0
  648. package/dist/primitives/separator.js +30 -0
  649. package/dist/primitives/skeleton.d.ts +20 -0
  650. package/dist/primitives/skeleton.js +27 -0
  651. package/dist/primitives/spinner.d.ts +26 -0
  652. package/dist/primitives/spinner.js +31 -0
  653. package/dist/primitives/status-dot.d.ts +51 -0
  654. package/dist/primitives/status-dot.js +57 -0
  655. package/dist/styles.css +97 -0
  656. package/dist/system/agent-skin.d.ts +27 -0
  657. package/dist/system/agent-skin.js +20 -0
  658. package/dist/system/density.d.ts +73 -0
  659. package/dist/system/density.js +111 -0
  660. package/dist/system/index.d.ts +12 -0
  661. package/dist/system/index.js +10 -0
  662. package/dist/system/overrides.d.ts +80 -0
  663. package/dist/system/overrides.js +277 -0
  664. package/dist/system/portal.d.ts +56 -0
  665. package/dist/system/portal.js +193 -0
  666. package/dist/system/prepaint.d.ts +134 -0
  667. package/dist/system/prepaint.js +120 -0
  668. package/dist/system/theme-provider.d.ts +290 -0
  669. package/dist/system/theme-provider.js +543 -0
  670. package/dist/system/theme-registry.d.ts +53 -0
  671. package/dist/system/theme-registry.js +66 -0
  672. package/dist/system/use-density.d.ts +50 -0
  673. package/dist/system/use-density.js +232 -0
  674. package/dist/system/use-isomorphic-layout-effect.js +33 -0
  675. package/dist/system/use-theme.d.ts +30 -0
  676. package/dist/system/use-theme.js +36 -0
  677. package/dist/system/vocabulary.d.ts +16 -0
  678. package/dist/system/vocabulary.js +125 -0
  679. package/dist/theming/contrast.d.ts +2 -0
  680. package/dist/theming/contrast.js +2 -0
  681. package/dist/theming/create-theme.d.ts +195 -0
  682. package/dist/theming/create-theme.js +524 -0
  683. package/dist/theming/index.d.ts +4 -0
  684. package/dist/theming/index.js +4 -0
  685. package/dist/theming/serialize.d.ts +167 -0
  686. package/dist/theming/serialize.js +241 -0
  687. package/manifest/components/accordion.json +173 -0
  688. package/manifest/components/activity-graph.json +104 -0
  689. package/manifest/components/agent-card.json +150 -0
  690. package/manifest/components/agent-handoff.json +104 -0
  691. package/manifest/components/agent-mode-badge.json +102 -0
  692. package/manifest/components/agent-pile.json +147 -0
  693. package/manifest/components/agent-plan.json +74 -0
  694. package/manifest/components/agent-status.json +87 -0
  695. package/manifest/components/agent-surface.json +93 -0
  696. package/manifest/components/alert-dialog.json +215 -0
  697. package/manifest/components/animated-number.json +75 -0
  698. package/manifest/components/app-bar.json +297 -0
  699. package/manifest/components/app-shell.json +526 -0
  700. package/manifest/components/app-window-frame.json +124 -0
  701. package/manifest/components/approval-card.json +136 -0
  702. package/manifest/components/artifact-card.json +93 -0
  703. package/manifest/components/ask-box.json +288 -0
  704. package/manifest/components/audience-icon.json +46 -0
  705. package/manifest/components/autocomplete.json +262 -0
  706. package/manifest/components/avatar-group.json +83 -0
  707. package/manifest/components/avatar.json +113 -0
  708. package/manifest/components/background-inbox.json +79 -0
  709. package/manifest/components/band.json +104 -0
  710. package/manifest/components/bento.json +306 -0
  711. package/manifest/components/branch-picker.json +146 -0
  712. package/manifest/components/breadcrumb.json +85 -0
  713. package/manifest/components/button-group.json +91 -0
  714. package/manifest/components/button.json +163 -0
  715. package/manifest/components/calendar.json +65 -0
  716. package/manifest/components/canvas-split-body.json +66 -0
  717. package/manifest/components/canvas-split-document.json +55 -0
  718. package/manifest/components/canvas-split-header.json +97 -0
  719. package/manifest/components/canvas-split-line.json +66 -0
  720. package/manifest/components/canvas-split-message.json +70 -0
  721. package/manifest/components/canvas-split-thread.json +55 -0
  722. package/manifest/components/canvas-split.json +61 -0
  723. package/manifest/components/card.json +152 -0
  724. package/manifest/components/carousel.json +242 -0
  725. package/manifest/components/catalogue-icon.json +46 -0
  726. package/manifest/components/channel-beta-icon.json +46 -0
  727. package/manifest/components/channel-matrix.json +239 -0
  728. package/manifest/components/channel-released-icon.json +46 -0
  729. package/manifest/components/chart-container.json +127 -0
  730. package/manifest/components/chart-ramp.json +82 -0
  731. package/manifest/components/chart-swatch.json +72 -0
  732. package/manifest/components/chart-tooltip-content.json +140 -0
  733. package/manifest/components/chart.json +117 -0
  734. package/manifest/components/chat-empty-state.json +55 -0
  735. package/manifest/components/chat-panel-assistant-message.json +52 -0
  736. package/manifest/components/chat-panel-composer.json +74 -0
  737. package/manifest/components/chat-panel-messages.json +52 -0
  738. package/manifest/components/chat-panel-typing.json +52 -0
  739. package/manifest/components/chat-panel-user-message.json +52 -0
  740. package/manifest/components/chat-panel.json +58 -0
  741. package/manifest/components/checkbox-group.json +70 -0
  742. package/manifest/components/checkbox.json +106 -0
  743. package/manifest/components/checkpoint-history.json +91 -0
  744. package/manifest/components/chip.json +174 -0
  745. package/manifest/components/clamp.json +125 -0
  746. package/manifest/components/cli-tool-icon.json +46 -0
  747. package/manifest/components/code-block.json +107 -0
  748. package/manifest/components/code-diff.json +104 -0
  749. package/manifest/components/code-runner.json +124 -0
  750. package/manifest/components/collapsible.json +133 -0
  751. package/manifest/components/color-area.json +62 -0
  752. package/manifest/components/color-field.json +91 -0
  753. package/manifest/components/color-picker.json +235 -0
  754. package/manifest/components/color-slider.json +84 -0
  755. package/manifest/components/color-swatch.json +79 -0
  756. package/manifest/components/colors-section.json +70 -0
  757. package/manifest/components/combobox.json +265 -0
  758. package/manifest/components/command-palette.json +222 -0
  759. package/manifest/components/compaction-row.json +128 -0
  760. package/manifest/components/comparison-card.json +98 -0
  761. package/manifest/components/composer-actions.json +65 -0
  762. package/manifest/components/composer-attach-button.json +65 -0
  763. package/manifest/components/composer-attachment-chip.json +83 -0
  764. package/manifest/components/composer-attachments.json +60 -0
  765. package/manifest/components/composer-bar.json +76 -0
  766. package/manifest/components/composer-command-item.json +85 -0
  767. package/manifest/components/composer-context.json +71 -0
  768. package/manifest/components/composer-input.json +77 -0
  769. package/manifest/components/composer-menu-item.json +75 -0
  770. package/manifest/components/composer-menu.json +89 -0
  771. package/manifest/components/composer-model-item.json +82 -0
  772. package/manifest/components/composer-model-trigger.json +81 -0
  773. package/manifest/components/composer-person-item.json +86 -0
  774. package/manifest/components/composer-send.json +86 -0
  775. package/manifest/components/composer-toolbar.json +65 -0
  776. package/manifest/components/composer-voice-button.json +71 -0
  777. package/manifest/components/composer-voice.json +81 -0
  778. package/manifest/components/composer.json +238 -0
  779. package/manifest/components/computer-use.json +98 -0
  780. package/manifest/components/confidence-marker.json +86 -0
  781. package/manifest/components/connection-state.json +103 -0
  782. package/manifest/components/container.json +75 -0
  783. package/manifest/components/context-breakdown.json +72 -0
  784. package/manifest/components/context-menu.json +134 -0
  785. package/manifest/components/context-usage.json +98 -0
  786. package/manifest/components/conversation-search.json +111 -0
  787. package/manifest/components/copy-button.json +118 -0
  788. package/manifest/components/cost-meter.json +84 -0
  789. package/manifest/components/cue-logotype.json +110 -0
  790. package/manifest/components/cue-mark.json +111 -0
  791. package/manifest/components/cue-portal-frame.json +65 -0
  792. package/manifest/components/data-row.json +222 -0
  793. package/manifest/components/data-table-pagination.json +97 -0
  794. package/manifest/components/data-table-toolbar.json +127 -0
  795. package/manifest/components/data-tree.json +185 -0
  796. package/manifest/components/date-field.json +93 -0
  797. package/manifest/components/date-picker.json +255 -0
  798. package/manifest/components/date-range-picker.json +255 -0
  799. package/manifest/components/day-separator.json +63 -0
  800. package/manifest/components/delegation-card.json +196 -0
  801. package/manifest/components/density.json +93 -0
  802. package/manifest/components/description-list.json +91 -0
  803. package/manifest/components/diagram.json +126 -0
  804. package/manifest/components/dialog.json +222 -0
  805. package/manifest/components/disclosure.json +134 -0
  806. package/manifest/components/dmx-bar.json +107 -0
  807. package/manifest/components/dmx-strip.json +117 -0
  808. package/manifest/components/document-reference.json +108 -0
  809. package/manifest/components/draft-restore.json +96 -0
  810. package/manifest/components/drawer.json +204 -0
  811. package/manifest/components/dropdown-menu.json +275 -0
  812. package/manifest/components/edit-message.json +131 -0
  813. package/manifest/components/elements-command-palette.json +122 -0
  814. package/manifest/components/elements-composer.json +71 -0
  815. package/manifest/components/elements-data-table.json +75 -0
  816. package/manifest/components/elements-timeline.json +77 -0
  817. package/manifest/components/elicitation-form.json +130 -0
  818. package/manifest/components/empty-state-composer.json +71 -0
  819. package/manifest/components/empty-state-greeting.json +49 -0
  820. package/manifest/components/empty-state-suggestion.json +60 -0
  821. package/manifest/components/empty-state-suggestions.json +49 -0
  822. package/manifest/components/empty-state.json +111 -0
  823. package/manifest/components/end-of-turn-summary.json +89 -0
  824. package/manifest/components/env-var-input.json +194 -0
  825. package/manifest/components/error-state.json +93 -0
  826. package/manifest/components/export-dialog.json +101 -0
  827. package/manifest/components/eyebrow.json +59 -0
  828. package/manifest/components/feedback-dialog.json +133 -0
  829. package/manifest/components/field-description.json +66 -0
  830. package/manifest/components/field-error.json +87 -0
  831. package/manifest/components/field-label.json +66 -0
  832. package/manifest/components/field.json +82 -0
  833. package/manifest/components/file-tree.json +96 -0
  834. package/manifest/components/file-upload.json +204 -0
  835. package/manifest/components/flow-background.json +50 -0
  836. package/manifest/components/flow-controls.json +50 -0
  837. package/manifest/components/flow-graph.json +86 -0
  838. package/manifest/components/folder-icon.json +46 -0
  839. package/manifest/components/footer.json +133 -0
  840. package/manifest/components/frac.json +68 -0
  841. package/manifest/components/frames.json +210 -0
  842. package/manifest/components/generation-loader.json +78 -0
  843. package/manifest/components/generative-ui.json +125 -0
  844. package/manifest/components/grid.json +132 -0
  845. package/manifest/components/group-bar.json +122 -0
  846. package/manifest/components/guardrail-notice.json +109 -0
  847. package/manifest/components/hover-card.json +189 -0
  848. package/manifest/components/icon-button.json +106 -0
  849. package/manifest/components/image-generation.json +73 -0
  850. package/manifest/components/info-tip.json +133 -0
  851. package/manifest/components/inline-citation.json +90 -0
  852. package/manifest/components/input-group.json +112 -0
  853. package/manifest/components/input.json +121 -0
  854. package/manifest/components/inspector.json +199 -0
  855. package/manifest/components/item.json +163 -0
  856. package/manifest/components/job-progress.json +116 -0
  857. package/manifest/components/kbd.json +52 -0
  858. package/manifest/components/launcher-bubble.json +130 -0
  859. package/manifest/components/ledger.json +330 -0
  860. package/manifest/components/link.json +94 -0
  861. package/manifest/components/live-region-announcer.json +95 -0
  862. package/manifest/components/log-viewer.json +172 -0
  863. package/manifest/components/map-answer.json +97 -0
  864. package/manifest/components/markdown-text.json +126 -0
  865. package/manifest/components/math-block.json +84 -0
  866. package/manifest/components/mcp-server-icon.json +46 -0
  867. package/manifest/components/mcp-server-panel.json +102 -0
  868. package/manifest/components/memory-chips.json +73 -0
  869. package/manifest/components/menubar.json +184 -0
  870. package/manifest/components/message-actions.json +125 -0
  871. package/manifest/components/message-attachments.json +71 -0
  872. package/manifest/components/message-branches.json +83 -0
  873. package/manifest/components/message-list.json +121 -0
  874. package/manifest/components/message-pair.json +107 -0
  875. package/manifest/components/message-queue.json +85 -0
  876. package/manifest/components/message-timing.json +69 -0
  877. package/manifest/components/message.json +149 -0
  878. package/manifest/components/meter.json +150 -0
  879. package/manifest/components/mobile-composer.json +163 -0
  880. package/manifest/components/model-picker.json +87 -0
  881. package/manifest/components/multi-select.json +255 -0
  882. package/manifest/components/musical-time-input.json +141 -0
  883. package/manifest/components/navigation-menu.json +269 -0
  884. package/manifest/components/node-card.json +144 -0
  885. package/manifest/components/node-handle.json +84 -0
  886. package/manifest/components/number-field.json +131 -0
  887. package/manifest/components/number-ticker.json +67 -0
  888. package/manifest/components/onboarding.json +100 -0
  889. package/manifest/components/otp-field.json +163 -0
  890. package/manifest/components/page-shell.json +129 -0
  891. package/manifest/components/pagination.json +108 -0
  892. package/manifest/components/panel-header.json +89 -0
  893. package/manifest/components/panel.json +71 -0
  894. package/manifest/components/password-input.json +171 -0
  895. package/manifest/components/permission-grant.json +115 -0
  896. package/manifest/components/permission-scopes.json +184 -0
  897. package/manifest/components/piano-keyboard.json +149 -0
  898. package/manifest/components/plussie.json +140 -0
  899. package/manifest/components/popover.json +231 -0
  900. package/manifest/components/preset-section.json +80 -0
  901. package/manifest/components/preview.json +294 -0
  902. package/manifest/components/progress.json +114 -0
  903. package/manifest/components/prompt-library.json +122 -0
  904. package/manifest/components/queue-dock.json +139 -0
  905. package/manifest/components/quota-banner.json +113 -0
  906. package/manifest/components/quote-reply.json +129 -0
  907. package/manifest/components/radio-group.json +83 -0
  908. package/manifest/components/radio.json +94 -0
  909. package/manifest/components/rating.json +188 -0
  910. package/manifest/components/read-aloud.json +139 -0
  911. package/manifest/components/reasoning-effort.json +95 -0
  912. package/manifest/components/reasoning-panel.json +135 -0
  913. package/manifest/components/recommendation-card.json +133 -0
  914. package/manifest/components/regenerate-menu.json +107 -0
  915. package/manifest/components/replay-player.json +124 -0
  916. package/manifest/components/research-report.json +87 -0
  917. package/manifest/components/resizable.json +91 -0
  918. package/manifest/components/retrieval-chunks.json +98 -0
  919. package/manifest/components/revert-dock.json +197 -0
  920. package/manifest/components/reviewable-diff.json +113 -0
  921. package/manifest/components/risk-badge.json +89 -0
  922. package/manifest/components/row.json +122 -0
  923. package/manifest/components/schedule-card.json +121 -0
  924. package/manifest/components/score-breakdown.json +108 -0
  925. package/manifest/components/scroll-anchor.json +84 -0
  926. package/manifest/components/scroll-area.json +114 -0
  927. package/manifest/components/scrollable-tabs-list.json +91 -0
  928. package/manifest/components/scrub-input.json +268 -0
  929. package/manifest/components/seam-cell.json +91 -0
  930. package/manifest/components/seam-grid.json +84 -0
  931. package/manifest/components/seam-list.json +56 -0
  932. package/manifest/components/search-input.json +195 -0
  933. package/manifest/components/section-header.json +140 -0
  934. package/manifest/components/segmented-control.json +178 -0
  935. package/manifest/components/select.json +253 -0
  936. package/manifest/components/separator.json +56 -0
  937. package/manifest/components/settings-panel.json +152 -0
  938. package/manifest/components/shape-section.json +70 -0
  939. package/manifest/components/shared-conversation.json +107 -0
  940. package/manifest/components/sheet.json +210 -0
  941. package/manifest/components/shimmer-label.json +61 -0
  942. package/manifest/components/sidebar.json +245 -0
  943. package/manifest/components/signal-edge.json +56 -0
  944. package/manifest/components/skeleton.json +46 -0
  945. package/manifest/components/skill-icon.json +46 -0
  946. package/manifest/components/slider.json +106 -0
  947. package/manifest/components/sources.json +97 -0
  948. package/manifest/components/sparkline.json +89 -0
  949. package/manifest/components/speaker-identity.json +66 -0
  950. package/manifest/components/spec-sheet.json +93 -0
  951. package/manifest/components/spectrum-visualizer.json +147 -0
  952. package/manifest/components/spinner.json +71 -0
  953. package/manifest/components/stack-icon.json +46 -0
  954. package/manifest/components/stack.json +143 -0
  955. package/manifest/components/stacks-matrix-icon.json +46 -0
  956. package/manifest/components/stat.json +111 -0
  957. package/manifest/components/status-bar.json +233 -0
  958. package/manifest/components/status-dot.json +97 -0
  959. package/manifest/components/stepper.json +107 -0
  960. package/manifest/components/stopped-run.json +97 -0
  961. package/manifest/components/streaming-text.json +82 -0
  962. package/manifest/components/sub.json +45 -0
  963. package/manifest/components/subagent-list.json +106 -0
  964. package/manifest/components/suggestions.json +106 -0
  965. package/manifest/components/sup.json +45 -0
  966. package/manifest/components/swap-label.json +86 -0
  967. package/manifest/components/switch.json +102 -0
  968. package/manifest/components/table-scroll-region.json +78 -0
  969. package/manifest/components/table.json +306 -0
  970. package/manifest/components/tabs.json +156 -0
  971. package/manifest/components/tags-input.json +255 -0
  972. package/manifest/components/tail-status.json +138 -0
  973. package/manifest/components/terminal-block.json +111 -0
  974. package/manifest/components/terminal-frame.json +146 -0
  975. package/manifest/components/textarea.json +104 -0
  976. package/manifest/components/theme-configurator.json +158 -0
  977. package/manifest/components/theme-provider.json +228 -0
  978. package/manifest/components/thinking-indicator.json +69 -0
  979. package/manifest/components/thread-list.json +87 -0
  980. package/manifest/components/thread-search.json +108 -0
  981. package/manifest/components/threshold-rail.json +223 -0
  982. package/manifest/components/time-boundary.json +68 -0
  983. package/manifest/components/time-field.json +93 -0
  984. package/manifest/components/timeline-ruler.json +178 -0
  985. package/manifest/components/timeline.json +131 -0
  986. package/manifest/components/title-bar.json +97 -0
  987. package/manifest/components/toast.json +140 -0
  988. package/manifest/components/todo-list.json +76 -0
  989. package/manifest/components/toggle-group.json +134 -0
  990. package/manifest/components/toggle.json +140 -0
  991. package/manifest/components/token-editor.json +106 -0
  992. package/manifest/components/tool-call-card.json +268 -0
  993. package/manifest/components/tool-call.json +147 -0
  994. package/manifest/components/tool-error.json +141 -0
  995. package/manifest/components/tool-group.json +97 -0
  996. package/manifest/components/tool-timeline.json +147 -0
  997. package/manifest/components/toolbar.json +192 -0
  998. package/manifest/components/tooltip.json +199 -0
  999. package/manifest/components/trace-waterfall.json +84 -0
  1000. package/manifest/components/tree-visibility-toggle.json +99 -0
  1001. package/manifest/components/tree.json +182 -0
  1002. package/manifest/components/turn-footer.json +133 -0
  1003. package/manifest/components/two-step-button.json +150 -0
  1004. package/manifest/components/typing-indicator.json +60 -0
  1005. package/manifest/components/universe-grid.json +155 -0
  1006. package/manifest/components/unread-divider.json +58 -0
  1007. package/manifest/components/usage-chart.json +162 -0
  1008. package/manifest/components/verdict-row.json +106 -0
  1009. package/manifest/components/voice-conversation.json +141 -0
  1010. package/manifest/components/web-preview.json +105 -0
  1011. package/manifest/components/web-search.json +108 -0
  1012. package/manifest/components/work-collapse.json +125 -0
  1013. package/manifest/fixtures.json +776 -0
  1014. package/manifest/manifest.json +5037 -0
  1015. package/manifest/tokens.json +288 -0
  1016. package/package.json +278 -0
@@ -0,0 +1,611 @@
1
+ //#region src/elements/vocabulary.ts
2
+ /**
3
+ * The tense triad per tool kind, as three shipping products write it.
4
+ *
5
+ * Eleven of the fourteen rows are Cursor's own copy, read off
6
+ * `AgentConversation/tool-action-labels.js` — `shellToolCall` is `Running/Ran/
7
+ * Run`, `globToolCall` is `Searching files/Searched files/Search files`, and so
8
+ * on down the list. `explore`, `delegate` and `use` are Hermes's category
9
+ * verbs, which exist because a collapsed run summarises *kinds* of call rather
10
+ * than calls: "Explored 3 files, ran 5 commands" needs a verb for the category
11
+ * and not for the tool.
12
+ *
13
+ * `use` is the fallback, and {@link verbFor} returns it for a kind this table
14
+ * does not know. That matters more than it looks: an MCP server names its own
15
+ * tools, so the set of kinds a console will meet is open, and a row that has to
16
+ * choose between `undefined` and the raw wire name will render the wire name.
17
+ *
18
+ * @example
19
+ * // Extending it: a table of your own, spread over this one.
20
+ * const VERBS = { ...VERB_TRIADS, render: { proposed: "Render", active: "Rendering", past: "Rendered" } };
21
+ */
22
+ const VERB_TRIADS = {
23
+ shell: {
24
+ proposed: "Run",
25
+ active: "Running",
26
+ past: "Ran"
27
+ },
28
+ read: {
29
+ proposed: "Read",
30
+ active: "Reading",
31
+ past: "Read"
32
+ },
33
+ edit: {
34
+ proposed: "Edit",
35
+ active: "Editing",
36
+ past: "Edited"
37
+ },
38
+ grep: {
39
+ proposed: "Grep",
40
+ active: "Grepping",
41
+ past: "Grepped"
42
+ },
43
+ glob: {
44
+ proposed: "Search files",
45
+ active: "Searching files",
46
+ past: "Searched files"
47
+ },
48
+ search: {
49
+ proposed: "Search",
50
+ active: "Searching",
51
+ past: "Searched"
52
+ },
53
+ web: {
54
+ proposed: "Search web",
55
+ active: "Searching web",
56
+ past: "Searched web"
57
+ },
58
+ plan: {
59
+ proposed: "Write plan",
60
+ active: "Writing plan",
61
+ past: "Wrote plan"
62
+ },
63
+ task: {
64
+ proposed: "Work on task",
65
+ active: "Working on task",
66
+ past: "Completed task"
67
+ },
68
+ todos: {
69
+ proposed: "Update todos",
70
+ active: "Updating todos",
71
+ past: "Updated todos"
72
+ },
73
+ mcp: {
74
+ proposed: "Explore tools",
75
+ active: "Exploring tools",
76
+ past: "Explored tools"
77
+ },
78
+ explore: {
79
+ proposed: "Explore",
80
+ active: "Exploring",
81
+ past: "Explored"
82
+ },
83
+ delegate: {
84
+ proposed: "Delegate",
85
+ active: "Delegating",
86
+ past: "Delegated"
87
+ },
88
+ use: {
89
+ proposed: "Use",
90
+ active: "Using",
91
+ past: "Used"
92
+ }
93
+ };
94
+ /**
95
+ * One tense of one kind, with `use` as the answer for anything unknown.
96
+ *
97
+ * Takes a plain `string` rather than a {@link VerbKind} on purpose: the kind
98
+ * arrives from a wire payload, and a signature that only accepted the fourteen
99
+ * would push every caller through a cast to reach the fallback this function
100
+ * exists to provide.
101
+ *
102
+ * @example
103
+ * verbFor("shell", "active"); // "Running"
104
+ * verbFor("compile", "past"); // "Used" — the fallback, not undefined
105
+ */
106
+ function verbFor(kind, tense) {
107
+ return (VERB_TRIADS[kind] ?? VERB_TRIADS.use)[tense];
108
+ }
109
+ /**
110
+ * The action vocabulary a live status row draws from, as opencode ships it.
111
+ *
112
+ * Ten phrases, recovered from opencode's embedded i18n dictionary — the most
113
+ * precise UI-copy source in the whole study, because that package's `AGENTS.md`
114
+ * forbids a hardcoded English string outright, so every line a person reads is
115
+ * in the table.
116
+ *
117
+ * opencode writes the detailed one as one interpolated string,
118
+ * `Thinking - {{topic}}`. {@link TailStatus} splits that into an `action` and a
119
+ * `detail` instead, so the topic can truncate on its own while the action never
120
+ * does — a transcript is 280px wide in an editor sidebar, and a status line
121
+ * that elides its verb has said nothing at all.
122
+ *
123
+ * @example
124
+ * <TailStatus action={TAIL_ACTIONS.searchingCode} detail="composer.tsx" onCancel={stop} />
125
+ */
126
+ const TAIL_ACTIONS = {
127
+ /** Nothing is running; the run has the turn but is not spending it. */
128
+ idle: "Idle",
129
+ /** The turn is waiting behind another one. */
130
+ queued: "Queued",
131
+ /** The model holds the turn. Pair with a `detail` for opencode's `Thinking - {{topic}}`. */
132
+ thinking: "Thinking",
133
+ /** Between steps: the model is deciding what to do next. */
134
+ planning: "Planning next steps",
135
+ /** Shell calls are out. */
136
+ running: "Running commands",
137
+ /** Reads, greps and globs are out. */
138
+ searchingCode: "Searching the codebase",
139
+ /** A fetch or a web search is out. */
140
+ searchingWeb: "Searching the web",
141
+ /** The catch-all for work that is neither reading nor running. */
142
+ exploring: "Exploring",
143
+ /** A person stopped it. */
144
+ interrupted: "Interrupted",
145
+ /** The runtime stopped it. */
146
+ aborted: "Aborted"
147
+ };
148
+ /**
149
+ * The words the transcript's per-turn footer puts on its four controls.
150
+ *
151
+ * Cursor's turn footer is `copyMessage`, `replyToMessage`, `forkChat` and an
152
+ * overflow menu; these are the accessible names for those four.
153
+ * {@link TurnFooter} takes a `labels` prop that is merged over this table, so a
154
+ * console can localise all four without touching the component or losing the
155
+ * ones it did not override.
156
+ */
157
+ const TURN_ACTION_LABELS = {
158
+ /** The copy control. Becomes `copied` once the clipboard has it. */
159
+ copy: "Copy",
160
+ /** The name the copy control takes while it is confirming. */
161
+ copied: "Copied",
162
+ /** Quote this turn into the composer. */
163
+ reply: "Reply",
164
+ /** Branch the conversation from this turn. */
165
+ fork: "Fork",
166
+ /** The overflow menu — Cursor hangs "Copy request ID" off it. */
167
+ more: "More actions"
168
+ };
169
+ /**
170
+ * The five states a compaction passes through, in the order it passes them.
171
+ *
172
+ * Cline's `CompactionRow` is the only implementation in the sample that has all
173
+ * five; Zed has three (`InProgress | Completed | Canceled`) and Roo has two
174
+ * rows. Five is the honest number, because the two everybody drops are the two
175
+ * a reader most needs: a compaction that *failed* leaves the window full, and
176
+ * one that was *skipped* leaves it full for a reason the reader should be told.
177
+ */
178
+ const COMPACTION_STATES = [
179
+ "started",
180
+ "completed",
181
+ "failed",
182
+ "cancelled",
183
+ "skipped"
184
+ ];
185
+ /**
186
+ * What the compaction rule says, per state.
187
+ *
188
+ * The tense triad again, which is why it lives beside it: `started` is present
189
+ * participle, everything else is settled. Extend the same way as
190
+ * {@link VERB_TRIADS} — spread, override the row, pass the result as
191
+ * {@link CompactionRow}'s `label`.
192
+ */
193
+ const COMPACTION_LABELS = {
194
+ started: "Compacting the conversation",
195
+ completed: "Compacted the conversation",
196
+ failed: "Could not compact the conversation",
197
+ cancelled: "Compaction cancelled",
198
+ skipped: "Compaction skipped"
199
+ };
200
+ /**
201
+ * What the dock over the composer calls its four controls.
202
+ *
203
+ * Cursor's copy, read off the composer toolbar's queue: `Expand queue`,
204
+ * `Collapse queue`, `Edit Queued Message`, `Send now`, and `CancelQueuedTurn`
205
+ * for the control that drops one. opencode names the same surface
206
+ * `session.followupDock` and gives it the same four keys — `expand`,
207
+ * `collapse`, `edit`, `sendNow` — which is the reason this is a table rather
208
+ * than five strings in the markup: two products that never spoke to each other
209
+ * wrote the same five labels, so the sixth product to need them should not have
210
+ * to invent them again.
211
+ *
212
+ * {@link QueueDock} merges a partial table over this one, so a console can
213
+ * localise `sendNow` without losing the other four.
214
+ */
215
+ const QUEUE_LABELS = {
216
+ /** Open the dock and show the entries. */
217
+ expand: "Expand queue",
218
+ /** Fold it back to its summary line. */
219
+ collapse: "Collapse queue",
220
+ /** Put a queued turn back in the composer. */
221
+ edit: "Edit queued message",
222
+ /** Jump one turn to the front and send it now, without waiting for the run. */
223
+ sendNow: "Send now",
224
+ /** Drop a queued turn before it ever sends. */
225
+ remove: "Remove from the queue"
226
+ };
227
+ /**
228
+ * The axis every checkpoint restore in the study turned out to have.
229
+ *
230
+ * A run changes two things — the files on disk and the conversation about them
231
+ * — and putting one back is not putting the other back. Roo's checkpoint menu
232
+ * offers `Restore Files` and `Restore Files & Task`; Cline's user turn offers
233
+ * `Reset Code` (*rewind conversation, reset code edits*) and `Reset Chat`
234
+ * (*rewind conversation, keep current code edits*). Those are the same three
235
+ * outcomes named twice, and the third one — the conversation alone — is the one
236
+ * a reader reaches for after the model went down a blind alley but wrote
237
+ * nothing worth losing.
238
+ *
239
+ * Three values, in the order they escalate. A product that only has two passes
240
+ * the two it has as {@link RevertDock}'s `scopes`.
241
+ */
242
+ const REVERT_SCOPES = [
243
+ "files",
244
+ "conversation",
245
+ "both"
246
+ ];
247
+ /** What each scope is called, on the control that performs it. */
248
+ const REVERT_SCOPE_LABELS = {
249
+ files: "Restore files",
250
+ conversation: "Restore conversation",
251
+ both: "Restore files and conversation"
252
+ };
253
+ /**
254
+ * What each scope actually does, in the words the products that ship it use.
255
+ *
256
+ * These are the tooltips, not decoration: Cline's whole distinction between its
257
+ * two buttons lives in a tooltip, and a restore control that says only
258
+ * `Restore Files` leaves a reader to guess what happens to the twelve messages
259
+ * after this point. `both` says out loud that they are deleted, which is Roo's
260
+ * copy — *…and deletes all messages after this point*.
261
+ */
262
+ const REVERT_SCOPE_DESCRIPTIONS = {
263
+ files: "Puts the files back to this point. The conversation stays as it is.",
264
+ conversation: "Rewinds the conversation to this point. Current code edits are kept.",
265
+ both: "Puts the files back and deletes all messages after this point."
266
+ };
267
+ /**
268
+ * The dock's own copy, including the two sentences that make it safe.
269
+ *
270
+ * `warning` is Roo's verbatim — *This action cannot be undone.* — and it is
271
+ * rendered in the UI rather than left to the documentation, because a control
272
+ * whose irreversibility is only written down is a control that surprises
273
+ * somebody. `question` is Cursor's verbatim — *Discard all changes up to this
274
+ * checkpoint?* — and it is the second step: {@link RevertDock} never calls
275
+ * `onRestore` from the control that names a scope, only from the one that
276
+ * answers this.
277
+ */
278
+ const REVERT_LABELS = {
279
+ /** Open the dock and show the scopes. */
280
+ expand: "Show restore options",
281
+ /** Fold it back to its summary line. */
282
+ collapse: "Hide restore options",
283
+ /** The confirm step's question. Cursor's, verbatim. */
284
+ question: "Discard all changes up to this checkpoint?",
285
+ /** The control that answers it and actually restores. */
286
+ confirm: "Discard and restore",
287
+ /** The control that backs out of the confirm step. */
288
+ cancel: "Keep everything",
289
+ /** The line the dock states while it is open. Roo's, verbatim. */
290
+ warning: "This action cannot be undone."
291
+ };
292
+ /**
293
+ * What occupies a context window, as opencode's context tab names it.
294
+ *
295
+ * Five categories — `context.breakdown.{system,user,assistant,tool,other}` —
296
+ * and they are the label set because they are the only *complete* one in the
297
+ * study: Cursor's tray categories are per-workspace and unnamed in the bundle,
298
+ * and Claude Code's modal builds its table from whatever the session happens to
299
+ * hold. These five partition a window with nothing left over, which is what a
300
+ * segmented bar needs.
301
+ *
302
+ * The table is the vocabulary, not a schema: {@link ContextUsage} takes
303
+ * `categories` as `{ label, tokens, tone }`, so a console that separates its
304
+ * file reads from its shell output writes its own labels and keeps these for
305
+ * the rest.
306
+ *
307
+ * @example
308
+ * const categories = [
309
+ * { label: CONTEXT_CATEGORY_LABELS.system, tokens: 11_800, tone: "stream" },
310
+ * { label: CONTEXT_CATEGORY_LABELS.tools, tokens: 38_400, tone: "warn" },
311
+ * ];
312
+ */
313
+ const CONTEXT_CATEGORY_LABELS = {
314
+ /** The system prompt, the tool schemas, the rules file. */
315
+ system: "System",
316
+ /** What the person typed. */
317
+ user: "User",
318
+ /** What the model wrote back. */
319
+ assistant: "Assistant",
320
+ /** Tool calls and everything they returned. */
321
+ tools: "Tool Calls",
322
+ /** Whatever the four above do not cover. */
323
+ other: "Other"
324
+ };
325
+ /**
326
+ * The stat rows under the bar, as opencode's `context.stats.*` names them.
327
+ *
328
+ * Eight of the sixteen keys in that namespace: the four token kinds a provider
329
+ * bills separately, the two totals, the limit, and the money. They are labels
330
+ * only — {@link ContextUsage} takes each stat's value pre-formatted, because
331
+ * the element that draws a window must not be the thing that decides how a
332
+ * currency rounds.
333
+ */
334
+ const CONTEXT_STAT_LABELS = {
335
+ /** Tokens sent. */
336
+ input: "Input tokens",
337
+ /** Tokens generated. */
338
+ output: "Output tokens",
339
+ /** Thinking tokens, where the provider bills them apart. */
340
+ reasoning: "Reasoning tokens",
341
+ /** Tokens served from the prompt cache. */
342
+ cache: "Cache tokens",
343
+ /** Input plus output, for a provider that reports one number. */
344
+ total: "Total tokens",
345
+ /** The window's size. */
346
+ limit: "Context limit",
347
+ /** What the session has cost so far. */
348
+ cost: "Total cost",
349
+ /** How many messages are in the window. */
350
+ messages: "Messages"
351
+ };
352
+ /**
353
+ * The context meter's own chrome: its title, its three column headings, and the
354
+ * two words it uses for what is left.
355
+ *
356
+ * The column headings are Claude Code's — its context modal is a table headed
357
+ * `Category / Tokens / Usage` — and `used` is Cursor's, whose tray labels
358
+ * itself `<n> context used`. `headroom` names the remainder segment Cursor
359
+ * draws as `__bar-remainder` and nobody labels.
360
+ */
361
+ const CONTEXT_LABELS = {
362
+ /** The meter's heading. */
363
+ title: "Context",
364
+ /** The breakdown's first column. */
365
+ category: "Category",
366
+ /** Its second: the token count. */
367
+ tokens: "Tokens",
368
+ /** Its third: the share of the window. */
369
+ usage: "Usage",
370
+ /** The row for what is still free. */
371
+ headroom: "Headroom",
372
+ /** The phrase after the percentage in the header. */
373
+ used: "context used"
374
+ };
375
+ /**
376
+ * The four rungs of agent authority, which is what a mode is actually saying.
377
+ *
378
+ * Claude Code's panel ships *six* modes and paints them in *four* colours:
379
+ * `default` is the brand orange, `acceptEdits` is the plain foreground, `plan`
380
+ * is blue, and `auto` and `bypassPermissions` are both the error red. Cursor
381
+ * ships nine mode names, opencode seven. So the mode *set* is open — every
382
+ * product names its own — and the thing that carries meaning is the ladder
383
+ * underneath it, which is four rungs everywhere and reads the same way in every
384
+ * product: will it ask me, is it writing, is it only thinking, are the
385
+ * guardrails off.
386
+ *
387
+ * These four are therefore what `data-agent-mode` carries and what
388
+ * `@cueplusplus/ui/elements.css` keys the mode quadruple on. A product with
389
+ * nine modes maps them onto four rungs in one table of its own and passes its
390
+ * own word as {@link AgentModeBadge}'s `label` — which is exactly what Claude
391
+ * Code's stylesheet does, one selector list at a time.
392
+ *
393
+ * The order is the ladder's: least authority first.
394
+ *
395
+ * @example
396
+ * // Nine product modes, four rungs, one table.
397
+ * const RUNG = { agent: "auto-edit", ask: "manual", plan: "plan", yolo: "unsafe" } as const;
398
+ * <AgentModeBadge mode={RUNG[mode]} label={mode} />
399
+ */
400
+ const AGENT_MODES = [
401
+ "manual",
402
+ "auto-edit",
403
+ "plan",
404
+ "unsafe"
405
+ ];
406
+ /**
407
+ * What each rung is called on the chip, as Claude Code's mode picker names it.
408
+ *
409
+ * Its six labels collapse onto these four the same way its colours do:
410
+ * `Manual`, `Edit automatically`, `Plan`, and `Bypass permissions` for the two
411
+ * that share the red. A console with its own words passes them as `label`.
412
+ */
413
+ const AGENT_MODE_LABELS = {
414
+ manual: "Manual",
415
+ "auto-edit": "Edit automatically",
416
+ plan: "Plan",
417
+ unsafe: "Bypass permissions"
418
+ };
419
+ /**
420
+ * What each rung actually means, in a sentence, for the chip's `title`.
421
+ *
422
+ * These are cue's words rather than the reference's: the six descriptions in
423
+ * the teardown all name a particular product's agent by name, and a design
424
+ * system that shipped them would be putting another company's voice in every
425
+ * console that installs it. The *distinctions* are theirs, and they are the
426
+ * point — the difference between `auto-edit` and `unsafe` is which of the two
427
+ * things the run stops asking about, and a mode picker that does not say so is
428
+ * a picker that gets `unsafe` chosen by accident.
429
+ */
430
+ const AGENT_MODE_DESCRIPTIONS = {
431
+ manual: "Asks before every edit and every command.",
432
+ "auto-edit": "Writes edits without asking. Commands and everything else still ask.",
433
+ plan: "Reads and plans. It changes nothing until you accept the plan.",
434
+ unsafe: "Runs everything without asking, including what cannot be undone."
435
+ };
436
+ /**
437
+ * How far an "always allow" reaches, in the four reaches the study found.
438
+ *
439
+ * Zed's `SandboxPermission` has four lifetimes (`AllowOnce`, `AllowThread`,
440
+ * `AllowAlways`, `Deny`) with a note that two of them share an ACP kind and are
441
+ * told apart only by id; Claude Code's scope cycler has five destinations, of
442
+ * which `CLI` is not a choice a person makes; Roo keeps allow/deny patterns per
443
+ * command and Cline a per-category bar. What survives all of them is these
444
+ * four, in this order: this run, this checkout, this checkout and everyone
445
+ * else's, every checkout.
446
+ *
447
+ * They are **labels, not a schema**. {@link PermissionScopes} takes its scopes
448
+ * as `{ id, label, writes }`, and `writes` — the file the grant is saved to —
449
+ * has no default here and never will: `.claude/settings.local.json` is one
450
+ * product's path, and a permission control that guessed where a grant is
451
+ * written would be committing the exact defect the control exists to prevent.
452
+ * A console passes its own sentence; these four supply the words in front of
453
+ * it.
454
+ *
455
+ * @example
456
+ * const SCOPES = [
457
+ * { id: "session", label: PERMISSION_SCOPE_LABELS.session, writes: "Not saved. Gone when this run ends." },
458
+ * { id: "project", label: PERMISSION_SCOPE_LABELS.project, writes: "Saves to .cue/settings.local.json (gitignored)" },
459
+ * ];
460
+ */
461
+ const PERMISSION_SCOPE_LABELS = {
462
+ /** Until the run ends, and no further. */
463
+ session: "this session",
464
+ /** This checkout, for the person sitting at it. */
465
+ project: "this project (just you)",
466
+ /** This checkout, committed, for whoever else works in it. */
467
+ team: "this project (shared)",
468
+ /** Everywhere this person works. */
469
+ everywhere: "all projects"
470
+ };
471
+ /**
472
+ * The permission card's own copy — everything on it except the sentence it
473
+ * writes for itself.
474
+ *
475
+ * `hint` is Claude Code's `keyboardHints` line, verbatim, because it documents
476
+ * a real binding this element ships: Escape denies, while focus is inside the
477
+ * card. A console whose card answers the key from anywhere is a console that
478
+ * routed it there itself, and the words on the line are the same either way.
479
+ * `change` is the accessible
480
+ * name of the control that cycles the destination, and it is phrased as a
481
+ * question about *where* rather than about scope, since "scope" is a word for
482
+ * the people who build these and not for the people who answer them.
483
+ */
484
+ const PERMISSION_LABELS = {
485
+ /** The first answer: yes, once, and ask me again next time. */
486
+ allowOnce: "Yes, this time",
487
+ /** The third answer. */
488
+ deny: "No, and stop",
489
+ /** The line under the answers. Claude Code's, verbatim. */
490
+ hint: "Esc to cancel",
491
+ /** The control that moves the grant to a different destination. */
492
+ change: "Change where this is saved",
493
+ /** The heading over the full rule list, drawn when the label cannot name them all. */
494
+ rules: "this allows",
495
+ /** What the always-allow answer says when there is no rule to name. */
496
+ fallback: "Yes, and don't ask again"
497
+ };
498
+ /**
499
+ * How dangerous the runtime says this call is — OpenHands' `SecurityRisk`, in
500
+ * its own four values.
501
+ *
502
+ * `unknown` is first and is not padding: it is the honest answer for a runtime
503
+ * that does not score its actions, and a badge that had to choose between
504
+ * `low` and rendering nothing would quietly downgrade every call in every
505
+ * product that has no scorer. Six of the seven projects in the study encode
506
+ * risk *implicitly*, through which approval bucket a tool falls into; this is
507
+ * the one that makes it a property of the action, which is what lets one
508
+ * element render it without a taxonomy of tools.
509
+ */
510
+ const SECURITY_RISKS = [
511
+ "unknown",
512
+ "low",
513
+ "medium",
514
+ "high"
515
+ ];
516
+ /**
517
+ * What each risk is called on the badge.
518
+ *
519
+ * The word `risk` is in all four, because the badge sits inline on a tool row
520
+ * beside a duration, a diff stat and a status — and `HIGH` on its own, next to
521
+ * `+48 −12`, is a number about something.
522
+ */
523
+ const RISK_LABELS = {
524
+ unknown: "Risk unknown",
525
+ low: "Low risk",
526
+ medium: "Medium risk",
527
+ high: "High risk"
528
+ };
529
+ /**
530
+ * The verdict row's chrome: what the scorer is called, and how its rating is
531
+ * read out.
532
+ *
533
+ * OpenHands calls the thing a *critic* and gates it on
534
+ * `verification.enable_iterative_refinement`. `Verification` is the neutral
535
+ * name for the same idea, and `rating` is a template rather than a string
536
+ * because the row's rating is drawn as five glyphs and a screen reader is owed
537
+ * the sentence they stand for.
538
+ */
539
+ const VERDICT_LABELS = {
540
+ /** The row's heading. */
541
+ title: "Verification",
542
+ /** The heading over the issue chips. */
543
+ issues: "Most likely problems",
544
+ /** The rating's accessible name. `{n}` is the score out of five. */
545
+ rating: "Rated {n} out of 5"
546
+ };
547
+ /**
548
+ * The two words on a reveal, which are the same two words everywhere.
549
+ *
550
+ * `Show more` and `Show less` are in Claude Code's shipped ARIA label list
551
+ * verbatim, and they are what Cursor, opencode and every catalogue in the study
552
+ * write too. A table rather than two defaults inside {@link Clamp} for the
553
+ * ordinary reason: a console in German should not have to fork a component to
554
+ * truncate a paragraph.
555
+ */
556
+ const CLAMP_LABELS = {
557
+ /** Opens the clamp. */
558
+ more: "Show more",
559
+ /** Closes it again, and is never dimmed. */
560
+ less: "Show less"
561
+ };
562
+ /**
563
+ * The nine transitions an agent surface announces, as templates.
564
+ *
565
+ * These are the nine Claude Code's panel feeds to its announcement queue, in
566
+ * cue's own words: the run starting and stopping, compaction, each of the three
567
+ * things it can stop and wait for, an error, a permission request naming its
568
+ * tool, and a finished answer. Codex's extension announces the same run of
569
+ * states from its own string table (`Response started`, `Response: {content}`,
570
+ * `Response complete`), which is what makes this a canon rather than one
571
+ * product's copy.
572
+ *
573
+ * `{tool}`, `{message}` and `{text}` are substituted by the caller, the way
574
+ * {@link VERDICT_LABELS}' `{n}` is — a table stays a table, and a table of
575
+ * functions is an API.
576
+ *
577
+ * The words are cue's rather than the reference's for the reason the mode
578
+ * descriptions are: the originals name a particular company's agent in every
579
+ * sentence, and a design system that shipped them would put another product's
580
+ * voice into every console that installs it. `answer` carries the model's own
581
+ * prose, which a console flattens out of markdown before it gets here —
582
+ * nothing in this package parses anything.
583
+ *
584
+ * @example
585
+ * import { ANNOUNCEMENTS, LiveRegionAnnouncer } from "@cueplusplus/ui/elements";
586
+ *
587
+ * const say = ANNOUNCEMENTS.permission.replace("{tool}", call.tool);
588
+ * setLog((was) => [...was, say]);
589
+ */
590
+ const ANNOUNCEMENTS = {
591
+ /** The run has started working. */
592
+ working: "The agent is working.",
593
+ /** It has stopped, and the composer is the next thing that matters. */
594
+ ready: "Ready for your input.",
595
+ /** The context is being compacted, which can take a while and looks like nothing. */
596
+ compacting: "Compacting the conversation.",
597
+ /** It is blocked on a decision of some kind. */
598
+ decision: "The agent is waiting for your decision.",
599
+ /** It asked a question rather than for a permission. */
600
+ question: "The agent is asking you a question.",
601
+ /** A plan is finished and wants review before anything is done to the files. */
602
+ plan: "The agent has finished a plan and is waiting for your review.",
603
+ /** A tool wants permission. `{tool}` is the tool's own name. */
604
+ permission: "The agent is requesting permission to use {tool}.",
605
+ /** Something failed. `{message}` is the error as the runtime reported it. */
606
+ error: "Error: {message}",
607
+ /** A turn finished. `{text}` is the answer, flattened to speech by the caller. */
608
+ answer: "The agent answered: {text}"
609
+ };
610
+ //#endregion
611
+ export { AGENT_MODES, AGENT_MODE_DESCRIPTIONS, AGENT_MODE_LABELS, ANNOUNCEMENTS, CLAMP_LABELS, COMPACTION_LABELS, COMPACTION_STATES, CONTEXT_CATEGORY_LABELS, CONTEXT_LABELS, CONTEXT_STAT_LABELS, PERMISSION_LABELS, PERMISSION_SCOPE_LABELS, QUEUE_LABELS, REVERT_LABELS, REVERT_SCOPES, REVERT_SCOPE_DESCRIPTIONS, REVERT_SCOPE_LABELS, RISK_LABELS, SECURITY_RISKS, TAIL_ACTIONS, TURN_ACTION_LABELS, VERB_TRIADS, VERDICT_LABELS, verbFor };
@@ -0,0 +1,49 @@
1
+ import { ComponentProps } from "react";
2
+ //#region src/elements/voice-conversation.d.ts
3
+ type VoiceMode = "connecting" | "listening" | "thinking" | "speaking";
4
+ /** One turn of a spoken conversation, as it was transcribed. */
5
+ interface VoiceTurn {
6
+ /** The row's key. */
7
+ id: string;
8
+ /** Who spoke — the caller or the assistant. */
9
+ role: "user" | "assistant";
10
+ /** What was heard, or what was said. */
11
+ text: string;
12
+ }
13
+ /**
14
+ * A live call: the orb tracks your voice, the caption names the turn, the transcript
15
+ * follows.
16
+ *
17
+ * @example
18
+ * import { VoiceConversation } from "@cueplusplus/ui/elements";
19
+ *
20
+ * <VoiceConversation
21
+ * mode="listening"
22
+ * amplitude={0.6}
23
+ * transcript={transcript}
24
+ * onToggleMute={toggleMute}
25
+ * onEnd={hangUp}
26
+ * />
27
+ */
28
+ declare function VoiceConversation({ mode, amplitude, transcript, muted, onToggleMute, onInterrupt, onEnd, className, ...props }: Omit<ComponentProps<"div">, "children" | "mode" | "amplitude" | "transcript" | "muted" | "onToggleMute" | "onInterrupt" | "onEnd"> & {
29
+ /** Drives the orb and the caption. Only listening and speaking react to amplitude. */
30
+ mode: VoiceMode;
31
+ /** Current level from 0 to 1, clamped internally. Feed it from the analyser node. */
32
+ amplitude: number;
33
+ /** Turns so far, oldest first. */
34
+ transcript: readonly VoiceTurn[];
35
+ /** Marks the mic control as engaged and swaps the hint. */
36
+ muted?: boolean;
37
+ /** Called when the mic is muted or unmuted. */
38
+ onToggleMute?: () => void;
39
+ /**
40
+ * Called when the orb is pressed while the assistant is speaking. The orb is inert
41
+ * in every other mode, so the caption only offers the interrupt when one is
42
+ * possible.
43
+ */
44
+ onInterrupt?: () => void;
45
+ /** Called when the call is ended. */
46
+ onEnd?: () => void;
47
+ }): import("react").JSX.Element;
48
+ //#endregion
49
+ export { VoiceConversation, VoiceMode, VoiceTurn };