UIcomponent

Protocol version and unknown component fallback cases.

{
  "version": "1.0",
  "intent": "component_version_test",
  "components": [
    {
      "type": "text",
      "id": "txt-v1",
      "content": "This is a v1 UI response. It should render as a normal text component.",
      "format": "plain"
    },
    {
      "type": "selection",
      "id": "sel-v1",
      "title": "Pick a priority",
      "multiple": false,
      "options": [
        {
          "value": "P0",
          "label": "P0"
        },
        {
          "value": "P1",
          "label": "P1"
        },
        {
          "value": "P2",
          "label": "P2"
        }
      ]
    }
  ]
}

UI component protocol preview

normalized version: 1.0, intent: component_version_test

2 component(s)
This is a v1 UI response. It should render as a normal text component.

Pick a priority

Streaming protocol test

updateStreamingMessage reducer rules + live SSE envelope contract.

updateStreamingMessage 单元测试

纯函数、无网络依赖:lazy init / 追加 / 覆盖 / 派生 messageType / 不可变。

SSE 流式协议测试(连接后端)

JSON 静默收集 / markdown 逐 token / Markdown→UI 无缝过渡 / progress 0→100。约 1-3 分钟(analyze 意图)。