Copilot SDK Go v1.0.0-beta.7: Canvas Runtime Support

Go SDK now supports canvas runtime. Declare canvases on session config, install a handler, and dispatch open/close/action events. Extension identity metadata exposed. Breaking: per-action handlers required, toolbar/focus/reload removed.

Copilot SDK Go v1.0.0-beta.7: Canvas Runtime Support

TL;DR

  • Canvas runtime support added to Go SDK — declare canvases, handle open/close/action events
  • Extension identity metadata now exposed via ExtensionInfo on session config
  • Canvas resume durability: OpenCanvases snapshot surfaces on session.resume()
  • Breaking: canvas action handlers now required per-action, no top-level fallback

New

  • Canvas runtime surface — Mirrors Rust SDK design. Declare CanvasDeclaration on SessionConfig, install CanvasHandler, SDK dispatches inbound canvas.open/close/canvas.action.invoke JSON-RPC to your handler.
  • ExtensionInfo on session config — Expose stable extension identity metadata. Forwarded on wire for canvas providers.
  • OpenCanvases snapshot — Session.OpenCanvases() surfaces the openCanvases state from session.resume response. ResumeSessionConfig.OpenCanvases lets you pre-populate canvas state on resume.
  • Canvas provider RPC tracing — Added observability for canvas provider request dispatch.
  • CanvasHandler interface — Implement OnOpen, OnAction, OnClose methods. SDK routes inbound RPC calls directly to your handler.

Breaking Changes

  • Canvas action handlers are now required — Each CanvasAction must define its own handler. No top-level onAction fallback. Actions without handlers trigger canvas_action_no_handler error.
  • Canvas toolbar and focus/reload removed — SessionCanvas.focus() and SessionCanvas.reload() host APIs dropped. Re-opening with the same instanceId now drives focus via session.canvas.opened { reopen: true }. Reload is renderer-only.
  • agentActions renamed to actions — CanvasDeclaration and DiscoveredCanvas now use actions field instead of agentActions.
  • Canvas tools field removed — CanvasOpenResponse.tools and OpenCanvasInstance.tools dropped from wire contract.

Update: go get github.com/github/copilot-sdk/go@v1.0.0-beta.7

Source: Copilot SDK