@@ -859,6 +859,16 @@ type LargeToolOutputConfig struct {
859859 OutputDirectory string `json:"outputDir,omitempty"`
860860}
861861
862+ // ContextTier identifies a context window tier for models that support tiered context windows.
863+ type ContextTier string
864+
865+ const (
866+ // ContextTierDefault is the default context tier with standard context window size.
867+ ContextTierDefault ContextTier = "default"
868+ // ContextTierLongContext is the extended context tier with a larger context window.
869+ ContextTierLongContext ContextTier = "long_context"
870+ )
871+
862872// SessionFsCapabilities declares optional provider capabilities.
863873type SessionFsCapabilities struct {
864874 // Sqlite indicates whether the provider supports SQLite query/exists operations.
@@ -895,8 +905,8 @@ type SessionConfig struct {
895905 // Use ReasoningSummaryNone to suppress summary output regardless of whether reasoning is enabled.
896906 ReasoningSummary ReasoningSummary
897907 // ContextTier pins the session to a context window tier for models that support it.
898- // Valid values: "default", "long_context" .
899- ContextTier string
908+ // Use ContextTierDefault or ContextTierLongContext for the currently known tiers .
909+ ContextTier ContextTier
900910 // ConfigDirectory overrides the default configuration directory location.
901911 // When specified, the session will use this directory for storing config and state.
902912 ConfigDirectory string
@@ -1298,8 +1308,8 @@ type ResumeSessionConfig struct {
12981308 // Use ReasoningSummaryNone to suppress summary output regardless of whether reasoning is enabled.
12991309 ReasoningSummary ReasoningSummary
13001310 // ContextTier pins the session to a context window tier for models that support it.
1301- // Valid values: "default", "long_context" .
1302- ContextTier string
1311+ // Use ContextTierDefault or ContextTierLongContext for the currently known tiers .
1312+ ContextTier ContextTier
13031313 // OnPermissionRequest is an optional handler for permission requests from the server.
13041314 // When nil, permission requests are surfaced as events and left pending for the
13051315 // consumer to resolve via pending permission RPCs.
@@ -1660,7 +1670,7 @@ type createSessionRequest struct {
16601670 ClientName string `json:"clientName,omitempty"`
16611671 ReasoningEffort string `json:"reasoningEffort,omitempty"`
16621672 ReasoningSummary ReasoningSummary `json:"reasoningSummary,omitempty"`
1663- ContextTier string `json:"contextTier,omitempty"`
1673+ ContextTier ContextTier `json:"contextTier,omitempty"`
16641674 Tools []Tool `json:"tools,omitempty"`
16651675 SystemMessage * SystemMessageConfig `json:"systemMessage,omitempty"`
16661676 AvailableTools []string `json:"availableTools"`
@@ -1738,7 +1748,7 @@ type resumeSessionRequest struct {
17381748 Model string `json:"model,omitempty"`
17391749 ReasoningEffort string `json:"reasoningEffort,omitempty"`
17401750 ReasoningSummary ReasoningSummary `json:"reasoningSummary,omitempty"`
1741- ContextTier string `json:"contextTier,omitempty"`
1751+ ContextTier ContextTier `json:"contextTier,omitempty"`
17421752 Tools []Tool `json:"tools,omitempty"`
17431753 SystemMessage * SystemMessageConfig `json:"systemMessage,omitempty"`
17441754 AvailableTools []string `json:"availableTools"`
0 commit comments