Skip to content
Permalink

Comparing changes

Choose two branches to see what’s changed or to start a new pull request. If you need to, you can also or learn more about diff comparisons.

Open a pull request

Create a new pull request by comparing changes across two branches. If you need to, you can also . Learn more about diff comparisons here.
base repository: github/copilot-sdk
Failed to load repositories. Confirm that selected base ref is valid, then try again.
Loading
base: main
Choose a base ref
...
head repository: icode4fuud/copilot-sdk
Failed to load repositories. Confirm that selected head ref is valid, then try again.
Loading
compare: main
Choose a head ref
Checking mergeability… Don’t worry, you can still create the pull request.
  • 1 commit
  • 29 files changed
  • 1 contributor

Commits on Jan 23, 2026

  1. feat: Infinite Sessions (#76)

    * feat(nodejs): add infinite sessions configuration
    
    - Add InfiniteSessionConfig type with thresholds
    - Add infiniteSessions option to SessionConfig
    - Expose workspacePath on CopilotSession
    - Pass config to server and capture workspace path in create/resume
    
    * feat(python): add infinite sessions configuration
    
    - Add InfiniteSessionConfig TypedDict with thresholds
    - Add infinite_sessions option to SessionConfig
    - Expose workspace_path property on CopilotSession
    - Convert snake_case to camelCase for wire format
    
    * feat(go): add infinite sessions configuration
    
    - Add InfiniteSessionConfig struct with pointer fields for optional values
    - Add InfiniteSessions field to SessionConfig
    - Add WorkspacePath() method to Session
    - Pass config in CreateSession and capture path in create/resume
    
    * feat(dotnet): add infinite sessions configuration
    
    - Add InfiniteSessionConfig class with threshold properties
    - Add InfiniteSessions property to SessionConfig
    - Add WorkspacePath property to CopilotSession
    - Pass config in CreateSessionAsync and capture path in create/resume
    
    * docs: document infinite sessions feature in all SDKs
    
    - Add InfiniteSessionConfig documentation to SessionConfig options
    - Document workspacePath property on CopilotSession
    - Add Infinite Sessions section with examples for each SDK
    - Document compaction events
    
    * docs: fix missing copilot. prefix in Go README example
    
    * fix: wrap long line in Python docstring
    
    * chore: remove accidentally committed node_modules, add .gitignore
    
    * test(nodejs): add e2e tests for compaction and usage events
    
    - Test compaction triggers with low thresholds (0.5%/1%)
    - Test session.usage_info events show token limits
    - Test assistant.usage events
    - Test no compaction events when infinite sessions disabled
    
    * test: skip compaction trigger test in CI
    
    The compaction trigger test requires real API calls to get realistic
    token counts. The replay proxy doesn't provide the token usage data
    needed for the CLI to trigger compaction.
    
    * fix(dotnet): fix syntax errors from merge conflict resolution
    
    * test: remove usage event tests (not part of this PR)
    
    * test: enable compaction test in CI
    
    * fix(dotnet): change records to internal for JSON serializer
    
    * test: skip compaction trigger test in CI until CLI is released
    
    The test requires a CLI build with infinite sessions support.
    Run locally with COPILOT_CLI_PATH pointing to a local CLI build.
    
    * test: revert skip - will update after CLI release
    
    * test: add compaction e2e tests for all SDK flavors
    
    Add e2e tests for context compaction to Go, Python, and .NET SDKs:
    - Test that compaction triggers with low thresholds and emits events
    - Test that no compaction events occur when infinite sessions disabled
    - Verify session still works after compaction (context preserved via summary)
    
    These tests mirror the existing Node.js compaction tests.
    
    * fix: use %v format for float64 tokensRemoved in Go test
    
    * chore: update @github/copilot CLI to 0.0.394
    
    Updates CLI dependency for Node.js SDK and shared test harness
    to support protocol version 2 (infinite sessions).
    
    * style: format compaction tests for all SDKs
    
    * fix: use dict instead of Dict in Python SDK
    
    * fix: correct SessionEventType import in Python compaction test
    
    * feat(go): add Float64 helper function for pointer values
    
    * test: skip .NET compaction tests due to Windows CI proxy timing issues
    
    The compaction tests require the shared test harness proxy, which has
    timing issues on Windows CI causing TimeoutException during fixture
    initialization. Tests pass on macOS and Ubuntu.
    
    * test: remove .NET compaction tests causing Windows CI fixture issues
    
    The CompactionTests class was causing the E2ETestFixture to fail
    initialization on Windows, which cascaded to other test classes.
    Removing the tests to unblock CI - the compaction feature is still
    tested via Node.js, Go, and Python SDKs.
    
    * Revert "test: remove .NET compaction tests causing Windows CI fixture issues"
    
    This reverts commit bc261a3.
    
    * test: enable .NET compaction tests (remove Skip attributes)
    
    Tests pass locally on macOS and the proxy timeout issue appears to be
    unrelated to these specific tests. The ToolsTests fixture timeout
    that was seen in CI is a pre-existing flaky issue on Windows.
    
    * fix: increase proxy timeout to 30s on Windows
    
    Windows CI has slower process startup times, especially when multiple
    test classes initialize their fixtures in parallel. Increase the proxy
    startup timeout from 10s to 30s on Windows to reduce flakiness.
    jmoseley committed Jan 23, 2026
    Configuration menu
    Copy the full SHA
    97b128a View commit details
    Browse the repository at this point in the history
Loading