错误参考

A@UI Runtime 在以下场景中产生错误。所有错误通过 onError 回调暴露,回调中附带 source 和上下文信息。

错误类型

初始化错误

场景错误消息触发时机
插件未安装useAAtUIAdapter() must be called after installing the A@UI plugin在未安装插件时调用 useAAtUIAdapter()
全局注册缺失Component "X" not found. Register it globally...插件安装时组件名不在全局注册表且无显式映射
manifest 组件缺失Manifest component "X" has no matching Vue componentWidgetManager 初始化时 manifest 声明的组件无对应 Vue 实现
mount target 找不到Mount target not found: "selector"传入的 CSS 选择器在 DOM 中无法匹配到元素

命令校验错误

场景错误消息source
JSON 解析失败JSON.parse 错误(原生 Error)stream
非法命令结构Invalid command payload.stream

调度错误

场景错误消息source
未知组件Unknown component: "X"dispatch
组件不支持 renderComponent does not support render: "X"dispatch
组件不支持 updateComponent does not support update: "X"dispatch
组件不支持 destroyComponent does not support destroy: "X"dispatch
不支持的命令类型Unsupported command type: "X"dispatch

流协议错误

场景行为source
残留部分 SSE 帧Trailing partial SSE frame. 通过 onError 暴露stream
事件 payload 不可序列化Event payload must be JSON-serializable 抛错dispatch

警告(非 Error)

场景行为
未知 widget 的 updateconsole.warn,跳过该命令
未知 widget 的 destroyconsole.warn,视为幂等 no-op

错误上下文结构

通过 onError(error, context) 回调暴露的上下文对象:

interface AAtUIAdapterErrorContext {
  source: 'stream' | 'dispatch' | 'config';
  raw?: string;       // SSE 原始 payload(来源为 stream 时)
  command?: unknown;   // 已解析的命令对象(来源为 dispatch 时)
}

参考

  • packages/a-at-ui/src/runtime/vue/adapter.tsAAtUIAdapterErrorContext 类型定义
  • packages/a-at-ui/src/runtime/vue/widget-manager.ts — 调度错误实现
  • packages/a-at-ui/src/runtime/vue/stream.ts — 流错误实现