Skip to content

Conversation

@devm33
Copy link
Member

@devm33 devm33 commented Jan 15, 2026

Enables setting an isolated configuration per session. Added to all SDKs.

@devm33 devm33 requested a review from a team as a code owner January 15, 2026 14:57
Copilot AI review requested due to automatic review settings January 15, 2026 14:57
Copy link

Copilot AI left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Pull request overview

This PR adds support for a custom configuration directory (config_dir/configDir) option to session creation across all four SDKs (Python, Node.js, Go, and .NET). This enables users to isolate session configuration and state in a custom directory location instead of using the default.

Changes:

  • Added config_dir/configDir field to session configuration types in all SDKs
  • Updated session creation logic to pass the config directory to the underlying session.create RPC call
  • Added E2E tests for all four SDKs to verify sessions work correctly with custom config directories
  • Added snapshot file for the new test case

Reviewed changes

Copilot reviewed 13 out of 13 changed files in this pull request and generated no comments.

Show a summary per file
File Description
test/snapshots/session/should_create_session_with_custom_config_dir.yaml Snapshot file for the new test case verifying session creation with custom config directory
python/e2e/test_session.py Added E2E test to verify session creation with custom config directory in Python SDK
python/copilot/types.py Added config_dir field to SessionConfig type with documentation
python/copilot/client.py Added logic to pass config_dir to session.create RPC call
nodejs/test/e2e/session.test.ts Added E2E test to verify session creation with custom config directory in Node.js SDK
nodejs/src/types.ts Added configDir field to SessionConfig interface with JSDoc documentation
nodejs/src/client.ts Added logic to pass configDir to session.create RPC call
go/types.go Added ConfigDir field to SessionConfig struct with documentation
go/e2e/session_test.go Added E2E test to verify session creation with custom config directory in Go SDK
go/client.go Added logic to pass configDir to session.create RPC call
dotnet/test/SessionTests.cs Added E2E test to verify session creation with custom config directory in .NET SDK
dotnet/src/Types.cs Added ConfigDir property to SessionConfig class with XML documentation
dotnet/src/Client.cs Added ConfigDir parameter to CreateSessionRequest record and updated session creation logic

💡 Add Copilot custom instructions for smarter, more guided reviews. Learn how to get started.

friggeri
friggeri previously approved these changes Jan 15, 2026
[Fact]
public async Task Should_Create_Session_With_Custom_Config_Dir()
{
var customConfigDir = Path.Combine(Ctx.HomeDir, "custom-config");
criemen
criemen previously approved these changes Jan 15, 2026
Copy link

@criemen criemen left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

stamping for merge conflict resolution

Assert.Matches(@"^[a-f0-9-]+$", session.SessionId);

// Verify config.json was written to the custom config dir
var configPath = Path.Combine(customConfigDir, "github-copilot", "config.json");
@friggeri
Copy link
Collaborator

@devm33 You've got some CI failures here

@devm33
Copy link
Member Author

devm33 commented Jan 16, 2026

@devm33 You've got some CI failures here

Yes this is blocked by a change in the runtime to fix connecting the config dir setting

@devm33 devm33 marked this pull request as draft January 16, 2026 21:58
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

4 participants