diff --git a/dotnet/src/Generated/Rpc.cs b/dotnet/src/Generated/Rpc.cs index 81cd4e6da8..f3e35cec64 100644 --- a/dotnet/src/Generated/Rpc.cs +++ b/dotnet/src/Generated/Rpc.cs @@ -667,6 +667,14 @@ public sealed class CopilotUserResponseEndpoints public string? Telemetry { get; set; } } +/// RPC data type for CopilotUserResponseEnterpriseList operations. +public sealed class CopilotUserResponseEnterpriseList +{ + /// Numeric database ID of the enterprise. + [JsonPropertyName("id")] + public long Id { get; set; } +} + /// RPC data type for CopilotUserResponseOrganizationListItem operations. public sealed class CopilotUserResponseOrganizationListItem { @@ -911,6 +919,10 @@ public sealed class CopilotUserResponse [JsonPropertyName("endpoints")] public CopilotUserResponseEndpoints? Endpoints { get; set; } + /// Enterprises that provide the user's Copilot license, each with a stable numeric ID. + [JsonPropertyName("enterprise_list")] + public IList? EnterpriseList { get; set; } + /// Whether MCP (Model Context Protocol) support is enabled for the user. [JsonPropertyName("is_mcp_enabled")] public bool? IsMcpEnabled { get; set; } @@ -39557,6 +39569,7 @@ public static void RegisterClientGlobalApiHandlers(JsonRpc rpc, ClientGlobalApiH [JsonSerializable(typeof(GitHub.Copilot.OmittedBinaryType), TypeInfoPropertyName = "SessionEventsOmittedBinaryType")] [JsonSerializable(typeof(GitHub.Copilot.PendingMessagesModifiedData), TypeInfoPropertyName = "SessionEventsPendingMessagesModifiedData")] [JsonSerializable(typeof(GitHub.Copilot.PendingMessagesModifiedEvent), TypeInfoPropertyName = "SessionEventsPendingMessagesModifiedEvent")] +[JsonSerializable(typeof(GitHub.Copilot.PermissionApprovalEvaluation), TypeInfoPropertyName = "SessionEventsPermissionApprovalEvaluation")] [JsonSerializable(typeof(GitHub.Copilot.PermissionAssentDetectedData), TypeInfoPropertyName = "SessionEventsPermissionAssentDetectedData")] [JsonSerializable(typeof(GitHub.Copilot.PermissionAssentDetectedEvent), TypeInfoPropertyName = "SessionEventsPermissionAssentDetectedEvent")] [JsonSerializable(typeof(GitHub.Copilot.PermissionAssistedApproval), TypeInfoPropertyName = "SessionEventsPermissionAssistedApproval")] @@ -39623,6 +39636,7 @@ public static void RegisterClientGlobalApiHandlers(JsonRpc rpc, ClientGlobalApiH [JsonSerializable(typeof(GitHub.Copilot.ReasoningSummary), TypeInfoPropertyName = "SessionEventsReasoningSummary")] [JsonSerializable(typeof(GitHub.Copilot.RecommendedAutoTier), TypeInfoPropertyName = "SessionEventsRecommendedAutoTier")] [JsonSerializable(typeof(GitHub.Copilot.RemediationAction), TypeInfoPropertyName = "SessionEventsRemediationAction")] +[JsonSerializable(typeof(GitHub.Copilot.ResponsesReasoning), TypeInfoPropertyName = "SessionEventsResponsesReasoning")] [JsonSerializable(typeof(GitHub.Copilot.SamplingCompletedData), TypeInfoPropertyName = "SessionEventsSamplingCompletedData")] [JsonSerializable(typeof(GitHub.Copilot.SamplingCompletedEvent), TypeInfoPropertyName = "SessionEventsSamplingCompletedEvent")] [JsonSerializable(typeof(GitHub.Copilot.SamplingRequestedData), TypeInfoPropertyName = "SessionEventsSamplingRequestedData")] @@ -39851,6 +39865,7 @@ public static void RegisterClientGlobalApiHandlers(JsonRpc rpc, ClientGlobalApiH [JsonSerializable(typeof(ContextHeaviestMessage))] [JsonSerializable(typeof(CopilotUserResponse))] [JsonSerializable(typeof(CopilotUserResponseEndpoints))] +[JsonSerializable(typeof(CopilotUserResponseEnterpriseList))] [JsonSerializable(typeof(CopilotUserResponseOrganizationListItem))] [JsonSerializable(typeof(CopilotUserResponseQuotaSnapshots))] [JsonSerializable(typeof(CopilotUserResponseQuotaSnapshotsChat))] diff --git a/dotnet/src/Generated/SessionEvents.cs b/dotnet/src/Generated/SessionEvents.cs index f643dc002c..b9364e162d 100644 --- a/dotnet/src/Generated/SessionEvents.cs +++ b/dotnet/src/Generated/SessionEvents.cs @@ -3095,6 +3095,11 @@ public sealed partial class SessionCompactionCompleteData [JsonPropertyName("requestId")] public string? RequestId { get; set; } + /// Reasoning baseline on the replacement summary, preserved when replay skips the compacted history. + [JsonIgnore(Condition = JsonIgnoreCondition.WhenWritingNull)] + [JsonPropertyName("responsesReasoning")] + public ResponsesReasoning? ResponsesReasoning { get; set; } + /// Copilot service request ID (x-copilot-service-request-id header) for the compaction LLM call. [JsonIgnore(Condition = JsonIgnoreCondition.WhenWritingNull)] [JsonPropertyName("serviceRequestId")] @@ -3491,6 +3496,11 @@ public sealed partial class UserMessageData [JsonPropertyName("parentAgentTaskId")] public string? ParentAgentTaskId { get; set; } + /// Responses reasoning settings anchored before this model-facing message, for cache-stable history replay. + [JsonIgnore(Condition = JsonIgnoreCondition.WhenWritingNull)] + [JsonPropertyName("responsesReasoning")] + public ResponsesReasoning? ResponsesReasoning { get; set; } + /// Origin of this message, used for timeline filtering and attribution (e.g., `skill-pdf` for hidden skill injection or `agent-<agent-id>` for an inter-agent prompt). [JsonIgnore(Condition = JsonIgnoreCondition.WhenWritingNull)] [JsonPropertyName("source")] @@ -5428,6 +5438,11 @@ public sealed partial class SystemNotificationData /// Structured metadata identifying what triggered this notification. [JsonPropertyName("kind")] public required SystemNotification Kind { get; set; } + + /// Responses reasoning settings anchored before this model-facing message, for cache-stable history replay. + [JsonIgnore(Condition = JsonIgnoreCondition.WhenWritingNull)] + [JsonPropertyName("responsesReasoning")] + public ResponsesReasoning? ResponsesReasoning { get; set; } } /// Permission request notification requiring client approval with request details. @@ -5438,6 +5453,11 @@ public sealed partial class PermissionRequestedData [JsonPropertyName("agentMode")] public SessionMode? AgentMode { get; set; } + /// Permission mode captured when evaluation began. Absent on historical events. + [JsonIgnore(Condition = JsonIgnoreCondition.WhenWritingNull)] + [JsonPropertyName("permissionMode")] + public PermissionMode? PermissionMode { get; set; } + /// Details of the permission being requested. [JsonPropertyName("permissionRequest")] public required PermissionRequest PermissionRequest { get; set; } @@ -6963,6 +6983,23 @@ public sealed partial class CompactionCompleteCompactionTokensUsed public long? OutputTokens { get; set; } } +/// Original request-level and effective conversation reasoning effort for a Responses history boundary. +/// Nested data type for ResponsesReasoning. +public sealed partial class ResponsesReasoning +{ + /// Effective effort selected before this message, independent of the response-level reasoning field. + [JsonPropertyName("effort")] + public required string Effort { get; set; } + + /// Original request-level effort, retained while replaying this conversation prefix. + [JsonPropertyName("initialEffort")] + public required string InitialEffort { get; set; } + + /// Provider model whose reasoning settings this boundary records. + [JsonPropertyName("model")] + public required string Model { get; set; } +} + /// Inclusive durable event range summarized by a completion receipt. /// Nested data type for CompletionReceiptEventRange. public sealed partial class CompletionReceiptEventRange @@ -9632,11 +9669,38 @@ public override bool? ManagedApprovalRequired public required string Url { get; set; } } +/// Bounded runtime attribution, independent of free-text rationale. Telemetry revalidates this vocabulary before standard collection. +/// Nested data type for PermissionApprovalEvaluation. +public sealed partial class PermissionApprovalEvaluation +{ + /// Stage that produced this attribution. + [JsonPropertyName("evaluationStage")] + public required PermissionApprovalEvaluationEvaluationStage EvaluationStage { get; set; } + + /// Whether the request invoked the judge interface. A cached recommendation retains the original attempt fact. Omitted means unknown, including inherited outcomes. + [JsonIgnore(Condition = JsonIgnoreCondition.WhenWritingNull)] + [JsonPropertyName("judgeAttempted")] + public bool? JudgeAttempted { get; set; } + + /// Status of the local judge interface, not proof of a model network call. + [JsonPropertyName("judgeStatus")] + public required PermissionApprovalEvaluationJudgeStatus JudgeStatus { get; set; } + + /// Machine-readable runtime gate reason, never a command, path or human rationale. + [JsonPropertyName("reasonCode")] + public required PermissionApprovalEvaluationReasonCode ReasonCode { get; set; } +} + /// Assisted-approval judge information attached to a permission request. Present only in assisted mode; its absence means the judge did not evaluate the request. The `recommendation` conveys the judge's disposition for this request. /// Nested data type for PermissionAssistedApproval. [Experimental(Diagnostics.Experimental)] public sealed partial class PermissionAssistedApproval { + /// Runtime reason and judge-call metadata. Absent on older events; missing metadata means unknown, not that the judge was skipped. + [JsonIgnore(Condition = JsonIgnoreCondition.WhenWritingNull)] + [JsonPropertyName("evaluation")] + public PermissionApprovalEvaluation? Evaluation { get; set; } + /// Classified cause of an `error` recommendation. Absent for every other recommendation. [JsonIgnore(Condition = JsonIgnoreCondition.WhenWritingNull)] [JsonPropertyName("failureReason")] @@ -15428,6 +15492,282 @@ public override void Write(Utf8JsonWriter writer, PermissionRequestMemoryAction } } +/// Stage that produced this attribution. +[JsonConverter(typeof(Converter))] +[DebuggerDisplay("{Value,nq}")] +public readonly struct PermissionApprovalEvaluationEvaluationStage : IEquatable +{ + private readonly string? _value; + + /// Initializes a new instance of the struct. + /// The value to associate with this . + [JsonConstructor] + public PermissionApprovalEvaluationEvaluationStage(string value) + { + ArgumentException.ThrowIfNullOrWhiteSpace(value); + _value = value; + } + + /// Gets the value associated with this . + public string Value => _value ?? string.Empty; + + /// The attribution stage is unknown. + public static PermissionApprovalEvaluationEvaluationStage Unknown { get; } = new("unknown"); + + /// The request resolved before assisted-approval evaluation. + public static PermissionApprovalEvaluationEvaluationStage NotReached { get; } = new("not_reached"); + + /// A runtime gate skipped the judge. + public static PermissionApprovalEvaluationEvaluationStage PreJudge { get; } = new("pre_judge"); + + /// The judge interface produced the evaluation. + public static PermissionApprovalEvaluationEvaluationStage Judge { get; } = new("judge"); + + /// A cached recommendation or another request's outcome was reused. + public static PermissionApprovalEvaluationEvaluationStage Reuse { get; } = new("reuse"); + + /// Returns a value indicating whether two instances are equivalent. + public static bool operator ==(PermissionApprovalEvaluationEvaluationStage left, PermissionApprovalEvaluationEvaluationStage right) => left.Equals(right); + + /// Returns a value indicating whether two instances are not equivalent. + public static bool operator !=(PermissionApprovalEvaluationEvaluationStage left, PermissionApprovalEvaluationEvaluationStage right) => !(left == right); + + /// + public override bool Equals(object? obj) => obj is PermissionApprovalEvaluationEvaluationStage other && Equals(other); + + /// + public bool Equals(PermissionApprovalEvaluationEvaluationStage other) => string.Equals(Value, other.Value, StringComparison.OrdinalIgnoreCase); + + /// + public override int GetHashCode() => StringComparer.OrdinalIgnoreCase.GetHashCode(Value); + + /// + public override string ToString() => Value; + + /// Provides a for serializing instances. + [EditorBrowsable(EditorBrowsableState.Never)] + public sealed class Converter : JsonConverter + { + /// + public override PermissionApprovalEvaluationEvaluationStage Read(ref Utf8JsonReader reader, Type typeToConvert, JsonSerializerOptions options) + { + return new(GeneratedStringEnumJson.ReadValue(ref reader, typeToConvert)); + } + + /// + public override void Write(Utf8JsonWriter writer, PermissionApprovalEvaluationEvaluationStage value, JsonSerializerOptions options) + { + GeneratedStringEnumJson.WriteValue(writer, value.Value, typeof(PermissionApprovalEvaluationEvaluationStage)); + } + } +} + +/// Status of the local judge interface, not proof of a model network call. +[JsonConverter(typeof(Converter))] +[DebuggerDisplay("{Value,nq}")] +public readonly struct PermissionApprovalEvaluationJudgeStatus : IEquatable +{ + private readonly string? _value; + + /// Initializes a new instance of the struct. + /// The value to associate with this . + [JsonConstructor] + public PermissionApprovalEvaluationJudgeStatus(string value) + { + ArgumentException.ThrowIfNullOrWhiteSpace(value); + _value = value; + } + + /// Gets the value associated with this . + public string Value => _value ?? string.Empty; + + /// No authoritative attribution is available. + public static PermissionApprovalEvaluationJudgeStatus Unknown { get; } = new("unknown"); + + /// This evaluation did not invoke the judge interface. + public static PermissionApprovalEvaluationJudgeStatus NotCalled { get; } = new("not_called"); + + /// The judge interface returned a usable verdict. + public static PermissionApprovalEvaluationJudgeStatus Completed { get; } = new("completed"); + + /// The judge interface returned an error. + public static PermissionApprovalEvaluationJudgeStatus Failed { get; } = new("failed"); + + /// This evaluation reused a cached recommendation. + public static PermissionApprovalEvaluationJudgeStatus Cached { get; } = new("cached"); + + /// This request inherited another decision without local judge attribution. + public static PermissionApprovalEvaluationJudgeStatus Inherited { get; } = new("inherited"); + + /// Returns a value indicating whether two instances are equivalent. + public static bool operator ==(PermissionApprovalEvaluationJudgeStatus left, PermissionApprovalEvaluationJudgeStatus right) => left.Equals(right); + + /// Returns a value indicating whether two instances are not equivalent. + public static bool operator !=(PermissionApprovalEvaluationJudgeStatus left, PermissionApprovalEvaluationJudgeStatus right) => !(left == right); + + /// + public override bool Equals(object? obj) => obj is PermissionApprovalEvaluationJudgeStatus other && Equals(other); + + /// + public bool Equals(PermissionApprovalEvaluationJudgeStatus other) => string.Equals(Value, other.Value, StringComparison.OrdinalIgnoreCase); + + /// + public override int GetHashCode() => StringComparer.OrdinalIgnoreCase.GetHashCode(Value); + + /// + public override string ToString() => Value; + + /// Provides a for serializing instances. + [EditorBrowsable(EditorBrowsableState.Never)] + public sealed class Converter : JsonConverter + { + /// + public override PermissionApprovalEvaluationJudgeStatus Read(ref Utf8JsonReader reader, Type typeToConvert, JsonSerializerOptions options) + { + return new(GeneratedStringEnumJson.ReadValue(ref reader, typeToConvert)); + } + + /// + public override void Write(Utf8JsonWriter writer, PermissionApprovalEvaluationJudgeStatus value, JsonSerializerOptions options) + { + GeneratedStringEnumJson.WriteValue(writer, value.Value, typeof(PermissionApprovalEvaluationJudgeStatus)); + } + } +} + +/// Machine-readable runtime gate reason, never a command, path or human rationale. +[JsonConverter(typeof(Converter))] +[DebuggerDisplay("{Value,nq}")] +public readonly struct PermissionApprovalEvaluationReasonCode : IEquatable +{ + private readonly string? _value; + + /// Initializes a new instance of the struct. + /// The value to associate with this . + [JsonConstructor] + public PermissionApprovalEvaluationReasonCode(string value) + { + ArgumentException.ThrowIfNullOrWhiteSpace(value); + _value = value; + } + + /// Gets the value associated with this . + public string Value => _value ?? string.Empty; + + /// Attribution is missing or outside the supported vocabulary. + public static PermissionApprovalEvaluationReasonCode Unknown { get; } = new("unknown"); + + /// The request resolved before assisted-approval evaluation. + public static PermissionApprovalEvaluationReasonCode NotReached { get; } = new("not-reached"); + + /// Assisted approval was inactive for this request. + public static PermissionApprovalEvaluationReasonCode Inactive { get; } = new("inactive"); + + /// The judge was skipped because authorization extraction could not safely establish a complete recent history. + public static PermissionApprovalEvaluationReasonCode AuthorizationHistoryIncomplete { get; } = new("authorization-history-incomplete"); + + /// Managed policy required a human decision. + public static PermissionApprovalEvaluationReasonCode ManagedApprovalRequired { get; } = new("managed-approval-required"); + + /// The request asked to bypass sandbox restrictions. + public static PermissionApprovalEvaluationReasonCode SandboxBypass { get; } = new("sandbox-bypass"); + + /// An action field exceeded the judge input limit. + public static PermissionApprovalEvaluationReasonCode ActionTooLong { get; } = new("action-too-long"); + + /// The script path was not authorized for inspection. + public static PermissionApprovalEvaluationReasonCode PathNotAuthorized { get; } = new("path-not-authorized"); + + /// The script working directory was invalid. + public static PermissionApprovalEvaluationReasonCode InvalidWorkingDirectory { get; } = new("invalid-working-directory"); + + /// The script snapshot could not be read. + public static PermissionApprovalEvaluationReasonCode Unreadable { get; } = new("unreadable"); + + /// The script path was not a regular file. + public static PermissionApprovalEvaluationReasonCode NotRegularFile { get; } = new("not-regular-file"); + + /// The script snapshot exceeded the size limit. + public static PermissionApprovalEvaluationReasonCode TooLarge { get; } = new("too-large"); + + /// The script snapshot was not UTF-8. + public static PermissionApprovalEvaluationReasonCode NonUtf8 { get; } = new("non-utf8"); + + /// The script interpreter could not be inspected. + public static PermissionApprovalEvaluationReasonCode InterpreterUnavailable { get; } = new("interpreter-unavailable"); + + /// The interpreter snapshot exceeded the size limit. + public static PermissionApprovalEvaluationReasonCode InterpreterTooLarge { get; } = new("interpreter-too-large"); + + /// The shell environment could not be reviewed. + public static PermissionApprovalEvaluationReasonCode ShellEnvironmentUnreviewable { get; } = new("shell-environment-unreviewable"); + + /// A script path could not be represented for review. + public static PermissionApprovalEvaluationReasonCode UnrepresentablePath { get; } = new("unrepresentable-path"); + + /// An interpreter wrapped a script that could not be reviewed. + public static PermissionApprovalEvaluationReasonCode InterpreterWrappedScript { get; } = new("interpreter-wrapped-script"); + + /// The script invocation could not be reviewed. + public static PermissionApprovalEvaluationReasonCode UnreviewableScriptInvocation { get; } = new("unreviewable-script-invocation"); + + /// The script argument binding could not be reviewed. + public static PermissionApprovalEvaluationReasonCode ArgumentBindingUnreviewable { get; } = new("argument-binding-unreviewable"); + + /// The script review metadata was malformed. + public static PermissionApprovalEvaluationReasonCode MalformedScriptActionReview { get; } = new("malformed-script-action-review"); + + /// The script snapshot manifest was malformed. + public static PermissionApprovalEvaluationReasonCode MalformedScriptActionManifest { get; } = new("malformed-script-action-manifest"); + + /// Script review was unavailable. + public static PermissionApprovalEvaluationReasonCode Unavailable { get; } = new("unavailable"); + + /// The judge interface returned a usable verdict. + public static PermissionApprovalEvaluationReasonCode JudgeVerdict { get; } = new("judge-verdict"); + + /// The judge interface returned an error. + public static PermissionApprovalEvaluationReasonCode JudgeError { get; } = new("judge-error"); + + /// The request inherited an outcome from another decision. + public static PermissionApprovalEvaluationReasonCode Inherited { get; } = new("inherited"); + + /// Returns a value indicating whether two instances are equivalent. + public static bool operator ==(PermissionApprovalEvaluationReasonCode left, PermissionApprovalEvaluationReasonCode right) => left.Equals(right); + + /// Returns a value indicating whether two instances are not equivalent. + public static bool operator !=(PermissionApprovalEvaluationReasonCode left, PermissionApprovalEvaluationReasonCode right) => !(left == right); + + /// + public override bool Equals(object? obj) => obj is PermissionApprovalEvaluationReasonCode other && Equals(other); + + /// + public bool Equals(PermissionApprovalEvaluationReasonCode other) => string.Equals(Value, other.Value, StringComparison.OrdinalIgnoreCase); + + /// + public override int GetHashCode() => StringComparer.OrdinalIgnoreCase.GetHashCode(Value); + + /// + public override string ToString() => Value; + + /// Provides a for serializing instances. + [EditorBrowsable(EditorBrowsableState.Never)] + public sealed class Converter : JsonConverter + { + /// + public override PermissionApprovalEvaluationReasonCode Read(ref Utf8JsonReader reader, Type typeToConvert, JsonSerializerOptions options) + { + return new(GeneratedStringEnumJson.ReadValue(ref reader, typeToConvert)); + } + + /// + public override void Write(Utf8JsonWriter writer, PermissionApprovalEvaluationReasonCode value, JsonSerializerOptions options) + { + GeneratedStringEnumJson.WriteValue(writer, value.Value, typeof(PermissionApprovalEvaluationReasonCode)); + } + } +} + /// Why the assisted-approval judge produced no usable recommendation. Present only alongside an `error` recommendation, where the human-readable reason is a fixed string and therefore cannot distinguish these cases. Intended to make a judge failure reportable by a consumer that has no access to the host's logs. [Experimental(Diagnostics.Experimental)] [JsonConverter(typeof(Converter))] @@ -17469,6 +17809,7 @@ public override void Write(Utf8JsonWriter writer, ExtensionsLoadedExtensionStatu [JsonSerializable(typeof(OmittedBinaryResult))] [JsonSerializable(typeof(PendingMessagesModifiedData))] [JsonSerializable(typeof(PendingMessagesModifiedEvent))] +[JsonSerializable(typeof(PermissionApprovalEvaluation))] [JsonSerializable(typeof(PermissionAssentDetectedData))] [JsonSerializable(typeof(PermissionAssentDetectedEvent))] [JsonSerializable(typeof(PermissionAssistedApproval))] @@ -17531,6 +17872,7 @@ public override void Write(Utf8JsonWriter writer, ExtensionsLoadedExtensionStatu [JsonSerializable(typeof(PersistedBinaryResult))] [JsonSerializable(typeof(PromptCacheBreakData))] [JsonSerializable(typeof(PromptCacheBreakEvent))] +[JsonSerializable(typeof(ResponsesReasoning))] [JsonSerializable(typeof(SamplingCompletedData))] [JsonSerializable(typeof(SamplingCompletedEvent))] [JsonSerializable(typeof(SamplingRequestedData))] diff --git a/go/rpc/zrpc.go b/go/rpc/zrpc.go index e974c9ed62..da5ab2a430 100644 --- a/go/rpc/zrpc.go +++ b/go/rpc/zrpc.go @@ -2434,6 +2434,8 @@ type CopilotUserResponse struct { CopilotPlan *string `json:"copilot_plan,omitempty"` // Endpoint URLs from the raw Copilot `/copilot_internal/v2/token` user-response passthrough. Endpoints *CopilotUserResponseEndpoints `json:"endpoints,omitempty"` + // Enterprises that provide the user's Copilot license, each with a stable numeric ID. + EnterpriseList []CopilotUserResponseEnterpriseListItem `json:"enterprise_list,omitzero"` // Whether MCP (Model Context Protocol) support is enabled for the user. IsMCPEnabled *bool `json:"is_mcp_enabled,omitempty"` // Whether the user is a GitHub/Microsoft staff member. @@ -2484,6 +2486,11 @@ type CopilotUserResponseEndpoints struct { Telemetry *string `json:"telemetry,omitempty"` } +type CopilotUserResponseEnterpriseListItem struct { + // Numeric database ID of the enterprise. + ID int64 `json:"id"` +} + type CopilotUserResponseOrganizationListItem struct { // Numeric database ID of the organization. ID *float64 `json:"id,omitempty"` diff --git a/go/rpc/zsession_encoding.go b/go/rpc/zsession_encoding.go index 847ed8869d..a17130f62f 100644 --- a/go/rpc/zsession_encoding.go +++ b/go/rpc/zsession_encoding.go @@ -957,6 +957,7 @@ func (r *UserMessageData) UnmarshalJSON(data []byte) error { MessageID *string `json:"messageId,omitempty"` NativeDocumentPathFallbackPaths []string `json:"nativeDocumentPathFallbackPaths,omitzero"` ParentAgentTaskID *string `json:"parentAgentTaskId,omitempty"` + ResponsesReasoning *ResponsesReasoning `json:"responsesReasoning,omitempty"` Source *string `json:"source,omitempty"` SupportedNativeDocumentMIMETypes []string `json:"supportedNativeDocumentMimeTypes,omitzero"` TransformedContent *string `json:"transformedContent,omitempty"` @@ -984,6 +985,7 @@ func (r *UserMessageData) UnmarshalJSON(data []byte) error { r.MessageID = raw.MessageID r.NativeDocumentPathFallbackPaths = raw.NativeDocumentPathFallbackPaths r.ParentAgentTaskID = raw.ParentAgentTaskID + r.ResponsesReasoning = raw.ResponsesReasoning r.Source = raw.Source r.SupportedNativeDocumentMIMETypes = raw.SupportedNativeDocumentMIMETypes r.TransformedContent = raw.TransformedContent @@ -1791,8 +1793,9 @@ func (r SystemNotificationUnclassified) MarshalJSON() ([]byte, error) { func (r *SystemNotificationData) UnmarshalJSON(data []byte) error { type rawSystemNotificationData struct { - Content string `json:"content"` - Kind json.RawMessage `json:"kind"` + Content string `json:"content"` + Kind json.RawMessage `json:"kind"` + ResponsesReasoning *ResponsesReasoning `json:"responsesReasoning,omitempty"` } var raw rawSystemNotificationData if err := json.Unmarshal(data, &raw); err != nil { @@ -1806,6 +1809,7 @@ func (r *SystemNotificationData) UnmarshalJSON(data []byte) error { } r.Kind = value } + r.ResponsesReasoning = raw.ResponsesReasoning return nil } @@ -2295,6 +2299,7 @@ func (r PermissionPromptRequestWrite) MarshalJSON() ([]byte, error) { func (r *PermissionRequestedData) UnmarshalJSON(data []byte) error { type rawPermissionRequestedData struct { AgentMode *SessionMode `json:"agentMode,omitempty"` + PermissionMode *PermissionMode `json:"permissionMode,omitempty"` PermissionRequest json.RawMessage `json:"permissionRequest"` PromptRequest json.RawMessage `json:"promptRequest,omitempty"` RequestID string `json:"requestId"` @@ -2306,6 +2311,7 @@ func (r *PermissionRequestedData) UnmarshalJSON(data []byte) error { return err } r.AgentMode = raw.AgentMode + r.PermissionMode = raw.PermissionMode if raw.PermissionRequest != nil { value, err := unmarshalPermissionRequest(raw.PermissionRequest) if err != nil { diff --git a/go/rpc/zsession_events.go b/go/rpc/zsession_events.go index 534eca386e..fd4683d49a 100644 --- a/go/rpc/zsession_events.go +++ b/go/rpc/zsession_events.go @@ -642,6 +642,8 @@ type SessionCompactionCompleteData struct { PreCompactionTokens *int64 `json:"preCompactionTokens,omitempty"` // GitHub request tracing ID (x-github-request-id header) for the compaction LLM call RequestID *string `json:"requestId,omitempty"` + // Reasoning baseline on the replacement summary, preserved when replay skips the compacted history + ResponsesReasoning *ResponsesReasoning `json:"responsesReasoning,omitempty"` // Copilot service request ID (x-copilot-service-request-id header) for the compaction LLM call ServiceRequestID *string `json:"serviceRequestId,omitempty"` // For failed compaction only: the HTTP status code of the compaction LLM call failure, when it carried one. Absent for successful compaction and for failures without an HTTP status (e.g. an empty model response or a transport error). @@ -2109,6 +2111,8 @@ type UserMessageData struct { NativeDocumentPathFallbackPaths []string `json:"nativeDocumentPathFallbackPaths,omitzero"` // Parent agent task ID for background telemetry correlated to this user turn ParentAgentTaskID *string `json:"parentAgentTaskId,omitempty"` + // Responses reasoning settings anchored before this model-facing message, for cache-stable history replay + ResponsesReasoning *ResponsesReasoning `json:"responsesReasoning,omitempty"` // Origin of this message, used for timeline filtering and attribution (e.g., `skill-pdf` for hidden skill injection or `agent-` for an inter-agent prompt) Source *string `json:"source,omitempty"` // Normalized document MIME types that were sent natively instead of through tagged_files XML @@ -2142,6 +2146,8 @@ func (*PermissionCompletedData) Type() SessionEventType { return SessionEventTyp type PermissionRequestedData struct { // Agent mode captured from the owning turn when permission evaluation began. AgentMode *SessionMode `json:"agentMode,omitempty"` + // Permission mode captured when evaluation began. Absent on historical events. + PermissionMode *PermissionMode `json:"permissionMode,omitempty"` // Details of the permission being requested PermissionRequest PermissionRequest `json:"permissionRequest"` // Derived user-facing permission prompt details for UI consumers @@ -2910,6 +2916,8 @@ type SystemNotificationData struct { Content string `json:"content"` // Structured metadata identifying what triggered this notification Kind SystemNotification `json:"kind"` + // Responses reasoning settings anchored before this model-facing message, for cache-stable history replay + ResponsesReasoning *ResponsesReasoning `json:"responsesReasoning,omitempty"` } func (*SystemNotificationData) sessionEventData() {} @@ -3815,9 +3823,23 @@ type ModelCallFailureRequestFingerprint struct { ToolResultMessageCount int64 `json:"toolResultMessageCount"` } +// Bounded runtime attribution, independent of free-text rationale. Telemetry revalidates this vocabulary before standard collection. +type PermissionApprovalEvaluation struct { + // Stage that produced this attribution. + EvaluationStage PermissionApprovalEvaluationEvaluationStage `json:"evaluationStage"` + // Whether the request invoked the judge interface. A cached recommendation retains the original attempt fact. Omitted means unknown, including inherited outcomes. + JudgeAttempted *bool `json:"judgeAttempted,omitempty"` + // Status of the local judge interface, not proof of a model network call. + JudgeStatus PermissionApprovalEvaluationJudgeStatus `json:"judgeStatus"` + // Machine-readable runtime gate reason, never a command, path or human rationale. + ReasonCode PermissionApprovalEvaluationReasonCode `json:"reasonCode"` +} + // Assisted-approval judge information attached to a permission request. Present only in assisted mode; its absence means the judge did not evaluate the request. The `recommendation` conveys the judge's disposition for this request. // Experimental: PermissionAssistedApproval is part of an experimental API and may change or be removed. type PermissionAssistedApproval struct { + // Runtime reason and judge-call metadata. Absent on older events; missing metadata means unknown, not that the judge was skipped. + Evaluation *PermissionApprovalEvaluation `json:"evaluation,omitempty"` // Classified cause of an `error` recommendation. Absent for every other recommendation. FailureReason *AssistedApprovalJudgeFailureReason `json:"failureReason,omitempty"` // Model id that produced the recommendation, when the judge was consulted and reported one. Absent for `excluded` (the judge was not consulted) and for failures that occurred before a model was selected. @@ -4721,6 +4743,16 @@ func (r PersistedBinaryImage) Type() PersistedBinaryResultType { return PersistedBinaryResultType(r.Discriminator) } +// Original request-level and effective conversation reasoning effort for a Responses history boundary +type ResponsesReasoning struct { + // Effective effort selected before this message, independent of the response-level reasoning field + Effort string `json:"effort"` + // Original request-level effort, retained while replaying this conversation prefix + InitialEffort string `json:"initialEffort"` + // Provider model whose reasoning settings this boundary records + Model string `json:"model"` +} + // The user's selected action for an exhausted session limit. type SessionLimitsExhaustedResponse struct { // Action selected by the user. @@ -6012,6 +6044,98 @@ const ( OmittedBinaryTypeResource OmittedBinaryType = "resource" ) +// Stage that produced this attribution. +type PermissionApprovalEvaluationEvaluationStage string + +const ( + // The judge interface produced the evaluation. + PermissionApprovalEvaluationEvaluationStageJudge PermissionApprovalEvaluationEvaluationStage = "judge" + // The request resolved before assisted-approval evaluation. + PermissionApprovalEvaluationEvaluationStageNotReached PermissionApprovalEvaluationEvaluationStage = "not_reached" + // A runtime gate skipped the judge. + PermissionApprovalEvaluationEvaluationStagePreJudge PermissionApprovalEvaluationEvaluationStage = "pre_judge" + // A cached recommendation or another request's outcome was reused. + PermissionApprovalEvaluationEvaluationStageReuse PermissionApprovalEvaluationEvaluationStage = "reuse" + // The attribution stage is unknown. + PermissionApprovalEvaluationEvaluationStageUnknown PermissionApprovalEvaluationEvaluationStage = "unknown" +) + +// Status of the local judge interface, not proof of a model network call. +type PermissionApprovalEvaluationJudgeStatus string + +const ( + // This evaluation reused a cached recommendation. + PermissionApprovalEvaluationJudgeStatusCached PermissionApprovalEvaluationJudgeStatus = "cached" + // The judge interface returned a usable verdict. + PermissionApprovalEvaluationJudgeStatusCompleted PermissionApprovalEvaluationJudgeStatus = "completed" + // The judge interface returned an error. + PermissionApprovalEvaluationJudgeStatusFailed PermissionApprovalEvaluationJudgeStatus = "failed" + // This request inherited another decision without local judge attribution. + PermissionApprovalEvaluationJudgeStatusInherited PermissionApprovalEvaluationJudgeStatus = "inherited" + // This evaluation did not invoke the judge interface. + PermissionApprovalEvaluationJudgeStatusNotCalled PermissionApprovalEvaluationJudgeStatus = "not_called" + // No authoritative attribution is available. + PermissionApprovalEvaluationJudgeStatusUnknown PermissionApprovalEvaluationJudgeStatus = "unknown" +) + +// Machine-readable runtime gate reason, never a command, path or human rationale. +type PermissionApprovalEvaluationReasonCode string + +const ( + // An action field exceeded the judge input limit. + PermissionApprovalEvaluationReasonCodeActionTooLong PermissionApprovalEvaluationReasonCode = "action-too-long" + // The script argument binding could not be reviewed. + PermissionApprovalEvaluationReasonCodeArgumentBindingUnreviewable PermissionApprovalEvaluationReasonCode = "argument-binding-unreviewable" + // The judge was skipped because authorization extraction could not safely establish a complete recent history. + PermissionApprovalEvaluationReasonCodeAuthorizationHistoryIncomplete PermissionApprovalEvaluationReasonCode = "authorization-history-incomplete" + // Assisted approval was inactive for this request. + PermissionApprovalEvaluationReasonCodeInactive PermissionApprovalEvaluationReasonCode = "inactive" + // The request inherited an outcome from another decision. + PermissionApprovalEvaluationReasonCodeInherited PermissionApprovalEvaluationReasonCode = "inherited" + // The interpreter snapshot exceeded the size limit. + PermissionApprovalEvaluationReasonCodeInterpreterTooLarge PermissionApprovalEvaluationReasonCode = "interpreter-too-large" + // The script interpreter could not be inspected. + PermissionApprovalEvaluationReasonCodeInterpreterUnavailable PermissionApprovalEvaluationReasonCode = "interpreter-unavailable" + // An interpreter wrapped a script that could not be reviewed. + PermissionApprovalEvaluationReasonCodeInterpreterWrappedScript PermissionApprovalEvaluationReasonCode = "interpreter-wrapped-script" + // The script working directory was invalid. + PermissionApprovalEvaluationReasonCodeInvalidWorkingDirectory PermissionApprovalEvaluationReasonCode = "invalid-working-directory" + // The judge interface returned an error. + PermissionApprovalEvaluationReasonCodeJudgeError PermissionApprovalEvaluationReasonCode = "judge-error" + // The judge interface returned a usable verdict. + PermissionApprovalEvaluationReasonCodeJudgeVerdict PermissionApprovalEvaluationReasonCode = "judge-verdict" + // The script snapshot manifest was malformed. + PermissionApprovalEvaluationReasonCodeMalformedScriptActionManifest PermissionApprovalEvaluationReasonCode = "malformed-script-action-manifest" + // The script review metadata was malformed. + PermissionApprovalEvaluationReasonCodeMalformedScriptActionReview PermissionApprovalEvaluationReasonCode = "malformed-script-action-review" + // Managed policy required a human decision. + PermissionApprovalEvaluationReasonCodeManagedApprovalRequired PermissionApprovalEvaluationReasonCode = "managed-approval-required" + // The script snapshot was not UTF-8. + PermissionApprovalEvaluationReasonCodeNonUtf8 PermissionApprovalEvaluationReasonCode = "non-utf8" + // The request resolved before assisted-approval evaluation. + PermissionApprovalEvaluationReasonCodeNotReached PermissionApprovalEvaluationReasonCode = "not-reached" + // The script path was not a regular file. + PermissionApprovalEvaluationReasonCodeNotRegularFile PermissionApprovalEvaluationReasonCode = "not-regular-file" + // The script path was not authorized for inspection. + PermissionApprovalEvaluationReasonCodePathNotAuthorized PermissionApprovalEvaluationReasonCode = "path-not-authorized" + // The request asked to bypass sandbox restrictions. + PermissionApprovalEvaluationReasonCodeSandboxBypass PermissionApprovalEvaluationReasonCode = "sandbox-bypass" + // The shell environment could not be reviewed. + PermissionApprovalEvaluationReasonCodeShellEnvironmentUnreviewable PermissionApprovalEvaluationReasonCode = "shell-environment-unreviewable" + // The script snapshot exceeded the size limit. + PermissionApprovalEvaluationReasonCodeTooLarge PermissionApprovalEvaluationReasonCode = "too-large" + // Script review was unavailable. + PermissionApprovalEvaluationReasonCodeUnavailable PermissionApprovalEvaluationReasonCode = "unavailable" + // Attribution is missing or outside the supported vocabulary. + PermissionApprovalEvaluationReasonCodeUnknown PermissionApprovalEvaluationReasonCode = "unknown" + // The script snapshot could not be read. + PermissionApprovalEvaluationReasonCodeUnreadable PermissionApprovalEvaluationReasonCode = "unreadable" + // A script path could not be represented for review. + PermissionApprovalEvaluationReasonCodeUnrepresentablePath PermissionApprovalEvaluationReasonCode = "unrepresentable-path" + // The script invocation could not be reviewed. + PermissionApprovalEvaluationReasonCodeUnreviewableScriptInvocation PermissionApprovalEvaluationReasonCode = "unreviewable-script-invocation" +) + // Which direction a message-backed authorization claim moves authority in. // Experimental: PermissionMessageAuthorizationPolarity is part of an experimental API and may change or be removed. type PermissionMessageAuthorizationPolarity string diff --git a/go/zsession_events.go b/go/zsession_events.go index c668f90601..b73212c1ba 100644 --- a/go/zsession_events.go +++ b/go/zsession_events.go @@ -189,6 +189,10 @@ type ( OmittedBinaryResult = rpc.OmittedBinaryResult OmittedBinaryType = rpc.OmittedBinaryType PendingMessagesModifiedData = rpc.PendingMessagesModifiedData + PermissionApprovalEvaluation = rpc.PermissionApprovalEvaluation + PermissionApprovalEvaluationEvaluationStage = rpc.PermissionApprovalEvaluationEvaluationStage + PermissionApprovalEvaluationJudgeStatus = rpc.PermissionApprovalEvaluationJudgeStatus + PermissionApprovalEvaluationReasonCode = rpc.PermissionApprovalEvaluationReasonCode PermissionApproved = rpc.PermissionApproved PermissionApprovedForLocation = rpc.PermissionApprovedForLocation PermissionApprovedForSession = rpc.PermissionApprovedForSession @@ -269,6 +273,7 @@ type ( ReasoningSummary = rpc.ReasoningSummary RecommendedAutoTier = rpc.RecommendedAutoTier RemediationAction = rpc.RemediationAction + ResponsesReasoning = rpc.ResponsesReasoning SamplingCompletedData = rpc.SamplingCompletedData SamplingRequestedData = rpc.SamplingRequestedData SandboxDecisionData = rpc.SandboxDecisionData @@ -452,529 +457,566 @@ type ( // Session-event constants are generated in the rpc package and re-exported here for source compatibility. const ( - AbortReasonAutopilotCreditLimit = rpc.AbortReasonAutopilotCreditLimit - AbortReasonRemoteCommand = rpc.AbortReasonRemoteCommand - AbortReasonUserAbort = rpc.AbortReasonUserAbort - AbortReasonUserInitiated = rpc.AbortReasonUserInitiated - AgentInterruptedActivityBackgroundAgent = rpc.AgentInterruptedActivityBackgroundAgent - AgentInterruptedActivityModelCall = rpc.AgentInterruptedActivityModelCall - AgentInterruptedActivityRetryBackoff = rpc.AgentInterruptedActivityRetryBackoff - AgentInterruptedActivityToolCall = rpc.AgentInterruptedActivityToolCall - AgentInterruptedCancelPhaseMidStream = rpc.AgentInterruptedCancelPhaseMidStream - AgentInterruptedCancelPhasePreFirstToken = rpc.AgentInterruptedCancelPhasePreFirstToken - AgentModelPolicyPreferred = rpc.AgentModelPolicyPreferred - AgentModelPolicyRequired = rpc.AgentModelPolicyRequired - AssistantMessageToolRequestCallerTypeProgram = rpc.AssistantMessageToolRequestCallerTypeProgram - AssistantMessageToolRequestTypeCustom = rpc.AssistantMessageToolRequestTypeCustom - AssistantMessageToolRequestTypeFunction = rpc.AssistantMessageToolRequestTypeFunction - AssistantUsageAPIEndpointChatCompletions = rpc.AssistantUsageAPIEndpointChatCompletions - AssistantUsageAPIEndpointResponses = rpc.AssistantUsageAPIEndpointResponses - AssistantUsageAPIEndpointV1Messages = rpc.AssistantUsageAPIEndpointV1Messages - AssistantUsageAPIEndpointWsResponses = rpc.AssistantUsageAPIEndpointWsResponses - AssistantUsageTransportHTTP = rpc.AssistantUsageTransportHTTP - AssistantUsageTransportWebsocket = rpc.AssistantUsageTransportWebsocket - AssistedApprovalJudgeFailureReasonAbort = rpc.AssistedApprovalJudgeFailureReasonAbort - AssistedApprovalJudgeFailureReasonEmptyResponse = rpc.AssistedApprovalJudgeFailureReasonEmptyResponse - AssistedApprovalJudgeFailureReasonModelError = rpc.AssistedApprovalJudgeFailureReasonModelError - AssistedApprovalJudgeFailureReasonParseError = rpc.AssistedApprovalJudgeFailureReasonParseError - AssistedApprovalJudgeFailureReasonTimeout = rpc.AssistedApprovalJudgeFailureReasonTimeout - AssistedApprovalRecommendationApprove = rpc.AssistedApprovalRecommendationApprove - AssistedApprovalRecommendationError = rpc.AssistedApprovalRecommendationError - AssistedApprovalRecommendationExcluded = rpc.AssistedApprovalRecommendationExcluded - AssistedApprovalRecommendationRequireApproval = rpc.AssistedApprovalRecommendationRequireApproval - AttachmentGitHubReferenceTypeDiscussion = rpc.AttachmentGitHubReferenceTypeDiscussion - AttachmentGitHubReferenceTypeIssue = rpc.AttachmentGitHubReferenceTypeIssue - AttachmentGitHubReferenceTypePr = rpc.AttachmentGitHubReferenceTypePr - AttachmentTypeBlob = rpc.AttachmentTypeBlob - AttachmentTypeDirectory = rpc.AttachmentTypeDirectory - AttachmentTypeExtensionContext = rpc.AttachmentTypeExtensionContext - AttachmentTypeFile = rpc.AttachmentTypeFile - AttachmentTypeGitHubActionsJob = rpc.AttachmentTypeGitHubActionsJob - AttachmentTypeGitHubCommit = rpc.AttachmentTypeGitHubCommit - AttachmentTypeGitHubFile = rpc.AttachmentTypeGitHubFile - AttachmentTypeGitHubFileDiff = rpc.AttachmentTypeGitHubFileDiff - AttachmentTypeGitHubReference = rpc.AttachmentTypeGitHubReference - AttachmentTypeGitHubRelease = rpc.AttachmentTypeGitHubRelease - AttachmentTypeGitHubRepository = rpc.AttachmentTypeGitHubRepository - AttachmentTypeGitHubSnippet = rpc.AttachmentTypeGitHubSnippet - AttachmentTypeGitHubTreeComparison = rpc.AttachmentTypeGitHubTreeComparison - AttachmentTypeGitHubURL = rpc.AttachmentTypeGitHubURL - AttachmentTypeSelection = rpc.AttachmentTypeSelection - AutoModeResolvedReasoningBucketHigh = rpc.AutoModeResolvedReasoningBucketHigh - AutoModeResolvedReasoningBucketLow = rpc.AutoModeResolvedReasoningBucketLow - AutoModeResolvedReasoningBucketMedium = rpc.AutoModeResolvedReasoningBucketMedium - AutoModeSwitchResponseNo = rpc.AutoModeSwitchResponseNo - AutoModeSwitchResponseYes = rpc.AutoModeSwitchResponseYes - AutoModeSwitchResponseYesAlways = rpc.AutoModeSwitchResponseYesAlways - AutopilotObjectiveChangedOperationCreate = rpc.AutopilotObjectiveChangedOperationCreate - AutopilotObjectiveChangedOperationDelete = rpc.AutopilotObjectiveChangedOperationDelete - AutopilotObjectiveChangedOperationUpdate = rpc.AutopilotObjectiveChangedOperationUpdate - AutopilotObjectiveChangedStatusActive = rpc.AutopilotObjectiveChangedStatusActive - AutopilotObjectiveChangedStatusCapReached = rpc.AutopilotObjectiveChangedStatusCapReached - AutopilotObjectiveChangedStatusCompleted = rpc.AutopilotObjectiveChangedStatusCompleted - AutopilotObjectiveChangedStatusPaused = rpc.AutopilotObjectiveChangedStatusPaused - AutoTierFast = rpc.AutoTierFast - AutoTierSwitchFailureReasonPolicyRejected = rpc.AutoTierSwitchFailureReasonPolicyRejected - AutoTierSwitchFailureReasonRequestFailed = rpc.AutoTierSwitchFailureReasonRequestFailed - AutoTierSwitchFailureReasonSetupFailed = rpc.AutoTierSwitchFailureReasonSetupFailed - AutoTierSwitchFailureReasonUnsupported = rpc.AutoTierSwitchFailureReasonUnsupported - BinaryAssetReferenceTypeImage = rpc.BinaryAssetReferenceTypeImage - BinaryAssetReferenceTypeResource = rpc.BinaryAssetReferenceTypeResource - BinaryAssetTypeImage = rpc.BinaryAssetTypeImage - BinaryAssetTypeResource = rpc.BinaryAssetTypeResource - CitationLocationTypeBlock = rpc.CitationLocationTypeBlock - CitationLocationTypeChar = rpc.CitationLocationTypeChar - CitationLocationTypePage = rpc.CitationLocationTypePage - CitationProviderAnthropic = rpc.CitationProviderAnthropic - CitationProviderClient = rpc.CitationProviderClient - CitationProviderOpenai = rpc.CitationProviderOpenai - CompactionTriggerContextLimitRetry = rpc.CompactionTriggerContextLimitRetry - CompactionTriggerManual = rpc.CompactionTriggerManual - CompactionTriggerMemoryPressure = rpc.CompactionTriggerMemoryPressure - CompactionTriggerModelSwitch = rpc.CompactionTriggerModelSwitch - CompactionTriggerThreshold = rpc.CompactionTriggerThreshold - CompletionReceiptStopReasonAgentStopBlockLimit = rpc.CompletionReceiptStopReasonAgentStopBlockLimit - CompletionReceiptStopReasonNatural = rpc.CompletionReceiptStopReasonNatural - CompletionReceiptStopReasonTerminalTool = rpc.CompletionReceiptStopReasonTerminalTool - CompletionReceiptToolStatusDenied = rpc.CompletionReceiptToolStatusDenied - CompletionReceiptToolStatusFailure = rpc.CompletionReceiptToolStatusFailure - CompletionReceiptToolStatusRejected = rpc.CompletionReceiptToolStatusRejected - CompletionReceiptToolStatusSuccess = rpc.CompletionReceiptToolStatusSuccess - CompletionReceiptToolStatusTimeout = rpc.CompletionReceiptToolStatusTimeout - ContextTierDefault = rpc.ContextTierDefault - ContextTierLongContext = rpc.ContextTierLongContext - ElicitationCompletedActionAccept = rpc.ElicitationCompletedActionAccept - ElicitationCompletedActionCancel = rpc.ElicitationCompletedActionCancel - ElicitationCompletedActionDecline = rpc.ElicitationCompletedActionDecline - ElicitationRequestedModeForm = rpc.ElicitationRequestedModeForm - ElicitationRequestedModeURL = rpc.ElicitationRequestedModeURL - ElicitationRequestedSchemaTypeObject = rpc.ElicitationRequestedSchemaTypeObject - ExitPlanModeActionAutopilot = rpc.ExitPlanModeActionAutopilot - ExitPlanModeActionAutopilotFleet = rpc.ExitPlanModeActionAutopilotFleet - ExitPlanModeActionExitOnly = rpc.ExitPlanModeActionExitOnly - ExitPlanModeActionInteractive = rpc.ExitPlanModeActionInteractive - ExtensionsLoadedExtensionSourcePlugin = rpc.ExtensionsLoadedExtensionSourcePlugin - ExtensionsLoadedExtensionSourceProject = rpc.ExtensionsLoadedExtensionSourceProject - ExtensionsLoadedExtensionSourceSession = rpc.ExtensionsLoadedExtensionSourceSession - ExtensionsLoadedExtensionSourceUser = rpc.ExtensionsLoadedExtensionSourceUser - ExtensionsLoadedExtensionStatusDisabled = rpc.ExtensionsLoadedExtensionStatusDisabled - ExtensionsLoadedExtensionStatusFailed = rpc.ExtensionsLoadedExtensionStatusFailed - ExtensionsLoadedExtensionStatusRunning = rpc.ExtensionsLoadedExtensionStatusRunning - ExtensionsLoadedExtensionStatusStarting = rpc.ExtensionsLoadedExtensionStatusStarting - FactoryPermissionOperationAuthor = rpc.FactoryPermissionOperationAuthor - FactoryPermissionOperationRun = rpc.FactoryPermissionOperationRun - FactoryRunSettledStatusCancelled = rpc.FactoryRunSettledStatusCancelled - FactoryRunSettledStatusCompleted = rpc.FactoryRunSettledStatusCompleted - FactoryRunSettledStatusError = rpc.FactoryRunSettledStatusError - FactoryRunSettledStatusHalted = rpc.FactoryRunSettledStatusHalted - FactoryRunSettledStatusPaused = rpc.FactoryRunSettledStatusPaused - FusionConversationScopeReview = rpc.FusionConversationScopeReview - FusionConversationScopeRoot = rpc.FusionConversationScopeRoot - FusionFollowUpActionReroute = rpc.FusionFollowUpActionReroute - FusionFollowUpActionReusePrimary = rpc.FusionFollowUpActionReusePrimary - FusionPatternCascade = rpc.FusionPatternCascade - FusionPatternCritique = rpc.FusionPatternCritique - FusionPatternSingle = rpc.FusionPatternSingle - FusionPhaseActivityKindModelOutput = rpc.FusionPhaseActivityKindModelOutput - FusionPhaseActivityKindToolCompleted = rpc.FusionPhaseActivityKindToolCompleted - FusionPhaseActivityKindToolStarted = rpc.FusionPhaseActivityKindToolStarted - FusionPhaseKindCritic = rpc.FusionPhaseKindCritic - FusionPhaseKindDraft = rpc.FusionPhaseKindDraft - FusionPhaseKindFollowUp = rpc.FusionPhaseKindFollowUp - FusionPhaseKindJudge = rpc.FusionPhaseKindJudge - FusionPhaseKindPrimary = rpc.FusionPhaseKindPrimary - FusionPhaseKindRepair = rpc.FusionPhaseKindRepair - FusionPhaseKindRevision = rpc.FusionPhaseKindRevision - FusionPhaseStatusCancelled = rpc.FusionPhaseStatusCancelled - FusionPhaseStatusFailed = rpc.FusionPhaseStatusFailed - FusionPhaseStatusSucceeded = rpc.FusionPhaseStatusSucceeded - FusionProjectionModeAppend = rpc.FusionProjectionModeAppend - FusionProjectionModeNone = rpc.FusionProjectionModeNone - FusionProjectionModeStaged = rpc.FusionProjectionModeStaged - FusionTurnKindCompaction = rpc.FusionTurnKindCompaction - FusionTurnKindUser = rpc.FusionTurnKindUser - HandoffSourceTypeLocal = rpc.HandoffSourceTypeLocal - HandoffSourceTypeRemote = rpc.HandoffSourceTypeRemote - ManagedSettingsEnforcedActionBypassPermissionsBlocked = rpc.ManagedSettingsEnforcedActionBypassPermissionsBlocked - ManagedSettingsEnforcedEscalationAllowAll = rpc.ManagedSettingsEnforcedEscalationAllowAll - ManagedSettingsEnforcedEscalationApproveAll = rpc.ManagedSettingsEnforcedEscalationApproveAll - ManagedSettingsEnforcedEscalationAssistedApproval = rpc.ManagedSettingsEnforcedEscalationAssistedApproval - ManagedSettingsEnforcedEscalationServerWideMCPApproval = rpc.ManagedSettingsEnforcedEscalationServerWideMCPApproval - ManagedSettingsEnforcedEscalationUnrestrictedPaths = rpc.ManagedSettingsEnforcedEscalationUnrestrictedPaths - ManagedSettingsEnforcedEscalationUnrestrictedURLs = rpc.ManagedSettingsEnforcedEscalationUnrestrictedURLs - ManagedSettingsResolvedSourceClient = rpc.ManagedSettingsResolvedSourceClient - ManagedSettingsResolvedSourceDevice = rpc.ManagedSettingsResolvedSourceDevice - ManagedSettingsResolvedSourceMixed = rpc.ManagedSettingsResolvedSourceMixed - ManagedSettingsResolvedSourceNone = rpc.ManagedSettingsResolvedSourceNone - ManagedSettingsResolvedSourcePolicyHelper = rpc.ManagedSettingsResolvedSourcePolicyHelper - ManagedSettingsResolvedSourceServer = rpc.ManagedSettingsResolvedSourceServer - MCPHeadersRefreshCompletedOutcomeError = rpc.MCPHeadersRefreshCompletedOutcomeError - MCPHeadersRefreshCompletedOutcomeHeaders = rpc.MCPHeadersRefreshCompletedOutcomeHeaders - MCPHeadersRefreshCompletedOutcomeNone = rpc.MCPHeadersRefreshCompletedOutcomeNone - MCPHeadersRefreshCompletedOutcomeTimeout = rpc.MCPHeadersRefreshCompletedOutcomeTimeout - MCPHeadersRefreshRequiredReasonAuthFailed = rpc.MCPHeadersRefreshRequiredReasonAuthFailed - MCPHeadersRefreshRequiredReasonStartup = rpc.MCPHeadersRefreshRequiredReasonStartup - MCPHeadersRefreshRequiredReasonTtlExpired = rpc.MCPHeadersRefreshRequiredReasonTtlExpired - MCPOauthCompletionOutcomeCancelled = rpc.MCPOauthCompletionOutcomeCancelled - MCPOauthCompletionOutcomeToken = rpc.MCPOauthCompletionOutcomeToken - MCPOauthRequestReasonInitial = rpc.MCPOauthRequestReasonInitial - MCPOauthRequestReasonReauth = rpc.MCPOauthRequestReasonReauth - MCPOauthRequestReasonRefresh = rpc.MCPOauthRequestReasonRefresh - MCPOauthRequestReasonUpscope = rpc.MCPOauthRequestReasonUpscope - MCPOauthRequiredStaticClientConfigGrantTypeClientCredentials = rpc.MCPOauthRequiredStaticClientConfigGrantTypeClientCredentials - MCPServerSourceBuiltin = rpc.MCPServerSourceBuiltin - MCPServerSourceManaged = rpc.MCPServerSourceManaged - MCPServerSourcePlugin = rpc.MCPServerSourcePlugin - MCPServerSourceUser = rpc.MCPServerSourceUser - MCPServerSourceWorkspace = rpc.MCPServerSourceWorkspace - MCPServerStatusConnected = rpc.MCPServerStatusConnected - MCPServerStatusDisabled = rpc.MCPServerStatusDisabled - MCPServerStatusFailed = rpc.MCPServerStatusFailed - MCPServerStatusNeedsAuth = rpc.MCPServerStatusNeedsAuth - MCPServerStatusNotConfigured = rpc.MCPServerStatusNotConfigured - MCPServerStatusPending = rpc.MCPServerStatusPending - MCPServerStatusStopped = rpc.MCPServerStatusStopped - MCPServerTransportHTTP = rpc.MCPServerTransportHTTP - MCPServerTransportMemory = rpc.MCPServerTransportMemory - MCPServerTransportSSE = rpc.MCPServerTransportSSE - MCPServerTransportStdio = rpc.MCPServerTransportStdio - ModelCallFailureBadRequestKindBodyless = rpc.ModelCallFailureBadRequestKindBodyless - ModelCallFailureBadRequestKindStructuredError = rpc.ModelCallFailureBadRequestKindStructuredError - ModelCallFailureKindAPI = rpc.ModelCallFailureKindAPI - ModelCallFailureKindTransport = rpc.ModelCallFailureKindTransport - ModelCallFailureSourceMCPSampling = rpc.ModelCallFailureSourceMCPSampling - ModelCallFailureSourceSubagent = rpc.ModelCallFailureSourceSubagent - ModelCallFailureSourceTopLevel = rpc.ModelCallFailureSourceTopLevel - ModelCallFailureTransportHTTP = rpc.ModelCallFailureTransportHTTP - ModelCallFailureTransportWebsocket = rpc.ModelCallFailureTransportWebsocket - ModelCallFinishedOutcomeCancelled = rpc.ModelCallFinishedOutcomeCancelled - ModelCallFinishedOutcomeError = rpc.ModelCallFinishedOutcomeError - ModelCallFinishedOutcomeRejected = rpc.ModelCallFinishedOutcomeRejected - ModelCallFinishedOutcomeSuccess = rpc.ModelCallFinishedOutcomeSuccess - ModelChangeSourceAgent = rpc.ModelChangeSourceAgent - ModelChangeSourceAutomatic = rpc.ModelChangeSourceAutomatic - ModelChangeSourceConfigCommand = rpc.ModelChangeSourceConfigCommand - ModelChangeSourceManagedSettings = rpc.ModelChangeSourceManagedSettings - ModelChangeSourceModelCommand = rpc.ModelChangeSourceModelCommand - ModelChangeSourceModelPicker = rpc.ModelChangeSourceModelPicker - ModelChangeSourcePlanMode = rpc.ModelChangeSourcePlanMode - ModelChangeSourceRepoSettings = rpc.ModelChangeSourceRepoSettings - ModelChangeSourceSDK = rpc.ModelChangeSourceSDK - ModelChangeSourceSettingsCommand = rpc.ModelChangeSourceSettingsCommand - ModelChangeSourceStartup = rpc.ModelChangeSourceStartup - OmittedBinaryOmittedReasonAssetUnavailable = rpc.OmittedBinaryOmittedReasonAssetUnavailable - OmittedBinaryOmittedReasonTooLarge = rpc.OmittedBinaryOmittedReasonTooLarge - OmittedBinaryTypeImage = rpc.OmittedBinaryTypeImage - OmittedBinaryTypeResource = rpc.OmittedBinaryTypeResource - PermissionDecisionSourceAuthorizationCarryForward = rpc.PermissionDecisionSourceAuthorizationCarryForward - PermissionMessageAuthorizationPolarityDenial = rpc.PermissionMessageAuthorizationPolarityDenial - PermissionMessageAuthorizationPolarityGrant = rpc.PermissionMessageAuthorizationPolarityGrant - PermissionModeAllowAll = rpc.PermissionModeAllowAll - PermissionModeAssisted = rpc.PermissionModeAssisted - PermissionModeManual = rpc.PermissionModeManual - PermissionPromptRequestKindCommands = rpc.PermissionPromptRequestKindCommands - PermissionPromptRequestKindCustomTool = rpc.PermissionPromptRequestKindCustomTool - PermissionPromptRequestKindExtensionEnvAccess = rpc.PermissionPromptRequestKindExtensionEnvAccess - PermissionPromptRequestKindExtensionManagement = rpc.PermissionPromptRequestKindExtensionManagement - PermissionPromptRequestKindExtensionPermissionAccess = rpc.PermissionPromptRequestKindExtensionPermissionAccess - PermissionPromptRequestKindFactory = rpc.PermissionPromptRequestKindFactory - PermissionPromptRequestKindHook = rpc.PermissionPromptRequestKindHook - PermissionPromptRequestKindMCP = rpc.PermissionPromptRequestKindMCP - PermissionPromptRequestKindMemory = rpc.PermissionPromptRequestKindMemory - PermissionPromptRequestKindPath = rpc.PermissionPromptRequestKindPath - PermissionPromptRequestKindRead = rpc.PermissionPromptRequestKindRead - PermissionPromptRequestKindURL = rpc.PermissionPromptRequestKindURL - PermissionPromptRequestKindWrite = rpc.PermissionPromptRequestKindWrite - PermissionPromptRequestPathAccessKindRead = rpc.PermissionPromptRequestPathAccessKindRead - PermissionPromptRequestPathAccessKindShell = rpc.PermissionPromptRequestPathAccessKindShell - PermissionPromptRequestPathAccessKindWrite = rpc.PermissionPromptRequestPathAccessKindWrite - PermissionRecommendationApprove = rpc.PermissionRecommendationApprove - PermissionRequestKindCustomTool = rpc.PermissionRequestKindCustomTool - PermissionRequestKindExtensionEnvAccess = rpc.PermissionRequestKindExtensionEnvAccess - PermissionRequestKindExtensionManagement = rpc.PermissionRequestKindExtensionManagement - PermissionRequestKindExtensionPermissionAccess = rpc.PermissionRequestKindExtensionPermissionAccess - PermissionRequestKindFactory = rpc.PermissionRequestKindFactory - PermissionRequestKindHook = rpc.PermissionRequestKindHook - PermissionRequestKindMCP = rpc.PermissionRequestKindMCP - PermissionRequestKindMemory = rpc.PermissionRequestKindMemory - PermissionRequestKindRead = rpc.PermissionRequestKindRead - PermissionRequestKindShell = rpc.PermissionRequestKindShell - PermissionRequestKindURL = rpc.PermissionRequestKindURL - PermissionRequestKindWrite = rpc.PermissionRequestKindWrite - PermissionRequestMemoryActionStore = rpc.PermissionRequestMemoryActionStore - PermissionRequestMemoryActionVote = rpc.PermissionRequestMemoryActionVote - PermissionRequestMemoryDirectionDownvote = rpc.PermissionRequestMemoryDirectionDownvote - PermissionRequestMemoryDirectionUpvote = rpc.PermissionRequestMemoryDirectionUpvote - PermissionRequestMemoryScopeRepository = rpc.PermissionRequestMemoryScopeRepository - PermissionRequestMemoryScopeUser = rpc.PermissionRequestMemoryScopeUser - PermissionResultKindApproved = rpc.PermissionResultKindApproved - PermissionResultKindApprovedForLocation = rpc.PermissionResultKindApprovedForLocation - PermissionResultKindApprovedForSession = rpc.PermissionResultKindApprovedForSession - PermissionResultKindCancelled = rpc.PermissionResultKindCancelled - PermissionResultKindDeniedByContentExclusionPolicy = rpc.PermissionResultKindDeniedByContentExclusionPolicy - PermissionResultKindDeniedByPermissionRequestHook = rpc.PermissionResultKindDeniedByPermissionRequestHook - PermissionResultKindDeniedByRules = rpc.PermissionResultKindDeniedByRules - PermissionResultKindDeniedInteractivelyByUser = rpc.PermissionResultKindDeniedInteractivelyByUser - PermissionResultKindDeniedNoApprovalRuleAndCouldNotRequestFromUser = rpc.PermissionResultKindDeniedNoApprovalRuleAndCouldNotRequestFromUser - PersistedBinaryImageTypeImage = rpc.PersistedBinaryImageTypeImage - PersistedBinaryImageTypeResource = rpc.PersistedBinaryImageTypeResource - PersistedBinaryResultTypeImage = rpc.PersistedBinaryResultTypeImage - PersistedBinaryResultTypeResource = rpc.PersistedBinaryResultTypeResource - PlanChangedOperationCreate = rpc.PlanChangedOperationCreate - PlanChangedOperationDelete = rpc.PlanChangedOperationDelete - PlanChangedOperationUpdate = rpc.PlanChangedOperationUpdate - ReasoningSummaryConcise = rpc.ReasoningSummaryConcise - ReasoningSummaryDetailed = rpc.ReasoningSummaryDetailed - ReasoningSummaryNone = rpc.ReasoningSummaryNone - RecommendedAutoTierBalance = rpc.RecommendedAutoTierBalance - RecommendedAutoTierEfficiency = rpc.RecommendedAutoTierEfficiency - RecommendedAutoTierIntelligence = rpc.RecommendedAutoTierIntelligence - RemediationActionAllowSandboxOutbound = rpc.RemediationActionAllowSandboxOutbound - RemediationActionReviewSandboxPolicy = rpc.RemediationActionReviewSandboxPolicy - RemediationActionShowAccount = rpc.RemediationActionShowAccount - RemediationActionSignIn = rpc.RemediationActionSignIn - RemediationActionSwitchAccount = rpc.RemediationActionSwitchAccount - ScheduleOriginModel = rpc.ScheduleOriginModel - ScheduleOriginUser = rpc.ScheduleOriginUser - SessionEventTypeAbort = rpc.SessionEventTypeAbort - SessionEventTypeAgentInterrupted = rpc.SessionEventTypeAgentInterrupted - SessionEventTypeAssistantFusionPhaseActivity = rpc.SessionEventTypeAssistantFusionPhaseActivity - SessionEventTypeAssistantFusionPhaseCompleted = rpc.SessionEventTypeAssistantFusionPhaseCompleted - SessionEventTypeAssistantFusionPhaseFailed = rpc.SessionEventTypeAssistantFusionPhaseFailed - SessionEventTypeAssistantFusionPhaseStarted = rpc.SessionEventTypeAssistantFusionPhaseStarted - SessionEventTypeAssistantIdle = rpc.SessionEventTypeAssistantIdle - SessionEventTypeAssistantIntent = rpc.SessionEventTypeAssistantIntent - SessionEventTypeAssistantMessage = rpc.SessionEventTypeAssistantMessage - SessionEventTypeAssistantMessageDelta = rpc.SessionEventTypeAssistantMessageDelta - SessionEventTypeAssistantMessageStart = rpc.SessionEventTypeAssistantMessageStart - SessionEventTypeAssistantReasoning = rpc.SessionEventTypeAssistantReasoning - SessionEventTypeAssistantReasoningDelta = rpc.SessionEventTypeAssistantReasoningDelta - SessionEventTypeAssistantServerToolProgress = rpc.SessionEventTypeAssistantServerToolProgress - SessionEventTypeAssistantStreamingDelta = rpc.SessionEventTypeAssistantStreamingDelta - SessionEventTypeAssistantToolCallDelta = rpc.SessionEventTypeAssistantToolCallDelta - SessionEventTypeAssistantTurnEnd = rpc.SessionEventTypeAssistantTurnEnd - SessionEventTypeAssistantTurnRetry = rpc.SessionEventTypeAssistantTurnRetry - SessionEventTypeAssistantTurnStart = rpc.SessionEventTypeAssistantTurnStart - SessionEventTypeAssistantUsage = rpc.SessionEventTypeAssistantUsage - SessionEventTypeAutoModeSwitchCompleted = rpc.SessionEventTypeAutoModeSwitchCompleted - SessionEventTypeAutoModeSwitchRequested = rpc.SessionEventTypeAutoModeSwitchRequested - SessionEventTypeCapabilitiesChanged = rpc.SessionEventTypeCapabilitiesChanged - SessionEventTypeCommandCompleted = rpc.SessionEventTypeCommandCompleted - SessionEventTypeCommandExecute = rpc.SessionEventTypeCommandExecute - SessionEventTypeCommandQueued = rpc.SessionEventTypeCommandQueued - SessionEventTypeCommandsChanged = rpc.SessionEventTypeCommandsChanged - SessionEventTypeElicitationCompleted = rpc.SessionEventTypeElicitationCompleted - SessionEventTypeElicitationRequested = rpc.SessionEventTypeElicitationRequested - SessionEventTypeExitPlanModeCompleted = rpc.SessionEventTypeExitPlanModeCompleted - SessionEventTypeExitPlanModeRequested = rpc.SessionEventTypeExitPlanModeRequested - SessionEventTypeExternalToolCompleted = rpc.SessionEventTypeExternalToolCompleted - SessionEventTypeExternalToolRequested = rpc.SessionEventTypeExternalToolRequested - SessionEventTypeFactoryRunSettled = rpc.SessionEventTypeFactoryRunSettled - SessionEventTypeFactoryRunStarted = rpc.SessionEventTypeFactoryRunStarted - SessionEventTypeFactoryRunUpdated = rpc.SessionEventTypeFactoryRunUpdated - SessionEventTypeHookEnd = rpc.SessionEventTypeHookEnd - SessionEventTypeHookProgress = rpc.SessionEventTypeHookProgress - SessionEventTypeHookStart = rpc.SessionEventTypeHookStart - SessionEventTypeMCPAppToolCallComplete = rpc.SessionEventTypeMCPAppToolCallComplete - SessionEventTypeMCPHeadersRefreshCompleted = rpc.SessionEventTypeMCPHeadersRefreshCompleted - SessionEventTypeMCPHeadersRefreshRequired = rpc.SessionEventTypeMCPHeadersRefreshRequired - SessionEventTypeMCPOauthCompleted = rpc.SessionEventTypeMCPOauthCompleted - SessionEventTypeMCPOauthRequired = rpc.SessionEventTypeMCPOauthRequired - SessionEventTypeMCPPromptsListChanged = rpc.SessionEventTypeMCPPromptsListChanged - SessionEventTypeMCPResourcesListChanged = rpc.SessionEventTypeMCPResourcesListChanged - SessionEventTypeMCPToolsListChanged = rpc.SessionEventTypeMCPToolsListChanged - SessionEventTypeModelCallFailure = rpc.SessionEventTypeModelCallFailure - SessionEventTypeModelCallFinished = rpc.SessionEventTypeModelCallFinished - SessionEventTypeModelCallStart = rpc.SessionEventTypeModelCallStart - SessionEventTypePendingMessagesModified = rpc.SessionEventTypePendingMessagesModified - SessionEventTypePermissionAssentDetected = rpc.SessionEventTypePermissionAssentDetected - SessionEventTypePermissionCarriedForward = rpc.SessionEventTypePermissionCarriedForward - SessionEventTypePermissionCompleted = rpc.SessionEventTypePermissionCompleted - SessionEventTypePermissionContextualAuthorization = rpc.SessionEventTypePermissionContextualAuthorization - SessionEventTypePermissionMessageAuthorization = rpc.SessionEventTypePermissionMessageAuthorization - SessionEventTypePermissionMessageAuthorizationDegraded = rpc.SessionEventTypePermissionMessageAuthorizationDegraded - SessionEventTypePermissionMessageAuthorizationRead = rpc.SessionEventTypePermissionMessageAuthorizationRead - SessionEventTypePermissionRequested = rpc.SessionEventTypePermissionRequested - SessionEventTypePromptCacheBreak = rpc.SessionEventTypePromptCacheBreak - SessionEventTypeSamplingCompleted = rpc.SessionEventTypeSamplingCompleted - SessionEventTypeSamplingRequested = rpc.SessionEventTypeSamplingRequested - SessionEventTypeSandboxDecision = rpc.SessionEventTypeSandboxDecision - SessionEventTypeSessionAutoModeResolved = rpc.SessionEventTypeSessionAutoModeResolved - SessionEventTypeSessionAutopilotObjectiveChanged = rpc.SessionEventTypeSessionAutopilotObjectiveChanged - SessionEventTypeSessionAutoTierRecommendation = rpc.SessionEventTypeSessionAutoTierRecommendation - SessionEventTypeSessionAutoTierSwitchFailed = rpc.SessionEventTypeSessionAutoTierSwitchFailed - SessionEventTypeSessionBackgroundTasksChanged = rpc.SessionEventTypeSessionBackgroundTasksChanged - SessionEventTypeSessionBinaryAsset = rpc.SessionEventTypeSessionBinaryAsset - SessionEventTypeSessionCanvasClosed = rpc.SessionEventTypeSessionCanvasClosed - SessionEventTypeSessionCanvasOpened = rpc.SessionEventTypeSessionCanvasOpened - SessionEventTypeSessionCanvasRecorded = rpc.SessionEventTypeSessionCanvasRecorded - SessionEventTypeSessionCanvasRegistryChanged = rpc.SessionEventTypeSessionCanvasRegistryChanged - SessionEventTypeSessionCanvasRemoved = rpc.SessionEventTypeSessionCanvasRemoved - SessionEventTypeSessionCanvasUnavailable = rpc.SessionEventTypeSessionCanvasUnavailable - SessionEventTypeSessionCompactionComplete = rpc.SessionEventTypeSessionCompactionComplete - SessionEventTypeSessionCompactionStart = rpc.SessionEventTypeSessionCompactionStart - SessionEventTypeSessionCompletionReceipt = rpc.SessionEventTypeSessionCompletionReceipt - SessionEventTypeSessionContextChanged = rpc.SessionEventTypeSessionContextChanged - SessionEventTypeSessionContextCleared = rpc.SessionEventTypeSessionContextCleared - SessionEventTypeSessionCustomAgentsUpdated = rpc.SessionEventTypeSessionCustomAgentsUpdated - SessionEventTypeSessionCustomNotification = rpc.SessionEventTypeSessionCustomNotification - SessionEventTypeSessionError = rpc.SessionEventTypeSessionError - SessionEventTypeSessionExtensionsAttachmentsPushed = rpc.SessionEventTypeSessionExtensionsAttachmentsPushed - SessionEventTypeSessionExtensionsLoaded = rpc.SessionEventTypeSessionExtensionsLoaded - SessionEventTypeSessionFusionCompleted = rpc.SessionEventTypeSessionFusionCompleted - SessionEventTypeSessionFusionResolved = rpc.SessionEventTypeSessionFusionResolved - SessionEventTypeSessionFusionRouteFailed = rpc.SessionEventTypeSessionFusionRouteFailed - SessionEventTypeSessionFusionRouteStarted = rpc.SessionEventTypeSessionFusionRouteStarted - SessionEventTypeSessionHandoff = rpc.SessionEventTypeSessionHandoff - SessionEventTypeSessionIdle = rpc.SessionEventTypeSessionIdle - SessionEventTypeSessionInfo = rpc.SessionEventTypeSessionInfo - SessionEventTypeSessionLimitsExhaustedCompleted = rpc.SessionEventTypeSessionLimitsExhaustedCompleted - SessionEventTypeSessionLimitsExhaustedRequested = rpc.SessionEventTypeSessionLimitsExhaustedRequested - SessionEventTypeSessionManagedSettingsEnforced = rpc.SessionEventTypeSessionManagedSettingsEnforced - SessionEventTypeSessionManagedSettingsResolved = rpc.SessionEventTypeSessionManagedSettingsResolved - SessionEventTypeSessionMCPServerNeedsReconnect = rpc.SessionEventTypeSessionMCPServerNeedsReconnect - SessionEventTypeSessionMCPServerRemoved = rpc.SessionEventTypeSessionMCPServerRemoved - SessionEventTypeSessionMCPServersLoaded = rpc.SessionEventTypeSessionMCPServersLoaded - SessionEventTypeSessionMCPServerStatusChanged = rpc.SessionEventTypeSessionMCPServerStatusChanged - SessionEventTypeSessionModeChanged = rpc.SessionEventTypeSessionModeChanged - SessionEventTypeSessionModelChange = rpc.SessionEventTypeSessionModelChange - SessionEventTypeSessionModeNoticeDelivered = rpc.SessionEventTypeSessionModeNoticeDelivered - SessionEventTypeSessionPermissionsChanged = rpc.SessionEventTypeSessionPermissionsChanged - SessionEventTypeSessionPlanChanged = rpc.SessionEventTypeSessionPlanChanged - SessionEventTypeSessionRemoteSteerableChanged = rpc.SessionEventTypeSessionRemoteSteerableChanged - SessionEventTypeSessionResume = rpc.SessionEventTypeSessionResume - SessionEventTypeSessionScheduleCancelled = rpc.SessionEventTypeSessionScheduleCancelled - SessionEventTypeSessionScheduleCreated = rpc.SessionEventTypeSessionScheduleCreated - SessionEventTypeSessionScheduleRearmed = rpc.SessionEventTypeSessionScheduleRearmed - SessionEventTypeSessionSessionLimitsChanged = rpc.SessionEventTypeSessionSessionLimitsChanged - SessionEventTypeSessionShutdown = rpc.SessionEventTypeSessionShutdown - SessionEventTypeSessionSkillsLoaded = rpc.SessionEventTypeSessionSkillsLoaded - SessionEventTypeSessionSnapshotRewind = rpc.SessionEventTypeSessionSnapshotRewind - SessionEventTypeSessionStart = rpc.SessionEventTypeSessionStart - SessionEventTypeSessionTaskComplete = rpc.SessionEventTypeSessionTaskComplete - SessionEventTypeSessionTitleChanged = rpc.SessionEventTypeSessionTitleChanged - SessionEventTypeSessionTodosChanged = rpc.SessionEventTypeSessionTodosChanged - SessionEventTypeSessionToolsUpdated = rpc.SessionEventTypeSessionToolsUpdated - SessionEventTypeSessionTruncation = rpc.SessionEventTypeSessionTruncation - SessionEventTypeSessionUsageCheckpoint = rpc.SessionEventTypeSessionUsageCheckpoint - SessionEventTypeSessionUsageInfo = rpc.SessionEventTypeSessionUsageInfo - SessionEventTypeSessionWarning = rpc.SessionEventTypeSessionWarning - SessionEventTypeSessionWorkspaceFileChanged = rpc.SessionEventTypeSessionWorkspaceFileChanged - SessionEventTypeSkillContextDelivered = rpc.SessionEventTypeSkillContextDelivered - SessionEventTypeSkillContextDeliveredRef = rpc.SessionEventTypeSkillContextDeliveredRef - SessionEventTypeSkillInvoked = rpc.SessionEventTypeSkillInvoked - SessionEventTypeSkillInvokedRef = rpc.SessionEventTypeSkillInvokedRef - SessionEventTypeSubagentCompleted = rpc.SessionEventTypeSubagentCompleted - SessionEventTypeSubagentConfigured = rpc.SessionEventTypeSubagentConfigured - SessionEventTypeSubagentDeselected = rpc.SessionEventTypeSubagentDeselected - SessionEventTypeSubagentFailed = rpc.SessionEventTypeSubagentFailed - SessionEventTypeSubagentSelected = rpc.SessionEventTypeSubagentSelected - SessionEventTypeSubagentStarted = rpc.SessionEventTypeSubagentStarted - SessionEventTypeSystemMessage = rpc.SessionEventTypeSystemMessage - SessionEventTypeSystemNotification = rpc.SessionEventTypeSystemNotification - SessionEventTypeToolExecutionComplete = rpc.SessionEventTypeToolExecutionComplete - SessionEventTypeToolExecutionPartialResult = rpc.SessionEventTypeToolExecutionPartialResult - SessionEventTypeToolExecutionProgress = rpc.SessionEventTypeToolExecutionProgress - SessionEventTypeToolExecutionStart = rpc.SessionEventTypeToolExecutionStart - SessionEventTypeToolSearchActivated = rpc.SessionEventTypeToolSearchActivated - SessionEventTypeToolUserRequested = rpc.SessionEventTypeToolUserRequested - SessionEventTypeUIEphemeralQuery = rpc.SessionEventTypeUIEphemeralQuery - SessionEventTypeUserInputCompleted = rpc.SessionEventTypeUserInputCompleted - SessionEventTypeUserInputRequested = rpc.SessionEventTypeUserInputRequested - SessionEventTypeUserMessage = rpc.SessionEventTypeUserMessage - SessionLimitsExhaustedResponseActionAdd = rpc.SessionLimitsExhaustedResponseActionAdd - SessionLimitsExhaustedResponseActionCancel = rpc.SessionLimitsExhaustedResponseActionCancel - SessionLimitsExhaustedResponseActionSet = rpc.SessionLimitsExhaustedResponseActionSet - SessionLimitsExhaustedResponseActionUnset = rpc.SessionLimitsExhaustedResponseActionUnset - SessionModeAutopilot = rpc.SessionModeAutopilot - SessionModeInteractive = rpc.SessionModeInteractive - SessionModePlan = rpc.SessionModePlan - ShutdownTypeError = rpc.ShutdownTypeError - ShutdownTypeRoutine = rpc.ShutdownTypeRoutine - SkillInvokedTriggerAgentInvoked = rpc.SkillInvokedTriggerAgentInvoked - SkillInvokedTriggerContextLoad = rpc.SkillInvokedTriggerContextLoad - SkillInvokedTriggerUserInvoked = rpc.SkillInvokedTriggerUserInvoked - SkillSourceBuiltin = rpc.SkillSourceBuiltin - SkillSourceCustom = rpc.SkillSourceCustom - SkillSourceInherited = rpc.SkillSourceInherited - SkillSourcePersonalAgents = rpc.SkillSourcePersonalAgents - SkillSourcePersonalCopilot = rpc.SkillSourcePersonalCopilot - SkillSourcePlugin = rpc.SkillSourcePlugin - SkillSourceProject = rpc.SkillSourceProject - SkillSourceSDK = rpc.SkillSourceSDK - SubagentModelSelectionSourceAgentDefinitionDefault = rpc.SubagentModelSelectionSourceAgentDefinitionDefault - SubagentModelSelectionSourceComplementaryDefault = rpc.SubagentModelSelectionSourceComplementaryDefault - SubagentModelSelectionSourceConfiguredPreference = rpc.SubagentModelSelectionSourceConfiguredPreference - SubagentModelSelectionSourceConfiguredRequired = rpc.SubagentModelSelectionSourceConfiguredRequired - SubagentModelSelectionSourceExplicitOverride = rpc.SubagentModelSelectionSourceExplicitOverride - SubagentModelSelectionSourceRuntimePolicy = rpc.SubagentModelSelectionSourceRuntimePolicy - SubagentModelSelectionSourceSessionInheritance = rpc.SubagentModelSelectionSourceSessionInheritance - SubagentTaskModelSourceCustomAgentDefinition = rpc.SubagentTaskModelSourceCustomAgentDefinition - SubagentTaskModelSourceSubagentConfiguration = rpc.SubagentTaskModelSourceSubagentConfiguration - SubagentTaskModelSourceTaskArgument = rpc.SubagentTaskModelSourceTaskArgument - SubagentTaskModelSourceUnset = rpc.SubagentTaskModelSourceUnset - SystemMessageRoleDeveloper = rpc.SystemMessageRoleDeveloper - SystemMessageRoleSystem = rpc.SystemMessageRoleSystem - SystemNotificationAgentCompletedStatusCompleted = rpc.SystemNotificationAgentCompletedStatusCompleted - SystemNotificationAgentCompletedStatusFailed = rpc.SystemNotificationAgentCompletedStatusFailed - SystemNotificationFactoryCompletedStatusCancelled = rpc.SystemNotificationFactoryCompletedStatusCancelled - SystemNotificationFactoryCompletedStatusCompleted = rpc.SystemNotificationFactoryCompletedStatusCompleted - SystemNotificationFactoryCompletedStatusError = rpc.SystemNotificationFactoryCompletedStatusError - SystemNotificationFactoryCompletedStatusHalted = rpc.SystemNotificationFactoryCompletedStatusHalted - SystemNotificationFactoryCompletedStatusPaused = rpc.SystemNotificationFactoryCompletedStatusPaused - SystemNotificationFactoryPauseInfoTypeCheckpoint = rpc.SystemNotificationFactoryPauseInfoTypeCheckpoint - SystemNotificationFactoryPauseInfoTypeUser = rpc.SystemNotificationFactoryPauseInfoTypeUser - SystemNotificationTypeAgentCompleted = rpc.SystemNotificationTypeAgentCompleted - SystemNotificationTypeAgentIdle = rpc.SystemNotificationTypeAgentIdle - SystemNotificationTypeFactoryCompleted = rpc.SystemNotificationTypeFactoryCompleted - SystemNotificationTypeInstructionDiscovered = rpc.SystemNotificationTypeInstructionDiscovered - SystemNotificationTypeNewInboxMessage = rpc.SystemNotificationTypeNewInboxMessage - SystemNotificationTypeShellCompleted = rpc.SystemNotificationTypeShellCompleted - SystemNotificationTypeShellDetachedCompleted = rpc.SystemNotificationTypeShellDetachedCompleted - SystemNotificationTypeUnclassified = rpc.SystemNotificationTypeUnclassified - TaskCompletionOutcomeBlocked = rpc.TaskCompletionOutcomeBlocked - TaskCompletionOutcomeCompleted = rpc.TaskCompletionOutcomeCompleted - TaskCompletionOutcomeContinue = rpc.TaskCompletionOutcomeContinue - ToolExecutionCompleteContentResourceLinkIconThemeDark = rpc.ToolExecutionCompleteContentResourceLinkIconThemeDark - ToolExecutionCompleteContentResourceLinkIconThemeLight = rpc.ToolExecutionCompleteContentResourceLinkIconThemeLight - ToolExecutionCompleteContentTypeAudio = rpc.ToolExecutionCompleteContentTypeAudio - ToolExecutionCompleteContentTypeImage = rpc.ToolExecutionCompleteContentTypeImage - ToolExecutionCompleteContentTypeResource = rpc.ToolExecutionCompleteContentTypeResource - ToolExecutionCompleteContentTypeResourceLink = rpc.ToolExecutionCompleteContentTypeResourceLink - ToolExecutionCompleteContentTypeShellExit = rpc.ToolExecutionCompleteContentTypeShellExit - ToolExecutionCompleteContentTypeTerminal = rpc.ToolExecutionCompleteContentTypeTerminal - ToolExecutionCompleteContentTypeText = rpc.ToolExecutionCompleteContentTypeText - ToolExecutionCompleteToolDescriptionMetaUIVisibilityApp = rpc.ToolExecutionCompleteToolDescriptionMetaUIVisibilityApp - ToolExecutionCompleteToolDescriptionMetaUIVisibilityModel = rpc.ToolExecutionCompleteToolDescriptionMetaUIVisibilityModel - ToolExecutionStartToolDescriptionMetaUIVisibilityApp = rpc.ToolExecutionStartToolDescriptionMetaUIVisibilityApp - ToolExecutionStartToolDescriptionMetaUIVisibilityModel = rpc.ToolExecutionStartToolDescriptionMetaUIVisibilityModel - UIEphemeralQueryPhaseAborted = rpc.UIEphemeralQueryPhaseAborted - UIEphemeralQueryPhaseChunk = rpc.UIEphemeralQueryPhaseChunk - UIEphemeralQueryPhaseCompleted = rpc.UIEphemeralQueryPhaseCompleted - UIEphemeralQueryPhaseFailed = rpc.UIEphemeralQueryPhaseFailed - UIEphemeralQueryPhaseStarted = rpc.UIEphemeralQueryPhaseStarted - UserMessageAgentModeAutopilot = rpc.UserMessageAgentModeAutopilot - UserMessageAgentModeInteractive = rpc.UserMessageAgentModeInteractive - UserMessageAgentModePlan = rpc.UserMessageAgentModePlan - UserMessageAgentModeShell = rpc.UserMessageAgentModeShell - UserMessageDeliveryIdle = rpc.UserMessageDeliveryIdle - UserMessageDeliveryQueued = rpc.UserMessageDeliveryQueued - UserMessageDeliverySteering = rpc.UserMessageDeliverySteering - UserToolSessionApprovalKindCommands = rpc.UserToolSessionApprovalKindCommands - UserToolSessionApprovalKindCustomTool = rpc.UserToolSessionApprovalKindCustomTool - UserToolSessionApprovalKindExtensionEnvAccess = rpc.UserToolSessionApprovalKindExtensionEnvAccess - UserToolSessionApprovalKindExtensionManagement = rpc.UserToolSessionApprovalKindExtensionManagement - UserToolSessionApprovalKindExtensionPermissionAccess = rpc.UserToolSessionApprovalKindExtensionPermissionAccess - UserToolSessionApprovalKindFactory = rpc.UserToolSessionApprovalKindFactory - UserToolSessionApprovalKindMCP = rpc.UserToolSessionApprovalKindMCP - UserToolSessionApprovalKindMemory = rpc.UserToolSessionApprovalKindMemory - UserToolSessionApprovalKindRead = rpc.UserToolSessionApprovalKindRead - UserToolSessionApprovalKindWrite = rpc.UserToolSessionApprovalKindWrite - VerbosityHigh = rpc.VerbosityHigh - VerbosityLow = rpc.VerbosityLow - VerbosityMedium = rpc.VerbosityMedium - WorkingDirectoryContextHostTypeADO = rpc.WorkingDirectoryContextHostTypeADO - WorkingDirectoryContextHostTypeGitHub = rpc.WorkingDirectoryContextHostTypeGitHub - WorkspaceFileChangedOperationCreate = rpc.WorkspaceFileChangedOperationCreate - WorkspaceFileChangedOperationUpdate = rpc.WorkspaceFileChangedOperationUpdate + AbortReasonAutopilotCreditLimit = rpc.AbortReasonAutopilotCreditLimit + AbortReasonRemoteCommand = rpc.AbortReasonRemoteCommand + AbortReasonUserAbort = rpc.AbortReasonUserAbort + AbortReasonUserInitiated = rpc.AbortReasonUserInitiated + AgentInterruptedActivityBackgroundAgent = rpc.AgentInterruptedActivityBackgroundAgent + AgentInterruptedActivityModelCall = rpc.AgentInterruptedActivityModelCall + AgentInterruptedActivityRetryBackoff = rpc.AgentInterruptedActivityRetryBackoff + AgentInterruptedActivityToolCall = rpc.AgentInterruptedActivityToolCall + AgentInterruptedCancelPhaseMidStream = rpc.AgentInterruptedCancelPhaseMidStream + AgentInterruptedCancelPhasePreFirstToken = rpc.AgentInterruptedCancelPhasePreFirstToken + AgentModelPolicyPreferred = rpc.AgentModelPolicyPreferred + AgentModelPolicyRequired = rpc.AgentModelPolicyRequired + AssistantMessageToolRequestCallerTypeProgram = rpc.AssistantMessageToolRequestCallerTypeProgram + AssistantMessageToolRequestTypeCustom = rpc.AssistantMessageToolRequestTypeCustom + AssistantMessageToolRequestTypeFunction = rpc.AssistantMessageToolRequestTypeFunction + AssistantUsageAPIEndpointChatCompletions = rpc.AssistantUsageAPIEndpointChatCompletions + AssistantUsageAPIEndpointResponses = rpc.AssistantUsageAPIEndpointResponses + AssistantUsageAPIEndpointV1Messages = rpc.AssistantUsageAPIEndpointV1Messages + AssistantUsageAPIEndpointWsResponses = rpc.AssistantUsageAPIEndpointWsResponses + AssistantUsageTransportHTTP = rpc.AssistantUsageTransportHTTP + AssistantUsageTransportWebsocket = rpc.AssistantUsageTransportWebsocket + AssistedApprovalJudgeFailureReasonAbort = rpc.AssistedApprovalJudgeFailureReasonAbort + AssistedApprovalJudgeFailureReasonEmptyResponse = rpc.AssistedApprovalJudgeFailureReasonEmptyResponse + AssistedApprovalJudgeFailureReasonModelError = rpc.AssistedApprovalJudgeFailureReasonModelError + AssistedApprovalJudgeFailureReasonParseError = rpc.AssistedApprovalJudgeFailureReasonParseError + AssistedApprovalJudgeFailureReasonTimeout = rpc.AssistedApprovalJudgeFailureReasonTimeout + AssistedApprovalRecommendationApprove = rpc.AssistedApprovalRecommendationApprove + AssistedApprovalRecommendationError = rpc.AssistedApprovalRecommendationError + AssistedApprovalRecommendationExcluded = rpc.AssistedApprovalRecommendationExcluded + AssistedApprovalRecommendationRequireApproval = rpc.AssistedApprovalRecommendationRequireApproval + AttachmentGitHubReferenceTypeDiscussion = rpc.AttachmentGitHubReferenceTypeDiscussion + AttachmentGitHubReferenceTypeIssue = rpc.AttachmentGitHubReferenceTypeIssue + AttachmentGitHubReferenceTypePr = rpc.AttachmentGitHubReferenceTypePr + AttachmentTypeBlob = rpc.AttachmentTypeBlob + AttachmentTypeDirectory = rpc.AttachmentTypeDirectory + AttachmentTypeExtensionContext = rpc.AttachmentTypeExtensionContext + AttachmentTypeFile = rpc.AttachmentTypeFile + AttachmentTypeGitHubActionsJob = rpc.AttachmentTypeGitHubActionsJob + AttachmentTypeGitHubCommit = rpc.AttachmentTypeGitHubCommit + AttachmentTypeGitHubFile = rpc.AttachmentTypeGitHubFile + AttachmentTypeGitHubFileDiff = rpc.AttachmentTypeGitHubFileDiff + AttachmentTypeGitHubReference = rpc.AttachmentTypeGitHubReference + AttachmentTypeGitHubRelease = rpc.AttachmentTypeGitHubRelease + AttachmentTypeGitHubRepository = rpc.AttachmentTypeGitHubRepository + AttachmentTypeGitHubSnippet = rpc.AttachmentTypeGitHubSnippet + AttachmentTypeGitHubTreeComparison = rpc.AttachmentTypeGitHubTreeComparison + AttachmentTypeGitHubURL = rpc.AttachmentTypeGitHubURL + AttachmentTypeSelection = rpc.AttachmentTypeSelection + AutoModeResolvedReasoningBucketHigh = rpc.AutoModeResolvedReasoningBucketHigh + AutoModeResolvedReasoningBucketLow = rpc.AutoModeResolvedReasoningBucketLow + AutoModeResolvedReasoningBucketMedium = rpc.AutoModeResolvedReasoningBucketMedium + AutoModeSwitchResponseNo = rpc.AutoModeSwitchResponseNo + AutoModeSwitchResponseYes = rpc.AutoModeSwitchResponseYes + AutoModeSwitchResponseYesAlways = rpc.AutoModeSwitchResponseYesAlways + AutopilotObjectiveChangedOperationCreate = rpc.AutopilotObjectiveChangedOperationCreate + AutopilotObjectiveChangedOperationDelete = rpc.AutopilotObjectiveChangedOperationDelete + AutopilotObjectiveChangedOperationUpdate = rpc.AutopilotObjectiveChangedOperationUpdate + AutopilotObjectiveChangedStatusActive = rpc.AutopilotObjectiveChangedStatusActive + AutopilotObjectiveChangedStatusCapReached = rpc.AutopilotObjectiveChangedStatusCapReached + AutopilotObjectiveChangedStatusCompleted = rpc.AutopilotObjectiveChangedStatusCompleted + AutopilotObjectiveChangedStatusPaused = rpc.AutopilotObjectiveChangedStatusPaused + AutoTierFast = rpc.AutoTierFast + AutoTierSwitchFailureReasonPolicyRejected = rpc.AutoTierSwitchFailureReasonPolicyRejected + AutoTierSwitchFailureReasonRequestFailed = rpc.AutoTierSwitchFailureReasonRequestFailed + AutoTierSwitchFailureReasonSetupFailed = rpc.AutoTierSwitchFailureReasonSetupFailed + AutoTierSwitchFailureReasonUnsupported = rpc.AutoTierSwitchFailureReasonUnsupported + BinaryAssetReferenceTypeImage = rpc.BinaryAssetReferenceTypeImage + BinaryAssetReferenceTypeResource = rpc.BinaryAssetReferenceTypeResource + BinaryAssetTypeImage = rpc.BinaryAssetTypeImage + BinaryAssetTypeResource = rpc.BinaryAssetTypeResource + CitationLocationTypeBlock = rpc.CitationLocationTypeBlock + CitationLocationTypeChar = rpc.CitationLocationTypeChar + CitationLocationTypePage = rpc.CitationLocationTypePage + CitationProviderAnthropic = rpc.CitationProviderAnthropic + CitationProviderClient = rpc.CitationProviderClient + CitationProviderOpenai = rpc.CitationProviderOpenai + CompactionTriggerContextLimitRetry = rpc.CompactionTriggerContextLimitRetry + CompactionTriggerManual = rpc.CompactionTriggerManual + CompactionTriggerMemoryPressure = rpc.CompactionTriggerMemoryPressure + CompactionTriggerModelSwitch = rpc.CompactionTriggerModelSwitch + CompactionTriggerThreshold = rpc.CompactionTriggerThreshold + CompletionReceiptStopReasonAgentStopBlockLimit = rpc.CompletionReceiptStopReasonAgentStopBlockLimit + CompletionReceiptStopReasonNatural = rpc.CompletionReceiptStopReasonNatural + CompletionReceiptStopReasonTerminalTool = rpc.CompletionReceiptStopReasonTerminalTool + CompletionReceiptToolStatusDenied = rpc.CompletionReceiptToolStatusDenied + CompletionReceiptToolStatusFailure = rpc.CompletionReceiptToolStatusFailure + CompletionReceiptToolStatusRejected = rpc.CompletionReceiptToolStatusRejected + CompletionReceiptToolStatusSuccess = rpc.CompletionReceiptToolStatusSuccess + CompletionReceiptToolStatusTimeout = rpc.CompletionReceiptToolStatusTimeout + ContextTierDefault = rpc.ContextTierDefault + ContextTierLongContext = rpc.ContextTierLongContext + ElicitationCompletedActionAccept = rpc.ElicitationCompletedActionAccept + ElicitationCompletedActionCancel = rpc.ElicitationCompletedActionCancel + ElicitationCompletedActionDecline = rpc.ElicitationCompletedActionDecline + ElicitationRequestedModeForm = rpc.ElicitationRequestedModeForm + ElicitationRequestedModeURL = rpc.ElicitationRequestedModeURL + ElicitationRequestedSchemaTypeObject = rpc.ElicitationRequestedSchemaTypeObject + ExitPlanModeActionAutopilot = rpc.ExitPlanModeActionAutopilot + ExitPlanModeActionAutopilotFleet = rpc.ExitPlanModeActionAutopilotFleet + ExitPlanModeActionExitOnly = rpc.ExitPlanModeActionExitOnly + ExitPlanModeActionInteractive = rpc.ExitPlanModeActionInteractive + ExtensionsLoadedExtensionSourcePlugin = rpc.ExtensionsLoadedExtensionSourcePlugin + ExtensionsLoadedExtensionSourceProject = rpc.ExtensionsLoadedExtensionSourceProject + ExtensionsLoadedExtensionSourceSession = rpc.ExtensionsLoadedExtensionSourceSession + ExtensionsLoadedExtensionSourceUser = rpc.ExtensionsLoadedExtensionSourceUser + ExtensionsLoadedExtensionStatusDisabled = rpc.ExtensionsLoadedExtensionStatusDisabled + ExtensionsLoadedExtensionStatusFailed = rpc.ExtensionsLoadedExtensionStatusFailed + ExtensionsLoadedExtensionStatusRunning = rpc.ExtensionsLoadedExtensionStatusRunning + ExtensionsLoadedExtensionStatusStarting = rpc.ExtensionsLoadedExtensionStatusStarting + FactoryPermissionOperationAuthor = rpc.FactoryPermissionOperationAuthor + FactoryPermissionOperationRun = rpc.FactoryPermissionOperationRun + FactoryRunSettledStatusCancelled = rpc.FactoryRunSettledStatusCancelled + FactoryRunSettledStatusCompleted = rpc.FactoryRunSettledStatusCompleted + FactoryRunSettledStatusError = rpc.FactoryRunSettledStatusError + FactoryRunSettledStatusHalted = rpc.FactoryRunSettledStatusHalted + FactoryRunSettledStatusPaused = rpc.FactoryRunSettledStatusPaused + FusionConversationScopeReview = rpc.FusionConversationScopeReview + FusionConversationScopeRoot = rpc.FusionConversationScopeRoot + FusionFollowUpActionReroute = rpc.FusionFollowUpActionReroute + FusionFollowUpActionReusePrimary = rpc.FusionFollowUpActionReusePrimary + FusionPatternCascade = rpc.FusionPatternCascade + FusionPatternCritique = rpc.FusionPatternCritique + FusionPatternSingle = rpc.FusionPatternSingle + FusionPhaseActivityKindModelOutput = rpc.FusionPhaseActivityKindModelOutput + FusionPhaseActivityKindToolCompleted = rpc.FusionPhaseActivityKindToolCompleted + FusionPhaseActivityKindToolStarted = rpc.FusionPhaseActivityKindToolStarted + FusionPhaseKindCritic = rpc.FusionPhaseKindCritic + FusionPhaseKindDraft = rpc.FusionPhaseKindDraft + FusionPhaseKindFollowUp = rpc.FusionPhaseKindFollowUp + FusionPhaseKindJudge = rpc.FusionPhaseKindJudge + FusionPhaseKindPrimary = rpc.FusionPhaseKindPrimary + FusionPhaseKindRepair = rpc.FusionPhaseKindRepair + FusionPhaseKindRevision = rpc.FusionPhaseKindRevision + FusionPhaseStatusCancelled = rpc.FusionPhaseStatusCancelled + FusionPhaseStatusFailed = rpc.FusionPhaseStatusFailed + FusionPhaseStatusSucceeded = rpc.FusionPhaseStatusSucceeded + FusionProjectionModeAppend = rpc.FusionProjectionModeAppend + FusionProjectionModeNone = rpc.FusionProjectionModeNone + FusionProjectionModeStaged = rpc.FusionProjectionModeStaged + FusionTurnKindCompaction = rpc.FusionTurnKindCompaction + FusionTurnKindUser = rpc.FusionTurnKindUser + HandoffSourceTypeLocal = rpc.HandoffSourceTypeLocal + HandoffSourceTypeRemote = rpc.HandoffSourceTypeRemote + ManagedSettingsEnforcedActionBypassPermissionsBlocked = rpc.ManagedSettingsEnforcedActionBypassPermissionsBlocked + ManagedSettingsEnforcedEscalationAllowAll = rpc.ManagedSettingsEnforcedEscalationAllowAll + ManagedSettingsEnforcedEscalationApproveAll = rpc.ManagedSettingsEnforcedEscalationApproveAll + ManagedSettingsEnforcedEscalationAssistedApproval = rpc.ManagedSettingsEnforcedEscalationAssistedApproval + ManagedSettingsEnforcedEscalationServerWideMCPApproval = rpc.ManagedSettingsEnforcedEscalationServerWideMCPApproval + ManagedSettingsEnforcedEscalationUnrestrictedPaths = rpc.ManagedSettingsEnforcedEscalationUnrestrictedPaths + ManagedSettingsEnforcedEscalationUnrestrictedURLs = rpc.ManagedSettingsEnforcedEscalationUnrestrictedURLs + ManagedSettingsResolvedSourceClient = rpc.ManagedSettingsResolvedSourceClient + ManagedSettingsResolvedSourceDevice = rpc.ManagedSettingsResolvedSourceDevice + ManagedSettingsResolvedSourceMixed = rpc.ManagedSettingsResolvedSourceMixed + ManagedSettingsResolvedSourceNone = rpc.ManagedSettingsResolvedSourceNone + ManagedSettingsResolvedSourcePolicyHelper = rpc.ManagedSettingsResolvedSourcePolicyHelper + ManagedSettingsResolvedSourceServer = rpc.ManagedSettingsResolvedSourceServer + MCPHeadersRefreshCompletedOutcomeError = rpc.MCPHeadersRefreshCompletedOutcomeError + MCPHeadersRefreshCompletedOutcomeHeaders = rpc.MCPHeadersRefreshCompletedOutcomeHeaders + MCPHeadersRefreshCompletedOutcomeNone = rpc.MCPHeadersRefreshCompletedOutcomeNone + MCPHeadersRefreshCompletedOutcomeTimeout = rpc.MCPHeadersRefreshCompletedOutcomeTimeout + MCPHeadersRefreshRequiredReasonAuthFailed = rpc.MCPHeadersRefreshRequiredReasonAuthFailed + MCPHeadersRefreshRequiredReasonStartup = rpc.MCPHeadersRefreshRequiredReasonStartup + MCPHeadersRefreshRequiredReasonTtlExpired = rpc.MCPHeadersRefreshRequiredReasonTtlExpired + MCPOauthCompletionOutcomeCancelled = rpc.MCPOauthCompletionOutcomeCancelled + MCPOauthCompletionOutcomeToken = rpc.MCPOauthCompletionOutcomeToken + MCPOauthRequestReasonInitial = rpc.MCPOauthRequestReasonInitial + MCPOauthRequestReasonReauth = rpc.MCPOauthRequestReasonReauth + MCPOauthRequestReasonRefresh = rpc.MCPOauthRequestReasonRefresh + MCPOauthRequestReasonUpscope = rpc.MCPOauthRequestReasonUpscope + MCPOauthRequiredStaticClientConfigGrantTypeClientCredentials = rpc.MCPOauthRequiredStaticClientConfigGrantTypeClientCredentials + MCPServerSourceBuiltin = rpc.MCPServerSourceBuiltin + MCPServerSourceManaged = rpc.MCPServerSourceManaged + MCPServerSourcePlugin = rpc.MCPServerSourcePlugin + MCPServerSourceUser = rpc.MCPServerSourceUser + MCPServerSourceWorkspace = rpc.MCPServerSourceWorkspace + MCPServerStatusConnected = rpc.MCPServerStatusConnected + MCPServerStatusDisabled = rpc.MCPServerStatusDisabled + MCPServerStatusFailed = rpc.MCPServerStatusFailed + MCPServerStatusNeedsAuth = rpc.MCPServerStatusNeedsAuth + MCPServerStatusNotConfigured = rpc.MCPServerStatusNotConfigured + MCPServerStatusPending = rpc.MCPServerStatusPending + MCPServerStatusStopped = rpc.MCPServerStatusStopped + MCPServerTransportHTTP = rpc.MCPServerTransportHTTP + MCPServerTransportMemory = rpc.MCPServerTransportMemory + MCPServerTransportSSE = rpc.MCPServerTransportSSE + MCPServerTransportStdio = rpc.MCPServerTransportStdio + ModelCallFailureBadRequestKindBodyless = rpc.ModelCallFailureBadRequestKindBodyless + ModelCallFailureBadRequestKindStructuredError = rpc.ModelCallFailureBadRequestKindStructuredError + ModelCallFailureKindAPI = rpc.ModelCallFailureKindAPI + ModelCallFailureKindTransport = rpc.ModelCallFailureKindTransport + ModelCallFailureSourceMCPSampling = rpc.ModelCallFailureSourceMCPSampling + ModelCallFailureSourceSubagent = rpc.ModelCallFailureSourceSubagent + ModelCallFailureSourceTopLevel = rpc.ModelCallFailureSourceTopLevel + ModelCallFailureTransportHTTP = rpc.ModelCallFailureTransportHTTP + ModelCallFailureTransportWebsocket = rpc.ModelCallFailureTransportWebsocket + ModelCallFinishedOutcomeCancelled = rpc.ModelCallFinishedOutcomeCancelled + ModelCallFinishedOutcomeError = rpc.ModelCallFinishedOutcomeError + ModelCallFinishedOutcomeRejected = rpc.ModelCallFinishedOutcomeRejected + ModelCallFinishedOutcomeSuccess = rpc.ModelCallFinishedOutcomeSuccess + ModelChangeSourceAgent = rpc.ModelChangeSourceAgent + ModelChangeSourceAutomatic = rpc.ModelChangeSourceAutomatic + ModelChangeSourceConfigCommand = rpc.ModelChangeSourceConfigCommand + ModelChangeSourceManagedSettings = rpc.ModelChangeSourceManagedSettings + ModelChangeSourceModelCommand = rpc.ModelChangeSourceModelCommand + ModelChangeSourceModelPicker = rpc.ModelChangeSourceModelPicker + ModelChangeSourcePlanMode = rpc.ModelChangeSourcePlanMode + ModelChangeSourceRepoSettings = rpc.ModelChangeSourceRepoSettings + ModelChangeSourceSDK = rpc.ModelChangeSourceSDK + ModelChangeSourceSettingsCommand = rpc.ModelChangeSourceSettingsCommand + ModelChangeSourceStartup = rpc.ModelChangeSourceStartup + OmittedBinaryOmittedReasonAssetUnavailable = rpc.OmittedBinaryOmittedReasonAssetUnavailable + OmittedBinaryOmittedReasonTooLarge = rpc.OmittedBinaryOmittedReasonTooLarge + OmittedBinaryTypeImage = rpc.OmittedBinaryTypeImage + OmittedBinaryTypeResource = rpc.OmittedBinaryTypeResource + PermissionApprovalEvaluationEvaluationStageJudge = rpc.PermissionApprovalEvaluationEvaluationStageJudge + PermissionApprovalEvaluationEvaluationStageNotReached = rpc.PermissionApprovalEvaluationEvaluationStageNotReached + PermissionApprovalEvaluationEvaluationStagePreJudge = rpc.PermissionApprovalEvaluationEvaluationStagePreJudge + PermissionApprovalEvaluationEvaluationStageReuse = rpc.PermissionApprovalEvaluationEvaluationStageReuse + PermissionApprovalEvaluationEvaluationStageUnknown = rpc.PermissionApprovalEvaluationEvaluationStageUnknown + PermissionApprovalEvaluationJudgeStatusCached = rpc.PermissionApprovalEvaluationJudgeStatusCached + PermissionApprovalEvaluationJudgeStatusCompleted = rpc.PermissionApprovalEvaluationJudgeStatusCompleted + PermissionApprovalEvaluationJudgeStatusFailed = rpc.PermissionApprovalEvaluationJudgeStatusFailed + PermissionApprovalEvaluationJudgeStatusInherited = rpc.PermissionApprovalEvaluationJudgeStatusInherited + PermissionApprovalEvaluationJudgeStatusNotCalled = rpc.PermissionApprovalEvaluationJudgeStatusNotCalled + PermissionApprovalEvaluationJudgeStatusUnknown = rpc.PermissionApprovalEvaluationJudgeStatusUnknown + PermissionApprovalEvaluationReasonCodeActionTooLong = rpc.PermissionApprovalEvaluationReasonCodeActionTooLong + PermissionApprovalEvaluationReasonCodeArgumentBindingUnreviewable = rpc.PermissionApprovalEvaluationReasonCodeArgumentBindingUnreviewable + PermissionApprovalEvaluationReasonCodeAuthorizationHistoryIncomplete = rpc.PermissionApprovalEvaluationReasonCodeAuthorizationHistoryIncomplete + PermissionApprovalEvaluationReasonCodeInactive = rpc.PermissionApprovalEvaluationReasonCodeInactive + PermissionApprovalEvaluationReasonCodeInherited = rpc.PermissionApprovalEvaluationReasonCodeInherited + PermissionApprovalEvaluationReasonCodeInterpreterTooLarge = rpc.PermissionApprovalEvaluationReasonCodeInterpreterTooLarge + PermissionApprovalEvaluationReasonCodeInterpreterUnavailable = rpc.PermissionApprovalEvaluationReasonCodeInterpreterUnavailable + PermissionApprovalEvaluationReasonCodeInterpreterWrappedScript = rpc.PermissionApprovalEvaluationReasonCodeInterpreterWrappedScript + PermissionApprovalEvaluationReasonCodeInvalidWorkingDirectory = rpc.PermissionApprovalEvaluationReasonCodeInvalidWorkingDirectory + PermissionApprovalEvaluationReasonCodeJudgeError = rpc.PermissionApprovalEvaluationReasonCodeJudgeError + PermissionApprovalEvaluationReasonCodeJudgeVerdict = rpc.PermissionApprovalEvaluationReasonCodeJudgeVerdict + PermissionApprovalEvaluationReasonCodeMalformedScriptActionManifest = rpc.PermissionApprovalEvaluationReasonCodeMalformedScriptActionManifest + PermissionApprovalEvaluationReasonCodeMalformedScriptActionReview = rpc.PermissionApprovalEvaluationReasonCodeMalformedScriptActionReview + PermissionApprovalEvaluationReasonCodeManagedApprovalRequired = rpc.PermissionApprovalEvaluationReasonCodeManagedApprovalRequired + PermissionApprovalEvaluationReasonCodeNonUtf8 = rpc.PermissionApprovalEvaluationReasonCodeNonUtf8 + PermissionApprovalEvaluationReasonCodeNotReached = rpc.PermissionApprovalEvaluationReasonCodeNotReached + PermissionApprovalEvaluationReasonCodeNotRegularFile = rpc.PermissionApprovalEvaluationReasonCodeNotRegularFile + PermissionApprovalEvaluationReasonCodePathNotAuthorized = rpc.PermissionApprovalEvaluationReasonCodePathNotAuthorized + PermissionApprovalEvaluationReasonCodeSandboxBypass = rpc.PermissionApprovalEvaluationReasonCodeSandboxBypass + PermissionApprovalEvaluationReasonCodeShellEnvironmentUnreviewable = rpc.PermissionApprovalEvaluationReasonCodeShellEnvironmentUnreviewable + PermissionApprovalEvaluationReasonCodeTooLarge = rpc.PermissionApprovalEvaluationReasonCodeTooLarge + PermissionApprovalEvaluationReasonCodeUnavailable = rpc.PermissionApprovalEvaluationReasonCodeUnavailable + PermissionApprovalEvaluationReasonCodeUnknown = rpc.PermissionApprovalEvaluationReasonCodeUnknown + PermissionApprovalEvaluationReasonCodeUnreadable = rpc.PermissionApprovalEvaluationReasonCodeUnreadable + PermissionApprovalEvaluationReasonCodeUnrepresentablePath = rpc.PermissionApprovalEvaluationReasonCodeUnrepresentablePath + PermissionApprovalEvaluationReasonCodeUnreviewableScriptInvocation = rpc.PermissionApprovalEvaluationReasonCodeUnreviewableScriptInvocation + PermissionDecisionSourceAuthorizationCarryForward = rpc.PermissionDecisionSourceAuthorizationCarryForward + PermissionMessageAuthorizationPolarityDenial = rpc.PermissionMessageAuthorizationPolarityDenial + PermissionMessageAuthorizationPolarityGrant = rpc.PermissionMessageAuthorizationPolarityGrant + PermissionModeAllowAll = rpc.PermissionModeAllowAll + PermissionModeAssisted = rpc.PermissionModeAssisted + PermissionModeManual = rpc.PermissionModeManual + PermissionPromptRequestKindCommands = rpc.PermissionPromptRequestKindCommands + PermissionPromptRequestKindCustomTool = rpc.PermissionPromptRequestKindCustomTool + PermissionPromptRequestKindExtensionEnvAccess = rpc.PermissionPromptRequestKindExtensionEnvAccess + PermissionPromptRequestKindExtensionManagement = rpc.PermissionPromptRequestKindExtensionManagement + PermissionPromptRequestKindExtensionPermissionAccess = rpc.PermissionPromptRequestKindExtensionPermissionAccess + PermissionPromptRequestKindFactory = rpc.PermissionPromptRequestKindFactory + PermissionPromptRequestKindHook = rpc.PermissionPromptRequestKindHook + PermissionPromptRequestKindMCP = rpc.PermissionPromptRequestKindMCP + PermissionPromptRequestKindMemory = rpc.PermissionPromptRequestKindMemory + PermissionPromptRequestKindPath = rpc.PermissionPromptRequestKindPath + PermissionPromptRequestKindRead = rpc.PermissionPromptRequestKindRead + PermissionPromptRequestKindURL = rpc.PermissionPromptRequestKindURL + PermissionPromptRequestKindWrite = rpc.PermissionPromptRequestKindWrite + PermissionPromptRequestPathAccessKindRead = rpc.PermissionPromptRequestPathAccessKindRead + PermissionPromptRequestPathAccessKindShell = rpc.PermissionPromptRequestPathAccessKindShell + PermissionPromptRequestPathAccessKindWrite = rpc.PermissionPromptRequestPathAccessKindWrite + PermissionRecommendationApprove = rpc.PermissionRecommendationApprove + PermissionRequestKindCustomTool = rpc.PermissionRequestKindCustomTool + PermissionRequestKindExtensionEnvAccess = rpc.PermissionRequestKindExtensionEnvAccess + PermissionRequestKindExtensionManagement = rpc.PermissionRequestKindExtensionManagement + PermissionRequestKindExtensionPermissionAccess = rpc.PermissionRequestKindExtensionPermissionAccess + PermissionRequestKindFactory = rpc.PermissionRequestKindFactory + PermissionRequestKindHook = rpc.PermissionRequestKindHook + PermissionRequestKindMCP = rpc.PermissionRequestKindMCP + PermissionRequestKindMemory = rpc.PermissionRequestKindMemory + PermissionRequestKindRead = rpc.PermissionRequestKindRead + PermissionRequestKindShell = rpc.PermissionRequestKindShell + PermissionRequestKindURL = rpc.PermissionRequestKindURL + PermissionRequestKindWrite = rpc.PermissionRequestKindWrite + PermissionRequestMemoryActionStore = rpc.PermissionRequestMemoryActionStore + PermissionRequestMemoryActionVote = rpc.PermissionRequestMemoryActionVote + PermissionRequestMemoryDirectionDownvote = rpc.PermissionRequestMemoryDirectionDownvote + PermissionRequestMemoryDirectionUpvote = rpc.PermissionRequestMemoryDirectionUpvote + PermissionRequestMemoryScopeRepository = rpc.PermissionRequestMemoryScopeRepository + PermissionRequestMemoryScopeUser = rpc.PermissionRequestMemoryScopeUser + PermissionResultKindApproved = rpc.PermissionResultKindApproved + PermissionResultKindApprovedForLocation = rpc.PermissionResultKindApprovedForLocation + PermissionResultKindApprovedForSession = rpc.PermissionResultKindApprovedForSession + PermissionResultKindCancelled = rpc.PermissionResultKindCancelled + PermissionResultKindDeniedByContentExclusionPolicy = rpc.PermissionResultKindDeniedByContentExclusionPolicy + PermissionResultKindDeniedByPermissionRequestHook = rpc.PermissionResultKindDeniedByPermissionRequestHook + PermissionResultKindDeniedByRules = rpc.PermissionResultKindDeniedByRules + PermissionResultKindDeniedInteractivelyByUser = rpc.PermissionResultKindDeniedInteractivelyByUser + PermissionResultKindDeniedNoApprovalRuleAndCouldNotRequestFromUser = rpc.PermissionResultKindDeniedNoApprovalRuleAndCouldNotRequestFromUser + PersistedBinaryImageTypeImage = rpc.PersistedBinaryImageTypeImage + PersistedBinaryImageTypeResource = rpc.PersistedBinaryImageTypeResource + PersistedBinaryResultTypeImage = rpc.PersistedBinaryResultTypeImage + PersistedBinaryResultTypeResource = rpc.PersistedBinaryResultTypeResource + PlanChangedOperationCreate = rpc.PlanChangedOperationCreate + PlanChangedOperationDelete = rpc.PlanChangedOperationDelete + PlanChangedOperationUpdate = rpc.PlanChangedOperationUpdate + ReasoningSummaryConcise = rpc.ReasoningSummaryConcise + ReasoningSummaryDetailed = rpc.ReasoningSummaryDetailed + ReasoningSummaryNone = rpc.ReasoningSummaryNone + RecommendedAutoTierBalance = rpc.RecommendedAutoTierBalance + RecommendedAutoTierEfficiency = rpc.RecommendedAutoTierEfficiency + RecommendedAutoTierIntelligence = rpc.RecommendedAutoTierIntelligence + RemediationActionAllowSandboxOutbound = rpc.RemediationActionAllowSandboxOutbound + RemediationActionReviewSandboxPolicy = rpc.RemediationActionReviewSandboxPolicy + RemediationActionShowAccount = rpc.RemediationActionShowAccount + RemediationActionSignIn = rpc.RemediationActionSignIn + RemediationActionSwitchAccount = rpc.RemediationActionSwitchAccount + ScheduleOriginModel = rpc.ScheduleOriginModel + ScheduleOriginUser = rpc.ScheduleOriginUser + SessionEventTypeAbort = rpc.SessionEventTypeAbort + SessionEventTypeAgentInterrupted = rpc.SessionEventTypeAgentInterrupted + SessionEventTypeAssistantFusionPhaseActivity = rpc.SessionEventTypeAssistantFusionPhaseActivity + SessionEventTypeAssistantFusionPhaseCompleted = rpc.SessionEventTypeAssistantFusionPhaseCompleted + SessionEventTypeAssistantFusionPhaseFailed = rpc.SessionEventTypeAssistantFusionPhaseFailed + SessionEventTypeAssistantFusionPhaseStarted = rpc.SessionEventTypeAssistantFusionPhaseStarted + SessionEventTypeAssistantIdle = rpc.SessionEventTypeAssistantIdle + SessionEventTypeAssistantIntent = rpc.SessionEventTypeAssistantIntent + SessionEventTypeAssistantMessage = rpc.SessionEventTypeAssistantMessage + SessionEventTypeAssistantMessageDelta = rpc.SessionEventTypeAssistantMessageDelta + SessionEventTypeAssistantMessageStart = rpc.SessionEventTypeAssistantMessageStart + SessionEventTypeAssistantReasoning = rpc.SessionEventTypeAssistantReasoning + SessionEventTypeAssistantReasoningDelta = rpc.SessionEventTypeAssistantReasoningDelta + SessionEventTypeAssistantServerToolProgress = rpc.SessionEventTypeAssistantServerToolProgress + SessionEventTypeAssistantStreamingDelta = rpc.SessionEventTypeAssistantStreamingDelta + SessionEventTypeAssistantToolCallDelta = rpc.SessionEventTypeAssistantToolCallDelta + SessionEventTypeAssistantTurnEnd = rpc.SessionEventTypeAssistantTurnEnd + SessionEventTypeAssistantTurnRetry = rpc.SessionEventTypeAssistantTurnRetry + SessionEventTypeAssistantTurnStart = rpc.SessionEventTypeAssistantTurnStart + SessionEventTypeAssistantUsage = rpc.SessionEventTypeAssistantUsage + SessionEventTypeAutoModeSwitchCompleted = rpc.SessionEventTypeAutoModeSwitchCompleted + SessionEventTypeAutoModeSwitchRequested = rpc.SessionEventTypeAutoModeSwitchRequested + SessionEventTypeCapabilitiesChanged = rpc.SessionEventTypeCapabilitiesChanged + SessionEventTypeCommandCompleted = rpc.SessionEventTypeCommandCompleted + SessionEventTypeCommandExecute = rpc.SessionEventTypeCommandExecute + SessionEventTypeCommandQueued = rpc.SessionEventTypeCommandQueued + SessionEventTypeCommandsChanged = rpc.SessionEventTypeCommandsChanged + SessionEventTypeElicitationCompleted = rpc.SessionEventTypeElicitationCompleted + SessionEventTypeElicitationRequested = rpc.SessionEventTypeElicitationRequested + SessionEventTypeExitPlanModeCompleted = rpc.SessionEventTypeExitPlanModeCompleted + SessionEventTypeExitPlanModeRequested = rpc.SessionEventTypeExitPlanModeRequested + SessionEventTypeExternalToolCompleted = rpc.SessionEventTypeExternalToolCompleted + SessionEventTypeExternalToolRequested = rpc.SessionEventTypeExternalToolRequested + SessionEventTypeFactoryRunSettled = rpc.SessionEventTypeFactoryRunSettled + SessionEventTypeFactoryRunStarted = rpc.SessionEventTypeFactoryRunStarted + SessionEventTypeFactoryRunUpdated = rpc.SessionEventTypeFactoryRunUpdated + SessionEventTypeHookEnd = rpc.SessionEventTypeHookEnd + SessionEventTypeHookProgress = rpc.SessionEventTypeHookProgress + SessionEventTypeHookStart = rpc.SessionEventTypeHookStart + SessionEventTypeMCPAppToolCallComplete = rpc.SessionEventTypeMCPAppToolCallComplete + SessionEventTypeMCPHeadersRefreshCompleted = rpc.SessionEventTypeMCPHeadersRefreshCompleted + SessionEventTypeMCPHeadersRefreshRequired = rpc.SessionEventTypeMCPHeadersRefreshRequired + SessionEventTypeMCPOauthCompleted = rpc.SessionEventTypeMCPOauthCompleted + SessionEventTypeMCPOauthRequired = rpc.SessionEventTypeMCPOauthRequired + SessionEventTypeMCPPromptsListChanged = rpc.SessionEventTypeMCPPromptsListChanged + SessionEventTypeMCPResourcesListChanged = rpc.SessionEventTypeMCPResourcesListChanged + SessionEventTypeMCPToolsListChanged = rpc.SessionEventTypeMCPToolsListChanged + SessionEventTypeModelCallFailure = rpc.SessionEventTypeModelCallFailure + SessionEventTypeModelCallFinished = rpc.SessionEventTypeModelCallFinished + SessionEventTypeModelCallStart = rpc.SessionEventTypeModelCallStart + SessionEventTypePendingMessagesModified = rpc.SessionEventTypePendingMessagesModified + SessionEventTypePermissionAssentDetected = rpc.SessionEventTypePermissionAssentDetected + SessionEventTypePermissionCarriedForward = rpc.SessionEventTypePermissionCarriedForward + SessionEventTypePermissionCompleted = rpc.SessionEventTypePermissionCompleted + SessionEventTypePermissionContextualAuthorization = rpc.SessionEventTypePermissionContextualAuthorization + SessionEventTypePermissionMessageAuthorization = rpc.SessionEventTypePermissionMessageAuthorization + SessionEventTypePermissionMessageAuthorizationDegraded = rpc.SessionEventTypePermissionMessageAuthorizationDegraded + SessionEventTypePermissionMessageAuthorizationRead = rpc.SessionEventTypePermissionMessageAuthorizationRead + SessionEventTypePermissionRequested = rpc.SessionEventTypePermissionRequested + SessionEventTypePromptCacheBreak = rpc.SessionEventTypePromptCacheBreak + SessionEventTypeSamplingCompleted = rpc.SessionEventTypeSamplingCompleted + SessionEventTypeSamplingRequested = rpc.SessionEventTypeSamplingRequested + SessionEventTypeSandboxDecision = rpc.SessionEventTypeSandboxDecision + SessionEventTypeSessionAutoModeResolved = rpc.SessionEventTypeSessionAutoModeResolved + SessionEventTypeSessionAutopilotObjectiveChanged = rpc.SessionEventTypeSessionAutopilotObjectiveChanged + SessionEventTypeSessionAutoTierRecommendation = rpc.SessionEventTypeSessionAutoTierRecommendation + SessionEventTypeSessionAutoTierSwitchFailed = rpc.SessionEventTypeSessionAutoTierSwitchFailed + SessionEventTypeSessionBackgroundTasksChanged = rpc.SessionEventTypeSessionBackgroundTasksChanged + SessionEventTypeSessionBinaryAsset = rpc.SessionEventTypeSessionBinaryAsset + SessionEventTypeSessionCanvasClosed = rpc.SessionEventTypeSessionCanvasClosed + SessionEventTypeSessionCanvasOpened = rpc.SessionEventTypeSessionCanvasOpened + SessionEventTypeSessionCanvasRecorded = rpc.SessionEventTypeSessionCanvasRecorded + SessionEventTypeSessionCanvasRegistryChanged = rpc.SessionEventTypeSessionCanvasRegistryChanged + SessionEventTypeSessionCanvasRemoved = rpc.SessionEventTypeSessionCanvasRemoved + SessionEventTypeSessionCanvasUnavailable = rpc.SessionEventTypeSessionCanvasUnavailable + SessionEventTypeSessionCompactionComplete = rpc.SessionEventTypeSessionCompactionComplete + SessionEventTypeSessionCompactionStart = rpc.SessionEventTypeSessionCompactionStart + SessionEventTypeSessionCompletionReceipt = rpc.SessionEventTypeSessionCompletionReceipt + SessionEventTypeSessionContextChanged = rpc.SessionEventTypeSessionContextChanged + SessionEventTypeSessionContextCleared = rpc.SessionEventTypeSessionContextCleared + SessionEventTypeSessionCustomAgentsUpdated = rpc.SessionEventTypeSessionCustomAgentsUpdated + SessionEventTypeSessionCustomNotification = rpc.SessionEventTypeSessionCustomNotification + SessionEventTypeSessionError = rpc.SessionEventTypeSessionError + SessionEventTypeSessionExtensionsAttachmentsPushed = rpc.SessionEventTypeSessionExtensionsAttachmentsPushed + SessionEventTypeSessionExtensionsLoaded = rpc.SessionEventTypeSessionExtensionsLoaded + SessionEventTypeSessionFusionCompleted = rpc.SessionEventTypeSessionFusionCompleted + SessionEventTypeSessionFusionResolved = rpc.SessionEventTypeSessionFusionResolved + SessionEventTypeSessionFusionRouteFailed = rpc.SessionEventTypeSessionFusionRouteFailed + SessionEventTypeSessionFusionRouteStarted = rpc.SessionEventTypeSessionFusionRouteStarted + SessionEventTypeSessionHandoff = rpc.SessionEventTypeSessionHandoff + SessionEventTypeSessionIdle = rpc.SessionEventTypeSessionIdle + SessionEventTypeSessionInfo = rpc.SessionEventTypeSessionInfo + SessionEventTypeSessionLimitsExhaustedCompleted = rpc.SessionEventTypeSessionLimitsExhaustedCompleted + SessionEventTypeSessionLimitsExhaustedRequested = rpc.SessionEventTypeSessionLimitsExhaustedRequested + SessionEventTypeSessionManagedSettingsEnforced = rpc.SessionEventTypeSessionManagedSettingsEnforced + SessionEventTypeSessionManagedSettingsResolved = rpc.SessionEventTypeSessionManagedSettingsResolved + SessionEventTypeSessionMCPServerNeedsReconnect = rpc.SessionEventTypeSessionMCPServerNeedsReconnect + SessionEventTypeSessionMCPServerRemoved = rpc.SessionEventTypeSessionMCPServerRemoved + SessionEventTypeSessionMCPServersLoaded = rpc.SessionEventTypeSessionMCPServersLoaded + SessionEventTypeSessionMCPServerStatusChanged = rpc.SessionEventTypeSessionMCPServerStatusChanged + SessionEventTypeSessionModeChanged = rpc.SessionEventTypeSessionModeChanged + SessionEventTypeSessionModelChange = rpc.SessionEventTypeSessionModelChange + SessionEventTypeSessionModeNoticeDelivered = rpc.SessionEventTypeSessionModeNoticeDelivered + SessionEventTypeSessionPermissionsChanged = rpc.SessionEventTypeSessionPermissionsChanged + SessionEventTypeSessionPlanChanged = rpc.SessionEventTypeSessionPlanChanged + SessionEventTypeSessionRemoteSteerableChanged = rpc.SessionEventTypeSessionRemoteSteerableChanged + SessionEventTypeSessionResume = rpc.SessionEventTypeSessionResume + SessionEventTypeSessionScheduleCancelled = rpc.SessionEventTypeSessionScheduleCancelled + SessionEventTypeSessionScheduleCreated = rpc.SessionEventTypeSessionScheduleCreated + SessionEventTypeSessionScheduleRearmed = rpc.SessionEventTypeSessionScheduleRearmed + SessionEventTypeSessionSessionLimitsChanged = rpc.SessionEventTypeSessionSessionLimitsChanged + SessionEventTypeSessionShutdown = rpc.SessionEventTypeSessionShutdown + SessionEventTypeSessionSkillsLoaded = rpc.SessionEventTypeSessionSkillsLoaded + SessionEventTypeSessionSnapshotRewind = rpc.SessionEventTypeSessionSnapshotRewind + SessionEventTypeSessionStart = rpc.SessionEventTypeSessionStart + SessionEventTypeSessionTaskComplete = rpc.SessionEventTypeSessionTaskComplete + SessionEventTypeSessionTitleChanged = rpc.SessionEventTypeSessionTitleChanged + SessionEventTypeSessionTodosChanged = rpc.SessionEventTypeSessionTodosChanged + SessionEventTypeSessionToolsUpdated = rpc.SessionEventTypeSessionToolsUpdated + SessionEventTypeSessionTruncation = rpc.SessionEventTypeSessionTruncation + SessionEventTypeSessionUsageCheckpoint = rpc.SessionEventTypeSessionUsageCheckpoint + SessionEventTypeSessionUsageInfo = rpc.SessionEventTypeSessionUsageInfo + SessionEventTypeSessionWarning = rpc.SessionEventTypeSessionWarning + SessionEventTypeSessionWorkspaceFileChanged = rpc.SessionEventTypeSessionWorkspaceFileChanged + SessionEventTypeSkillContextDelivered = rpc.SessionEventTypeSkillContextDelivered + SessionEventTypeSkillContextDeliveredRef = rpc.SessionEventTypeSkillContextDeliveredRef + SessionEventTypeSkillInvoked = rpc.SessionEventTypeSkillInvoked + SessionEventTypeSkillInvokedRef = rpc.SessionEventTypeSkillInvokedRef + SessionEventTypeSubagentCompleted = rpc.SessionEventTypeSubagentCompleted + SessionEventTypeSubagentConfigured = rpc.SessionEventTypeSubagentConfigured + SessionEventTypeSubagentDeselected = rpc.SessionEventTypeSubagentDeselected + SessionEventTypeSubagentFailed = rpc.SessionEventTypeSubagentFailed + SessionEventTypeSubagentSelected = rpc.SessionEventTypeSubagentSelected + SessionEventTypeSubagentStarted = rpc.SessionEventTypeSubagentStarted + SessionEventTypeSystemMessage = rpc.SessionEventTypeSystemMessage + SessionEventTypeSystemNotification = rpc.SessionEventTypeSystemNotification + SessionEventTypeToolExecutionComplete = rpc.SessionEventTypeToolExecutionComplete + SessionEventTypeToolExecutionPartialResult = rpc.SessionEventTypeToolExecutionPartialResult + SessionEventTypeToolExecutionProgress = rpc.SessionEventTypeToolExecutionProgress + SessionEventTypeToolExecutionStart = rpc.SessionEventTypeToolExecutionStart + SessionEventTypeToolSearchActivated = rpc.SessionEventTypeToolSearchActivated + SessionEventTypeToolUserRequested = rpc.SessionEventTypeToolUserRequested + SessionEventTypeUIEphemeralQuery = rpc.SessionEventTypeUIEphemeralQuery + SessionEventTypeUserInputCompleted = rpc.SessionEventTypeUserInputCompleted + SessionEventTypeUserInputRequested = rpc.SessionEventTypeUserInputRequested + SessionEventTypeUserMessage = rpc.SessionEventTypeUserMessage + SessionLimitsExhaustedResponseActionAdd = rpc.SessionLimitsExhaustedResponseActionAdd + SessionLimitsExhaustedResponseActionCancel = rpc.SessionLimitsExhaustedResponseActionCancel + SessionLimitsExhaustedResponseActionSet = rpc.SessionLimitsExhaustedResponseActionSet + SessionLimitsExhaustedResponseActionUnset = rpc.SessionLimitsExhaustedResponseActionUnset + SessionModeAutopilot = rpc.SessionModeAutopilot + SessionModeInteractive = rpc.SessionModeInteractive + SessionModePlan = rpc.SessionModePlan + ShutdownTypeError = rpc.ShutdownTypeError + ShutdownTypeRoutine = rpc.ShutdownTypeRoutine + SkillInvokedTriggerAgentInvoked = rpc.SkillInvokedTriggerAgentInvoked + SkillInvokedTriggerContextLoad = rpc.SkillInvokedTriggerContextLoad + SkillInvokedTriggerUserInvoked = rpc.SkillInvokedTriggerUserInvoked + SkillSourceBuiltin = rpc.SkillSourceBuiltin + SkillSourceCustom = rpc.SkillSourceCustom + SkillSourceInherited = rpc.SkillSourceInherited + SkillSourcePersonalAgents = rpc.SkillSourcePersonalAgents + SkillSourcePersonalCopilot = rpc.SkillSourcePersonalCopilot + SkillSourcePlugin = rpc.SkillSourcePlugin + SkillSourceProject = rpc.SkillSourceProject + SkillSourceSDK = rpc.SkillSourceSDK + SubagentModelSelectionSourceAgentDefinitionDefault = rpc.SubagentModelSelectionSourceAgentDefinitionDefault + SubagentModelSelectionSourceComplementaryDefault = rpc.SubagentModelSelectionSourceComplementaryDefault + SubagentModelSelectionSourceConfiguredPreference = rpc.SubagentModelSelectionSourceConfiguredPreference + SubagentModelSelectionSourceConfiguredRequired = rpc.SubagentModelSelectionSourceConfiguredRequired + SubagentModelSelectionSourceExplicitOverride = rpc.SubagentModelSelectionSourceExplicitOverride + SubagentModelSelectionSourceRuntimePolicy = rpc.SubagentModelSelectionSourceRuntimePolicy + SubagentModelSelectionSourceSessionInheritance = rpc.SubagentModelSelectionSourceSessionInheritance + SubagentTaskModelSourceCustomAgentDefinition = rpc.SubagentTaskModelSourceCustomAgentDefinition + SubagentTaskModelSourceSubagentConfiguration = rpc.SubagentTaskModelSourceSubagentConfiguration + SubagentTaskModelSourceTaskArgument = rpc.SubagentTaskModelSourceTaskArgument + SubagentTaskModelSourceUnset = rpc.SubagentTaskModelSourceUnset + SystemMessageRoleDeveloper = rpc.SystemMessageRoleDeveloper + SystemMessageRoleSystem = rpc.SystemMessageRoleSystem + SystemNotificationAgentCompletedStatusCompleted = rpc.SystemNotificationAgentCompletedStatusCompleted + SystemNotificationAgentCompletedStatusFailed = rpc.SystemNotificationAgentCompletedStatusFailed + SystemNotificationFactoryCompletedStatusCancelled = rpc.SystemNotificationFactoryCompletedStatusCancelled + SystemNotificationFactoryCompletedStatusCompleted = rpc.SystemNotificationFactoryCompletedStatusCompleted + SystemNotificationFactoryCompletedStatusError = rpc.SystemNotificationFactoryCompletedStatusError + SystemNotificationFactoryCompletedStatusHalted = rpc.SystemNotificationFactoryCompletedStatusHalted + SystemNotificationFactoryCompletedStatusPaused = rpc.SystemNotificationFactoryCompletedStatusPaused + SystemNotificationFactoryPauseInfoTypeCheckpoint = rpc.SystemNotificationFactoryPauseInfoTypeCheckpoint + SystemNotificationFactoryPauseInfoTypeUser = rpc.SystemNotificationFactoryPauseInfoTypeUser + SystemNotificationTypeAgentCompleted = rpc.SystemNotificationTypeAgentCompleted + SystemNotificationTypeAgentIdle = rpc.SystemNotificationTypeAgentIdle + SystemNotificationTypeFactoryCompleted = rpc.SystemNotificationTypeFactoryCompleted + SystemNotificationTypeInstructionDiscovered = rpc.SystemNotificationTypeInstructionDiscovered + SystemNotificationTypeNewInboxMessage = rpc.SystemNotificationTypeNewInboxMessage + SystemNotificationTypeShellCompleted = rpc.SystemNotificationTypeShellCompleted + SystemNotificationTypeShellDetachedCompleted = rpc.SystemNotificationTypeShellDetachedCompleted + SystemNotificationTypeUnclassified = rpc.SystemNotificationTypeUnclassified + TaskCompletionOutcomeBlocked = rpc.TaskCompletionOutcomeBlocked + TaskCompletionOutcomeCompleted = rpc.TaskCompletionOutcomeCompleted + TaskCompletionOutcomeContinue = rpc.TaskCompletionOutcomeContinue + ToolExecutionCompleteContentResourceLinkIconThemeDark = rpc.ToolExecutionCompleteContentResourceLinkIconThemeDark + ToolExecutionCompleteContentResourceLinkIconThemeLight = rpc.ToolExecutionCompleteContentResourceLinkIconThemeLight + ToolExecutionCompleteContentTypeAudio = rpc.ToolExecutionCompleteContentTypeAudio + ToolExecutionCompleteContentTypeImage = rpc.ToolExecutionCompleteContentTypeImage + ToolExecutionCompleteContentTypeResource = rpc.ToolExecutionCompleteContentTypeResource + ToolExecutionCompleteContentTypeResourceLink = rpc.ToolExecutionCompleteContentTypeResourceLink + ToolExecutionCompleteContentTypeShellExit = rpc.ToolExecutionCompleteContentTypeShellExit + ToolExecutionCompleteContentTypeTerminal = rpc.ToolExecutionCompleteContentTypeTerminal + ToolExecutionCompleteContentTypeText = rpc.ToolExecutionCompleteContentTypeText + ToolExecutionCompleteToolDescriptionMetaUIVisibilityApp = rpc.ToolExecutionCompleteToolDescriptionMetaUIVisibilityApp + ToolExecutionCompleteToolDescriptionMetaUIVisibilityModel = rpc.ToolExecutionCompleteToolDescriptionMetaUIVisibilityModel + ToolExecutionStartToolDescriptionMetaUIVisibilityApp = rpc.ToolExecutionStartToolDescriptionMetaUIVisibilityApp + ToolExecutionStartToolDescriptionMetaUIVisibilityModel = rpc.ToolExecutionStartToolDescriptionMetaUIVisibilityModel + UIEphemeralQueryPhaseAborted = rpc.UIEphemeralQueryPhaseAborted + UIEphemeralQueryPhaseChunk = rpc.UIEphemeralQueryPhaseChunk + UIEphemeralQueryPhaseCompleted = rpc.UIEphemeralQueryPhaseCompleted + UIEphemeralQueryPhaseFailed = rpc.UIEphemeralQueryPhaseFailed + UIEphemeralQueryPhaseStarted = rpc.UIEphemeralQueryPhaseStarted + UserMessageAgentModeAutopilot = rpc.UserMessageAgentModeAutopilot + UserMessageAgentModeInteractive = rpc.UserMessageAgentModeInteractive + UserMessageAgentModePlan = rpc.UserMessageAgentModePlan + UserMessageAgentModeShell = rpc.UserMessageAgentModeShell + UserMessageDeliveryIdle = rpc.UserMessageDeliveryIdle + UserMessageDeliveryQueued = rpc.UserMessageDeliveryQueued + UserMessageDeliverySteering = rpc.UserMessageDeliverySteering + UserToolSessionApprovalKindCommands = rpc.UserToolSessionApprovalKindCommands + UserToolSessionApprovalKindCustomTool = rpc.UserToolSessionApprovalKindCustomTool + UserToolSessionApprovalKindExtensionEnvAccess = rpc.UserToolSessionApprovalKindExtensionEnvAccess + UserToolSessionApprovalKindExtensionManagement = rpc.UserToolSessionApprovalKindExtensionManagement + UserToolSessionApprovalKindExtensionPermissionAccess = rpc.UserToolSessionApprovalKindExtensionPermissionAccess + UserToolSessionApprovalKindFactory = rpc.UserToolSessionApprovalKindFactory + UserToolSessionApprovalKindMCP = rpc.UserToolSessionApprovalKindMCP + UserToolSessionApprovalKindMemory = rpc.UserToolSessionApprovalKindMemory + UserToolSessionApprovalKindRead = rpc.UserToolSessionApprovalKindRead + UserToolSessionApprovalKindWrite = rpc.UserToolSessionApprovalKindWrite + VerbosityHigh = rpc.VerbosityHigh + VerbosityLow = rpc.VerbosityLow + VerbosityMedium = rpc.VerbosityMedium + WorkingDirectoryContextHostTypeADO = rpc.WorkingDirectoryContextHostTypeADO + WorkingDirectoryContextHostTypeGitHub = rpc.WorkingDirectoryContextHostTypeGitHub + WorkspaceFileChangedOperationCreate = rpc.WorkspaceFileChangedOperationCreate + WorkspaceFileChangedOperationUpdate = rpc.WorkspaceFileChangedOperationUpdate ) diff --git a/java/sdk/src/generated/java/com/github/copilot/generated/PermissionRequestedEvent.java b/java/sdk/src/generated/java/com/github/copilot/generated/PermissionRequestedEvent.java index a854d5ffa4..307b9c3185 100644 --- a/java/sdk/src/generated/java/com/github/copilot/generated/PermissionRequestedEvent.java +++ b/java/sdk/src/generated/java/com/github/copilot/generated/PermissionRequestedEvent.java @@ -40,6 +40,8 @@ public record PermissionRequestedEventData( @JsonProperty("permissionRequest") Object permissionRequest, /** Derived user-facing permission prompt details for UI consumers */ @JsonProperty("promptRequest") Object promptRequest, + /** Permission mode captured when evaluation began. Absent on historical events. */ + @JsonProperty("permissionMode") PermissionMode permissionMode, /** Agent mode captured from the owning turn when permission evaluation began. */ @JsonProperty("agentMode") SessionMode agentMode, /** Neutral risk metadata supplied by the tool host. Consumers may display this value but must not use it to bypass the permission decision. */ diff --git a/java/sdk/src/generated/java/com/github/copilot/generated/ResponsesReasoning.java b/java/sdk/src/generated/java/com/github/copilot/generated/ResponsesReasoning.java new file mode 100644 index 0000000000..764284ac2c --- /dev/null +++ b/java/sdk/src/generated/java/com/github/copilot/generated/ResponsesReasoning.java @@ -0,0 +1,31 @@ +/*--------------------------------------------------------------------------------------------- + * Copyright (c) Microsoft Corporation. All rights reserved. + *--------------------------------------------------------------------------------------------*/ + +// AUTO-GENERATED FILE - DO NOT EDIT +// Generated from: session-events.schema.json + +package com.github.copilot.generated; + +import com.fasterxml.jackson.annotation.JsonIgnoreProperties; +import com.fasterxml.jackson.annotation.JsonInclude; +import com.fasterxml.jackson.annotation.JsonProperty; +import javax.annotation.processing.Generated; + +/** + * Original request-level and effective conversation reasoning effort for a Responses history boundary + * + * @since 1.0.0 + */ +@javax.annotation.processing.Generated("copilot-sdk-codegen") +@JsonInclude(JsonInclude.Include.NON_NULL) +@JsonIgnoreProperties(ignoreUnknown = true) +public record ResponsesReasoning( + /** Provider model whose reasoning settings this boundary records */ + @JsonProperty("model") String model, + /** Original request-level effort, retained while replaying this conversation prefix */ + @JsonProperty("initialEffort") String initialEffort, + /** Effective effort selected before this message, independent of the response-level reasoning field */ + @JsonProperty("effort") String effort +) { +} diff --git a/java/sdk/src/generated/java/com/github/copilot/generated/SessionCompactionCompleteEvent.java b/java/sdk/src/generated/java/com/github/copilot/generated/SessionCompactionCompleteEvent.java index 70861fb977..6b21976b0c 100644 --- a/java/sdk/src/generated/java/com/github/copilot/generated/SessionCompactionCompleteEvent.java +++ b/java/sdk/src/generated/java/com/github/copilot/generated/SessionCompactionCompleteEvent.java @@ -52,6 +52,8 @@ public record SessionCompactionCompleteEventData( @JsonProperty("customInstructions") String customInstructions, /** LLM-generated summary of the compacted conversation history */ @JsonProperty("summaryContent") String summaryContent, + /** Reasoning baseline on the replacement summary, preserved when replay skips the compacted history */ + @JsonProperty("responsesReasoning") ResponsesReasoning responsesReasoning, /** Authoritative active-factory reminder appended to the compacted context */ @JsonProperty("activeFactorySummary") String activeFactorySummary, /** Canonical model identifier used for model-specific behavior when replaying compaction */ diff --git a/java/sdk/src/generated/java/com/github/copilot/generated/SystemNotificationEvent.java b/java/sdk/src/generated/java/com/github/copilot/generated/SystemNotificationEvent.java index 784a3a8bc1..c2e1e55706 100644 --- a/java/sdk/src/generated/java/com/github/copilot/generated/SystemNotificationEvent.java +++ b/java/sdk/src/generated/java/com/github/copilot/generated/SystemNotificationEvent.java @@ -37,7 +37,9 @@ public record SystemNotificationEventData( /** The notification text, typically wrapped in XML tags */ @JsonProperty("content") String content, /** Structured metadata identifying what triggered this notification */ - @JsonProperty("kind") Object kind + @JsonProperty("kind") Object kind, + /** Responses reasoning settings anchored before this model-facing message, for cache-stable history replay */ + @JsonProperty("responsesReasoning") ResponsesReasoning responsesReasoning ) { } } diff --git a/java/sdk/src/generated/java/com/github/copilot/generated/UserMessageEvent.java b/java/sdk/src/generated/java/com/github/copilot/generated/UserMessageEvent.java index 43a886ea01..aca76d26d8 100644 --- a/java/sdk/src/generated/java/com/github/copilot/generated/UserMessageEvent.java +++ b/java/sdk/src/generated/java/com/github/copilot/generated/UserMessageEvent.java @@ -37,6 +37,8 @@ public final class UserMessageEvent extends SessionEvent { public record UserMessageEventData( /** The user's message text as displayed in the timeline */ @JsonProperty("content") String content, + /** Responses reasoning settings anchored before this model-facing message, for cache-stable history replay */ + @JsonProperty("responsesReasoning") ResponsesReasoning responsesReasoning, /** Stable identity of the logical user message, matching the ID returned by send and retained by pending queue snapshots */ @JsonProperty("messageId") String messageId, /** Transformed version of the message sent to the model, with XML wrapping, timestamps, and other augmentations for prompt caching */ diff --git a/java/sdk/src/generated/java/com/github/copilot/generated/rpc/CopilotUserResponse.java b/java/sdk/src/generated/java/com/github/copilot/generated/rpc/CopilotUserResponse.java index ad501eac0d..2579364550 100644 --- a/java/sdk/src/generated/java/com/github/copilot/generated/rpc/CopilotUserResponse.java +++ b/java/sdk/src/generated/java/com/github/copilot/generated/rpc/CopilotUserResponse.java @@ -74,6 +74,16 @@ public record CopilotUserResponse( /** Whether cloud session storage is enabled for the user. */ @JsonProperty("cloud_session_storage_enabled") Boolean cloudSessionStorageEnabled, /** Whether CLI remote control is enabled for the user. */ - @JsonProperty("cli_remote_control_enabled") Boolean cliRemoteControlEnabled + @JsonProperty("cli_remote_control_enabled") Boolean cliRemoteControlEnabled, + /** Enterprises that provide the user's Copilot license, each with a stable numeric ID. */ + @JsonProperty("enterprise_list") List enterpriseList ) { + + @JsonIgnoreProperties(ignoreUnknown = true) + @JsonInclude(JsonInclude.Include.NON_NULL) + public record CopilotUserResponseEnterpriseListItem( + /** Numeric database ID of the enterprise. */ + @JsonProperty("id") Long id + ) { + } } diff --git a/nodejs/package.json b/nodejs/package.json index 1c255f7e09..240aec49f7 100644 --- a/nodejs/package.json +++ b/nodejs/package.json @@ -5,7 +5,7 @@ "url": "https://github.com/github/copilot-sdk.git" }, "version": "0.0.0-dev", - "copilotCliVersion": "1.0.86-0", + "copilotCliVersion": "1.0.86-2", "description": "TypeScript SDK for programmatic control of GitHub Copilot CLI via JSON-RPC", "main": "./dist/cjs/index.js", "types": "./dist/index.d.ts", diff --git a/nodejs/src/cliVersion.ts b/nodejs/src/cliVersion.ts index 3eb4b744ab..b276943645 100644 --- a/nodejs/src/cliVersion.ts +++ b/nodejs/src/cliVersion.ts @@ -1,3 +1,3 @@ -export const COPILOT_CLI_VERSION = "1.0.86-0"; +export const COPILOT_CLI_VERSION = "1.0.86-2"; export const COPILOT_CLI_USE_NPM_PACKAGE = false; diff --git a/nodejs/src/generated/rpc.ts b/nodejs/src/generated/rpc.ts index b0bbbb56e4..45180bbf56 100644 --- a/nodejs/src/generated/rpc.ts +++ b/nodejs/src/generated/rpc.ts @@ -4562,6 +4562,15 @@ export interface CopilotUserResponse { * Whether CLI remote control is enabled for the user. */ cli_remote_control_enabled?: boolean; + /** + * Enterprises that provide the user's Copilot license, each with a stable numeric ID. + */ + enterprise_list?: { + /** + * Numeric database ID of the enterprise. + */ + id: number; + }[]; } /** * Endpoint URLs from the raw Copilot `/copilot_internal/v2/token` user-response passthrough. diff --git a/nodejs/src/generated/session-events.ts b/nodejs/src/generated/session-events.ts index acaf485146..2711ad859d 100644 --- a/nodejs/src/generated/session-events.ts +++ b/nodejs/src/generated/session-events.ts @@ -3178,6 +3178,7 @@ export interface CompactionCompleteData { * GitHub request tracing ID (x-github-request-id header) for the compaction LLM call */ requestId?: string; + responsesReasoning?: ResponsesReasoning; /** * Copilot service request ID (x-copilot-service-request-id header) for the compaction LLM call */ @@ -3294,6 +3295,23 @@ export interface CompactionCompleteCompactionTokensUsedCopilotUsageTokenDetail { */ tokenType: string; } +/** + * Original request-level and effective conversation reasoning effort for a Responses history boundary + */ +export interface ResponsesReasoning { + /** + * Effective effort selected before this message, independent of the response-level reasoning field + */ + effort: string; + /** + * Original request-level effort, retained while replaying this conversation prefix + */ + initialEffort: string; + /** + * Provider model whose reasoning settings this boundary records + */ + model: string; +} /** * Session event "session.task_complete". Task completion notification with summary from the agent */ @@ -3882,6 +3900,7 @@ export interface UserMessageData { * Parent agent task ID for background telemetry correlated to this user turn */ parentAgentTaskId?: string; + responsesReasoning?: ResponsesReasoning; /** * Origin of this message, used for timeline filtering and attribution (e.g., `skill-pdf` for hidden skill injection or `agent-` for an inter-agent prompt) */ @@ -7859,6 +7878,7 @@ export interface SystemNotificationData { */ content: string; kind: SystemNotification; + responsesReasoning?: ResponsesReasoning; } /** * System notification metadata for a background agent that completed or failed, including agent ID, type, status, description, and prompt. @@ -8098,6 +8118,7 @@ export interface PermissionRequestedEvent { */ export interface PermissionRequestedData { agentMode?: SessionMode; + permissionMode?: PermissionMode; permissionRequest: PermissionRequest; promptRequest?: PermissionPromptRequest; /** @@ -8440,6 +8461,7 @@ export interface PermissionRequestMemory { */ /** @experimental */ export interface PermissionAssistedApproval { + evaluation?: PermissionApprovalEvaluation; failureReason?: AssistedApprovalJudgeFailureReason; /** * Model id that produced the recommendation, when the judge was consulted and reported one. Absent for `excluded` (the judge was not consulted) and for failures that occurred before a model was selected. @@ -8451,6 +8473,98 @@ export interface PermissionAssistedApproval { reason?: string; recommendation: AssistedApprovalRecommendation; } +/** + * Bounded runtime attribution, independent of free-text rationale. Telemetry revalidates this vocabulary before standard collection. + */ +export interface PermissionApprovalEvaluation { + /** + * Stage that produced this attribution. + */ + evaluationStage: /** The attribution stage is unknown. */ + | "unknown" + /** The request resolved before assisted-approval evaluation. */ + | "not_reached" + /** A runtime gate skipped the judge. */ + | "pre_judge" + /** The judge interface produced the evaluation. */ + | "judge" + /** A cached recommendation or another request's outcome was reused. */ + | "reuse"; + /** + * Whether the request invoked the judge interface. A cached recommendation retains the original attempt fact. Omitted means unknown, including inherited outcomes. + */ + judgeAttempted?: boolean; + /** + * Status of the local judge interface, not proof of a model network call. + */ + judgeStatus: /** No authoritative attribution is available. */ + | "unknown" + /** This evaluation did not invoke the judge interface. */ + | "not_called" + /** The judge interface returned a usable verdict. */ + | "completed" + /** The judge interface returned an error. */ + | "failed" + /** This evaluation reused a cached recommendation. */ + | "cached" + /** This request inherited another decision without local judge attribution. */ + | "inherited"; + /** + * Machine-readable runtime gate reason, never a command, path or human rationale. + */ + reasonCode: /** Attribution is missing or outside the supported vocabulary. */ + | "unknown" + /** The request resolved before assisted-approval evaluation. */ + | "not-reached" + /** Assisted approval was inactive for this request. */ + | "inactive" + /** The judge was skipped because authorization extraction could not safely establish a complete recent history. */ + | "authorization-history-incomplete" + /** Managed policy required a human decision. */ + | "managed-approval-required" + /** The request asked to bypass sandbox restrictions. */ + | "sandbox-bypass" + /** An action field exceeded the judge input limit. */ + | "action-too-long" + /** The script path was not authorized for inspection. */ + | "path-not-authorized" + /** The script working directory was invalid. */ + | "invalid-working-directory" + /** The script snapshot could not be read. */ + | "unreadable" + /** The script path was not a regular file. */ + | "not-regular-file" + /** The script snapshot exceeded the size limit. */ + | "too-large" + /** The script snapshot was not UTF-8. */ + | "non-utf8" + /** The script interpreter could not be inspected. */ + | "interpreter-unavailable" + /** The interpreter snapshot exceeded the size limit. */ + | "interpreter-too-large" + /** The shell environment could not be reviewed. */ + | "shell-environment-unreviewable" + /** A script path could not be represented for review. */ + | "unrepresentable-path" + /** An interpreter wrapped a script that could not be reviewed. */ + | "interpreter-wrapped-script" + /** The script invocation could not be reviewed. */ + | "unreviewable-script-invocation" + /** The script argument binding could not be reviewed. */ + | "argument-binding-unreviewable" + /** The script review metadata was malformed. */ + | "malformed-script-action-review" + /** The script snapshot manifest was malformed. */ + | "malformed-script-action-manifest" + /** Script review was unavailable. */ + | "unavailable" + /** The judge interface returned a usable verdict. */ + | "judge-verdict" + /** The judge interface returned an error. */ + | "judge-error" + /** The request inherited an outcome from another decision. */ + | "inherited"; +} /** * Custom tool invocation permission request */ diff --git a/nodejs/test/rust-codegen.test.ts b/nodejs/test/rust-codegen.test.ts index 577ace1dc0..882fa5437e 100644 --- a/nodejs/test/rust-codegen.test.ts +++ b/nodejs/test/rust-codegen.test.ts @@ -1,7 +1,7 @@ import type { ApiSchema } from "../../scripts/codegen/utils.ts"; import { describe, expect, it } from "vitest"; -import { generateApiTypesCode } from "../../scripts/codegen/rust.ts"; +import { generateApiTypesCode, generateSessionEventsCode } from "../../scripts/codegen/rust.ts"; describe("Rust API type codegen", () => { it("distinguishes a protocol-defined unknown value from the forward-compatible fallback", () => { @@ -40,4 +40,64 @@ describe("Rust API type codegen", () => { expect(code).toContain("pub use super::session_events::{PermissionDecisionSource};"); expect(code).toContain("use crate::types::{RequestId, SessionId};"); }); + + it.each([ + ["unknown", "unknown_value"], + ["unknown_value", "unknown"], + ["not-called", "not_called"], + ])("rejects colliding wire values %s and %s", (first, second) => { + expect(() => + generateApiTypesCode({ + definitions: { + Collision: { type: "string", enum: [first, second] }, + }, + } as ApiSchema) + ).toThrow("is not unique"); + }); +}); + +describe("Rust session event codegen", () => { + it.each(["reasonCode", "judgeStatus", "evaluationStage"])( + "preserves explicit unknown values in nested approval %s enums", + (property) => { + const code = generateSessionEventsCode({ + definitions: { + SessionEvent: { + anyOf: [ + { + type: "object", + required: ["type", "data"], + properties: { + type: { const: "permission.completed" }, + data: { + type: "object", + properties: { + approval: { + type: "object", + properties: { + [property]: { + type: "string", + enum: ["unknown", "inherited"], + }, + }, + }, + }, + }, + }, + }, + ], + }, + }, + }); + + expect(code).toContain(`#[serde(rename = "unknown")] + UnknownValue,`); + expect(code).toContain(`#[serde(rename = "inherited")] + Inherited,`); + expect(code).toContain(`/// Unknown variant for forward compatibility. + #[default] + #[serde(other)] + Unknown,`); + } + ); }); diff --git a/python/copilot/generated/rpc.py b/python/copilot/generated/rpc.py index bcf53a1495..160ec5d20c 100644 --- a/python/copilot/generated/rpc.py +++ b/python/copilot/generated/rpc.py @@ -48,6 +48,11 @@ def from_bool(x: Any) -> bool: assert isinstance(x, bool) return x +def from_int(x: Any) -> int: + assert isinstance(x, (int, float)) and not isinstance(x, bool) + assert not isinstance(x, float) or x.is_integer() + return int(x) + def from_float(x: Any) -> float: assert isinstance(x, (float, int)) and not isinstance(x, bool) return float(x) @@ -56,23 +61,18 @@ def to_float(x: Any) -> float: assert isinstance(x, (int, float)) return x -def from_dict(f: Callable[[Any], T], x: Any) -> dict[str, T]: - assert isinstance(x, dict) - return { k: f(v) for (k, v) in x.items() } - def from_list(f: Callable[[Any], T], x: Any) -> list[T]: assert isinstance(x, list) return [f(y) for y in x] +def from_dict(f: Callable[[Any], T], x: Any) -> dict[str, T]: + assert isinstance(x, dict) + return { k: f(v) for (k, v) in x.items() } + def to_enum(c: type[EnumT], x: Any) -> EnumT: assert isinstance(x, c) return x.value -def from_int(x: Any) -> int: - assert isinstance(x, (int, float)) and not isinstance(x, bool) - assert not isinstance(x, float) or x.is_integer() - return int(x) - def from_datetime(x: Any) -> datetime: return dateutil.parser.parse(x) @@ -165,6 +165,22 @@ def to_dict(self) -> dict: result["telemetry"] = from_union([from_str, from_none], self.telemetry) return result +@dataclass +class EnterpriseList: + id: int + """Numeric database ID of the enterprise.""" + + @staticmethod + def from_dict(obj: Any) -> 'EnterpriseList': + assert isinstance(obj, dict) + id = from_int(obj.get("id")) + return EnterpriseList(id) + + def to_dict(self) -> dict: + result: dict = {} + result["id"] = from_int(self.id) + return result + # Experimental: this type is part of an experimental API and may change or be removed. @dataclass class CopilotUserResponseQuotaSnapshots: @@ -34840,6 +34856,9 @@ class CopilotUserResponse: endpoints: CopilotUserResponseEndpoints | None = None """Endpoint URLs from the raw Copilot `/copilot_internal/v2/token` user-response passthrough.""" + enterprise_list: list[EnterpriseList] | None = None + """Enterprises that provide the user's Copilot license, each with a stable numeric ID.""" + is_mcp_enabled: Any = None """Whether MCP (Model Context Protocol) support is enabled for the user.""" @@ -34902,6 +34921,7 @@ def from_dict(obj: Any) -> 'CopilotUserResponse': copilot_plan = from_union([from_str, from_none], obj.get("copilot_plan")) copilotignore_enabled = from_union([from_bool, from_none], obj.get("copilotignore_enabled")) endpoints = from_union([CopilotUserResponseEndpoints.from_dict, from_none], obj.get("endpoints")) + enterprise_list = from_union([lambda x: from_list(EnterpriseList.from_dict, x), from_none], obj.get("enterprise_list")) is_mcp_enabled = obj.get("is_mcp_enabled") is_staff = from_union([from_bool, from_none], obj.get("is_staff")) limited_user_quotas = from_union([lambda x: from_dict(from_float, x), from_none], obj.get("limited_user_quotas")) @@ -34916,7 +34936,7 @@ def from_dict(obj: Any) -> 'CopilotUserResponse': restricted_telemetry = from_union([from_bool, from_none], obj.get("restricted_telemetry")) te = from_union([from_bool, from_none], obj.get("te")) token_based_billing = from_union([from_bool, from_none], obj.get("token_based_billing")) - return CopilotUserResponse(access_type_sku, analytics_tracking_id, assigned_date, can_signup_for_limited, can_upgrade_plan, chat_enabled, cli_remote_control_enabled, cloud_session_storage_enabled, codex_agent_enabled, copilot_plan, copilotignore_enabled, endpoints, is_mcp_enabled, is_staff, limited_user_quotas, limited_user_reset_date, login, monthly_quotas, organization_list, organization_login_list, quota_reset_date, quota_reset_date_utc, quota_snapshots, restricted_telemetry, te, token_based_billing) + return CopilotUserResponse(access_type_sku, analytics_tracking_id, assigned_date, can_signup_for_limited, can_upgrade_plan, chat_enabled, cli_remote_control_enabled, cloud_session_storage_enabled, codex_agent_enabled, copilot_plan, copilotignore_enabled, endpoints, enterprise_list, is_mcp_enabled, is_staff, limited_user_quotas, limited_user_reset_date, login, monthly_quotas, organization_list, organization_login_list, quota_reset_date, quota_reset_date_utc, quota_snapshots, restricted_telemetry, te, token_based_billing) def to_dict(self) -> dict: result: dict = {} @@ -34944,6 +34964,8 @@ def to_dict(self) -> dict: result["copilotignore_enabled"] = from_union([from_bool, from_none], self.copilotignore_enabled) if self.endpoints is not None: result["endpoints"] = from_union([lambda x: to_class(CopilotUserResponseEndpoints, x), from_none], self.endpoints) + if self.enterprise_list is not None: + result["enterprise_list"] = from_union([lambda x: from_list(lambda x: to_class(EnterpriseList, x), x), from_none], self.enterprise_list) if self.is_mcp_enabled is not None: result["is_mcp_enabled"] = self.is_mcp_enabled if self.is_staff is not None: @@ -45567,6 +45589,7 @@ async def handle_git_hub_token_get_token(params: dict) -> dict | None: "DiscoveredMCPServerType", "EnqueueCommandParams", "EnqueueCommandResult", + "EnterpriseList", "Entry", "EnvAuthInfo", "EnvAuthInfoType", diff --git a/python/copilot/generated/session_events.py b/python/copilot/generated/session_events.py index f9cb382aab..bffa1358f6 100644 --- a/python/copilot/generated/session_events.py +++ b/python/copilot/generated/session_events.py @@ -1497,6 +1497,7 @@ def to_dict(self) -> dict: class PermissionAssistedApproval: "Assisted-approval judge information attached to a permission request. Present only in assisted mode; its absence means the judge did not evaluate the request. The `recommendation` conveys the judge's disposition for this request." recommendation: AssistedApprovalRecommendation + evaluation: PermissionApprovalEvaluation | None = None failure_reason: AssistedApprovalJudgeFailureReason | None = None model: str | None = None reason: str | None = None @@ -1505,11 +1506,13 @@ class PermissionAssistedApproval: def from_dict(obj: Any) -> "PermissionAssistedApproval": assert isinstance(obj, dict) recommendation = parse_enum(AssistedApprovalRecommendation, obj.get("recommendation")) + evaluation = from_union([from_none, PermissionApprovalEvaluation.from_dict], obj.get("evaluation")) failure_reason = from_union([from_none, lambda x: parse_enum(AssistedApprovalJudgeFailureReason, x)], obj.get("failureReason")) model = from_union([from_none, from_str], obj.get("model")) reason = from_union([from_none, from_str], obj.get("reason")) return PermissionAssistedApproval( recommendation=recommendation, + evaluation=evaluation, failure_reason=failure_reason, model=model, reason=reason, @@ -1518,6 +1521,8 @@ def from_dict(obj: Any) -> "PermissionAssistedApproval": def to_dict(self) -> dict: result: dict = {} result["recommendation"] = to_enum(AssistedApprovalRecommendation, self.recommendation) + if self.evaluation is not None: + result["evaluation"] = from_union([from_none, lambda x: to_class(PermissionApprovalEvaluation, x)], self.evaluation) if self.failure_reason is not None: result["failureReason"] = from_union([from_none, lambda x: to_enum(AssistedApprovalJudgeFailureReason, x)], self.failure_reason) if self.model is not None: @@ -6039,6 +6044,38 @@ def to_dict(self) -> dict: return {} +@dataclass +class PermissionApprovalEvaluation: + "Bounded runtime attribution, independent of free-text rationale. Telemetry revalidates this vocabulary before standard collection." + evaluation_stage: PermissionApprovalEvaluationEvaluationStage + judge_status: PermissionApprovalEvaluationJudgeStatus + reason_code: PermissionApprovalEvaluationReasonCode + judge_attempted: bool | None = None + + @staticmethod + def from_dict(obj: Any) -> "PermissionApprovalEvaluation": + assert isinstance(obj, dict) + evaluation_stage = parse_enum(PermissionApprovalEvaluationEvaluationStage, obj.get("evaluationStage")) + judge_status = parse_enum(PermissionApprovalEvaluationJudgeStatus, obj.get("judgeStatus")) + reason_code = parse_enum(PermissionApprovalEvaluationReasonCode, obj.get("reasonCode")) + judge_attempted = from_union([from_none, from_bool], obj.get("judgeAttempted")) + return PermissionApprovalEvaluation( + evaluation_stage=evaluation_stage, + judge_status=judge_status, + reason_code=reason_code, + judge_attempted=judge_attempted, + ) + + def to_dict(self) -> dict: + result: dict = {} + result["evaluationStage"] = to_enum(PermissionApprovalEvaluationEvaluationStage, self.evaluation_stage) + result["judgeStatus"] = to_enum(PermissionApprovalEvaluationJudgeStatus, self.judge_status) + result["reasonCode"] = to_enum(PermissionApprovalEvaluationReasonCode, self.reason_code) + if self.judge_attempted is not None: + result["judgeAttempted"] = from_union([from_none, from_bool], self.judge_attempted) + return result + + @dataclass class PermissionApproved: "Permission response variant indicating the request was approved without persisting an approval rule." @@ -7697,6 +7734,7 @@ class PermissionRequestedData: permission_request: PermissionRequest request_id: str agent_mode: SessionMode | None = None + permission_mode: PermissionMode | None = None prompt_request: PermissionPromptRequest | None = None resolved_by_hook: bool | None = None risk_assessment: Any = None @@ -7707,6 +7745,7 @@ def from_dict(obj: Any) -> "PermissionRequestedData": permission_request = _load_PermissionRequest(obj.get("permissionRequest")) request_id = from_str(obj.get("requestId")) agent_mode = from_union([from_none, lambda x: parse_enum(SessionMode, x)], obj.get("agentMode")) + permission_mode = from_union([from_none, lambda x: parse_enum(PermissionMode, x)], obj.get("permissionMode")) prompt_request = from_union([from_none, _load_PermissionPromptRequest], obj.get("promptRequest")) resolved_by_hook = from_union([from_none, from_bool], obj.get("resolvedByHook")) risk_assessment = obj.get("riskAssessment") @@ -7714,6 +7753,7 @@ def from_dict(obj: Any) -> "PermissionRequestedData": permission_request=permission_request, request_id=request_id, agent_mode=agent_mode, + permission_mode=permission_mode, prompt_request=prompt_request, resolved_by_hook=resolved_by_hook, risk_assessment=risk_assessment, @@ -7725,6 +7765,8 @@ def to_dict(self) -> dict: result["requestId"] = from_str(self.request_id) if self.agent_mode is not None: result["agentMode"] = from_union([from_none, lambda x: to_enum(SessionMode, x)], self.agent_mode) + if self.permission_mode is not None: + result["permissionMode"] = from_union([from_none, lambda x: to_enum(PermissionMode, x)], self.permission_mode) if self.prompt_request is not None: result["promptRequest"] = from_union([from_none, lambda x: x.to_dict()], self.prompt_request) if self.resolved_by_hook is not None: @@ -7935,6 +7977,33 @@ def to_dict(self) -> dict: return result +@dataclass +class ResponsesReasoning: + "Original request-level and effective conversation reasoning effort for a Responses history boundary" + effort: str + initial_effort: str + model: str + + @staticmethod + def from_dict(obj: Any) -> "ResponsesReasoning": + assert isinstance(obj, dict) + effort = from_str(obj.get("effort")) + initial_effort = from_str(obj.get("initialEffort")) + model = from_str(obj.get("model")) + return ResponsesReasoning( + effort=effort, + initial_effort=initial_effort, + model=model, + ) + + def to_dict(self) -> dict: + result: dict = {} + result["effort"] = from_str(self.effort) + result["initialEffort"] = from_str(self.initial_effort) + result["model"] = from_str(self.model) + return result + + @dataclass class SamplingCompletedData: "Sampling request completion notification signaling UI dismissal" @@ -8125,6 +8194,7 @@ class SessionCompactionCompleteData: pre_compaction_messages_length: int | None = None pre_compaction_tokens: int | None = None request_id: str | None = None + responses_reasoning: ResponsesReasoning | None = None service_request_id: str | None = None status_code: int | None = None summary_content: str | None = None @@ -8151,6 +8221,7 @@ def from_dict(obj: Any) -> "SessionCompactionCompleteData": pre_compaction_messages_length = from_union([from_none, from_int], obj.get("preCompactionMessagesLength")) pre_compaction_tokens = from_union([from_none, from_int], obj.get("preCompactionTokens")) request_id = from_union([from_none, from_str], obj.get("requestId")) + responses_reasoning = from_union([from_none, ResponsesReasoning.from_dict], obj.get("responsesReasoning")) service_request_id = from_union([from_none, from_str], obj.get("serviceRequestId")) status_code = from_union([from_none, from_int], obj.get("statusCode")) summary_content = from_union([from_none, from_str], obj.get("summaryContent")) @@ -8174,6 +8245,7 @@ def from_dict(obj: Any) -> "SessionCompactionCompleteData": pre_compaction_messages_length=pre_compaction_messages_length, pre_compaction_tokens=pre_compaction_tokens, request_id=request_id, + responses_reasoning=responses_reasoning, service_request_id=service_request_id, status_code=status_code, summary_content=summary_content, @@ -8213,6 +8285,8 @@ def to_dict(self) -> dict: result["preCompactionTokens"] = from_union([from_none, to_int], self.pre_compaction_tokens) if self.request_id is not None: result["requestId"] = from_union([from_none, from_str], self.request_id) + if self.responses_reasoning is not None: + result["responsesReasoning"] = from_union([from_none, lambda x: to_class(ResponsesReasoning, x)], self.responses_reasoning) if self.service_request_id is not None: result["serviceRequestId"] = from_union([from_none, from_str], self.service_request_id) if self.status_code is not None: @@ -10618,21 +10692,26 @@ class SystemNotificationData: "System-generated notification for runtime events like background task completion" content: str kind: SystemNotification + responses_reasoning: ResponsesReasoning | None = None @staticmethod def from_dict(obj: Any) -> "SystemNotificationData": assert isinstance(obj, dict) content = from_str(obj.get("content")) kind = _load_SystemNotification(obj.get("kind")) + responses_reasoning = from_union([from_none, ResponsesReasoning.from_dict], obj.get("responsesReasoning")) return SystemNotificationData( content=content, kind=kind, + responses_reasoning=responses_reasoning, ) def to_dict(self) -> dict: result: dict = {} result["content"] = from_str(self.content) result["kind"] = self.kind.to_dict() + if self.responses_reasoning is not None: + result["responsesReasoning"] = from_union([from_none, lambda x: to_class(ResponsesReasoning, x)], self.responses_reasoning) return result @@ -11962,6 +12041,7 @@ class UserMessageData: message_id: str | None = None native_document_path_fallback_paths: list[str] | None = None parent_agent_task_id: str | None = None + responses_reasoning: ResponsesReasoning | None = None source: str | None = None supported_native_document_mime_types: list[str] | None = None transformed_content: str | None = None @@ -11979,6 +12059,7 @@ def from_dict(obj: Any) -> "UserMessageData": message_id = from_union([from_none, from_str], obj.get("messageId")) native_document_path_fallback_paths = from_union([from_none, lambda x: from_list(from_str, x)], obj.get("nativeDocumentPathFallbackPaths")) parent_agent_task_id = from_union([from_none, from_str], obj.get("parentAgentTaskId")) + responses_reasoning = from_union([from_none, ResponsesReasoning.from_dict], obj.get("responsesReasoning")) source = from_union([from_none, from_str], obj.get("source")) supported_native_document_mime_types = from_union([from_none, lambda x: from_list(from_str, x)], obj.get("supportedNativeDocumentMimeTypes")) transformed_content = from_union([from_none, from_str], obj.get("transformedContent")) @@ -11993,6 +12074,7 @@ def from_dict(obj: Any) -> "UserMessageData": message_id=message_id, native_document_path_fallback_paths=native_document_path_fallback_paths, parent_agent_task_id=parent_agent_task_id, + responses_reasoning=responses_reasoning, source=source, supported_native_document_mime_types=supported_native_document_mime_types, transformed_content=transformed_content, @@ -12018,6 +12100,8 @@ def to_dict(self) -> dict: result["nativeDocumentPathFallbackPaths"] = from_union([from_none, lambda x: from_list(from_str, x)], self.native_document_path_fallback_paths) if self.parent_agent_task_id is not None: result["parentAgentTaskId"] = from_union([from_none, from_str], self.parent_agent_task_id) + if self.responses_reasoning is not None: + result["responsesReasoning"] = from_union([from_none, lambda x: to_class(ResponsesReasoning, x)], self.responses_reasoning) if self.source is not None: result["source"] = from_union([from_none, from_str], self.source) if self.supported_native_document_mime_types is not None: @@ -13147,6 +13231,92 @@ class OmittedBinaryType(Enum): RESOURCE = "resource" +class PermissionApprovalEvaluationEvaluationStage(Enum): + "Stage that produced this attribution." + # The attribution stage is unknown. + UNKNOWN = "unknown" + # The request resolved before assisted-approval evaluation. + NOT_REACHED = "not_reached" + # A runtime gate skipped the judge. + PRE_JUDGE = "pre_judge" + # The judge interface produced the evaluation. + JUDGE = "judge" + # A cached recommendation or another request's outcome was reused. + REUSE = "reuse" + + +class PermissionApprovalEvaluationJudgeStatus(Enum): + "Status of the local judge interface, not proof of a model network call." + # No authoritative attribution is available. + UNKNOWN = "unknown" + # This evaluation did not invoke the judge interface. + NOT_CALLED = "not_called" + # The judge interface returned a usable verdict. + COMPLETED = "completed" + # The judge interface returned an error. + FAILED = "failed" + # This evaluation reused a cached recommendation. + CACHED = "cached" + # This request inherited another decision without local judge attribution. + INHERITED = "inherited" + + +class PermissionApprovalEvaluationReasonCode(Enum): + "Machine-readable runtime gate reason, never a command, path or human rationale." + # Attribution is missing or outside the supported vocabulary. + UNKNOWN = "unknown" + # The request resolved before assisted-approval evaluation. + NOT_REACHED = "not-reached" + # Assisted approval was inactive for this request. + INACTIVE = "inactive" + # The judge was skipped because authorization extraction could not safely establish a complete recent history. + AUTHORIZATION_HISTORY_INCOMPLETE = "authorization-history-incomplete" + # Managed policy required a human decision. + MANAGED_APPROVAL_REQUIRED = "managed-approval-required" + # The request asked to bypass sandbox restrictions. + SANDBOX_BYPASS = "sandbox-bypass" + # An action field exceeded the judge input limit. + ACTION_TOO_LONG = "action-too-long" + # The script path was not authorized for inspection. + PATH_NOT_AUTHORIZED = "path-not-authorized" + # The script working directory was invalid. + INVALID_WORKING_DIRECTORY = "invalid-working-directory" + # The script snapshot could not be read. + UNREADABLE = "unreadable" + # The script path was not a regular file. + NOT_REGULAR_FILE = "not-regular-file" + # The script snapshot exceeded the size limit. + TOO_LARGE = "too-large" + # The script snapshot was not UTF-8. + NON_UTF8 = "non-utf8" + # The script interpreter could not be inspected. + INTERPRETER_UNAVAILABLE = "interpreter-unavailable" + # The interpreter snapshot exceeded the size limit. + INTERPRETER_TOO_LARGE = "interpreter-too-large" + # The shell environment could not be reviewed. + SHELL_ENVIRONMENT_UNREVIEWABLE = "shell-environment-unreviewable" + # A script path could not be represented for review. + UNREPRESENTABLE_PATH = "unrepresentable-path" + # An interpreter wrapped a script that could not be reviewed. + INTERPRETER_WRAPPED_SCRIPT = "interpreter-wrapped-script" + # The script invocation could not be reviewed. + UNREVIEWABLE_SCRIPT_INVOCATION = "unreviewable-script-invocation" + # The script argument binding could not be reviewed. + ARGUMENT_BINDING_UNREVIEWABLE = "argument-binding-unreviewable" + # The script review metadata was malformed. + MALFORMED_SCRIPT_ACTION_REVIEW = "malformed-script-action-review" + # The script snapshot manifest was malformed. + MALFORMED_SCRIPT_ACTION_MANIFEST = "malformed-script-action-manifest" + # Script review was unavailable. + UNAVAILABLE = "unavailable" + # The judge interface returned a usable verdict. + JUDGE_VERDICT = "judge-verdict" + # The judge interface returned an error. + JUDGE_ERROR = "judge-error" + # The request inherited an outcome from another decision. + INHERITED = "inherited" + + class PermissionDecisionSource(Enum): "Controlled reason or actor responsible for a permission response." # The response followed the assisted-approval judge recommendation. @@ -13850,6 +14020,10 @@ def session_event_to_dict(x: SessionEvent) -> Any: "OmittedBinaryResult", "OmittedBinaryType", "PendingMessagesModifiedData", + "PermissionApprovalEvaluation", + "PermissionApprovalEvaluationEvaluationStage", + "PermissionApprovalEvaluationJudgeStatus", + "PermissionApprovalEvaluationReasonCode", "PermissionApproved", "PermissionApprovedForLocation", "PermissionApprovedForSession", @@ -13917,6 +14091,7 @@ def session_event_to_dict(x: SessionEvent) -> Any: "ReasoningSummary", "RecommendedAutoTier", "RemediationAction", + "ResponsesReasoning", "SamplingCompletedData", "SamplingRequestedData", "SandboxDecisionData", diff --git a/rust/src/generated/api_types.rs b/rust/src/generated/api_types.rs index 3e8b45a72b..b036641564 100644 --- a/rust/src/generated/api_types.rs +++ b/rust/src/generated/api_types.rs @@ -879,6 +879,13 @@ pub struct CopilotUserResponseEndpoints { pub telemetry: Option, } +#[derive(Debug, Clone, Default, Serialize, Deserialize)] +#[serde(rename_all = "camelCase")] +pub struct CopilotUserResponseEnterpriseListItem { + /// Numeric database ID of the enterprise. + pub id: i64, +} + /// Chat quota snapshot from the raw Copilot user-response passthrough, with entitlement, overage, remaining quota, reset, and billing fields. /// ///
@@ -1125,6 +1132,9 @@ pub struct CopilotUserResponse { /// Endpoint URLs from the raw Copilot `/copilot_internal/v2/token` user-response passthrough. #[serde(skip_serializing_if = "Option::is_none")] pub endpoints: Option, + /// Enterprises that provide the user's Copilot license, each with a stable numeric ID. + #[serde(rename = "enterprise_list", skip_serializing_if = "Option::is_none")] + pub enterprise_list: Option>, /// Whether MCP (Model Context Protocol) support is enabled for the user. #[serde(rename = "is_mcp_enabled", skip_serializing_if = "Option::is_none")] pub is_mcp_enabled: Option, diff --git a/rust/src/generated/session_events.rs b/rust/src/generated/session_events.rs index f34ee19e7b..90650e567f 100644 --- a/rust/src/generated/session_events.rs +++ b/rust/src/generated/session_events.rs @@ -1999,6 +1999,18 @@ pub struct CompactionCompleteCompactionTokensUsed { pub output_tokens: Option, } +/// Original request-level and effective conversation reasoning effort for a Responses history boundary +#[derive(Debug, Clone, Default, Serialize, Deserialize)] +#[serde(rename_all = "camelCase")] +pub struct ResponsesReasoning { + /// Effective effort selected before this message, independent of the response-level reasoning field + pub effort: String, + /// Original request-level effort, retained while replaying this conversation prefix + pub initial_effort: String, + /// Provider model whose reasoning settings this boundary records + pub model: String, +} + /// Session event "session.compaction_complete". Conversation compaction results including success status, metrics, and optional error details #[derive(Debug, Clone, Default, Serialize, Deserialize)] #[serde(rename_all = "camelCase")] @@ -2043,6 +2055,9 @@ pub struct SessionCompactionCompleteData { /// GitHub request tracing ID (x-github-request-id header) for the compaction LLM call #[serde(skip_serializing_if = "Option::is_none")] pub request_id: Option, + /// Reasoning baseline on the replacement summary, preserved when replay skips the compacted history + #[serde(skip_serializing_if = "Option::is_none")] + pub responses_reasoning: Option, /// Copilot service request ID (x-copilot-service-request-id header) for the compaction LLM call #[serde(skip_serializing_if = "Option::is_none")] pub service_request_id: Option, @@ -2412,6 +2427,9 @@ pub struct UserMessageData { /// Parent agent task ID for background telemetry correlated to this user turn #[serde(skip_serializing_if = "Option::is_none")] pub parent_agent_task_id: Option, + /// Responses reasoning settings anchored before this model-facing message, for cache-stable history replay + #[serde(skip_serializing_if = "Option::is_none")] + pub responses_reasoning: Option, /// Origin of this message, used for timeline filtering and attribution (e.g., `skill-pdf` for hidden skill injection or `agent-` for an inter-agent prompt) #[serde(skip_serializing_if = "Option::is_none")] pub source: Option, @@ -4692,6 +4710,9 @@ pub struct SystemNotificationData { pub content: String, /// Structured metadata identifying what triggered this notification pub kind: serde_json::Value, + /// Responses reasoning settings anchored before this model-facing message, for cache-stable history replay + #[serde(skip_serializing_if = "Option::is_none")] + pub responses_reasoning: Option, } /// A parsed command identifier in a shell permission request, including whether it is read-only. @@ -4922,6 +4943,21 @@ pub struct PermissionRequestUrl { pub url: String, } +/// Bounded runtime attribution, independent of free-text rationale. Telemetry revalidates this vocabulary before standard collection. +#[derive(Debug, Clone, Default, Serialize, Deserialize)] +#[serde(rename_all = "camelCase")] +pub struct PermissionApprovalEvaluation { + /// Stage that produced this attribution. + pub evaluation_stage: PermissionApprovalEvaluationEvaluationStage, + /// Whether the request invoked the judge interface. A cached recommendation retains the original attempt fact. Omitted means unknown, including inherited outcomes. + #[serde(skip_serializing_if = "Option::is_none")] + pub judge_attempted: Option, + /// Status of the local judge interface, not proof of a model network call. + pub judge_status: PermissionApprovalEvaluationJudgeStatus, + /// Machine-readable runtime gate reason, never a command, path or human rationale. + pub reason_code: PermissionApprovalEvaluationReasonCode, +} + /// Assisted-approval judge information attached to a permission request. Present only in assisted mode; its absence means the judge did not evaluate the request. The `recommendation` conveys the judge's disposition for this request. /// ///
@@ -4933,6 +4969,9 @@ pub struct PermissionRequestUrl { #[derive(Debug, Clone, Default, Serialize, Deserialize)] #[serde(rename_all = "camelCase")] pub struct PermissionAssistedApproval { + /// Runtime reason and judge-call metadata. Absent on older events; missing metadata means unknown, not that the judge was skipped. + #[serde(skip_serializing_if = "Option::is_none")] + pub evaluation: Option, /// Classified cause of an `error` recommendation. Absent for every other recommendation. #[serde(skip_serializing_if = "Option::is_none")] pub failure_reason: Option, @@ -5625,6 +5664,9 @@ pub struct PermissionRequestedData { /// Agent mode captured from the owning turn when permission evaluation began. #[serde(skip_serializing_if = "Option::is_none")] pub agent_mode: Option, + /// Permission mode captured when evaluation began. Absent on historical events. + #[serde(skip_serializing_if = "Option::is_none")] + pub permission_mode: Option, /// Details of the permission being requested pub permission_request: PermissionRequest, /// Derived user-facing permission prompt details for UI consumers @@ -8622,6 +8664,144 @@ pub enum PermissionRequestMemoryAction { Unknown, } +/// Stage that produced this attribution. +#[derive(Debug, Clone, Default, PartialEq, Eq, Serialize, Deserialize)] +pub enum PermissionApprovalEvaluationEvaluationStage { + /// The attribution stage is unknown. + #[serde(rename = "unknown")] + UnknownValue, + /// The request resolved before assisted-approval evaluation. + #[serde(rename = "not_reached")] + NotReached, + /// A runtime gate skipped the judge. + #[serde(rename = "pre_judge")] + PreJudge, + /// The judge interface produced the evaluation. + #[serde(rename = "judge")] + Judge, + /// A cached recommendation or another request's outcome was reused. + #[serde(rename = "reuse")] + Reuse, + /// Unknown variant for forward compatibility. + #[default] + #[serde(other)] + Unknown, +} + +/// Status of the local judge interface, not proof of a model network call. +#[derive(Debug, Clone, Default, PartialEq, Eq, Serialize, Deserialize)] +pub enum PermissionApprovalEvaluationJudgeStatus { + /// No authoritative attribution is available. + #[serde(rename = "unknown")] + UnknownValue, + /// This evaluation did not invoke the judge interface. + #[serde(rename = "not_called")] + NotCalled, + /// The judge interface returned a usable verdict. + #[serde(rename = "completed")] + Completed, + /// The judge interface returned an error. + #[serde(rename = "failed")] + Failed, + /// This evaluation reused a cached recommendation. + #[serde(rename = "cached")] + Cached, + /// This request inherited another decision without local judge attribution. + #[serde(rename = "inherited")] + Inherited, + /// Unknown variant for forward compatibility. + #[default] + #[serde(other)] + Unknown, +} + +/// Machine-readable runtime gate reason, never a command, path or human rationale. +#[derive(Debug, Clone, Default, PartialEq, Eq, Serialize, Deserialize)] +pub enum PermissionApprovalEvaluationReasonCode { + /// Attribution is missing or outside the supported vocabulary. + #[serde(rename = "unknown")] + UnknownValue, + /// The request resolved before assisted-approval evaluation. + #[serde(rename = "not-reached")] + NotReached, + /// Assisted approval was inactive for this request. + #[serde(rename = "inactive")] + Inactive, + /// The judge was skipped because authorization extraction could not safely establish a complete recent history. + #[serde(rename = "authorization-history-incomplete")] + AuthorizationHistoryIncomplete, + /// Managed policy required a human decision. + #[serde(rename = "managed-approval-required")] + ManagedApprovalRequired, + /// The request asked to bypass sandbox restrictions. + #[serde(rename = "sandbox-bypass")] + SandboxBypass, + /// An action field exceeded the judge input limit. + #[serde(rename = "action-too-long")] + ActionTooLong, + /// The script path was not authorized for inspection. + #[serde(rename = "path-not-authorized")] + PathNotAuthorized, + /// The script working directory was invalid. + #[serde(rename = "invalid-working-directory")] + InvalidWorkingDirectory, + /// The script snapshot could not be read. + #[serde(rename = "unreadable")] + Unreadable, + /// The script path was not a regular file. + #[serde(rename = "not-regular-file")] + NotRegularFile, + /// The script snapshot exceeded the size limit. + #[serde(rename = "too-large")] + TooLarge, + /// The script snapshot was not UTF-8. + #[serde(rename = "non-utf8")] + NonUtf8, + /// The script interpreter could not be inspected. + #[serde(rename = "interpreter-unavailable")] + InterpreterUnavailable, + /// The interpreter snapshot exceeded the size limit. + #[serde(rename = "interpreter-too-large")] + InterpreterTooLarge, + /// The shell environment could not be reviewed. + #[serde(rename = "shell-environment-unreviewable")] + ShellEnvironmentUnreviewable, + /// A script path could not be represented for review. + #[serde(rename = "unrepresentable-path")] + UnrepresentablePath, + /// An interpreter wrapped a script that could not be reviewed. + #[serde(rename = "interpreter-wrapped-script")] + InterpreterWrappedScript, + /// The script invocation could not be reviewed. + #[serde(rename = "unreviewable-script-invocation")] + UnreviewableScriptInvocation, + /// The script argument binding could not be reviewed. + #[serde(rename = "argument-binding-unreviewable")] + ArgumentBindingUnreviewable, + /// The script review metadata was malformed. + #[serde(rename = "malformed-script-action-review")] + MalformedScriptActionReview, + /// The script snapshot manifest was malformed. + #[serde(rename = "malformed-script-action-manifest")] + MalformedScriptActionManifest, + /// Script review was unavailable. + #[serde(rename = "unavailable")] + Unavailable, + /// The judge interface returned a usable verdict. + #[serde(rename = "judge-verdict")] + JudgeVerdict, + /// The judge interface returned an error. + #[serde(rename = "judge-error")] + JudgeError, + /// The request inherited an outcome from another decision. + #[serde(rename = "inherited")] + Inherited, + /// Unknown variant for forward compatibility. + #[default] + #[serde(other)] + Unknown, +} + /// Why the assisted-approval judge produced no usable recommendation. Present only alongside an `error` recommendation, where the human-readable reason is a fixed string and therefore cannot distinguish these cases. Intended to make a judge failure reportable by a consumer that has no access to the host's logs. /// ///
diff --git a/rust/tests/session_events_test.rs b/rust/tests/session_events_test.rs index 437be9861f..3a7765cd13 100644 --- a/rust/tests/session_events_test.rs +++ b/rust/tests/session_events_test.rs @@ -2,7 +2,58 @@ #![allow(clippy::unwrap_used)] -use github_copilot_sdk::session_events::UserMessageData; +use github_copilot_sdk::session_events::{ + PermissionApprovalEvaluation, PermissionApprovalEvaluationEvaluationStage, + PermissionApprovalEvaluationJudgeStatus, PermissionApprovalEvaluationReasonCode, + UserMessageData, +}; + +#[test] +fn approval_evaluation_preserves_protocol_unknown_values() { + let wire = serde_json::json!({ + "evaluationStage": "unknown", + "judgeStatus": "unknown", + "reasonCode": "unknown" + }); + let data: PermissionApprovalEvaluation = serde_json::from_value(wire.clone()).unwrap(); + + assert_eq!( + data.evaluation_stage, + PermissionApprovalEvaluationEvaluationStage::UnknownValue + ); + assert_eq!( + data.judge_status, + PermissionApprovalEvaluationJudgeStatus::UnknownValue + ); + assert_eq!( + data.reason_code, + PermissionApprovalEvaluationReasonCode::UnknownValue + ); + assert_eq!(serde_json::to_value(data).unwrap(), wire); +} + +#[test] +fn approval_evaluation_accepts_future_values_without_confusing_them_with_protocol_unknown() { + let data: PermissionApprovalEvaluation = serde_json::from_value(serde_json::json!({ + "evaluationStage": "future-stage", + "judgeStatus": "future-status", + "reasonCode": "future-reason" + })) + .unwrap(); + + assert_eq!( + data.evaluation_stage, + PermissionApprovalEvaluationEvaluationStage::Unknown + ); + assert_eq!( + data.judge_status, + PermissionApprovalEvaluationJudgeStatus::Unknown + ); + assert_eq!( + data.reason_code, + PermissionApprovalEvaluationReasonCode::Unknown + ); +} #[test] fn user_message_id_uses_camel_case_wire_name() { diff --git a/scripts/codegen/rust.ts b/scripts/codegen/rust.ts index 714988cb05..c439273d50 100644 --- a/scripts/codegen/rust.ts +++ b/scripts/codegen/rust.ts @@ -85,12 +85,6 @@ const STRING_NEWTYPE_OVERRIDES: Record = { requestId: "RequestId", }; -const STRING_ENUM_VARIANT_OVERRIDES: Record> = { - CatalogTrustEligibility: { - unknown: "UnknownValue", - }, -}; - // ── Naming helpers ────────────────────────────────────────────────────────── function toPascalCase(s: string): string { @@ -1055,12 +1049,14 @@ function emitRustStringEnum( const usedVariantNames = new Set(); const reservedVariantNames = new Set(["Unknown"]); for (const value of values) { + // Keep the protocol's explicit "unknown" distinct from the serde fallback, + // including anonymous enums whose names depend on their containing type. const variantName = uniqueRustPascalIdentifier( value, usedVariantNames, "Value", reservedVariantNames, - STRING_ENUM_VARIANT_OVERRIDES[enumName]?.[value], + value === "unknown" ? "UnknownValue" : undefined, ); pushRustDoc(lines, enumValueDescriptions?.[value], " "); if (variantName !== value) {