Skip to content

Runtime Connection

状态

  • disconnected
  • connecting
  • initialized
  • recovering
  • reconnect_requested
  • closed

首次连接

  1. runtime attach
  2. 平台返回 Session 上下文、runtimeConnectionId,以及裁剪后的 SDK capability 集
  3. 当前 attempt 冻结 attach 时协商得到的 sdkCapabilitySnapshot
  4. runtime 进入 initialized
  5. 主输入桥与输出桥建立

重连

  1. 连接中断
  2. runtime 重新 attach 或重建 transport
  3. 重连时沿用当前 attempt 已冻结的 sdkCapabilitySnapshot
  4. 重连 init 成功后进入 recovering
  5. 调用 recover-connections
  6. 成功则回到 initialized

规范要求

  • reconnect MUST NOT 伪造新的 RUN_STARTED
  • recover-connections MUST 只恢复连接与桥接,不得重放业务生命周期
  • 旧连接的迟到完成 MUST 被忽略,不得破坏新 owner
  • recover 失败 SHOULD 触发受控 forced reconnect,而不是直接向业务代码抛出生命周期错误
  • attach 协商得到的 capability 集 MUST 进入 attempt 事实,以便审计、排障与恢复判断
  • 同一 Session MAY 在一个 attempt 内先后绑定多个 RuntimeConnection;只有最新 owner MUST 被视为有效连接
  • reconnect MUST NOT 在同一 attempt 内修改既有 sdkCapabilitySnapshot;如能力集已不兼容,平台 MUST 拒绝恢复并交由 orchestrator 创建新 attempt 或失败
  • 读面 SHOULD 暴露 RuntimeConnection 资源查询,以支持按 run、attempt、session 和 id 复盘 owner 切换与 heartbeat 事实

白皮书与规范内容以仓库真源为准。