@cueplusplus/ui 0.3.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 +2229 -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/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/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/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 +6 -4
- package/dist/index.js +2 -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 +35 -9
- package/dist/primitives/chip.js +97 -11
- package/dist/system/agent-skin.d.ts +27 -0
- package/dist/system/agent-skin.js +20 -0
- package/dist/system/portal.d.ts +5 -3
- package/dist/system/portal.js +19 -5
- package/dist/system/theme-provider.js +54 -9
- 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 +71 -8
- package/dist/theming/contrast.d.ts +16 -4
- package/dist/theming/contrast.js +33 -6
- package/dist/theming/create-theme.d.ts +6 -2
- package/dist/theming/create-theme.js +32 -5
- package/dist/theming/serialize.d.ts +10 -1
- package/dist/theming/serialize.js +62 -8
- 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-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 +1 -1
- package/manifest/components/animated-number.json +67 -0
- package/manifest/components/app-shell.json +99 -7
- package/manifest/components/approval-card.json +106 -0
- package/manifest/components/artifact-card.json +81 -0
- package/manifest/components/audience-icon.json +52 -0
- package/manifest/components/background-inbox.json +71 -0
- package/manifest/components/branch-picker.json +124 -0
- package/manifest/components/button.json +1 -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/catalogue-icon.json +52 -0
- package/manifest/components/channel-beta-icon.json +52 -0
- package/manifest/components/channel-released-icon.json +52 -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/checkpoint-history.json +80 -0
- package/manifest/components/chip.json +24 -12
- 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/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/computer-use.json +84 -0
- package/manifest/components/confidence-marker.json +74 -0
- package/manifest/components/connection-state.json +84 -0
- package/manifest/components/context-breakdown.json +65 -0
- package/manifest/components/context-usage.json +85 -0
- package/manifest/components/conversation-search.json +92 -0
- package/manifest/components/cost-meter.json +74 -0
- package/manifest/components/cue-portal-frame.json +1 -1
- package/manifest/components/day-separator.json +58 -0
- package/manifest/components/delegation-card.json +1 -1
- package/manifest/components/density.json +1 -1
- package/manifest/components/diagram.json +100 -0
- package/manifest/components/document-reference.json +90 -0
- package/manifest/components/draft-restore.json +82 -0
- package/manifest/components/drawer.json +1 -1
- package/manifest/components/dropdown-menu.json +1 -1
- 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/end-of-turn-summary.json +77 -0
- package/manifest/components/error-state.json +80 -0
- package/manifest/components/feedback-dialog.json +107 -0
- package/manifest/components/file-tree.json +83 -0
- package/manifest/components/flow-graph.json +75 -0
- package/manifest/components/folder-icon.json +52 -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/guardrail-notice.json +91 -0
- package/manifest/components/hover-card.json +1 -1
- package/manifest/components/image-generation.json +67 -0
- package/manifest/components/info-tip.json +1 -1
- package/manifest/components/inline-citation.json +77 -0
- package/manifest/components/job-progress.json +96 -0
- package/manifest/components/launcher-bubble.json +105 -0
- package/manifest/components/live-region-announcer.json +79 -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/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 +1 -1
- 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/mobile-composer.json +126 -0
- package/manifest/components/model-picker.json +76 -0
- package/manifest/components/node-card.json +1 -1
- package/manifest/components/node-handle.json +1 -1
- package/manifest/components/number-ticker.json +61 -0
- package/manifest/components/onboarding.json +84 -0
- package/manifest/components/otp-field.json +7 -7
- package/manifest/components/permission-grant.json +92 -0
- package/manifest/components/permission-scopes.json +139 -0
- package/manifest/components/popover.json +1 -1
- 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/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/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/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 +7 -7
- package/manifest/components/search-input.json +7 -7
- package/manifest/components/segmented-control.json +21 -21
- package/manifest/components/settings-panel.json +118 -0
- package/manifest/components/shared-conversation.json +89 -0
- package/manifest/components/shimmer-label.json +59 -0
- package/manifest/components/skill-icon.json +52 -0
- package/manifest/components/sources.json +83 -0
- package/manifest/components/speaker-identity.json +61 -0
- package/manifest/components/spec-sheet.json +80 -0
- package/manifest/components/stack-icon.json +52 -0
- package/manifest/components/stacks-matrix-icon.json +52 -0
- package/manifest/components/stat.json +1 -1
- package/manifest/components/status-dot.json +1 -1
- 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/tail-status.json +109 -0
- package/manifest/components/terminal-block.json +91 -0
- package/manifest/components/theme-provider.json +2 -2
- 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 +2 -2
- package/manifest/components/time-boundary.json +62 -0
- package/manifest/components/timeline.json +1 -1
- package/manifest/components/todo-list.json +69 -0
- package/manifest/components/toggle-group.json +7 -7
- package/manifest/components/token-editor.json +1 -1
- 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 +7 -7
- package/manifest/components/tooltip.json +1 -1
- package/manifest/components/trace-waterfall.json +74 -0
- package/manifest/components/turn-footer.json +105 -0
- package/manifest/components/typing-indicator.json +53 -0
- package/manifest/components/unread-divider.json +55 -0
- package/manifest/components/usage-chart.json +1 -1
- 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 +2670 -33
- package/manifest/tokens.json +22 -1
- package/package.json +46 -4
package/manifest/manifest.json
CHANGED
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
{
|
|
2
2
|
"schemaVersion": 1,
|
|
3
3
|
"library": "@cueplusplus/ui",
|
|
4
|
-
"version": "0.
|
|
4
|
+
"version": "0.5.0",
|
|
5
5
|
"generatedAt": "1970-01-01T00:00:00.000Z",
|
|
6
6
|
"themes": [
|
|
7
7
|
"cue",
|
|
@@ -29,7 +29,7 @@
|
|
|
29
29
|
],
|
|
30
30
|
"tokens": {
|
|
31
31
|
"path": "./tokens.json",
|
|
32
|
-
"sha256": "
|
|
32
|
+
"sha256": "6836c983064e9e35eb26caff3366f2b19e19233646c3ffe47bca084b121b3e9b"
|
|
33
33
|
},
|
|
34
34
|
"systemApis": [
|
|
35
35
|
{
|
|
@@ -60,7 +60,7 @@
|
|
|
60
60
|
{
|
|
61
61
|
"name": "DensityLevel",
|
|
62
62
|
"kind": "type",
|
|
63
|
-
"signature": "\"
|
|
63
|
+
"signature": "\"normal\" | \"large\" | \"compact\" | \"ultra-compact\" | \"ultra-large\""
|
|
64
64
|
},
|
|
65
65
|
{
|
|
66
66
|
"name": "DensityProps",
|
|
@@ -149,6 +149,32 @@
|
|
|
149
149
|
}
|
|
150
150
|
],
|
|
151
151
|
"components": [
|
|
152
|
+
{
|
|
153
|
+
"name": "BranchPicker",
|
|
154
|
+
"slug": "branch-picker",
|
|
155
|
+
"group": "agent-runtime",
|
|
156
|
+
"importPath": "@cueplusplus/ui/agent-runtime",
|
|
157
|
+
"summary": "The `‹ 2 / 3 ›` stepper over a turn's regenerated siblings, and nothing at all below two.",
|
|
158
|
+
"status": "stable",
|
|
159
|
+
"url": "/docs/components/branch-picker",
|
|
160
|
+
"mdUrl": "/docs/components/branch-picker.md",
|
|
161
|
+
"jsonUrl": "/r/components/branch-picker.json",
|
|
162
|
+
"path": "./components/branch-picker.json",
|
|
163
|
+
"sha256": "35efe7045cd881a673c5eadf3d01278ee15ce08ddaef75381234faf3d55fbae9"
|
|
164
|
+
},
|
|
165
|
+
{
|
|
166
|
+
"name": "ToolCallCard",
|
|
167
|
+
"slug": "tool-call-card",
|
|
168
|
+
"group": "agent-runtime",
|
|
169
|
+
"importPath": "@cueplusplus/ui/agent-runtime",
|
|
170
|
+
"summary": "The model's own tool call: name, risk chip, status in words, and the arguments and result behind a disclosure.",
|
|
171
|
+
"status": "stable",
|
|
172
|
+
"url": "/docs/components/tool-call-card",
|
|
173
|
+
"mdUrl": "/docs/components/tool-call-card.md",
|
|
174
|
+
"jsonUrl": "/r/components/tool-call-card.json",
|
|
175
|
+
"path": "./components/tool-call-card.json",
|
|
176
|
+
"sha256": "96ced2528d12cc8b627fd11128ed13ad86f1dbcdfab354bb2a28f8d16a35a8f1"
|
|
177
|
+
},
|
|
152
178
|
{
|
|
153
179
|
"name": "CueLogotype",
|
|
154
180
|
"slug": "cue-logotype",
|
|
@@ -290,7 +316,7 @@
|
|
|
290
316
|
"mdUrl": "/docs/components/delegation-card.md",
|
|
291
317
|
"jsonUrl": "/r/components/delegation-card.json",
|
|
292
318
|
"path": "./components/delegation-card.json",
|
|
293
|
-
"sha256": "
|
|
319
|
+
"sha256": "3f6abe7a828fb1ab4da757bc4386d6133b21d3fc6b5f735bdc9bdac106269253"
|
|
294
320
|
},
|
|
295
321
|
{
|
|
296
322
|
"name": "Message",
|
|
@@ -316,7 +342,7 @@
|
|
|
316
342
|
"mdUrl": "/docs/components/message-list.md",
|
|
317
343
|
"jsonUrl": "/r/components/message-list.json",
|
|
318
344
|
"path": "./components/message-list.json",
|
|
319
|
-
"sha256": "
|
|
345
|
+
"sha256": "cff3ec0f9e53fd57bb4d641c5bb3310eeeb1d544e0692a7ffc850eb63bd14794"
|
|
320
346
|
},
|
|
321
347
|
{
|
|
322
348
|
"name": "AppBar",
|
|
@@ -342,7 +368,7 @@
|
|
|
342
368
|
"mdUrl": "/docs/components/app-shell.md",
|
|
343
369
|
"jsonUrl": "/r/components/app-shell.json",
|
|
344
370
|
"path": "./components/app-shell.json",
|
|
345
|
-
"sha256": "
|
|
371
|
+
"sha256": "bbf75533291274d02f1815b2e7b8b325febc009557c524376b71ccf67f282eba"
|
|
346
372
|
},
|
|
347
373
|
{
|
|
348
374
|
"name": "EmptyState",
|
|
@@ -472,7 +498,7 @@
|
|
|
472
498
|
"mdUrl": "/docs/components/scroll-area.md",
|
|
473
499
|
"jsonUrl": "/r/components/scroll-area.json",
|
|
474
500
|
"path": "./components/scroll-area.json",
|
|
475
|
-
"sha256": "
|
|
501
|
+
"sha256": "7abd3f305ecba8b5a0f9763e90cece1498c17d30e17cceb46d0ef9c473e60a6a"
|
|
476
502
|
},
|
|
477
503
|
{
|
|
478
504
|
"name": "SeamList",
|
|
@@ -511,7 +537,7 @@
|
|
|
511
537
|
"mdUrl": "/docs/components/segmented-control.md",
|
|
512
538
|
"jsonUrl": "/r/components/segmented-control.json",
|
|
513
539
|
"path": "./components/segmented-control.json",
|
|
514
|
-
"sha256": "
|
|
540
|
+
"sha256": "a0b617aad00b1349196770b051581d7368a0dbc17ec46f293cff5c5e75c617ce"
|
|
515
541
|
},
|
|
516
542
|
{
|
|
517
543
|
"name": "StatusBar",
|
|
@@ -563,7 +589,7 @@
|
|
|
563
589
|
"mdUrl": "/docs/components/toolbar.md",
|
|
564
590
|
"jsonUrl": "/r/components/toolbar.json",
|
|
565
591
|
"path": "./components/toolbar.json",
|
|
566
|
-
"sha256": "
|
|
592
|
+
"sha256": "c82045a3ba696e65793a48d26df82993b8f6abc4f66c546edf8988208307c973"
|
|
567
593
|
},
|
|
568
594
|
{
|
|
569
595
|
"name": "Tree",
|
|
@@ -732,7 +758,7 @@
|
|
|
732
758
|
"mdUrl": "/docs/components/token-editor.md",
|
|
733
759
|
"jsonUrl": "/r/components/token-editor.json",
|
|
734
760
|
"path": "./components/token-editor.json",
|
|
735
|
-
"sha256": "
|
|
761
|
+
"sha256": "9a5e0fb93937755d93f66bf7fb033c93e317586afcda879c9387f173131d1196"
|
|
736
762
|
},
|
|
737
763
|
{
|
|
738
764
|
"name": "Calendar",
|
|
@@ -851,6 +877,1982 @@
|
|
|
851
877
|
"path": "./components/universe-grid.json",
|
|
852
878
|
"sha256": "774d4aef69a7cc2b9925082239c952d8ed1df2ced5ca431b2e562206bb8ea7e0"
|
|
853
879
|
},
|
|
880
|
+
{
|
|
881
|
+
"name": "ActivityGraph",
|
|
882
|
+
"slug": "activity-graph",
|
|
883
|
+
"group": "elements",
|
|
884
|
+
"importPath": "@cueplusplus/ui/elements",
|
|
885
|
+
"summary": "A half-year of runs as a calendar of cells, dense where the work was.",
|
|
886
|
+
"status": "todo-docs",
|
|
887
|
+
"url": "/docs/components/activity-graph",
|
|
888
|
+
"mdUrl": "/docs/components/activity-graph.md",
|
|
889
|
+
"jsonUrl": "/r/components/activity-graph.json",
|
|
890
|
+
"path": "./components/activity-graph.json",
|
|
891
|
+
"sha256": "e5cd7246efcb4edab76a23eb51c81055eb426ffeb50d1879380a37d2a72ab4a7"
|
|
892
|
+
},
|
|
893
|
+
{
|
|
894
|
+
"name": "AgentCard",
|
|
895
|
+
"slug": "agent-card",
|
|
896
|
+
"group": "elements",
|
|
897
|
+
"importPath": "@cueplusplus/ui/elements",
|
|
898
|
+
"summary": "Who you are about to talk to: its skills, its model, and the endpoint behind it.",
|
|
899
|
+
"status": "todo-docs",
|
|
900
|
+
"url": "/docs/components/agent-card",
|
|
901
|
+
"mdUrl": "/docs/components/agent-card.md",
|
|
902
|
+
"jsonUrl": "/r/components/agent-card.json",
|
|
903
|
+
"path": "./components/agent-card.json",
|
|
904
|
+
"sha256": "a2cd9227615f220864c1690ba51086abe38edd3698113f3637473639c74f5206"
|
|
905
|
+
},
|
|
906
|
+
{
|
|
907
|
+
"name": "AgentHandoff",
|
|
908
|
+
"slug": "agent-handoff",
|
|
909
|
+
"group": "elements",
|
|
910
|
+
"importPath": "@cueplusplus/ui/elements",
|
|
911
|
+
"summary": "Control passing between agents, with the reason and what came along.",
|
|
912
|
+
"status": "todo-docs",
|
|
913
|
+
"url": "/docs/components/agent-handoff",
|
|
914
|
+
"mdUrl": "/docs/components/agent-handoff.md",
|
|
915
|
+
"jsonUrl": "/r/components/agent-handoff.json",
|
|
916
|
+
"path": "./components/agent-handoff.json",
|
|
917
|
+
"sha256": "6688005feac685fcac1efb5a1a19aa990453b1d1974c64766d69e48d006ae192"
|
|
918
|
+
},
|
|
919
|
+
{
|
|
920
|
+
"name": "AgentModeBadge",
|
|
921
|
+
"slug": "agent-mode-badge",
|
|
922
|
+
"group": "elements",
|
|
923
|
+
"importPath": "@cueplusplus/ui/elements",
|
|
924
|
+
"summary": "What the run is allowed to do, said in one chip and one attribute.",
|
|
925
|
+
"status": "todo-docs",
|
|
926
|
+
"url": "/docs/components/agent-mode-badge",
|
|
927
|
+
"mdUrl": "/docs/components/agent-mode-badge.md",
|
|
928
|
+
"jsonUrl": "/r/components/agent-mode-badge.json",
|
|
929
|
+
"path": "./components/agent-mode-badge.json",
|
|
930
|
+
"sha256": "afa0272fdfa1504163c586c2cac056dabca0cf8de775c718c84068468d1df3b7"
|
|
931
|
+
},
|
|
932
|
+
{
|
|
933
|
+
"name": "AgentPlan",
|
|
934
|
+
"slug": "agent-plan",
|
|
935
|
+
"group": "elements",
|
|
936
|
+
"importPath": "@cueplusplus/ui/elements",
|
|
937
|
+
"summary": "A checklist the agent works through, with progress you can glance.",
|
|
938
|
+
"status": "todo-docs",
|
|
939
|
+
"url": "/docs/components/agent-plan",
|
|
940
|
+
"mdUrl": "/docs/components/agent-plan.md",
|
|
941
|
+
"jsonUrl": "/r/components/agent-plan.json",
|
|
942
|
+
"path": "./components/agent-plan.json",
|
|
943
|
+
"sha256": "d364a846cc5bddaf2354db1adb95a3bd269b1ef0d6d12725fc47e242aabcf69c"
|
|
944
|
+
},
|
|
945
|
+
{
|
|
946
|
+
"name": "AgentStatus",
|
|
947
|
+
"slug": "agent-status",
|
|
948
|
+
"group": "elements",
|
|
949
|
+
"importPath": "@cueplusplus/ui/elements",
|
|
950
|
+
"summary": "One pill that always answers: what is it doing, and for how long.",
|
|
951
|
+
"status": "todo-docs",
|
|
952
|
+
"url": "/docs/components/agent-status",
|
|
953
|
+
"mdUrl": "/docs/components/agent-status.md",
|
|
954
|
+
"jsonUrl": "/r/components/agent-status.json",
|
|
955
|
+
"path": "./components/agent-status.json",
|
|
956
|
+
"sha256": "743adb20cf426337127feea8b10282d16c3fec1c2f04857325e5710b6f122523"
|
|
957
|
+
},
|
|
958
|
+
{
|
|
959
|
+
"name": "AgentSurface",
|
|
960
|
+
"slug": "agent-surface",
|
|
961
|
+
"group": "elements",
|
|
962
|
+
"importPath": "@cueplusplus/ui/elements",
|
|
963
|
+
"summary": "The supersede island: one subtree, painted by a different set of values.",
|
|
964
|
+
"status": "todo-docs",
|
|
965
|
+
"url": "/docs/components/agent-surface",
|
|
966
|
+
"mdUrl": "/docs/components/agent-surface.md",
|
|
967
|
+
"jsonUrl": "/r/components/agent-surface.json",
|
|
968
|
+
"path": "./components/agent-surface.json",
|
|
969
|
+
"sha256": "8751c921df93d3e7ecdc819c9f82f2f554dc134248eb8a439d8c278706609926"
|
|
970
|
+
},
|
|
971
|
+
{
|
|
972
|
+
"name": "AnimatedNumber",
|
|
973
|
+
"slug": "animated-number",
|
|
974
|
+
"group": "elements",
|
|
975
|
+
"importPath": "@cueplusplus/ui/elements",
|
|
976
|
+
"summary": "A number that counts to its new value instead of jumping to it.",
|
|
977
|
+
"status": "todo-docs",
|
|
978
|
+
"url": "/docs/components/animated-number",
|
|
979
|
+
"mdUrl": "/docs/components/animated-number.md",
|
|
980
|
+
"jsonUrl": "/r/components/animated-number.json",
|
|
981
|
+
"path": "./components/animated-number.json",
|
|
982
|
+
"sha256": "324ac89aebe6d563839fd7c0def6bd8299d9bdbbbbacd30c93c142c4a684e8ad"
|
|
983
|
+
},
|
|
984
|
+
{
|
|
985
|
+
"name": "ApprovalCard",
|
|
986
|
+
"slug": "approval-card",
|
|
987
|
+
"group": "elements",
|
|
988
|
+
"importPath": "@cueplusplus/ui/elements",
|
|
989
|
+
"summary": "Human in the loop: the agent asks before it runs anything with side effects.",
|
|
990
|
+
"status": "todo-docs",
|
|
991
|
+
"url": "/docs/components/approval-card",
|
|
992
|
+
"mdUrl": "/docs/components/approval-card.md",
|
|
993
|
+
"jsonUrl": "/r/components/approval-card.json",
|
|
994
|
+
"path": "./components/approval-card.json",
|
|
995
|
+
"sha256": "8fc78d7901d6ac6b3d677e70454f387a76848bef34f6cc04b6515e4f49f8ccf9"
|
|
996
|
+
},
|
|
997
|
+
{
|
|
998
|
+
"name": "ArtifactCard",
|
|
999
|
+
"slug": "artifact-card",
|
|
1000
|
+
"group": "elements",
|
|
1001
|
+
"importPath": "@cueplusplus/ui/elements",
|
|
1002
|
+
"summary": "A generated document as a tangible object, written live and versioned.",
|
|
1003
|
+
"status": "todo-docs",
|
|
1004
|
+
"url": "/docs/components/artifact-card",
|
|
1005
|
+
"mdUrl": "/docs/components/artifact-card.md",
|
|
1006
|
+
"jsonUrl": "/r/components/artifact-card.json",
|
|
1007
|
+
"path": "./components/artifact-card.json",
|
|
1008
|
+
"sha256": "17d21f15dc258209f175a67887ea9aefe6037471dc521e11a6a7e867369a264d"
|
|
1009
|
+
},
|
|
1010
|
+
{
|
|
1011
|
+
"name": "BackgroundInbox",
|
|
1012
|
+
"slug": "background-inbox",
|
|
1013
|
+
"group": "elements",
|
|
1014
|
+
"importPath": "@cueplusplus/ui/elements",
|
|
1015
|
+
"summary": "Work still going somewhere else, and the results waiting to be collected.",
|
|
1016
|
+
"status": "todo-docs",
|
|
1017
|
+
"url": "/docs/components/background-inbox",
|
|
1018
|
+
"mdUrl": "/docs/components/background-inbox.md",
|
|
1019
|
+
"jsonUrl": "/r/components/background-inbox.json",
|
|
1020
|
+
"path": "./components/background-inbox.json",
|
|
1021
|
+
"sha256": "70b5ef016442a279dd28830fdd22c75826789e8cc290498277cd3cbc47027606"
|
|
1022
|
+
},
|
|
1023
|
+
{
|
|
1024
|
+
"name": "CanvasSplit",
|
|
1025
|
+
"slug": "canvas-split",
|
|
1026
|
+
"group": "elements",
|
|
1027
|
+
"importPath": "@cueplusplus/ui/elements",
|
|
1028
|
+
"summary": "The thread steps aside and the document takes the room, still being written as you read.",
|
|
1029
|
+
"status": "todo-docs",
|
|
1030
|
+
"url": "/docs/components/canvas-split",
|
|
1031
|
+
"mdUrl": "/docs/components/canvas-split.md",
|
|
1032
|
+
"jsonUrl": "/r/components/canvas-split.json",
|
|
1033
|
+
"path": "./components/canvas-split.json",
|
|
1034
|
+
"sha256": "c316e453f5dd51575c4650c59057911556a72f53109d275a3aec5f0af78b9df4"
|
|
1035
|
+
},
|
|
1036
|
+
{
|
|
1037
|
+
"name": "CanvasSplitBody",
|
|
1038
|
+
"slug": "canvas-split-body",
|
|
1039
|
+
"group": "elements",
|
|
1040
|
+
"importPath": "@cueplusplus/ui/elements",
|
|
1041
|
+
"summary": "The document's text, scrolling on its own, with a caret while it is still being written.",
|
|
1042
|
+
"status": "todo-docs",
|
|
1043
|
+
"url": "/docs/components/canvas-split-body",
|
|
1044
|
+
"mdUrl": "/docs/components/canvas-split-body.md",
|
|
1045
|
+
"jsonUrl": "/r/components/canvas-split-body.json",
|
|
1046
|
+
"path": "./components/canvas-split-body.json",
|
|
1047
|
+
"sha256": "f43de3ffb2908742713a230134da48d51798dee7f2229e5ba8c39facccf0f08c"
|
|
1048
|
+
},
|
|
1049
|
+
{
|
|
1050
|
+
"name": "CanvasSplitDocument",
|
|
1051
|
+
"slug": "canvas-split-document",
|
|
1052
|
+
"group": "elements",
|
|
1053
|
+
"importPath": "@cueplusplus/ui/elements",
|
|
1054
|
+
"summary": "The document half of the split: the header, and the body under it.",
|
|
1055
|
+
"status": "todo-docs",
|
|
1056
|
+
"url": "/docs/components/canvas-split-document",
|
|
1057
|
+
"mdUrl": "/docs/components/canvas-split-document.md",
|
|
1058
|
+
"jsonUrl": "/r/components/canvas-split-document.json",
|
|
1059
|
+
"path": "./components/canvas-split-document.json",
|
|
1060
|
+
"sha256": "40be79e043224fcaf255bf09066eea2c31f568602f3631ceb8ce73cf91466604"
|
|
1061
|
+
},
|
|
1062
|
+
{
|
|
1063
|
+
"name": "CanvasSplitHeader",
|
|
1064
|
+
"slug": "canvas-split-header",
|
|
1065
|
+
"group": "elements",
|
|
1066
|
+
"importPath": "@cueplusplus/ui/elements",
|
|
1067
|
+
"summary": "What the document is, which version this is, and whether it has been written down yet — with copy and close beside them.",
|
|
1068
|
+
"status": "todo-docs",
|
|
1069
|
+
"url": "/docs/components/canvas-split-header",
|
|
1070
|
+
"mdUrl": "/docs/components/canvas-split-header.md",
|
|
1071
|
+
"jsonUrl": "/r/components/canvas-split-header.json",
|
|
1072
|
+
"path": "./components/canvas-split-header.json",
|
|
1073
|
+
"sha256": "12776eef4de8dafb73d93c4b437e7b05eb0b2488bde29be4de57e321bca7ebdf"
|
|
1074
|
+
},
|
|
1075
|
+
{
|
|
1076
|
+
"name": "CanvasSplitLine",
|
|
1077
|
+
"slug": "canvas-split-line",
|
|
1078
|
+
"group": "elements",
|
|
1079
|
+
"importPath": "@cueplusplus/ui/elements",
|
|
1080
|
+
"summary": "One line of the document, arriving as it is written.",
|
|
1081
|
+
"status": "todo-docs",
|
|
1082
|
+
"url": "/docs/components/canvas-split-line",
|
|
1083
|
+
"mdUrl": "/docs/components/canvas-split-line.md",
|
|
1084
|
+
"jsonUrl": "/r/components/canvas-split-line.json",
|
|
1085
|
+
"path": "./components/canvas-split-line.json",
|
|
1086
|
+
"sha256": "0396434c2fc20e1f8bcf350dd5f78d5d1ccbef43d9469e43bcc0b148e1a37866"
|
|
1087
|
+
},
|
|
1088
|
+
{
|
|
1089
|
+
"name": "CanvasSplitMessage",
|
|
1090
|
+
"slug": "canvas-split-message",
|
|
1091
|
+
"group": "elements",
|
|
1092
|
+
"importPath": "@cueplusplus/ui/elements",
|
|
1093
|
+
"summary": "One turn inside the rail — a filled bubble for the person, plain text for the model.",
|
|
1094
|
+
"status": "todo-docs",
|
|
1095
|
+
"url": "/docs/components/canvas-split-message",
|
|
1096
|
+
"mdUrl": "/docs/components/canvas-split-message.md",
|
|
1097
|
+
"jsonUrl": "/r/components/canvas-split-message.json",
|
|
1098
|
+
"path": "./components/canvas-split-message.json",
|
|
1099
|
+
"sha256": "3db69025c3dff177612ecc540d4ff34b7d1e29e74c6ab8f28f22e12bc42a058e"
|
|
1100
|
+
},
|
|
1101
|
+
{
|
|
1102
|
+
"name": "CanvasSplitThread",
|
|
1103
|
+
"slug": "canvas-split-thread",
|
|
1104
|
+
"group": "elements",
|
|
1105
|
+
"importPath": "@cueplusplus/ui/elements",
|
|
1106
|
+
"summary": "The conversation, narrowed to a rail beside the document.",
|
|
1107
|
+
"status": "todo-docs",
|
|
1108
|
+
"url": "/docs/components/canvas-split-thread",
|
|
1109
|
+
"mdUrl": "/docs/components/canvas-split-thread.md",
|
|
1110
|
+
"jsonUrl": "/r/components/canvas-split-thread.json",
|
|
1111
|
+
"path": "./components/canvas-split-thread.json",
|
|
1112
|
+
"sha256": "2e8f372cce94ee26a716d372875b541990ae21060acbd0e724dc1dbeaad6b875"
|
|
1113
|
+
},
|
|
1114
|
+
{
|
|
1115
|
+
"name": "Chart",
|
|
1116
|
+
"slug": "chart",
|
|
1117
|
+
"group": "elements",
|
|
1118
|
+
"importPath": "@cueplusplus/ui/elements",
|
|
1119
|
+
"summary": "Area, line, and bars, with points landing one at a time as the series streams in.",
|
|
1120
|
+
"status": "todo-docs",
|
|
1121
|
+
"url": "/docs/components/chart",
|
|
1122
|
+
"mdUrl": "/docs/components/chart.md",
|
|
1123
|
+
"jsonUrl": "/r/components/chart.json",
|
|
1124
|
+
"path": "./components/chart.json",
|
|
1125
|
+
"sha256": "ddb4dc53c1174bd210350ef03b516870a790650cf0b97be505b5c945f69a295c"
|
|
1126
|
+
},
|
|
1127
|
+
{
|
|
1128
|
+
"name": "ChatEmptyState",
|
|
1129
|
+
"slug": "chat-empty-state",
|
|
1130
|
+
"group": "elements",
|
|
1131
|
+
"importPath": "@cueplusplus/ui/elements",
|
|
1132
|
+
"summary": "The first screen: a greeting, three ways in, and the composer front and center.",
|
|
1133
|
+
"status": "todo-docs",
|
|
1134
|
+
"url": "/docs/components/chat-empty-state",
|
|
1135
|
+
"mdUrl": "/docs/components/chat-empty-state.md",
|
|
1136
|
+
"jsonUrl": "/r/components/chat-empty-state.json",
|
|
1137
|
+
"path": "./components/chat-empty-state.json",
|
|
1138
|
+
"sha256": "64d4fdc4c6d7d8f94531d504443819018b7687492222d436cc8cda6f6c562ebf"
|
|
1139
|
+
},
|
|
1140
|
+
{
|
|
1141
|
+
"name": "ChatPanel",
|
|
1142
|
+
"slug": "chat-panel",
|
|
1143
|
+
"group": "elements",
|
|
1144
|
+
"importPath": "@cueplusplus/ui/elements",
|
|
1145
|
+
"summary": "The whole family working together: a message, a pause, a streamed reply.",
|
|
1146
|
+
"status": "todo-docs",
|
|
1147
|
+
"url": "/docs/components/chat-panel",
|
|
1148
|
+
"mdUrl": "/docs/components/chat-panel.md",
|
|
1149
|
+
"jsonUrl": "/r/components/chat-panel.json",
|
|
1150
|
+
"path": "./components/chat-panel.json",
|
|
1151
|
+
"sha256": "683985a6a175e6af2919576146cc3674a92040e383b4bf354824d9af6193b98d"
|
|
1152
|
+
},
|
|
1153
|
+
{
|
|
1154
|
+
"name": "ChatPanelAssistantMessage",
|
|
1155
|
+
"slug": "chat-panel-assistant-message",
|
|
1156
|
+
"group": "elements",
|
|
1157
|
+
"importPath": "@cueplusplus/ui/elements",
|
|
1158
|
+
"summary": "One message from the model: plain text on the leading edge, no bubble.",
|
|
1159
|
+
"status": "todo-docs",
|
|
1160
|
+
"url": "/docs/components/chat-panel-assistant-message",
|
|
1161
|
+
"mdUrl": "/docs/components/chat-panel-assistant-message.md",
|
|
1162
|
+
"jsonUrl": "/r/components/chat-panel-assistant-message.json",
|
|
1163
|
+
"path": "./components/chat-panel-assistant-message.json",
|
|
1164
|
+
"sha256": "a443fc1c8fd8053df686e787b6f47fa182b6f6a9928a440b8fefcf972e399814"
|
|
1165
|
+
},
|
|
1166
|
+
{
|
|
1167
|
+
"name": "ChatPanelComposer",
|
|
1168
|
+
"slug": "chat-panel-composer",
|
|
1169
|
+
"group": "elements",
|
|
1170
|
+
"importPath": "@cueplusplus/ui/elements",
|
|
1171
|
+
"summary": "The panel's composer row.",
|
|
1172
|
+
"status": "todo-docs",
|
|
1173
|
+
"url": "/docs/components/chat-panel-composer",
|
|
1174
|
+
"mdUrl": "/docs/components/chat-panel-composer.md",
|
|
1175
|
+
"jsonUrl": "/r/components/chat-panel-composer.json",
|
|
1176
|
+
"path": "./components/chat-panel-composer.json",
|
|
1177
|
+
"sha256": "f74eaa4cd961e77d311b180b9dfaa08d62ef8425edab12d976745813a57b76bf"
|
|
1178
|
+
},
|
|
1179
|
+
{
|
|
1180
|
+
"name": "ChatPanelMessages",
|
|
1181
|
+
"slug": "chat-panel-messages",
|
|
1182
|
+
"group": "elements",
|
|
1183
|
+
"importPath": "@cueplusplus/ui/elements",
|
|
1184
|
+
"summary": "The scrolling transcript inside a `ChatPanel`.",
|
|
1185
|
+
"status": "todo-docs",
|
|
1186
|
+
"url": "/docs/components/chat-panel-messages",
|
|
1187
|
+
"mdUrl": "/docs/components/chat-panel-messages.md",
|
|
1188
|
+
"jsonUrl": "/r/components/chat-panel-messages.json",
|
|
1189
|
+
"path": "./components/chat-panel-messages.json",
|
|
1190
|
+
"sha256": "24663bea6585921610c21c4486054c634073b54cebb43280b0a5d9a13b8cfc09"
|
|
1191
|
+
},
|
|
1192
|
+
{
|
|
1193
|
+
"name": "ChatPanelTyping",
|
|
1194
|
+
"slug": "chat-panel-typing",
|
|
1195
|
+
"group": "elements",
|
|
1196
|
+
"importPath": "@cueplusplus/ui/elements",
|
|
1197
|
+
"summary": "The three-dot rest state, for the gap between sending and the first token.",
|
|
1198
|
+
"status": "todo-docs",
|
|
1199
|
+
"url": "/docs/components/chat-panel-typing",
|
|
1200
|
+
"mdUrl": "/docs/components/chat-panel-typing.md",
|
|
1201
|
+
"jsonUrl": "/r/components/chat-panel-typing.json",
|
|
1202
|
+
"path": "./components/chat-panel-typing.json",
|
|
1203
|
+
"sha256": "48fe7b698072adad5085180a878ee7c6da853d6f653a71c628f1645f12d7fc1f"
|
|
1204
|
+
},
|
|
1205
|
+
{
|
|
1206
|
+
"name": "ChatPanelUserMessage",
|
|
1207
|
+
"slug": "chat-panel-user-message",
|
|
1208
|
+
"group": "elements",
|
|
1209
|
+
"importPath": "@cueplusplus/ui/elements",
|
|
1210
|
+
"summary": "One message from the person, drawn as a filled bubble on the trailing edge.",
|
|
1211
|
+
"status": "todo-docs",
|
|
1212
|
+
"url": "/docs/components/chat-panel-user-message",
|
|
1213
|
+
"mdUrl": "/docs/components/chat-panel-user-message.md",
|
|
1214
|
+
"jsonUrl": "/r/components/chat-panel-user-message.json",
|
|
1215
|
+
"path": "./components/chat-panel-user-message.json",
|
|
1216
|
+
"sha256": "e8495a5d72da3d5c8134bf65a1bd3b31f6926cc2e532532864c7fd2b9607dee5"
|
|
1217
|
+
},
|
|
1218
|
+
{
|
|
1219
|
+
"name": "CheckpointHistory",
|
|
1220
|
+
"slug": "checkpoint-history",
|
|
1221
|
+
"group": "elements",
|
|
1222
|
+
"importPath": "@cueplusplus/ui/elements",
|
|
1223
|
+
"summary": "Points you can fall back to, with what each one would give back.",
|
|
1224
|
+
"status": "todo-docs",
|
|
1225
|
+
"url": "/docs/components/checkpoint-history",
|
|
1226
|
+
"mdUrl": "/docs/components/checkpoint-history.md",
|
|
1227
|
+
"jsonUrl": "/r/components/checkpoint-history.json",
|
|
1228
|
+
"path": "./components/checkpoint-history.json",
|
|
1229
|
+
"sha256": "bbd51237dc47ae95ff97956a43c46cf8171c71acaa395de10d592a0043cd7fd1"
|
|
1230
|
+
},
|
|
1231
|
+
{
|
|
1232
|
+
"name": "Clamp",
|
|
1233
|
+
"slug": "clamp",
|
|
1234
|
+
"group": "elements",
|
|
1235
|
+
"importPath": "@cueplusplus/ui/elements",
|
|
1236
|
+
"summary": "Long content, cut to a height, dissolving at the cut, with a way back.",
|
|
1237
|
+
"status": "todo-docs",
|
|
1238
|
+
"url": "/docs/components/clamp",
|
|
1239
|
+
"mdUrl": "/docs/components/clamp.md",
|
|
1240
|
+
"jsonUrl": "/r/components/clamp.json",
|
|
1241
|
+
"path": "./components/clamp.json",
|
|
1242
|
+
"sha256": "742efbff9f7c3971525483f4220147416459bdf68796261e46ea5f03fb92df47"
|
|
1243
|
+
},
|
|
1244
|
+
{
|
|
1245
|
+
"name": "CodeDiff",
|
|
1246
|
+
"slug": "code-diff",
|
|
1247
|
+
"group": "elements",
|
|
1248
|
+
"importPath": "@cueplusplus/ui/elements",
|
|
1249
|
+
"summary": "A unified diff with tinted additions and removals, sized for chat.",
|
|
1250
|
+
"status": "todo-docs",
|
|
1251
|
+
"url": "/docs/components/code-diff",
|
|
1252
|
+
"mdUrl": "/docs/components/code-diff.md",
|
|
1253
|
+
"jsonUrl": "/r/components/code-diff.json",
|
|
1254
|
+
"path": "./components/code-diff.json",
|
|
1255
|
+
"sha256": "d3561342a00a7d3ff9cb142dcf096709082a9ba5afdba90774d0de92004728b0"
|
|
1256
|
+
},
|
|
1257
|
+
{
|
|
1258
|
+
"name": "CodeRunner",
|
|
1259
|
+
"slug": "code-runner",
|
|
1260
|
+
"group": "elements",
|
|
1261
|
+
"importPath": "@cueplusplus/ui/elements",
|
|
1262
|
+
"summary": "A snippet with a run button, and the output it produced attached below it.",
|
|
1263
|
+
"status": "todo-docs",
|
|
1264
|
+
"url": "/docs/components/code-runner",
|
|
1265
|
+
"mdUrl": "/docs/components/code-runner.md",
|
|
1266
|
+
"jsonUrl": "/r/components/code-runner.json",
|
|
1267
|
+
"path": "./components/code-runner.json",
|
|
1268
|
+
"sha256": "06070a843e7f641976b16eb2db13ac1fde7790ef9980fa1f4b5fdf51646d7e97"
|
|
1269
|
+
},
|
|
1270
|
+
{
|
|
1271
|
+
"name": "CompactionRow",
|
|
1272
|
+
"slug": "compaction-row",
|
|
1273
|
+
"group": "elements",
|
|
1274
|
+
"importPath": "@cueplusplus/ui/elements",
|
|
1275
|
+
"summary": "The rule that says the conversation was compacted, and by how much.",
|
|
1276
|
+
"status": "todo-docs",
|
|
1277
|
+
"url": "/docs/components/compaction-row",
|
|
1278
|
+
"mdUrl": "/docs/components/compaction-row.md",
|
|
1279
|
+
"jsonUrl": "/r/components/compaction-row.json",
|
|
1280
|
+
"path": "./components/compaction-row.json",
|
|
1281
|
+
"sha256": "0fd3080c626dd6db7b3bf651d74242674b987acc9215d49a013ae37ec05b0f7d"
|
|
1282
|
+
},
|
|
1283
|
+
{
|
|
1284
|
+
"name": "ComparisonCard",
|
|
1285
|
+
"slug": "comparison-card",
|
|
1286
|
+
"group": "elements",
|
|
1287
|
+
"importPath": "@cueplusplus/ui/elements",
|
|
1288
|
+
"summary": "Two options weighed side by side, with the pick named and argued.",
|
|
1289
|
+
"status": "todo-docs",
|
|
1290
|
+
"url": "/docs/components/comparison-card",
|
|
1291
|
+
"mdUrl": "/docs/components/comparison-card.md",
|
|
1292
|
+
"jsonUrl": "/r/components/comparison-card.json",
|
|
1293
|
+
"path": "./components/comparison-card.json",
|
|
1294
|
+
"sha256": "16c7351f7aed32a74f8a1121d88fe50e525e000be35d01892047feb452abca1a"
|
|
1295
|
+
},
|
|
1296
|
+
{
|
|
1297
|
+
"name": "ComposerActions",
|
|
1298
|
+
"slug": "composer-actions",
|
|
1299
|
+
"group": "elements",
|
|
1300
|
+
"importPath": "@cueplusplus/ui/elements",
|
|
1301
|
+
"summary": "One cluster of controls in the toolbar.",
|
|
1302
|
+
"status": "todo-docs",
|
|
1303
|
+
"url": "/docs/components/composer-actions",
|
|
1304
|
+
"mdUrl": "/docs/components/composer-actions.md",
|
|
1305
|
+
"jsonUrl": "/r/components/composer-actions.json",
|
|
1306
|
+
"path": "./components/composer-actions.json",
|
|
1307
|
+
"sha256": "fa7f96483ccd4afc0788d0458c740e3812fb23627387945d668921e33dae4143"
|
|
1308
|
+
},
|
|
1309
|
+
{
|
|
1310
|
+
"name": "ComposerAttachButton",
|
|
1311
|
+
"slug": "composer-attach-button",
|
|
1312
|
+
"group": "elements",
|
|
1313
|
+
"importPath": "@cueplusplus/ui/elements",
|
|
1314
|
+
"summary": "The paperclip, as a plus.",
|
|
1315
|
+
"status": "todo-docs",
|
|
1316
|
+
"url": "/docs/components/composer-attach-button",
|
|
1317
|
+
"mdUrl": "/docs/components/composer-attach-button.md",
|
|
1318
|
+
"jsonUrl": "/r/components/composer-attach-button.json",
|
|
1319
|
+
"path": "./components/composer-attach-button.json",
|
|
1320
|
+
"sha256": "23403d9090dc3dd79324c2bfc59345e79d50c23594772aa930262c37a76f1774"
|
|
1321
|
+
},
|
|
1322
|
+
{
|
|
1323
|
+
"name": "ComposerAttachmentChip",
|
|
1324
|
+
"slug": "composer-attachment-chip",
|
|
1325
|
+
"group": "elements",
|
|
1326
|
+
"importPath": "@cueplusplus/ui/elements",
|
|
1327
|
+
"summary": "One attached file as a chip: an icon for its kind, its name and size, and — while it uploads — a progress hairline along the bottom edge.",
|
|
1328
|
+
"status": "todo-docs",
|
|
1329
|
+
"url": "/docs/components/composer-attachment-chip",
|
|
1330
|
+
"mdUrl": "/docs/components/composer-attachment-chip.md",
|
|
1331
|
+
"jsonUrl": "/r/components/composer-attachment-chip.json",
|
|
1332
|
+
"path": "./components/composer-attachment-chip.json",
|
|
1333
|
+
"sha256": "6231c92f8e8f449575cf978b1ec1285402f3cd2ff878bedc1ef729729afb8007"
|
|
1334
|
+
},
|
|
1335
|
+
{
|
|
1336
|
+
"name": "ComposerAttachments",
|
|
1337
|
+
"slug": "composer-attachments",
|
|
1338
|
+
"group": "elements",
|
|
1339
|
+
"importPath": "@cueplusplus/ui/elements",
|
|
1340
|
+
"summary": "The rail the attachment chips wrap in, above the input.",
|
|
1341
|
+
"status": "todo-docs",
|
|
1342
|
+
"url": "/docs/components/composer-attachments",
|
|
1343
|
+
"mdUrl": "/docs/components/composer-attachments.md",
|
|
1344
|
+
"jsonUrl": "/r/components/composer-attachments.json",
|
|
1345
|
+
"path": "./components/composer-attachments.json",
|
|
1346
|
+
"sha256": "5b9303c1bbb3d7bb47ac8f27a90eb39e94abdccb52605de4d646347ee85ff82c"
|
|
1347
|
+
},
|
|
1348
|
+
{
|
|
1349
|
+
"name": "ComposerBar",
|
|
1350
|
+
"slug": "composer-bar",
|
|
1351
|
+
"group": "elements",
|
|
1352
|
+
"importPath": "@cueplusplus/ui/elements",
|
|
1353
|
+
"summary": "The bar itself: the paper the input, the attachments and the toolbar sit on.",
|
|
1354
|
+
"status": "todo-docs",
|
|
1355
|
+
"url": "/docs/components/composer-bar",
|
|
1356
|
+
"mdUrl": "/docs/components/composer-bar.md",
|
|
1357
|
+
"jsonUrl": "/r/components/composer-bar.json",
|
|
1358
|
+
"path": "./components/composer-bar.json",
|
|
1359
|
+
"sha256": "b0cf81e631c1ec497d438d2685ca976704636b3b286fdbd99c9aaa2e514901ba"
|
|
1360
|
+
},
|
|
1361
|
+
{
|
|
1362
|
+
"name": "ComposerCommandItem",
|
|
1363
|
+
"slug": "composer-command-item",
|
|
1364
|
+
"group": "elements",
|
|
1365
|
+
"importPath": "@cueplusplus/ui/elements",
|
|
1366
|
+
"summary": "A slash command in the menu: its icon, `/name`, what it does, and the return key on the active row.",
|
|
1367
|
+
"status": "todo-docs",
|
|
1368
|
+
"url": "/docs/components/composer-command-item",
|
|
1369
|
+
"mdUrl": "/docs/components/composer-command-item.md",
|
|
1370
|
+
"jsonUrl": "/r/components/composer-command-item.json",
|
|
1371
|
+
"path": "./components/composer-command-item.json",
|
|
1372
|
+
"sha256": "8ab8bf62a9e4a12ee72ecf607d9bd663aba5457a47241c435b7b26d2d82eb1f5"
|
|
1373
|
+
},
|
|
1374
|
+
{
|
|
1375
|
+
"name": "ComposerContext",
|
|
1376
|
+
"slug": "composer-context",
|
|
1377
|
+
"group": "elements",
|
|
1378
|
+
"importPath": "@cueplusplus/ui/elements",
|
|
1379
|
+
"summary": "The context-window dial in the toolbar, with the breakdown on hover or focus.",
|
|
1380
|
+
"status": "todo-docs",
|
|
1381
|
+
"url": "/docs/components/composer-context",
|
|
1382
|
+
"mdUrl": "/docs/components/composer-context.md",
|
|
1383
|
+
"jsonUrl": "/r/components/composer-context.json",
|
|
1384
|
+
"path": "./components/composer-context.json",
|
|
1385
|
+
"sha256": "9229c12d2db3f0074126bb03b97384905b23ccbd9ea6fcd361e9ba71094d3b95"
|
|
1386
|
+
},
|
|
1387
|
+
{
|
|
1388
|
+
"name": "ComposerInput",
|
|
1389
|
+
"slug": "composer-input",
|
|
1390
|
+
"group": "elements",
|
|
1391
|
+
"importPath": "@cueplusplus/ui/elements",
|
|
1392
|
+
"summary": "The text field.",
|
|
1393
|
+
"status": "todo-docs",
|
|
1394
|
+
"url": "/docs/components/composer-input",
|
|
1395
|
+
"mdUrl": "/docs/components/composer-input.md",
|
|
1396
|
+
"jsonUrl": "/r/components/composer-input.json",
|
|
1397
|
+
"path": "./components/composer-input.json",
|
|
1398
|
+
"sha256": "1eb6febfa7249cf6747dc6d68ed23ba926c7c4a3a6235b966ca9fa1bca02044a"
|
|
1399
|
+
},
|
|
1400
|
+
{
|
|
1401
|
+
"name": "ComposerMenu",
|
|
1402
|
+
"slug": "composer-menu",
|
|
1403
|
+
"group": "elements",
|
|
1404
|
+
"importPath": "@cueplusplus/ui/elements",
|
|
1405
|
+
"summary": "The popover the slash and mention menus are drawn in, anchored above the bar.",
|
|
1406
|
+
"status": "todo-docs",
|
|
1407
|
+
"url": "/docs/components/composer-menu",
|
|
1408
|
+
"mdUrl": "/docs/components/composer-menu.md",
|
|
1409
|
+
"jsonUrl": "/r/components/composer-menu.json",
|
|
1410
|
+
"path": "./components/composer-menu.json",
|
|
1411
|
+
"sha256": "be9bf9b53bd60367a4ce4ab82a2618b82528f9525e276684b3e9b56b286d9b2b"
|
|
1412
|
+
},
|
|
1413
|
+
{
|
|
1414
|
+
"name": "ComposerMenuItem",
|
|
1415
|
+
"slug": "composer-menu-item",
|
|
1416
|
+
"group": "elements",
|
|
1417
|
+
"importPath": "@cueplusplus/ui/elements",
|
|
1418
|
+
"summary": "One row of a `ComposerMenu`, and the chassis the command, person and model rows are built on.",
|
|
1419
|
+
"status": "todo-docs",
|
|
1420
|
+
"url": "/docs/components/composer-menu-item",
|
|
1421
|
+
"mdUrl": "/docs/components/composer-menu-item.md",
|
|
1422
|
+
"jsonUrl": "/r/components/composer-menu-item.json",
|
|
1423
|
+
"path": "./components/composer-menu-item.json",
|
|
1424
|
+
"sha256": "6deb753747402b7d64a5e6b5da53af804b8c1d6b918b670e858cb3e6c9b6fd00"
|
|
1425
|
+
},
|
|
1426
|
+
{
|
|
1427
|
+
"name": "ComposerModelItem",
|
|
1428
|
+
"slug": "composer-model-item",
|
|
1429
|
+
"group": "elements",
|
|
1430
|
+
"importPath": "@cueplusplus/ui/elements",
|
|
1431
|
+
"summary": "One model in the menu, with its metadata and a tick on the chosen one.",
|
|
1432
|
+
"status": "todo-docs",
|
|
1433
|
+
"url": "/docs/components/composer-model-item",
|
|
1434
|
+
"mdUrl": "/docs/components/composer-model-item.md",
|
|
1435
|
+
"jsonUrl": "/r/components/composer-model-item.json",
|
|
1436
|
+
"path": "./components/composer-model-item.json",
|
|
1437
|
+
"sha256": "cff452af36fdb7014f904a12702c49a9393a359010b3c4b6c28ccaa5a5a4aba3"
|
|
1438
|
+
},
|
|
1439
|
+
{
|
|
1440
|
+
"name": "ComposerModelTrigger",
|
|
1441
|
+
"slug": "composer-model-trigger",
|
|
1442
|
+
"group": "elements",
|
|
1443
|
+
"importPath": "@cueplusplus/ui/elements",
|
|
1444
|
+
"summary": "The model name in the toolbar, which opens the model menu.",
|
|
1445
|
+
"status": "todo-docs",
|
|
1446
|
+
"url": "/docs/components/composer-model-trigger",
|
|
1447
|
+
"mdUrl": "/docs/components/composer-model-trigger.md",
|
|
1448
|
+
"jsonUrl": "/r/components/composer-model-trigger.json",
|
|
1449
|
+
"path": "./components/composer-model-trigger.json",
|
|
1450
|
+
"sha256": "0dca8b5f33ec5d6f31ff7ce8eed926685b684d5f4c499c29816aa1a7ce05b7a3"
|
|
1451
|
+
},
|
|
1452
|
+
{
|
|
1453
|
+
"name": "ComposerPersonItem",
|
|
1454
|
+
"slug": "composer-person-item",
|
|
1455
|
+
"group": "elements",
|
|
1456
|
+
"importPath": "@cueplusplus/ui/elements",
|
|
1457
|
+
"summary": "A mentionable person in the menu: their initial, their name, and whether they are an agent or a human.",
|
|
1458
|
+
"status": "todo-docs",
|
|
1459
|
+
"url": "/docs/components/composer-person-item",
|
|
1460
|
+
"mdUrl": "/docs/components/composer-person-item.md",
|
|
1461
|
+
"jsonUrl": "/r/components/composer-person-item.json",
|
|
1462
|
+
"path": "./components/composer-person-item.json",
|
|
1463
|
+
"sha256": "056e8cd2a0832ea69bc93ab6d50717a9aeffcfc5891393993cb9f070d696f625"
|
|
1464
|
+
},
|
|
1465
|
+
{
|
|
1466
|
+
"name": "ComposerSend",
|
|
1467
|
+
"slug": "composer-send",
|
|
1468
|
+
"group": "elements",
|
|
1469
|
+
"importPath": "@cueplusplus/ui/elements",
|
|
1470
|
+
"summary": "Send, which becomes stop while the model is streaming.",
|
|
1471
|
+
"status": "todo-docs",
|
|
1472
|
+
"url": "/docs/components/composer-send",
|
|
1473
|
+
"mdUrl": "/docs/components/composer-send.md",
|
|
1474
|
+
"jsonUrl": "/r/components/composer-send.json",
|
|
1475
|
+
"path": "./components/composer-send.json",
|
|
1476
|
+
"sha256": "c7e38e94f9d013e4338b052c46d1471747a1d744f8c2fd7299adb23841ffb57a"
|
|
1477
|
+
},
|
|
1478
|
+
{
|
|
1479
|
+
"name": "ComposerToolbar",
|
|
1480
|
+
"slug": "composer-toolbar",
|
|
1481
|
+
"group": "elements",
|
|
1482
|
+
"importPath": "@cueplusplus/ui/elements",
|
|
1483
|
+
"summary": "The row under the input, which holds the two `ComposerActions` clusters.",
|
|
1484
|
+
"status": "todo-docs",
|
|
1485
|
+
"url": "/docs/components/composer-toolbar",
|
|
1486
|
+
"mdUrl": "/docs/components/composer-toolbar.md",
|
|
1487
|
+
"jsonUrl": "/r/components/composer-toolbar.json",
|
|
1488
|
+
"path": "./components/composer-toolbar.json",
|
|
1489
|
+
"sha256": "71442dea9fdb067a343ace9983f1b7e5c725d045923149c84b2a426a60fe0ada"
|
|
1490
|
+
},
|
|
1491
|
+
{
|
|
1492
|
+
"name": "ComposerVoice",
|
|
1493
|
+
"slug": "composer-voice",
|
|
1494
|
+
"group": "elements",
|
|
1495
|
+
"importPath": "@cueplusplus/ui/elements",
|
|
1496
|
+
"summary": "What replaces the input while the microphone is open: a level meter, a running clock while recording, and a shimmering `Transcribing` once it stops.",
|
|
1497
|
+
"status": "todo-docs",
|
|
1498
|
+
"url": "/docs/components/composer-voice",
|
|
1499
|
+
"mdUrl": "/docs/components/composer-voice.md",
|
|
1500
|
+
"jsonUrl": "/r/components/composer-voice.json",
|
|
1501
|
+
"path": "./components/composer-voice.json",
|
|
1502
|
+
"sha256": "a20034b5a4dc4ae715ffb4310ac0e96961c7b074ad33c47257e1eafba0f05ca8"
|
|
1503
|
+
},
|
|
1504
|
+
{
|
|
1505
|
+
"name": "ComposerVoiceButton",
|
|
1506
|
+
"slug": "composer-voice-button",
|
|
1507
|
+
"group": "elements",
|
|
1508
|
+
"importPath": "@cueplusplus/ui/elements",
|
|
1509
|
+
"summary": "The microphone, which becomes a filled stop while recording.",
|
|
1510
|
+
"status": "todo-docs",
|
|
1511
|
+
"url": "/docs/components/composer-voice-button",
|
|
1512
|
+
"mdUrl": "/docs/components/composer-voice-button.md",
|
|
1513
|
+
"jsonUrl": "/r/components/composer-voice-button.json",
|
|
1514
|
+
"path": "./components/composer-voice-button.json",
|
|
1515
|
+
"sha256": "2e1b90b3d5956fd83be86de8302330f59d5a483f840a41ff609be6716a0adb5e"
|
|
1516
|
+
},
|
|
1517
|
+
{
|
|
1518
|
+
"name": "ComputerUse",
|
|
1519
|
+
"slug": "computer-use",
|
|
1520
|
+
"group": "elements",
|
|
1521
|
+
"importPath": "@cueplusplus/ui/elements",
|
|
1522
|
+
"summary": "The screen the agent is driving, with a cursor trail and what it is doing right now.",
|
|
1523
|
+
"status": "todo-docs",
|
|
1524
|
+
"url": "/docs/components/computer-use",
|
|
1525
|
+
"mdUrl": "/docs/components/computer-use.md",
|
|
1526
|
+
"jsonUrl": "/r/components/computer-use.json",
|
|
1527
|
+
"path": "./components/computer-use.json",
|
|
1528
|
+
"sha256": "e046a18b9b4056c3e2a3864be66bcb36bfbeb4541260cd58a322d05a38b08664"
|
|
1529
|
+
},
|
|
1530
|
+
{
|
|
1531
|
+
"name": "ConfidenceMarker",
|
|
1532
|
+
"slug": "confidence-marker",
|
|
1533
|
+
"group": "elements",
|
|
1534
|
+
"importPath": "@cueplusplus/ui/elements",
|
|
1535
|
+
"summary": "Which claims came from a source, which were inferred, and which are guesses.",
|
|
1536
|
+
"status": "todo-docs",
|
|
1537
|
+
"url": "/docs/components/confidence-marker",
|
|
1538
|
+
"mdUrl": "/docs/components/confidence-marker.md",
|
|
1539
|
+
"jsonUrl": "/r/components/confidence-marker.json",
|
|
1540
|
+
"path": "./components/confidence-marker.json",
|
|
1541
|
+
"sha256": "d72f7cff60cc4579c3462f7f1c4cba301fd2e5da1da19022fa426b45ac3b8d0b"
|
|
1542
|
+
},
|
|
1543
|
+
{
|
|
1544
|
+
"name": "ConnectionState",
|
|
1545
|
+
"slug": "connection-state",
|
|
1546
|
+
"group": "elements",
|
|
1547
|
+
"importPath": "@cueplusplus/ui/elements",
|
|
1548
|
+
"summary": "The socket drops, the run keeps going on the server, and the stream is picked back up.",
|
|
1549
|
+
"status": "todo-docs",
|
|
1550
|
+
"url": "/docs/components/connection-state",
|
|
1551
|
+
"mdUrl": "/docs/components/connection-state.md",
|
|
1552
|
+
"jsonUrl": "/r/components/connection-state.json",
|
|
1553
|
+
"path": "./components/connection-state.json",
|
|
1554
|
+
"sha256": "a51fa9824011ddd3b7a5dc3b6672cfa916fb488fb0d42d7b85a57a1e655c6614"
|
|
1555
|
+
},
|
|
1556
|
+
{
|
|
1557
|
+
"name": "ContextBreakdown",
|
|
1558
|
+
"slug": "context-breakdown",
|
|
1559
|
+
"group": "elements",
|
|
1560
|
+
"importPath": "@cueplusplus/ui/elements",
|
|
1561
|
+
"summary": "Where the window actually went: prompt, tools, files, conversation, and what's left.",
|
|
1562
|
+
"status": "todo-docs",
|
|
1563
|
+
"url": "/docs/components/context-breakdown",
|
|
1564
|
+
"mdUrl": "/docs/components/context-breakdown.md",
|
|
1565
|
+
"jsonUrl": "/r/components/context-breakdown.json",
|
|
1566
|
+
"path": "./components/context-breakdown.json",
|
|
1567
|
+
"sha256": "1a6d083ff2c0822cc794c34ed4ad21bf833d419a956582d4b30c602d8b0747e2"
|
|
1568
|
+
},
|
|
1569
|
+
{
|
|
1570
|
+
"name": "ContextUsage",
|
|
1571
|
+
"slug": "context-usage",
|
|
1572
|
+
"group": "elements",
|
|
1573
|
+
"importPath": "@cueplusplus/ui/elements",
|
|
1574
|
+
"summary": "Where the window went, what share each part of it took, and what that cost.",
|
|
1575
|
+
"status": "todo-docs",
|
|
1576
|
+
"url": "/docs/components/context-usage",
|
|
1577
|
+
"mdUrl": "/docs/components/context-usage.md",
|
|
1578
|
+
"jsonUrl": "/r/components/context-usage.json",
|
|
1579
|
+
"path": "./components/context-usage.json",
|
|
1580
|
+
"sha256": "8a606c593982526b583b8582660ddf29ee764cbf8b51d8c458439c3b50a98cdc"
|
|
1581
|
+
},
|
|
1582
|
+
{
|
|
1583
|
+
"name": "ConversationSearch",
|
|
1584
|
+
"slug": "conversation-search",
|
|
1585
|
+
"group": "elements",
|
|
1586
|
+
"importPath": "@cueplusplus/ui/elements",
|
|
1587
|
+
"summary": "Find inside a long thread, with every hit marked down the scrollbar.",
|
|
1588
|
+
"status": "todo-docs",
|
|
1589
|
+
"url": "/docs/components/conversation-search",
|
|
1590
|
+
"mdUrl": "/docs/components/conversation-search.md",
|
|
1591
|
+
"jsonUrl": "/r/components/conversation-search.json",
|
|
1592
|
+
"path": "./components/conversation-search.json",
|
|
1593
|
+
"sha256": "0ca68878be7ffdf3e3129db11c513d2ab146da8dc4cd0ac88f8a1341dd1b6562"
|
|
1594
|
+
},
|
|
1595
|
+
{
|
|
1596
|
+
"name": "CostMeter",
|
|
1597
|
+
"slug": "cost-meter",
|
|
1598
|
+
"group": "elements",
|
|
1599
|
+
"importPath": "@cueplusplus/ui/elements",
|
|
1600
|
+
"summary": "What the run spent, split by model, against the session total.",
|
|
1601
|
+
"status": "todo-docs",
|
|
1602
|
+
"url": "/docs/components/cost-meter",
|
|
1603
|
+
"mdUrl": "/docs/components/cost-meter.md",
|
|
1604
|
+
"jsonUrl": "/r/components/cost-meter.json",
|
|
1605
|
+
"path": "./components/cost-meter.json",
|
|
1606
|
+
"sha256": "d1ebd92515bd81ac4b2ec74b957b0699d569e8e0a25f93201b50d7ee46034867"
|
|
1607
|
+
},
|
|
1608
|
+
{
|
|
1609
|
+
"name": "DaySeparator",
|
|
1610
|
+
"slug": "day-separator",
|
|
1611
|
+
"group": "elements",
|
|
1612
|
+
"importPath": "@cueplusplus/ui/elements",
|
|
1613
|
+
"summary": "Chronology in a long thread: days marked, times on hover.",
|
|
1614
|
+
"status": "todo-docs",
|
|
1615
|
+
"url": "/docs/components/day-separator",
|
|
1616
|
+
"mdUrl": "/docs/components/day-separator.md",
|
|
1617
|
+
"jsonUrl": "/r/components/day-separator.json",
|
|
1618
|
+
"path": "./components/day-separator.json",
|
|
1619
|
+
"sha256": "6dc36492816aabbb6f9b0d9b5b0a9132d50e179900edf0a24702fe6e698c9e6e"
|
|
1620
|
+
},
|
|
1621
|
+
{
|
|
1622
|
+
"name": "Diagram",
|
|
1623
|
+
"slug": "diagram",
|
|
1624
|
+
"group": "elements",
|
|
1625
|
+
"importPath": "@cueplusplus/ui/elements",
|
|
1626
|
+
"summary": "A drawn answer with zoom, reset, and a full-bleed view; you hand it the rendered graphic.",
|
|
1627
|
+
"status": "todo-docs",
|
|
1628
|
+
"url": "/docs/components/diagram",
|
|
1629
|
+
"mdUrl": "/docs/components/diagram.md",
|
|
1630
|
+
"jsonUrl": "/r/components/diagram.json",
|
|
1631
|
+
"path": "./components/diagram.json",
|
|
1632
|
+
"sha256": "fccdb9d429a8c8e073feecacab8a8e61348cb19e59be1a5cf55f831c23b4c181"
|
|
1633
|
+
},
|
|
1634
|
+
{
|
|
1635
|
+
"name": "DocumentReference",
|
|
1636
|
+
"slug": "document-reference",
|
|
1637
|
+
"group": "elements",
|
|
1638
|
+
"importPath": "@cueplusplus/ui/elements",
|
|
1639
|
+
"summary": "A document the answer leans on, with the quoted passage and the page to jump to.",
|
|
1640
|
+
"status": "todo-docs",
|
|
1641
|
+
"url": "/docs/components/document-reference",
|
|
1642
|
+
"mdUrl": "/docs/components/document-reference.md",
|
|
1643
|
+
"jsonUrl": "/r/components/document-reference.json",
|
|
1644
|
+
"path": "./components/document-reference.json",
|
|
1645
|
+
"sha256": "e0829cedd826b56cb45998c9b744850fffb3bdcf15a8dbb6c579f9e7fd4f5d7d"
|
|
1646
|
+
},
|
|
1647
|
+
{
|
|
1648
|
+
"name": "DraftRestore",
|
|
1649
|
+
"slug": "draft-restore",
|
|
1650
|
+
"group": "elements",
|
|
1651
|
+
"importPath": "@cueplusplus/ui/elements",
|
|
1652
|
+
"summary": "Come back to a thread and the sentence you never sent is still waiting.",
|
|
1653
|
+
"status": "todo-docs",
|
|
1654
|
+
"url": "/docs/components/draft-restore",
|
|
1655
|
+
"mdUrl": "/docs/components/draft-restore.md",
|
|
1656
|
+
"jsonUrl": "/r/components/draft-restore.json",
|
|
1657
|
+
"path": "./components/draft-restore.json",
|
|
1658
|
+
"sha256": "c063a9f210523ae889a447a0450a5e842854e9f34850df4c52431bd2d52046f0"
|
|
1659
|
+
},
|
|
1660
|
+
{
|
|
1661
|
+
"name": "EditMessage",
|
|
1662
|
+
"slug": "edit-message",
|
|
1663
|
+
"group": "elements",
|
|
1664
|
+
"importPath": "@cueplusplus/ui/elements",
|
|
1665
|
+
"summary": "Rewrite a turn in place, told up front how many replies the edit throws away.",
|
|
1666
|
+
"status": "todo-docs",
|
|
1667
|
+
"url": "/docs/components/edit-message",
|
|
1668
|
+
"mdUrl": "/docs/components/edit-message.md",
|
|
1669
|
+
"jsonUrl": "/r/components/edit-message.json",
|
|
1670
|
+
"path": "./components/edit-message.json",
|
|
1671
|
+
"sha256": "a3234045c701793e38b127c39135aa8b75259be0921a46456bea4cd7419c31b0"
|
|
1672
|
+
},
|
|
1673
|
+
{
|
|
1674
|
+
"name": "ElementsCommandPalette",
|
|
1675
|
+
"slug": "elements-command-palette",
|
|
1676
|
+
"group": "elements",
|
|
1677
|
+
"importPath": "@cueplusplus/ui/elements",
|
|
1678
|
+
"summary": "Everything the app can do, one keystroke away and grouped by where it acts.",
|
|
1679
|
+
"status": "todo-docs",
|
|
1680
|
+
"url": "/docs/components/elements-command-palette",
|
|
1681
|
+
"mdUrl": "/docs/components/elements-command-palette.md",
|
|
1682
|
+
"jsonUrl": "/r/components/elements-command-palette.json",
|
|
1683
|
+
"path": "./components/elements-command-palette.json",
|
|
1684
|
+
"sha256": "39dca7f81be4d5a502c1eb4f592e848484308dec1aec72536e659d413c177092"
|
|
1685
|
+
},
|
|
1686
|
+
{
|
|
1687
|
+
"name": "ElementsComposer",
|
|
1688
|
+
"slug": "elements-composer",
|
|
1689
|
+
"group": "elements",
|
|
1690
|
+
"importPath": "@cueplusplus/ui/elements",
|
|
1691
|
+
"summary": "The unified input: attachments, commands, mentions, models, voice, and context in one surface.",
|
|
1692
|
+
"status": "todo-docs",
|
|
1693
|
+
"url": "/docs/components/elements-composer",
|
|
1694
|
+
"mdUrl": "/docs/components/elements-composer.md",
|
|
1695
|
+
"jsonUrl": "/r/components/elements-composer.json",
|
|
1696
|
+
"path": "./components/elements-composer.json",
|
|
1697
|
+
"sha256": "9ebc266df5e9779ffb5c9d33ce0e91e0d0300adf6cb6b566bfce976eef5c9727"
|
|
1698
|
+
},
|
|
1699
|
+
{
|
|
1700
|
+
"name": "ElementsDataTable",
|
|
1701
|
+
"slug": "elements-data-table",
|
|
1702
|
+
"group": "elements",
|
|
1703
|
+
"importPath": "@cueplusplus/ui/elements",
|
|
1704
|
+
"summary": "A small comparison table the model can answer with directly.",
|
|
1705
|
+
"status": "todo-docs",
|
|
1706
|
+
"url": "/docs/components/elements-data-table",
|
|
1707
|
+
"mdUrl": "/docs/components/elements-data-table.md",
|
|
1708
|
+
"jsonUrl": "/r/components/elements-data-table.json",
|
|
1709
|
+
"path": "./components/elements-data-table.json",
|
|
1710
|
+
"sha256": "d83774e42003badcb74030ec28462134319babd98349849edce6ddbb56e2f2d9"
|
|
1711
|
+
},
|
|
1712
|
+
{
|
|
1713
|
+
"name": "ElementsTimeline",
|
|
1714
|
+
"slug": "elements-timeline",
|
|
1715
|
+
"group": "elements",
|
|
1716
|
+
"importPath": "@cueplusplus/ui/elements",
|
|
1717
|
+
"summary": "Events on a time axis, with what already happened and what is still coming.",
|
|
1718
|
+
"status": "todo-docs",
|
|
1719
|
+
"url": "/docs/components/elements-timeline",
|
|
1720
|
+
"mdUrl": "/docs/components/elements-timeline.md",
|
|
1721
|
+
"jsonUrl": "/r/components/elements-timeline.json",
|
|
1722
|
+
"path": "./components/elements-timeline.json",
|
|
1723
|
+
"sha256": "341512347f5e592b5e7f9e27ad56f9a65725a449dccbcd20227759cb5e07b120"
|
|
1724
|
+
},
|
|
1725
|
+
{
|
|
1726
|
+
"name": "ElicitationForm",
|
|
1727
|
+
"slug": "elicitation-form",
|
|
1728
|
+
"group": "elements",
|
|
1729
|
+
"importPath": "@cueplusplus/ui/elements",
|
|
1730
|
+
"summary": "A server pausing mid-tool-call to ask you for the fields it still needs.",
|
|
1731
|
+
"status": "todo-docs",
|
|
1732
|
+
"url": "/docs/components/elicitation-form",
|
|
1733
|
+
"mdUrl": "/docs/components/elicitation-form.md",
|
|
1734
|
+
"jsonUrl": "/r/components/elicitation-form.json",
|
|
1735
|
+
"path": "./components/elicitation-form.json",
|
|
1736
|
+
"sha256": "adb9b28d64a000a40f64aa4419668e6c0b212628bad0cd3df901503736c42938"
|
|
1737
|
+
},
|
|
1738
|
+
{
|
|
1739
|
+
"name": "EmptyStateComposer",
|
|
1740
|
+
"slug": "empty-state-composer",
|
|
1741
|
+
"group": "elements",
|
|
1742
|
+
"importPath": "@cueplusplus/ui/elements",
|
|
1743
|
+
"summary": "A composer-shaped invitation under the suggestions.",
|
|
1744
|
+
"status": "todo-docs",
|
|
1745
|
+
"url": "/docs/components/empty-state-composer",
|
|
1746
|
+
"mdUrl": "/docs/components/empty-state-composer.md",
|
|
1747
|
+
"jsonUrl": "/r/components/empty-state-composer.json",
|
|
1748
|
+
"path": "./components/empty-state-composer.json",
|
|
1749
|
+
"sha256": "b87fbaa9d8d0bc8f971083bb616c24d021e745425b9549bddfed305a0a76f75a"
|
|
1750
|
+
},
|
|
1751
|
+
{
|
|
1752
|
+
"name": "EmptyStateGreeting",
|
|
1753
|
+
"slug": "empty-state-greeting",
|
|
1754
|
+
"group": "elements",
|
|
1755
|
+
"importPath": "@cueplusplus/ui/elements",
|
|
1756
|
+
"summary": "The one line at the top of a blank thread.",
|
|
1757
|
+
"status": "todo-docs",
|
|
1758
|
+
"url": "/docs/components/empty-state-greeting",
|
|
1759
|
+
"mdUrl": "/docs/components/empty-state-greeting.md",
|
|
1760
|
+
"jsonUrl": "/r/components/empty-state-greeting.json",
|
|
1761
|
+
"path": "./components/empty-state-greeting.json",
|
|
1762
|
+
"sha256": "82759f213a83956e3b212f5581f3deea64ad583ae85ca303b4d77317ce900ed4"
|
|
1763
|
+
},
|
|
1764
|
+
{
|
|
1765
|
+
"name": "EmptyStateSuggestion",
|
|
1766
|
+
"slug": "empty-state-suggestion",
|
|
1767
|
+
"group": "elements",
|
|
1768
|
+
"importPath": "@cueplusplus/ui/elements",
|
|
1769
|
+
"summary": "One thing worth asking, as a pill.",
|
|
1770
|
+
"status": "todo-docs",
|
|
1771
|
+
"url": "/docs/components/empty-state-suggestion",
|
|
1772
|
+
"mdUrl": "/docs/components/empty-state-suggestion.md",
|
|
1773
|
+
"jsonUrl": "/r/components/empty-state-suggestion.json",
|
|
1774
|
+
"path": "./components/empty-state-suggestion.json",
|
|
1775
|
+
"sha256": "6362914316d23656cb0072f964914eff9f89e8c4571898201e9948007a675175"
|
|
1776
|
+
},
|
|
1777
|
+
{
|
|
1778
|
+
"name": "EmptyStateSuggestions",
|
|
1779
|
+
"slug": "empty-state-suggestions",
|
|
1780
|
+
"group": "elements",
|
|
1781
|
+
"importPath": "@cueplusplus/ui/elements",
|
|
1782
|
+
"summary": "The row the suggestion pills wrap in.",
|
|
1783
|
+
"status": "todo-docs",
|
|
1784
|
+
"url": "/docs/components/empty-state-suggestions",
|
|
1785
|
+
"mdUrl": "/docs/components/empty-state-suggestions.md",
|
|
1786
|
+
"jsonUrl": "/r/components/empty-state-suggestions.json",
|
|
1787
|
+
"path": "./components/empty-state-suggestions.json",
|
|
1788
|
+
"sha256": "de412a0f9d7eee742d8b28ff3fa3e2d2cc635eb4e5baf6e9d4bfb161f53b4e6a"
|
|
1789
|
+
},
|
|
1790
|
+
{
|
|
1791
|
+
"name": "EndOfTurnSummary",
|
|
1792
|
+
"slug": "end-of-turn-summary",
|
|
1793
|
+
"group": "elements",
|
|
1794
|
+
"importPath": "@cueplusplus/ui/elements",
|
|
1795
|
+
"summary": "What the turn came to, in one line: `3 files changed +48 −12`.",
|
|
1796
|
+
"status": "todo-docs",
|
|
1797
|
+
"url": "/docs/components/end-of-turn-summary",
|
|
1798
|
+
"mdUrl": "/docs/components/end-of-turn-summary.md",
|
|
1799
|
+
"jsonUrl": "/r/components/end-of-turn-summary.json",
|
|
1800
|
+
"path": "./components/end-of-turn-summary.json",
|
|
1801
|
+
"sha256": "47274323e3318bf3287c076d06f869eac28a9136bdd0b558fd5cdd80ef94c3bc"
|
|
1802
|
+
},
|
|
1803
|
+
{
|
|
1804
|
+
"name": "ErrorState",
|
|
1805
|
+
"slug": "error-state",
|
|
1806
|
+
"group": "elements",
|
|
1807
|
+
"importPath": "@cueplusplus/ui/elements",
|
|
1808
|
+
"summary": "A quiet failure banner with a retry path, not a modal in your face.",
|
|
1809
|
+
"status": "todo-docs",
|
|
1810
|
+
"url": "/docs/components/error-state",
|
|
1811
|
+
"mdUrl": "/docs/components/error-state.md",
|
|
1812
|
+
"jsonUrl": "/r/components/error-state.json",
|
|
1813
|
+
"path": "./components/error-state.json",
|
|
1814
|
+
"sha256": "012c178602341b81a35b5706ed3694da4fcea31df93d6174ea3a78b234318683"
|
|
1815
|
+
},
|
|
1816
|
+
{
|
|
1817
|
+
"name": "FeedbackDialog",
|
|
1818
|
+
"slug": "feedback-dialog",
|
|
1819
|
+
"group": "elements",
|
|
1820
|
+
"importPath": "@cueplusplus/ui/elements",
|
|
1821
|
+
"summary": "A thumbs-down that asks why, so the signal arrives with a reason attached.",
|
|
1822
|
+
"status": "todo-docs",
|
|
1823
|
+
"url": "/docs/components/feedback-dialog",
|
|
1824
|
+
"mdUrl": "/docs/components/feedback-dialog.md",
|
|
1825
|
+
"jsonUrl": "/r/components/feedback-dialog.json",
|
|
1826
|
+
"path": "./components/feedback-dialog.json",
|
|
1827
|
+
"sha256": "7615e1d13a081335ed3fc3abdd8a2204d1660b787a2988bcb79b809ae8bb216b"
|
|
1828
|
+
},
|
|
1829
|
+
{
|
|
1830
|
+
"name": "FileTree",
|
|
1831
|
+
"slug": "file-tree",
|
|
1832
|
+
"group": "elements",
|
|
1833
|
+
"importPath": "@cueplusplus/ui/elements",
|
|
1834
|
+
"summary": "Everything a run touched, as a tree, with the churn spelled out per file.",
|
|
1835
|
+
"status": "todo-docs",
|
|
1836
|
+
"url": "/docs/components/file-tree",
|
|
1837
|
+
"mdUrl": "/docs/components/file-tree.md",
|
|
1838
|
+
"jsonUrl": "/r/components/file-tree.json",
|
|
1839
|
+
"path": "./components/file-tree.json",
|
|
1840
|
+
"sha256": "7fb8ffb441a0547c28b126f4f043a7faf4fda53e5da128091d8fb4c0095c818f"
|
|
1841
|
+
},
|
|
1842
|
+
{
|
|
1843
|
+
"name": "FlowGraph",
|
|
1844
|
+
"slug": "flow-graph",
|
|
1845
|
+
"group": "elements",
|
|
1846
|
+
"importPath": "@cueplusplus/ui/elements",
|
|
1847
|
+
"summary": "Work as a graph rather than a list: branches that fan out and rejoin.",
|
|
1848
|
+
"status": "todo-docs",
|
|
1849
|
+
"url": "/docs/components/flow-graph",
|
|
1850
|
+
"mdUrl": "/docs/components/flow-graph.md",
|
|
1851
|
+
"jsonUrl": "/r/components/flow-graph.json",
|
|
1852
|
+
"path": "./components/flow-graph.json",
|
|
1853
|
+
"sha256": "254622ac895490f75d4859b47a75c9f7546b30d78cd123f92fa4d0a3c244a541"
|
|
1854
|
+
},
|
|
1855
|
+
{
|
|
1856
|
+
"name": "Frac",
|
|
1857
|
+
"slug": "frac",
|
|
1858
|
+
"group": "elements",
|
|
1859
|
+
"importPath": "@cueplusplus/ui/elements",
|
|
1860
|
+
"summary": "A fraction inside an expression — numerator, rule, denominator — set inline and aligned to the middle.",
|
|
1861
|
+
"status": "todo-docs",
|
|
1862
|
+
"url": "/docs/components/frac",
|
|
1863
|
+
"mdUrl": "/docs/components/frac.md",
|
|
1864
|
+
"jsonUrl": "/r/components/frac.json",
|
|
1865
|
+
"path": "./components/frac.json",
|
|
1866
|
+
"sha256": "2c17e31e90034ed3eedaa15c73329968df9b634ad3788a44fe6ef17af3e648a6"
|
|
1867
|
+
},
|
|
1868
|
+
{
|
|
1869
|
+
"name": "GenerationLoader",
|
|
1870
|
+
"slug": "generation-loader",
|
|
1871
|
+
"group": "elements",
|
|
1872
|
+
"importPath": "@cueplusplus/ui/elements",
|
|
1873
|
+
"summary": "The wait before there is anything to show.",
|
|
1874
|
+
"status": "todo-docs",
|
|
1875
|
+
"url": "/docs/components/generation-loader",
|
|
1876
|
+
"mdUrl": "/docs/components/generation-loader.md",
|
|
1877
|
+
"jsonUrl": "/r/components/generation-loader.json",
|
|
1878
|
+
"path": "./components/generation-loader.json",
|
|
1879
|
+
"sha256": "72ba63a999d80bbe9c688add81eb9b220dbb7c6994f4bc3cfa9e2162679c6390"
|
|
1880
|
+
},
|
|
1881
|
+
{
|
|
1882
|
+
"name": "GenerativeUI",
|
|
1883
|
+
"slug": "generative-ui",
|
|
1884
|
+
"group": "elements",
|
|
1885
|
+
"importPath": "@cueplusplus/ui/elements/generative",
|
|
1886
|
+
"summary": "The vocabulary a model composes at runtime.",
|
|
1887
|
+
"status": "todo-docs",
|
|
1888
|
+
"url": "/docs/components/generative-ui",
|
|
1889
|
+
"mdUrl": "/docs/components/generative-ui.md",
|
|
1890
|
+
"jsonUrl": "/r/components/generative-ui.json",
|
|
1891
|
+
"path": "./components/generative-ui.json",
|
|
1892
|
+
"sha256": "52c0f83a44cfa9a1b7fdaf5a459c1760b745c57b241ec95c1983e276ae15ae38"
|
|
1893
|
+
},
|
|
1894
|
+
{
|
|
1895
|
+
"name": "GuardrailNotice",
|
|
1896
|
+
"slug": "guardrail-notice",
|
|
1897
|
+
"group": "elements",
|
|
1898
|
+
"importPath": "@cueplusplus/ui/elements",
|
|
1899
|
+
"summary": "A refusal in its own shape, with the nearest thing it can do instead.",
|
|
1900
|
+
"status": "todo-docs",
|
|
1901
|
+
"url": "/docs/components/guardrail-notice",
|
|
1902
|
+
"mdUrl": "/docs/components/guardrail-notice.md",
|
|
1903
|
+
"jsonUrl": "/r/components/guardrail-notice.json",
|
|
1904
|
+
"path": "./components/guardrail-notice.json",
|
|
1905
|
+
"sha256": "f6879bb401f6bc28b363f86af62ce3b1402831729717a4129db24a91acc2a74c"
|
|
1906
|
+
},
|
|
1907
|
+
{
|
|
1908
|
+
"name": "ImageGeneration",
|
|
1909
|
+
"slug": "image-generation",
|
|
1910
|
+
"group": "elements",
|
|
1911
|
+
"importPath": "@cueplusplus/ui/elements",
|
|
1912
|
+
"summary": "A dot grid holds the frame while the image resolves out of a blur.",
|
|
1913
|
+
"status": "todo-docs",
|
|
1914
|
+
"url": "/docs/components/image-generation",
|
|
1915
|
+
"mdUrl": "/docs/components/image-generation.md",
|
|
1916
|
+
"jsonUrl": "/r/components/image-generation.json",
|
|
1917
|
+
"path": "./components/image-generation.json",
|
|
1918
|
+
"sha256": "5f9068dd0b6a75c28daa54cc431f63af9d16dd86d13cfa911977da4f99bd7f59"
|
|
1919
|
+
},
|
|
1920
|
+
{
|
|
1921
|
+
"name": "InlineCitation",
|
|
1922
|
+
"slug": "inline-citation",
|
|
1923
|
+
"group": "elements",
|
|
1924
|
+
"importPath": "@cueplusplus/ui/elements",
|
|
1925
|
+
"summary": "Numbered references inside a sentence, each with a hover preview of its source.",
|
|
1926
|
+
"status": "todo-docs",
|
|
1927
|
+
"url": "/docs/components/inline-citation",
|
|
1928
|
+
"mdUrl": "/docs/components/inline-citation.md",
|
|
1929
|
+
"jsonUrl": "/r/components/inline-citation.json",
|
|
1930
|
+
"path": "./components/inline-citation.json",
|
|
1931
|
+
"sha256": "2294dc91e59fa8982f6b77eec5c400cd39020a48d70945afebb2d2fb8e6fa817"
|
|
1932
|
+
},
|
|
1933
|
+
{
|
|
1934
|
+
"name": "JobProgress",
|
|
1935
|
+
"slug": "job-progress",
|
|
1936
|
+
"group": "elements",
|
|
1937
|
+
"importPath": "@cueplusplus/ui/elements",
|
|
1938
|
+
"summary": "Work measured in minutes: weighted stages, an ETA, and a way out.",
|
|
1939
|
+
"status": "todo-docs",
|
|
1940
|
+
"url": "/docs/components/job-progress",
|
|
1941
|
+
"mdUrl": "/docs/components/job-progress.md",
|
|
1942
|
+
"jsonUrl": "/r/components/job-progress.json",
|
|
1943
|
+
"path": "./components/job-progress.json",
|
|
1944
|
+
"sha256": "0d466ee20404899ae13226638f5e2b3f8a3f45bc1e3428b959f110791e23ca7e"
|
|
1945
|
+
},
|
|
1946
|
+
{
|
|
1947
|
+
"name": "LauncherBubble",
|
|
1948
|
+
"slug": "launcher-bubble",
|
|
1949
|
+
"group": "elements",
|
|
1950
|
+
"importPath": "@cueplusplus/ui/elements",
|
|
1951
|
+
"summary": "The floating entry point, and the panel it opens into.",
|
|
1952
|
+
"status": "todo-docs",
|
|
1953
|
+
"url": "/docs/components/launcher-bubble",
|
|
1954
|
+
"mdUrl": "/docs/components/launcher-bubble.md",
|
|
1955
|
+
"jsonUrl": "/r/components/launcher-bubble.json",
|
|
1956
|
+
"path": "./components/launcher-bubble.json",
|
|
1957
|
+
"sha256": "31f50a9342ea575a6868fceefecd10581dbb98cfa7b7e32bac36562d27eab760"
|
|
1958
|
+
},
|
|
1959
|
+
{
|
|
1960
|
+
"name": "LiveRegionAnnouncer",
|
|
1961
|
+
"slug": "live-region-announcer",
|
|
1962
|
+
"group": "elements",
|
|
1963
|
+
"importPath": "@cueplusplus/ui/elements",
|
|
1964
|
+
"summary": "One polite region, and a queue that makes it audible.",
|
|
1965
|
+
"status": "todo-docs",
|
|
1966
|
+
"url": "/docs/components/live-region-announcer",
|
|
1967
|
+
"mdUrl": "/docs/components/live-region-announcer.md",
|
|
1968
|
+
"jsonUrl": "/r/components/live-region-announcer.json",
|
|
1969
|
+
"path": "./components/live-region-announcer.json",
|
|
1970
|
+
"sha256": "850226664ea2da52d39558f20a78627e4763d5505baac48c39e3ced534bb43f1"
|
|
1971
|
+
},
|
|
1972
|
+
{
|
|
1973
|
+
"name": "MapAnswer",
|
|
1974
|
+
"slug": "map-answer",
|
|
1975
|
+
"group": "elements",
|
|
1976
|
+
"importPath": "@cueplusplus/ui/elements",
|
|
1977
|
+
"summary": "A location answer: pins, a route between them, and the list they came from.",
|
|
1978
|
+
"status": "todo-docs",
|
|
1979
|
+
"url": "/docs/components/map-answer",
|
|
1980
|
+
"mdUrl": "/docs/components/map-answer.md",
|
|
1981
|
+
"jsonUrl": "/r/components/map-answer.json",
|
|
1982
|
+
"path": "./components/map-answer.json",
|
|
1983
|
+
"sha256": "74a3918c9008f9b1596abbd9676f75820c7c8d92458919f199a2bd4630aa0fd6"
|
|
1984
|
+
},
|
|
1985
|
+
{
|
|
1986
|
+
"name": "MarkdownText",
|
|
1987
|
+
"slug": "markdown-text",
|
|
1988
|
+
"group": "elements",
|
|
1989
|
+
"importPath": "@cueplusplus/ui/elements/markdown",
|
|
1990
|
+
"summary": "Model output, rendered.",
|
|
1991
|
+
"status": "todo-docs",
|
|
1992
|
+
"url": "/docs/components/markdown-text",
|
|
1993
|
+
"mdUrl": "/docs/components/markdown-text.md",
|
|
1994
|
+
"jsonUrl": "/r/components/markdown-text.json",
|
|
1995
|
+
"path": "./components/markdown-text.json",
|
|
1996
|
+
"sha256": "3b5387049a23b7faa5e8fcefb03a198835358209416572501770dc82677d5248"
|
|
1997
|
+
},
|
|
1998
|
+
{
|
|
1999
|
+
"name": "MathBlock",
|
|
2000
|
+
"slug": "math-block",
|
|
2001
|
+
"group": "elements",
|
|
2002
|
+
"importPath": "@cueplusplus/ui/elements",
|
|
2003
|
+
"summary": "Rendered expressions with the working shown, one step at a time.",
|
|
2004
|
+
"status": "todo-docs",
|
|
2005
|
+
"url": "/docs/components/math-block",
|
|
2006
|
+
"mdUrl": "/docs/components/math-block.md",
|
|
2007
|
+
"jsonUrl": "/r/components/math-block.json",
|
|
2008
|
+
"path": "./components/math-block.json",
|
|
2009
|
+
"sha256": "cd319367ed1b4382b5b6cd33718c0dd7821f534ed1404b5d568cb9df955b040d"
|
|
2010
|
+
},
|
|
2011
|
+
{
|
|
2012
|
+
"name": "McpServerPanel",
|
|
2013
|
+
"slug": "mcp-server-panel",
|
|
2014
|
+
"group": "elements",
|
|
2015
|
+
"importPath": "@cueplusplus/ui/elements",
|
|
2016
|
+
"summary": "Which servers are connected, what each one brought, and which is still waiting on you.",
|
|
2017
|
+
"status": "todo-docs",
|
|
2018
|
+
"url": "/docs/components/mcp-server-panel",
|
|
2019
|
+
"mdUrl": "/docs/components/mcp-server-panel.md",
|
|
2020
|
+
"jsonUrl": "/r/components/mcp-server-panel.json",
|
|
2021
|
+
"path": "./components/mcp-server-panel.json",
|
|
2022
|
+
"sha256": "9dcfd81faf1f97cf14a63385bfb7cda7324406a25aa237bb11efdab57d818f54"
|
|
2023
|
+
},
|
|
2024
|
+
{
|
|
2025
|
+
"name": "MemoryChips",
|
|
2026
|
+
"slug": "memory-chips",
|
|
2027
|
+
"group": "elements",
|
|
2028
|
+
"importPath": "@cueplusplus/ui/elements",
|
|
2029
|
+
"summary": "What it now remembers about you, written during the turn and removable.",
|
|
2030
|
+
"status": "todo-docs",
|
|
2031
|
+
"url": "/docs/components/memory-chips",
|
|
2032
|
+
"mdUrl": "/docs/components/memory-chips.md",
|
|
2033
|
+
"jsonUrl": "/r/components/memory-chips.json",
|
|
2034
|
+
"path": "./components/memory-chips.json",
|
|
2035
|
+
"sha256": "d8807d07a11c9f644bf04b4bd61747b771eca4899a84d94b68f84fff375a4762"
|
|
2036
|
+
},
|
|
2037
|
+
{
|
|
2038
|
+
"name": "MessageActions",
|
|
2039
|
+
"slug": "message-actions",
|
|
2040
|
+
"group": "elements",
|
|
2041
|
+
"importPath": "@cueplusplus/ui/elements",
|
|
2042
|
+
"summary": "Copy, rate, and regenerate.",
|
|
2043
|
+
"status": "todo-docs",
|
|
2044
|
+
"url": "/docs/components/message-actions",
|
|
2045
|
+
"mdUrl": "/docs/components/message-actions.md",
|
|
2046
|
+
"jsonUrl": "/r/components/message-actions.json",
|
|
2047
|
+
"path": "./components/message-actions.json",
|
|
2048
|
+
"sha256": "aa9692664ca753e2619f516ac26438c15cb12556c11dc984951ba55263ef1623"
|
|
2049
|
+
},
|
|
2050
|
+
{
|
|
2051
|
+
"name": "MessageAttachments",
|
|
2052
|
+
"slug": "message-attachments",
|
|
2053
|
+
"group": "elements",
|
|
2054
|
+
"importPath": "@cueplusplus/ui/elements",
|
|
2055
|
+
"summary": "The files a turn carried, as received rather than as staged.",
|
|
2056
|
+
"status": "todo-docs",
|
|
2057
|
+
"url": "/docs/components/message-attachments",
|
|
2058
|
+
"mdUrl": "/docs/components/message-attachments.md",
|
|
2059
|
+
"jsonUrl": "/r/components/message-attachments.json",
|
|
2060
|
+
"path": "./components/message-attachments.json",
|
|
2061
|
+
"sha256": "3ef49adec9ee7d9b893d8b019dc4d7bd969543451733b4785a55d9847664a190"
|
|
2062
|
+
},
|
|
2063
|
+
{
|
|
2064
|
+
"name": "MessageBranches",
|
|
2065
|
+
"slug": "message-branches",
|
|
2066
|
+
"group": "elements",
|
|
2067
|
+
"importPath": "@cueplusplus/ui/elements",
|
|
2068
|
+
"summary": "Navigate between regenerated versions of the same answer without losing your place.",
|
|
2069
|
+
"status": "todo-docs",
|
|
2070
|
+
"url": "/docs/components/message-branches",
|
|
2071
|
+
"mdUrl": "/docs/components/message-branches.md",
|
|
2072
|
+
"jsonUrl": "/r/components/message-branches.json",
|
|
2073
|
+
"path": "./components/message-branches.json",
|
|
2074
|
+
"sha256": "ef26d167e2fc6595cc959ab7adc49444d45e928b9a6f9b8d3c54d38f9b389ff2"
|
|
2075
|
+
},
|
|
2076
|
+
{
|
|
2077
|
+
"name": "MessagePair",
|
|
2078
|
+
"slug": "message-pair",
|
|
2079
|
+
"group": "elements",
|
|
2080
|
+
"importPath": "@cueplusplus/ui/elements",
|
|
2081
|
+
"summary": "A user bubble and a streaming assistant reply, with actions that appear on hover.",
|
|
2082
|
+
"status": "todo-docs",
|
|
2083
|
+
"url": "/docs/components/message-pair",
|
|
2084
|
+
"mdUrl": "/docs/components/message-pair.md",
|
|
2085
|
+
"jsonUrl": "/r/components/message-pair.json",
|
|
2086
|
+
"path": "./components/message-pair.json",
|
|
2087
|
+
"sha256": "8a820cac9a32d8533554d4e926360892cda48692f1884e0da304ab68bcf50fa9"
|
|
2088
|
+
},
|
|
2089
|
+
{
|
|
2090
|
+
"name": "MessageQueue",
|
|
2091
|
+
"slug": "message-queue",
|
|
2092
|
+
"group": "elements",
|
|
2093
|
+
"importPath": "@cueplusplus/ui/elements",
|
|
2094
|
+
"summary": "Turns you typed while a run was in flight, stacked and cancelable until it finishes.",
|
|
2095
|
+
"status": "todo-docs",
|
|
2096
|
+
"url": "/docs/components/message-queue",
|
|
2097
|
+
"mdUrl": "/docs/components/message-queue.md",
|
|
2098
|
+
"jsonUrl": "/r/components/message-queue.json",
|
|
2099
|
+
"path": "./components/message-queue.json",
|
|
2100
|
+
"sha256": "2d863478f67c3b6b487a626e3e1dcbdbb669539ed392bdb7bd0ed67f91af7896"
|
|
2101
|
+
},
|
|
2102
|
+
{
|
|
2103
|
+
"name": "MessageTiming",
|
|
2104
|
+
"slug": "message-timing",
|
|
2105
|
+
"group": "elements",
|
|
2106
|
+
"importPath": "@cueplusplus/ui/elements",
|
|
2107
|
+
"summary": "What the turn cost: time to first token, throughput, tokens, money.",
|
|
2108
|
+
"status": "todo-docs",
|
|
2109
|
+
"url": "/docs/components/message-timing",
|
|
2110
|
+
"mdUrl": "/docs/components/message-timing.md",
|
|
2111
|
+
"jsonUrl": "/r/components/message-timing.json",
|
|
2112
|
+
"path": "./components/message-timing.json",
|
|
2113
|
+
"sha256": "56f3cf176ac4da0856715c6aeb692628a5335d932f0c402b8dfc58de13690011"
|
|
2114
|
+
},
|
|
2115
|
+
{
|
|
2116
|
+
"name": "MobileComposer",
|
|
2117
|
+
"slug": "mobile-composer",
|
|
2118
|
+
"group": "elements",
|
|
2119
|
+
"importPath": "@cueplusplus/ui/elements",
|
|
2120
|
+
"summary": "The bottom sheet: keyboard-aware, quick actions above, thumb-sized targets.",
|
|
2121
|
+
"status": "todo-docs",
|
|
2122
|
+
"url": "/docs/components/mobile-composer",
|
|
2123
|
+
"mdUrl": "/docs/components/mobile-composer.md",
|
|
2124
|
+
"jsonUrl": "/r/components/mobile-composer.json",
|
|
2125
|
+
"path": "./components/mobile-composer.json",
|
|
2126
|
+
"sha256": "540ab7a02d0ddccb2a46b0837f693173e13d1968611233307e63365afbf051c3"
|
|
2127
|
+
},
|
|
2128
|
+
{
|
|
2129
|
+
"name": "ModelPicker",
|
|
2130
|
+
"slug": "model-picker",
|
|
2131
|
+
"group": "elements",
|
|
2132
|
+
"importPath": "@cueplusplus/ui/elements",
|
|
2133
|
+
"summary": "The full list rather than the rail: grouped by family, priced, with what each one can do.",
|
|
2134
|
+
"status": "todo-docs",
|
|
2135
|
+
"url": "/docs/components/model-picker",
|
|
2136
|
+
"mdUrl": "/docs/components/model-picker.md",
|
|
2137
|
+
"jsonUrl": "/r/components/model-picker.json",
|
|
2138
|
+
"path": "./components/model-picker.json",
|
|
2139
|
+
"sha256": "159f6e9b6a6291f8c09ab34bff3530e2e5f9feafe014ae2c66dce90f64b429b4"
|
|
2140
|
+
},
|
|
2141
|
+
{
|
|
2142
|
+
"name": "NumberTicker",
|
|
2143
|
+
"slug": "number-ticker",
|
|
2144
|
+
"group": "elements",
|
|
2145
|
+
"importPath": "@cueplusplus/ui/elements",
|
|
2146
|
+
"summary": "Digits that roll into place as a count updates in real time.",
|
|
2147
|
+
"status": "todo-docs",
|
|
2148
|
+
"url": "/docs/components/number-ticker",
|
|
2149
|
+
"mdUrl": "/docs/components/number-ticker.md",
|
|
2150
|
+
"jsonUrl": "/r/components/number-ticker.json",
|
|
2151
|
+
"path": "./components/number-ticker.json",
|
|
2152
|
+
"sha256": "f089b82ee0147f0a55a097a12a55c3edcde867c80a77315969874502ecff3ceb"
|
|
2153
|
+
},
|
|
2154
|
+
{
|
|
2155
|
+
"name": "Onboarding",
|
|
2156
|
+
"slug": "onboarding",
|
|
2157
|
+
"group": "elements",
|
|
2158
|
+
"importPath": "@cueplusplus/ui/elements",
|
|
2159
|
+
"summary": "First run: three moves that teach what this assistant is actually for.",
|
|
2160
|
+
"status": "todo-docs",
|
|
2161
|
+
"url": "/docs/components/onboarding",
|
|
2162
|
+
"mdUrl": "/docs/components/onboarding.md",
|
|
2163
|
+
"jsonUrl": "/r/components/onboarding.json",
|
|
2164
|
+
"path": "./components/onboarding.json",
|
|
2165
|
+
"sha256": "cee314d96d70014d335de6ae5e09107f4fef0911c2c529e50d69a50b7ed1d168"
|
|
2166
|
+
},
|
|
2167
|
+
{
|
|
2168
|
+
"name": "PermissionGrant",
|
|
2169
|
+
"slug": "permission-grant",
|
|
2170
|
+
"group": "elements",
|
|
2171
|
+
"importPath": "@cueplusplus/ui/elements",
|
|
2172
|
+
"summary": "Granting a capability rather than approving one action, with the reach spelled out.",
|
|
2173
|
+
"status": "todo-docs",
|
|
2174
|
+
"url": "/docs/components/permission-grant",
|
|
2175
|
+
"mdUrl": "/docs/components/permission-grant.md",
|
|
2176
|
+
"jsonUrl": "/r/components/permission-grant.json",
|
|
2177
|
+
"path": "./components/permission-grant.json",
|
|
2178
|
+
"sha256": "3d0cbfaebe7875f9053220c82b50cb3ed150521adce294e425268cd9061f06ff"
|
|
2179
|
+
},
|
|
2180
|
+
{
|
|
2181
|
+
"name": "PermissionScopes",
|
|
2182
|
+
"slug": "permission-scopes",
|
|
2183
|
+
"group": "elements",
|
|
2184
|
+
"importPath": "@cueplusplus/ui/elements",
|
|
2185
|
+
"summary": "Approval that says how far it reaches and where that is written down.",
|
|
2186
|
+
"status": "todo-docs",
|
|
2187
|
+
"url": "/docs/components/permission-scopes",
|
|
2188
|
+
"mdUrl": "/docs/components/permission-scopes.md",
|
|
2189
|
+
"jsonUrl": "/r/components/permission-scopes.json",
|
|
2190
|
+
"path": "./components/permission-scopes.json",
|
|
2191
|
+
"sha256": "0d7afdfa24530a20535c22ee5414746f2b94918525f72c93213e7afd6839e34d"
|
|
2192
|
+
},
|
|
2193
|
+
{
|
|
2194
|
+
"name": "PromptLibrary",
|
|
2195
|
+
"slug": "prompt-library",
|
|
2196
|
+
"group": "elements",
|
|
2197
|
+
"importPath": "@cueplusplus/ui/elements",
|
|
2198
|
+
"summary": "Prompts you saved, searchable, with their variables shown before you insert one.",
|
|
2199
|
+
"status": "todo-docs",
|
|
2200
|
+
"url": "/docs/components/prompt-library",
|
|
2201
|
+
"mdUrl": "/docs/components/prompt-library.md",
|
|
2202
|
+
"jsonUrl": "/r/components/prompt-library.json",
|
|
2203
|
+
"path": "./components/prompt-library.json",
|
|
2204
|
+
"sha256": "8d03712c633b9a1b5ad96f823def54e9a114555cd300cd743d65fffd65b8b886"
|
|
2205
|
+
},
|
|
2206
|
+
{
|
|
2207
|
+
"name": "QueueDock",
|
|
2208
|
+
"slug": "queue-dock",
|
|
2209
|
+
"group": "elements",
|
|
2210
|
+
"importPath": "@cueplusplus/ui/elements",
|
|
2211
|
+
"summary": "What you typed while it was still working, stacked and still yours to change.",
|
|
2212
|
+
"status": "todo-docs",
|
|
2213
|
+
"url": "/docs/components/queue-dock",
|
|
2214
|
+
"mdUrl": "/docs/components/queue-dock.md",
|
|
2215
|
+
"jsonUrl": "/r/components/queue-dock.json",
|
|
2216
|
+
"path": "./components/queue-dock.json",
|
|
2217
|
+
"sha256": "f26a8302ef557f60b28cd70f02db092c7e9b620f6704fb08b306529f59b79972"
|
|
2218
|
+
},
|
|
2219
|
+
{
|
|
2220
|
+
"name": "QuotaBanner",
|
|
2221
|
+
"slug": "quota-banner",
|
|
2222
|
+
"group": "elements",
|
|
2223
|
+
"importPath": "@cueplusplus/ui/elements",
|
|
2224
|
+
"summary": "How much is left, when it comes back, and the way to get more.",
|
|
2225
|
+
"status": "todo-docs",
|
|
2226
|
+
"url": "/docs/components/quota-banner",
|
|
2227
|
+
"mdUrl": "/docs/components/quota-banner.md",
|
|
2228
|
+
"jsonUrl": "/r/components/quota-banner.json",
|
|
2229
|
+
"path": "./components/quota-banner.json",
|
|
2230
|
+
"sha256": "e979890ce495e6ea5a748a5ab347a49370ca363486efca71b1fac89d30906590"
|
|
2231
|
+
},
|
|
2232
|
+
{
|
|
2233
|
+
"name": "QuoteReply",
|
|
2234
|
+
"slug": "quote-reply",
|
|
2235
|
+
"group": "elements",
|
|
2236
|
+
"importPath": "@cueplusplus/ui/elements",
|
|
2237
|
+
"summary": "Select a phrase in an answer and a toolbar offers to quote, explain, or rewrite it.",
|
|
2238
|
+
"status": "todo-docs",
|
|
2239
|
+
"url": "/docs/components/quote-reply",
|
|
2240
|
+
"mdUrl": "/docs/components/quote-reply.md",
|
|
2241
|
+
"jsonUrl": "/r/components/quote-reply.json",
|
|
2242
|
+
"path": "./components/quote-reply.json",
|
|
2243
|
+
"sha256": "a7451e752bad54972086c96fdad92284c7b5081096d941d0fbe07d5b89e66dea"
|
|
2244
|
+
},
|
|
2245
|
+
{
|
|
2246
|
+
"name": "ReadAloud",
|
|
2247
|
+
"slug": "read-aloud",
|
|
2248
|
+
"group": "elements",
|
|
2249
|
+
"importPath": "@cueplusplus/ui/elements",
|
|
2250
|
+
"summary": "An answer played back, the spoken word lit as it goes, speed under your thumb.",
|
|
2251
|
+
"status": "todo-docs",
|
|
2252
|
+
"url": "/docs/components/read-aloud",
|
|
2253
|
+
"mdUrl": "/docs/components/read-aloud.md",
|
|
2254
|
+
"jsonUrl": "/r/components/read-aloud.json",
|
|
2255
|
+
"path": "./components/read-aloud.json",
|
|
2256
|
+
"sha256": "0cc82132252d6067c4a154f3df6c5967dc04bc4902113eab123397fde9cb7fc7"
|
|
2257
|
+
},
|
|
2258
|
+
{
|
|
2259
|
+
"name": "ReasoningEffort",
|
|
2260
|
+
"slug": "reasoning-effort",
|
|
2261
|
+
"group": "elements",
|
|
2262
|
+
"importPath": "@cueplusplus/ui/elements",
|
|
2263
|
+
"summary": "How hard to think, and how much of that budget the run actually spent.",
|
|
2264
|
+
"status": "todo-docs",
|
|
2265
|
+
"url": "/docs/components/reasoning-effort",
|
|
2266
|
+
"mdUrl": "/docs/components/reasoning-effort.md",
|
|
2267
|
+
"jsonUrl": "/r/components/reasoning-effort.json",
|
|
2268
|
+
"path": "./components/reasoning-effort.json",
|
|
2269
|
+
"sha256": "7459926e09c70c27614ddabe2c7482237de1ad21a634c2071df0a785a48e5ad5"
|
|
2270
|
+
},
|
|
2271
|
+
{
|
|
2272
|
+
"name": "ReasoningPanel",
|
|
2273
|
+
"slug": "reasoning-panel",
|
|
2274
|
+
"group": "elements",
|
|
2275
|
+
"importPath": "@cueplusplus/ui/elements",
|
|
2276
|
+
"summary": "A collapsible trace that streams reasoning steps along a timeline, then settles into a summary.",
|
|
2277
|
+
"status": "todo-docs",
|
|
2278
|
+
"url": "/docs/components/reasoning-panel",
|
|
2279
|
+
"mdUrl": "/docs/components/reasoning-panel.md",
|
|
2280
|
+
"jsonUrl": "/r/components/reasoning-panel.json",
|
|
2281
|
+
"path": "./components/reasoning-panel.json",
|
|
2282
|
+
"sha256": "6fc04af6e8afe478ec51964d35ae6107c22911dfb62b7ffeb8d1425a3882f60a"
|
|
2283
|
+
},
|
|
2284
|
+
{
|
|
2285
|
+
"name": "RecommendationCard",
|
|
2286
|
+
"slug": "recommendation-card",
|
|
2287
|
+
"group": "elements",
|
|
2288
|
+
"importPath": "@cueplusplus/ui/elements",
|
|
2289
|
+
"summary": "The agent proposes a change with its confidence, and waits for a yes.",
|
|
2290
|
+
"status": "todo-docs",
|
|
2291
|
+
"url": "/docs/components/recommendation-card",
|
|
2292
|
+
"mdUrl": "/docs/components/recommendation-card.md",
|
|
2293
|
+
"jsonUrl": "/r/components/recommendation-card.json",
|
|
2294
|
+
"path": "./components/recommendation-card.json",
|
|
2295
|
+
"sha256": "5330c991ee9a5444015d478b8519c8c75359136c30ca6fac9c677fa8175a7a97"
|
|
2296
|
+
},
|
|
2297
|
+
{
|
|
2298
|
+
"name": "RegenerateMenu",
|
|
2299
|
+
"slug": "regenerate-menu",
|
|
2300
|
+
"group": "elements",
|
|
2301
|
+
"importPath": "@cueplusplus/ui/elements",
|
|
2302
|
+
"summary": "Fork the same turn to a different model instead of rolling the same dice.",
|
|
2303
|
+
"status": "todo-docs",
|
|
2304
|
+
"url": "/docs/components/regenerate-menu",
|
|
2305
|
+
"mdUrl": "/docs/components/regenerate-menu.md",
|
|
2306
|
+
"jsonUrl": "/r/components/regenerate-menu.json",
|
|
2307
|
+
"path": "./components/regenerate-menu.json",
|
|
2308
|
+
"sha256": "b2f02bee692c3640cb88f9d348a90a39e3e07d59255dd4d1191b9abd7cb40a85"
|
|
2309
|
+
},
|
|
2310
|
+
{
|
|
2311
|
+
"name": "ReplayPlayer",
|
|
2312
|
+
"slug": "replay-player",
|
|
2313
|
+
"group": "elements",
|
|
2314
|
+
"importPath": "@cueplusplus/ui/elements/replay",
|
|
2315
|
+
"summary": "A scripted run, with a transport: play, pause, step, scrub, restart, rate.",
|
|
2316
|
+
"status": "todo-docs",
|
|
2317
|
+
"url": "/docs/components/replay-player",
|
|
2318
|
+
"mdUrl": "/docs/components/replay-player.md",
|
|
2319
|
+
"jsonUrl": "/r/components/replay-player.json",
|
|
2320
|
+
"path": "./components/replay-player.json",
|
|
2321
|
+
"sha256": "9347d1020e3644bc33b666111bae4c473d4dff5faeb983ca1138028dc504956a"
|
|
2322
|
+
},
|
|
2323
|
+
{
|
|
2324
|
+
"name": "ResearchReport",
|
|
2325
|
+
"slug": "research-report",
|
|
2326
|
+
"group": "elements",
|
|
2327
|
+
"importPath": "@cueplusplus/ui/elements",
|
|
2328
|
+
"summary": "An outline that fills in section by section, each carrying the sources behind it.",
|
|
2329
|
+
"status": "todo-docs",
|
|
2330
|
+
"url": "/docs/components/research-report",
|
|
2331
|
+
"mdUrl": "/docs/components/research-report.md",
|
|
2332
|
+
"jsonUrl": "/r/components/research-report.json",
|
|
2333
|
+
"path": "./components/research-report.json",
|
|
2334
|
+
"sha256": "36cbd4988e6de21c8401a5c57e96e34dc3dbba223303f6c3b81fa13807827cf7"
|
|
2335
|
+
},
|
|
2336
|
+
{
|
|
2337
|
+
"name": "RetrievalChunks",
|
|
2338
|
+
"slug": "retrieval-chunks",
|
|
2339
|
+
"group": "elements",
|
|
2340
|
+
"importPath": "@cueplusplus/ui/elements",
|
|
2341
|
+
"summary": "The passages a retrieval answer stands on, scored, before the answer itself arrives.",
|
|
2342
|
+
"status": "todo-docs",
|
|
2343
|
+
"url": "/docs/components/retrieval-chunks",
|
|
2344
|
+
"mdUrl": "/docs/components/retrieval-chunks.md",
|
|
2345
|
+
"jsonUrl": "/r/components/retrieval-chunks.json",
|
|
2346
|
+
"path": "./components/retrieval-chunks.json",
|
|
2347
|
+
"sha256": "fdffc1b567c2412ab311df53901682907cc0e65e97ccc1a55b1c6ee653991487"
|
|
2348
|
+
},
|
|
2349
|
+
{
|
|
2350
|
+
"name": "RevertDock",
|
|
2351
|
+
"slug": "revert-dock",
|
|
2352
|
+
"group": "elements",
|
|
2353
|
+
"importPath": "@cueplusplus/ui/elements",
|
|
2354
|
+
"summary": "Put it back — and say, in the interface, that this cannot be taken back.",
|
|
2355
|
+
"status": "todo-docs",
|
|
2356
|
+
"url": "/docs/components/revert-dock",
|
|
2357
|
+
"mdUrl": "/docs/components/revert-dock.md",
|
|
2358
|
+
"jsonUrl": "/r/components/revert-dock.json",
|
|
2359
|
+
"path": "./components/revert-dock.json",
|
|
2360
|
+
"sha256": "d53f21bc7fdf3eade53f24de58ac0ef2ad77318cedc53cc4eeba3b2645076485"
|
|
2361
|
+
},
|
|
2362
|
+
{
|
|
2363
|
+
"name": "ReviewableDiff",
|
|
2364
|
+
"slug": "reviewable-diff",
|
|
2365
|
+
"group": "elements",
|
|
2366
|
+
"importPath": "@cueplusplus/ui/elements",
|
|
2367
|
+
"summary": "The same diff, but each hunk is a decision: keep it, discard it, apply what survived.",
|
|
2368
|
+
"status": "todo-docs",
|
|
2369
|
+
"url": "/docs/components/reviewable-diff",
|
|
2370
|
+
"mdUrl": "/docs/components/reviewable-diff.md",
|
|
2371
|
+
"jsonUrl": "/r/components/reviewable-diff.json",
|
|
2372
|
+
"path": "./components/reviewable-diff.json",
|
|
2373
|
+
"sha256": "cd8918a8a73c449c0d88a97787a3a10da3999ad375602e5ea8cd3effb9db05c3"
|
|
2374
|
+
},
|
|
2375
|
+
{
|
|
2376
|
+
"name": "RiskBadge",
|
|
2377
|
+
"slug": "risk-badge",
|
|
2378
|
+
"group": "elements",
|
|
2379
|
+
"importPath": "@cueplusplus/ui/elements",
|
|
2380
|
+
"summary": "How dangerous this call is, said out loud instead of implied.",
|
|
2381
|
+
"status": "todo-docs",
|
|
2382
|
+
"url": "/docs/components/risk-badge",
|
|
2383
|
+
"mdUrl": "/docs/components/risk-badge.md",
|
|
2384
|
+
"jsonUrl": "/r/components/risk-badge.json",
|
|
2385
|
+
"path": "./components/risk-badge.json",
|
|
2386
|
+
"sha256": "13e6869deced6b4c8dad3f54fc9ad7380c57131ac03afa6b86565bc0a0f6b9bd"
|
|
2387
|
+
},
|
|
2388
|
+
{
|
|
2389
|
+
"name": "ScheduleCard",
|
|
2390
|
+
"slug": "schedule-card",
|
|
2391
|
+
"group": "elements",
|
|
2392
|
+
"importPath": "@cueplusplus/ui/elements",
|
|
2393
|
+
"summary": "A run that repeats on its own, with its cadence and how it has been doing.",
|
|
2394
|
+
"status": "todo-docs",
|
|
2395
|
+
"url": "/docs/components/schedule-card",
|
|
2396
|
+
"mdUrl": "/docs/components/schedule-card.md",
|
|
2397
|
+
"jsonUrl": "/r/components/schedule-card.json",
|
|
2398
|
+
"path": "./components/schedule-card.json",
|
|
2399
|
+
"sha256": "6d4e3c5d70097fa693c9ccca2872c755936fc7bd645a582d705153f5351aae2f"
|
|
2400
|
+
},
|
|
2401
|
+
{
|
|
2402
|
+
"name": "ScoreBreakdown",
|
|
2403
|
+
"slug": "score-breakdown",
|
|
2404
|
+
"group": "elements",
|
|
2405
|
+
"importPath": "@cueplusplus/ui/elements",
|
|
2406
|
+
"summary": "A verdict with its arithmetic shown: criteria, weights, and what pulled it down.",
|
|
2407
|
+
"status": "todo-docs",
|
|
2408
|
+
"url": "/docs/components/score-breakdown",
|
|
2409
|
+
"mdUrl": "/docs/components/score-breakdown.md",
|
|
2410
|
+
"jsonUrl": "/r/components/score-breakdown.json",
|
|
2411
|
+
"path": "./components/score-breakdown.json",
|
|
2412
|
+
"sha256": "2aa7017ab2e8dea67dd7901c895f6b1a04c738906ee578d7515413be966f7c51"
|
|
2413
|
+
},
|
|
2414
|
+
{
|
|
2415
|
+
"name": "ScrollAnchor",
|
|
2416
|
+
"slug": "scroll-anchor",
|
|
2417
|
+
"group": "elements",
|
|
2418
|
+
"importPath": "@cueplusplus/ui/elements",
|
|
2419
|
+
"summary": "Streaming never steals your scroll position; a pill offers the way back down.",
|
|
2420
|
+
"status": "todo-docs",
|
|
2421
|
+
"url": "/docs/components/scroll-anchor",
|
|
2422
|
+
"mdUrl": "/docs/components/scroll-anchor.md",
|
|
2423
|
+
"jsonUrl": "/r/components/scroll-anchor.json",
|
|
2424
|
+
"path": "./components/scroll-anchor.json",
|
|
2425
|
+
"sha256": "346a2af5165375bfdbc52d85984d1f77eaaf5ef1b49e1a6ad1381509055aca07"
|
|
2426
|
+
},
|
|
2427
|
+
{
|
|
2428
|
+
"name": "SettingsPanel",
|
|
2429
|
+
"slug": "settings-panel",
|
|
2430
|
+
"group": "elements",
|
|
2431
|
+
"importPath": "@cueplusplus/ui/elements",
|
|
2432
|
+
"summary": "Model, system prompt, temperature, and what the assistant is allowed to do.",
|
|
2433
|
+
"status": "todo-docs",
|
|
2434
|
+
"url": "/docs/components/settings-panel",
|
|
2435
|
+
"mdUrl": "/docs/components/settings-panel.md",
|
|
2436
|
+
"jsonUrl": "/r/components/settings-panel.json",
|
|
2437
|
+
"path": "./components/settings-panel.json",
|
|
2438
|
+
"sha256": "972e1e62bbeef13fec1ba37a2cd8cc8d4d32cb1ae9a23a37b5bba138f4cfb026"
|
|
2439
|
+
},
|
|
2440
|
+
{
|
|
2441
|
+
"name": "SharedConversation",
|
|
2442
|
+
"slug": "shared-conversation",
|
|
2443
|
+
"group": "elements",
|
|
2444
|
+
"importPath": "@cueplusplus/ui/elements",
|
|
2445
|
+
"summary": "A read-only transcript someone sent you, with a way to pick it up yourself.",
|
|
2446
|
+
"status": "todo-docs",
|
|
2447
|
+
"url": "/docs/components/shared-conversation",
|
|
2448
|
+
"mdUrl": "/docs/components/shared-conversation.md",
|
|
2449
|
+
"jsonUrl": "/r/components/shared-conversation.json",
|
|
2450
|
+
"path": "./components/shared-conversation.json",
|
|
2451
|
+
"sha256": "5ea0c86f20ec2c787d446af582f3659cc17537e52972f4f7ed940acea00df112"
|
|
2452
|
+
},
|
|
2453
|
+
{
|
|
2454
|
+
"name": "ShimmerLabel",
|
|
2455
|
+
"slug": "shimmer-label",
|
|
2456
|
+
"group": "elements",
|
|
2457
|
+
"importPath": "@cueplusplus/ui/elements",
|
|
2458
|
+
"summary": "A label that sweeps while something is still happening.",
|
|
2459
|
+
"status": "todo-docs",
|
|
2460
|
+
"url": "/docs/components/shimmer-label",
|
|
2461
|
+
"mdUrl": "/docs/components/shimmer-label.md",
|
|
2462
|
+
"jsonUrl": "/r/components/shimmer-label.json",
|
|
2463
|
+
"path": "./components/shimmer-label.json",
|
|
2464
|
+
"sha256": "7a51d7cb3dac6e10163eab06fa77508bd222af618ff937412cc672896c860e9e"
|
|
2465
|
+
},
|
|
2466
|
+
{
|
|
2467
|
+
"name": "Sources",
|
|
2468
|
+
"slug": "sources",
|
|
2469
|
+
"group": "elements",
|
|
2470
|
+
"importPath": "@cueplusplus/ui/elements",
|
|
2471
|
+
"summary": "Citations collapsed into a pill, expanding into scannable source cards.",
|
|
2472
|
+
"status": "todo-docs",
|
|
2473
|
+
"url": "/docs/components/sources",
|
|
2474
|
+
"mdUrl": "/docs/components/sources.md",
|
|
2475
|
+
"jsonUrl": "/r/components/sources.json",
|
|
2476
|
+
"path": "./components/sources.json",
|
|
2477
|
+
"sha256": "ab88b348534be77f1e82e57bb9b3e88cf7149207f6b3e7f2dfea85c373211657"
|
|
2478
|
+
},
|
|
2479
|
+
{
|
|
2480
|
+
"name": "SpeakerIdentity",
|
|
2481
|
+
"slug": "speaker-identity",
|
|
2482
|
+
"group": "elements",
|
|
2483
|
+
"importPath": "@cueplusplus/ui/elements",
|
|
2484
|
+
"summary": "Who is talking, once a thread holds more than a user and one model.",
|
|
2485
|
+
"status": "todo-docs",
|
|
2486
|
+
"url": "/docs/components/speaker-identity",
|
|
2487
|
+
"mdUrl": "/docs/components/speaker-identity.md",
|
|
2488
|
+
"jsonUrl": "/r/components/speaker-identity.json",
|
|
2489
|
+
"path": "./components/speaker-identity.json",
|
|
2490
|
+
"sha256": "2e8937009e181b90630090176a7c1ef6273f694c111fcd4a8a7180a8f9e4bf2a"
|
|
2491
|
+
},
|
|
2492
|
+
{
|
|
2493
|
+
"name": "SpecSheet",
|
|
2494
|
+
"slug": "spec-sheet",
|
|
2495
|
+
"group": "elements",
|
|
2496
|
+
"importPath": "@cueplusplus/ui/elements",
|
|
2497
|
+
"summary": "The most common structured answer after a table: one object, labeled.",
|
|
2498
|
+
"status": "todo-docs",
|
|
2499
|
+
"url": "/docs/components/spec-sheet",
|
|
2500
|
+
"mdUrl": "/docs/components/spec-sheet.md",
|
|
2501
|
+
"jsonUrl": "/r/components/spec-sheet.json",
|
|
2502
|
+
"path": "./components/spec-sheet.json",
|
|
2503
|
+
"sha256": "258ef92e423e1aa822abba8d3c9bb5fe44d361df66bab87898626a9b54eebf30"
|
|
2504
|
+
},
|
|
2505
|
+
{
|
|
2506
|
+
"name": "StoppedRun",
|
|
2507
|
+
"slug": "stopped-run",
|
|
2508
|
+
"group": "elements",
|
|
2509
|
+
"importPath": "@cueplusplus/ui/elements",
|
|
2510
|
+
"summary": "You pressed stop.",
|
|
2511
|
+
"status": "todo-docs",
|
|
2512
|
+
"url": "/docs/components/stopped-run",
|
|
2513
|
+
"mdUrl": "/docs/components/stopped-run.md",
|
|
2514
|
+
"jsonUrl": "/r/components/stopped-run.json",
|
|
2515
|
+
"path": "./components/stopped-run.json",
|
|
2516
|
+
"sha256": "13c0e782ef78a342d787a25a20ee446b00e3e075d70f6ead5df2b67a53948751"
|
|
2517
|
+
},
|
|
2518
|
+
{
|
|
2519
|
+
"name": "StreamingText",
|
|
2520
|
+
"slug": "streaming-text",
|
|
2521
|
+
"group": "elements",
|
|
2522
|
+
"importPath": "@cueplusplus/ui/elements",
|
|
2523
|
+
"summary": "Tokens arrive softly: the newest words land in blue and settle into ink.",
|
|
2524
|
+
"status": "todo-docs",
|
|
2525
|
+
"url": "/docs/components/streaming-text",
|
|
2526
|
+
"mdUrl": "/docs/components/streaming-text.md",
|
|
2527
|
+
"jsonUrl": "/r/components/streaming-text.json",
|
|
2528
|
+
"path": "./components/streaming-text.json",
|
|
2529
|
+
"sha256": "158f94c85653b1f3c3d3548f93b828a043b1a06fa938536fbd8687f82cf24f0d"
|
|
2530
|
+
},
|
|
2531
|
+
{
|
|
2532
|
+
"name": "Sub",
|
|
2533
|
+
"slug": "sub",
|
|
2534
|
+
"group": "elements",
|
|
2535
|
+
"importPath": "@cueplusplus/ui/elements",
|
|
2536
|
+
"summary": "A subscript inside an expression: a bound or a label, set upright inside the italic.",
|
|
2537
|
+
"status": "todo-docs",
|
|
2538
|
+
"url": "/docs/components/sub",
|
|
2539
|
+
"mdUrl": "/docs/components/sub.md",
|
|
2540
|
+
"jsonUrl": "/r/components/sub.json",
|
|
2541
|
+
"path": "./components/sub.json",
|
|
2542
|
+
"sha256": "8b2059da4d4eb2382bfbb1f7efdb8a4af6dcb03468bcc8226b71730d0637f1b6"
|
|
2543
|
+
},
|
|
2544
|
+
{
|
|
2545
|
+
"name": "SubagentList",
|
|
2546
|
+
"slug": "subagent-list",
|
|
2547
|
+
"group": "elements",
|
|
2548
|
+
"importPath": "@cueplusplus/ui/elements",
|
|
2549
|
+
"summary": "Parallel workers with their own progress, models, and completions.",
|
|
2550
|
+
"status": "todo-docs",
|
|
2551
|
+
"url": "/docs/components/subagent-list",
|
|
2552
|
+
"mdUrl": "/docs/components/subagent-list.md",
|
|
2553
|
+
"jsonUrl": "/r/components/subagent-list.json",
|
|
2554
|
+
"path": "./components/subagent-list.json",
|
|
2555
|
+
"sha256": "1c48fc7e5c46cc14fd95b38498bb3fbf69a1e28c12641d164f58ca0bd2dd2f71"
|
|
2556
|
+
},
|
|
2557
|
+
{
|
|
2558
|
+
"name": "Suggestions",
|
|
2559
|
+
"slug": "suggestions",
|
|
2560
|
+
"group": "elements",
|
|
2561
|
+
"importPath": "@cueplusplus/ui/elements",
|
|
2562
|
+
"summary": "Prompt pills that stagger in after a reply and invite the next turn.",
|
|
2563
|
+
"status": "todo-docs",
|
|
2564
|
+
"url": "/docs/components/suggestions",
|
|
2565
|
+
"mdUrl": "/docs/components/suggestions.md",
|
|
2566
|
+
"jsonUrl": "/r/components/suggestions.json",
|
|
2567
|
+
"path": "./components/suggestions.json",
|
|
2568
|
+
"sha256": "99477aacf536e7a9b82251a9b3d11355ea283a78bda728cc5ab9dc3dd39c9a48"
|
|
2569
|
+
},
|
|
2570
|
+
{
|
|
2571
|
+
"name": "Sup",
|
|
2572
|
+
"slug": "sup",
|
|
2573
|
+
"group": "elements",
|
|
2574
|
+
"importPath": "@cueplusplus/ui/elements",
|
|
2575
|
+
"summary": "A superscript inside an expression: an exponent or an index, set upright inside the italic.",
|
|
2576
|
+
"status": "todo-docs",
|
|
2577
|
+
"url": "/docs/components/sup",
|
|
2578
|
+
"mdUrl": "/docs/components/sup.md",
|
|
2579
|
+
"jsonUrl": "/r/components/sup.json",
|
|
2580
|
+
"path": "./components/sup.json",
|
|
2581
|
+
"sha256": "2d04dbc0e8858af1fae1c27ee45277f0fa63fb300ef805e39a953f7dcc37cddd"
|
|
2582
|
+
},
|
|
2583
|
+
{
|
|
2584
|
+
"name": "SwapLabel",
|
|
2585
|
+
"slug": "swap-label",
|
|
2586
|
+
"group": "elements",
|
|
2587
|
+
"importPath": "@cueplusplus/ui/elements",
|
|
2588
|
+
"summary": "Two labels stacked in one cell, with the box's width animating between them.",
|
|
2589
|
+
"status": "todo-docs",
|
|
2590
|
+
"url": "/docs/components/swap-label",
|
|
2591
|
+
"mdUrl": "/docs/components/swap-label.md",
|
|
2592
|
+
"jsonUrl": "/r/components/swap-label.json",
|
|
2593
|
+
"path": "./components/swap-label.json",
|
|
2594
|
+
"sha256": "4f28e01b39116a7489a835746f7ea07426d2ded6f1154ff93dd3ab2f8c9c9109"
|
|
2595
|
+
},
|
|
2596
|
+
{
|
|
2597
|
+
"name": "TailStatus",
|
|
2598
|
+
"slug": "tail-status",
|
|
2599
|
+
"group": "elements",
|
|
2600
|
+
"importPath": "@cueplusplus/ui/elements",
|
|
2601
|
+
"summary": "The live row at the foot of a transcript: what the run is doing, right now.",
|
|
2602
|
+
"status": "todo-docs",
|
|
2603
|
+
"url": "/docs/components/tail-status",
|
|
2604
|
+
"mdUrl": "/docs/components/tail-status.md",
|
|
2605
|
+
"jsonUrl": "/r/components/tail-status.json",
|
|
2606
|
+
"path": "./components/tail-status.json",
|
|
2607
|
+
"sha256": "cf51d7310e80b6e6ef7793e34d5620452623062143c5648196401dd798dd6bfb"
|
|
2608
|
+
},
|
|
2609
|
+
{
|
|
2610
|
+
"name": "TerminalBlock",
|
|
2611
|
+
"slug": "terminal-block",
|
|
2612
|
+
"group": "elements",
|
|
2613
|
+
"importPath": "@cueplusplus/ui/elements",
|
|
2614
|
+
"summary": "Command output that streams line by line and ends with an exit status.",
|
|
2615
|
+
"status": "todo-docs",
|
|
2616
|
+
"url": "/docs/components/terminal-block",
|
|
2617
|
+
"mdUrl": "/docs/components/terminal-block.md",
|
|
2618
|
+
"jsonUrl": "/r/components/terminal-block.json",
|
|
2619
|
+
"path": "./components/terminal-block.json",
|
|
2620
|
+
"sha256": "d53b62939f2b2c18cf77b20e2f27d366d5077db26c64dc9958c6a7687b25ccab"
|
|
2621
|
+
},
|
|
2622
|
+
{
|
|
2623
|
+
"name": "ThinkingIndicator",
|
|
2624
|
+
"slug": "thinking-indicator",
|
|
2625
|
+
"group": "elements",
|
|
2626
|
+
"importPath": "@cueplusplus/ui/elements",
|
|
2627
|
+
"summary": "A live status line that names what the agent is doing right now, with elapsed time.",
|
|
2628
|
+
"status": "todo-docs",
|
|
2629
|
+
"url": "/docs/components/thinking-indicator",
|
|
2630
|
+
"mdUrl": "/docs/components/thinking-indicator.md",
|
|
2631
|
+
"jsonUrl": "/r/components/thinking-indicator.json",
|
|
2632
|
+
"path": "./components/thinking-indicator.json",
|
|
2633
|
+
"sha256": "918821dfb702f3bf0b46ab071115e27470e542613f13d9db0f8ae22e1f2da97a"
|
|
2634
|
+
},
|
|
2635
|
+
{
|
|
2636
|
+
"name": "ThreadList",
|
|
2637
|
+
"slug": "thread-list",
|
|
2638
|
+
"group": "elements",
|
|
2639
|
+
"importPath": "@cueplusplus/ui/elements",
|
|
2640
|
+
"summary": "Conversation history with unread marks and actions that wait for hover.",
|
|
2641
|
+
"status": "todo-docs",
|
|
2642
|
+
"url": "/docs/components/thread-list",
|
|
2643
|
+
"mdUrl": "/docs/components/thread-list.md",
|
|
2644
|
+
"jsonUrl": "/r/components/thread-list.json",
|
|
2645
|
+
"path": "./components/thread-list.json",
|
|
2646
|
+
"sha256": "c5fdd6c73114891fc439e3bf926de292532f3fb17084c5acf931a65bdd379b58"
|
|
2647
|
+
},
|
|
2648
|
+
{
|
|
2649
|
+
"name": "ThreadSearch",
|
|
2650
|
+
"slug": "thread-search",
|
|
2651
|
+
"group": "elements",
|
|
2652
|
+
"importPath": "@cueplusplus/ui/elements",
|
|
2653
|
+
"summary": "History you can actually get back into: pinned first, then grouped by when.",
|
|
2654
|
+
"status": "todo-docs",
|
|
2655
|
+
"url": "/docs/components/thread-search",
|
|
2656
|
+
"mdUrl": "/docs/components/thread-search.md",
|
|
2657
|
+
"jsonUrl": "/r/components/thread-search.json",
|
|
2658
|
+
"path": "./components/thread-search.json",
|
|
2659
|
+
"sha256": "a1815709afd5a87e913435cf32e3c2e460c6b3c6c52130e915010bf700c66acc"
|
|
2660
|
+
},
|
|
2661
|
+
{
|
|
2662
|
+
"name": "TimeBoundary",
|
|
2663
|
+
"slug": "time-boundary",
|
|
2664
|
+
"group": "elements",
|
|
2665
|
+
"importPath": "@cueplusplus/ui/elements",
|
|
2666
|
+
"summary": "The rule that says the day changed: a label centred between two hairlines.",
|
|
2667
|
+
"status": "todo-docs",
|
|
2668
|
+
"url": "/docs/components/time-boundary",
|
|
2669
|
+
"mdUrl": "/docs/components/time-boundary.md",
|
|
2670
|
+
"jsonUrl": "/r/components/time-boundary.json",
|
|
2671
|
+
"path": "./components/time-boundary.json",
|
|
2672
|
+
"sha256": "adac36cbc7b1722fb1e31e1ae5136603a0175319967532cad7bfc5f1b56ab41d"
|
|
2673
|
+
},
|
|
2674
|
+
{
|
|
2675
|
+
"name": "TodoList",
|
|
2676
|
+
"slug": "todo-list",
|
|
2677
|
+
"group": "elements",
|
|
2678
|
+
"importPath": "@cueplusplus/ui/elements",
|
|
2679
|
+
"summary": "The agent's own working list, rewritten mid-run as it discovers what else is needed.",
|
|
2680
|
+
"status": "todo-docs",
|
|
2681
|
+
"url": "/docs/components/todo-list",
|
|
2682
|
+
"mdUrl": "/docs/components/todo-list.md",
|
|
2683
|
+
"jsonUrl": "/r/components/todo-list.json",
|
|
2684
|
+
"path": "./components/todo-list.json",
|
|
2685
|
+
"sha256": "51cfb083e6980eb90d1c14fc595ab905a1b0d88d6c7704959bb4d91217ecec6a"
|
|
2686
|
+
},
|
|
2687
|
+
{
|
|
2688
|
+
"name": "ToolCall",
|
|
2689
|
+
"slug": "tool-call",
|
|
2690
|
+
"group": "elements",
|
|
2691
|
+
"importPath": "@cueplusplus/ui/elements",
|
|
2692
|
+
"summary": "One tool invocation with its request and result tucked behind a disclosure.",
|
|
2693
|
+
"status": "todo-docs",
|
|
2694
|
+
"url": "/docs/components/tool-call",
|
|
2695
|
+
"mdUrl": "/docs/components/tool-call.md",
|
|
2696
|
+
"jsonUrl": "/r/components/tool-call.json",
|
|
2697
|
+
"path": "./components/tool-call.json",
|
|
2698
|
+
"sha256": "1f62fd1c98e6014b8bfe10c432baf111ec2b0e20e54c8f68227d5cfeb9dbc332"
|
|
2699
|
+
},
|
|
2700
|
+
{
|
|
2701
|
+
"name": "ToolError",
|
|
2702
|
+
"slug": "tool-error",
|
|
2703
|
+
"group": "elements",
|
|
2704
|
+
"importPath": "@cueplusplus/ui/elements",
|
|
2705
|
+
"summary": "One call failed.",
|
|
2706
|
+
"status": "todo-docs",
|
|
2707
|
+
"url": "/docs/components/tool-error",
|
|
2708
|
+
"mdUrl": "/docs/components/tool-error.md",
|
|
2709
|
+
"jsonUrl": "/r/components/tool-error.json",
|
|
2710
|
+
"path": "./components/tool-error.json",
|
|
2711
|
+
"sha256": "5a499879cd63d57e89422a161e47fe2a55c249aa2fb2bbf96795aadc5e5f0393"
|
|
2712
|
+
},
|
|
2713
|
+
{
|
|
2714
|
+
"name": "ToolGroup",
|
|
2715
|
+
"slug": "tool-group",
|
|
2716
|
+
"group": "elements",
|
|
2717
|
+
"importPath": "@cueplusplus/ui/elements",
|
|
2718
|
+
"summary": "Calls that went out together, collapsed to one row until you want the detail.",
|
|
2719
|
+
"status": "todo-docs",
|
|
2720
|
+
"url": "/docs/components/tool-group",
|
|
2721
|
+
"mdUrl": "/docs/components/tool-group.md",
|
|
2722
|
+
"jsonUrl": "/r/components/tool-group.json",
|
|
2723
|
+
"path": "./components/tool-group.json",
|
|
2724
|
+
"sha256": "317c9e541f13df9c83e036443485b211fbc234d240624d43f597bd8c25bedb3d"
|
|
2725
|
+
},
|
|
2726
|
+
{
|
|
2727
|
+
"name": "ToolTimeline",
|
|
2728
|
+
"slug": "tool-timeline",
|
|
2729
|
+
"group": "elements",
|
|
2730
|
+
"importPath": "@cueplusplus/ui/elements",
|
|
2731
|
+
"summary": "A whole working session summarized as verbs, targets, and file stats.",
|
|
2732
|
+
"status": "todo-docs",
|
|
2733
|
+
"url": "/docs/components/tool-timeline",
|
|
2734
|
+
"mdUrl": "/docs/components/tool-timeline.md",
|
|
2735
|
+
"jsonUrl": "/r/components/tool-timeline.json",
|
|
2736
|
+
"path": "./components/tool-timeline.json",
|
|
2737
|
+
"sha256": "fbc164c4d66b928b81e35b348ae8f42e12e7f03f0ac8e0d1e35aa9fa65968b08"
|
|
2738
|
+
},
|
|
2739
|
+
{
|
|
2740
|
+
"name": "TraceWaterfall",
|
|
2741
|
+
"slug": "trace-waterfall",
|
|
2742
|
+
"group": "elements",
|
|
2743
|
+
"importPath": "@cueplusplus/ui/elements",
|
|
2744
|
+
"summary": "Every span in a run on one time axis, nested, so you can see where it actually went.",
|
|
2745
|
+
"status": "todo-docs",
|
|
2746
|
+
"url": "/docs/components/trace-waterfall",
|
|
2747
|
+
"mdUrl": "/docs/components/trace-waterfall.md",
|
|
2748
|
+
"jsonUrl": "/r/components/trace-waterfall.json",
|
|
2749
|
+
"path": "./components/trace-waterfall.json",
|
|
2750
|
+
"sha256": "55b5cb3949935959acb7b235e17f96d3afe53c613e25330233073f41b2ab631d"
|
|
2751
|
+
},
|
|
2752
|
+
{
|
|
2753
|
+
"name": "TurnFooter",
|
|
2754
|
+
"slug": "turn-footer",
|
|
2755
|
+
"group": "elements",
|
|
2756
|
+
"importPath": "@cueplusplus/ui/elements",
|
|
2757
|
+
"summary": "The row under a finished turn: copy, reply, fork, and when it happened.",
|
|
2758
|
+
"status": "todo-docs",
|
|
2759
|
+
"url": "/docs/components/turn-footer",
|
|
2760
|
+
"mdUrl": "/docs/components/turn-footer.md",
|
|
2761
|
+
"jsonUrl": "/r/components/turn-footer.json",
|
|
2762
|
+
"path": "./components/turn-footer.json",
|
|
2763
|
+
"sha256": "7d9e0ea0a00a7f5ceb01373324890a4294b787322a00378c12923ed0da0ca1d5"
|
|
2764
|
+
},
|
|
2765
|
+
{
|
|
2766
|
+
"name": "TypingIndicator",
|
|
2767
|
+
"slug": "typing-indicator",
|
|
2768
|
+
"group": "elements",
|
|
2769
|
+
"importPath": "@cueplusplus/ui/elements",
|
|
2770
|
+
"summary": "The classic three dots, tuned to read as presence rather than noise.",
|
|
2771
|
+
"status": "todo-docs",
|
|
2772
|
+
"url": "/docs/components/typing-indicator",
|
|
2773
|
+
"mdUrl": "/docs/components/typing-indicator.md",
|
|
2774
|
+
"jsonUrl": "/r/components/typing-indicator.json",
|
|
2775
|
+
"path": "./components/typing-indicator.json",
|
|
2776
|
+
"sha256": "c1baafb6f66e07b2edd763e729e7b14961d3a617650e0cf112647cea05f05a4c"
|
|
2777
|
+
},
|
|
2778
|
+
{
|
|
2779
|
+
"name": "UnreadDivider",
|
|
2780
|
+
"slug": "unread-divider",
|
|
2781
|
+
"group": "elements",
|
|
2782
|
+
"importPath": "@cueplusplus/ui/elements",
|
|
2783
|
+
"summary": "The rule that says \"you have read down to here\": an accented line with its label at the end.",
|
|
2784
|
+
"status": "todo-docs",
|
|
2785
|
+
"url": "/docs/components/unread-divider",
|
|
2786
|
+
"mdUrl": "/docs/components/unread-divider.md",
|
|
2787
|
+
"jsonUrl": "/r/components/unread-divider.json",
|
|
2788
|
+
"path": "./components/unread-divider.json",
|
|
2789
|
+
"sha256": "1a8d6f05db778700faea836d4bb2378d11e838d0f119d5504557eedb5c5dde9e"
|
|
2790
|
+
},
|
|
2791
|
+
{
|
|
2792
|
+
"name": "VerdictRow",
|
|
2793
|
+
"slug": "verdict-row",
|
|
2794
|
+
"group": "elements",
|
|
2795
|
+
"importPath": "@cueplusplus/ui/elements",
|
|
2796
|
+
"summary": "What the run thought of its own work, attached to the turn that did it.",
|
|
2797
|
+
"status": "todo-docs",
|
|
2798
|
+
"url": "/docs/components/verdict-row",
|
|
2799
|
+
"mdUrl": "/docs/components/verdict-row.md",
|
|
2800
|
+
"jsonUrl": "/r/components/verdict-row.json",
|
|
2801
|
+
"path": "./components/verdict-row.json",
|
|
2802
|
+
"sha256": "c123b190c9cf267a984b530cb4ce18f04d6aac96412b8346bab69cfe700a4437"
|
|
2803
|
+
},
|
|
2804
|
+
{
|
|
2805
|
+
"name": "VoiceConversation",
|
|
2806
|
+
"slug": "voice-conversation",
|
|
2807
|
+
"group": "elements",
|
|
2808
|
+
"importPath": "@cueplusplus/ui/elements",
|
|
2809
|
+
"summary": "A live call: the orb tracks your voice, the caption names the turn, the transcript follows.",
|
|
2810
|
+
"status": "todo-docs",
|
|
2811
|
+
"url": "/docs/components/voice-conversation",
|
|
2812
|
+
"mdUrl": "/docs/components/voice-conversation.md",
|
|
2813
|
+
"jsonUrl": "/r/components/voice-conversation.json",
|
|
2814
|
+
"path": "./components/voice-conversation.json",
|
|
2815
|
+
"sha256": "c3c9171f2e8689927be88d685d30246bdb6d55cc6237ec049cff7a8a150614a5"
|
|
2816
|
+
},
|
|
2817
|
+
{
|
|
2818
|
+
"name": "WebPreview",
|
|
2819
|
+
"slug": "web-preview",
|
|
2820
|
+
"group": "elements",
|
|
2821
|
+
"importPath": "@cueplusplus/ui/elements",
|
|
2822
|
+
"summary": "Chrome around a preview: a URL bar, reload, and open-in-new.",
|
|
2823
|
+
"status": "todo-docs",
|
|
2824
|
+
"url": "/docs/components/web-preview",
|
|
2825
|
+
"mdUrl": "/docs/components/web-preview.md",
|
|
2826
|
+
"jsonUrl": "/r/components/web-preview.json",
|
|
2827
|
+
"path": "./components/web-preview.json",
|
|
2828
|
+
"sha256": "16e83c68f2ae6eb44bd2e43408eb3467fc2f25434d6cb0ecdb5a6fbf6ea235a1"
|
|
2829
|
+
},
|
|
2830
|
+
{
|
|
2831
|
+
"name": "WebSearch",
|
|
2832
|
+
"slug": "web-search",
|
|
2833
|
+
"group": "elements",
|
|
2834
|
+
"importPath": "@cueplusplus/ui/elements",
|
|
2835
|
+
"summary": "A search query and its results landing one by one as the agent reads.",
|
|
2836
|
+
"status": "todo-docs",
|
|
2837
|
+
"url": "/docs/components/web-search",
|
|
2838
|
+
"mdUrl": "/docs/components/web-search.md",
|
|
2839
|
+
"jsonUrl": "/r/components/web-search.json",
|
|
2840
|
+
"path": "./components/web-search.json",
|
|
2841
|
+
"sha256": "85d98e1fb7926db68e301637515af428d7cdeef8575ed2b324f55a224680d012"
|
|
2842
|
+
},
|
|
2843
|
+
{
|
|
2844
|
+
"name": "WorkCollapse",
|
|
2845
|
+
"slug": "work-collapse",
|
|
2846
|
+
"group": "elements",
|
|
2847
|
+
"importPath": "@cueplusplus/ui/elements",
|
|
2848
|
+
"summary": "A finished run, folded into one row: `Worked for 4m 12s and made 14 tool calls`.",
|
|
2849
|
+
"status": "todo-docs",
|
|
2850
|
+
"url": "/docs/components/work-collapse",
|
|
2851
|
+
"mdUrl": "/docs/components/work-collapse.md",
|
|
2852
|
+
"jsonUrl": "/r/components/work-collapse.json",
|
|
2853
|
+
"path": "./components/work-collapse.json",
|
|
2854
|
+
"sha256": "7b55efb6b2473070b4d592dab015d0bfd1b4372f1950d69cda13dc4bf646fde2"
|
|
2855
|
+
},
|
|
854
2856
|
{
|
|
855
2857
|
"name": "FlowBackground",
|
|
856
2858
|
"slug": "flow-background",
|
|
@@ -888,7 +2890,7 @@
|
|
|
888
2890
|
"mdUrl": "/docs/components/node-card.md",
|
|
889
2891
|
"jsonUrl": "/r/components/node-card.json",
|
|
890
2892
|
"path": "./components/node-card.json",
|
|
891
|
-
"sha256": "
|
|
2893
|
+
"sha256": "c7edf342e25c52d0d49d2eda7aba282219e20d5cbdbb413f4a7427f26be5b80a"
|
|
892
2894
|
},
|
|
893
2895
|
{
|
|
894
2896
|
"name": "NodeHandle",
|
|
@@ -901,7 +2903,7 @@
|
|
|
901
2903
|
"mdUrl": "/docs/components/node-handle.md",
|
|
902
2904
|
"jsonUrl": "/r/components/node-handle.json",
|
|
903
2905
|
"path": "./components/node-handle.json",
|
|
904
|
-
"sha256": "
|
|
2906
|
+
"sha256": "edef11e543379e0e474dcda8204d10ef66e11233ca71998a6eb94e8da57a7714"
|
|
905
2907
|
},
|
|
906
2908
|
{
|
|
907
2909
|
"name": "SignalEdge",
|
|
@@ -1122,7 +3124,7 @@
|
|
|
1122
3124
|
"mdUrl": "/docs/components/otp-field.md",
|
|
1123
3125
|
"jsonUrl": "/r/components/otp-field.json",
|
|
1124
3126
|
"path": "./components/otp-field.json",
|
|
1125
|
-
"sha256": "
|
|
3127
|
+
"sha256": "66df23bc408cbf14e32c9a8b86cbd51bbf4af4dcf1580d32f9586fb53b26c0f5"
|
|
1126
3128
|
},
|
|
1127
3129
|
{
|
|
1128
3130
|
"name": "PasswordInput",
|
|
@@ -1200,7 +3202,7 @@
|
|
|
1200
3202
|
"mdUrl": "/docs/components/search-input.md",
|
|
1201
3203
|
"jsonUrl": "/r/components/search-input.json",
|
|
1202
3204
|
"path": "./components/search-input.json",
|
|
1203
|
-
"sha256": "
|
|
3205
|
+
"sha256": "845c791e8e421e00c3dc5f649ae24d1cf8363a88153648d44fee724e5a49f99f"
|
|
1204
3206
|
},
|
|
1205
3207
|
{
|
|
1206
3208
|
"name": "Select",
|
|
@@ -1291,7 +3293,137 @@
|
|
|
1291
3293
|
"mdUrl": "/docs/components/toggle-group.md",
|
|
1292
3294
|
"jsonUrl": "/r/components/toggle-group.json",
|
|
1293
3295
|
"path": "./components/toggle-group.json",
|
|
1294
|
-
"sha256": "
|
|
3296
|
+
"sha256": "a786ebfcb986782d408821e738f607ed38428daeab3695b01ce8b996f53b763e"
|
|
3297
|
+
},
|
|
3298
|
+
{
|
|
3299
|
+
"name": "AudienceIcon",
|
|
3300
|
+
"slug": "audience-icon",
|
|
3301
|
+
"group": "icons",
|
|
3302
|
+
"importPath": "@cueplusplus/ui",
|
|
3303
|
+
"summary": "An audience: a named group of people something is published to.",
|
|
3304
|
+
"status": "todo-docs",
|
|
3305
|
+
"url": "/docs/components/audience-icon",
|
|
3306
|
+
"mdUrl": "/docs/components/audience-icon.md",
|
|
3307
|
+
"jsonUrl": "/r/components/audience-icon.json",
|
|
3308
|
+
"path": "./components/audience-icon.json",
|
|
3309
|
+
"sha256": "fee1cb028e86de44ce3e559b8934dce801cbc5a143f92a79ef0cabc7d7cb5f67"
|
|
3310
|
+
},
|
|
3311
|
+
{
|
|
3312
|
+
"name": "CatalogueIcon",
|
|
3313
|
+
"slug": "catalogue-icon",
|
|
3314
|
+
"group": "icons",
|
|
3315
|
+
"importPath": "@cueplusplus/ui",
|
|
3316
|
+
"summary": "The catalogue itself: everything there is, before anything has been narrowed.",
|
|
3317
|
+
"status": "todo-docs",
|
|
3318
|
+
"url": "/docs/components/catalogue-icon",
|
|
3319
|
+
"mdUrl": "/docs/components/catalogue-icon.md",
|
|
3320
|
+
"jsonUrl": "/r/components/catalogue-icon.json",
|
|
3321
|
+
"path": "./components/catalogue-icon.json",
|
|
3322
|
+
"sha256": "5d6d7427327a438e2dd24c32773901fd1f7ba4cbc1242275ace3e44243b882d4"
|
|
3323
|
+
},
|
|
3324
|
+
{
|
|
3325
|
+
"name": "ChannelBetaIcon",
|
|
3326
|
+
"slug": "channel-beta-icon",
|
|
3327
|
+
"group": "icons",
|
|
3328
|
+
"importPath": "@cueplusplus/ui",
|
|
3329
|
+
"summary": "The beta channel: the same things, one merge earlier.",
|
|
3330
|
+
"status": "todo-docs",
|
|
3331
|
+
"url": "/docs/components/channel-beta-icon",
|
|
3332
|
+
"mdUrl": "/docs/components/channel-beta-icon.md",
|
|
3333
|
+
"jsonUrl": "/r/components/channel-beta-icon.json",
|
|
3334
|
+
"path": "./components/channel-beta-icon.json",
|
|
3335
|
+
"sha256": "0013e7d09ac6198b0871a3e8bdafb6e9a72c927273f7c84f1495e44fd22c8306"
|
|
3336
|
+
},
|
|
3337
|
+
{
|
|
3338
|
+
"name": "ChannelReleasedIcon",
|
|
3339
|
+
"slug": "channel-released-icon",
|
|
3340
|
+
"group": "icons",
|
|
3341
|
+
"importPath": "@cueplusplus/ui",
|
|
3342
|
+
"summary": "The released channel: what a colleague gets when they install without asking for anything in particular.",
|
|
3343
|
+
"status": "todo-docs",
|
|
3344
|
+
"url": "/docs/components/channel-released-icon",
|
|
3345
|
+
"mdUrl": "/docs/components/channel-released-icon.md",
|
|
3346
|
+
"jsonUrl": "/r/components/channel-released-icon.json",
|
|
3347
|
+
"path": "./components/channel-released-icon.json",
|
|
3348
|
+
"sha256": "0c372f5771f96d806e61a5223ea4a3145d553b2e36cbebae0e077536360f14cf"
|
|
3349
|
+
},
|
|
3350
|
+
{
|
|
3351
|
+
"name": "CliToolIcon",
|
|
3352
|
+
"slug": "cli-tool-icon",
|
|
3353
|
+
"group": "icons",
|
|
3354
|
+
"importPath": "@cueplusplus/ui",
|
|
3355
|
+
"summary": "A CLI tool in the registry: a thing that runs in a terminal.",
|
|
3356
|
+
"status": "todo-docs",
|
|
3357
|
+
"url": "/docs/components/cli-tool-icon",
|
|
3358
|
+
"mdUrl": "/docs/components/cli-tool-icon.md",
|
|
3359
|
+
"jsonUrl": "/r/components/cli-tool-icon.json",
|
|
3360
|
+
"path": "./components/cli-tool-icon.json",
|
|
3361
|
+
"sha256": "fb1b15bbd291522c5c00291afb5d6e71bc1c39e5a2dd7d109e929c0d0ba2608f"
|
|
3362
|
+
},
|
|
3363
|
+
{
|
|
3364
|
+
"name": "FolderIcon",
|
|
3365
|
+
"slug": "folder-icon",
|
|
3366
|
+
"group": "icons",
|
|
3367
|
+
"importPath": "@cueplusplus/ui",
|
|
3368
|
+
"summary": "A folder somebody made: a shelf of bookmarks, filed by hand.",
|
|
3369
|
+
"status": "todo-docs",
|
|
3370
|
+
"url": "/docs/components/folder-icon",
|
|
3371
|
+
"mdUrl": "/docs/components/folder-icon.md",
|
|
3372
|
+
"jsonUrl": "/r/components/folder-icon.json",
|
|
3373
|
+
"path": "./components/folder-icon.json",
|
|
3374
|
+
"sha256": "7221db682d4e15d617bc8e13f2751aa479c08f2960cbe4ccc0779492733b7b6c"
|
|
3375
|
+
},
|
|
3376
|
+
{
|
|
3377
|
+
"name": "McpServerIcon",
|
|
3378
|
+
"slug": "mcp-server-icon",
|
|
3379
|
+
"group": "icons",
|
|
3380
|
+
"importPath": "@cueplusplus/ui",
|
|
3381
|
+
"summary": "An MCP server in the registry: a thing an agent connects *to*.",
|
|
3382
|
+
"status": "todo-docs",
|
|
3383
|
+
"url": "/docs/components/mcp-server-icon",
|
|
3384
|
+
"mdUrl": "/docs/components/mcp-server-icon.md",
|
|
3385
|
+
"jsonUrl": "/r/components/mcp-server-icon.json",
|
|
3386
|
+
"path": "./components/mcp-server-icon.json",
|
|
3387
|
+
"sha256": "b15087327ebe3152bb0844dd9b9deb1ee06b73271e90c06bbd518bbf81b6b844"
|
|
3388
|
+
},
|
|
3389
|
+
{
|
|
3390
|
+
"name": "SkillIcon",
|
|
3391
|
+
"slug": "skill-icon",
|
|
3392
|
+
"group": "icons",
|
|
3393
|
+
"importPath": "@cueplusplus/ui",
|
|
3394
|
+
"summary": "A skill: the thing every other container in this set holds.",
|
|
3395
|
+
"status": "todo-docs",
|
|
3396
|
+
"url": "/docs/components/skill-icon",
|
|
3397
|
+
"mdUrl": "/docs/components/skill-icon.md",
|
|
3398
|
+
"jsonUrl": "/r/components/skill-icon.json",
|
|
3399
|
+
"path": "./components/skill-icon.json",
|
|
3400
|
+
"sha256": "543067ce32eaea0dcde12bf29a052987fca0eaee63dbc8fd6f6fd1f339742699"
|
|
3401
|
+
},
|
|
3402
|
+
{
|
|
3403
|
+
"name": "StackIcon",
|
|
3404
|
+
"slug": "stack-icon",
|
|
3405
|
+
"group": "icons",
|
|
3406
|
+
"importPath": "@cueplusplus/ui",
|
|
3407
|
+
"summary": "One person's stack: the set of things they have actually installed.",
|
|
3408
|
+
"status": "todo-docs",
|
|
3409
|
+
"url": "/docs/components/stack-icon",
|
|
3410
|
+
"mdUrl": "/docs/components/stack-icon.md",
|
|
3411
|
+
"jsonUrl": "/r/components/stack-icon.json",
|
|
3412
|
+
"path": "./components/stack-icon.json",
|
|
3413
|
+
"sha256": "e7bc8f595968a5f4fc55a8ecfd916eadcfb398be5541e38c27f4ae38aa3f0f02"
|
|
3414
|
+
},
|
|
3415
|
+
{
|
|
3416
|
+
"name": "StacksMatrixIcon",
|
|
3417
|
+
"slug": "stacks-matrix-icon",
|
|
3418
|
+
"group": "icons",
|
|
3419
|
+
"importPath": "@cueplusplus/ui",
|
|
3420
|
+
"summary": "Every stack at once, one column each: who has what, read across.",
|
|
3421
|
+
"status": "todo-docs",
|
|
3422
|
+
"url": "/docs/components/stacks-matrix-icon",
|
|
3423
|
+
"mdUrl": "/docs/components/stacks-matrix-icon.md",
|
|
3424
|
+
"jsonUrl": "/r/components/stacks-matrix-icon.json",
|
|
3425
|
+
"path": "./components/stacks-matrix-icon.json",
|
|
3426
|
+
"sha256": "94706d78d8d95cac43555fb3046f66f37c16392435d2bc4c39b2e719635eacdf"
|
|
1295
3427
|
},
|
|
1296
3428
|
{
|
|
1297
3429
|
"name": "AppWindowFrame",
|
|
@@ -1447,7 +3579,7 @@
|
|
|
1447
3579
|
"mdUrl": "/docs/components/stat.md",
|
|
1448
3580
|
"jsonUrl": "/r/components/stat.json",
|
|
1449
3581
|
"path": "./components/stat.json",
|
|
1450
|
-
"sha256": "
|
|
3582
|
+
"sha256": "e5456ce585e488035a4421eee4a02eaf1af7a13624d8893763cdfa3a3ee36204"
|
|
1451
3583
|
},
|
|
1452
3584
|
{
|
|
1453
3585
|
"name": "Table",
|
|
@@ -1512,7 +3644,7 @@
|
|
|
1512
3644
|
"mdUrl": "/docs/components/usage-chart.md",
|
|
1513
3645
|
"jsonUrl": "/r/components/usage-chart.json",
|
|
1514
3646
|
"path": "./components/usage-chart.json",
|
|
1515
|
-
"sha256": "
|
|
3647
|
+
"sha256": "ea4b0febbe435e70ff9f6e387da1f09f42b4c538716630ffff2cf17676e20736"
|
|
1516
3648
|
},
|
|
1517
3649
|
{
|
|
1518
3650
|
"name": "Accordion",
|
|
@@ -1733,7 +3865,7 @@
|
|
|
1733
3865
|
"mdUrl": "/docs/components/timeline.md",
|
|
1734
3866
|
"jsonUrl": "/r/components/timeline.json",
|
|
1735
3867
|
"path": "./components/timeline.json",
|
|
1736
|
-
"sha256": "
|
|
3868
|
+
"sha256": "e56937cf78d768e69ff32467dc3157f49793a64ac569455f2f1bd8d7652ac39b"
|
|
1737
3869
|
},
|
|
1738
3870
|
{
|
|
1739
3871
|
"name": "MusicalTimeInput",
|
|
@@ -1785,7 +3917,7 @@
|
|
|
1785
3917
|
"mdUrl": "/docs/components/threshold-rail.md",
|
|
1786
3918
|
"jsonUrl": "/r/components/threshold-rail.json",
|
|
1787
3919
|
"path": "./components/threshold-rail.json",
|
|
1788
|
-
"sha256": "
|
|
3920
|
+
"sha256": "1e4d880e2ab574d7315ada65a4375a2758da79cf595efbbad05bf3916e0e078a"
|
|
1789
3921
|
},
|
|
1790
3922
|
{
|
|
1791
3923
|
"name": "TimelineRuler",
|
|
@@ -1811,7 +3943,7 @@
|
|
|
1811
3943
|
"mdUrl": "/docs/components/alert-dialog.md",
|
|
1812
3944
|
"jsonUrl": "/r/components/alert-dialog.json",
|
|
1813
3945
|
"path": "./components/alert-dialog.json",
|
|
1814
|
-
"sha256": "
|
|
3946
|
+
"sha256": "75c2d4ba54958ba1f03b9031d473c2d3b9b4a4ea7e82c6d657ddc86c6cf0eb68"
|
|
1815
3947
|
},
|
|
1816
3948
|
{
|
|
1817
3949
|
"name": "CommandPalette",
|
|
@@ -1863,7 +3995,7 @@
|
|
|
1863
3995
|
"mdUrl": "/docs/components/drawer.md",
|
|
1864
3996
|
"jsonUrl": "/r/components/drawer.json",
|
|
1865
3997
|
"path": "./components/drawer.json",
|
|
1866
|
-
"sha256": "
|
|
3998
|
+
"sha256": "c900c84c88912b655b6a470afd6d3bcedc3d9024aa7b5794c2e0bcb45259a3ec"
|
|
1867
3999
|
},
|
|
1868
4000
|
{
|
|
1869
4001
|
"name": "DropdownMenu",
|
|
@@ -1876,7 +4008,7 @@
|
|
|
1876
4008
|
"mdUrl": "/docs/components/dropdown-menu.md",
|
|
1877
4009
|
"jsonUrl": "/r/components/dropdown-menu.json",
|
|
1878
4010
|
"path": "./components/dropdown-menu.json",
|
|
1879
|
-
"sha256": "
|
|
4011
|
+
"sha256": "eac29ec0286f6e5f501c202ce4bbdc952003a972ba86a2c66527332c1bafa33a"
|
|
1880
4012
|
},
|
|
1881
4013
|
{
|
|
1882
4014
|
"name": "HoverCard",
|
|
@@ -1889,7 +4021,7 @@
|
|
|
1889
4021
|
"mdUrl": "/docs/components/hover-card.md",
|
|
1890
4022
|
"jsonUrl": "/r/components/hover-card.json",
|
|
1891
4023
|
"path": "./components/hover-card.json",
|
|
1892
|
-
"sha256": "
|
|
4024
|
+
"sha256": "65fbb9c0d5e789d3e7ee03fe6e5d8d4eb8116d45ec8556e5efaa4e1ef9261643"
|
|
1893
4025
|
},
|
|
1894
4026
|
{
|
|
1895
4027
|
"name": "InfoTip",
|
|
@@ -1902,7 +4034,7 @@
|
|
|
1902
4034
|
"mdUrl": "/docs/components/info-tip.md",
|
|
1903
4035
|
"jsonUrl": "/r/components/info-tip.json",
|
|
1904
4036
|
"path": "./components/info-tip.json",
|
|
1905
|
-
"sha256": "
|
|
4037
|
+
"sha256": "4fcfa414bf4b438d7a8d43fd710100bbff751b29d1e6d8d361f904bcb5c93d14"
|
|
1906
4038
|
},
|
|
1907
4039
|
{
|
|
1908
4040
|
"name": "Menubar",
|
|
@@ -1928,7 +4060,7 @@
|
|
|
1928
4060
|
"mdUrl": "/docs/components/popover.md",
|
|
1929
4061
|
"jsonUrl": "/r/components/popover.json",
|
|
1930
4062
|
"path": "./components/popover.json",
|
|
1931
|
-
"sha256": "
|
|
4063
|
+
"sha256": "29a6798a745fe127873ac231b32719d8d06397bb9b4defcf25a1cb6fe698321c"
|
|
1932
4064
|
},
|
|
1933
4065
|
{
|
|
1934
4066
|
"name": "Sheet",
|
|
@@ -1967,7 +4099,7 @@
|
|
|
1967
4099
|
"mdUrl": "/docs/components/tooltip.md",
|
|
1968
4100
|
"jsonUrl": "/r/components/tooltip.json",
|
|
1969
4101
|
"path": "./components/tooltip.json",
|
|
1970
|
-
"sha256": "
|
|
4102
|
+
"sha256": "4396b23dcf8a99ef78f9e17fdc1162c090f6326e6f152c765601ad2c5a095fa4"
|
|
1971
4103
|
},
|
|
1972
4104
|
{
|
|
1973
4105
|
"name": "Avatar",
|
|
@@ -2006,20 +4138,20 @@
|
|
|
2006
4138
|
"mdUrl": "/docs/components/button.md",
|
|
2007
4139
|
"jsonUrl": "/r/components/button.json",
|
|
2008
4140
|
"path": "./components/button.json",
|
|
2009
|
-
"sha256": "
|
|
4141
|
+
"sha256": "fad34165e8add1b0cbe02c8c08c088e8d95bf825be144a3717a38d84feab47f0"
|
|
2010
4142
|
},
|
|
2011
4143
|
{
|
|
2012
4144
|
"name": "Chip",
|
|
2013
4145
|
"slug": "chip",
|
|
2014
4146
|
"group": "primitives",
|
|
2015
4147
|
"importPath": "@cueplusplus/ui",
|
|
2016
|
-
"summary": "The status pill: tinted fill,
|
|
4148
|
+
"summary": "The status pill, at three volumes: tinted fill, bare outline, or a hairline tag.",
|
|
2017
4149
|
"status": "stable",
|
|
2018
4150
|
"url": "/docs/components/chip",
|
|
2019
4151
|
"mdUrl": "/docs/components/chip.md",
|
|
2020
4152
|
"jsonUrl": "/r/components/chip.json",
|
|
2021
4153
|
"path": "./components/chip.json",
|
|
2022
|
-
"sha256": "
|
|
4154
|
+
"sha256": "e5c43aff528aac28770c53053801902e2f4a0169ea91c25f600759d6b7687698"
|
|
2023
4155
|
},
|
|
2024
4156
|
{
|
|
2025
4157
|
"name": "IconButton",
|
|
@@ -2097,7 +4229,7 @@
|
|
|
2097
4229
|
"mdUrl": "/docs/components/status-dot.md",
|
|
2098
4230
|
"jsonUrl": "/r/components/status-dot.json",
|
|
2099
4231
|
"path": "./components/status-dot.json",
|
|
2100
|
-
"sha256": "
|
|
4232
|
+
"sha256": "1d93036514ef55b09de72ec8bf90d115fa1080fe4b548192ebe0cd50921c3a52"
|
|
2101
4233
|
},
|
|
2102
4234
|
{
|
|
2103
4235
|
"name": "CuePortalFrame",
|
|
@@ -2110,7 +4242,7 @@
|
|
|
2110
4242
|
"mdUrl": "/docs/components/cue-portal-frame.md",
|
|
2111
4243
|
"jsonUrl": "/r/components/cue-portal-frame.json",
|
|
2112
4244
|
"path": "./components/cue-portal-frame.json",
|
|
2113
|
-
"sha256": "
|
|
4245
|
+
"sha256": "1e5231671c99fcc24bb66a4bfe666c9008b5772c6695d730b68235444f243599"
|
|
2114
4246
|
},
|
|
2115
4247
|
{
|
|
2116
4248
|
"name": "Density",
|
|
@@ -2123,7 +4255,7 @@
|
|
|
2123
4255
|
"mdUrl": "/docs/components/density.md",
|
|
2124
4256
|
"jsonUrl": "/r/components/density.json",
|
|
2125
4257
|
"path": "./components/density.json",
|
|
2126
|
-
"sha256": "
|
|
4258
|
+
"sha256": "d8a5c81fac037dd6bd9a86b114efaa39bba4b47b78e650a65f9b34da88e7244d"
|
|
2127
4259
|
},
|
|
2128
4260
|
{
|
|
2129
4261
|
"name": "ThemeProvider",
|
|
@@ -2136,7 +4268,512 @@
|
|
|
2136
4268
|
"mdUrl": "/docs/components/theme-provider.md",
|
|
2137
4269
|
"jsonUrl": "/r/components/theme-provider.json",
|
|
2138
4270
|
"path": "./components/theme-provider.json",
|
|
2139
|
-
"sha256": "
|
|
4271
|
+
"sha256": "f6888f7b4139aaccf18f30858826b203a2832d3bf48dc142c1d1ca41a9666dea"
|
|
4272
|
+
}
|
|
4273
|
+
],
|
|
4274
|
+
"hooks": [
|
|
4275
|
+
{
|
|
4276
|
+
"name": "useAgentThread",
|
|
4277
|
+
"slug": "use-agent-thread",
|
|
4278
|
+
"group": "agent-runtime",
|
|
4279
|
+
"importPath": "@cueplusplus/ui/agent-runtime",
|
|
4280
|
+
"peerDependencies": [
|
|
4281
|
+
"@assistant-ui/react"
|
|
4282
|
+
],
|
|
4283
|
+
"clientOnly": true,
|
|
4284
|
+
"description": "An assistant-ui runtime, read as the props the Chat group already takes.\n\n`Message`, `MessageList` and `Composer` render turns that have finished\narriving. The hard part of a turn that is *still* arriving — assembling\ntokens, tracking a run, cancelling one, keeping a regenerated answer beside\nits sibling — is a solved problem, so this library does not re-derive it. You\nbuild a runtime with one line of assistant-ui, typically\n`useExternalStoreRuntime(adapter)`, and hand the object over; every field\nthat comes back is named for the prop it feeds.\n\nIt is provider-free by construction: a `useSyncExternalStore` over the\nruntime's thread, and nothing else. No `AssistantRuntimeProvider`, no\nprimitive, no context and no borrowed DOM — this library renders 100% of what\nthe reader sees, and the peer is only a type in the shipped modules.\n\n`MessageList` follows a turn that is still growing on its own: the items\ncontainer is watched for growth, so a streaming bubble keeps the bottom in\nview without the host adding anything, while a tool-call card the reader\nfolds away leaves the view where it was.\n\nFour things are worth knowing before wiring an `ExternalStoreAdapter` to it:\n\n- **Pass `convertMessage`, and keep its identity.** Without it your messages\n must already be complete runtime messages, and a missing `metadata`\n throws; `convertMessage: (m) => m` lets the runtime fill the defaults in.\n Declare it outside the component (or memoise it): the runtime caches the\n conversion against that function, so a fresh arrow every render re-converts\n the whole thread, which re-renders, which converts it again — an inline\n arrow turns the next message change into \"Maximum update depth exceeded\".\n- **`onReload` takes two arguments** — `(parentId, config)`. Regenerating a\n turn re-runs its *parent*, which is what puts the new answer beside the old\n one rather than after it.\n- **A branch switch is host-owned.** Under an ExternalStore runtime\n `switchBranch` does not move the thread: it arrives at the adapter's\n `setMessages` with the newly visible list, and the host writes it back. A\n host that ignores `setMessages` gets a picker that does nothing.\n- **`onStop`, `regenerate` and `switchBranch` are `undefined`** until the\n matching callback exists on the adapter (`onCancel`, `onReload`,\n `setMessages`). That is deliberate: `Composer` keeps drawing Send while\n `onStop` is missing, so a control that cannot work is never drawn.",
|
|
4285
|
+
"signature": "(runtime: AssistantRuntime, options?: UseAgentThreadOptions): AgentThread",
|
|
4286
|
+
"params": [],
|
|
4287
|
+
"returns": "",
|
|
4288
|
+
"throws": "",
|
|
4289
|
+
"summary": "An assistant-ui runtime, read as the props the Chat group already takes.",
|
|
4290
|
+
"examples": [
|
|
4291
|
+
{
|
|
4292
|
+
"title": "Usage",
|
|
4293
|
+
"code": "// Outside the component: the runtime caches the conversion against this\n// function, and a new one every render is an update loop.\nconst convertMessage = (m: ThreadMessageLike) => m;\n\nconst runtime = useExternalStoreRuntime({\n messages,\n isRunning,\n convertMessage,\n onNew,\n onCancel,\n onReload,\n setMessages,\n});\nconst thread = useAgentThread(runtime, { agent: \"planner\" });\n\n<MessageList aria-label=\"Thread\">\n {thread.turns.map((t) => (\n <Message\n key={t.id}\n role={t.role}\n agent={t.agent}\n pending={t.pending}\n footer={\n t.branch.count > 1 && thread.switchBranch ? (\n <BranchPicker\n index={t.branch.index}\n count={t.branch.count}\n onNavigate={(d) => thread.switchBranch?.(t.id, d)}\n disabled={thread.busy}\n />\n ) : undefined\n }\n >\n {t.text}\n {t.toolCalls.map((c) => (\n <ToolCallCard key={c.id} tool={c.tool} args={c.args} result={c.result} status={c.status} />\n ))}\n </Message>\n ))}\n</MessageList>\n<Composer\n onSend={thread.onSend}\n busy={thread.busy}\n disabled={thread.disabled || thread.busy}\n onStop={thread.onStop}\n/>",
|
|
4294
|
+
"language": "tsx"
|
|
4295
|
+
}
|
|
4296
|
+
],
|
|
4297
|
+
"whenToUse": [],
|
|
4298
|
+
"whenNotToUse": [],
|
|
4299
|
+
"commonMistakes": [],
|
|
4300
|
+
"status": "stable",
|
|
4301
|
+
"url": "/docs/components/use-agent-thread",
|
|
4302
|
+
"mdUrl": "/docs/components/use-agent-thread.md",
|
|
4303
|
+
"specimens": [
|
|
4304
|
+
{
|
|
4305
|
+
"title": "useAgentThread / ToolCallCard / BranchPicker",
|
|
4306
|
+
"group": "agent-runtime",
|
|
4307
|
+
"components": [
|
|
4308
|
+
"useAgentThread",
|
|
4309
|
+
"ToolCallCard",
|
|
4310
|
+
"BranchPicker"
|
|
4311
|
+
],
|
|
4312
|
+
"code": "<ScriptedThread />",
|
|
4313
|
+
"note": "The hook reads an assistant-ui runtime and hands back the props the Chat group already takes: `busy`, `disabled`, `onSend` and `onStop` for the composer, `role`, `agent` and `pending` for each turn, `toolCalls` for the cards, `branch` and `switchBranch` for the stepper. No provider is mounted and no borrowed DOM is rendered, so every pixel here is this library's. The thread below plays a fixed script, because a docs page has no model behind it.",
|
|
4314
|
+
"interaction": "the script streams once and stops on its own; Stop cancels it mid-sentence, Regenerate answers again under the same question, and the stepper that then appears walks the two answers."
|
|
4315
|
+
}
|
|
4316
|
+
]
|
|
4317
|
+
},
|
|
4318
|
+
{
|
|
4319
|
+
"name": "useZoom",
|
|
4320
|
+
"slug": "use-zoom",
|
|
4321
|
+
"group": "configurator",
|
|
4322
|
+
"importPath": "@cueplusplus/ui/configurator",
|
|
4323
|
+
"peerDependencies": [],
|
|
4324
|
+
"clientOnly": true,
|
|
4325
|
+
"description": "A bounded, stepped root-zoom valve with the usual keyboard shortcuts.\n\nControlled or uncontrolled, the same way every other control in this system\nis: pass `zoom` to own the value, `defaultZoom` to let the hook own it.\n\nThe declaration belongs to the hook while it is mounted — unmounting takes it\nback off, so a configurator that is closed does not leave the page at 1.4.",
|
|
4326
|
+
"signature": "(options?: UseZoomOptions): ZoomValve",
|
|
4327
|
+
"params": [
|
|
4328
|
+
{
|
|
4329
|
+
"name": "options",
|
|
4330
|
+
"description": "Range, target, controlled value, shortcut opt-out."
|
|
4331
|
+
}
|
|
4332
|
+
],
|
|
4333
|
+
"returns": "The valve: the value and the four ways to move it.",
|
|
4334
|
+
"throws": "",
|
|
4335
|
+
"summary": "A bounded, stepped root-zoom valve with the usual keyboard shortcuts.",
|
|
4336
|
+
"examples": [
|
|
4337
|
+
{
|
|
4338
|
+
"title": "Usage",
|
|
4339
|
+
"code": "const { zoom, zoomIn, zoomOut, reset } = useZoom({ shortcuts: false });",
|
|
4340
|
+
"language": "tsx"
|
|
4341
|
+
}
|
|
4342
|
+
],
|
|
4343
|
+
"whenToUse": [],
|
|
4344
|
+
"whenNotToUse": [],
|
|
4345
|
+
"commonMistakes": [],
|
|
4346
|
+
"status": "stable",
|
|
4347
|
+
"url": "/docs/components/use-zoom",
|
|
4348
|
+
"mdUrl": "/docs/components/use-zoom.md"
|
|
4349
|
+
},
|
|
4350
|
+
{
|
|
4351
|
+
"name": "useAnnouncerPresent",
|
|
4352
|
+
"slug": "use-announcer-present",
|
|
4353
|
+
"group": "elements",
|
|
4354
|
+
"importPath": "@cueplusplus/ui/elements",
|
|
4355
|
+
"peerDependencies": [],
|
|
4356
|
+
"clientOnly": true,
|
|
4357
|
+
"description": "Whether a {@link LiveRegionAnnouncer} is mounted and will do the speaking.\n\nThe hook behind this family's one-speaker rule: an announcer and a\n`TailStatus` in the same console would otherwise narrate the same run twice,\nso the row asks this and goes quiet. Exported because a console with a status\nrow of its own owes a reader the same courtesy — ask before becoming a second\nlive region.",
|
|
4358
|
+
"signature": "(): boolean",
|
|
4359
|
+
"params": [],
|
|
4360
|
+
"returns": "`true` while at least one announcer is mounted anywhere in the page.",
|
|
4361
|
+
"throws": "",
|
|
4362
|
+
"summary": "Whether a {@link LiveRegionAnnouncer} is mounted and will do the speaking.",
|
|
4363
|
+
"examples": [
|
|
4364
|
+
{
|
|
4365
|
+
"title": "Usage",
|
|
4366
|
+
"code": "const spokenFor = useAnnouncerPresent();\n<div role={spokenFor ? undefined : \"status\"}>{action}</div>",
|
|
4367
|
+
"language": "tsx"
|
|
4368
|
+
}
|
|
4369
|
+
],
|
|
4370
|
+
"whenToUse": [],
|
|
4371
|
+
"whenNotToUse": [],
|
|
4372
|
+
"commonMistakes": [],
|
|
4373
|
+
"status": "stable",
|
|
4374
|
+
"url": "/docs/components/use-announcer-present",
|
|
4375
|
+
"mdUrl": "/docs/components/use-announcer-present.md"
|
|
4376
|
+
},
|
|
4377
|
+
{
|
|
4378
|
+
"name": "useMentionMatches",
|
|
4379
|
+
"slug": "use-mention-matches",
|
|
4380
|
+
"group": "elements",
|
|
4381
|
+
"importPath": "@cueplusplus/ui/elements",
|
|
4382
|
+
"peerDependencies": [
|
|
4383
|
+
"lucide-react"
|
|
4384
|
+
],
|
|
4385
|
+
"clientOnly": true,
|
|
4386
|
+
"description": "People matching a trailing",
|
|
4387
|
+
"signature": "(value: string, people: readonly ComposerPerson[] | undefined): ComposerPerson[]",
|
|
4388
|
+
"params": [],
|
|
4389
|
+
"returns": "",
|
|
4390
|
+
"throws": "",
|
|
4391
|
+
"summary": "People matching a trailing",
|
|
4392
|
+
"examples": [
|
|
4393
|
+
{
|
|
4394
|
+
"title": "Usage",
|
|
4395
|
+
"code": "import { ComposerMenu, ComposerPersonItem, applyMention, useMentionMatches } from \"@cueplusplus/ui/elements\";\n\nconst matches = useMentionMatches(value, people);\n\n<ComposerMenu open={matches.length > 0} align=\"end\">\n{matches.map((person, index) => (\n<ComposerPersonItem\nkey={person.name}\nperson={person}\nactive={index === active}\nonClick={() => setValue(applyMention(value, person.name))}\n/>\n))}\n</ComposerMenu>",
|
|
4396
|
+
"language": "tsx"
|
|
4397
|
+
}
|
|
4398
|
+
],
|
|
4399
|
+
"whenToUse": [],
|
|
4400
|
+
"whenNotToUse": [],
|
|
4401
|
+
"commonMistakes": [],
|
|
4402
|
+
"status": "stable",
|
|
4403
|
+
"url": "/docs/components/use-mention-matches",
|
|
4404
|
+
"mdUrl": "/docs/components/use-mention-matches.md",
|
|
4405
|
+
"specimens": [
|
|
4406
|
+
{
|
|
4407
|
+
"title": "ComposerMenu / useSlashMatches / useMentionMatches",
|
|
4408
|
+
"group": "elements-composer",
|
|
4409
|
+
"components": [
|
|
4410
|
+
"ComposerMenu",
|
|
4411
|
+
"ComposerMenuItem",
|
|
4412
|
+
"ComposerCommandItem",
|
|
4413
|
+
"ComposerPersonItem",
|
|
4414
|
+
"useSlashMatches",
|
|
4415
|
+
"useMentionMatches"
|
|
4416
|
+
],
|
|
4417
|
+
"code": "<Specimens>\n <Specimen label=\"slash commands\" wide>\n <div className=\"flex min-h-64 w-full max-w-lg items-end\">\n <ElementsComposer>\n <ComposerMenu open={slashMatches.length > 0} align=\"start\">\n {slashMatches.map((command, index) => (\n <ComposerCommandItem\n key={command.name}\n command={command}\n active={index === 0}\n onClick={() => setSlash(`/${command.name} `)}\n />\n ))}\n <ComposerMenuItem onClick={() => setSlash(\"\")}>\n Browse every command\n </ComposerMenuItem>\n </ComposerMenu>\n <ComposerBar>\n <ComposerInput\n aria-label=\"Run a slash command\"\n value={slash}\n placeholder=\"Type / for commands\"\n onChange={(event) => setSlash(event.target.value)}\n />\n </ComposerBar>\n </ElementsComposer>\n </div>\n </Specimen>\n\n <Specimen label=\"mentions\" wide>\n <div className=\"flex min-h-64 w-full max-w-lg items-end\">\n <ElementsComposer>\n <ComposerMenu open={mentionMatches.length > 0} align=\"end\">\n {mentionMatches.map((person, index) => (\n <ComposerPersonItem\n key={person.name}\n person={person}\n active={index === 0}\n onClick={() => setMention(applyMention(mention, person.name))}\n />\n ))}\n </ComposerMenu>\n <ComposerBar>\n <ComposerInput\n aria-label=\"Mention an agent or a person\"\n value={mention}\n placeholder=\"Type @ to hand this to somebody\"\n onChange={(event) => setMention(event.target.value)}\n />\n </ComposerBar>\n </ElementsComposer>\n </div>\n </Specimen>\n</Specimens>",
|
|
4418
|
+
"note": "One input, two menus, and two hooks that decide which of them has anything to say. `useSlashMatches` answers only while the value starts with a slash; `useMentionMatches` only while the caret is inside a trailing @word — so an empty result is the menu's own instruction to stay shut. `applyMention` writes the choice back into the value, which is the one piece of text editing the family does for you. Type in either field below and the menu above it follows.",
|
|
4419
|
+
"interaction": "the menu animates rather than mounting, so the caret never moves under it. A row is a button and takes cue's focus ring; the active one shows the return key it would answer to."
|
|
4420
|
+
}
|
|
4421
|
+
]
|
|
4422
|
+
},
|
|
4423
|
+
{
|
|
4424
|
+
"name": "useReplay",
|
|
4425
|
+
"slug": "use-replay",
|
|
4426
|
+
"group": "elements",
|
|
4427
|
+
"importPath": "@cueplusplus/ui/elements/replay",
|
|
4428
|
+
"peerDependencies": [],
|
|
4429
|
+
"clientOnly": true,
|
|
4430
|
+
"description": "A filmstrip, a clock and a set of controls — without the controls.\n\nThis is {@link ReplayPlayer} with its chrome removed, for a page that wants\nto draw its own transport (a state timeline, a keyboard shortcut, a play\nbutton somewhere else on the page) or to render the scene itself rather than\nfrom `frame.scene`.\n\n**One clock, not a chain of timeouts.** Every existing player in this\nrepository schedules the next frame with `setTimeout(step, hold)`, which\nmakes pause impossible: the time already spent inside the in-flight timeout\nis unrecoverable, so a resume can only start the hold again. Here the\nplayhead is a number of *script* milliseconds and wall time reaches it\nthrough one origin — `base + (now() - origin) * rate` — so pausing is\n\"write down the playhead\", resuming is \"take a new origin\", and the unspent\n380 ms of a 400 ms hold is still 380 ms on the other side of the pause. The\nsame identity is what makes the rate multiplier exact rather than\napproximate, and what makes a seek and a play land on the same frame.\n\n**Reduced motion is a mode, not a fallback.** Under\n`prefers-reduced-motion: reduce` no frame is ever scheduled — not scheduled\nand hidden, not scheduled at speed, not scheduled at all — and the transport\nopens on the resting frame instead. Every control except play and rate keeps\nworking, so a reader who has asked for stillness can still step through the\nrun one frame at a time and read every state it passes through. That is\nstrictly more than the two older players in this library offer, which show\nthe end and stop.",
|
|
4431
|
+
"signature": "(script: ReplayScript, options?: ReplayOptions): ReplayTransport",
|
|
4432
|
+
"params": [],
|
|
4433
|
+
"returns": "",
|
|
4434
|
+
"throws": "",
|
|
4435
|
+
"summary": "A filmstrip, a clock and a set of controls — without the controls.",
|
|
4436
|
+
"examples": [
|
|
4437
|
+
{
|
|
4438
|
+
"title": "Usage",
|
|
4439
|
+
"code": "const { frame, index, playing, toggle, seek } = useReplay(SCRIPT);\nreturn <Thread messages={MESSAGES[index]!} onClick={toggle} />;",
|
|
4440
|
+
"language": "tsx"
|
|
4441
|
+
},
|
|
4442
|
+
{
|
|
4443
|
+
"title": "Usage 2",
|
|
4444
|
+
"code": "// Deep-linked at a frame, paused, and half speed.\nconst replay = useReplay(SCRIPT, { startAt: 17, autoPlay: false, rate: 0.5 });",
|
|
4445
|
+
"language": "tsx"
|
|
4446
|
+
}
|
|
4447
|
+
],
|
|
4448
|
+
"whenToUse": [],
|
|
4449
|
+
"whenNotToUse": [],
|
|
4450
|
+
"commonMistakes": [],
|
|
4451
|
+
"status": "stable",
|
|
4452
|
+
"url": "/docs/components/use-replay",
|
|
4453
|
+
"mdUrl": "/docs/components/use-replay.md",
|
|
4454
|
+
"specimens": [
|
|
4455
|
+
{
|
|
4456
|
+
"title": "ReplayPlayer",
|
|
4457
|
+
"group": "elements",
|
|
4458
|
+
"components": [
|
|
4459
|
+
"ReplayPlayer",
|
|
4460
|
+
"useReplay"
|
|
4461
|
+
],
|
|
4462
|
+
"code": "<Specimens>\n <Specimen label=\"playing\" wide>\n <div className=\"w-full max-w-[42rem]\">\n <ReplayPlayer script={REPLAY_SCRIPT} />\n </div>\n </Specimen>\n <Specimen label=\"seated at a frame, paused\" wide>\n <div className=\"w-full max-w-[42rem]\">\n <ReplayPlayer script={REPLAY_SCRIPT} startAt={4} autoPlay={false} />\n </div>\n </Specimen>\n</Specimens>",
|
|
4463
|
+
"note": "The run above, playing. The player is a controller over a filmstrip rather than an animation: every frame carries the whole scene, so frame 5 reached by scrubbing is the same DOM as frame 5 reached by watching. One monotonic clock underneath it means pause keeps the unspent part of a hold instead of starting it again, and the rate control is exact rather than approximate. The root publishes data-replay-state, data-replay-playing and data-replay-frame, the way TerminalFrame publishes data-simulating. Under prefers-reduced-motion nothing is ever scheduled: the player opens on the resting frame and every control except play and rate keeps working, so a reader who asked for stillness can still step through all seven states.",
|
|
4464
|
+
"interaction": "the transport is five controls and a scrubber, all keyboard-reachable: the slider steps a frame per arrow key. Stepping stops the clock, because a step is a position rather than a speed. The scenes stay live while they are on screen — open the tool call's disclosure, answer the approval — and what a reader touched outlives the frame it was touched on for exactly as long as the row does: a scene keeps its state while the element in a position holds its type, and starts over when the run puts something else there. The player accumulates nothing either way, which is why a deep link, which is a fresh mount, always draws the frame it names."
|
|
4465
|
+
}
|
|
4466
|
+
]
|
|
4467
|
+
},
|
|
4468
|
+
{
|
|
4469
|
+
"name": "useSlashMatches",
|
|
4470
|
+
"slug": "use-slash-matches",
|
|
4471
|
+
"group": "elements",
|
|
4472
|
+
"importPath": "@cueplusplus/ui/elements",
|
|
4473
|
+
"peerDependencies": [
|
|
4474
|
+
"lucide-react"
|
|
4475
|
+
],
|
|
4476
|
+
"clientOnly": true,
|
|
4477
|
+
"description": "Commands whose name starts with the slash query, or none when not typing one.",
|
|
4478
|
+
"signature": "(value: string, commands: readonly ComposerCommand[] | undefined): ComposerCommand[]",
|
|
4479
|
+
"params": [],
|
|
4480
|
+
"returns": "",
|
|
4481
|
+
"throws": "",
|
|
4482
|
+
"summary": "Commands whose name starts with the slash query, or none when not typing one.",
|
|
4483
|
+
"examples": [
|
|
4484
|
+
{
|
|
4485
|
+
"title": "Usage",
|
|
4486
|
+
"code": "import { ComposerCommandItem, ComposerMenu, useSlashMatches } from \"@cueplusplus/ui/elements\";\n\nconst matches = useSlashMatches(value, commands);\n\n<ComposerMenu open={matches.length > 0}>\n {matches.map((command, index) => (\n <ComposerCommandItem\n key={command.name}\n command={command}\n active={index === active}\n onClick={() => setValue(`/${command.name} `)}\n />\n ))}\n</ComposerMenu>",
|
|
4487
|
+
"language": "tsx"
|
|
4488
|
+
}
|
|
4489
|
+
],
|
|
4490
|
+
"whenToUse": [],
|
|
4491
|
+
"whenNotToUse": [],
|
|
4492
|
+
"commonMistakes": [],
|
|
4493
|
+
"status": "stable",
|
|
4494
|
+
"url": "/docs/components/use-slash-matches",
|
|
4495
|
+
"mdUrl": "/docs/components/use-slash-matches.md",
|
|
4496
|
+
"specimens": [
|
|
4497
|
+
{
|
|
4498
|
+
"title": "ComposerMenu / useSlashMatches / useMentionMatches",
|
|
4499
|
+
"group": "elements-composer",
|
|
4500
|
+
"components": [
|
|
4501
|
+
"ComposerMenu",
|
|
4502
|
+
"ComposerMenuItem",
|
|
4503
|
+
"ComposerCommandItem",
|
|
4504
|
+
"ComposerPersonItem",
|
|
4505
|
+
"useSlashMatches",
|
|
4506
|
+
"useMentionMatches"
|
|
4507
|
+
],
|
|
4508
|
+
"code": "<Specimens>\n <Specimen label=\"slash commands\" wide>\n <div className=\"flex min-h-64 w-full max-w-lg items-end\">\n <ElementsComposer>\n <ComposerMenu open={slashMatches.length > 0} align=\"start\">\n {slashMatches.map((command, index) => (\n <ComposerCommandItem\n key={command.name}\n command={command}\n active={index === 0}\n onClick={() => setSlash(`/${command.name} `)}\n />\n ))}\n <ComposerMenuItem onClick={() => setSlash(\"\")}>\n Browse every command\n </ComposerMenuItem>\n </ComposerMenu>\n <ComposerBar>\n <ComposerInput\n aria-label=\"Run a slash command\"\n value={slash}\n placeholder=\"Type / for commands\"\n onChange={(event) => setSlash(event.target.value)}\n />\n </ComposerBar>\n </ElementsComposer>\n </div>\n </Specimen>\n\n <Specimen label=\"mentions\" wide>\n <div className=\"flex min-h-64 w-full max-w-lg items-end\">\n <ElementsComposer>\n <ComposerMenu open={mentionMatches.length > 0} align=\"end\">\n {mentionMatches.map((person, index) => (\n <ComposerPersonItem\n key={person.name}\n person={person}\n active={index === 0}\n onClick={() => setMention(applyMention(mention, person.name))}\n />\n ))}\n </ComposerMenu>\n <ComposerBar>\n <ComposerInput\n aria-label=\"Mention an agent or a person\"\n value={mention}\n placeholder=\"Type @ to hand this to somebody\"\n onChange={(event) => setMention(event.target.value)}\n />\n </ComposerBar>\n </ElementsComposer>\n </div>\n </Specimen>\n</Specimens>",
|
|
4509
|
+
"note": "One input, two menus, and two hooks that decide which of them has anything to say. `useSlashMatches` answers only while the value starts with a slash; `useMentionMatches` only while the caret is inside a trailing @word — so an empty result is the menu's own instruction to stay shut. `applyMention` writes the choice back into the value, which is the one piece of text editing the family does for you. Type in either field below and the menu above it follows.",
|
|
4510
|
+
"interaction": "the menu animates rather than mounting, so the caret never moves under it. A row is a button and takes cue's focus ring; the active one shows the return key it would answer to."
|
|
4511
|
+
}
|
|
4512
|
+
]
|
|
4513
|
+
},
|
|
4514
|
+
{
|
|
4515
|
+
"name": "useFlowTheme",
|
|
4516
|
+
"slug": "use-flow-theme",
|
|
4517
|
+
"group": "flow",
|
|
4518
|
+
"importPath": "@cueplusplus/ui/flow",
|
|
4519
|
+
"peerDependencies": [
|
|
4520
|
+
"@xyflow/react"
|
|
4521
|
+
],
|
|
4522
|
+
"clientOnly": true,
|
|
4523
|
+
"description": "Everything a `<ReactFlow>` needs to look like it belongs to this system.",
|
|
4524
|
+
"signature": "(): FlowTheme",
|
|
4525
|
+
"params": [],
|
|
4526
|
+
"returns": "",
|
|
4527
|
+
"throws": "",
|
|
4528
|
+
"summary": "Everything a `<ReactFlow>` needs to look like it belongs to this system.",
|
|
4529
|
+
"examples": [
|
|
4530
|
+
{
|
|
4531
|
+
"title": "Usage",
|
|
4532
|
+
"code": "const theme = useFlowTheme();\n<ReactFlow\n nodes={nodes}\n edges={edges}\n nodeTypes={nodeTypes}\n edgeTypes={theme.edgeTypes}\n defaultEdgeOptions={theme.defaultEdgeOptions}\n colorMode={theme.colorMode}\n style={theme.style}\n>\n <FlowBackground />\n <FlowControls />\n</ReactFlow>",
|
|
4533
|
+
"language": "tsx"
|
|
4534
|
+
},
|
|
4535
|
+
{
|
|
4536
|
+
"title": "Usage 2",
|
|
4537
|
+
"code": "// Colour a whole class of nodes at once — the cards inherit the frame.\nconst nodes = inputs.map((input) => ({ ...input, style: theme.nodeStyles.input }));",
|
|
4538
|
+
"language": "tsx"
|
|
4539
|
+
}
|
|
4540
|
+
],
|
|
4541
|
+
"whenToUse": [],
|
|
4542
|
+
"whenNotToUse": [],
|
|
4543
|
+
"commonMistakes": [],
|
|
4544
|
+
"status": "stable",
|
|
4545
|
+
"url": "/docs/components/use-flow-theme",
|
|
4546
|
+
"mdUrl": "/docs/components/use-flow-theme.md"
|
|
4547
|
+
},
|
|
4548
|
+
{
|
|
4549
|
+
"name": "useCueTable",
|
|
4550
|
+
"slug": "use-cue-table",
|
|
4551
|
+
"group": "instruments",
|
|
4552
|
+
"importPath": "@cueplusplus/ui/instruments/data-table",
|
|
4553
|
+
"peerDependencies": [
|
|
4554
|
+
"@tanstack/react-table"
|
|
4555
|
+
],
|
|
4556
|
+
"clientOnly": true,
|
|
4557
|
+
"description": "A TanStack v9 table wired for the console.\n\nAdds one default on top of the feature set: `globalFilterFn: \"includesString\"`,\nwhich is what a single search box over a console table always means. Override\nit, or any other option, by passing it.",
|
|
4558
|
+
"signature": "<TData extends RowData>(options: UseCueTableOptions<TData>): CueTable<TData>",
|
|
4559
|
+
"params": [
|
|
4560
|
+
{
|
|
4561
|
+
"name": "options",
|
|
4562
|
+
"description": "Everything `useTable` takes except `features`."
|
|
4563
|
+
}
|
|
4564
|
+
],
|
|
4565
|
+
"returns": "The table instance, ready to render through `Table`.",
|
|
4566
|
+
"throws": "",
|
|
4567
|
+
"summary": "A TanStack v9 table wired for the console.",
|
|
4568
|
+
"examples": [
|
|
4569
|
+
{
|
|
4570
|
+
"title": "Usage",
|
|
4571
|
+
"code": "const table = useCueTable({ data, columns, state: { globalFilter }, onGlobalFilterChange });",
|
|
4572
|
+
"language": "tsx"
|
|
4573
|
+
}
|
|
4574
|
+
],
|
|
4575
|
+
"whenToUse": [],
|
|
4576
|
+
"whenNotToUse": [],
|
|
4577
|
+
"commonMistakes": [],
|
|
4578
|
+
"status": "stable",
|
|
4579
|
+
"url": "/docs/components/use-cue-table",
|
|
4580
|
+
"mdUrl": "/docs/components/use-cue-table.md"
|
|
4581
|
+
},
|
|
4582
|
+
{
|
|
4583
|
+
"name": "useCarousel",
|
|
4584
|
+
"slug": "use-carousel",
|
|
4585
|
+
"group": "layout",
|
|
4586
|
+
"importPath": "@cueplusplus/ui/layout/carousel",
|
|
4587
|
+
"peerDependencies": [
|
|
4588
|
+
"embla-carousel-react"
|
|
4589
|
+
],
|
|
4590
|
+
"clientOnly": true,
|
|
4591
|
+
"description": "Read the enclosing carousel's state and controls.\n\nUse it to build a control the kit does not ship — a slide counter, a\nthumbnail strip, an autoplay toggle.",
|
|
4592
|
+
"signature": "(): CarouselContextValue",
|
|
4593
|
+
"params": [],
|
|
4594
|
+
"returns": "",
|
|
4595
|
+
"throws": "If called outside a `Carousel.Root`.",
|
|
4596
|
+
"summary": "Read the enclosing carousel's state and controls.",
|
|
4597
|
+
"examples": [
|
|
4598
|
+
{
|
|
4599
|
+
"title": "Usage",
|
|
4600
|
+
"code": "const { selectedIndex, scrollSnaps } = useCarousel();",
|
|
4601
|
+
"language": "tsx"
|
|
4602
|
+
}
|
|
4603
|
+
],
|
|
4604
|
+
"whenToUse": [],
|
|
4605
|
+
"whenNotToUse": [],
|
|
4606
|
+
"commonMistakes": [],
|
|
4607
|
+
"status": "stable",
|
|
4608
|
+
"url": "/docs/components/use-carousel",
|
|
4609
|
+
"mdUrl": "/docs/components/use-carousel.md"
|
|
4610
|
+
},
|
|
4611
|
+
{
|
|
4612
|
+
"name": "useSidebar",
|
|
4613
|
+
"slug": "use-sidebar",
|
|
4614
|
+
"group": "layout",
|
|
4615
|
+
"importPath": "@cueplusplus/ui",
|
|
4616
|
+
"peerDependencies": [],
|
|
4617
|
+
"clientOnly": true,
|
|
4618
|
+
"description": "Read the collapse state of the nearest {@link SidebarRoot}.\n\nHands back `{ collapsed, toggle }`: whether the column is at its narrow\nwidth, and the same valve `Sidebar.Rail` pulls. It is for the part the kit\ndoes not ship — a footer that drops its labels when the column narrows, a\nkeyboard shortcut, a collapse control somewhere other than the rail.\n\nOutside a `Sidebar.Root` it reports `collapsed: false` and a `toggle` that\ndoes nothing, rather than throwing. A row rendered on its own — in a test, on\na docs page, in a menu that reuses the same markup — is a legitimate thing,\nand the honest answer for it is that nothing is collapsed.",
|
|
4619
|
+
"signature": "(): SidebarContextValue",
|
|
4620
|
+
"params": [],
|
|
4621
|
+
"returns": "",
|
|
4622
|
+
"throws": "",
|
|
4623
|
+
"summary": "Read the collapse state of the nearest {@link SidebarRoot}.",
|
|
4624
|
+
"examples": [
|
|
4625
|
+
{
|
|
4626
|
+
"title": "Usage",
|
|
4627
|
+
"code": "const { collapsed } = useSidebar();\n<Button variant=\"ghost\" icon={Plus} aria-label=\"New scene\">\n {collapsed ? null : \"New scene\"}\n</Button>",
|
|
4628
|
+
"language": "tsx"
|
|
4629
|
+
}
|
|
4630
|
+
],
|
|
4631
|
+
"whenToUse": [],
|
|
4632
|
+
"whenNotToUse": [],
|
|
4633
|
+
"commonMistakes": [],
|
|
4634
|
+
"status": "stable",
|
|
4635
|
+
"url": "/docs/components/use-sidebar",
|
|
4636
|
+
"mdUrl": "/docs/components/use-sidebar.md"
|
|
4637
|
+
},
|
|
4638
|
+
{
|
|
4639
|
+
"name": "useToast",
|
|
4640
|
+
"slug": "use-toast",
|
|
4641
|
+
"group": "overlays",
|
|
4642
|
+
"importPath": "@cueplusplus/ui",
|
|
4643
|
+
"peerDependencies": [],
|
|
4644
|
+
"clientOnly": true,
|
|
4645
|
+
"description": "Raise, update and dismiss toasts from anywhere inside a {@link ToastProvider}.\n\nA thin wrapper over Base UI's `useToastManager` that swaps the primitive's\nfree-form `type` string for this system's `tone` vocabulary, so a caller\ncannot invent a colour the theme does not define.",
|
|
4646
|
+
"signature": "(): ToastManager",
|
|
4647
|
+
"params": [],
|
|
4648
|
+
"returns": "",
|
|
4649
|
+
"throws": "",
|
|
4650
|
+
"summary": "Raise, update and dismiss toasts from anywhere inside a {@link ToastProvider}.",
|
|
4651
|
+
"examples": [
|
|
4652
|
+
{
|
|
4653
|
+
"title": "Usage",
|
|
4654
|
+
"code": "const toast = useToast();\ntoast.add({ title: \"Patched 24 fixtures\", tone: \"ok\" });",
|
|
4655
|
+
"language": "tsx"
|
|
4656
|
+
}
|
|
4657
|
+
],
|
|
4658
|
+
"whenToUse": [],
|
|
4659
|
+
"whenNotToUse": [],
|
|
4660
|
+
"commonMistakes": [],
|
|
4661
|
+
"status": "stable",
|
|
4662
|
+
"url": "/docs/components/use-toast",
|
|
4663
|
+
"mdUrl": "/docs/components/use-toast.md"
|
|
4664
|
+
},
|
|
4665
|
+
{
|
|
4666
|
+
"name": "useControlHeight",
|
|
4667
|
+
"slug": "use-control-height",
|
|
4668
|
+
"group": "system",
|
|
4669
|
+
"importPath": "@cueplusplus/ui",
|
|
4670
|
+
"peerDependencies": [],
|
|
4671
|
+
"clientOnly": true,
|
|
4672
|
+
"description": "The pixel height of a control at the ambient density — what a virtualiser or a\ncanvas renderer needs when it cannot ask CSS.\n\nMeasured from a throwaway `document.body` probe stamped with the ambient\ndensity, so app-wide token overrides and the `@media (pointer: coarse)`\nre-raise of `ultra-compact` are honoured (overrides scoped to a subtree the\nprobe is not in are not). Falls back to the authored ladder × 16px during SSR\nand before the first layout effect, which keeps hydration stable.",
|
|
4673
|
+
"signature": "(size?: ControlSize): number",
|
|
4674
|
+
"params": [
|
|
4675
|
+
{
|
|
4676
|
+
"name": "size",
|
|
4677
|
+
"description": "Which rung to measure. Defaults to `\"md\"`."
|
|
4678
|
+
}
|
|
4679
|
+
],
|
|
4680
|
+
"returns": "Height in CSS pixels.",
|
|
4681
|
+
"throws": "",
|
|
4682
|
+
"summary": "The pixel height of a control at the ambient density — what a virtualiser or a canvas renderer needs when it cannot ask CSS.",
|
|
4683
|
+
"examples": [
|
|
4684
|
+
{
|
|
4685
|
+
"title": "Usage",
|
|
4686
|
+
"code": "const rowHeight = useControlHeight(\"sm\"); // → 20 at compact density",
|
|
4687
|
+
"language": "tsx"
|
|
4688
|
+
}
|
|
4689
|
+
],
|
|
4690
|
+
"whenToUse": [],
|
|
4691
|
+
"whenNotToUse": [],
|
|
4692
|
+
"commonMistakes": [],
|
|
4693
|
+
"status": "stable",
|
|
4694
|
+
"url": "/docs/components/use-control-height",
|
|
4695
|
+
"mdUrl": "/docs/components/use-control-height.md"
|
|
4696
|
+
},
|
|
4697
|
+
{
|
|
4698
|
+
"name": "useCuePortalProps",
|
|
4699
|
+
"slug": "use-cue-portal-props",
|
|
4700
|
+
"group": "system",
|
|
4701
|
+
"importPath": "@cueplusplus/ui",
|
|
4702
|
+
"peerDependencies": [],
|
|
4703
|
+
"clientOnly": true,
|
|
4704
|
+
"description": "Props to spread onto a Base UI `Portal` part so the portal root inherits the\ncaller's theme, density, font pairing and mode.\n\nReturns a `container` element appended to `document.body` and stamped with\n`data-theme` / `data-density` / `data-font` / `data-mode` (plus\n`--cue-font-scale`) copied from the nearest provider and density island, and\nwith `data-cue-skin` / `data-cue-fidelity` when the caller sits inside an\n`AgentSurface` island. The container is\n`display: contents`, so it changes no layout and creates no containing block —\nfixed-position overlay content behaves exactly as if it were a direct child of\n`<body>`.\n\nBefore the container exists (server render, first client render) the object is\nempty, which leaves the Base UI default (`document.body`) in place.\n\nEvery overlay in this system spreads this. It is the single fix for the\nnested-density portal bug (spec §6).",
|
|
4705
|
+
"signature": "(): { container?: HTMLElement; }",
|
|
4706
|
+
"params": [],
|
|
4707
|
+
"returns": "`{ container }` once mounted, `{}` otherwise.",
|
|
4708
|
+
"throws": "",
|
|
4709
|
+
"summary": "Props to spread onto a Base UI `Portal` part so the portal root inherits the caller's theme, density, font pairing and mode.",
|
|
4710
|
+
"examples": [
|
|
4711
|
+
{
|
|
4712
|
+
"title": "Usage",
|
|
4713
|
+
"code": "const portalProps = useCuePortalProps();\n<Popover.Portal {...portalProps}><Popover.Positioner>…</Popover.Positioner></Popover.Portal>",
|
|
4714
|
+
"language": "tsx"
|
|
4715
|
+
}
|
|
4716
|
+
],
|
|
4717
|
+
"whenToUse": [],
|
|
4718
|
+
"whenNotToUse": [],
|
|
4719
|
+
"commonMistakes": [],
|
|
4720
|
+
"status": "stable",
|
|
4721
|
+
"url": "/docs/components/use-cue-portal-props",
|
|
4722
|
+
"mdUrl": "/docs/components/use-cue-portal-props.md"
|
|
4723
|
+
},
|
|
4724
|
+
{
|
|
4725
|
+
"name": "useDensity",
|
|
4726
|
+
"slug": "use-density",
|
|
4727
|
+
"group": "system",
|
|
4728
|
+
"importPath": "@cueplusplus/ui",
|
|
4729
|
+
"peerDependencies": [],
|
|
4730
|
+
"clientOnly": true,
|
|
4731
|
+
"description": "The density level that actually applies here: the nearest `<Density>` island,\nelse the `<ThemeProvider>` level, else `\"compact\"`.\n\nThis is a JS read for code that cannot use CSS (virtualised row heights,\ncanvas drawing, layout math). Styling should use the density tokens or the\nper-rung variants (`density-ultra-compact:` … `density-ultra-large:`) instead.",
|
|
4732
|
+
"signature": "(): Density",
|
|
4733
|
+
"params": [],
|
|
4734
|
+
"returns": "The applicable density level.",
|
|
4735
|
+
"throws": "",
|
|
4736
|
+
"summary": "The density level that actually applies here: the nearest `<Density>` island, else the `<ThemeProvider>` level, else `\"compact\"`.",
|
|
4737
|
+
"examples": [
|
|
4738
|
+
{
|
|
4739
|
+
"title": "Usage",
|
|
4740
|
+
"code": "const density = useDensity();\nconst rowHeight = useControlHeight(\"sm\");\n// Shorter rows mean more of them on screen, so the reserve moves with the level.\nuseVirtualizer({\n count: rows.length,\n estimateSize: () => rowHeight,\n overscan: density === \"ultra-compact\" ? 12 : 6,\n});",
|
|
4741
|
+
"language": "tsx"
|
|
4742
|
+
}
|
|
4743
|
+
],
|
|
4744
|
+
"whenToUse": [],
|
|
4745
|
+
"whenNotToUse": [],
|
|
4746
|
+
"commonMistakes": [],
|
|
4747
|
+
"status": "stable",
|
|
4748
|
+
"url": "/docs/components/use-density",
|
|
4749
|
+
"mdUrl": "/docs/components/use-density.md"
|
|
4750
|
+
},
|
|
4751
|
+
{
|
|
4752
|
+
"name": "useTheme",
|
|
4753
|
+
"slug": "use-theme",
|
|
4754
|
+
"group": "system",
|
|
4755
|
+
"importPath": "@cueplusplus/ui",
|
|
4756
|
+
"peerDependencies": [],
|
|
4757
|
+
"clientOnly": true,
|
|
4758
|
+
"description": "Read and drive the ambient theme state.\n\nReturns `{ theme, density, mode, font, resolvedMode, setTheme, setDensity,\nsetMode, setFont }`.\n`density` here is the *provider's* level — a nested `<Density>` island does not\nchange it; use `useDensity()` when you want the level that actually applies\nwhere you are. `font` is the pairing the provider holds; it has no island, so\nit is always the one in force.",
|
|
4759
|
+
"signature": "(): ThemeContextValue",
|
|
4760
|
+
"params": [],
|
|
4761
|
+
"returns": "",
|
|
4762
|
+
"throws": "If called outside a `<ThemeProvider>`. Theme state is never guessed:\na missing provider is a wiring bug, not a fallback situation.",
|
|
4763
|
+
"summary": "Read and drive the ambient theme state.",
|
|
4764
|
+
"examples": [
|
|
4765
|
+
{
|
|
4766
|
+
"title": "Usage",
|
|
4767
|
+
"code": "const { resolvedMode, setMode } = useTheme();\n<Switch checked={resolvedMode === \"light\"} onCheckedChange={(on) => setMode(on ? \"light\" : \"dark\")} />",
|
|
4768
|
+
"language": "tsx"
|
|
4769
|
+
}
|
|
4770
|
+
],
|
|
4771
|
+
"whenToUse": [],
|
|
4772
|
+
"whenNotToUse": [],
|
|
4773
|
+
"commonMistakes": [],
|
|
4774
|
+
"status": "stable",
|
|
4775
|
+
"url": "/docs/components/use-theme",
|
|
4776
|
+
"mdUrl": "/docs/components/use-theme.md"
|
|
2140
4777
|
}
|
|
2141
4778
|
]
|
|
2142
4779
|
}
|