Synced from monorepo Changes: - Workspace server: report `/ready` as failed with dwell on hub connect failure - Refresh OIDC token for the Grok agent in the shell - ACP terminal output recorder - Cross-platform provider auth commands in the shell - Default `/resume` to Grok sessions with a hint for hidden external sessions - Resume sessions by title with `--resume` - Limit app-builder archive size - Data-driven tag labels for slash commands - Doctor fixes for tmux - Custom provider gateways and subprocess environment policy in the shell - `/tutorial` — opt-in onboarding tour of Grok Build - Soft and required CLI version checks in the shell - Privacy banner env overrides survive live settings updates - Add remote flag to override the image-edit model - Return profile fields from auth info even when the access token is expired - Add edit control on queued prompt rows - Keep fail-closed policy when clearing orphans with no team - Setting to disable the Ctrl+Space/F8 voice shortcut - Pass `--raw` to pw-record so Linux dictation works on older PipeWire - Validate git URLs when adding marketplace entries - Stop shipping stale tool-doc parameter and tool names - Re-point dashboard attach after `/fork` only when the parent was attached - Surface Grok Computer media-generation results as file-path chunks - Clear web background-task tray on kill and keep the task description - Show privacy upsell banner in agent view until acted on - Add tools-server client callback surface - Protect persistent global hook sources Source-Revision: 95d84f443eddcbed6cbfd6eed22e2eafe6b3939d
50 lines
1.9 KiB
Rust
50 lines
1.9 KiB
Rust
fn main() {
|
|
xai_proto_build::configure()
|
|
.type_attribute(
|
|
".", // match every message & enum
|
|
"#[derive(serde::Serialize, serde::Deserialize)]",
|
|
)
|
|
// ToolConfigEntry is embedded in external JSON contracts (Computer Hub
|
|
// `session.bind` metadata and agent-config JSON) where sparse payloads
|
|
// must deserialize. Defaults are applied per optional field (not
|
|
// type-level) so the required `id` field still fails deserialization
|
|
// when missing instead of silently becoming "". See tests/wire_shape.rs.
|
|
.field_attribute(
|
|
".xai.grok.tools.v1.ToolConfigEntry.params_json",
|
|
"#[serde(default)]",
|
|
)
|
|
.field_attribute(
|
|
".xai.grok.tools.v1.ToolConfigEntry.name_override",
|
|
"#[serde(default)]",
|
|
)
|
|
.field_attribute(
|
|
".xai.grok.tools.v1.ToolConfigEntry.params_name_overrides",
|
|
"#[serde(default)]",
|
|
)
|
|
.field_attribute(
|
|
".xai.grok.tools.v1.ToolConfigEntry.behavior_version",
|
|
"#[serde(default)]",
|
|
)
|
|
.field_attribute(
|
|
".xai.grok.tools.v1.ToolConfigEntry.description_override",
|
|
"#[serde(default)]",
|
|
)
|
|
.field_attribute(
|
|
".xai.grok.tools.v1.FinalizeToolServerConfigRequest.client_callback_addr",
|
|
"#[serde(default)]",
|
|
)
|
|
.field_attribute(
|
|
".xai.grok.tools.v1.FinalizeToolServerConfigRequest.session_id",
|
|
"#[serde(default)]",
|
|
)
|
|
.field_attribute(
|
|
".xai.grok.tools.v1.FinalizeToolServerConfigRequest.client_callback_secret",
|
|
"#[serde(default)]",
|
|
)
|
|
.field_attribute(
|
|
".xai.grok.tools.v1.FinalizeToolServerConfigResponse.callback_status",
|
|
"#[serde(default)]",
|
|
)
|
|
.compile_protos(&["proto/grok-tools.proto"], &["proto/"])
|
|
.unwrap();
|
|
}
|