Conversation
Implement all parity gaps (Gaps 1-14) for complete feature parity with the official Copilot SDK .NET reference (v0.1.23+). Hooks System: - 6 hook types: PreToolUse, PostToolUse, UserPromptSubmitted, SessionStart, SessionEnd, ErrorOccurred - SessionHooks config with handler registration - hooks.invoke RPC handler wired into session create/resume User Input Handler: - UserInputRequest/Response/Invocation types - userInput.request RPC handler for ask_user tool support Reasoning Effort: - reasoning_effort on SessionConfig and ResumeSessionConfig - Model capability fields (supported_reasoning_efforts, default_reasoning_effort) New Event Types: - session.shutdown (ShutdownType, CodeChanges, metrics) - session.snapshot_rewind (upToEventId, eventsRemoved) - skill.invoked (name, path, content, allowedTools) Extended Event Fields: - SessionError: statusCode, providerCallId - CompactionComplete: checkpointNumber, checkpointPath - AssistantMessage: reasoningOpaque, reasoningText, encryptedContent - AssistantUsage: parentToolCallId - ToolExecutionStart: mcpServerName - ToolExecutionComplete: detailedContent Additional Features: - Client auth options (github_token, use_logged_in_user) with validation - list_models caching with mutex + cache clear on disconnect - ResumeSessionConfig full parity with SessionConfig - Selection attachment type with start/end positions - Session lifecycle event types - Subagent wire format fix (subagent.* + legacy custom_agent.*) - 4 missing event types (compaction start/complete, usage info, tool progress) - ModelVisionLimits + GetModelsResponse wrapper Examples (3 new): - hooks.cpp: all 6 hook types with interactive chat - user_input.cpp: choice-based and freeform input handling - reasoning_effort.cpp: model capability query + effort config Tests: 215 unit + 60 E2E (275 total, 0 failures, 16 BYOK-skipped)
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
Full feature parity with official Copilot SDK .NET reference (v0.1.23+). 14 parity gaps implemented: hooks (6 types), user input handler, reasoning effort, 3 new events, extended fields, auth options, models caching, selection attachments, lifecycle events, resume config parity. 275 tests (0 failures). 3 new examples.