Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
Show all changes
23 commits
Select commit Hold shift + click to select a range
015cab1
Phase A: renames (get_messages, disable_resume, destroy)
SteveSandersonMS May 21, 2026
8efd9fa
Phase B: MCP tools tri-state Option<Vec<String>>
SteveSandersonMS May 21, 2026
ed6427f
Phase C: drop LogLevel::Info default
SteveSandersonMS May 21, 2026
f93da27
Phase F: InputOptions -> UiInputOptions
SteveSandersonMS May 21, 2026
f231032
Phase D: connection consolidation
SteveSandersonMS May 21, 2026
7846ec8
Phase H + I: multi-client broadcast gating + permission-policy ordering
SteveSandersonMS May 21, 2026
9603e68
Phase K: docs, examples, scenarios
SteveSandersonMS May 21, 2026
7e3ec43
Cross-SDK: derive requestPermission from handler presence on session.…
SteveSandersonMS May 21, 2026
170de2c
Phase H redo (lib): five optional handler traits + wire-struct split
SteveSandersonMS May 21, 2026
8bf0b5d
Phase H redo: migrate tests, examples, and scenarios to per-trait han…
SteveSandersonMS May 21, 2026
01b86be
Phase H redo: fix lingering subscription.rs doc reference to removed …
SteveSandersonMS May 21, 2026
e8d5045
fmt: apply nightly rustfmt with grouped imports config
SteveSandersonMS May 21, 2026
626bf34
Fix rustdoc broken intra-doc link in permission.rs and redundant link…
SteveSandersonMS May 21, 2026
91368f3
Phase H redo cleanup: drop dead request_* fields from public configs
SteveSandersonMS May 21, 2026
0041faa
Fix mcp-servers scenario for new Option<Vec<String>> tools field
SteveSandersonMS May 21, 2026
8f5c675
Drop redundant explicit link target in types.rs ElicitationHandler doc
SteveSandersonMS May 21, 2026
d8d58f4
Fix triple-encoded mojibake in session_test.rs comments
SteveSandersonMS May 21, 2026
d13cfdb
Drop removed request_user_input assignment in user-input scenario
SteveSandersonMS May 21, 2026
b18cafb
Unify tool registration: Tool::with_handler + with_tools (drop with_t…
SteveSandersonMS May 21, 2026
75f0738
Rename with_transform to with_system_message_transform; rename transf…
SteveSandersonMS May 21, 2026
5272bc6
Drop redundant with_tools(declaration-only) calls in multi_client tests
SteveSandersonMS May 21, 2026
b09ffcd
Fix README elicitation example to use ElicitationRequest (not Elicita…
SteveSandersonMS May 21, 2026
e8048a7
Adapt pre_mcp_tool_call_hook test to Option<Vec<String>> tools field
SteveSandersonMS May 22, 2026
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
2 changes: 1 addition & 1 deletion docs/features/remote-sessions.md
Original file line number Diff line number Diff line change
Expand Up @@ -100,7 +100,7 @@ session.On((SessionEvent e) =>
use github_copilot_sdk::{Client, ClientOptions, PermissionRequestResult, SessionConfig};

let client = Client::start(
ClientOptions::new().with_remote(true)
ClientOptions::new().with_enable_remote_sessions(true)
).await?;
let session = client.create_session(
SessionConfig::new("/path/to/github-repo")
Expand Down
4 changes: 2 additions & 2 deletions dotnet/src/Client.cs
Original file line number Diff line number Diff line change
Expand Up @@ -595,7 +595,7 @@ public async Task<CopilotSession> CreateSessionAsync(SessionConfig config, Cance
config.ExcludedTools,
config.Provider,
config.EnableSessionTelemetry,
(bool?)true,
config.OnPermissionRequest != null ? true : null,
config.OnUserInputRequest != null ? true : null,
config.OnExitPlanModeRequest != null ? true : null,
config.OnAutoModeSwitchRequest != null ? true : null,
Expand Down Expand Up @@ -754,7 +754,7 @@ public async Task<CopilotSession> ResumeSessionAsync(string sessionId, ResumeSes
config.ExcludedTools,
config.Provider,
config.EnableSessionTelemetry,
(bool?)true,
config.OnPermissionRequest != null ? true : null,
config.OnUserInputRequest != null ? true : null,
config.OnExitPlanModeRequest != null ? true : null,
config.OnAutoModeSwitchRequest != null ? true : null,
Expand Down
8 changes: 6 additions & 2 deletions go/client.go
Original file line number Diff line number Diff line change
Expand Up @@ -666,7 +666,9 @@ func (c *Client) CreateSession(ctx context.Context, config *SessionConfig) (*Ses
config.Hooks.OnErrorOccurred != nil) {
req.Hooks = Bool(true)
}
req.RequestPermission = Bool(true)
if config.OnPermissionRequest != nil {
req.RequestPermission = Bool(true)
}

traceparent, tracestate := getTraceContext(ctx)
req.Traceparent = traceparent
Expand Down Expand Up @@ -841,7 +843,9 @@ func (c *Client) ResumeSessionWithOptions(ctx context.Context, sessionID string,
req.InfiniteSessions = config.InfiniteSessions
req.GitHubToken = config.GitHubToken
req.RemoteSession = config.RemoteSession
req.RequestPermission = Bool(true)
if config.OnPermissionRequest != nil {
req.RequestPermission = Bool(true)
}

if len(config.Commands) > 0 {
cmds := make([]wireCommand, 0, len(config.Commands))
Expand Down
2 changes: 1 addition & 1 deletion nodejs/src/client.ts
Original file line number Diff line number Diff line change
Expand Up @@ -863,7 +863,7 @@ export class CopilotClient {
provider: config.provider,
enableSessionTelemetry: config.enableSessionTelemetry,
modelCapabilities: config.modelCapabilities,
requestPermission: true,
requestPermission: !!config.onPermissionRequest,
requestUserInput: !!config.onUserInputRequest,
requestElicitation: !!config.onElicitationRequest,
requestExitPlanMode: !!config.onExitPlanModeRequest,
Expand Down
8 changes: 4 additions & 4 deletions python/copilot/client.py
Original file line number Diff line number Diff line change
Expand Up @@ -1509,8 +1509,8 @@ async def create_session(
if excluded_tools is not None:
payload["excludedTools"] = excluded_tools

# Always enable permission request callback
payload["requestPermission"] = True
# Enable permission request callback if handler provided
payload["requestPermission"] = bool(on_permission_request)

# Enable user input request callback if handler provided
if on_user_input_request:
Expand Down Expand Up @@ -1904,8 +1904,8 @@ async def resume_session(
else True
)

# Always enable permission request callback
payload["requestPermission"] = True
# Enable permission request callback if handler provided
payload["requestPermission"] = bool(on_permission_request)

if on_user_input_request:
payload["requestUserInput"] = True
Expand Down
Loading
Loading