@adea-ai/ui 0.140.0 → 0.142.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/dist/components/composites/appearance-editor/appearance-editor.js +2 -2
- package/dist/components/composites/appearance-editor/appearance-editor.js.map +1 -1
- package/dist/components/composites/catalog-browser/catalog-browser-group.js +1 -1
- package/dist/components/composites/chain-of-thought/chain-of-thought.d.ts +56 -0
- package/dist/components/composites/chain-of-thought/chain-of-thought.d.ts.map +1 -0
- package/dist/components/composites/chain-of-thought/chain-of-thought.js +117 -0
- package/dist/components/composites/chain-of-thought/chain-of-thought.js.map +1 -0
- package/dist/components/composites/chain-of-thought/index.d.ts +2 -0
- package/dist/components/composites/chain-of-thought/index.d.ts.map +1 -0
- package/dist/components/composites/chain-of-thought/index.js +2 -0
- package/dist/components/composites/chat/chat.d.ts +67 -0
- package/dist/components/composites/chat/chat.d.ts.map +1 -0
- package/dist/components/composites/chat/chat.js +179 -0
- package/dist/components/composites/chat/chat.js.map +1 -0
- package/dist/components/composites/chat/index.d.ts +2 -0
- package/dist/components/composites/chat/index.d.ts.map +1 -0
- package/dist/components/composites/chat/index.js +2 -0
- package/dist/components/composites/checkpoint/checkpoint-model.d.ts +34 -0
- package/dist/components/composites/checkpoint/checkpoint-model.d.ts.map +1 -0
- package/dist/components/composites/checkpoint/checkpoint-model.js +48 -0
- package/dist/components/composites/checkpoint/checkpoint-model.js.map +1 -0
- package/dist/components/composites/checkpoint/checkpoint.d.ts +48 -0
- package/dist/components/composites/checkpoint/checkpoint.d.ts.map +1 -0
- package/dist/components/composites/checkpoint/checkpoint.js +160 -0
- package/dist/components/composites/checkpoint/checkpoint.js.map +1 -0
- package/dist/components/composites/checkpoint/index.d.ts +3 -0
- package/dist/components/composites/checkpoint/index.d.ts.map +1 -0
- package/dist/components/composites/checkpoint/index.js +3 -0
- package/dist/components/composites/confirmation/confirmation-model.d.ts +45 -0
- package/dist/components/composites/confirmation/confirmation-model.d.ts.map +1 -0
- package/dist/components/composites/confirmation/confirmation-model.js +51 -0
- package/dist/components/composites/confirmation/confirmation-model.js.map +1 -0
- package/dist/components/composites/confirmation/confirmation.d.ts +72 -0
- package/dist/components/composites/confirmation/confirmation.d.ts.map +1 -0
- package/dist/components/composites/confirmation/confirmation.js +300 -0
- package/dist/components/composites/confirmation/confirmation.js.map +1 -0
- package/dist/components/composites/confirmation/index.d.ts +3 -0
- package/dist/components/composites/confirmation/index.d.ts.map +1 -0
- package/dist/components/composites/confirmation/index.js +3 -0
- package/dist/components/composites/context/context-model.d.ts +69 -0
- package/dist/components/composites/context/context-model.d.ts.map +1 -0
- package/dist/components/composites/context/context-model.js +122 -0
- package/dist/components/composites/context/context-model.js.map +1 -0
- package/dist/components/composites/context/context.d.ts +38 -0
- package/dist/components/composites/context/context.d.ts.map +1 -0
- package/dist/components/composites/context/context.js +234 -0
- package/dist/components/composites/context/context.js.map +1 -0
- package/dist/components/composites/context/index.d.ts +3 -0
- package/dist/components/composites/context/index.d.ts.map +1 -0
- package/dist/components/composites/context/index.js +3 -0
- package/dist/components/composites/file-tree/build-file-tree.d.ts +138 -0
- package/dist/components/composites/file-tree/build-file-tree.d.ts.map +1 -0
- package/dist/components/composites/file-tree/build-file-tree.js +325 -0
- package/dist/components/composites/file-tree/build-file-tree.js.map +1 -0
- package/dist/components/composites/file-tree/file-tree.d.ts +74 -0
- package/dist/components/composites/file-tree/file-tree.d.ts.map +1 -0
- package/dist/components/composites/file-tree/file-tree.js +389 -0
- package/dist/components/composites/file-tree/file-tree.js.map +1 -0
- package/dist/components/composites/file-tree/index.d.ts +3 -0
- package/dist/components/composites/file-tree/index.d.ts.map +1 -0
- package/dist/components/composites/file-tree/index.js +3 -0
- package/dist/components/composites/inline-citation/citation.d.ts +37 -0
- package/dist/components/composites/inline-citation/citation.d.ts.map +1 -0
- package/dist/components/composites/inline-citation/citation.js +52 -0
- package/dist/components/composites/inline-citation/citation.js.map +1 -0
- package/dist/components/composites/inline-citation/index.d.ts +3 -0
- package/dist/components/composites/inline-citation/index.d.ts.map +1 -0
- package/dist/components/composites/inline-citation/index.js +3 -0
- package/dist/components/composites/inline-citation/inline-citation.d.ts +64 -0
- package/dist/components/composites/inline-citation/inline-citation.d.ts.map +1 -0
- package/dist/components/composites/inline-citation/inline-citation.js +272 -0
- package/dist/components/composites/inline-citation/inline-citation.js.map +1 -0
- package/dist/components/composites/message-scroller/index.d.ts +3 -0
- package/dist/components/composites/message-scroller/index.d.ts.map +1 -0
- package/dist/components/composites/message-scroller/index.js +3 -0
- package/dist/components/composites/message-scroller/message-scroller.d.ts +55 -0
- package/dist/components/composites/message-scroller/message-scroller.d.ts.map +1 -0
- package/dist/components/composites/message-scroller/message-scroller.js +201 -0
- package/dist/components/composites/message-scroller/message-scroller.js.map +1 -0
- package/dist/components/composites/message-scroller/scroll-anchor.d.ts +66 -0
- package/dist/components/composites/message-scroller/scroll-anchor.d.ts.map +1 -0
- package/dist/components/composites/message-scroller/scroll-anchor.js +122 -0
- package/dist/components/composites/message-scroller/scroll-anchor.js.map +1 -0
- package/dist/components/composites/model-selector/index.d.ts +3 -0
- package/dist/components/composites/model-selector/index.d.ts.map +1 -0
- package/dist/components/composites/model-selector/index.js +3 -0
- package/dist/components/composites/model-selector/model-selector.d.ts +55 -0
- package/dist/components/composites/model-selector/model-selector.d.ts.map +1 -0
- package/dist/components/composites/model-selector/model-selector.js +490 -0
- package/dist/components/composites/model-selector/model-selector.js.map +1 -0
- package/dist/components/composites/model-selector/models.d.ts +51 -0
- package/dist/components/composites/model-selector/models.d.ts.map +1 -0
- package/dist/components/composites/model-selector/models.js +71 -0
- package/dist/components/composites/model-selector/models.js.map +1 -0
- package/dist/components/composites/plan/index.d.ts +2 -0
- package/dist/components/composites/plan/index.d.ts.map +1 -0
- package/dist/components/composites/plan/index.js +2 -0
- package/dist/components/composites/plan/plan.d.ts +61 -0
- package/dist/components/composites/plan/plan.d.ts.map +1 -0
- package/dist/components/composites/plan/plan.js +130 -0
- package/dist/components/composites/plan/plan.js.map +1 -0
- package/dist/components/composites/queue/index.d.ts +2 -0
- package/dist/components/composites/queue/index.d.ts.map +1 -0
- package/dist/components/composites/queue/index.js +2 -0
- package/dist/components/composites/queue/queue.d.ts +77 -0
- package/dist/components/composites/queue/queue.d.ts.map +1 -0
- package/dist/components/composites/queue/queue.js +271 -0
- package/dist/components/composites/queue/queue.js.map +1 -0
- package/dist/components/composites/reasoning/index.d.ts +2 -0
- package/dist/components/composites/reasoning/index.d.ts.map +1 -0
- package/dist/components/composites/reasoning/index.js +2 -0
- package/dist/components/composites/reasoning/reasoning.d.ts +62 -0
- package/dist/components/composites/reasoning/reasoning.d.ts.map +1 -0
- package/dist/components/composites/reasoning/reasoning.js +156 -0
- package/dist/components/composites/reasoning/reasoning.js.map +1 -0
- package/dist/components/composites/sources/index.d.ts +3 -0
- package/dist/components/composites/sources/index.d.ts.map +1 -0
- package/dist/components/composites/sources/index.js +3 -0
- package/dist/components/composites/sources/source.d.ts +46 -0
- package/dist/components/composites/sources/source.d.ts.map +1 -0
- package/dist/components/composites/sources/source.js +74 -0
- package/dist/components/composites/sources/source.js.map +1 -0
- package/dist/components/composites/sources/sources.d.ts +45 -0
- package/dist/components/composites/sources/sources.d.ts.map +1 -0
- package/dist/components/composites/sources/sources.js +175 -0
- package/dist/components/composites/sources/sources.js.map +1 -0
- package/dist/components/composites/stack-trace/index.d.ts +3 -0
- package/dist/components/composites/stack-trace/index.d.ts.map +1 -0
- package/dist/components/composites/stack-trace/index.js +3 -0
- package/dist/components/composites/stack-trace/parse-stack-trace.d.ts +118 -0
- package/dist/components/composites/stack-trace/parse-stack-trace.d.ts.map +1 -0
- package/dist/components/composites/stack-trace/parse-stack-trace.js +376 -0
- package/dist/components/composites/stack-trace/parse-stack-trace.js.map +1 -0
- package/dist/components/composites/stack-trace/stack-trace.d.ts +63 -0
- package/dist/components/composites/stack-trace/stack-trace.d.ts.map +1 -0
- package/dist/components/composites/stack-trace/stack-trace.js +491 -0
- package/dist/components/composites/stack-trace/stack-trace.js.map +1 -0
- package/dist/components/composites/subagent/index.d.ts +2 -0
- package/dist/components/composites/subagent/index.d.ts.map +1 -0
- package/dist/components/composites/subagent/index.js +2 -0
- package/dist/components/composites/subagent/subagent.d.ts +55 -0
- package/dist/components/composites/subagent/subagent.d.ts.map +1 -0
- package/dist/components/composites/subagent/subagent.js +138 -0
- package/dist/components/composites/subagent/subagent.js.map +1 -0
- package/dist/components/composites/suggestion/index.d.ts +2 -0
- package/dist/components/composites/suggestion/index.d.ts.map +1 -0
- package/dist/components/composites/suggestion/index.js +2 -0
- package/dist/components/composites/suggestion/suggestion.d.ts +37 -0
- package/dist/components/composites/suggestion/suggestion.d.ts.map +1 -0
- package/dist/components/composites/suggestion/suggestion.js +100 -0
- package/dist/components/composites/suggestion/suggestion.js.map +1 -0
- package/dist/components/composites/task/index.d.ts +2 -0
- package/dist/components/composites/task/index.d.ts.map +1 -0
- package/dist/components/composites/task/index.js +2 -0
- package/dist/components/composites/task/task.d.ts +96 -0
- package/dist/components/composites/task/task.d.ts.map +1 -0
- package/dist/components/composites/task/task.js +311 -0
- package/dist/components/composites/task/task.js.map +1 -0
- package/dist/components/composites/terminal/ansi.d.ts +101 -0
- package/dist/components/composites/terminal/ansi.d.ts.map +1 -0
- package/dist/components/composites/terminal/ansi.js +544 -0
- package/dist/components/composites/terminal/ansi.js.map +1 -0
- package/dist/components/composites/terminal/index.d.ts +4 -0
- package/dist/components/composites/terminal/index.d.ts.map +1 -0
- package/dist/components/composites/terminal/index.js +4 -0
- package/dist/components/composites/terminal/terminal-model.d.ts +63 -0
- package/dist/components/composites/terminal/terminal-model.d.ts.map +1 -0
- package/dist/components/composites/terminal/terminal-model.js +69 -0
- package/dist/components/composites/terminal/terminal-model.js.map +1 -0
- package/dist/components/composites/terminal/terminal.d.ts +88 -0
- package/dist/components/composites/terminal/terminal.d.ts.map +1 -0
- package/dist/components/composites/terminal/terminal.js +500 -0
- package/dist/components/composites/terminal/terminal.js.map +1 -0
- package/dist/components/composites/test-results/index.d.ts +3 -0
- package/dist/components/composites/test-results/index.d.ts.map +1 -0
- package/dist/components/composites/test-results/index.js +3 -0
- package/dist/components/composites/test-results/test-results-model.d.ts +154 -0
- package/dist/components/composites/test-results/test-results-model.d.ts.map +1 -0
- package/dist/components/composites/test-results/test-results-model.js +252 -0
- package/dist/components/composites/test-results/test-results-model.js.map +1 -0
- package/dist/components/composites/test-results/test-results.d.ts +60 -0
- package/dist/components/composites/test-results/test-results.d.ts.map +1 -0
- package/dist/components/composites/test-results/test-results.js +631 -0
- package/dist/components/composites/test-results/test-results.js.map +1 -0
- package/dist/components/composites/tool/format-tool-value.d.ts +37 -0
- package/dist/components/composites/tool/format-tool-value.d.ts.map +1 -0
- package/dist/components/composites/tool/format-tool-value.js +135 -0
- package/dist/components/composites/tool/format-tool-value.js.map +1 -0
- package/dist/components/composites/tool/index.d.ts +3 -0
- package/dist/components/composites/tool/index.d.ts.map +1 -0
- package/dist/components/composites/tool/index.js +3 -0
- package/dist/components/composites/tool/tool.d.ts +69 -0
- package/dist/components/composites/tool/tool.d.ts.map +1 -0
- package/dist/components/composites/tool/tool.js +214 -0
- package/dist/components/composites/tool/tool.js.map +1 -0
- package/dist/components/composites/update-dialog/update-dialog.js +1 -1
- package/dist/components/conversation/conversation-surface.d.ts +7 -0
- package/dist/components/conversation/conversation-surface.d.ts.map +1 -1
- package/dist/components/conversation/conversation-surface.js +2 -0
- package/dist/components/conversation/conversation-surface.js.map +1 -1
- package/dist/components/conversation/scroll-follow-core.d.ts +24 -0
- package/dist/components/conversation/scroll-follow-core.d.ts.map +1 -1
- package/dist/components/conversation/scroll-follow-core.js +23 -1
- package/dist/components/conversation/scroll-follow-core.js.map +1 -1
- package/dist/components/conversation/scroll-follow.d.ts +3 -0
- package/dist/components/conversation/scroll-follow.d.ts.map +1 -1
- package/dist/components/conversation/scroll-follow.js +80 -1
- package/dist/components/conversation/scroll-follow.js.map +1 -1
- package/dist/components/ui/attachment/attachment.d.ts +58 -0
- package/dist/components/ui/attachment/attachment.d.ts.map +1 -0
- package/dist/components/ui/attachment/attachment.js +279 -0
- package/dist/components/ui/attachment/attachment.js.map +1 -0
- package/dist/components/ui/attachment/index.d.ts +2 -0
- package/dist/components/ui/attachment/index.d.ts.map +1 -0
- package/dist/components/ui/attachment/index.js +2 -0
- package/dist/components/ui/badge/badge.d.ts +1 -1
- package/dist/components/ui/bubble/bubble.d.ts +33 -0
- package/dist/components/ui/bubble/bubble.d.ts.map +1 -0
- package/dist/components/ui/bubble/bubble.js +95 -0
- package/dist/components/ui/bubble/bubble.js.map +1 -0
- package/dist/components/ui/bubble/index.d.ts +2 -0
- package/dist/components/ui/bubble/index.d.ts.map +1 -0
- package/dist/components/ui/bubble/index.js +2 -0
- package/dist/components/ui/button/button.d.ts +1 -1
- package/dist/components/ui/code-block/code-block.d.ts +56 -3
- package/dist/components/ui/code-block/code-block.d.ts.map +1 -1
- package/dist/components/ui/code-block/code-block.js +231 -50
- package/dist/components/ui/code-block/code-block.js.map +1 -1
- package/dist/components/ui/code-block/index.d.ts +1 -1
- package/dist/components/ui/code-block/index.d.ts.map +1 -1
- package/dist/components/ui/code-block/index.js +2 -2
- package/dist/components/ui/field/number-field.d.ts +21 -4
- package/dist/components/ui/field/number-field.d.ts.map +1 -1
- package/dist/components/ui/field/number-field.js +22 -11
- package/dist/components/ui/field/number-field.js.map +1 -1
- package/dist/components/ui/marker/index.d.ts +2 -0
- package/dist/components/ui/marker/index.d.ts.map +1 -0
- package/dist/components/ui/marker/index.js +2 -0
- package/dist/components/ui/marker/marker.d.ts +35 -0
- package/dist/components/ui/marker/marker.d.ts.map +1 -0
- package/dist/components/ui/marker/marker.js +123 -0
- package/dist/components/ui/marker/marker.js.map +1 -0
- package/dist/components/ui/message/cite-ranges.d.ts +42 -0
- package/dist/components/ui/message/cite-ranges.d.ts.map +1 -0
- package/dist/components/ui/message/cite-ranges.js +105 -0
- package/dist/components/ui/message/cite-ranges.js.map +1 -0
- package/dist/components/ui/message/index.d.ts +4 -0
- package/dist/components/ui/message/index.d.ts.map +1 -0
- package/dist/components/ui/message/index.js +4 -0
- package/dist/components/ui/message/message.d.ts +95 -0
- package/dist/components/ui/message/message.d.ts.map +1 -0
- package/dist/components/ui/message/message.js +443 -0
- package/dist/components/ui/message/message.js.map +1 -0
- package/dist/components/ui/message/parse-message-text.d.ts +93 -0
- package/dist/components/ui/message/parse-message-text.d.ts.map +1 -0
- package/dist/components/ui/message/parse-message-text.js +365 -0
- package/dist/components/ui/message/parse-message-text.js.map +1 -0
- package/dist/components/ui/questionnaire/index.d.ts +2 -0
- package/dist/components/ui/questionnaire/index.d.ts.map +1 -0
- package/dist/components/ui/questionnaire/index.js +2 -0
- package/dist/components/ui/questionnaire/questionnaire.d.ts +83 -0
- package/dist/components/ui/questionnaire/questionnaire.d.ts.map +1 -0
- package/dist/components/ui/questionnaire/questionnaire.js +470 -0
- package/dist/components/ui/questionnaire/questionnaire.js.map +1 -0
- package/dist/components/ui/status-chip/status-chip.d.ts +1 -1
- package/dist/components/ui/switch/switch.js +11 -11
- package/dist/components/ui/switch/switch.js.map +1 -1
- package/dist/components/ui/trace/index.d.ts +2 -0
- package/dist/components/ui/trace/index.d.ts.map +1 -0
- package/dist/components/ui/trace/index.js +2 -0
- package/dist/components/ui/trace/trace.d.ts +72 -0
- package/dist/components/ui/trace/trace.d.ts.map +1 -0
- package/dist/components/ui/trace/trace.js +340 -0
- package/dist/components/ui/trace/trace.js.map +1 -0
- package/dist/index.d.ts +26 -0
- package/dist/index.d.ts.map +1 -1
- package/dist/index.js +46 -5
- package/dist/r/attachment.json +25 -0
- package/dist/r/bubble.json +22 -0
- package/dist/r/chain-of-thought.json +26 -0
- package/dist/r/chat.json +24 -0
- package/dist/r/checkpoint.json +35 -0
- package/dist/r/confirmation.json +34 -0
- package/dist/r/context.json +33 -0
- package/dist/r/file-tree.json +32 -0
- package/dist/r/inline-citation.json +35 -0
- package/dist/r/marker.json +22 -0
- package/dist/r/message-scroller.json +31 -0
- package/dist/r/message.json +33 -0
- package/dist/r/model-selector.json +34 -0
- package/dist/r/plan.json +26 -0
- package/dist/r/questionnaire.json +28 -0
- package/dist/r/queue.json +26 -0
- package/dist/r/reasoning.json +26 -0
- package/dist/r/registry.json +811 -52
- package/dist/r/sources.json +32 -0
- package/dist/r/src/components/composites/chain-of-thought/chain-of-thought.tsx +141 -0
- package/dist/r/src/components/composites/chain-of-thought/index.ts +11 -0
- package/dist/r/src/components/composites/chat/chat.tsx +190 -0
- package/dist/r/src/components/composites/chat/index.ts +11 -0
- package/dist/r/src/components/composites/checkpoint/checkpoint-model.ts +71 -0
- package/dist/r/src/components/composites/checkpoint/checkpoint.tsx +214 -0
- package/dist/r/src/components/composites/checkpoint/index.ts +8 -0
- package/dist/r/src/components/composites/confirmation/confirmation-model.ts +83 -0
- package/dist/r/src/components/composites/confirmation/confirmation.tsx +311 -0
- package/dist/r/src/components/composites/confirmation/index.ts +9 -0
- package/dist/r/src/components/composites/context/context-model.ts +168 -0
- package/dist/r/src/components/composites/context/context.tsx +187 -0
- package/dist/r/src/components/composites/context/index.ts +18 -0
- package/dist/r/src/components/composites/file-tree/build-file-tree.ts +456 -0
- package/dist/r/src/components/composites/file-tree/file-tree.tsx +405 -0
- package/dist/r/src/components/composites/file-tree/index.ts +25 -0
- package/dist/r/src/components/composites/inline-citation/citation.ts +78 -0
- package/dist/r/src/components/composites/inline-citation/index.ts +9 -0
- package/dist/r/src/components/composites/inline-citation/inline-citation.tsx +285 -0
- package/dist/r/src/components/composites/message-scroller/index.ts +2 -0
- package/dist/r/src/components/composites/message-scroller/message-scroller.tsx +301 -0
- package/dist/r/src/components/composites/message-scroller/scroll-anchor.ts +170 -0
- package/dist/r/src/components/composites/model-selector/index.ts +14 -0
- package/dist/r/src/components/composites/model-selector/model-selector.tsx +420 -0
- package/dist/r/src/components/composites/model-selector/models.ts +103 -0
- package/dist/r/src/components/composites/plan/index.ts +1 -0
- package/dist/r/src/components/composites/plan/plan.tsx +155 -0
- package/dist/r/src/components/composites/queue/index.ts +10 -0
- package/dist/r/src/components/composites/queue/queue.tsx +264 -0
- package/dist/r/src/components/composites/reasoning/index.ts +1 -0
- package/dist/r/src/components/composites/reasoning/reasoning.tsx +176 -0
- package/dist/r/src/components/composites/sources/index.ts +11 -0
- package/dist/r/src/components/composites/sources/source.ts +116 -0
- package/dist/r/src/components/composites/sources/sources.tsx +163 -0
- package/dist/r/src/components/composites/stack-trace/index.ts +19 -0
- package/dist/r/src/components/composites/stack-trace/parse-stack-trace.ts +507 -0
- package/dist/r/src/components/composites/stack-trace/stack-trace.tsx +395 -0
- package/dist/r/src/components/composites/subagent/index.ts +1 -0
- package/dist/r/src/components/composites/subagent/subagent.tsx +159 -0
- package/dist/r/src/components/composites/suggestion/index.ts +1 -0
- package/dist/r/src/components/composites/suggestion/suggestion.tsx +140 -0
- package/dist/r/src/components/composites/task/index.ts +14 -0
- package/dist/r/src/components/composites/task/task.tsx +317 -0
- package/dist/r/src/components/composites/terminal/ansi.ts +674 -0
- package/dist/r/src/components/composites/terminal/index.ts +20 -0
- package/dist/r/src/components/composites/terminal/terminal-model.ts +111 -0
- package/dist/r/src/components/composites/terminal/terminal.tsx +574 -0
- package/dist/r/src/components/composites/test-results/index.ts +20 -0
- package/dist/r/src/components/composites/test-results/test-results-model.ts +368 -0
- package/dist/r/src/components/composites/test-results/test-results.tsx +586 -0
- package/dist/r/src/components/composites/tool/format-tool-value.ts +221 -0
- package/dist/r/src/components/composites/tool/index.ts +2 -0
- package/dist/r/src/components/composites/tool/tool.tsx +228 -0
- package/dist/r/src/components/conversation/conversation-surface.tsx +9 -0
- package/dist/r/src/components/conversation/scroll-follow-core.ts +31 -0
- package/dist/r/src/components/conversation/scroll-follow.ts +92 -0
- package/dist/r/src/components/ui/attachment/attachment.tsx +282 -0
- package/dist/r/src/components/ui/attachment/index.ts +10 -0
- package/dist/r/src/components/ui/bubble/bubble.tsx +86 -0
- package/dist/r/src/components/ui/bubble/index.ts +1 -0
- package/dist/r/src/components/ui/code-block/code-block.tsx +256 -26
- package/dist/r/src/components/ui/code-block/index.ts +9 -1
- package/dist/r/src/components/ui/field/number-field.tsx +51 -14
- package/dist/r/src/components/ui/marker/index.ts +1 -0
- package/dist/r/src/components/ui/marker/marker.tsx +90 -0
- package/dist/r/src/components/ui/message/cite-ranges.ts +144 -0
- package/dist/r/src/components/ui/message/index.ts +23 -0
- package/dist/r/src/components/ui/message/message.tsx +434 -0
- package/dist/r/src/components/ui/message/parse-message-text.ts +450 -0
- package/dist/r/src/components/ui/questionnaire/index.ts +10 -0
- package/dist/r/src/components/ui/questionnaire/questionnaire.tsx +446 -0
- package/dist/r/src/components/ui/trace/index.ts +9 -0
- package/dist/r/src/components/ui/trace/trace.tsx +334 -0
- package/dist/r/src/styles/base.css +34 -0
- package/dist/r/stack-trace.json +32 -0
- package/dist/r/subagent.json +27 -0
- package/dist/r/suggestion.json +24 -0
- package/dist/r/task.json +28 -0
- package/dist/r/terminal.json +35 -0
- package/dist/r/test-results.json +33 -0
- package/dist/r/tool.json +31 -0
- package/dist/r/trace.json +25 -0
- package/package.json +6 -3
- package/registry.json +811 -52
- package/src/components/composites/chain-of-thought/chain-of-thought.tsx +141 -0
- package/src/components/composites/chain-of-thought/index.ts +11 -0
- package/src/components/composites/chat/chat.tsx +190 -0
- package/src/components/composites/chat/index.ts +11 -0
- package/src/components/composites/checkpoint/checkpoint-model.ts +71 -0
- package/src/components/composites/checkpoint/checkpoint.tsx +214 -0
- package/src/components/composites/checkpoint/index.ts +8 -0
- package/src/components/composites/confirmation/confirmation-model.ts +83 -0
- package/src/components/composites/confirmation/confirmation.tsx +311 -0
- package/src/components/composites/confirmation/index.ts +9 -0
- package/src/components/composites/context/context-model.ts +168 -0
- package/src/components/composites/context/context.tsx +187 -0
- package/src/components/composites/context/index.ts +18 -0
- package/src/components/composites/file-tree/build-file-tree.ts +456 -0
- package/src/components/composites/file-tree/file-tree.tsx +405 -0
- package/src/components/composites/file-tree/index.ts +25 -0
- package/src/components/composites/inline-citation/citation.ts +78 -0
- package/src/components/composites/inline-citation/index.ts +9 -0
- package/src/components/composites/inline-citation/inline-citation.tsx +285 -0
- package/src/components/composites/message-scroller/index.ts +2 -0
- package/src/components/composites/message-scroller/message-scroller.tsx +301 -0
- package/src/components/composites/message-scroller/scroll-anchor.ts +170 -0
- package/src/components/composites/model-selector/index.ts +14 -0
- package/src/components/composites/model-selector/model-selector.tsx +420 -0
- package/src/components/composites/model-selector/models.ts +103 -0
- package/src/components/composites/plan/index.ts +1 -0
- package/src/components/composites/plan/plan.tsx +155 -0
- package/src/components/composites/queue/index.ts +10 -0
- package/src/components/composites/queue/queue.tsx +264 -0
- package/src/components/composites/reasoning/index.ts +1 -0
- package/src/components/composites/reasoning/reasoning.tsx +176 -0
- package/src/components/composites/sources/index.ts +11 -0
- package/src/components/composites/sources/source.ts +116 -0
- package/src/components/composites/sources/sources.tsx +163 -0
- package/src/components/composites/stack-trace/index.ts +19 -0
- package/src/components/composites/stack-trace/parse-stack-trace.ts +507 -0
- package/src/components/composites/stack-trace/stack-trace.tsx +395 -0
- package/src/components/composites/subagent/index.ts +1 -0
- package/src/components/composites/subagent/subagent.tsx +159 -0
- package/src/components/composites/suggestion/index.ts +1 -0
- package/src/components/composites/suggestion/suggestion.tsx +140 -0
- package/src/components/composites/task/index.ts +14 -0
- package/src/components/composites/task/task.tsx +317 -0
- package/src/components/composites/terminal/ansi.ts +674 -0
- package/src/components/composites/terminal/index.ts +20 -0
- package/src/components/composites/terminal/terminal-model.ts +111 -0
- package/src/components/composites/terminal/terminal.tsx +574 -0
- package/src/components/composites/test-results/index.ts +20 -0
- package/src/components/composites/test-results/test-results-model.ts +368 -0
- package/src/components/composites/test-results/test-results.tsx +586 -0
- package/src/components/composites/tool/format-tool-value.ts +221 -0
- package/src/components/composites/tool/index.ts +2 -0
- package/src/components/composites/tool/tool.tsx +228 -0
- package/src/components/conversation/conversation-surface.tsx +9 -0
- package/src/components/conversation/scroll-follow-core.ts +31 -0
- package/src/components/conversation/scroll-follow.ts +92 -0
- package/src/components/ui/attachment/attachment.tsx +282 -0
- package/src/components/ui/attachment/index.ts +10 -0
- package/src/components/ui/bubble/bubble.tsx +86 -0
- package/src/components/ui/bubble/index.ts +1 -0
- package/src/components/ui/code-block/code-block.tsx +256 -26
- package/src/components/ui/code-block/index.ts +9 -1
- package/src/components/ui/field/number-field.tsx +51 -14
- package/src/components/ui/marker/index.ts +1 -0
- package/src/components/ui/marker/marker.tsx +90 -0
- package/src/components/ui/message/cite-ranges.ts +144 -0
- package/src/components/ui/message/index.ts +23 -0
- package/src/components/ui/message/message.tsx +434 -0
- package/src/components/ui/message/parse-message-text.ts +450 -0
- package/src/components/ui/questionnaire/index.ts +10 -0
- package/src/components/ui/questionnaire/questionnaire.tsx +446 -0
- package/src/components/ui/trace/index.ts +9 -0
- package/src/components/ui/trace/trace.tsx +334 -0
- package/src/index.ts +26 -0
- package/src/styles/base.css +34 -0
|
@@ -0,0 +1,234 @@
|
|
|
1
|
+
import { cn } from "../../../lib/utils.js";
|
|
2
|
+
import { Button } from "../../ui/button/button.js";
|
|
3
|
+
import { Popover, PopoverContent, PopoverTitle, PopoverTrigger } from "../../ui/popover/popover.js";
|
|
4
|
+
import { Progress } from "../../ui/progress/progress.js";
|
|
5
|
+
import { breakdownRows, contextLabel, contextLevel, contextLevelWord, contextPercent, contextShort, formatCost, formatExact, hasContextFigures, isFigure } from "./context-model.js";
|
|
6
|
+
import { className, createComponent, effect, insert, setAttribute, template } from "solid-js/web";
|
|
7
|
+
import { OctagonAlert, TriangleAlert } from "lucide-solid";
|
|
8
|
+
import { For, Show, splitProps } from "solid-js";
|
|
9
|
+
//#region src/components/composites/context/context.tsx
|
|
10
|
+
var _tmpl$ = /*#__PURE__*/ template(`<span aria-hidden=true>`);
|
|
11
|
+
var _tmpl$2 = /*#__PURE__*/ template(`<span aria-hidden=true class=tabular-nums>`);
|
|
12
|
+
var _tmpl$3 = /*#__PURE__*/ template(`<p><span class=text-foreground>`);
|
|
13
|
+
var _tmpl$4 = /*#__PURE__*/ template(`<div class="flex flex-col gap-2 px-2 pb-2"><dl class="m-0 flex flex-col gap-1 text-sm">`);
|
|
14
|
+
var _tmpl$5 = /*#__PURE__*/ template(`<svg aria-hidden=true viewBox="0 0 16 16"fill=none class=size-4><circle cx=8 cy=8 r=6 stroke-width=2 class=stroke-border></circle><circle cx=8 cy=8 r=6 stroke-width=2 stroke-linecap=round transform="rotate(-90 8 8)"class=stroke-primary>`);
|
|
15
|
+
var _tmpl$6 = /*#__PURE__*/ template(`<div class="flex items-baseline justify-between gap-4"><dt class=text-muted-foreground></dt><dd class="m-0 text-end tabular-nums">`);
|
|
16
|
+
var RING_CIRCUMFERENCE = 2 * Math.PI * 6;
|
|
17
|
+
function Context(props) {
|
|
18
|
+
const [local, figures] = splitProps(props, [
|
|
19
|
+
"locale",
|
|
20
|
+
"placement",
|
|
21
|
+
"class"
|
|
22
|
+
]);
|
|
23
|
+
const locale = () => local.locale ?? "en-US";
|
|
24
|
+
const percent = () => contextPercent(figures.used, figures.total);
|
|
25
|
+
const level = () => contextLevel(percent());
|
|
26
|
+
const levelWord = () => contextLevelWord(level());
|
|
27
|
+
const rows = () => breakdownRows(figures.breakdown);
|
|
28
|
+
const remaining = () => isFigure(figures.used) && isFigure(figures.total) && figures.used <= figures.total ? figures.total - figures.used : void 0;
|
|
29
|
+
const cost = () => figures.cost && isFigure(figures.cost.amount) ? figures.cost : void 0;
|
|
30
|
+
return createComponent(Show, {
|
|
31
|
+
get when() {
|
|
32
|
+
return hasContextFigures(figures);
|
|
33
|
+
},
|
|
34
|
+
get children() {
|
|
35
|
+
return createComponent(Popover, {
|
|
36
|
+
get placement() {
|
|
37
|
+
return local.placement ?? "top";
|
|
38
|
+
},
|
|
39
|
+
gutter: 6,
|
|
40
|
+
get children() {
|
|
41
|
+
return [createComponent(PopoverTrigger, {
|
|
42
|
+
as: Button,
|
|
43
|
+
variant: "ghost",
|
|
44
|
+
size: "xs",
|
|
45
|
+
"data-slot": "context",
|
|
46
|
+
get ["data-level"]() {
|
|
47
|
+
return level();
|
|
48
|
+
},
|
|
49
|
+
get ["aria-label"]() {
|
|
50
|
+
return contextLabel(figures, locale());
|
|
51
|
+
},
|
|
52
|
+
get ["class"]() {
|
|
53
|
+
return local.class;
|
|
54
|
+
},
|
|
55
|
+
get children() {
|
|
56
|
+
return [createComponent(Show, {
|
|
57
|
+
get when() {
|
|
58
|
+
return level() !== "normal";
|
|
59
|
+
},
|
|
60
|
+
get fallback() {
|
|
61
|
+
return createComponent(Show, {
|
|
62
|
+
get when() {
|
|
63
|
+
return percent() !== void 0;
|
|
64
|
+
},
|
|
65
|
+
get children() {
|
|
66
|
+
return createComponent(Ring, { get percent() {
|
|
67
|
+
return percent() ?? 0;
|
|
68
|
+
} });
|
|
69
|
+
}
|
|
70
|
+
});
|
|
71
|
+
},
|
|
72
|
+
get children() {
|
|
73
|
+
var _el$ = _tmpl$();
|
|
74
|
+
insert(_el$, createComponent(Show, {
|
|
75
|
+
get when() {
|
|
76
|
+
return level() === "high";
|
|
77
|
+
},
|
|
78
|
+
get fallback() {
|
|
79
|
+
return createComponent(OctagonAlert, {});
|
|
80
|
+
},
|
|
81
|
+
get children() {
|
|
82
|
+
return createComponent(TriangleAlert, {});
|
|
83
|
+
}
|
|
84
|
+
}));
|
|
85
|
+
effect(() => className(_el$, cn({
|
|
86
|
+
"text-warning": level() === "high",
|
|
87
|
+
"text-destructive": level() === "critical" || level() === "full"
|
|
88
|
+
})));
|
|
89
|
+
return _el$;
|
|
90
|
+
}
|
|
91
|
+
}), (() => {
|
|
92
|
+
var _el$2 = _tmpl$2();
|
|
93
|
+
insert(_el$2, () => contextShort(figures, locale()));
|
|
94
|
+
return _el$2;
|
|
95
|
+
})()];
|
|
96
|
+
}
|
|
97
|
+
}), createComponent(PopoverContent, {
|
|
98
|
+
"class": "w-72 max-w-full",
|
|
99
|
+
get children() {
|
|
100
|
+
return [createComponent(PopoverTitle, { children: "Context window" }), (() => {
|
|
101
|
+
var _el$3 = _tmpl$4(), _el$6 = _el$3.firstChild;
|
|
102
|
+
insert(_el$3, createComponent(Show, {
|
|
103
|
+
get when() {
|
|
104
|
+
return percent() !== void 0;
|
|
105
|
+
},
|
|
106
|
+
get children() {
|
|
107
|
+
return createComponent(Progress, {
|
|
108
|
+
get value() {
|
|
109
|
+
return Math.min(percent() ?? 0, 100);
|
|
110
|
+
},
|
|
111
|
+
minValue: 0,
|
|
112
|
+
maxValue: 100,
|
|
113
|
+
label: "Context used",
|
|
114
|
+
getValueLabel: () => `${percent()}% used`
|
|
115
|
+
});
|
|
116
|
+
}
|
|
117
|
+
}), _el$6);
|
|
118
|
+
insert(_el$3, createComponent(Show, {
|
|
119
|
+
get when() {
|
|
120
|
+
return levelWord();
|
|
121
|
+
},
|
|
122
|
+
get children() {
|
|
123
|
+
var _el$4 = _tmpl$3(), _el$5 = _el$4.firstChild;
|
|
124
|
+
insert(_el$4, createComponent(Show, {
|
|
125
|
+
get when() {
|
|
126
|
+
return level() === "high";
|
|
127
|
+
},
|
|
128
|
+
get fallback() {
|
|
129
|
+
return createComponent(OctagonAlert, { "class": "size-4" });
|
|
130
|
+
},
|
|
131
|
+
get children() {
|
|
132
|
+
return createComponent(TriangleAlert, { "class": "size-4" });
|
|
133
|
+
}
|
|
134
|
+
}), _el$5);
|
|
135
|
+
insert(_el$5, levelWord);
|
|
136
|
+
effect(() => className(_el$4, cn("m-0 flex items-center gap-1.5 text-sm font-medium", {
|
|
137
|
+
"text-warning": level() === "high",
|
|
138
|
+
"text-destructive": level() === "critical" || level() === "full"
|
|
139
|
+
})));
|
|
140
|
+
return _el$4;
|
|
141
|
+
}
|
|
142
|
+
}), _el$6);
|
|
143
|
+
insert(_el$6, createComponent(Show, {
|
|
144
|
+
get when() {
|
|
145
|
+
return isFigure(figures.used);
|
|
146
|
+
},
|
|
147
|
+
get children() {
|
|
148
|
+
return createComponent(Row, {
|
|
149
|
+
label: "Used",
|
|
150
|
+
get value() {
|
|
151
|
+
return `${formatExact(figures.used ?? 0, locale())} tokens`;
|
|
152
|
+
}
|
|
153
|
+
});
|
|
154
|
+
}
|
|
155
|
+
}), null);
|
|
156
|
+
insert(_el$6, createComponent(Show, {
|
|
157
|
+
get when() {
|
|
158
|
+
return isFigure(figures.total);
|
|
159
|
+
},
|
|
160
|
+
get children() {
|
|
161
|
+
return createComponent(Row, {
|
|
162
|
+
label: "Window",
|
|
163
|
+
get value() {
|
|
164
|
+
return `${formatExact(figures.total ?? 0, locale())} tokens`;
|
|
165
|
+
}
|
|
166
|
+
});
|
|
167
|
+
}
|
|
168
|
+
}), null);
|
|
169
|
+
insert(_el$6, createComponent(Show, {
|
|
170
|
+
get when() {
|
|
171
|
+
return remaining() !== void 0;
|
|
172
|
+
},
|
|
173
|
+
get children() {
|
|
174
|
+
return createComponent(Row, {
|
|
175
|
+
label: "Remaining",
|
|
176
|
+
get value() {
|
|
177
|
+
return `${formatExact(remaining() ?? 0, locale())} tokens`;
|
|
178
|
+
}
|
|
179
|
+
});
|
|
180
|
+
}
|
|
181
|
+
}), null);
|
|
182
|
+
insert(_el$6, createComponent(For, {
|
|
183
|
+
get each() {
|
|
184
|
+
return rows();
|
|
185
|
+
},
|
|
186
|
+
children: (row) => createComponent(Row, {
|
|
187
|
+
get label() {
|
|
188
|
+
return row.label;
|
|
189
|
+
},
|
|
190
|
+
get value() {
|
|
191
|
+
return formatExact(row.value, locale());
|
|
192
|
+
}
|
|
193
|
+
})
|
|
194
|
+
}), null);
|
|
195
|
+
insert(_el$6, createComponent(Show, {
|
|
196
|
+
get when() {
|
|
197
|
+
return cost();
|
|
198
|
+
},
|
|
199
|
+
children: (value) => createComponent(Row, {
|
|
200
|
+
label: "Cost",
|
|
201
|
+
get value() {
|
|
202
|
+
return formatCost(value(), locale());
|
|
203
|
+
}
|
|
204
|
+
})
|
|
205
|
+
}), null);
|
|
206
|
+
return _el$3;
|
|
207
|
+
})()];
|
|
208
|
+
}
|
|
209
|
+
})];
|
|
210
|
+
}
|
|
211
|
+
});
|
|
212
|
+
}
|
|
213
|
+
});
|
|
214
|
+
}
|
|
215
|
+
function Ring(props) {
|
|
216
|
+
const filled = () => RING_CIRCUMFERENCE * Math.min(Math.max(props.percent, 0), 100) / 100;
|
|
217
|
+
return (() => {
|
|
218
|
+
var _el$7 = _tmpl$5(), _el$9 = _el$7.firstChild.nextSibling;
|
|
219
|
+
effect(() => setAttribute(_el$9, "stroke-dasharray", `${filled()} ${RING_CIRCUMFERENCE}`));
|
|
220
|
+
return _el$7;
|
|
221
|
+
})();
|
|
222
|
+
}
|
|
223
|
+
function Row(props) {
|
|
224
|
+
return (() => {
|
|
225
|
+
var _el$0 = _tmpl$6(), _el$1 = _el$0.firstChild, _el$10 = _el$1.nextSibling;
|
|
226
|
+
insert(_el$1, () => props.label);
|
|
227
|
+
insert(_el$10, () => props.value);
|
|
228
|
+
return _el$0;
|
|
229
|
+
})();
|
|
230
|
+
}
|
|
231
|
+
//#endregion
|
|
232
|
+
export { Context };
|
|
233
|
+
|
|
234
|
+
//# sourceMappingURL=context.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"context.js","names":["OctagonAlert","TriangleAlert","For","Show","splitProps","ComponentProps","cn","Button","Popover","PopoverContent","PopoverTitle","PopoverTrigger","Progress","breakdownRows","contextLabel","contextLevel","contextLevelWord","contextPercent","contextShort","formatCost","formatExact","hasContextFigures","isFigure","ContextFigures","ContextLevel","ContextProps","locale","placement","class","RING_RADIUS","RING_CIRCUMFERENCE","Math","PI","Context","props","local","figures","percent","used","total","level","levelWord","rows","breakdown","remaining","undefined","cost","amount","_$createComponent","when","children","gutter","as","variant","size","data-level","aria-label","fallback","Ring","_el$","_tmpl$","_$insert","_$effect","_$className","_el$2","_tmpl$2","_el$3","_tmpl$4","_el$6","firstChild","value","min","minValue","maxValue","label","getValueLabel","_el$4","_tmpl$3","_el$5","Row","each","row","filled","max","_el$7","_tmpl$5","_el$8","_el$9","nextSibling","_$setAttribute","_el$0","_tmpl$6","_el$1","_el$10","_$createComponent","_$className","_$setAttribute"],"sources":["../../../../src/components/composites/context/context.tsx"],"sourcesContent":["import { OctagonAlert, TriangleAlert } from 'lucide-solid'\nimport { For, Show, splitProps, type ComponentProps } from 'solid-js'\nimport { cn } from '#lib/utils'\nimport { Button } from '../../ui/button'\nimport { Popover, PopoverContent, PopoverTitle, PopoverTrigger } from '../../ui/popover'\nimport { Progress } from '../../ui/progress'\nimport {\n breakdownRows,\n contextLabel,\n contextLevel,\n contextLevelWord,\n contextPercent,\n contextShort,\n formatCost,\n formatExact,\n hasContextFigures,\n isFigure,\n type ContextFigures,\n type ContextLevel,\n} from './context-model'\n\n/**\n * Context.\n *\n * How much of the model's context window is in use, as a compact trigger that\n * opens the figures behind it. It sits next to the composer, where the reader\n * decides whether to keep going or start fresh, so the trigger is small and the\n * detail is a press away rather than permanent chrome.\n *\n * ## Every figure is a claim, so every figure is optional\n *\n * A host passes whatever it knows: `used`, `total`, a `breakdown` (input, output,\n * cache read and write, reasoning), a `cost`. A missing value is omitted — never\n * drawn as 0, which would say \"empty\" about a window nobody measured — and when\n * *nothing* is known the trigger is not rendered at all (`hasContextFigures`).\n * Nothing is estimated here; the one derived row, \"Remaining\", appears only when\n * both `used` and `total` are known and `used` does not exceed `total`.\n *\n * ## Never colour alone\n *\n * The ring shows the fraction; past 75% the ring gives way to a warning glyph\n * (triangle, then octagon at 90% and above), the popover says \"Getting full\",\n * \"Nearly full\" or \"Full\" in words, and the trigger's accessible name speaks the\n * same. An overrun is reported as it is (\"112%\"); only the ring saturates.\n *\n * It is a `Popover`, not a hover card: the figures must be reachable by keyboard\n * and by touch, and Escape closes it and returns focus to the trigger.\n */\nexport type ContextProps = ContextFigures & {\n /** BCP 47 tag for number formatting. Defaults to `en-US`, so output is stable. */\n locale?: string\n placement?: ComponentProps<typeof Popover>['placement']\n class?: string\n}\n\n// A circle of radius 6 in a 16-unit box; the dash array is the fraction of this.\nconst RING_RADIUS = 6\nconst RING_CIRCUMFERENCE = 2 * Math.PI * RING_RADIUS\n\nexport function Context(props: ContextProps) {\n const [local, figures] = splitProps(props, ['locale', 'placement', 'class'])\n const locale = () => local.locale ?? 'en-US'\n const percent = () => contextPercent(figures.used, figures.total)\n const level = (): ContextLevel => contextLevel(percent())\n const levelWord = () => contextLevelWord(level())\n const rows = () => breakdownRows(figures.breakdown)\n const remaining = () =>\n isFigure(figures.used) && isFigure(figures.total) && figures.used <= figures.total\n ? figures.total - figures.used\n : undefined\n const cost = () => (figures.cost && isFigure(figures.cost.amount) ? figures.cost : undefined)\n\n return (\n <Show when={hasContextFigures(figures)}>\n <Popover placement={local.placement ?? 'top'} gutter={6}>\n <PopoverTrigger\n as={Button}\n variant=\"ghost\"\n size=\"xs\"\n data-slot=\"context\"\n data-level={level()}\n aria-label={contextLabel(figures, locale())}\n class={local.class}\n >\n <Show\n when={level() !== 'normal'}\n fallback={\n <Show when={percent() !== undefined}>\n <Ring percent={percent() ?? 0} />\n </Show>\n }\n >\n <span\n aria-hidden=\"true\"\n class={cn({\n 'text-warning': level() === 'high',\n 'text-destructive': level() === 'critical' || level() === 'full',\n })}\n >\n <Show when={level() === 'high'} fallback={<OctagonAlert />}>\n <TriangleAlert />\n </Show>\n </span>\n </Show>\n <span aria-hidden=\"true\" class=\"tabular-nums\">\n {contextShort(figures, locale())}\n </span>\n </PopoverTrigger>\n <PopoverContent class=\"w-72 max-w-full\">\n <PopoverTitle>Context window</PopoverTitle>\n <div class=\"flex flex-col gap-2 px-2 pb-2\">\n <Show when={percent() !== undefined}>\n <Progress\n value={Math.min(percent() ?? 0, 100)}\n minValue={0}\n maxValue={100}\n label=\"Context used\"\n getValueLabel={() => `${percent()}% used`}\n />\n </Show>\n <Show when={levelWord()}>\n <p\n class={cn('m-0 flex items-center gap-1.5 text-sm font-medium', {\n 'text-warning': level() === 'high',\n 'text-destructive': level() === 'critical' || level() === 'full',\n })}\n >\n <Show when={level() === 'high'} fallback={<OctagonAlert class=\"size-4\" />}>\n <TriangleAlert class=\"size-4\" />\n </Show>\n <span class=\"text-foreground\">{levelWord()}</span>\n </p>\n </Show>\n <dl class=\"m-0 flex flex-col gap-1 text-sm\">\n <Show when={isFigure(figures.used)}>\n <Row label=\"Used\" value={`${formatExact(figures.used ?? 0, locale())} tokens`} />\n </Show>\n <Show when={isFigure(figures.total)}>\n <Row label=\"Window\" value={`${formatExact(figures.total ?? 0, locale())} tokens`} />\n </Show>\n <Show when={remaining() !== undefined}>\n <Row\n label=\"Remaining\"\n value={`${formatExact(remaining() ?? 0, locale())} tokens`}\n />\n </Show>\n <For each={rows()}>\n {(row) => <Row label={row.label} value={formatExact(row.value, locale())} />}\n </For>\n <Show when={cost()}>\n {(value) => <Row label=\"Cost\" value={formatCost(value(), locale())} />}\n </Show>\n </dl>\n </div>\n </PopoverContent>\n </Popover>\n </Show>\n )\n}\n\nfunction Ring(props: { percent: number }) {\n const filled = () => (RING_CIRCUMFERENCE * Math.min(Math.max(props.percent, 0), 100)) / 100\n return (\n <svg aria-hidden=\"true\" viewBox=\"0 0 16 16\" fill=\"none\" class=\"size-4\">\n <circle cx=\"8\" cy=\"8\" r={RING_RADIUS} stroke-width=\"2\" class=\"stroke-border\" />\n <circle\n cx=\"8\"\n cy=\"8\"\n r={RING_RADIUS}\n stroke-width=\"2\"\n stroke-linecap=\"round\"\n stroke-dasharray={`${filled()} ${RING_CIRCUMFERENCE}`}\n transform=\"rotate(-90 8 8)\"\n class=\"stroke-primary\"\n />\n </svg>\n )\n}\n\nfunction Row(props: { label: string; value: string }) {\n return (\n <div class=\"flex items-baseline justify-between gap-4\">\n <dt class=\"text-muted-foreground\">{props.label}</dt>\n <dd class=\"m-0 text-end tabular-nums\">{props.value}</dd>\n </div>\n )\n}\n"],"mappings":"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"}
|
|
@@ -0,0 +1,3 @@
|
|
|
1
|
+
export { Context, type ContextProps } from './context';
|
|
2
|
+
export { breakdownRows, contextLabel, contextLevel, contextLevelWord, contextPercent, contextShort, formatCost, formatExact, formatTokens, hasContextFigures, isFigure, type ContextBreakdown, type ContextCost, type ContextFigures, type ContextLevel, } from './context-model';
|
|
3
|
+
//# sourceMappingURL=index.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../../src/components/composites/context/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,OAAO,EAAE,KAAK,YAAY,EAAE,MAAM,WAAW,CAAA;AACtD,OAAO,EACL,aAAa,EACb,YAAY,EACZ,YAAY,EACZ,gBAAgB,EAChB,cAAc,EACd,YAAY,EACZ,UAAU,EACV,WAAW,EACX,YAAY,EACZ,iBAAiB,EACjB,QAAQ,EACR,KAAK,gBAAgB,EACrB,KAAK,WAAW,EAChB,KAAK,cAAc,EACnB,KAAK,YAAY,GAClB,MAAM,iBAAiB,CAAA"}
|
|
@@ -0,0 +1,3 @@
|
|
|
1
|
+
import { breakdownRows, contextLabel, contextLevel, contextLevelWord, contextPercent, contextShort, formatCost, formatExact, formatTokens, hasContextFigures, isFigure } from "./context-model.js";
|
|
2
|
+
import { Context } from "./context.js";
|
|
3
|
+
export { Context, breakdownRows, contextLabel, contextLevel, contextLevelWord, contextPercent, contextShort, formatCost, formatExact, formatTokens, hasContextFigures, isFigure };
|
|
@@ -0,0 +1,138 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* The model behind the changed-files tree: paths in, a folder tree out, and the
|
|
3
|
+
* small pure rules the view needs (what is visible, what to say about the
|
|
4
|
+
* changes, what a typed letter jumps to).
|
|
5
|
+
*
|
|
6
|
+
* Paths come from an agent, which means from a model, which means they are
|
|
7
|
+
* untrusted text. They are used here as labels and as ids, never as places to
|
|
8
|
+
* read or write, and the builder is strict about what counts as a path at all:
|
|
9
|
+
* a `..` segment, a control character or a bidirectional override rejects the
|
|
10
|
+
* path rather than being cleaned up, because a cleaned-up path is a different
|
|
11
|
+
* path and the tree would be making a claim the input did not. Rejected paths
|
|
12
|
+
* are returned, not dropped silently, so the view can say how many it ignored.
|
|
13
|
+
*
|
|
14
|
+
* Everything is iterative. A path with ten thousand segments, or a tree five
|
|
15
|
+
* thousand files wide, must not be able to overflow the stack or stall the page.
|
|
16
|
+
*/
|
|
17
|
+
export type FileChangeKind = 'added' | 'modified' | 'deleted' | 'renamed';
|
|
18
|
+
export type FileChangeInput = Readonly<{
|
|
19
|
+
path: string;
|
|
20
|
+
/** Absent means the host did not say; the tree makes no statement about the file. */
|
|
21
|
+
change?: FileChangeKind;
|
|
22
|
+
/** For a rename, where the file was. Shown as text only. */
|
|
23
|
+
renamedFrom?: string;
|
|
24
|
+
additions?: number;
|
|
25
|
+
deletions?: number;
|
|
26
|
+
}>;
|
|
27
|
+
export type FileTreeNode = Readonly<{
|
|
28
|
+
/** The normalised path, `/`-separated. Unique within a tree. */
|
|
29
|
+
id: string;
|
|
30
|
+
/** The label. For a compacted folder chain this is `a/b/c`. */
|
|
31
|
+
name: string;
|
|
32
|
+
kind: 'file' | 'directory';
|
|
33
|
+
change?: FileChangeKind;
|
|
34
|
+
renamedFrom?: string;
|
|
35
|
+
additions?: number;
|
|
36
|
+
deletions?: number;
|
|
37
|
+
children: readonly FileTreeNode[];
|
|
38
|
+
/** Files at or below this node. A file counts itself. */
|
|
39
|
+
fileCount: number;
|
|
40
|
+
}>;
|
|
41
|
+
export type FileTreeBuild = Readonly<{
|
|
42
|
+
roots: readonly FileTreeNode[];
|
|
43
|
+
/** Inputs that were not accepted as paths, exactly as given. */
|
|
44
|
+
rejected: readonly string[];
|
|
45
|
+
/** Inputs that named a path already present. The first one wins. */
|
|
46
|
+
duplicates: number;
|
|
47
|
+
fileCount: number;
|
|
48
|
+
}>;
|
|
49
|
+
export type BuildFileTreeOptions = {
|
|
50
|
+
/** Merge a folder with a single folder child into one row (`src/lib`). Default true. */
|
|
51
|
+
compact?: boolean;
|
|
52
|
+
};
|
|
53
|
+
/** Deeper paths are rejected: no real repository nests this far, and a row's indent would be unusable. */
|
|
54
|
+
export declare const FILE_TREE_MAX_DEPTH = 256;
|
|
55
|
+
/**
|
|
56
|
+
* A path as its segments, or `null` when it is not acceptable. Both separators
|
|
57
|
+
* are accepted, empty and `.` segments are dropped (`a//b`, `./a`, trailing `/`),
|
|
58
|
+
* and a leading separator is dropped, so an absolute path becomes relative to
|
|
59
|
+
* the tree's root rather than escaping it.
|
|
60
|
+
*/
|
|
61
|
+
export declare function normalizePath(path: unknown): string[] | null;
|
|
62
|
+
/**
|
|
63
|
+
* Build the tree. Folders sort before files, then by name without regard to
|
|
64
|
+
* case. A path that is both a file and the parent of another path is a folder
|
|
65
|
+
* that keeps the file entry's change (a file replaced by a directory is a real
|
|
66
|
+
* thing to report).
|
|
67
|
+
*/
|
|
68
|
+
export declare function buildFileTree(paths: readonly (string | FileChangeInput)[], options?: BuildFileTreeOptions): FileTreeBuild;
|
|
69
|
+
export type FileTreeRow = Readonly<{
|
|
70
|
+
node: FileTreeNode;
|
|
71
|
+
/** One-based depth. */
|
|
72
|
+
level: number;
|
|
73
|
+
parentId: string | null;
|
|
74
|
+
expanded: boolean;
|
|
75
|
+
}>;
|
|
76
|
+
/**
|
|
77
|
+
* The rows that are on screen, in reading order. A collapsed folder's subtree
|
|
78
|
+
* is never visited, so toggling a folder in a 5 000-file tree costs the size of
|
|
79
|
+
* what is visible, not of what exists.
|
|
80
|
+
*/
|
|
81
|
+
export declare function flattenFileTree(roots: readonly FileTreeNode[], expanded: ReadonlySet<string>): FileTreeRow[];
|
|
82
|
+
/** Every node by id, for turning a row id back into its node. */
|
|
83
|
+
export declare function indexFileTree(roots: readonly FileTreeNode[]): Map<string, FileTreeNode>;
|
|
84
|
+
export type FileTreeExpansion = boolean | number | readonly string[] | undefined;
|
|
85
|
+
/** Tree this small opens fully by default; a larger one opens only its top level. */
|
|
86
|
+
export declare const FILE_TREE_AUTO_EXPAND_LIMIT = 100;
|
|
87
|
+
/**
|
|
88
|
+
* Which folders start open. `true` opens every folder, a number opens folders up
|
|
89
|
+
* to that depth (1 is the top level), a list opens exactly those ids, `false`
|
|
90
|
+
* none. Unset is "auto": everything for a small tree, the top level for a large
|
|
91
|
+
* one, because a tree that opens 5 000 rows is the freeze this exists to avoid.
|
|
92
|
+
*/
|
|
93
|
+
export declare function initialExpanded(roots: readonly FileTreeNode[], spec: FileTreeExpansion, fileCount: number): Set<string>;
|
|
94
|
+
/** The slice of visible rows that is mounted: `start` inclusive, `end` exclusive. */
|
|
95
|
+
export type RowWindow = Readonly<{
|
|
96
|
+
start: number;
|
|
97
|
+
end: number;
|
|
98
|
+
}>;
|
|
99
|
+
/**
|
|
100
|
+
* A window clamped to what exists, and never narrower than one page when that
|
|
101
|
+
* many rows are there. Rows collapse and files are removed while a window is
|
|
102
|
+
* held, so every read goes through this.
|
|
103
|
+
*/
|
|
104
|
+
export declare function clampWindow(window: RowWindow, total: number, page: number): RowWindow;
|
|
105
|
+
/**
|
|
106
|
+
* The window after the keyboard (or typeahead) asks for a row. A row inside the
|
|
107
|
+
* window changes nothing. A row just outside it — an arrow key at the edge — grows
|
|
108
|
+
* the window by one page, so walking the tree costs a page at a time. Anything
|
|
109
|
+
* further is a jump (End, Home, a typed letter): the window moves to the page that
|
|
110
|
+
* holds the row instead of mounting every row between, which is what keeps End on
|
|
111
|
+
* a 5 000-row tree from being a multi-second freeze.
|
|
112
|
+
*/
|
|
113
|
+
export declare function revealInWindow(window: RowWindow, index: number, total: number, page: number): RowWindow;
|
|
114
|
+
export type ChangeCounts = Readonly<{
|
|
115
|
+
total: number;
|
|
116
|
+
added: number;
|
|
117
|
+
modified: number;
|
|
118
|
+
deleted: number;
|
|
119
|
+
renamed: number;
|
|
120
|
+
/** Files with no change kind supplied. */
|
|
121
|
+
unspecified: number;
|
|
122
|
+
}>;
|
|
123
|
+
export declare function countChanges(roots: readonly FileTreeNode[]): ChangeCounts;
|
|
124
|
+
/**
|
|
125
|
+
* The summary in words: "12 files changed: 3 added, 8 modified, 1 deleted". Only
|
|
126
|
+
* kinds that occur are named, and files with no kind are not folded into any of
|
|
127
|
+
* them. Empty is empty, not "0 files changed".
|
|
128
|
+
*/
|
|
129
|
+
export declare function describeChanges(counts: ChangeCounts): string;
|
|
130
|
+
/** The words for a change, which are drawn on the row and so also spoken. */
|
|
131
|
+
export declare const FILE_CHANGE_LABELS: Readonly<Record<FileChangeKind, string>>;
|
|
132
|
+
/**
|
|
133
|
+
* The row a typed prefix jumps to. One typed letter searches from the row after
|
|
134
|
+
* the active one, so pressing it again cycles; a longer string searches from the
|
|
135
|
+
* active row, so refining a match does not skip past it. Matching ignores case.
|
|
136
|
+
*/
|
|
137
|
+
export declare function typeaheadIndex(labels: readonly string[], activeIndex: number, query: string): number;
|
|
138
|
+
//# sourceMappingURL=build-file-tree.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"build-file-tree.d.ts","sourceRoot":"","sources":["../../../../src/components/composites/file-tree/build-file-tree.ts"],"names":[],"mappings":"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"}
|