From 09b0390aba57c9bf0705a72e8988f272d39b2206 Mon Sep 17 00:00:00 2001 From: Neko Ayaka Date: Wed, 29 Apr 2026 06:05:49 +0800 Subject: [PATCH] refactor(stage-ui): advanced tool rendering, error handling, and ui improvements --- .../renderer/components/InteractiveArea.vue | 8 + .../journal-tool-call-block.vue | 223 ++++++++++++++++++ .../components/markdown/markdown-renderer.vue | 2 +- .../chat/components/assistant-item.vue | 55 ++++- .../chat/components/history.story.vue | 167 +++++++++++++ .../scenarios/chat/components/history.vue | 4 + .../chat/components/response-part.vue | 43 +--- .../chat/components/tool-call-block.vue | 144 ++--------- .../chat/components/tool-call-display.test.ts | 30 +++ .../chat/components/tool-call-display.ts | 48 ++++ .../chat/components/tool-call-renderer.ts | 27 +++ .../chat/components/tool-call-results.test.ts | 84 +++++++ .../chat/components/tool-call-results.ts | 57 +++++ .../src/components/scenarios/chat/index.ts | 2 + .../src/components/misc/container-error.vue | 10 +- 15 files changed, 730 insertions(+), 174 deletions(-) create mode 100644 apps/stage-tamagotchi/src/renderer/components/chat-tool-renderers/journal-tool-call-block.vue create mode 100644 packages/stage-ui/src/components/scenarios/chat/components/tool-call-display.test.ts create mode 100644 packages/stage-ui/src/components/scenarios/chat/components/tool-call-display.ts create mode 100644 packages/stage-ui/src/components/scenarios/chat/components/tool-call-renderer.ts create mode 100644 packages/stage-ui/src/components/scenarios/chat/components/tool-call-results.test.ts create mode 100644 packages/stage-ui/src/components/scenarios/chat/components/tool-call-results.ts diff --git a/apps/stage-tamagotchi/src/renderer/components/InteractiveArea.vue b/apps/stage-tamagotchi/src/renderer/components/InteractiveArea.vue index 0cd08f6a5..0271cf118 100644 --- a/apps/stage-tamagotchi/src/renderer/components/InteractiveArea.vue +++ b/apps/stage-tamagotchi/src/renderer/components/InteractiveArea.vue @@ -1,4 +1,5 @@ + + diff --git a/packages/stage-ui/src/components/markdown/markdown-renderer.vue b/packages/stage-ui/src/components/markdown/markdown-renderer.vue index ffa145568..60d4b83e6 100644 --- a/packages/stage-ui/src/components/markdown/markdown-renderer.vue +++ b/packages/stage-ui/src/components/markdown/markdown-renderer.vue @@ -7,7 +7,7 @@ import { useMarkdown } from '../../composables/markdown' interface Props { content: string - class?: string + class?: string | string[] } const props = defineProps() diff --git a/packages/stage-ui/src/components/scenarios/chat/components/assistant-item.vue b/packages/stage-ui/src/components/scenarios/chat/components/assistant-item.vue index 200a522af..b156a4edf 100644 --- a/packages/stage-ui/src/components/scenarios/chat/components/assistant-item.vue +++ b/packages/stage-ui/src/components/scenarios/chat/components/assistant-item.vue @@ -1,5 +1,6 @@