Skip to content
Open
Show file tree
Hide file tree
Changes from 18 commits
Commits
Show all changes
22 commits
Select commit Hold shift + click to select a range
b6ab0b8
Phase A: renames (get_messages, disable_resume, destroy)
SteveSandersonMS May 21, 2026
6b0cdf3
Phase B: MCP tools tri-state Option<Vec<String>>
SteveSandersonMS May 21, 2026
9437696
Phase C: drop LogLevel::Info default
SteveSandersonMS May 21, 2026
56ec07a
Phase F: InputOptions -> UiInputOptions
SteveSandersonMS May 21, 2026
ca26819
Phase D: connection consolidation
SteveSandersonMS May 21, 2026
20a379b
Phase H + I: multi-client broadcast gating + permission-policy ordering
SteveSandersonMS May 21, 2026
f0fc862
Phase K: docs, examples, scenarios
SteveSandersonMS May 21, 2026
f1b974e
Cross-SDK: derive requestPermission from handler presence on session.…
SteveSandersonMS May 21, 2026
455a17b
Phase H redo (lib): five optional handler traits + wire-struct split
SteveSandersonMS May 21, 2026
03eef9d
Phase H redo: migrate tests, examples, and scenarios to per-trait han…
SteveSandersonMS May 21, 2026
1269576
Phase H redo: fix lingering subscription.rs doc reference to removed …
SteveSandersonMS May 21, 2026
6edae3d
fmt: apply nightly rustfmt with grouped imports config
SteveSandersonMS May 21, 2026
ce39cc7
Fix rustdoc broken intra-doc link in permission.rs and redundant link…
SteveSandersonMS May 21, 2026
bb0079f
Phase H redo cleanup: drop dead request_* fields from public configs
SteveSandersonMS May 21, 2026
1c6ebdc
Fix mcp-servers scenario for new Option<Vec<String>> tools field
SteveSandersonMS May 21, 2026
387fdcd
Drop redundant explicit link target in types.rs ElicitationHandler doc
SteveSandersonMS May 21, 2026
94ea635
Fix triple-encoded mojibake in session_test.rs comments
SteveSandersonMS May 21, 2026
63871a5
Drop removed request_user_input assignment in user-input scenario
SteveSandersonMS May 21, 2026
0230a88
Unify tool registration: Tool::with_handler + with_tools (drop with_t…
SteveSandersonMS May 21, 2026
ed9eedf
Rename with_transform to with_system_message_transform; rename transf…
SteveSandersonMS May 21, 2026
97dc4fb
Drop redundant with_tools(declaration-only) calls in multi_client tests
SteveSandersonMS May 21, 2026
bc508db
Fix README elicitation example to use ElicitationRequest (not Elicita…
SteveSandersonMS May 21, 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 @@ -594,7 +594,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 @@ -752,7 +752,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 @@ -665,7 +665,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 @@ -839,7 +841,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 @@ -830,7 +830,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 @@ -1493,8 +1493,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 @@ -1888,8 +1888,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