Skip to content

feat: add bidirectional sidecar control session - #25

Merged
chuntaojun merged 2 commits into
developfrom
codex/sidecar-service-session-v2
Aug 5, 2026
Merged

chuntaojun merged 2 commits into
developfrom
codex/sidecar-service-session-v2

Conversation

@chuntaojun

Copy link
Copy Markdown
Contributor

概要

  • 保留兼容的 OpenSession,并新增 OpenControlSession 双向流
  • 定义本地服务注册、注销和状态回执
  • 将 Thin SDK 兼容契约升级到 3.0.0,并覆盖 C++/C#

验证

  • go test ./...
  • cargo fmt --all -- --check
  • cargo test --all / cargo check --all
  • Node.js、Python、C# 测试
  • Java Docker Maven clean verify
  • C++ 使用 PR CI 固定工具链验证

本 PR 不创建 tag 或 GitHub Release。

Copilot AI lite review requested due to automatic review settings August 5, 2026 18:16

Copilot AI left a comment

Copy link
Copy Markdown

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Pull request overview

该 PR 在 Sidecar Session 协议中保留兼容的 OpenSession(server streaming),新增 OpenControlSession(双向 streaming)控制会话,并引入本地服务注册/注销及状态回执事件;同时将 Thin SDK 兼容契约升级到 3.0.0,补充文档与跨语言生成/契约测试更新。

Changes:

  • 在 bootstrap.proto 中新增 OpenControlSession 及 ClientEvent / LocalService* 消息与枚举,并同步到 Rust/Go 生成代码。
  • 将 Thin SDK sidecar compatibility contract 从 2.0.0 升级到 3.0.0,更新验证策略描述与 Go 契约测试断言。
  • 扩展 Thin SDK compatibility schema 的 sdk_language 枚举以覆盖 cpp 与 csharp,并更新兼容性文档说明。

Reviewed changes

Copilot reviewed 11 out of 12 changed files in this pull request and generated 2 comments.

Show a summary per file
File Description
thin-sdk/compatibility.schema.json 扩展 sdk_language 枚举以包含 cpp/csharp。
thin-sdk/compatibility.json 将 sidecar 契约版本升级到 3.0.0 并更新 verification policy 文案。
source/rust/pole-specification/src/pole.sidecar.v1.rs 同步生成 Rust API:新增控制会话与本地服务事件/状态类型。
source/rust/pole-specification/proto/bootstrap.proto Rust crate 内 proto 定义更新:新增 OpenControlSession 与本地服务事件。
api/v1/sidecar/bootstrap.proto 权威 proto 更新:新增控制会话与本地服务注册/注销/状态。
source/go/api/v1/sidecar/bootstrap.pb.go 同步生成 Go API:新增控制会话、事件消息与枚举。
source/go/thin_sdk_v2_contract_test.go 更新 bootstrap proto 契约断言以覆盖新增 RPC/消息字段。
source/go/thin_sdk_contract_test.go 更新 compatibility contract 版本断言为 3.0.0。
source/csharp/LatticeHub.Pole.Specification.Tests/GeneratedApiTests.cs 更新 C# 生成代码测试以覆盖新增方法 OpenControlSession。
COMPATIBILITY.md 文档补充:解释 3.0.0 会话兼容策略与 listener/注册语义。
context-kg/tasks/todo.md 记录 v3 控制会话任务清单与 review 要点。
Files not reviewed (1)
  • source/go/api/v1/sidecar/bootstrap.pb.go: Generated file

💡 Add Copilot custom instructions for smarter, more guided reviews. Learn how to get started.

Comment on lines 50 to +58
func TestSidecarBootstrapProtoContract(t *testing.T) {
content, err := os.ReadFile("../../api/v1/sidecar/bootstrap.proto")
if err != nil {
t.Fatalf("read bootstrap proto: %v", err)
}
text := string(content)
for _, required := range []string{
"rpc OpenSession(ClientHello) returns (stream SidecarEvent)",
"rpc OpenControlSession(stream ClientEvent) returns (stream SidecarEvent)",
Comment thread context-kg/tasks/todo.md Outdated
Comment on lines +214 to +215
- [x] 验证 Go、Rust、Node.js、Python、Java、C#
- [ ] 通过 PR C++ 固定工具链验证
@chuntaojun
chuntaojun merged commit 2642bc2 into develop Aug 5, 2026
14 checks passed
@chuntaojun
chuntaojun deleted the codex/sidecar-service-session-v2 branch September 26, 2026 06:45
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants