Canvas extensibility parity: Python, Go, .NET, Java
- Lenguaje dominante
- Java
- Estrellas
- 10.5k
- Forks
- 1.5k
- Merge medio
- 1 d 11 h
- PR fusionados (30 d)
- 128
Descripción
PR #1372 adds canvas extensibility (`Canvas` / `createCanvas`, `SessionConfig.canvases`, `requestCanvasRenderer`, `requestExtensions`, and `ResumeSessionConfig.openCanvasInstances`, plus the `session.canvas.*` lifecycle events and `hostExtension.invoke` RPC dispatch) to the Node and Rust SDKs only.
Once the wire contract has stabilized through real usage by the immediate consumers (Copilot CLI runtime, Tauri app, canvas v1 testing extension), the same surface needs to be brought to the remaining SDKs for parity:
- [ ] Python (`python/copilot/`): `canvases`, `request_canvas_renderer`, `request_extensions`, `open_canvas_instances`, plus `Canvas` / `create_canvas` factory
- [ ] Go (`go/`): `Canvases`, `RequestCanvasRenderer`, `RequestExtensions`, `OpenCanvasInstances`, plus `Canvas` / `CreateCanvas`
- [ ] .NET (`dotnet/src/`): `Canvases`, `RequestCanvasRenderer`, `RequestExtensions`, `OpenCanvasInstances`, plus `Canvas` / `CreateCanvas`
- [ ] Java (`java/src/`): equivalent surface following Java naming conventions
The Node implementation in PR #1372 is the canonical reference. Treat the Rust diff there as a co-canonical spec where the TypeScript schema is ambiguous.
Guía de contribución
Evaluación
Este issue todavía no se ha evaluado.