Canvas extensibility parity: Python, Go, .NET, Java
Nobody has claimed this yet.
Assessment
- Difficulty
- 4/5
- Estimated time
- 3-5 days
- Newbie friendliness
- 45/100
- Issue type
- Feature
- Clarity
- Mostly clear
- Activity status
- Quiet
- Domain
- api, developer-experience
Research direction
Start by reading PR #1372, using the Node implementation as the canonical reference and the Rust diff where the TypeScript schema is ambiguous. Compare the corresponding SDK entry points in python/copilot/, go/, dotnet/src/, and java/src/ before adding the listed canvas configuration, factory, and lifecycle surfaces with each language’s naming conventions. Done means all four SDK checklists provide parity with the stabilized contract.
Written by the indexing model from the issue text.
Description
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, plusCanvas/create_canvasfactory - Go (
go/):Canvases,RequestCanvasRenderer,RequestExtensions,OpenCanvasInstances, plusCanvas/CreateCanvas - .NET (
dotnet/src/):Canvases,RequestCanvasRenderer,RequestExtensions,OpenCanvasInstances, plusCanvas/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.
- Dominant language
- Java
- Stars
- 10.5k
- Forks
- 1.5k
- Avg merge
- 1d 9h
- Merged PRs (30d)
- 131
Contributor guide
First steps
- Read the whole issue, then the project's contributing guide.
- Comment on the issue to say you are picking it up — it saves two people doing the same work.
- Fork the repository and make your change on a branch.
- Open a pull request that references the issue number.
More from github/copilot-sdk
-
agentic-workflows
Difficulty 2/5 1-3 hours Newbie friendliness 68/100
github/copilot-sdk#2709 · 1 comment ·
-
Difficulty 1/5 Under an hour Newbie friendliness 78/100
github/copilot-sdk#2673 ·
-
bug testing
Difficulty 2/5 1-3 hours Newbie friendliness 75/100
github/copilot-sdk#2628 ·
-
agentic-workflows
Difficulty 2/5 1-3 hours Newbie friendliness 68/100
github/copilot-sdk#2627 · 1 comment ·
-
agentic-workflows
Difficulty 2/5 1-3 hours Newbie friendliness 74/100
github/copilot-sdk#2493 ·
All issues in github/copilot-sdk
Similar issues
-
Difficulty 2/5 1-3 hours Newbie friendliness 65/100
-
bug
Difficulty 2/5 1-3 hours Newbie friendliness 75/100
-
Difficulty 2/5 1-3 hours Newbie friendliness 75/100
elastic/gradle-plugins#157 ·
-
Difficulty 2/5 1-3 hours Newbie friendliness 75/100
cryptomator/hub#497 ·
-
Difficulty 2/5 1-3 hours Newbie friendliness 75/100
johanhaleby/occurrent#1120 ·