@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,63 @@
|
|
|
1
|
+
import { type ComponentProps } from 'solid-js';
|
|
2
|
+
import { type ParseStackTraceOptions, type StackFrame } from './parse-stack-trace';
|
|
3
|
+
/**
|
|
4
|
+
* StackTrace.
|
|
5
|
+
*
|
|
6
|
+
* A failed call and the frames it failed through. Put it in the body of the
|
|
7
|
+
* `TraceLine` for the call that failed, or under a failing test; reach for
|
|
8
|
+
* `CodeBlock` when the text is not a trace, and for `Terminal` when it is the
|
|
9
|
+
* live output of a command rather than one error.
|
|
10
|
+
*
|
|
11
|
+
* ## The reader's code first
|
|
12
|
+
*
|
|
13
|
+
* A trace is mostly someone else's frames. Runs of dependency and runtime frames
|
|
14
|
+
* (`node_modules`, `site-packages`, `.cargo/registry`, `node:` internals, Rust's
|
|
15
|
+
* `std`) fold into one disclosure line that says what it holds, and a lone
|
|
16
|
+
* dependency frame is dimmed rather than folded. When *none* of the frames is the
|
|
17
|
+
* reader's, nothing folds: hiding the whole trace behind a button helps nobody.
|
|
18
|
+
* Whose code a frame is comes from its path; a host that knows the project layout
|
|
19
|
+
* passes `classify`.
|
|
20
|
+
*
|
|
21
|
+
* ## It never hides a line
|
|
22
|
+
*
|
|
23
|
+
* Every line of `text` is on screen in order — as a frame, as a header, or as
|
|
24
|
+
* muted text — and a trace in a format this does not know is shown whole in a
|
|
25
|
+
* `CodeBlock`, which also copies it. Copy writes `text` exactly as given, not a
|
|
26
|
+
* reformatted version of what was parsed.
|
|
27
|
+
*
|
|
28
|
+
* ## Opening a frame is the host's decision
|
|
29
|
+
*
|
|
30
|
+
* A frame is a button only when `onOpenFrame` is supplied, and only when the
|
|
31
|
+
* frame names a file; without it frames are plain text, because a control that
|
|
32
|
+
* does nothing is a tab stop with no purpose. The component never builds a path
|
|
33
|
+
* or tries to open one — the trace is untrusted text, and what a path in it means
|
|
34
|
+
* on this machine is the host's call.
|
|
35
|
+
*
|
|
36
|
+
* Text is text throughout: frames, messages and source lines are rendered as text
|
|
37
|
+
* nodes, long unbroken tokens wrap rather than widening the column, and what is
|
|
38
|
+
* drawn is bounded with the omission stated every time: a text line or a header
|
|
39
|
+
* message beyond 10 000 characters, a frame's printed lines beyond 40 lines or
|
|
40
|
+
* 10 000 characters, and the frames of a folded group, which are built only while
|
|
41
|
+
* it is open and then `maxBlocks` at a time. Copy and `onOpenFrame` still get all of
|
|
42
|
+
* it.
|
|
43
|
+
*/
|
|
44
|
+
export type StackTraceProps = Omit<ComponentProps<'div'>, 'children'> & {
|
|
45
|
+
/** The trace exactly as the runtime printed it. */
|
|
46
|
+
text: string;
|
|
47
|
+
/** Make frames that name a file open it. Omit to render them as plain text. */
|
|
48
|
+
onOpenFrame?: (frame: StackFrame) => void;
|
|
49
|
+
classify?: ParseStackTraceOptions['classify'];
|
|
50
|
+
/** Fold runs of dependency and runtime frames. Default true. */
|
|
51
|
+
collapseDependencies?: boolean;
|
|
52
|
+
/** Start folded groups open. */
|
|
53
|
+
defaultDependenciesOpen?: boolean;
|
|
54
|
+
/** Blocks (frames, groups, text) shown before "show more". Default 200. */
|
|
55
|
+
maxBlocks?: number;
|
|
56
|
+
copyLabel?: string;
|
|
57
|
+
copiedLabel?: string;
|
|
58
|
+
/** Called after each copy attempt with whether the clipboard accepted it. */
|
|
59
|
+
onCopy?: (ok: boolean) => void;
|
|
60
|
+
};
|
|
61
|
+
export declare const STACK_TRACE_MAX_BLOCKS = 200;
|
|
62
|
+
export declare function StackTrace(props: StackTraceProps): import("solid-js").JSX.Element;
|
|
63
|
+
//# sourceMappingURL=stack-trace.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"stack-trace.d.ts","sourceRoot":"","sources":["../../../../src/components/composites/stack-trace/stack-trace.tsx"],"names":[],"mappings":"AACA,OAAO,EAQL,KAAK,cAAc,EACpB,MAAM,UAAU,CAAA;AAMjB,OAAO,EAOL,KAAK,sBAAsB,EAE3B,KAAK,UAAU,EAChB,MAAM,qBAAqB,CAAA;AAE5B;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GAwCG;AACH,MAAM,MAAM,eAAe,GAAG,IAAI,CAAC,cAAc,CAAC,KAAK,CAAC,EAAE,UAAU,CAAC,GAAG;IACtE,mDAAmD;IACnD,IAAI,EAAE,MAAM,CAAA;IACZ,+EAA+E;IAC/E,WAAW,CAAC,EAAE,CAAC,KAAK,EAAE,UAAU,KAAK,IAAI,CAAA;IACzC,QAAQ,CAAC,EAAE,sBAAsB,CAAC,UAAU,CAAC,CAAA;IAC7C,gEAAgE;IAChE,oBAAoB,CAAC,EAAE,OAAO,CAAA;IAC9B,gCAAgC;IAChC,uBAAuB,CAAC,EAAE,OAAO,CAAA;IACjC,2EAA2E;IAC3E,SAAS,CAAC,EAAE,MAAM,CAAA;IAClB,SAAS,CAAC,EAAE,MAAM,CAAA;IAClB,WAAW,CAAC,EAAE,MAAM,CAAA;IACpB,6EAA6E;IAC7E,MAAM,CAAC,EAAE,CAAC,EAAE,EAAE,OAAO,KAAK,IAAI,CAAA;CAC/B,CAAA;AAED,eAAO,MAAM,sBAAsB,MAAM,CAAA;AAiKzC,wBAAgB,UAAU,CAAC,KAAK,EAAE,eAAe,kCAkJhD"}
|
|
@@ -0,0 +1,491 @@
|
|
|
1
|
+
import { cn } from "../../../lib/utils.js";
|
|
2
|
+
import { Button } from "../../ui/button/button.js";
|
|
3
|
+
import { CodeBlock } from "../../ui/code-block/code-block.js";
|
|
4
|
+
import { TraceLine } from "../../ui/trace/trace.js";
|
|
5
|
+
import { writeClipboardText } from "../../../lib/clipboard.js";
|
|
6
|
+
import { boundLines, dedentLines, describeFrameGroup, frameLocation, groupStackEntries, parseStackTrace } from "./parse-stack-trace.js";
|
|
7
|
+
import { className, createComponent, delegateEvents, effect, insert, memo, mergeProps, setAttribute, spread, template } from "solid-js/web";
|
|
8
|
+
import { Check, CircleAlert, Copy, Package } from "lucide-solid";
|
|
9
|
+
import { For, Match, Show, Switch, createMemo, createSignal, splitProps } from "solid-js";
|
|
10
|
+
//#region src/components/composites/stack-trace/stack-trace.tsx
|
|
11
|
+
var _tmpl$ = /*#__PURE__*/ template(`<pre class="m-0 ms-1.5 px-1.5 font-code text-code whitespace-pre-wrap text-muted-foreground [overflow-wrap:anywhere]">`);
|
|
12
|
+
var _tmpl$2 = /*#__PURE__*/ template(`<p class="m-0 ms-1.5 px-1.5 text-xs text-muted-foreground italic"> (copy has all of it)`);
|
|
13
|
+
var _tmpl$3 = /*#__PURE__*/ template(`<span>`);
|
|
14
|
+
var _tmpl$4 = /*#__PURE__*/ template(`<span class="block text-xs text-muted-foreground italic">… <!> more characters not shown (copy has all of it)`);
|
|
15
|
+
var _tmpl$5 = /*#__PURE__*/ template(`<ol role=list class="m-0 flex min-w-0 list-none flex-col gap-px p-0">`);
|
|
16
|
+
var _tmpl$6 = /*#__PURE__*/ template(`<div class=ps-1.5>`);
|
|
17
|
+
var _tmpl$7 = /*#__PURE__*/ template(`<span class="min-w-0 font-code text-code text-muted-foreground [overflow-wrap:anywhere]">`);
|
|
18
|
+
var _tmpl$8 = /*#__PURE__*/ template(`<span class=sr-only>`);
|
|
19
|
+
var _tmpl$9 = /*#__PURE__*/ template(`<button type=button>`);
|
|
20
|
+
var _tmpl$0 = /*#__PURE__*/ template(`<li data-slot=stack-frame class=min-w-0>`);
|
|
21
|
+
var _tmpl$1 = /*#__PURE__*/ template(`<div class="flex min-w-0 flex-wrap items-baseline gap-x-2 rounded-md px-1.5 py-0.5 text-start text-xs outline-none">`);
|
|
22
|
+
var _tmpl$10 = /*#__PURE__*/ template(`<span class="block font-sans text-xs italic">… <!> more characters not shown`);
|
|
23
|
+
var _tmpl$11 = /*#__PURE__*/ template(`<li class="min-w-0 px-1.5 py-0.5 font-code text-code whitespace-pre-wrap text-muted-foreground [overflow-wrap:anywhere]">`);
|
|
24
|
+
var _tmpl$12 = /*#__PURE__*/ template(`<div class="group/stack flex items-start gap-2"><div class="min-w-0 flex-1 text-sm"></div><div class="flex items-center gap-1 opacity-0 transition-opacity group-focus-within/stack:opacity-100 group-hover/stack:opacity-100 [@media(hover:none)]:opacity-100">`);
|
|
25
|
+
var _tmpl$13 = /*#__PURE__*/ template(`<ol role=list aria-label="Stack frames"class="m-0 ms-2 flex min-w-0 list-none flex-col gap-px border-s border-border p-0 ps-2">`);
|
|
26
|
+
var _tmpl$14 = /*#__PURE__*/ template(`<div class=ms-2>`);
|
|
27
|
+
var _tmpl$15 = /*#__PURE__*/ template(`<div data-slot=stack-trace>`);
|
|
28
|
+
var _tmpl$16 = /*#__PURE__*/ template(`<span class=text-muted-foreground>Stack trace`);
|
|
29
|
+
var _tmpl$17 = /*#__PURE__*/ template(`<span class=text-muted-foreground>: `);
|
|
30
|
+
var _tmpl$18 = /*#__PURE__*/ template(`<p class="m-0 whitespace-pre-wrap [overflow-wrap:anywhere]">`);
|
|
31
|
+
var _tmpl$19 = /*#__PURE__*/ template(`<p class="m-0 font-code text-code text-muted-foreground [overflow-wrap:anywhere]">`);
|
|
32
|
+
var STACK_TRACE_MAX_BLOCKS = 200;
|
|
33
|
+
var TEXT_DISPLAY_LIMIT = 1e4;
|
|
34
|
+
/** What a frame's own printed lines (a Python source line, a locals dump) may show. */
|
|
35
|
+
var DETAIL_LINE_LIMIT = 40;
|
|
36
|
+
var DETAIL_CHAR_LIMIT = 1e4;
|
|
37
|
+
var rowClass = "flex min-w-0 flex-wrap items-baseline gap-x-2 rounded-md px-1.5 py-0.5 text-start text-xs outline-none";
|
|
38
|
+
var interactiveClass = "w-full cursor-pointer transition-colors ease-out hover:bg-muted/60 focus-visible:ring-3 focus-visible:ring-primary-subtle focus-visible:border-ring";
|
|
39
|
+
function omissionNote(lines, chars) {
|
|
40
|
+
return lines > 0 ? `… ${lines.toLocaleString()} more ${lines === 1 ? "line" : "lines"} (${chars.toLocaleString()} characters) not shown` : `… ${chars.toLocaleString()} more characters not shown`;
|
|
41
|
+
}
|
|
42
|
+
/** A frame's printed lines, bounded so one frame cannot be the whole page. */
|
|
43
|
+
function FrameDetail(props) {
|
|
44
|
+
const bounded = createMemo(() => boundLines(props.lines, DETAIL_LINE_LIMIT, DETAIL_CHAR_LIMIT));
|
|
45
|
+
return [(() => {
|
|
46
|
+
var _el$ = _tmpl$();
|
|
47
|
+
insert(_el$, () => dedentLines(bounded().lines).join("\n"));
|
|
48
|
+
return _el$;
|
|
49
|
+
})(), createComponent(Show, {
|
|
50
|
+
get when() {
|
|
51
|
+
return bounded().omittedLines > 0 || bounded().omittedChars > 0;
|
|
52
|
+
},
|
|
53
|
+
get children() {
|
|
54
|
+
var _el$2 = _tmpl$2(), _el$3 = _el$2.firstChild;
|
|
55
|
+
insert(_el$2, () => omissionNote(bounded().omittedLines, bounded().omittedChars), _el$3);
|
|
56
|
+
return _el$2;
|
|
57
|
+
}
|
|
58
|
+
})];
|
|
59
|
+
}
|
|
60
|
+
/** Header text, cut to the display limit with what was cut stated. */
|
|
61
|
+
function ClippedText(props) {
|
|
62
|
+
const clipped = () => props.text.length > TEXT_DISPLAY_LIMIT;
|
|
63
|
+
return [(() => {
|
|
64
|
+
var _el$4 = _tmpl$3();
|
|
65
|
+
insert(_el$4, (() => {
|
|
66
|
+
var _c$ = memo(() => !!clipped());
|
|
67
|
+
return () => _c$() ? props.text.slice(0, TEXT_DISPLAY_LIMIT) : props.text;
|
|
68
|
+
})());
|
|
69
|
+
effect(() => className(_el$4, props.class));
|
|
70
|
+
return _el$4;
|
|
71
|
+
})(), createComponent(Show, {
|
|
72
|
+
get when() {
|
|
73
|
+
return clipped();
|
|
74
|
+
},
|
|
75
|
+
get children() {
|
|
76
|
+
var _el$5 = _tmpl$4(), _el$8 = _el$5.firstChild.nextSibling;
|
|
77
|
+
_el$8.nextSibling;
|
|
78
|
+
insert(_el$5, () => (props.text.length - TEXT_DISPLAY_LIMIT).toLocaleString(), _el$8);
|
|
79
|
+
return _el$5;
|
|
80
|
+
}
|
|
81
|
+
})];
|
|
82
|
+
}
|
|
83
|
+
/**
|
|
84
|
+
* A folded run of dependency or runtime frames. Its rows are built only while it
|
|
85
|
+
* is open and then a page at a time, so a run of ten thousand frames costs the
|
|
86
|
+
* same as one of a few hundred until the reader asks for more.
|
|
87
|
+
*/
|
|
88
|
+
function FrameGroup(props) {
|
|
89
|
+
const [open, setOpen] = createSignal(props.defaultOpen === true);
|
|
90
|
+
const [limit, setLimit] = createSignal();
|
|
91
|
+
const title = createMemo(() => describeFrameGroup(props.frames));
|
|
92
|
+
const shown = createMemo(() => props.frames.slice(0, limit() ?? props.pageSize));
|
|
93
|
+
const hidden = () => props.frames.length - shown().length;
|
|
94
|
+
return createComponent(TraceLine, {
|
|
95
|
+
get icon() {
|
|
96
|
+
return createComponent(Package, {});
|
|
97
|
+
},
|
|
98
|
+
get title() {
|
|
99
|
+
return title();
|
|
100
|
+
},
|
|
101
|
+
get open() {
|
|
102
|
+
return open();
|
|
103
|
+
},
|
|
104
|
+
onOpenChange: setOpen,
|
|
105
|
+
get children() {
|
|
106
|
+
return createComponent(Show, {
|
|
107
|
+
get when() {
|
|
108
|
+
return open();
|
|
109
|
+
},
|
|
110
|
+
get children() {
|
|
111
|
+
return [(() => {
|
|
112
|
+
var _el$9 = _tmpl$5();
|
|
113
|
+
insert(_el$9, createComponent(For, {
|
|
114
|
+
get each() {
|
|
115
|
+
return shown();
|
|
116
|
+
},
|
|
117
|
+
children: (frame) => createComponent(FrameRow, {
|
|
118
|
+
frame,
|
|
119
|
+
get onOpen() {
|
|
120
|
+
return props.onOpen;
|
|
121
|
+
}
|
|
122
|
+
})
|
|
123
|
+
}));
|
|
124
|
+
effect(() => setAttribute(_el$9, "aria-label", title()));
|
|
125
|
+
return _el$9;
|
|
126
|
+
})(), createComponent(Show, {
|
|
127
|
+
get when() {
|
|
128
|
+
return hidden() > 0;
|
|
129
|
+
},
|
|
130
|
+
get children() {
|
|
131
|
+
return createComponent(ShowMore, {
|
|
132
|
+
get hidden() {
|
|
133
|
+
return hidden();
|
|
134
|
+
},
|
|
135
|
+
get pageSize() {
|
|
136
|
+
return props.pageSize;
|
|
137
|
+
},
|
|
138
|
+
onClick: () => setLimit(shown().length + props.pageSize)
|
|
139
|
+
});
|
|
140
|
+
}
|
|
141
|
+
})];
|
|
142
|
+
}
|
|
143
|
+
});
|
|
144
|
+
}
|
|
145
|
+
});
|
|
146
|
+
}
|
|
147
|
+
function ShowMore(props) {
|
|
148
|
+
return (() => {
|
|
149
|
+
var _el$0 = _tmpl$6();
|
|
150
|
+
insert(_el$0, createComponent(Button, {
|
|
151
|
+
variant: "ghost",
|
|
152
|
+
size: "2xs",
|
|
153
|
+
get onClick() {
|
|
154
|
+
return props.onClick;
|
|
155
|
+
},
|
|
156
|
+
get children() {
|
|
157
|
+
return [
|
|
158
|
+
"Show ",
|
|
159
|
+
memo(() => Math.min(props.hidden, props.pageSize).toLocaleString()),
|
|
160
|
+
" more (",
|
|
161
|
+
memo(() => props.hidden.toLocaleString()),
|
|
162
|
+
" hidden)"
|
|
163
|
+
];
|
|
164
|
+
}
|
|
165
|
+
}));
|
|
166
|
+
return _el$0;
|
|
167
|
+
})();
|
|
168
|
+
}
|
|
169
|
+
function FrameRow(props) {
|
|
170
|
+
const location = () => frameLocation(props.frame);
|
|
171
|
+
const first = () => props.frame.kind === "first-party";
|
|
172
|
+
const content = () => [
|
|
173
|
+
(() => {
|
|
174
|
+
var _el$1 = _tmpl$3();
|
|
175
|
+
insert(_el$1, () => props.frame.async ? "async " : "", null);
|
|
176
|
+
insert(_el$1, () => props.frame.function ?? "(anonymous)", null);
|
|
177
|
+
effect(() => className(_el$1, cn("font-code text-code", {
|
|
178
|
+
"text-foreground": first(),
|
|
179
|
+
"text-muted-foreground": !first()
|
|
180
|
+
})));
|
|
181
|
+
return _el$1;
|
|
182
|
+
})(),
|
|
183
|
+
createComponent(Show, {
|
|
184
|
+
get when() {
|
|
185
|
+
return location();
|
|
186
|
+
},
|
|
187
|
+
get children() {
|
|
188
|
+
var _el$10 = _tmpl$7();
|
|
189
|
+
insert(_el$10, location);
|
|
190
|
+
return _el$10;
|
|
191
|
+
}
|
|
192
|
+
}),
|
|
193
|
+
createComponent(Show, {
|
|
194
|
+
get when() {
|
|
195
|
+
return !first();
|
|
196
|
+
},
|
|
197
|
+
get children() {
|
|
198
|
+
var _el$11 = _tmpl$8();
|
|
199
|
+
insert(_el$11, () => props.frame.kind === "dependency" ? "in a dependency" : "in the runtime");
|
|
200
|
+
return _el$11;
|
|
201
|
+
}
|
|
202
|
+
})
|
|
203
|
+
];
|
|
204
|
+
return (() => {
|
|
205
|
+
var _el$12 = _tmpl$0();
|
|
206
|
+
insert(_el$12, createComponent(Show, {
|
|
207
|
+
get when() {
|
|
208
|
+
return memo(() => props.onOpen !== void 0)() && props.frame.file !== void 0;
|
|
209
|
+
},
|
|
210
|
+
get fallback() {
|
|
211
|
+
return (() => {
|
|
212
|
+
var _el$14 = _tmpl$1();
|
|
213
|
+
insert(_el$14, content);
|
|
214
|
+
return _el$14;
|
|
215
|
+
})();
|
|
216
|
+
},
|
|
217
|
+
get children() {
|
|
218
|
+
var _el$13 = _tmpl$9();
|
|
219
|
+
_el$13.$$click = () => props.onOpen?.(props.frame);
|
|
220
|
+
insert(_el$13, content);
|
|
221
|
+
effect((_p$) => {
|
|
222
|
+
var _v$ = `Open ${props.frame.function ?? "frame"} at ${location()}`, _v$2 = cn(rowClass, interactiveClass);
|
|
223
|
+
_v$ !== _p$.e && setAttribute(_el$13, "aria-label", _p$.e = _v$);
|
|
224
|
+
_v$2 !== _p$.t && className(_el$13, _p$.t = _v$2);
|
|
225
|
+
return _p$;
|
|
226
|
+
}, {
|
|
227
|
+
e: void 0,
|
|
228
|
+
t: void 0
|
|
229
|
+
});
|
|
230
|
+
return _el$13;
|
|
231
|
+
}
|
|
232
|
+
}), null);
|
|
233
|
+
insert(_el$12, createComponent(Show, {
|
|
234
|
+
get when() {
|
|
235
|
+
return memo(() => !!props.frame.detail)() && props.frame.detail.length > 0;
|
|
236
|
+
},
|
|
237
|
+
get children() {
|
|
238
|
+
return createComponent(FrameDetail, { get lines() {
|
|
239
|
+
return props.frame.detail;
|
|
240
|
+
} });
|
|
241
|
+
}
|
|
242
|
+
}), null);
|
|
243
|
+
effect(() => setAttribute(_el$12, "data-kind", props.frame.kind));
|
|
244
|
+
return _el$12;
|
|
245
|
+
})();
|
|
246
|
+
}
|
|
247
|
+
function TextRow(props) {
|
|
248
|
+
const clipped = () => props.text.length > TEXT_DISPLAY_LIMIT;
|
|
249
|
+
return (() => {
|
|
250
|
+
var _el$15 = _tmpl$11();
|
|
251
|
+
insert(_el$15, (() => {
|
|
252
|
+
var _c$2 = memo(() => !!clipped());
|
|
253
|
+
return () => _c$2() ? props.text.slice(0, TEXT_DISPLAY_LIMIT) : props.text;
|
|
254
|
+
})(), null);
|
|
255
|
+
insert(_el$15, createComponent(Show, {
|
|
256
|
+
get when() {
|
|
257
|
+
return clipped();
|
|
258
|
+
},
|
|
259
|
+
get children() {
|
|
260
|
+
var _el$16 = _tmpl$10(), _el$19 = _el$16.firstChild.nextSibling;
|
|
261
|
+
_el$19.nextSibling;
|
|
262
|
+
insert(_el$16, () => (props.text.length - TEXT_DISPLAY_LIMIT).toLocaleString(), _el$19);
|
|
263
|
+
return _el$16;
|
|
264
|
+
}
|
|
265
|
+
}), null);
|
|
266
|
+
return _el$15;
|
|
267
|
+
})();
|
|
268
|
+
}
|
|
269
|
+
function StackTrace(props) {
|
|
270
|
+
const [local, rest] = splitProps(props, [
|
|
271
|
+
"text",
|
|
272
|
+
"onOpenFrame",
|
|
273
|
+
"classify",
|
|
274
|
+
"collapseDependencies",
|
|
275
|
+
"defaultDependenciesOpen",
|
|
276
|
+
"maxBlocks",
|
|
277
|
+
"copyLabel",
|
|
278
|
+
"copiedLabel",
|
|
279
|
+
"onCopy",
|
|
280
|
+
"class"
|
|
281
|
+
]);
|
|
282
|
+
const parsed = createMemo(() => parseStackTrace(local.text, { classify: local.classify }));
|
|
283
|
+
const blocks = createMemo(() => groupStackEntries(parsed().entries, local.collapseDependencies !== false).filter((block) => block.type !== "text" || block.text.trim() !== ""));
|
|
284
|
+
const pageSize = () => Math.max(1, Math.floor(local.maxBlocks ?? 200));
|
|
285
|
+
const [limit, setLimit] = createSignal();
|
|
286
|
+
const shown = createMemo(() => blocks().slice(0, limit() ?? pageSize()));
|
|
287
|
+
const hidden = () => blocks().length - shown().length;
|
|
288
|
+
const [copied, setCopied] = createSignal(false);
|
|
289
|
+
const [copyFailed, setCopyFailed] = createSignal(false);
|
|
290
|
+
const copy = async () => {
|
|
291
|
+
let ok = true;
|
|
292
|
+
try {
|
|
293
|
+
await writeClipboardText(local.text);
|
|
294
|
+
} catch {
|
|
295
|
+
ok = false;
|
|
296
|
+
}
|
|
297
|
+
setCopied(ok);
|
|
298
|
+
setCopyFailed(!ok);
|
|
299
|
+
local.onCopy?.(ok);
|
|
300
|
+
if (ok) setTimeout(() => setCopied(false), 1500);
|
|
301
|
+
};
|
|
302
|
+
return (() => {
|
|
303
|
+
var _el$20 = _tmpl$15();
|
|
304
|
+
spread(_el$20, mergeProps({
|
|
305
|
+
get ["data-format"]() {
|
|
306
|
+
return parsed().format;
|
|
307
|
+
},
|
|
308
|
+
get ["class"]() {
|
|
309
|
+
return cn("flex min-w-0 flex-col gap-1", local.class);
|
|
310
|
+
}
|
|
311
|
+
}, rest), false, true);
|
|
312
|
+
insert(_el$20, createComponent(Show, {
|
|
313
|
+
get when() {
|
|
314
|
+
return parsed().format !== "unknown";
|
|
315
|
+
},
|
|
316
|
+
get fallback() {
|
|
317
|
+
return createComponent(CodeBlock, {
|
|
318
|
+
size: "sm",
|
|
319
|
+
title: "Error output",
|
|
320
|
+
get code() {
|
|
321
|
+
return local.text;
|
|
322
|
+
},
|
|
323
|
+
complete: true,
|
|
324
|
+
wrap: true
|
|
325
|
+
});
|
|
326
|
+
},
|
|
327
|
+
get children() {
|
|
328
|
+
return [
|
|
329
|
+
(() => {
|
|
330
|
+
var _el$21 = _tmpl$12(), _el$22 = _el$21.firstChild, _el$23 = _el$22.nextSibling;
|
|
331
|
+
insert(_el$21, createComponent(CircleAlert, {
|
|
332
|
+
"aria-hidden": "true",
|
|
333
|
+
"class": "mt-0.5 size-4 shrink-0 text-destructive"
|
|
334
|
+
}), _el$22);
|
|
335
|
+
insert(_el$22, createComponent(Show, {
|
|
336
|
+
get when() {
|
|
337
|
+
return parsed().header;
|
|
338
|
+
},
|
|
339
|
+
get fallback() {
|
|
340
|
+
return _tmpl$16();
|
|
341
|
+
},
|
|
342
|
+
children: (header) => [(() => {
|
|
343
|
+
var _el$27 = _tmpl$18();
|
|
344
|
+
insert(_el$27, createComponent(Show, {
|
|
345
|
+
get when() {
|
|
346
|
+
return header().type;
|
|
347
|
+
},
|
|
348
|
+
get children() {
|
|
349
|
+
return [createComponent(ClippedText, {
|
|
350
|
+
"class": "font-semibold text-destructive",
|
|
351
|
+
get text() {
|
|
352
|
+
return header().type;
|
|
353
|
+
}
|
|
354
|
+
}), createComponent(Show, {
|
|
355
|
+
get when() {
|
|
356
|
+
return header().message !== "";
|
|
357
|
+
},
|
|
358
|
+
get children() {
|
|
359
|
+
return _tmpl$17();
|
|
360
|
+
}
|
|
361
|
+
})];
|
|
362
|
+
}
|
|
363
|
+
}), null);
|
|
364
|
+
insert(_el$27, createComponent(ClippedText, {
|
|
365
|
+
"class": "text-foreground",
|
|
366
|
+
get text() {
|
|
367
|
+
return header().message;
|
|
368
|
+
}
|
|
369
|
+
}), null);
|
|
370
|
+
return _el$27;
|
|
371
|
+
})(), createComponent(Show, {
|
|
372
|
+
get when() {
|
|
373
|
+
return header().location;
|
|
374
|
+
},
|
|
375
|
+
get children() {
|
|
376
|
+
var _el$29 = _tmpl$19();
|
|
377
|
+
insert(_el$29, createComponent(ClippedText, { get text() {
|
|
378
|
+
return header().location;
|
|
379
|
+
} }));
|
|
380
|
+
return _el$29;
|
|
381
|
+
}
|
|
382
|
+
})]
|
|
383
|
+
}));
|
|
384
|
+
insert(_el$23, createComponent(Button, {
|
|
385
|
+
variant: "ghost",
|
|
386
|
+
size: "icon-2xs",
|
|
387
|
+
get ["aria-label"]() {
|
|
388
|
+
return memo(() => !!copied())() ? local.copiedLabel ?? "Copied" : local.copyLabel ?? "Copy stack trace";
|
|
389
|
+
},
|
|
390
|
+
get title() {
|
|
391
|
+
return copyFailed() ? "Copying is unavailable in this context" : void 0;
|
|
392
|
+
},
|
|
393
|
+
onClick: () => void copy(),
|
|
394
|
+
get children() {
|
|
395
|
+
return createComponent(Show, {
|
|
396
|
+
get when() {
|
|
397
|
+
return copied();
|
|
398
|
+
},
|
|
399
|
+
get fallback() {
|
|
400
|
+
return createComponent(Copy, { "aria-hidden": "true" });
|
|
401
|
+
},
|
|
402
|
+
get children() {
|
|
403
|
+
return createComponent(Check, { "aria-hidden": "true" });
|
|
404
|
+
}
|
|
405
|
+
});
|
|
406
|
+
}
|
|
407
|
+
}));
|
|
408
|
+
return _el$21;
|
|
409
|
+
})(),
|
|
410
|
+
(() => {
|
|
411
|
+
var _el$24 = _tmpl$13();
|
|
412
|
+
insert(_el$24, createComponent(For, {
|
|
413
|
+
get each() {
|
|
414
|
+
return shown();
|
|
415
|
+
},
|
|
416
|
+
children: (block) => createComponent(Switch, { get children() {
|
|
417
|
+
return [
|
|
418
|
+
createComponent(Match, {
|
|
419
|
+
get when() {
|
|
420
|
+
return block.type === "frame" && block;
|
|
421
|
+
},
|
|
422
|
+
children: (entry) => createComponent(FrameRow, {
|
|
423
|
+
get frame() {
|
|
424
|
+
return entry().frame;
|
|
425
|
+
},
|
|
426
|
+
get onOpen() {
|
|
427
|
+
return local.onOpenFrame;
|
|
428
|
+
}
|
|
429
|
+
})
|
|
430
|
+
}),
|
|
431
|
+
createComponent(Match, {
|
|
432
|
+
get when() {
|
|
433
|
+
return block.type === "text" && block;
|
|
434
|
+
},
|
|
435
|
+
children: (entry) => createComponent(TextRow, { get text() {
|
|
436
|
+
return entry().text;
|
|
437
|
+
} })
|
|
438
|
+
}),
|
|
439
|
+
createComponent(Match, {
|
|
440
|
+
get when() {
|
|
441
|
+
return block.type === "group" && block;
|
|
442
|
+
},
|
|
443
|
+
children: (entry) => createComponent(FrameGroup, {
|
|
444
|
+
get frames() {
|
|
445
|
+
return entry().frames;
|
|
446
|
+
},
|
|
447
|
+
get defaultOpen() {
|
|
448
|
+
return local.defaultDependenciesOpen;
|
|
449
|
+
},
|
|
450
|
+
get pageSize() {
|
|
451
|
+
return pageSize();
|
|
452
|
+
},
|
|
453
|
+
get onOpen() {
|
|
454
|
+
return local.onOpenFrame;
|
|
455
|
+
}
|
|
456
|
+
})
|
|
457
|
+
})
|
|
458
|
+
];
|
|
459
|
+
} })
|
|
460
|
+
}));
|
|
461
|
+
return _el$24;
|
|
462
|
+
})(),
|
|
463
|
+
createComponent(Show, {
|
|
464
|
+
get when() {
|
|
465
|
+
return hidden() > 0;
|
|
466
|
+
},
|
|
467
|
+
get children() {
|
|
468
|
+
var _el$25 = _tmpl$14();
|
|
469
|
+
insert(_el$25, createComponent(ShowMore, {
|
|
470
|
+
get hidden() {
|
|
471
|
+
return hidden();
|
|
472
|
+
},
|
|
473
|
+
get pageSize() {
|
|
474
|
+
return pageSize();
|
|
475
|
+
},
|
|
476
|
+
onClick: () => setLimit(shown().length + pageSize())
|
|
477
|
+
}));
|
|
478
|
+
return _el$25;
|
|
479
|
+
}
|
|
480
|
+
})
|
|
481
|
+
];
|
|
482
|
+
}
|
|
483
|
+
}));
|
|
484
|
+
return _el$20;
|
|
485
|
+
})();
|
|
486
|
+
}
|
|
487
|
+
delegateEvents(["click"]);
|
|
488
|
+
//#endregion
|
|
489
|
+
export { STACK_TRACE_MAX_BLOCKS, StackTrace };
|
|
490
|
+
|
|
491
|
+
//# sourceMappingURL=stack-trace.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"stack-trace.js","names":["Check","CircleAlert","Copy","Package","createMemo","createSignal","For","Match","Show","splitProps","Switch","ComponentProps","writeClipboardText","cn","Button","CodeBlock","TraceLine","boundLines","dedentLines","describeFrameGroup","frameLocation","groupStackEntries","parseStackTrace","ParseStackTraceOptions","StackBlock","StackFrame","StackTraceProps","Omit","text","onOpenFrame","frame","classify","collapseDependencies","defaultDependenciesOpen","maxBlocks","copyLabel","copiedLabel","onCopy","ok","STACK_TRACE_MAX_BLOCKS","TEXT_DISPLAY_LIMIT","DETAIL_LINE_LIMIT","DETAIL_CHAR_LIMIT","rowClass","interactiveClass","omissionNote","lines","chars","toLocaleString","FrameDetail","props","bounded","_el$","_tmpl$","_$insert","join","_$createComponent","when","omittedLines","omittedChars","children","_el$2","_tmpl$2","_el$3","firstChild","ClippedText","class","clipped","length","_el$4","_tmpl$3","_c$","_$memo","slice","_$effect","_$className","_el$5","_tmpl$4","_el$6","_el$8","nextSibling","_el$7","FrameGroup","frames","defaultOpen","pageSize","onOpen","open","setOpen","limit","setLimit","title","shown","hidden","icon","onOpenChange","_el$9","_tmpl$5","each","FrameRow","_$setAttribute","ShowMore","onClick","_el$0","_tmpl$6","variant","size","Math","min","location","first","kind","content","_el$1","async","function","_el$10","_tmpl$7","_el$11","_tmpl$8","_el$12","_tmpl$0","undefined","file","fallback","_el$14","_tmpl$1","_el$13","_tmpl$9","$$click","_p$","_v$","_v$2","e","t","detail","TextRow","_el$15","_tmpl$11","_c$2","_el$16","_tmpl$10","_el$17","_el$19","_el$18","StackTrace","local","rest","parsed","blocks","entries","filter","block","type","trim","max","floor","copied","setCopied","copyFailed","setCopyFailed","copy","setTimeout","_el$20","_tmpl$15","_$spread","_$mergeProps","data-format","format","code","complete","wrap","_el$21","_tmpl$12","_el$22","_el$23","header","_tmpl$16","_el$27","_tmpl$18","message","_tmpl$17","_el$29","_tmpl$19","aria-label","_el$24","_tmpl$13","entry","Extract","_el$25","_tmpl$14","_$delegateEvents","_$createComponent","_$memo","_$className","_$setAttribute","_$mergeProps","_$delegateEvents"],"sources":["../../../../src/components/composites/stack-trace/stack-trace.tsx"],"sourcesContent":["import { Check, CircleAlert, Copy, Package } from 'lucide-solid'\nimport {\n createMemo,\n createSignal,\n For,\n Match,\n Show,\n splitProps,\n Switch,\n type ComponentProps,\n} from 'solid-js'\nimport { writeClipboardText } from '#lib/clipboard'\nimport { cn } from '#lib/utils'\nimport { Button } from '../../ui/button'\nimport { CodeBlock } from '../../ui/code-block'\nimport { TraceLine } from '../../ui/trace'\nimport {\n boundLines,\n dedentLines,\n describeFrameGroup,\n frameLocation,\n groupStackEntries,\n parseStackTrace,\n type ParseStackTraceOptions,\n type StackBlock,\n type StackFrame,\n} from './parse-stack-trace'\n\n/**\n * StackTrace.\n *\n * A failed call and the frames it failed through. Put it in the body of the\n * `TraceLine` for the call that failed, or under a failing test; reach for\n * `CodeBlock` when the text is not a trace, and for `Terminal` when it is the\n * live output of a command rather than one error.\n *\n * ## The reader's code first\n *\n * A trace is mostly someone else's frames. Runs of dependency and runtime frames\n * (`node_modules`, `site-packages`, `.cargo/registry`, `node:` internals, Rust's\n * `std`) fold into one disclosure line that says what it holds, and a lone\n * dependency frame is dimmed rather than folded. When *none* of the frames is the\n * reader's, nothing folds: hiding the whole trace behind a button helps nobody.\n * Whose code a frame is comes from its path; a host that knows the project layout\n * passes `classify`.\n *\n * ## It never hides a line\n *\n * Every line of `text` is on screen in order — as a frame, as a header, or as\n * muted text — and a trace in a format this does not know is shown whole in a\n * `CodeBlock`, which also copies it. Copy writes `text` exactly as given, not a\n * reformatted version of what was parsed.\n *\n * ## Opening a frame is the host's decision\n *\n * A frame is a button only when `onOpenFrame` is supplied, and only when the\n * frame names a file; without it frames are plain text, because a control that\n * does nothing is a tab stop with no purpose. The component never builds a path\n * or tries to open one — the trace is untrusted text, and what a path in it means\n * on this machine is the host's call.\n *\n * Text is text throughout: frames, messages and source lines are rendered as text\n * nodes, long unbroken tokens wrap rather than widening the column, and what is\n * drawn is bounded with the omission stated every time: a text line or a header\n * message beyond 10 000 characters, a frame's printed lines beyond 40 lines or\n * 10 000 characters, and the frames of a folded group, which are built only while\n * it is open and then `maxBlocks` at a time. Copy and `onOpenFrame` still get all of\n * it.\n */\nexport type StackTraceProps = Omit<ComponentProps<'div'>, 'children'> & {\n /** The trace exactly as the runtime printed it. */\n text: string\n /** Make frames that name a file open it. Omit to render them as plain text. */\n onOpenFrame?: (frame: StackFrame) => void\n classify?: ParseStackTraceOptions['classify']\n /** Fold runs of dependency and runtime frames. Default true. */\n collapseDependencies?: boolean\n /** Start folded groups open. */\n defaultDependenciesOpen?: boolean\n /** Blocks (frames, groups, text) shown before \"show more\". Default 200. */\n maxBlocks?: number\n copyLabel?: string\n copiedLabel?: string\n /** Called after each copy attempt with whether the clipboard accepted it. */\n onCopy?: (ok: boolean) => void\n}\n\nexport const STACK_TRACE_MAX_BLOCKS = 200\nconst TEXT_DISPLAY_LIMIT = 10_000\n/** What a frame's own printed lines (a Python source line, a locals dump) may show. */\nconst DETAIL_LINE_LIMIT = 40\nconst DETAIL_CHAR_LIMIT = 10_000\n\nconst rowClass =\n 'flex min-w-0 flex-wrap items-baseline gap-x-2 rounded-md px-1.5 py-0.5 text-start text-xs outline-none'\nconst interactiveClass =\n 'w-full cursor-pointer transition-colors ease-out hover:bg-muted/60 focus-visible:ring-3 focus-visible:ring-primary-subtle focus-visible:border-ring'\n\nfunction omissionNote(lines: number, chars: number): string {\n return lines > 0\n ? `… ${lines.toLocaleString()} more ${lines === 1 ? 'line' : 'lines'} (${chars.toLocaleString()} characters) not shown`\n : `… ${chars.toLocaleString()} more characters not shown`\n}\n\n/** A frame's printed lines, bounded so one frame cannot be the whole page. */\nfunction FrameDetail(props: { lines: readonly string[] }) {\n const bounded = createMemo(() => boundLines(props.lines, DETAIL_LINE_LIMIT, DETAIL_CHAR_LIMIT))\n return (\n <>\n <pre class=\"m-0 ms-1.5 px-1.5 font-code text-code whitespace-pre-wrap text-muted-foreground [overflow-wrap:anywhere]\">\n {dedentLines(bounded().lines).join('\\n')}\n </pre>\n <Show when={bounded().omittedLines > 0 || bounded().omittedChars > 0}>\n <p class=\"m-0 ms-1.5 px-1.5 text-xs text-muted-foreground italic\">\n {omissionNote(bounded().omittedLines, bounded().omittedChars)}\n {' (copy has all of it)'}\n </p>\n </Show>\n </>\n )\n}\n\n/** Header text, cut to the display limit with what was cut stated. */\nfunction ClippedText(props: { text: string; class?: string }) {\n const clipped = () => props.text.length > TEXT_DISPLAY_LIMIT\n return (\n <>\n <span class={props.class}>\n {clipped() ? props.text.slice(0, TEXT_DISPLAY_LIMIT) : props.text}\n </span>\n <Show when={clipped()}>\n <span class=\"block text-xs text-muted-foreground italic\">\n … {(props.text.length - TEXT_DISPLAY_LIMIT).toLocaleString()} more characters not shown\n (copy has all of it)\n </span>\n </Show>\n </>\n )\n}\n\n/**\n * A folded run of dependency or runtime frames. Its rows are built only while it\n * is open and then a page at a time, so a run of ten thousand frames costs the\n * same as one of a few hundred until the reader asks for more.\n */\nfunction FrameGroup(props: {\n frames: readonly StackFrame[]\n defaultOpen?: boolean\n pageSize: number\n onOpen?: (frame: StackFrame) => void\n}) {\n const [open, setOpen] = createSignal(props.defaultOpen === true)\n const [limit, setLimit] = createSignal<number | undefined>()\n const title = createMemo(() => describeFrameGroup(props.frames))\n const shown = createMemo(() => props.frames.slice(0, limit() ?? props.pageSize))\n const hidden = () => props.frames.length - shown().length\n return (\n <TraceLine icon={<Package />} title={title()} open={open()} onOpenChange={setOpen}>\n <Show when={open()}>\n <ol role=\"list\" aria-label={title()} class=\"m-0 flex min-w-0 list-none flex-col gap-px p-0\">\n <For each={shown()}>{(frame) => <FrameRow frame={frame} onOpen={props.onOpen} />}</For>\n </ol>\n <Show when={hidden() > 0}>\n <ShowMore\n hidden={hidden()}\n pageSize={props.pageSize}\n onClick={() => setLimit(shown().length + props.pageSize)}\n />\n </Show>\n </Show>\n </TraceLine>\n )\n}\n\nfunction ShowMore(props: { hidden: number; pageSize: number; onClick: () => void }) {\n return (\n <div class=\"ps-1.5\">\n <Button variant=\"ghost\" size=\"2xs\" onClick={props.onClick}>\n Show {Math.min(props.hidden, props.pageSize).toLocaleString()} more (\n {props.hidden.toLocaleString()} hidden)\n </Button>\n </div>\n )\n}\n\nfunction FrameRow(props: { frame: StackFrame; onOpen?: (frame: StackFrame) => void }) {\n const location = () => frameLocation(props.frame)\n const first = () => props.frame.kind === 'first-party'\n const content = () => (\n <>\n <span\n class={cn('font-code text-code', {\n 'text-foreground': first(),\n 'text-muted-foreground': !first(),\n })}\n >\n {props.frame.async ? 'async ' : ''}\n {props.frame.function ?? '(anonymous)'}\n </span>\n <Show when={location()}>\n <span class=\"min-w-0 font-code text-code text-muted-foreground [overflow-wrap:anywhere]\">\n {location()}\n </span>\n </Show>\n {/* The dimming is a colour; the kind is also spoken. */}\n <Show when={!first()}>\n <span class=\"sr-only\">\n {props.frame.kind === 'dependency' ? 'in a dependency' : 'in the runtime'}\n </span>\n </Show>\n </>\n )\n return (\n <li data-slot=\"stack-frame\" data-kind={props.frame.kind} class=\"min-w-0\">\n <Show\n when={props.onOpen !== undefined && props.frame.file !== undefined}\n fallback={<div class={rowClass}>{content()}</div>}\n >\n <button\n type=\"button\"\n aria-label={`Open ${props.frame.function ?? 'frame'} at ${location()}`}\n class={cn(rowClass, interactiveClass)}\n onClick={() => props.onOpen?.(props.frame)}\n >\n {content()}\n </button>\n </Show>\n <Show when={props.frame.detail && props.frame.detail.length > 0}>\n <FrameDetail lines={props.frame.detail!} />\n </Show>\n </li>\n )\n}\n\nfunction TextRow(props: { text: string }) {\n const clipped = () => props.text.length > TEXT_DISPLAY_LIMIT\n return (\n <li class=\"min-w-0 px-1.5 py-0.5 font-code text-code whitespace-pre-wrap text-muted-foreground [overflow-wrap:anywhere]\">\n {clipped() ? props.text.slice(0, TEXT_DISPLAY_LIMIT) : props.text}\n <Show when={clipped()}>\n <span class=\"block font-sans text-xs italic\">\n … {(props.text.length - TEXT_DISPLAY_LIMIT).toLocaleString()} more characters not shown\n </span>\n </Show>\n </li>\n )\n}\n\nexport function StackTrace(props: StackTraceProps) {\n const [local, rest] = splitProps(props, [\n 'text',\n 'onOpenFrame',\n 'classify',\n 'collapseDependencies',\n 'defaultDependenciesOpen',\n 'maxBlocks',\n 'copyLabel',\n 'copiedLabel',\n 'onCopy',\n 'class',\n ])\n\n const parsed = createMemo(() => parseStackTrace(local.text, { classify: local.classify }))\n const blocks = createMemo<readonly StackBlock[]>(() =>\n groupStackEntries(parsed().entries, local.collapseDependencies !== false).filter(\n // A blank line between paragraphs of a trace carries nothing to draw.\n (block) => block.type !== 'text' || block.text.trim() !== ''\n )\n )\n const pageSize = () => Math.max(1, Math.floor(local.maxBlocks ?? STACK_TRACE_MAX_BLOCKS))\n const [limit, setLimit] = createSignal<number | undefined>()\n const shown = createMemo(() => blocks().slice(0, limit() ?? pageSize()))\n const hidden = () => blocks().length - shown().length\n\n const [copied, setCopied] = createSignal(false)\n const [copyFailed, setCopyFailed] = createSignal(false)\n const copy = async () => {\n let ok = true\n try {\n await writeClipboardText(local.text)\n } catch {\n ok = false\n }\n setCopied(ok)\n setCopyFailed(!ok)\n local.onCopy?.(ok)\n if (ok) setTimeout(() => setCopied(false), 1500)\n }\n\n return (\n <div\n data-slot=\"stack-trace\"\n data-format={parsed().format}\n class={cn('flex min-w-0 flex-col gap-1', local.class)}\n {...rest}\n >\n <Show\n when={parsed().format !== 'unknown'}\n fallback={\n // Nothing recognised: the whole text, in the block that copies it.\n <CodeBlock size=\"sm\" title=\"Error output\" code={local.text} complete wrap />\n }\n >\n <div class=\"group/stack flex items-start gap-2\">\n <CircleAlert aria-hidden=\"true\" class=\"mt-0.5 size-4 shrink-0 text-destructive\" />\n <div class=\"min-w-0 flex-1 text-sm\">\n <Show\n when={parsed().header}\n fallback={<span class=\"text-muted-foreground\">Stack trace</span>}\n >\n {(header) => (\n <>\n <p class=\"m-0 whitespace-pre-wrap [overflow-wrap:anywhere]\">\n <Show when={header().type}>\n <ClippedText class=\"font-semibold text-destructive\" text={header().type!} />\n <Show when={header().message !== ''}>\n <span class=\"text-muted-foreground\">: </span>\n </Show>\n </Show>\n <ClippedText class=\"text-foreground\" text={header().message} />\n </p>\n <Show when={header().location}>\n <p class=\"m-0 font-code text-code text-muted-foreground [overflow-wrap:anywhere]\">\n <ClippedText text={header().location!} />\n </p>\n </Show>\n </>\n )}\n </Show>\n </div>\n <div class=\"flex items-center gap-1 opacity-0 transition-opacity group-focus-within/stack:opacity-100 group-hover/stack:opacity-100 [@media(hover:none)]:opacity-100\">\n <Button\n variant=\"ghost\"\n size=\"icon-2xs\"\n aria-label={\n copied() ? (local.copiedLabel ?? 'Copied') : (local.copyLabel ?? 'Copy stack trace')\n }\n title={copyFailed() ? 'Copying is unavailable in this context' : undefined}\n onClick={() => void copy()}\n >\n <Show when={copied()} fallback={<Copy aria-hidden=\"true\" />}>\n <Check aria-hidden=\"true\" />\n </Show>\n </Button>\n </div>\n </div>\n\n <ol\n role=\"list\"\n aria-label=\"Stack frames\"\n class=\"m-0 ms-2 flex min-w-0 list-none flex-col gap-px border-s border-border p-0 ps-2\"\n >\n <For each={shown()}>\n {(block) => (\n <Switch>\n <Match when={block.type === 'frame' && block}>\n {(entry) => (\n <FrameRow\n frame={(entry() as Extract<StackBlock, { type: 'frame' }>).frame}\n onOpen={local.onOpenFrame}\n />\n )}\n </Match>\n <Match when={block.type === 'text' && block}>\n {(entry) => (\n <TextRow text={(entry() as Extract<StackBlock, { type: 'text' }>).text} />\n )}\n </Match>\n <Match when={block.type === 'group' && block}>\n {(entry) => (\n <FrameGroup\n frames={(entry() as Extract<StackBlock, { type: 'group' }>).frames}\n defaultOpen={local.defaultDependenciesOpen}\n pageSize={pageSize()}\n onOpen={local.onOpenFrame}\n />\n )}\n </Match>\n </Switch>\n )}\n </For>\n </ol>\n <Show when={hidden() > 0}>\n <div class=\"ms-2\">\n <ShowMore\n hidden={hidden()}\n pageSize={pageSize()}\n onClick={() => setLimit(shown().length + pageSize())}\n />\n </div>\n </Show>\n </Show>\n </div>\n )\n}\n"],"mappings":"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"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../../src/components/composites/subagent/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,cAAc,EAAE,QAAQ,EAAE,KAAK,aAAa,EAAE,MAAM,YAAY,CAAA"}
|