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
Strongly type expAssignments session config across all SDKs (#2033)
* Strongly type expAssignments session config across all SDKs
Replace the opaque JSON typing of the internal `expAssignments`
session-config field with a strongly-typed `CopilotExpAssignmentResponse`
(plus `ExpConfigEntry`) in every SDK, mirroring the runtime contract.
Wire keys remain PascalCase (Features, Flights, Configs, Id, Parameters,
...), optional fields are omitted when null, and the field keeps its
internal/hidden posture in each language.
Co-authored-by: Copilot <223556219+Copilot@users.noreply.github.com>
Copilot-Session: 43d7a02b-08ff-4e7d-a8c0-afa6dfbe94b0
* Address review: normalize required exp-assignment fields
- Go: add MarshalJSON to CopilotExpAssignmentResponse/ExpConfigEntry so
nil Features/Flights/Configs/Parameters serialize as []/{} instead of
null, matching the Python/Rust/.NET reference behavior; add a test.
- Java: default AssignmentContext to "" so the required field is not
dropped by NON_NULL when unset.
- .NET: tighten ExpConfigEntry.Parameters value type from JsonNode? to
JsonValue? to constrain values to JSON scalars.
Co-authored-by: Copilot <223556219+Copilot@users.noreply.github.com>
Copilot-Session: 43d7a02b-08ff-4e7d-a8c0-afa6dfbe94b0
* Default ExpConfigEntry.Id to "" in Java
The Id field is required by the wire contract, but defaulting to null let
class-level NON_NULL drop the key for a zero-value entry. Default it to ""
so the required key is always emitted, matching the Go and .NET defaults.
Co-authored-by: Copilot <223556219+Copilot@users.noreply.github.com>
Copilot-Session: 43d7a02b-08ff-4e7d-a8c0-afa6dfbe94b0
* Fix stale "opaque JSON" comment in Python exp wiring
The expAssignments path now serializes a concrete CopilotExpAssignmentResponse,
so drop the outdated "opaque JSON" wording from the adjacent comments.
Co-authored-by: Copilot <223556219+Copilot@users.noreply.github.com>
Copilot-Session: 43d7a02b-08ff-4e7d-a8c0-afa6dfbe94b0
* Fix nightly rustfmt import grouping in types.rs tests
Move `use std::collections::HashMap;` into the std import block so
`cargo fmt --check` with the nightly group_imports config passes in CI.
Co-authored-by: Copilot <223556219+Copilot@users.noreply.github.com>
Copilot-Session: 43d7a02b-08ff-4e7d-a8c0-afa6dfbe94b0
---------
Co-authored-by: Copilot <223556219+Copilot@users.noreply.github.com>
0 commit comments