Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
2 changes: 2 additions & 0 deletions CHANGELOG.md
Original file line number Diff line number Diff line change
Expand Up @@ -25,6 +25,8 @@ changes accumulate. Track in-flight protocol changes via PRs touching

### Added

- `SessionModelInfo.maxOutputTokens` and `SessionModelInfo.maxPromptTokens`
optional fields for communicating model token limits.
- `SessionSummary._meta` optional provider metadata field for lightweight
session-list presentation hints.

Expand Down
2 changes: 2 additions & 0 deletions clients/go/CHANGELOG.md
Original file line number Diff line number Diff line change
Expand Up @@ -16,6 +16,8 @@ tag whose matching `## [X.Y.Z]` heading is missing from this file.

### Added

- `SessionModelInfo.MaxOutputTokens` and `SessionModelInfo.MaxPromptTokens`
optional fields for communicating model token limits.
- `SessionSummary.Meta` (wire `_meta`) optional provider metadata field for
lightweight session-list presentation hints.

Expand Down
4 changes: 4 additions & 0 deletions clients/go/ahptypes/state.generated.go
Original file line number Diff line number Diff line change
Expand Up @@ -539,6 +539,10 @@ type SessionModelInfo struct {
Name string `json:"name"`
// Maximum context window size
MaxContextWindow *int64 `json:"maxContextWindow,omitempty"`
// Maximum number of output tokens the model can generate
MaxOutputTokens *int64 `json:"maxOutputTokens,omitempty"`
// Maximum number of prompt (input) tokens the model accepts
MaxPromptTokens *int64 `json:"maxPromptTokens,omitempty"`
// Whether the model supports vision
SupportsVision *bool `json:"supportsVision,omitempty"`
// Policy configuration state
Expand Down
2 changes: 2 additions & 0 deletions clients/kotlin/CHANGELOG.md
Original file line number Diff line number Diff line change
Expand Up @@ -17,6 +17,8 @@ versions (`*-SNAPSHOT`) are explicitly rejected by the publish pipeline; bump

### Added

- `SessionModelInfo.maxOutputTokens` and `SessionModelInfo.maxPromptTokens`
optional fields for communicating model token limits.
- `SessionSummary.meta` (`_meta` on the wire) optional provider metadata field
for lightweight session-list presentation hints.

Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -894,6 +894,14 @@ data class SessionModelInfo(
* Maximum context window size
*/
val maxContextWindow: Long? = null,
/**
* Maximum number of output tokens the model can generate
*/
val maxOutputTokens: Long? = null,
/**
* Maximum number of prompt (input) tokens the model accepts
*/
val maxPromptTokens: Long? = null,
/**
* Whether the model supports vision
*/
Expand Down
2 changes: 2 additions & 0 deletions clients/rust/CHANGELOG.md
Original file line number Diff line number Diff line change
Expand Up @@ -17,6 +17,8 @@ matching `## [X.Y.Z]` heading is missing from this file.

### Added

- `SessionModelInfo.maxOutputTokens` and `SessionModelInfo.maxPromptTokens`
optional fields for communicating model token limits.
- `SessionSummary.meta` (`_meta` on the wire) optional provider metadata field
for lightweight session-list presentation hints.
- `ahp-ws` TLS backend is now selectable via Cargo features: `native-tls`,
Expand Down
6 changes: 6 additions & 0 deletions clients/rust/crates/ahp-types/src/state.rs
Original file line number Diff line number Diff line change
Expand Up @@ -750,6 +750,12 @@ pub struct SessionModelInfo {
/// Maximum context window size
#[serde(default, skip_serializing_if = "Option::is_none")]
pub max_context_window: Option<i64>,
/// Maximum number of output tokens the model can generate
#[serde(default, skip_serializing_if = "Option::is_none")]
pub max_output_tokens: Option<i64>,
/// Maximum number of prompt (input) tokens the model accepts
#[serde(default, skip_serializing_if = "Option::is_none")]
pub max_prompt_tokens: Option<i64>,
/// Whether the model supports vision
#[serde(default, skip_serializing_if = "Option::is_none")]
pub supports_vision: Option<bool>,
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -596,6 +596,10 @@ public struct SessionModelInfo: Codable, Sendable {
public var name: String
/// Maximum context window size
public var maxContextWindow: Int?
/// Maximum number of output tokens the model can generate
public var maxOutputTokens: Int?
/// Maximum number of prompt (input) tokens the model accepts
public var maxPromptTokens: Int?
/// Whether the model supports vision
public var supportsVision: Bool?
/// Policy configuration state
Expand All @@ -615,6 +619,8 @@ public struct SessionModelInfo: Codable, Sendable {
case provider
case name
case maxContextWindow
case maxOutputTokens
case maxPromptTokens
case supportsVision
case policyState
case configSchema
Expand All @@ -626,6 +632,8 @@ public struct SessionModelInfo: Codable, Sendable {
provider: String,
name: String,
maxContextWindow: Int? = nil,
maxOutputTokens: Int? = nil,
maxPromptTokens: Int? = nil,
supportsVision: Bool? = nil,
policyState: PolicyState? = nil,
configSchema: ConfigSchema? = nil,
Expand All @@ -635,6 +643,8 @@ public struct SessionModelInfo: Codable, Sendable {
self.provider = provider
self.name = name
self.maxContextWindow = maxContextWindow
self.maxOutputTokens = maxOutputTokens
self.maxPromptTokens = maxPromptTokens
self.supportsVision = supportsVision
self.policyState = policyState
self.configSchema = configSchema
Expand Down
2 changes: 2 additions & 0 deletions clients/swift/CHANGELOG.md
Original file line number Diff line number Diff line change
Expand Up @@ -19,6 +19,8 @@ the tag matches the version pinned in [`VERSION`](VERSION).

### Added

- `SessionModelInfo.maxOutputTokens` and `SessionModelInfo.maxPromptTokens`
optional fields for communicating model token limits.
- `SessionSummary.meta` (`_meta` on the wire) optional provider metadata field
for lightweight session-list presentation hints.

Expand Down
2 changes: 2 additions & 0 deletions clients/typescript/CHANGELOG.md
Original file line number Diff line number Diff line change
Expand Up @@ -22,6 +22,8 @@ hotfix escape hatch.

### Added

- `SessionModelInfo.maxOutputTokens` and `SessionModelInfo.maxPromptTokens`
optional fields for communicating model token limits.
- `SessionSummary._meta` optional provider metadata field for lightweight
session-list presentation hints.

Expand Down
8 changes: 8 additions & 0 deletions schema/actions.schema.json
Original file line number Diff line number Diff line change
Expand Up @@ -2441,6 +2441,14 @@
"type": "number",
"description": "Maximum context window size"
},
"maxOutputTokens": {
"type": "number",
"description": "Maximum number of output tokens the model can generate"
},
"maxPromptTokens": {
"type": "number",
"description": "Maximum number of prompt (input) tokens the model accepts"
},
"supportsVision": {
"type": "boolean",
"description": "Whether the model supports vision"
Expand Down
8 changes: 8 additions & 0 deletions schema/commands.schema.json
Original file line number Diff line number Diff line change
Expand Up @@ -1779,6 +1779,14 @@
"type": "number",
"description": "Maximum context window size"
},
"maxOutputTokens": {
"type": "number",
"description": "Maximum number of output tokens the model can generate"
},
"maxPromptTokens": {
"type": "number",
"description": "Maximum number of prompt (input) tokens the model accepts"
},
"supportsVision": {
"type": "boolean",
"description": "Whether the model supports vision"
Expand Down
8 changes: 8 additions & 0 deletions schema/errors.schema.json
Original file line number Diff line number Diff line change
Expand Up @@ -631,6 +631,14 @@
"type": "number",
"description": "Maximum context window size"
},
"maxOutputTokens": {
"type": "number",
"description": "Maximum number of output tokens the model can generate"
},
"maxPromptTokens": {
"type": "number",
"description": "Maximum number of prompt (input) tokens the model accepts"
},
"supportsVision": {
"type": "boolean",
"description": "Whether the model supports vision"
Expand Down
8 changes: 8 additions & 0 deletions schema/notifications.schema.json
Original file line number Diff line number Diff line change
Expand Up @@ -765,6 +765,14 @@
"type": "number",
"description": "Maximum context window size"
},
"maxOutputTokens": {
"type": "number",
"description": "Maximum number of output tokens the model can generate"
},
"maxPromptTokens": {
"type": "number",
"description": "Maximum number of prompt (input) tokens the model accepts"
},
"supportsVision": {
"type": "boolean",
"description": "Whether the model supports vision"
Expand Down
8 changes: 8 additions & 0 deletions schema/state.schema.json
Original file line number Diff line number Diff line change
Expand Up @@ -542,6 +542,14 @@
"type": "number",
"description": "Maximum context window size"
},
"maxOutputTokens": {
"type": "number",
"description": "Maximum number of output tokens the model can generate"
},
"maxPromptTokens": {
"type": "number",
"description": "Maximum number of prompt (input) tokens the model accepts"
},
"supportsVision": {
"type": "boolean",
"description": "Whether the model supports vision"
Expand Down
4 changes: 4 additions & 0 deletions types/channels-root/state.ts
Original file line number Diff line number Diff line change
Expand Up @@ -98,6 +98,10 @@ export interface SessionModelInfo {
name: string;
/** Maximum context window size */
maxContextWindow?: number;
/** Maximum number of output tokens the model can generate */
maxOutputTokens?: number;
/** Maximum number of prompt (input) tokens the model accepts */
maxPromptTokens?: number;
/** Whether the model supports vision */
supportsVision?: boolean;
/** Policy configuration state */
Expand Down
Loading