grok-build-upstream-mirror/crates/codegen/xai-grok-tools-api/build.rs
grokkybara[bot] 69f0ba880a Synced from monorepo
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
2026-07-23 17:12:33 +00:00

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();
}