You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
I've reviewed PR #731 for cross-SDK consistency across all four language implementations (Node.js/TypeScript, Python, Go, and .NET).
Summary: Excellent consistency maintained ✨
This PR successfully adds the blob attachment type to all four SDKs with proper feature parity:
Type Definitions ✅
Node.js/TypeScript: Manual type added to MessageOptions.attachments union in nodejs/src/types.ts + generated types updated
Python: BlobAttachment TypedDict added to python/copilot/types.py and properly exported in __init__.py + generated types updated
Go: Uses generated Attachment struct from generated_session_events.go with Blob AttachmentType constant
.NET: UserMessageDataAttachmentsItemBlob class generated in dotnet/src/Generated/SessionEvents.cs
API Consistency ✅
All SDKs expose the same three required/optional fields with appropriate naming conventions:
Field
Node/Python
Go
.NET
Required
data
data
Data
Data
✅
mimeType
mimeType
MIMEType
MimeType
✅
displayName
displayName
DisplayName
DisplayName
Optional
Documentation ✅
Comprehensive examples added to all four language READMEs
Detailed feature documentation in docs/features/image-input.md with side-by-side examples
Updated docs/features/streaming-events.md to mention blob attachments
Test scenario documentation updated in test/scenarios/prompts/attachments/README.md
No consistency issues found 🎉
The implementation properly accounts for language idioms (camelCase in TS/Python dict keys, PascalCase in Go/C# public APIs) while maintaining semantic equivalence across all SDKs.
Activity