@cueplusplus/ui 0.2.0 → 0.5.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.
- package/CHANGELOG.md +2250 -0
- package/dist/agent-runtime/_glyphs.js +43 -0
- package/dist/agent-runtime/branch-picker.d.ts +45 -0
- package/dist/agent-runtime/branch-picker.js +87 -0
- package/dist/agent-runtime/index.d.ts +4 -0
- package/dist/agent-runtime/index.js +4 -0
- package/dist/agent-runtime/tool-call-card.d.ts +69 -0
- package/dist/agent-runtime/tool-call-card.js +187 -0
- package/dist/agent-runtime/use-agent-thread.d.ts +164 -0
- package/dist/agent-runtime/use-agent-thread.js +251 -0
- package/dist/brand/_chassis.d.ts +1 -1
- package/dist/brand/cue-mark.d.ts +1 -1
- package/dist/brand/cue-mark.js +1 -1
- package/dist/chat/index.d.ts +2 -2
- package/dist/chat/message-list.d.ts +6 -0
- package/dist/chat/message-list.js +35 -0
- package/dist/chrome/_edge-scroller.js +12 -1
- package/dist/chrome/_tabs-scroll.d.ts +1 -1
- package/dist/chrome/_tabs-scroll.js +1 -1
- package/dist/chrome/app-shell.d.ts +52 -2
- package/dist/chrome/app-shell.js +80 -8
- package/dist/chrome/index.d.ts +2 -2
- package/dist/configurator/_export.js +3 -2
- package/dist/configurator/_overrides.d.ts +1 -1
- package/dist/configurator/_overrides.js +18 -6
- package/dist/configurator/token-editor.js +4 -1
- package/dist/date/_segments.js +37 -2
- package/dist/elements/activity-graph.d.ts +40 -0
- package/dist/elements/activity-graph.js +81 -0
- package/dist/elements/agent-card.d.ts +49 -0
- package/dist/elements/agent-card.js +91 -0
- package/dist/elements/agent-handoff.d.ts +24 -0
- package/dist/elements/agent-handoff.js +53 -0
- package/dist/elements/agent-mode-badge.d.ts +72 -0
- package/dist/elements/agent-mode-badge.js +110 -0
- package/dist/elements/agent-plan.d.ts +24 -0
- package/dist/elements/agent-plan.js +74 -0
- package/dist/elements/agent-status.d.ts +29 -0
- package/dist/elements/agent-status.js +46 -0
- package/dist/elements/agent-surface.d.ts +65 -0
- package/dist/elements/agent-surface.js +68 -0
- package/dist/elements/animated-number.d.ts +86 -0
- package/dist/elements/animated-number.js +118 -0
- package/dist/elements/approval-card.d.ts +40 -0
- package/dist/elements/approval-card.js +78 -0
- package/dist/elements/artifact-card.d.ts +30 -0
- package/dist/elements/artifact-card.js +58 -0
- package/dist/elements/background-inbox.d.ts +39 -0
- package/dist/elements/background-inbox.js +60 -0
- package/dist/elements/canvas-split.d.ts +77 -0
- package/dist/elements/canvas-split.js +138 -0
- package/dist/elements/chart.d.ts +41 -0
- package/dist/elements/chart.js +117 -0
- package/dist/elements/chat-panel.d.ts +46 -0
- package/dist/elements/chat-panel.js +104 -0
- package/dist/elements/checkpoint-history.d.ts +31 -0
- package/dist/elements/checkpoint-history.js +65 -0
- package/dist/elements/clamp.d.ts +90 -0
- package/dist/elements/clamp.js +109 -0
- package/dist/elements/code-diff.d.ts +42 -0
- package/dist/elements/code-diff.js +69 -0
- package/dist/elements/code-runner.d.ts +38 -0
- package/dist/elements/code-runner.js +84 -0
- package/dist/elements/command-palette.d.ts +48 -0
- package/dist/elements/command-palette.js +129 -0
- package/dist/elements/compaction-row.d.ts +63 -0
- package/dist/elements/compaction-row.js +110 -0
- package/dist/elements/comparison-card.d.ts +47 -0
- package/dist/elements/comparison-card.js +69 -0
- package/dist/elements/composer.d.ts +274 -0
- package/dist/elements/composer.js +505 -0
- package/dist/elements/computer-use.d.ts +40 -0
- package/dist/elements/computer-use.js +92 -0
- package/dist/elements/confidence-marker.d.ts +39 -0
- package/dist/elements/confidence-marker.js +64 -0
- package/dist/elements/connection-state.d.ts +29 -0
- package/dist/elements/connection-state.js +66 -0
- package/dist/elements/context-breakdown.d.ts +30 -0
- package/dist/elements/context-breakdown.js +86 -0
- package/dist/elements/context-usage.d.ts +99 -0
- package/dist/elements/context-usage.js +225 -0
- package/dist/elements/conversation-search.d.ts +48 -0
- package/dist/elements/conversation-search.js +88 -0
- package/dist/elements/cost-meter.d.ts +33 -0
- package/dist/elements/cost-meter.js +75 -0
- package/dist/elements/data-table.d.ts +31 -0
- package/dist/elements/data-table.js +67 -0
- package/dist/elements/day-separator.d.ts +34 -0
- package/dist/elements/day-separator.js +50 -0
- package/dist/elements/diagram.d.ts +34 -0
- package/dist/elements/diagram.js +75 -0
- package/dist/elements/document-reference.d.ts +37 -0
- package/dist/elements/document-reference.js +66 -0
- package/dist/elements/draft-restore.d.ts +27 -0
- package/dist/elements/draft-restore.js +54 -0
- package/dist/elements/edit-message.d.ts +36 -0
- package/dist/elements/edit-message.js +77 -0
- package/dist/elements/elements.css +459 -0
- package/dist/elements/elicitation-form.d.ts +48 -0
- package/dist/elements/elicitation-form.js +106 -0
- package/dist/elements/empty-state.d.ts +52 -0
- package/dist/elements/empty-state.js +98 -0
- package/dist/elements/end-of-turn-summary.d.ts +60 -0
- package/dist/elements/end-of-turn-summary.js +75 -0
- package/dist/elements/error-state.d.ts +29 -0
- package/dist/elements/error-state.js +55 -0
- package/dist/elements/feedback-dialog.d.ts +36 -0
- package/dist/elements/feedback-dialog.js +81 -0
- package/dist/elements/file-tree.d.ts +45 -0
- package/dist/elements/file-tree.js +84 -0
- package/dist/elements/flow-graph.d.ts +45 -0
- package/dist/elements/flow-graph.js +78 -0
- package/dist/elements/generative/chart.js +200 -0
- package/dist/elements/generative/faults.js +111 -0
- package/dist/elements/generative/icons.d.ts +41 -0
- package/dist/elements/generative/icons.js +190 -0
- package/dist/elements/generative/intrinsics.js +483 -0
- package/dist/elements/generative/spec.d.ts +110 -0
- package/dist/elements/generative/spec.js +366 -0
- package/dist/elements/generative.css +1145 -0
- package/dist/elements/generative.d.ts +144 -0
- package/dist/elements/generative.js +126 -0
- package/dist/elements/guardrail-notice.d.ts +29 -0
- package/dist/elements/guardrail-notice.js +63 -0
- package/dist/elements/image-generation.d.ts +18 -0
- package/dist/elements/image-generation.js +64 -0
- package/dist/elements/index.d.ts +116 -0
- package/dist/elements/index.js +115 -0
- package/dist/elements/inline-citation.d.ts +43 -0
- package/dist/elements/inline-citation.js +93 -0
- package/dist/elements/job-progress.d.ts +49 -0
- package/dist/elements/job-progress.js +74 -0
- package/dist/elements/launcher-bubble.d.ts +34 -0
- package/dist/elements/launcher-bubble.js +72 -0
- package/dist/elements/live-region-announcer.d.ts +130 -0
- package/dist/elements/live-region-announcer.js +230 -0
- package/dist/elements/loading-state.d.ts +27 -0
- package/dist/elements/loading-state.js +36 -0
- package/dist/elements/map-answer.d.ts +38 -0
- package/dist/elements/map-answer.js +93 -0
- package/dist/elements/markdown.d.ts +131 -0
- package/dist/elements/markdown.js +528 -0
- package/dist/elements/math-block.d.ts +51 -0
- package/dist/elements/math-block.js +70 -0
- package/dist/elements/mcp-server-panel.d.ts +41 -0
- package/dist/elements/mcp-server-panel.js +115 -0
- package/dist/elements/memory-chips.d.ts +30 -0
- package/dist/elements/memory-chips.js +43 -0
- package/dist/elements/message-actions.d.ts +38 -0
- package/dist/elements/message-actions.js +71 -0
- package/dist/elements/message-attachment.d.ts +48 -0
- package/dist/elements/message-attachment.js +63 -0
- package/dist/elements/message-branches.d.ts +25 -0
- package/dist/elements/message-branches.js +65 -0
- package/dist/elements/message-pair.d.ts +33 -0
- package/dist/elements/message-pair.js +65 -0
- package/dist/elements/message-queue.d.ts +31 -0
- package/dist/elements/message-queue.js +80 -0
- package/dist/elements/message-timing.d.ts +33 -0
- package/dist/elements/message-timing.js +37 -0
- package/dist/elements/mobile-composer.d.ts +44 -0
- package/dist/elements/mobile-composer.js +88 -0
- package/dist/elements/model-picker.d.ts +38 -0
- package/dist/elements/model-picker.js +69 -0
- package/dist/elements/number-ticker.d.ts +18 -0
- package/dist/elements/number-ticker.js +47 -0
- package/dist/elements/onboarding.d.ts +30 -0
- package/dist/elements/onboarding.js +75 -0
- package/dist/elements/permission-grant.d.ts +35 -0
- package/dist/elements/permission-grant.js +86 -0
- package/dist/elements/permission-scopes.d.ts +215 -0
- package/dist/elements/permission-scopes.js +249 -0
- package/dist/elements/prompt-library.d.ts +43 -0
- package/dist/elements/prompt-library.js +117 -0
- package/dist/elements/queue-dock.d.ts +101 -0
- package/dist/elements/queue-dock.js +132 -0
- package/dist/elements/quota-banner.d.ts +26 -0
- package/dist/elements/quota-banner.js +66 -0
- package/dist/elements/quote-reply.d.ts +44 -0
- package/dist/elements/quote-reply.js +79 -0
- package/dist/elements/range.d.ts +29 -0
- package/dist/elements/range.js +45 -0
- package/dist/elements/read-aloud.d.ts +45 -0
- package/dist/elements/read-aloud.js +75 -0
- package/dist/elements/reasoning-effort.d.ts +36 -0
- package/dist/elements/reasoning-effort.js +67 -0
- package/dist/elements/reasoning-panel.d.ts +46 -0
- package/dist/elements/reasoning-panel.js +75 -0
- package/dist/elements/recommendation-card.d.ts +45 -0
- package/dist/elements/recommendation-card.js +83 -0
- package/dist/elements/regenerate-menu.d.ts +45 -0
- package/dist/elements/regenerate-menu.js +51 -0
- package/dist/elements/replay.d.ts +217 -0
- package/dist/elements/replay.js +498 -0
- package/dist/elements/research-report.d.ts +38 -0
- package/dist/elements/research-report.js +69 -0
- package/dist/elements/retrieval-chunks.d.ts +43 -0
- package/dist/elements/retrieval-chunks.js +81 -0
- package/dist/elements/revert-dock.d.ts +159 -0
- package/dist/elements/revert-dock.js +327 -0
- package/dist/elements/reviewable-diff.d.ts +45 -0
- package/dist/elements/reviewable-diff.js +110 -0
- package/dist/elements/risk-badge.d.ts +52 -0
- package/dist/elements/risk-badge.js +91 -0
- package/dist/elements/schedule-card.d.ts +42 -0
- package/dist/elements/schedule-card.js +90 -0
- package/dist/elements/score-breakdown.d.ts +47 -0
- package/dist/elements/score-breakdown.js +82 -0
- package/dist/elements/scroll-anchor.d.ts +32 -0
- package/dist/elements/scroll-anchor.js +121 -0
- package/dist/elements/settings-panel.d.ts +52 -0
- package/dist/elements/settings-panel.js +107 -0
- package/dist/elements/shared-conversation.d.ts +39 -0
- package/dist/elements/shared-conversation.js +68 -0
- package/dist/elements/sources.d.ts +33 -0
- package/dist/elements/sources.js +61 -0
- package/dist/elements/speaker-identity.d.ts +32 -0
- package/dist/elements/speaker-identity.js +51 -0
- package/dist/elements/spec-sheet.d.ts +31 -0
- package/dist/elements/spec-sheet.js +45 -0
- package/dist/elements/stopped-run.d.ts +22 -0
- package/dist/elements/stopped-run.js +50 -0
- package/dist/elements/streaming-text.d.ts +31 -0
- package/dist/elements/streaming-text.js +45 -0
- package/dist/elements/subagent-list.d.ts +37 -0
- package/dist/elements/subagent-list.js +79 -0
- package/dist/elements/suggestions.d.ts +30 -0
- package/dist/elements/suggestions.js +36 -0
- package/dist/elements/surfaces.d.ts +85 -0
- package/dist/elements/surfaces.js +107 -0
- package/dist/elements/tail-status.d.ts +131 -0
- package/dist/elements/tail-status.js +94 -0
- package/dist/elements/terminal-block.d.ts +29 -0
- package/dist/elements/terminal-block.js +54 -0
- package/dist/elements/thinking-indicator.d.ts +18 -0
- package/dist/elements/thinking-indicator.js +36 -0
- package/dist/elements/thread-list.d.ts +35 -0
- package/dist/elements/thread-list.js +68 -0
- package/dist/elements/thread-search.d.ts +42 -0
- package/dist/elements/thread-search.js +99 -0
- package/dist/elements/timeline.d.ts +37 -0
- package/dist/elements/timeline.js +46 -0
- package/dist/elements/todo-list.d.ts +42 -0
- package/dist/elements/todo-list.js +59 -0
- package/dist/elements/tool-call.d.ts +41 -0
- package/dist/elements/tool-call.js +85 -0
- package/dist/elements/tool-error.d.ts +39 -0
- package/dist/elements/tool-error.js +76 -0
- package/dist/elements/tool-group.d.ts +45 -0
- package/dist/elements/tool-group.js +71 -0
- package/dist/elements/tool-timeline.d.ts +65 -0
- package/dist/elements/tool-timeline.js +88 -0
- package/dist/elements/trace-waterfall.d.ts +37 -0
- package/dist/elements/trace-waterfall.js +69 -0
- package/dist/elements/transcript-rules.d.ts +67 -0
- package/dist/elements/transcript-rules.js +95 -0
- package/dist/elements/turn-footer.d.ts +74 -0
- package/dist/elements/turn-footer.js +101 -0
- package/dist/elements/typing-indicator.d.ts +16 -0
- package/dist/elements/typing-indicator.js +51 -0
- package/dist/elements/verdict-row.d.ts +89 -0
- package/dist/elements/verdict-row.js +150 -0
- package/dist/elements/vocabulary.d.ts +612 -0
- package/dist/elements/vocabulary.js +611 -0
- package/dist/elements/voice-conversation.d.ts +49 -0
- package/dist/elements/voice-conversation.js +123 -0
- package/dist/elements/web-preview.d.ts +32 -0
- package/dist/elements/web-preview.js +66 -0
- package/dist/elements/web-search.d.ts +37 -0
- package/dist/elements/web-search.js +66 -0
- package/dist/elements/work-collapse.d.ts +103 -0
- package/dist/elements/work-collapse.js +131 -0
- package/dist/icons/containers.d.ts +89 -0
- package/dist/icons/containers.js +295 -0
- package/dist/icons/index.d.ts +2 -0
- package/dist/index.d.ts +9 -7
- package/dist/index.js +3 -2
- package/dist/instruments/index.d.ts +2 -2
- package/dist/instruments/index.js +2 -2
- package/dist/instruments/table.d.ts +14 -1
- package/dist/instruments/table.js +20 -1
- package/dist/instruments/two-step-button.js +25 -6
- package/dist/layout/sidebar.d.ts +19 -1
- package/dist/layout/sidebar.js +19 -1
- package/dist/primitives/button.js +11 -1
- package/dist/primitives/chip.d.ts +34 -8
- package/dist/primitives/chip.js +97 -11
- package/dist/styles.css +11 -1
- package/dist/system/agent-skin.d.ts +27 -0
- package/dist/system/agent-skin.js +20 -0
- package/dist/system/index.d.ts +3 -3
- package/dist/system/portal.d.ts +5 -3
- package/dist/system/portal.js +36 -8
- package/dist/system/prepaint.d.ts +20 -2
- package/dist/system/prepaint.js +39 -33
- package/dist/system/theme-provider.d.ts +13 -2
- package/dist/system/theme-provider.js +107 -26
- package/dist/system/use-density.d.ts +9 -0
- package/dist/system/use-density.js +9 -0
- package/dist/system/use-isomorphic-layout-effect.js +19 -1
- package/dist/theming/_presets.d.ts +1 -1
- package/dist/theming/_presets.js +124 -8
- package/dist/theming/contrast.d.ts +16 -4
- package/dist/theming/contrast.js +33 -6
- package/dist/theming/create-theme.d.ts +8 -4
- package/dist/theming/create-theme.js +56 -20
- package/dist/theming/serialize.d.ts +11 -2
- package/dist/theming/serialize.js +87 -9
- package/manifest/components/accordion.json +154 -0
- package/manifest/components/activity-graph.json +88 -0
- package/manifest/components/agent-card.json +120 -0
- package/manifest/components/agent-handoff.json +87 -0
- package/manifest/components/agent-mode-badge.json +84 -0
- package/manifest/components/agent-pile.json +116 -0
- package/manifest/components/agent-plan.json +67 -0
- package/manifest/components/agent-status.json +73 -0
- package/manifest/components/agent-surface.json +78 -0
- package/manifest/components/alert-dialog.json +190 -0
- package/manifest/components/animated-number.json +67 -0
- package/manifest/components/app-bar.json +244 -0
- package/manifest/components/app-shell.json +383 -0
- package/manifest/components/app-window-frame.json +102 -0
- package/manifest/components/approval-card.json +106 -0
- package/manifest/components/artifact-card.json +81 -0
- package/manifest/components/ask-box.json +209 -0
- package/manifest/components/audience-icon.json +52 -0
- package/manifest/components/autocomplete.json +197 -0
- package/manifest/components/avatar-group.json +72 -0
- package/manifest/components/avatar.json +95 -0
- package/manifest/components/background-inbox.json +71 -0
- package/manifest/components/branch-picker.json +124 -0
- package/manifest/components/breadcrumb.json +74 -0
- package/manifest/components/button-group.json +74 -0
- package/manifest/components/button.json +126 -0
- package/manifest/components/calendar.json +65 -0
- package/manifest/components/canvas-split-body.json +62 -0
- package/manifest/components/canvas-split-document.json +54 -0
- package/manifest/components/canvas-split-header.json +83 -0
- package/manifest/components/canvas-split-line.json +62 -0
- package/manifest/components/canvas-split-message.json +62 -0
- package/manifest/components/canvas-split-thread.json +54 -0
- package/manifest/components/canvas-split.json +60 -0
- package/manifest/components/card.json +140 -0
- package/manifest/components/carousel.json +200 -0
- package/manifest/components/catalogue-icon.json +52 -0
- package/manifest/components/channel-beta-icon.json +52 -0
- package/manifest/components/channel-matrix.json +173 -0
- package/manifest/components/channel-released-icon.json +52 -0
- package/manifest/components/chart-container.json +111 -0
- package/manifest/components/chart-ramp.json +72 -0
- package/manifest/components/chart-swatch.json +65 -0
- package/manifest/components/chart-tooltip-content.json +114 -0
- package/manifest/components/chart.json +93 -0
- package/manifest/components/chat-empty-state.json +55 -0
- package/manifest/components/chat-panel-assistant-message.json +51 -0
- package/manifest/components/chat-panel-composer.json +66 -0
- package/manifest/components/chat-panel-messages.json +51 -0
- package/manifest/components/chat-panel-typing.json +51 -0
- package/manifest/components/chat-panel-user-message.json +51 -0
- package/manifest/components/chat-panel.json +57 -0
- package/manifest/components/checkbox-group.json +68 -0
- package/manifest/components/checkbox.json +93 -0
- package/manifest/components/checkpoint-history.json +80 -0
- package/manifest/components/chip.json +144 -0
- package/manifest/components/clamp.json +102 -0
- package/manifest/components/cli-tool-icon.json +52 -0
- package/manifest/components/code-diff.json +87 -0
- package/manifest/components/code-runner.json +97 -0
- package/manifest/components/collapsible.json +120 -0
- package/manifest/components/color-area.json +59 -0
- package/manifest/components/color-field.json +79 -0
- package/manifest/components/color-picker.json +175 -0
- package/manifest/components/color-slider.json +75 -0
- package/manifest/components/color-swatch.json +68 -0
- package/manifest/components/colors-section.json +66 -0
- package/manifest/components/combobox.json +198 -0
- package/manifest/components/command-palette.json +177 -0
- package/manifest/components/compaction-row.json +100 -0
- package/manifest/components/comparison-card.json +83 -0
- package/manifest/components/composer-actions.json +65 -0
- package/manifest/components/composer-attach-button.json +65 -0
- package/manifest/components/composer-attachment-chip.json +75 -0
- package/manifest/components/composer-attachments.json +60 -0
- package/manifest/components/composer-bar.json +73 -0
- package/manifest/components/composer-command-item.json +79 -0
- package/manifest/components/composer-context.json +67 -0
- package/manifest/components/composer-input.json +73 -0
- package/manifest/components/composer-menu-item.json +72 -0
- package/manifest/components/composer-menu.json +79 -0
- package/manifest/components/composer-model-item.json +75 -0
- package/manifest/components/composer-model-trigger.json +75 -0
- package/manifest/components/composer-person-item.json +79 -0
- package/manifest/components/composer-send.json +80 -0
- package/manifest/components/composer-toolbar.json +65 -0
- package/manifest/components/composer-voice-button.json +68 -0
- package/manifest/components/composer-voice.json +75 -0
- package/manifest/components/composer.json +176 -0
- package/manifest/components/computer-use.json +84 -0
- package/manifest/components/confidence-marker.json +74 -0
- package/manifest/components/connection-state.json +84 -0
- package/manifest/components/container.json +60 -0
- package/manifest/components/context-breakdown.json +65 -0
- package/manifest/components/context-menu.json +121 -0
- package/manifest/components/context-usage.json +85 -0
- package/manifest/components/conversation-search.json +92 -0
- package/manifest/components/copy-button.json +93 -0
- package/manifest/components/cost-meter.json +74 -0
- package/manifest/components/cue-logotype.json +96 -0
- package/manifest/components/cue-mark.json +97 -0
- package/manifest/components/cue-portal-frame.json +55 -0
- package/manifest/components/data-table-pagination.json +83 -0
- package/manifest/components/data-table-toolbar.json +104 -0
- package/manifest/components/date-field.json +80 -0
- package/manifest/components/date-picker.json +191 -0
- package/manifest/components/date-range-picker.json +191 -0
- package/manifest/components/day-separator.json +58 -0
- package/manifest/components/delegation-card.json +144 -0
- package/manifest/components/density.json +58 -0
- package/manifest/components/description-list.json +84 -0
- package/manifest/components/diagram.json +100 -0
- package/manifest/components/dialog.json +198 -0
- package/manifest/components/disclosure.json +109 -0
- package/manifest/components/dmx-bar.json +94 -0
- package/manifest/components/dmx-strip.json +101 -0
- package/manifest/components/document-reference.json +90 -0
- package/manifest/components/draft-restore.json +82 -0
- package/manifest/components/drawer.json +179 -0
- package/manifest/components/dropdown-menu.json +229 -0
- package/manifest/components/edit-message.json +105 -0
- package/manifest/components/elements-command-palette.json +100 -0
- package/manifest/components/elements-composer.json +71 -0
- package/manifest/components/elements-data-table.json +68 -0
- package/manifest/components/elements-timeline.json +69 -0
- package/manifest/components/elicitation-form.json +103 -0
- package/manifest/components/empty-state-composer.json +64 -0
- package/manifest/components/empty-state-greeting.json +49 -0
- package/manifest/components/empty-state-suggestion.json +57 -0
- package/manifest/components/empty-state-suggestions.json +49 -0
- package/manifest/components/empty-state.json +90 -0
- package/manifest/components/end-of-turn-summary.json +77 -0
- package/manifest/components/env-var-input.json +150 -0
- package/manifest/components/error-state.json +80 -0
- package/manifest/components/export-dialog.json +84 -0
- package/manifest/components/eyebrow.json +56 -0
- package/manifest/components/feedback-dialog.json +107 -0
- package/manifest/components/field-description.json +63 -0
- package/manifest/components/field-error.json +77 -0
- package/manifest/components/field-label.json +63 -0
- package/manifest/components/field.json +79 -0
- package/manifest/components/file-tree.json +83 -0
- package/manifest/components/file-upload.json +159 -0
- package/manifest/components/flow-background.json +50 -0
- package/manifest/components/flow-controls.json +50 -0
- package/manifest/components/flow-graph.json +75 -0
- package/manifest/components/folder-icon.json +52 -0
- package/manifest/components/footer.json +112 -0
- package/manifest/components/frac.json +59 -0
- package/manifest/components/generation-loader.json +64 -0
- package/manifest/components/generative-ui.json +93 -0
- package/manifest/components/grid.json +81 -0
- package/manifest/components/group-bar.json +102 -0
- package/manifest/components/guardrail-notice.json +91 -0
- package/manifest/components/hover-card.json +151 -0
- package/manifest/components/icon-button.json +88 -0
- package/manifest/components/image-generation.json +67 -0
- package/manifest/components/info-tip.json +98 -0
- package/manifest/components/inline-citation.json +77 -0
- package/manifest/components/input-group.json +91 -0
- package/manifest/components/input.json +89 -0
- package/manifest/components/item.json +129 -0
- package/manifest/components/job-progress.json +96 -0
- package/manifest/components/kbd.json +52 -0
- package/manifest/components/launcher-bubble.json +105 -0
- package/manifest/components/link.json +81 -0
- package/manifest/components/live-region-announcer.json +79 -0
- package/manifest/components/log-viewer.json +139 -0
- package/manifest/components/map-answer.json +83 -0
- package/manifest/components/markdown-text.json +94 -0
- package/manifest/components/math-block.json +74 -0
- package/manifest/components/mcp-server-icon.json +52 -0
- package/manifest/components/mcp-server-panel.json +87 -0
- package/manifest/components/memory-chips.json +65 -0
- package/manifest/components/menubar.json +157 -0
- package/manifest/components/message-actions.json +99 -0
- package/manifest/components/message-attachments.json +63 -0
- package/manifest/components/message-branches.json +71 -0
- package/manifest/components/message-list.json +100 -0
- package/manifest/components/message-pair.json +86 -0
- package/manifest/components/message-queue.json +74 -0
- package/manifest/components/message-timing.json +62 -0
- package/manifest/components/message.json +116 -0
- package/manifest/components/meter.json +114 -0
- package/manifest/components/mobile-composer.json +126 -0
- package/manifest/components/model-picker.json +76 -0
- package/manifest/components/multi-select.json +190 -0
- package/manifest/components/musical-time-input.json +113 -0
- package/manifest/components/navigation-menu.json +226 -0
- package/manifest/components/node-card.json +109 -0
- package/manifest/components/node-handle.json +69 -0
- package/manifest/components/number-field.json +107 -0
- package/manifest/components/number-ticker.json +61 -0
- package/manifest/components/onboarding.json +84 -0
- package/manifest/components/otp-field.json +128 -0
- package/manifest/components/page-shell.json +96 -0
- package/manifest/components/pagination.json +92 -0
- package/manifest/components/panel-header.json +77 -0
- package/manifest/components/panel.json +71 -0
- package/manifest/components/password-input.json +119 -0
- package/manifest/components/permission-grant.json +92 -0
- package/manifest/components/permission-scopes.json +139 -0
- package/manifest/components/piano-keyboard.json +120 -0
- package/manifest/components/plussie.json +111 -0
- package/manifest/components/popover.json +193 -0
- package/manifest/components/preset-section.json +73 -0
- package/manifest/components/progress.json +95 -0
- package/manifest/components/prompt-library.json +99 -0
- package/manifest/components/queue-dock.json +110 -0
- package/manifest/components/quota-banner.json +94 -0
- package/manifest/components/quote-reply.json +105 -0
- package/manifest/components/radio-group.json +73 -0
- package/manifest/components/radio.json +80 -0
- package/manifest/components/rating.json +141 -0
- package/manifest/components/read-aloud.json +111 -0
- package/manifest/components/reasoning-effort.json +81 -0
- package/manifest/components/reasoning-panel.json +108 -0
- package/manifest/components/recommendation-card.json +107 -0
- package/manifest/components/regenerate-menu.json +89 -0
- package/manifest/components/replay-player.json +102 -0
- package/manifest/components/research-report.json +76 -0
- package/manifest/components/resizable.json +88 -0
- package/manifest/components/retrieval-chunks.json +84 -0
- package/manifest/components/revert-dock.json +150 -0
- package/manifest/components/reviewable-diff.json +93 -0
- package/manifest/components/risk-badge.json +74 -0
- package/manifest/components/row.json +109 -0
- package/manifest/components/schedule-card.json +101 -0
- package/manifest/components/score-breakdown.json +91 -0
- package/manifest/components/scroll-anchor.json +72 -0
- package/manifest/components/scroll-area.json +91 -0
- package/manifest/components/scrollable-tabs-list.json +83 -0
- package/manifest/components/scrub-input.json +200 -0
- package/manifest/components/seam-cell.json +75 -0
- package/manifest/components/seam-grid.json +75 -0
- package/manifest/components/seam-list.json +56 -0
- package/manifest/components/search-input.json +134 -0
- package/manifest/components/section-header.json +112 -0
- package/manifest/components/segmented-control.json +138 -0
- package/manifest/components/select.json +194 -0
- package/manifest/components/separator.json +53 -0
- package/manifest/components/settings-panel.json +118 -0
- package/manifest/components/shape-section.json +66 -0
- package/manifest/components/shared-conversation.json +89 -0
- package/manifest/components/sheet.json +186 -0
- package/manifest/components/shimmer-label.json +59 -0
- package/manifest/components/sidebar.json +198 -0
- package/manifest/components/signal-edge.json +56 -0
- package/manifest/components/skeleton.json +46 -0
- package/manifest/components/skill-icon.json +52 -0
- package/manifest/components/slider.json +89 -0
- package/manifest/components/sources.json +83 -0
- package/manifest/components/sparkline.json +76 -0
- package/manifest/components/speaker-identity.json +61 -0
- package/manifest/components/spec-sheet.json +80 -0
- package/manifest/components/spectrum-visualizer.json +115 -0
- package/manifest/components/spinner.json +61 -0
- package/manifest/components/stack-icon.json +52 -0
- package/manifest/components/stack.json +96 -0
- package/manifest/components/stacks-matrix-icon.json +52 -0
- package/manifest/components/stat.json +87 -0
- package/manifest/components/status-bar.json +58 -0
- package/manifest/components/status-dot.json +78 -0
- package/manifest/components/stepper.json +89 -0
- package/manifest/components/stopped-run.json +81 -0
- package/manifest/components/streaming-text.json +71 -0
- package/manifest/components/sub.json +44 -0
- package/manifest/components/subagent-list.json +88 -0
- package/manifest/components/suggestions.json +84 -0
- package/manifest/components/sup.json +44 -0
- package/manifest/components/swap-label.json +71 -0
- package/manifest/components/switch.json +87 -0
- package/manifest/components/table-scroll-region.json +69 -0
- package/manifest/components/table.json +155 -0
- package/manifest/components/tabs.json +145 -0
- package/manifest/components/tags-input.json +190 -0
- package/manifest/components/tail-status.json +109 -0
- package/manifest/components/terminal-block.json +91 -0
- package/manifest/components/terminal-frame.json +119 -0
- package/manifest/components/textarea.json +76 -0
- package/manifest/components/theme-configurator.json +124 -0
- package/manifest/components/theme-provider.json +134 -0
- package/manifest/components/thinking-indicator.json +63 -0
- package/manifest/components/thread-list.json +76 -0
- package/manifest/components/thread-search.json +90 -0
- package/manifest/components/threshold-rail.json +160 -0
- package/manifest/components/time-boundary.json +62 -0
- package/manifest/components/time-field.json +80 -0
- package/manifest/components/timeline-ruler.json +139 -0
- package/manifest/components/timeline.json +115 -0
- package/manifest/components/title-bar.json +82 -0
- package/manifest/components/toast.json +130 -0
- package/manifest/components/todo-list.json +69 -0
- package/manifest/components/toggle-group.json +106 -0
- package/manifest/components/toggle.json +109 -0
- package/manifest/components/token-editor.json +90 -0
- package/manifest/components/tool-call-card.json +200 -0
- package/manifest/components/tool-call.json +119 -0
- package/manifest/components/tool-error.json +114 -0
- package/manifest/components/tool-group.json +83 -0
- package/manifest/components/tool-timeline.json +119 -0
- package/manifest/components/toolbar.json +163 -0
- package/manifest/components/tooltip.json +164 -0
- package/manifest/components/trace-waterfall.json +74 -0
- package/manifest/components/tree-visibility-toggle.json +84 -0
- package/manifest/components/tree.json +140 -0
- package/manifest/components/turn-footer.json +105 -0
- package/manifest/components/two-step-button.json +113 -0
- package/manifest/components/typing-indicator.json +53 -0
- package/manifest/components/universe-grid.json +127 -0
- package/manifest/components/unread-divider.json +55 -0
- package/manifest/components/usage-chart.json +124 -0
- package/manifest/components/verdict-row.json +91 -0
- package/manifest/components/voice-conversation.json +109 -0
- package/manifest/components/web-preview.json +87 -0
- package/manifest/components/web-search.json +92 -0
- package/manifest/components/work-collapse.json +102 -0
- package/manifest/manifest.json +4779 -0
- package/manifest/tokens.json +159 -0
- package/package.json +54 -5
|
@@ -0,0 +1,120 @@
|
|
|
1
|
+
{
|
|
2
|
+
"name": "AgentCard",
|
|
3
|
+
"slug": "agent-card",
|
|
4
|
+
"group": "elements",
|
|
5
|
+
"importPath": "@cueplusplus/ui/elements",
|
|
6
|
+
"peerDependencies": [
|
|
7
|
+
"lucide-react"
|
|
8
|
+
],
|
|
9
|
+
"clientOnly": true,
|
|
10
|
+
"description": "Who you are about to talk to: its skills, its model, and the endpoint behind it.",
|
|
11
|
+
"props": [
|
|
12
|
+
{
|
|
13
|
+
"name": "name",
|
|
14
|
+
"type": "string",
|
|
15
|
+
"required": true,
|
|
16
|
+
"defaultValue": null,
|
|
17
|
+
"description": "Display name of the agent."
|
|
18
|
+
},
|
|
19
|
+
{
|
|
20
|
+
"name": "description",
|
|
21
|
+
"type": "string",
|
|
22
|
+
"required": true,
|
|
23
|
+
"defaultValue": null,
|
|
24
|
+
"description": "What it does, in one or two sentences."
|
|
25
|
+
},
|
|
26
|
+
{
|
|
27
|
+
"name": "provider",
|
|
28
|
+
"type": "string",
|
|
29
|
+
"required": true,
|
|
30
|
+
"defaultValue": null,
|
|
31
|
+
"description": "Who publishes it."
|
|
32
|
+
},
|
|
33
|
+
{
|
|
34
|
+
"name": "version",
|
|
35
|
+
"type": "string",
|
|
36
|
+
"required": true,
|
|
37
|
+
"defaultValue": null,
|
|
38
|
+
"description": "Card version, printed next to the name."
|
|
39
|
+
},
|
|
40
|
+
{
|
|
41
|
+
"name": "model",
|
|
42
|
+
"type": "string",
|
|
43
|
+
"required": true,
|
|
44
|
+
"defaultValue": null,
|
|
45
|
+
"description": "Model the agent runs on."
|
|
46
|
+
},
|
|
47
|
+
{
|
|
48
|
+
"name": "endpoint",
|
|
49
|
+
"type": "string",
|
|
50
|
+
"required": true,
|
|
51
|
+
"defaultValue": null,
|
|
52
|
+
"description": "Where it is reached. Truncates rather than wraps."
|
|
53
|
+
},
|
|
54
|
+
{
|
|
55
|
+
"name": "skills",
|
|
56
|
+
"type": "readonly AgentSkill[]",
|
|
57
|
+
"required": true,
|
|
58
|
+
"defaultValue": null,
|
|
59
|
+
"description": "Named capabilities the card advertises."
|
|
60
|
+
},
|
|
61
|
+
{
|
|
62
|
+
"name": "connected",
|
|
63
|
+
"type": "boolean",
|
|
64
|
+
"required": true,
|
|
65
|
+
"defaultValue": null,
|
|
66
|
+
"description": "Swaps the action for a settled Connected state and disables it."
|
|
67
|
+
},
|
|
68
|
+
{
|
|
69
|
+
"name": "onConnect",
|
|
70
|
+
"type": "(() => void)",
|
|
71
|
+
"required": false,
|
|
72
|
+
"defaultValue": null,
|
|
73
|
+
"description": "Called when the agent is added."
|
|
74
|
+
}
|
|
75
|
+
],
|
|
76
|
+
"typeReferences": [
|
|
77
|
+
"Omit<\n ComponentProps<\"div\">,\n | \"children\"\n | \"name\"\n | \"description\"\n | \"provider\"\n | \"version\"\n | \"model\"\n | \"endpoint\"\n | \"skills\"\n | \"connected\"\n | \"onConnect\"\n> & {\n /** Display name of the agent. */\n name: string;\n /** What it does, in one or two sentences. */\n description: string;\n /** Who publishes it. */\n provider: string;\n /** Card version, printed next to the name. */\n version: string;\n /** Model the agent runs on. */\n model: string;\n /** Where it is reached. Truncates rather than wraps. */\n endpoint: string;\n /** Named capabilities the card advertises. */\n skills: readonly AgentSkill[];\n /** Swaps the action for a settled Connected state and disables it. */\n connected: boolean;\n /** Called when the agent is added. */\n onConnect?: () => void;\n}"
|
|
78
|
+
],
|
|
79
|
+
"subcomponents": [],
|
|
80
|
+
"parts": [],
|
|
81
|
+
"variants": {},
|
|
82
|
+
"defaultVariants": {},
|
|
83
|
+
"tokensUsed": [
|
|
84
|
+
"--cue-border",
|
|
85
|
+
"--cue-fg-muted",
|
|
86
|
+
"--cue-fg-subtle",
|
|
87
|
+
"--cue-ok",
|
|
88
|
+
"--cue-radius-control",
|
|
89
|
+
"--cue-radius-overlay",
|
|
90
|
+
"--cue-radius-surface",
|
|
91
|
+
"--cue-surface-1",
|
|
92
|
+
"--cue-text-body",
|
|
93
|
+
"--cue-text-ui"
|
|
94
|
+
],
|
|
95
|
+
"summary": "Who you are about to talk to: its skills, its model, and the endpoint behind it.",
|
|
96
|
+
"examples": [
|
|
97
|
+
{
|
|
98
|
+
"title": "Usage",
|
|
99
|
+
"code": "import { AgentCard } from \"@cueplusplus/ui/elements\";\n\n<AgentCard\n name=\"Maintainer\"\n description=\"Reproduces the report, writes the fix, opens the PR.\"\n provider=\"assistant-ui\"\n version=\"1.4.0\"\n model=\"opus\"\n endpoint=\"https://agents.example.com/a2a\"\n skills={skills}\n connected={false}\n onConnect={connect}\n/>",
|
|
100
|
+
"language": "tsx"
|
|
101
|
+
}
|
|
102
|
+
],
|
|
103
|
+
"status": "todo-docs",
|
|
104
|
+
"url": "/docs/components/agent-card",
|
|
105
|
+
"mdUrl": "/docs/components/agent-card.md",
|
|
106
|
+
"jsonUrl": "/r/components/agent-card.json",
|
|
107
|
+
"specimens": [
|
|
108
|
+
{
|
|
109
|
+
"title": "AgentCard",
|
|
110
|
+
"group": "elements-agents",
|
|
111
|
+
"components": [
|
|
112
|
+
"AgentCard"
|
|
113
|
+
],
|
|
114
|
+
"code": "<Specimens>\n <Specimen label=\"not connected\">\n <AgentCard\n name=\"Patch\"\n description=\"Assigns fixtures to universes and addresses, then redraws the plot to match. It will not touch a live desk.\"\n provider=\"cue++ internal\"\n version=\"2.4\"\n model=\"Opus 5\"\n endpoint=\"agents.cue.internal/patch\"\n skills={SKILLS}\n connected={connected}\n onConnect={() => setConnected(true)}\n />\n </Specimen>\n <Specimen label=\"connected\">\n <AgentCard\n name=\"Patch\"\n description=\"Assigns fixtures to universes and addresses, then redraws the plot to match.\"\n provider=\"cue++ internal\"\n version=\"2.4\"\n model=\"Opus 5\"\n endpoint=\"agents.cue.internal/patch\"\n skills={SKILLS.slice(0, 2)}\n connected\n />\n </Specimen>\n</Specimens>",
|
|
115
|
+
"note": "Who you are about to talk to, before you talk to it: the name and who publishes it, one paragraph on what it is for, the skills it advertises, and — in mono along the bottom — the model and the endpoint actually behind it. Those last two are the line that separates a card from a marketing tile.",
|
|
116
|
+
"interaction": "the action is the only control. Connected disables it and swaps the ink button for a settled field row with a tick, rather than greying out a button that still looks pressable."
|
|
117
|
+
}
|
|
118
|
+
],
|
|
119
|
+
"todo": true
|
|
120
|
+
}
|
|
@@ -0,0 +1,87 @@
|
|
|
1
|
+
{
|
|
2
|
+
"name": "AgentHandoff",
|
|
3
|
+
"slug": "agent-handoff",
|
|
4
|
+
"group": "elements",
|
|
5
|
+
"importPath": "@cueplusplus/ui/elements",
|
|
6
|
+
"peerDependencies": [
|
|
7
|
+
"lucide-react"
|
|
8
|
+
],
|
|
9
|
+
"clientOnly": true,
|
|
10
|
+
"description": "Control passing between agents, with the reason and what came along.",
|
|
11
|
+
"props": [
|
|
12
|
+
{
|
|
13
|
+
"name": "from",
|
|
14
|
+
"type": "string",
|
|
15
|
+
"required": true,
|
|
16
|
+
"defaultValue": null,
|
|
17
|
+
"description": "Agent giving up control."
|
|
18
|
+
},
|
|
19
|
+
{
|
|
20
|
+
"name": "to",
|
|
21
|
+
"type": "string",
|
|
22
|
+
"required": true,
|
|
23
|
+
"defaultValue": null,
|
|
24
|
+
"description": "Agent taking it."
|
|
25
|
+
},
|
|
26
|
+
{
|
|
27
|
+
"name": "reason",
|
|
28
|
+
"type": "string",
|
|
29
|
+
"required": true,
|
|
30
|
+
"defaultValue": null,
|
|
31
|
+
"description": "Why the baton moved. Without it a handoff reads as an unexplained jump."
|
|
32
|
+
},
|
|
33
|
+
{
|
|
34
|
+
"name": "carried",
|
|
35
|
+
"type": "readonly string[]",
|
|
36
|
+
"required": true,
|
|
37
|
+
"defaultValue": null,
|
|
38
|
+
"description": "Context that travelled across. Pass an empty array to hide the section."
|
|
39
|
+
},
|
|
40
|
+
{
|
|
41
|
+
"name": "settled",
|
|
42
|
+
"type": "boolean",
|
|
43
|
+
"required": true,
|
|
44
|
+
"defaultValue": null,
|
|
45
|
+
"description": "Cools the arrow and the receiving badge once the new agent is underway."
|
|
46
|
+
}
|
|
47
|
+
],
|
|
48
|
+
"typeReferences": [
|
|
49
|
+
"Omit<\n ComponentProps<\"div\">,\n \"children\" | \"from\" | \"to\" | \"reason\" | \"carried\" | \"settled\"\n> & {\n /** Agent giving up control. */\n from: string;\n /** Agent taking it. */\n to: string;\n /** Why the baton moved. Without it a handoff reads as an unexplained jump. */\n reason: string;\n /** Context that travelled across. Pass an empty array to hide the section. */\n carried: readonly string[];\n /** Cools the arrow and the receiving badge once the new agent is underway. */\n settled: boolean;\n}"
|
|
50
|
+
],
|
|
51
|
+
"subcomponents": [],
|
|
52
|
+
"parts": [],
|
|
53
|
+
"variants": {},
|
|
54
|
+
"defaultVariants": {},
|
|
55
|
+
"tokensUsed": [
|
|
56
|
+
"--cue-border",
|
|
57
|
+
"--cue-fg-muted",
|
|
58
|
+
"--cue-fg-subtle",
|
|
59
|
+
"--cue-stream",
|
|
60
|
+
"--cue-text-ui"
|
|
61
|
+
],
|
|
62
|
+
"summary": "Control passing between agents, with the reason and what came along.",
|
|
63
|
+
"examples": [
|
|
64
|
+
{
|
|
65
|
+
"title": "Usage",
|
|
66
|
+
"code": "import { AgentHandoff } from \"@cueplusplus/ui/elements\";\n\n<AgentHandoff from=\"Triage\" to=\"Maintainer\" reason={reason} carried={carried} settled />",
|
|
67
|
+
"language": "tsx"
|
|
68
|
+
}
|
|
69
|
+
],
|
|
70
|
+
"status": "todo-docs",
|
|
71
|
+
"url": "/docs/components/agent-handoff",
|
|
72
|
+
"mdUrl": "/docs/components/agent-handoff.md",
|
|
73
|
+
"jsonUrl": "/r/components/agent-handoff.json",
|
|
74
|
+
"specimens": [
|
|
75
|
+
{
|
|
76
|
+
"title": "AgentHandoff",
|
|
77
|
+
"group": "elements-agents",
|
|
78
|
+
"components": [
|
|
79
|
+
"AgentHandoff"
|
|
80
|
+
],
|
|
81
|
+
"code": "<Specimens>\n <Specimen label=\"live\" wide>\n <AgentHandoff\n from=\"Patch\"\n to=\"Plot\"\n reason=\"Addresses are assigned; redrawing the hanging plot needs the drawing agent.\"\n carried={[\n \"Universe 3, channels 1–48\",\n \"Six ESPRITEs on 3.2 m centres\",\n \"Front truss at 8.4 m trim\",\n ]}\n settled={false}\n />\n </Specimen>\n <Specimen label=\"settled, nothing carried\" wide>\n <AgentHandoff\n from=\"Plot\"\n to=\"Check\"\n reason=\"Plot is redrawn. The walk-the-rig pass starts from the file, not from this thread.\"\n carried={[]}\n settled\n />\n </Specimen>\n</Specimens>",
|
|
82
|
+
"note": "The baton moving, with the reason attached. Two badges and an arrow: while the handoff is live the receiving agent and the arrow take the streaming hue, and `settled` cools both once the new agent is actually underway. What travelled across is listed under it against a rule — a handoff with no carried context is a handoff you cannot audit.",
|
|
83
|
+
"interaction": "none. It is a record of something that happened, not a control; the only thing that moves is the colour, over half a second."
|
|
84
|
+
}
|
|
85
|
+
],
|
|
86
|
+
"todo": true
|
|
87
|
+
}
|
|
@@ -0,0 +1,84 @@
|
|
|
1
|
+
{
|
|
2
|
+
"name": "AgentModeBadge",
|
|
3
|
+
"slug": "agent-mode-badge",
|
|
4
|
+
"group": "elements",
|
|
5
|
+
"importPath": "@cueplusplus/ui/elements",
|
|
6
|
+
"peerDependencies": [
|
|
7
|
+
"lucide-react"
|
|
8
|
+
],
|
|
9
|
+
"clientOnly": true,
|
|
10
|
+
"description": "What the run is allowed to do, said in one chip and one attribute.\n\nAgent authority is the fact a person most needs from the corner of their eye\nand the one every catalogue leaves to prose. This is the readout: a glyph, a\nword, and `data-agent-mode` on the element. The attribute is the part that\ntravels — `@cueplusplus/ui/elements.css` declares four custom properties\nunder it, so putting the same attribute on a composer tints its focus ring,\nits send button and its rail from one place, and a console adds a\nmode-aware surface by reading a property rather than by threading a prop:\n\n```css\n.composer:focus-within { border-color: var(--cue-elements-mode-icon); }\n.send-button { background: var(--cue-elements-mode-icon); color: var(--cue-elements-mode-background); }\n.turn-rail { background: var(--cue-elements-mode-border); }\n```\n\nThe ladder is four rungs and the mode set is open. Every product in the study\npaints six, seven or nine modes in exactly four accents — will it ask me, is\nit writing, is it only planning, are the guardrails off — so the rung is what\n`mode` carries and the product's own word is what `label` carries.\n\nThe properties resolve against the *element that carries the attribute*, not\nagainst the page: a badge inside an `<AgentSurface skin=\"aui\">` takes the\nisland's palette, because the quadruple is declared on `[data-agent-mode]`\nrather than at `:root` where a `var()` would have been substituted before it\never reached the island.",
|
|
11
|
+
"props": [
|
|
12
|
+
{
|
|
13
|
+
"name": "mode",
|
|
14
|
+
"type": "\"manual\" | \"auto-edit\" | \"plan\" | \"unsafe\"",
|
|
15
|
+
"required": true,
|
|
16
|
+
"defaultValue": null,
|
|
17
|
+
"description": "How much authority the run is holding: `manual`, `auto-edit`, `plan` or\n`unsafe`. Stamped as `data-agent-mode`, which is what the quadruple in\n`@cueplusplus/ui/elements.css` is keyed on."
|
|
18
|
+
},
|
|
19
|
+
{
|
|
20
|
+
"name": "label",
|
|
21
|
+
"type": "string",
|
|
22
|
+
"required": false,
|
|
23
|
+
"defaultValue": null,
|
|
24
|
+
"description": "The product's own word for it — `Agent`, `Build`, `YOLO`, `Bypass\npermissions`. Defaults to `AGENT_MODE_LABELS[mode]`, and it is the reason\na nine-mode product needs no more than these four rungs."
|
|
25
|
+
},
|
|
26
|
+
{
|
|
27
|
+
"name": "description",
|
|
28
|
+
"type": "string",
|
|
29
|
+
"required": false,
|
|
30
|
+
"defaultValue": null,
|
|
31
|
+
"description": "What the mode actually does, as the badge's `title`. Defaults to\n`AGENT_MODE_DESCRIPTIONS[mode]`. Pass `\"\"` for no tooltip at all."
|
|
32
|
+
},
|
|
33
|
+
{
|
|
34
|
+
"name": "render",
|
|
35
|
+
"type": "RenderProp<Record<string, unknown>>",
|
|
36
|
+
"required": false,
|
|
37
|
+
"defaultValue": null,
|
|
38
|
+
"description": "Replace the rendered element (Base UI render prop) — `render={<button\ntype=\"button\" onClick={cycle} />}` for a picker that cycles, which is what\nevery product with more than two modes ships."
|
|
39
|
+
}
|
|
40
|
+
],
|
|
41
|
+
"typeReferences": [
|
|
42
|
+
"Omit<React.ComponentPropsWithoutRef<\"span\">, \"children\">"
|
|
43
|
+
],
|
|
44
|
+
"subcomponents": [],
|
|
45
|
+
"parts": [],
|
|
46
|
+
"variants": {},
|
|
47
|
+
"defaultVariants": {},
|
|
48
|
+
"tokensUsed": [
|
|
49
|
+
"--cue-border",
|
|
50
|
+
"--cue-elements-mode-background",
|
|
51
|
+
"--cue-elements-mode-border",
|
|
52
|
+
"--cue-elements-mode-icon",
|
|
53
|
+
"--cue-elements-mode-text",
|
|
54
|
+
"--cue-fg-muted",
|
|
55
|
+
"--cue-fg-subtle",
|
|
56
|
+
"--cue-surface-2",
|
|
57
|
+
"--cue-text-ui"
|
|
58
|
+
],
|
|
59
|
+
"summary": "What the run is allowed to do, said in one chip and one attribute.",
|
|
60
|
+
"examples": [
|
|
61
|
+
{
|
|
62
|
+
"title": "Usage",
|
|
63
|
+
"code": "import { AgentModeBadge } from \"@cueplusplus/ui/elements\";\n\n<AgentModeBadge mode=\"plan\" />\n// A product's own word on cue's rung, and a chip that cycles.\n<AgentModeBadge\n mode=\"unsafe\"\n label=\"YOLO\"\n render={<button type=\"button\" onClick={cycle} />}\n/>",
|
|
64
|
+
"language": "tsx"
|
|
65
|
+
}
|
|
66
|
+
],
|
|
67
|
+
"status": "todo-docs",
|
|
68
|
+
"url": "/docs/components/agent-mode-badge",
|
|
69
|
+
"mdUrl": "/docs/components/agent-mode-badge.md",
|
|
70
|
+
"jsonUrl": "/r/components/agent-mode-badge.json",
|
|
71
|
+
"specimens": [
|
|
72
|
+
{
|
|
73
|
+
"title": "AgentModeBadge",
|
|
74
|
+
"group": "elements",
|
|
75
|
+
"components": [
|
|
76
|
+
"AgentModeBadge"
|
|
77
|
+
],
|
|
78
|
+
"code": "<Specimens>\n <Specimen label=\"the four rungs\">\n <span className=\"flex flex-wrap items-center gap-(--cue-space-2)\">\n {AGENT_MODES.map((rung) => (\n <AgentModeBadge key={rung} mode={rung} />\n ))}\n </span>\n </Specimen>\n <Specimen label={`one attribute, four surfaces · ${AGENT_MODE_LABELS[mode]}`} wide>\n <div\n data-agent-mode={mode}\n className=\"flex w-full max-w-md items-center gap-(--cue-space-3) rounded-(--radius-surface) border bg-surface-1 p-(--cue-space-3)\"\n style={{ borderColor: \"var(--cue-elements-mode-border)\" }}\n >\n <span\n aria-hidden\n className=\"h-9 w-0.5 shrink-0 rounded-full\"\n style={{ background: \"var(--cue-elements-mode-icon)\" }}\n />\n <span className=\"flex min-w-0 flex-1 flex-col gap-(--cue-space-1)\">\n <AgentModeBadge\n mode={mode}\n className=\"self-start\"\n render={\n <button\n type=\"button\"\n onClick={() =>\n setMode(\n AGENT_MODES[\n (AGENT_MODES.indexOf(mode) + 1) % AGENT_MODES.length\n ] as AgentMode,\n )\n }\n />\n }\n />\n <span className=\"text-fg-muted truncate text-(length:--cue-text-ui)\">\n Patch the front truss and write cue 1\n </span>\n </span>\n <button\n type=\"button\"\n className=\"shrink-0 rounded-full px-(--cue-space-3) py-(--cue-space-1) text-(length:--cue-text-label) font-medium\"\n style={{\n background: \"var(--cue-elements-mode-icon)\",\n color: \"var(--cue-bg)\",\n }}\n >\n Send\n </button>\n </div>\n </Specimen>\n</Specimens>",
|
|
79
|
+
"note": "How much authority the run is holding, which is the fact a person most needs from the corner of their eye and the one every catalogue leaves to prose. The ladder is four rungs — will it ask me, is it writing, is it only planning, are the guardrails off — because that is how many accents every product in the study paints, whatever it calls its six or seven or nine modes. The chip is the readout; `data-agent-mode` is the part that travels.",
|
|
80
|
+
"interaction": "press the chip to cycle the rung. The second specimen is the whole point: one attribute on the box, and the rail, the border and the send button all re-derive from `var(--cue-elements-mode-icon)` with no prop threading and no branch in any component. Colour is never alone — each rung has its own glyph and its own word, so the ladder survives a monochrome screenshot."
|
|
81
|
+
}
|
|
82
|
+
],
|
|
83
|
+
"todo": true
|
|
84
|
+
}
|
|
@@ -0,0 +1,116 @@
|
|
|
1
|
+
{
|
|
2
|
+
"name": "AgentPile",
|
|
3
|
+
"slug": "agent-pile",
|
|
4
|
+
"group": "chat",
|
|
5
|
+
"importPath": "@cueplusplus/ui",
|
|
6
|
+
"peerDependencies": [],
|
|
7
|
+
"clientOnly": true,
|
|
8
|
+
"description": "The roster of agents working on a thread, stacked into one object.\n\nThree states ride on each avatar, and none of them is colour-only: the\norchestrator wears a crown, a working agent gets a spinning arc, and an agent\nwaiting on the user gets a `?` badge — each of them also spelled into the\navatar's accessible name, so a screen reader hears \"Researcher · working\"\nrather than nothing at all.\n\nAvatars are outlined in the agent's colour rather than filled with it. A fill\nwould put arbitrary-hue ink on an arbitrary-hue ground at 20px; the outline\ntreatment is the same tinted-chip recipe the rest of the system uses and\nstays legible on every theme.",
|
|
9
|
+
"props": [
|
|
10
|
+
{
|
|
11
|
+
"name": "agents",
|
|
12
|
+
"type": "readonly AgentPileEntry[]",
|
|
13
|
+
"required": true,
|
|
14
|
+
"defaultValue": null,
|
|
15
|
+
"description": "The roster, in the order it should read. Renders nothing when empty."
|
|
16
|
+
},
|
|
17
|
+
{
|
|
18
|
+
"name": "root",
|
|
19
|
+
"type": "string",
|
|
20
|
+
"required": false,
|
|
21
|
+
"defaultValue": null,
|
|
22
|
+
"description": "Slug of the orchestrator: takes the theme accent and wears the crown."
|
|
23
|
+
},
|
|
24
|
+
{
|
|
25
|
+
"name": "selected",
|
|
26
|
+
"type": "string",
|
|
27
|
+
"required": false,
|
|
28
|
+
"defaultValue": null,
|
|
29
|
+
"description": "Slug of the lane currently open — that avatar gets a ring."
|
|
30
|
+
},
|
|
31
|
+
{
|
|
32
|
+
"name": "onSelect",
|
|
33
|
+
"type": "((slug: string) => void)",
|
|
34
|
+
"required": false,
|
|
35
|
+
"defaultValue": null,
|
|
36
|
+
"description": "Called with a slug when an avatar is pressed. Omit for a read-only pile."
|
|
37
|
+
},
|
|
38
|
+
{
|
|
39
|
+
"name": "max",
|
|
40
|
+
"type": "number",
|
|
41
|
+
"required": false,
|
|
42
|
+
"defaultValue": null,
|
|
43
|
+
"description": "Show at most this many; the rest collapse into a `+N` chip."
|
|
44
|
+
},
|
|
45
|
+
{
|
|
46
|
+
"name": "fanned",
|
|
47
|
+
"type": "boolean",
|
|
48
|
+
"required": false,
|
|
49
|
+
"defaultValue": null,
|
|
50
|
+
"description": "Force the fan open or shut. Omit to let hover and focus decide."
|
|
51
|
+
},
|
|
52
|
+
{
|
|
53
|
+
"name": "size",
|
|
54
|
+
"type": "\"sm\" | \"md\" | \"lg\"",
|
|
55
|
+
"required": false,
|
|
56
|
+
"defaultValue": "md",
|
|
57
|
+
"description": "Rung of the control ladder. Defaults to `\"md\"`."
|
|
58
|
+
},
|
|
59
|
+
{
|
|
60
|
+
"name": "aria-label",
|
|
61
|
+
"type": "string",
|
|
62
|
+
"required": false,
|
|
63
|
+
"defaultValue": null,
|
|
64
|
+
"description": "Accessible name for the group. Required in practice — name the roster."
|
|
65
|
+
}
|
|
66
|
+
],
|
|
67
|
+
"typeReferences": [
|
|
68
|
+
"Omit<React.ComponentPropsWithoutRef<\"div\">, \"onSelect\">"
|
|
69
|
+
],
|
|
70
|
+
"subcomponents": [],
|
|
71
|
+
"parts": [],
|
|
72
|
+
"variants": {},
|
|
73
|
+
"defaultVariants": {},
|
|
74
|
+
"tokensUsed": [
|
|
75
|
+
"--cue-accent",
|
|
76
|
+
"--cue-accent-fg",
|
|
77
|
+
"--cue-bg",
|
|
78
|
+
"--cue-border",
|
|
79
|
+
"--cue-control-lg",
|
|
80
|
+
"--cue-control-md",
|
|
81
|
+
"--cue-control-sm",
|
|
82
|
+
"--cue-fg-muted",
|
|
83
|
+
"--cue-font-mono",
|
|
84
|
+
"--cue-icon-sm",
|
|
85
|
+
"--cue-surface-2",
|
|
86
|
+
"--cue-surface-3",
|
|
87
|
+
"--cue-text-label",
|
|
88
|
+
"--cue-text-micro",
|
|
89
|
+
"--cue-text-ui"
|
|
90
|
+
],
|
|
91
|
+
"summary": "The roster of agents working on a thread, stacked into one object.",
|
|
92
|
+
"examples": [
|
|
93
|
+
{
|
|
94
|
+
"title": "Usage",
|
|
95
|
+
"code": "<AgentPile aria-label=\"Agents\" agents={roster} root=\"chief\" onSelect={openLane} />\n<AgentPile aria-label=\"Agents\" agents={roster} max={5} fanned />",
|
|
96
|
+
"language": "tsx"
|
|
97
|
+
}
|
|
98
|
+
],
|
|
99
|
+
"status": "todo-docs",
|
|
100
|
+
"url": "/docs/components/agent-pile",
|
|
101
|
+
"mdUrl": "/docs/components/agent-pile.md",
|
|
102
|
+
"jsonUrl": "/r/components/agent-pile.json",
|
|
103
|
+
"specimens": [
|
|
104
|
+
{
|
|
105
|
+
"title": "AgentPile",
|
|
106
|
+
"group": "chat",
|
|
107
|
+
"components": [
|
|
108
|
+
"AgentPile"
|
|
109
|
+
],
|
|
110
|
+
"code": "<Specimens>\n {([\"sm\", \"md\", \"lg\"] as const).map((size) => (\n <Specimen key={size} label={size}>\n <AgentPile agents={AGENTS} root=\"orchestrator\" size={size} />\n </Specimen>\n ))}\n <Specimen label=\"max 4\">\n <AgentPile agents={AGENTS} root=\"orchestrator\" max={4} />\n </Specimen>\n <Specimen label=\"not fanned\">\n <AgentPile agents={AGENTS} root=\"orchestrator\" fanned={false} />\n </Specimen>\n <Specimen label=\"selected\">\n <AgentPile agents={AGENTS} root=\"orchestrator\" selected=\"patcher\" />\n </Specimen>\n</Specimens>",
|
|
111
|
+
"note": "Faces at −12px overlap, fanning to +4px on hover. The crown marks the orchestrator, an arc marks work in flight and a `?` marks an agent waiting on an answer.",
|
|
112
|
+
"interaction": "every face is a button with the agent's name; the pile is one tab stop and arrow keys move inside it."
|
|
113
|
+
}
|
|
114
|
+
],
|
|
115
|
+
"todo": true
|
|
116
|
+
}
|
|
@@ -0,0 +1,67 @@
|
|
|
1
|
+
{
|
|
2
|
+
"name": "AgentPlan",
|
|
3
|
+
"slug": "agent-plan",
|
|
4
|
+
"group": "elements",
|
|
5
|
+
"importPath": "@cueplusplus/ui/elements",
|
|
6
|
+
"peerDependencies": [
|
|
7
|
+
"lucide-react"
|
|
8
|
+
],
|
|
9
|
+
"clientOnly": true,
|
|
10
|
+
"description": "A checklist the agent works through, with progress you can glance.",
|
|
11
|
+
"props": [
|
|
12
|
+
{
|
|
13
|
+
"name": "steps",
|
|
14
|
+
"type": "readonly string[]",
|
|
15
|
+
"required": true,
|
|
16
|
+
"defaultValue": null,
|
|
17
|
+
"description": "Checklist items the agent works through in order."
|
|
18
|
+
},
|
|
19
|
+
{
|
|
20
|
+
"name": "activeIndex",
|
|
21
|
+
"type": "number",
|
|
22
|
+
"required": true,
|
|
23
|
+
"defaultValue": null,
|
|
24
|
+
"description": "Index of the step currently running. Values past the end mark every step done, and\nvalues before the start mark none."
|
|
25
|
+
}
|
|
26
|
+
],
|
|
27
|
+
"typeReferences": [
|
|
28
|
+
"Omit<ComponentProps<\"div\">, \"children\" | \"steps\" | \"activeIndex\"> & {\n /** Checklist items the agent works through in order. */\n steps: readonly string[];\n /**\n * Index of the step currently running. Values past the end mark every step done, and\n * values before the start mark none.\n */\n activeIndex: number;\n}"
|
|
29
|
+
],
|
|
30
|
+
"subcomponents": [],
|
|
31
|
+
"parts": [],
|
|
32
|
+
"variants": {},
|
|
33
|
+
"defaultVariants": {},
|
|
34
|
+
"tokensUsed": [
|
|
35
|
+
"--cue-accent",
|
|
36
|
+
"--cue-fg",
|
|
37
|
+
"--cue-fg-subtle",
|
|
38
|
+
"--cue-surface-2",
|
|
39
|
+
"--cue-surface-3",
|
|
40
|
+
"--cue-text-body"
|
|
41
|
+
],
|
|
42
|
+
"summary": "A checklist the agent works through, with progress you can glance.",
|
|
43
|
+
"examples": [
|
|
44
|
+
{
|
|
45
|
+
"title": "Usage",
|
|
46
|
+
"code": "import { AgentPlan } from \"@cueplusplus/ui/elements\";\n\n<AgentPlan\n steps={[\"Read the file\", \"Draft the fix\", \"Run tests\"]}\n activeIndex={1}\n/>",
|
|
47
|
+
"language": "tsx"
|
|
48
|
+
}
|
|
49
|
+
],
|
|
50
|
+
"status": "todo-docs",
|
|
51
|
+
"url": "/docs/components/agent-plan",
|
|
52
|
+
"mdUrl": "/docs/components/agent-plan.md",
|
|
53
|
+
"jsonUrl": "/r/components/agent-plan.json",
|
|
54
|
+
"specimens": [
|
|
55
|
+
{
|
|
56
|
+
"title": "AgentPlan",
|
|
57
|
+
"group": "elements",
|
|
58
|
+
"components": [
|
|
59
|
+
"AgentPlan"
|
|
60
|
+
],
|
|
61
|
+
"code": "<Specimens>\n <Specimen label=\"step 1\" wide>\n <AgentPlan steps={PLAN} activeIndex={0} />\n </Specimen>\n <Specimen label=\"step 3\" wide>\n <AgentPlan steps={PLAN} activeIndex={2} />\n </Specimen>\n <Specimen label=\"finished\" wide>\n <AgentPlan steps={PLAN} activeIndex={PLAN.length} />\n </Specimen>\n</Specimens>",
|
|
62
|
+
"note": "The checklist the agent published before it started, with one index driving the whole thing: steps before it are done, the step at it is running, steps after it are waiting. An index past the end marks every step done.",
|
|
63
|
+
"interaction": "none. A plan is a readout; the agent moves it, not the reader."
|
|
64
|
+
}
|
|
65
|
+
],
|
|
66
|
+
"todo": true
|
|
67
|
+
}
|
|
@@ -0,0 +1,73 @@
|
|
|
1
|
+
{
|
|
2
|
+
"name": "AgentStatus",
|
|
3
|
+
"slug": "agent-status",
|
|
4
|
+
"group": "elements",
|
|
5
|
+
"importPath": "@cueplusplus/ui/elements",
|
|
6
|
+
"peerDependencies": [
|
|
7
|
+
"lucide-react"
|
|
8
|
+
],
|
|
9
|
+
"clientOnly": true,
|
|
10
|
+
"description": "One pill that always answers: what is it doing, and for how long.",
|
|
11
|
+
"props": [
|
|
12
|
+
{
|
|
13
|
+
"name": "state",
|
|
14
|
+
"type": "\"done\" | \"working\" | \"waiting\"",
|
|
15
|
+
"required": true,
|
|
16
|
+
"defaultValue": null,
|
|
17
|
+
"description": "Visual mode of the pill: working, waiting, or done with a check."
|
|
18
|
+
},
|
|
19
|
+
{
|
|
20
|
+
"name": "label",
|
|
21
|
+
"type": "string",
|
|
22
|
+
"required": true,
|
|
23
|
+
"defaultValue": null,
|
|
24
|
+
"description": "Short status line describing what the agent is doing."
|
|
25
|
+
},
|
|
26
|
+
{
|
|
27
|
+
"name": "elapsed",
|
|
28
|
+
"type": "string",
|
|
29
|
+
"required": false,
|
|
30
|
+
"defaultValue": null,
|
|
31
|
+
"description": "Elapsed time shown in mono when provided."
|
|
32
|
+
}
|
|
33
|
+
],
|
|
34
|
+
"typeReferences": [
|
|
35
|
+
"Omit<ComponentProps<\"div\">, \"children\" | \"state\" | \"label\" | \"elapsed\"> & {\n /** Visual mode of the pill: working, waiting, or done with a check. */\n state: AgentState;\n /** Short status line describing what the agent is doing. */\n label: string;\n /** Elapsed time shown in mono when provided. */\n elapsed?: string;\n}"
|
|
36
|
+
],
|
|
37
|
+
"subcomponents": [],
|
|
38
|
+
"parts": [],
|
|
39
|
+
"variants": {},
|
|
40
|
+
"defaultVariants": {},
|
|
41
|
+
"tokensUsed": [
|
|
42
|
+
"--cue-fg-subtle",
|
|
43
|
+
"--cue-ok",
|
|
44
|
+
"--cue-stream",
|
|
45
|
+
"--cue-surface-3",
|
|
46
|
+
"--cue-text-ui"
|
|
47
|
+
],
|
|
48
|
+
"summary": "One pill that always answers: what is it doing, and for how long.",
|
|
49
|
+
"examples": [
|
|
50
|
+
{
|
|
51
|
+
"title": "Usage",
|
|
52
|
+
"code": "import { AgentStatus } from \"@cueplusplus/ui/elements\";\n\n<AgentStatus state=\"working\" label=\"Editing composer.tsx\" elapsed=\"8s\" />",
|
|
53
|
+
"language": "tsx"
|
|
54
|
+
}
|
|
55
|
+
],
|
|
56
|
+
"status": "todo-docs",
|
|
57
|
+
"url": "/docs/components/agent-status",
|
|
58
|
+
"mdUrl": "/docs/components/agent-status.md",
|
|
59
|
+
"jsonUrl": "/r/components/agent-status.json",
|
|
60
|
+
"specimens": [
|
|
61
|
+
{
|
|
62
|
+
"title": "AgentStatus",
|
|
63
|
+
"group": "elements",
|
|
64
|
+
"components": [
|
|
65
|
+
"AgentStatus"
|
|
66
|
+
],
|
|
67
|
+
"code": "<Specimens>\n {PILLS.map((pill) => (\n <Specimen key={pill.state} label={pill.state}>\n <AgentStatus state={pill.state} label={pill.label} elapsed={pill.elapsed} />\n </Specimen>\n ))}\n</Specimens>",
|
|
68
|
+
"note": "One pill that always answers the two questions a run raises: what is it doing, and for how long. Working shimmers, waiting is still and marked, done carries a check and the elapsed total.",
|
|
69
|
+
"interaction": "the trailing control is a labelled icon button that pauses a run and offers to run it again once it is done."
|
|
70
|
+
}
|
|
71
|
+
],
|
|
72
|
+
"todo": true
|
|
73
|
+
}
|
|
@@ -0,0 +1,78 @@
|
|
|
1
|
+
{
|
|
2
|
+
"name": "AgentSurface",
|
|
3
|
+
"slug": "agent-surface",
|
|
4
|
+
"group": "elements",
|
|
5
|
+
"importPath": "@cueplusplus/ui/elements",
|
|
6
|
+
"peerDependencies": [],
|
|
7
|
+
"clientOnly": true,
|
|
8
|
+
"description": "The supersede island: one subtree, painted by a different set of values.\n\nRenders a plain `<div data-slot=\"agent-surface\" data-cue-skin=\"…\"\ndata-cue-fidelity=\"…\">` and publishes the same pair on React context. The attributes do the work —\n`@cueplusplus/ui/elements.css` re-declares, under them, the `--cue-*` tokens\nthe whole elements family reads, and custom properties inherit, so every\nelement inside repaints with no prop threading and no branch in any\ncomponent. The context exists for the one place that cannot see the DOM: an\noverlay portaled to `<body>` from inside the island, which\n{@link useCuePortalProps } stamps from the same values.\n\nTwo things this is not. It is not a theme — `data-theme`, `data-mode` and\n`data-density` are untouched, and a light app keeps a light island. And it is\nnot needed for cue mode: the elements were rewritten onto cue's tokens by the\nvendoring codemod, so `skin=\"cue\"` is what they already do. Reach for this to\nshow an element the way assistant-ui drew it, or to hand a chat panel back to\nupstream's design language inside a console that is otherwise cue's.\n\nWhat an `aui` island re-points is this family's own vocabulary rather than the\nwhole token contract: `--cue-busy`, `--cue-info`, `--cue-selection`,\n`--cue-focus`, `--cue-scrim` and every derived `*-soft` / `*-border` stay on\nthe console's theme. Nothing in the elements group reads them, so the island\nis complete for what it is for — but a *cue* component placed inside one (a\n`Chip tone=\"busy\"`, a `Toast`) paints half in each palette, and the\nderivations cannot be made to follow at all: they are `color-mix()` values\nresolved on the theme block and inherited as answers. `elements.css` carries\nthe full accounting beside the values themselves.\n\n`elements.css` is a consumer import: `@import \"@cueplusplus/ui/elements.css\";`\nafter the main stylesheet. Without it a `skin=\"aui\"` island simply stays in\ncue's palette.",
|
|
9
|
+
"props": [
|
|
10
|
+
{
|
|
11
|
+
"name": "skin",
|
|
12
|
+
"type": "\"cue\" | \"aui\"",
|
|
13
|
+
"required": false,
|
|
14
|
+
"defaultValue": "cue",
|
|
15
|
+
"description": "Which value-set paints the subtree: `cue` (the default) or `aui`, which\ninstalls assistant-ui's own inks, grounds and hues."
|
|
16
|
+
},
|
|
17
|
+
{
|
|
18
|
+
"name": "fidelity",
|
|
19
|
+
"type": "\"upstream\" | \"cue-metrics\"",
|
|
20
|
+
"required": false,
|
|
21
|
+
"defaultValue": "cue-metrics",
|
|
22
|
+
"description": "How much a supersede island re-points: `cue-metrics` (the default, colour\nonly) or `upstream`, which also pins assistant-ui's radii, literal type\nsizes and spacing so the density ladder stops at the island edge."
|
|
23
|
+
},
|
|
24
|
+
{
|
|
25
|
+
"name": "render",
|
|
26
|
+
"type": "RenderProp<Record<string, unknown>>",
|
|
27
|
+
"required": false,
|
|
28
|
+
"defaultValue": null,
|
|
29
|
+
"description": "Replace the rendered element (Base UI render prop). Accepts an element —\n`render={<section />}` — or a function returning one."
|
|
30
|
+
},
|
|
31
|
+
{
|
|
32
|
+
"name": "children",
|
|
33
|
+
"type": "ReactNode",
|
|
34
|
+
"required": false,
|
|
35
|
+
"defaultValue": null,
|
|
36
|
+
"description": "The subtree that paints with this island's values."
|
|
37
|
+
}
|
|
38
|
+
],
|
|
39
|
+
"typeReferences": [
|
|
40
|
+
"Omit<React.ComponentPropsWithoutRef<\"div\">, \"children\">"
|
|
41
|
+
],
|
|
42
|
+
"subcomponents": [],
|
|
43
|
+
"parts": [],
|
|
44
|
+
"variants": {},
|
|
45
|
+
"defaultVariants": {},
|
|
46
|
+
"tokensUsed": [
|
|
47
|
+
"--cue-busy",
|
|
48
|
+
"--cue-focus",
|
|
49
|
+
"--cue-info",
|
|
50
|
+
"--cue-scrim",
|
|
51
|
+
"--cue-selection"
|
|
52
|
+
],
|
|
53
|
+
"summary": "The supersede island: one subtree, painted by a different set of values.",
|
|
54
|
+
"examples": [
|
|
55
|
+
{
|
|
56
|
+
"title": "Usage",
|
|
57
|
+
"code": "<AgentSurface skin=\"aui\" fidelity=\"upstream\">\n <ToolCall label=\"Searched\" activeLabel=\"Searching\" query=\"composer\" … />\n</AgentSurface>",
|
|
58
|
+
"language": "tsx"
|
|
59
|
+
}
|
|
60
|
+
],
|
|
61
|
+
"status": "todo-docs",
|
|
62
|
+
"url": "/docs/components/agent-surface",
|
|
63
|
+
"mdUrl": "/docs/components/agent-surface.md",
|
|
64
|
+
"jsonUrl": "/r/components/agent-surface.json",
|
|
65
|
+
"specimens": [
|
|
66
|
+
{
|
|
67
|
+
"title": "AgentSurface",
|
|
68
|
+
"group": "elements",
|
|
69
|
+
"components": [
|
|
70
|
+
"AgentSurface"
|
|
71
|
+
],
|
|
72
|
+
"code": "<Specimens>\n <Specimen label=\"skin=cue (the default)\" wide>\n <AgentSurface className=\"flex w-full flex-col gap-(--cue-space-3) rounded-(--radius-surface) border border-border bg-bg p-(--cue-space-4)\">\n <IslandCalls scope=\"cue\" open={open} onOpenChange={opener} />\n </AgentSurface>\n </Specimen>\n <Specimen label=\"aui · cue-metrics\" wide>\n <AgentSurface\n skin=\"aui\"\n fidelity=\"cue-metrics\"\n className=\"flex w-full flex-col gap-(--cue-space-3) rounded-(--radius-surface) border border-border bg-bg p-(--cue-space-4)\"\n >\n <IslandCalls scope=\"aui-metrics\" open={open} onOpenChange={opener} />\n </AgentSurface>\n </Specimen>\n <Specimen label=\"aui · upstream\" wide>\n <AgentSurface\n skin=\"aui\"\n fidelity=\"upstream\"\n className=\"flex w-full flex-col gap-(--cue-space-3) rounded-(--radius-surface) border border-border bg-bg p-(--cue-space-4)\"\n >\n <IslandCalls scope=\"aui-upstream\" open={open} onOpenChange={opener} />\n </AgentSurface>\n </Specimen>\n</Specimens>",
|
|
73
|
+
"note": "One DOM, three paint jobs. The same three tool calls sit in all three specimens; the only difference is the pair of attributes on the box around them. skin='aui' re-points the colour set to assistant-ui's own inks and grounds, and fidelity='upstream' re-points the metrics too, which is what stops cue's density ladder at the island edge. Without @cueplusplus/ui/elements.css imported, all three would look alike.",
|
|
74
|
+
"interaction": "none of its own. The island is a values-set, not a control: everything inside keeps the behaviour it has outside."
|
|
75
|
+
}
|
|
76
|
+
],
|
|
77
|
+
"todo": true
|
|
78
|
+
}
|