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
Config parity across SDKs: add largeOutput, pluginDirectories, spell out Directory (#1482)
* Config parity across SDKs: add largeOutput, pluginDirectories, spell out directory
Bring the six language SDKs (.NET, Node, Python, Go, Java, Rust) into closer
alignment on session-configuration surface area:
- Expose `largeOutput` / `LargeToolOutputConfig` on session create and
resume in every SDK so callers can configure the CLI's large tool-output
handling (enabled, maxSizeBytes, outputDirectory). Wire field stays
`largeOutput.outputDir` for compatibility with the runtime.
- Expose `pluginDirectories` on session create and resume in every SDK,
documented as an explicit opt-in that loads plugin agents and rules even
when `enableConfigDiscovery` is false. Defaults to null/none, which is
the safe choice for multi-tenant hosts.
- Spell out `Dir` -> `Directory` in public APIs for consistency with
the rest of Types.cs (e.g. SkillDirectories, InstructionDirectories):
`configDir` -> `configDirectory`, `outputDir` -> `outputDirectory`.
The wire JSON names (`configDir`, `outputDir`) are preserved via
language-specific serializer annotations, so this is a source-only rename.
- Node SDK also re-exports `ReasoningSummary` and adds `reasoningSummary`
support on resume, matching what the other SDKs already had.
Notes for reviewers:
- `args`/`toolArgs`/`modifiedArgs` are intentionally left abbreviated,
matching the wire field names and the shell/process/CLI argument idiom
used elsewhere (RuntimeConnection, MCP stdio, hook inputs).
- New unit tests cover serialization (wire field stays `outputDir` /
`configDir`), clone semantics for the new fields, and round-trips
through CreateSessionRequest / ResumeSessionConfig in every SDK.
Co-authored-by: Copilot <223556219+Copilot@users.noreply.github.com>
* Fix CI: formatters and linters across SDKs
- python: ruff isort fix (separate aliased import)
- nodejs: prettier format on test/client.test.ts
- go: gofmt alignment in client_test.go and session_e2e_test.go
- rust: clippy field_reassign_with_default fix in types.rs test
- java: spotless:apply across 10 files (line wrap, javadoc multi-line)
Co-authored-by: Copilot <223556219+Copilot@users.noreply.github.com>
* Go: type MaxSizeBytes as *int64 to match other SDKs
Reviewer flagged that `*int` is architecture-dependent and narrower than the u64/long/Long used in the other SDKs. Switch to `*int64` (matches Java `Long` and .NET `long?`) and update the test literal cast.
Co-authored-by: Copilot <223556219+Copilot@users.noreply.github.com>
---------
Co-authored-by: Copilot <223556219+Copilot@users.noreply.github.com>
0 commit comments