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
feat: add granular per-session flags for multitenancy hardening (#1474)
* feat: add granular per-session flags for multitenancy hardening
Add 7 new optional fields to SessionConfigBase across all 6 SDK languages
(Node.js, Go, Python, .NET, Rust, Java):
- skipEmbeddingRetrieval: prevent cross-session info leakage via embedding cache
- organizationCustomInstructions: inject org-level instructions into system prompt
- enableOnDemandInstructionDiscovery: control instruction file discovery after file views
- enableFileHooks: control loading of file-based hooks from .github/hooks/
- enableHostGitOperations: control git operations on host filesystem
- enableSessionStore: control cross-session store for search/retrieval
- enableSkills: control skill loading (builtin + discovered)
All fields are optional and pass through to the runtime without SDK-side
default coercion. Empty mode applies restrictive defaults for multitenancy.
Co-authored-by: Copilot <223556219+Copilot@users.noreply.github.com>
* address PR review feedback
- Go: change OrganizationCustomInstructions to *string for cross-SDK consistency
- Go: clarify *bool field docs (nil = runtime default, non-nil = forwarded)
- Rust: redact organization_custom_instructions in Debug impls
- Node.js: clarify JSDoc defaults apply only in empty mode
- Python: replace unused imports with parametrized tests
Co-authored-by: Copilot <223556219+Copilot@users.noreply.github.com>
* feat: add embeddingCacheStorage per-session option across all SDKs
Adds embeddingCacheStorage field ("persistent" | "in-memory") to session
create and resume across all 6 SDKs. In empty mode, defaults to "in-memory"
for multitenant isolation. Companion to runtime PR #8388.
Co-authored-by: Copilot <223556219+Copilot@users.noreply.github.com>
* fix: apply formatting, convert EmbeddingCacheStorage to enum in .NET, improve tests
- Run formatters across all SDKs (prettier, gofmt, ruff, cargo fmt, spotless, dotnet format)
- Convert EmbeddingCacheStorage from string to EmbeddingCacheStorageMode enum in .NET
- Rename test methods to avoid temporal wording
- Expand EnableFileHooks doc comment in Go ResumeSessionConfig
- Add embeddingCacheStorage test coverage in Go, Java
Co-authored-by: Copilot <223556219+Copilot@users.noreply.github.com>
* docs: remove runtime implementation details from property docs
Simplify doc comments across all SDKs to focus on user-facing behavior
rather than SDK-to-runtime interaction details. Removes boilerplate like
'When nil, the runtime default is used. When non-nil, the value is passed
through to the runtime.' in favor of concise, behavior-focused docs that
match the existing style of other properties.
Co-authored-by: Copilot <223556219+Copilot@users.noreply.github.com>
* test: rename Java test methods to remove temporal 'new' wording
Rename to use 'granularMultitenancyFields' instead of 'newSessionFields'
for consistency with .NET and Node.js test naming.
Co-authored-by: Copilot <223556219+Copilot@users.noreply.github.com>
* fix: resolve Python SDK test failures
Co-authored-by: Copilot <223556219+Copilot@users.noreply.github.com>
* fix: add missing Java empty-mode defaults for granular flags
The Cross-SDK Consistency Review identified that Java was only applying
embeddingCacheStorage and mcpOAuthTokenStorage in empty mode, but missing
the 6 boolean flags (skipEmbeddingRetrieval, enableOnDemandInstructionDiscovery,
enableFileHooks, enableHostGitOperations, enableSessionStore, enableSkills).
Also adds embeddingCacheStorage assertion to Node.js empty-mode test for
coverage parity with Go and .NET.
Co-authored-by: Copilot <223556219+Copilot@users.noreply.github.com>
* fix(rust): add embedding_cache_storage to Debug impls and builder API
Add the missing embedding_cache_storage field to:
- SessionConfig custom Debug impl
- ResumeSessionConfig custom Debug impl
- SessionConfig fluent builder (with_embedding_cache_storage)
- ResumeSessionConfig fluent builder (with_embedding_cache_storage)
Co-authored-by: Copilot <223556219+Copilot@users.noreply.github.com>
* fix: .NET empty-mode tests and Java enableConfigDiscovery docs
- Add BaseDirectory and AvailableTools to .NET empty-mode default tests
so they don't throw at client construction time
- Fix enableConfigDiscovery Javadoc in ResumeSessionConfig: use
Optional.empty() instead of null in @return, remove null from @param
(setter takes primitive boolean)
- Fix stale 'runtime default' wording in SessionConfig.java getter
Co-authored-by: Copilot <223556219+Copilot@users.noreply.github.com>
---------
Co-authored-by: Copilot <223556219+Copilot@users.noreply.github.com>
0 commit comments