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
{{ message }}
Repository navigation
Commit 2e77fb6
Browse filesBrowse the repository at this point in the historyBrowse files
Add optional response contract to Rust SDK messages
Expose response_optional and its builder on MessageOptions, forwarding explicit true and false while omitting None. Cover high-level and generated session.send serialization and idle-only completion.
Regenerate Rust types from pinned CLI 1.0.87-0 schemas with only the authoritative responseOptional property additions from the rebased runtime producer (SendRequest, SendMessageItem, UserMessageData), avoiding unrelated unpublished schema drift. Preserve upstream structured response support.
Co-authored-by: Copilot App <223556219+Copilot@users.noreply.github.com>
/// If set, the request will fail if the named tool is not available when this message is among the user messages at the start of the current exchange
16881
16878
#[serde(skip_serializing_if = "Option::is_none")]
16882
16879
pub required_tool: Option<String>,
16880
+
/// If true, this automatic notification may complete without visible assistant output. Defaults to false. Required messages in the same turn still require output; provider and execution errors are unaffected.
16881
+
#[serde(skip_serializing_if = "Option::is_none")]
16882
+
pub response_optional: Option<bool>,
16883
16883
/// Optional provenance tag copied to the resulting user.message event. Must be `user`, `system`, `command-<command-id>` for command-originated messages, `schedule-<numeric-id>` for scheduled prompts, or `agent-<agent-id>` for prompts sent by another agent.
16884
16884
#[doc(hidden)]
16885
16885
#[serde(skip_serializing_if = "Option::is_none")]
@@ -16998,6 +16998,9 @@ pub struct SendRequest {
16998
16998
/// Provider-native output format for this turn, including all tool-call iterations. Not inherited by later turns or subagents. Ordinary steering inherits the active format; specifying responseFormat with mode: immediate is an error, even while idle. Returned assistant content remains text; the runtime does not parse or validate it. Unsupported models or schemas produce provider errors.
/// If true, this automatic notification may complete without visible assistant output. Defaults to false. Required messages in the same turn still require output; provider and execution errors are unaffected.
17002
+
#[serde(skip_serializing_if = "Option::is_none")]
17003
+
pub response_optional: Option<bool>,
17001
17004
/// Optional provenance tag copied to the resulting user.message event. Must be `user`, `system`, `command-<command-id>` for command-originated messages, `schedule-<numeric-id>` for scheduled prompts, or `agent-<agent-id>` for prompts sent by another agent.
/// Parent agent task ID for background telemetry correlated to this user turn
2599
2599
#[serde(skip_serializing_if = "Option::is_none")]
2600
2600
pubparent_agent_task_id:Option<String>,
2601
+
/// True when the sender explicitly allows this automatic notification to complete without visible assistant output. Absent means a response is required. Does not relax other messages in the same turn or suppress execution errors.
2602
+
#[serde(skip_serializing_if = "Option::is_none")]
2603
+
pubresponse_optional:Option<bool>,
2601
2604
/// Responses reasoning settings anchored before this model-facing message, for cache-stable history replay
0 commit comments