refactor(gui): route the composer chain on PendingWait currency

This commit is contained in:
imccyu
2026-07-23 17:23:17 +08:00
parent de36006956
commit 07bdfbce9b
16 changed files with 314 additions and 275 deletions

View File

@@ -28,9 +28,12 @@ import { WaterfallView } from '@deepseek-ai/dsh-client-ui-trajectory/src/client/
import { apply as nodeApply } from '@deepseek-ai/dsh-client-ui-trajectory'
const SID = 's1' as SessionId
/** Fallback-only renderSlot stub (no composer takeover in these benches). */
const fallbackRenderSlot: ConversationSlotProps['renderSlot'] =
/** Fallback-only chain stub (no composer takeover in these benches). */
const fallbackRenderSlotChain: ConversationSlotProps['renderSlotChain'] =
(_key, _owner, opts) => opts?.fallback ?? null
/** Non-chain renderSlot stub: ConversationRoot renders no non-chain child keys. */
const unusedRenderSlot: ConversationSlotProps['renderSlot'] =
(() => { throw new Error('no non-chain child keys') }) as unknown as ConversationSlotProps['renderSlot']
/** Standard-seat stub: ConversationRoot never renders it, delivery is mandatory in the props type. */
const StubSessionProvider: ConversationSlotProps['SessionProvider'] = ({ children }) => <>{children(SID)}</>
@@ -112,7 +115,8 @@ function mount(svc: ConversationService, nodes: ConversationSnapshot['nodes'] =
openDetails={vi.fn()}
loadOlder={vi.fn()}
open={vi.fn()}
renderSlot={fallbackRenderSlot}
renderSlot={unusedRenderSlot}
renderSlotChain={fallbackRenderSlotChain}
SessionProvider={StubSessionProvider}
/>,
)