diff --git a/src/libs/CursorAgents/Generated/CursorAgents.CursorAgentsClient.StreamRun.g.cs b/src/libs/CursorAgents/Generated/CursorAgents.CursorAgentsClient.StreamRun.g.cs
index eed8e7a..3944e45 100644
--- a/src/libs/CursorAgents/Generated/CursorAgents.CursorAgentsClient.StreamRun.g.cs
+++ b/src/libs/CursorAgents/Generated/CursorAgents.CursorAgentsClient.StreamRun.g.cs
@@ -48,7 +48,8 @@ partial void ProcessStreamRunResponse(
/// `Last-Event-ID` header to resume after a disconnect; the event
/// ID must belong to the requested run. Responses include the
/// `X-Cursor-Stream-Retention-Seconds` header. After the
- /// retention window the endpoint may return `410 stream_expired`.
+ /// retention window the endpoint may return `410 stream_expired`.
+ /// `tool_call` event data uses the `RunStreamToolCallData` schema.
///
///
/// Example: bc-00000000-0000-0000-0000-000000000001
diff --git a/src/libs/CursorAgents/Generated/CursorAgents.ICursorAgentsClient.StreamRun.g.cs b/src/libs/CursorAgents/Generated/CursorAgents.ICursorAgentsClient.StreamRun.g.cs
index cb8d5ff..e957a0e 100644
--- a/src/libs/CursorAgents/Generated/CursorAgents.ICursorAgentsClient.StreamRun.g.cs
+++ b/src/libs/CursorAgents/Generated/CursorAgents.ICursorAgentsClient.StreamRun.g.cs
@@ -12,7 +12,8 @@ public partial interface ICursorAgentsClient
/// `Last-Event-ID` header to resume after a disconnect; the event
/// ID must belong to the requested run. Responses include the
/// `X-Cursor-Stream-Retention-Seconds` header. After the
- /// retention window the endpoint may return `410 stream_expired`.
+ /// retention window the endpoint may return `410 stream_expired`.
+ /// `tool_call` event data uses the `RunStreamToolCallData` schema.
///
///
/// Example: bc-00000000-0000-0000-0000-000000000001
diff --git a/src/libs/CursorAgents/Generated/CursorAgents.JsonConverters.JsonValue.g.cs b/src/libs/CursorAgents/Generated/CursorAgents.JsonConverters.JsonValue.g.cs
new file mode 100644
index 0000000..b771a22
--- /dev/null
+++ b/src/libs/CursorAgents/Generated/CursorAgents.JsonConverters.JsonValue.g.cs
@@ -0,0 +1,327 @@
+#nullable enable
+#pragma warning disable CS0618 // Type or member is obsolete
+
+namespace CursorAgents.JsonConverters
+{
+ ///
+ public class JsonValueJsonConverter : global::System.Text.Json.Serialization.JsonConverter
+ {
+ ///
+ public override global::CursorAgents.JsonValue Read(
+ ref global::System.Text.Json.Utf8JsonReader reader,
+ global::System.Type typeToConvert,
+ global::System.Text.Json.JsonSerializerOptions options)
+ {
+ options = options ?? throw new global::System.ArgumentNullException(nameof(options));
+ var typeInfoResolver = options.TypeInfoResolver ?? throw new global::System.InvalidOperationException("TypeInfoResolver is not set.");
+
+
+ using var __jsonDocument = global::System.Text.Json.JsonDocument.ParseValue(ref reader);
+ var __rawJson = __jsonDocument.RootElement.GetRawText();
+ var __jsonProps = new global::System.Collections.Generic.HashSet();
+ if (__jsonDocument.RootElement.ValueKind == global::System.Text.Json.JsonValueKind.Object)
+ {
+ foreach (var __jsonProp in __jsonDocument.RootElement.EnumerateObject())
+ {
+ __jsonProps.Add(__jsonProp.Name);
+ }
+ }
+
+ var __score0 = 0;
+ {
+ var __ti = typeInfoResolver.GetTypeInfo(typeof(string), options);
+ if (__ti != null && __ti.Kind == global::System.Text.Json.Serialization.Metadata.JsonTypeInfoKind.Object)
+ {
+ foreach (var __prop in __ti.Properties)
+ {
+ if (__jsonProps.Contains(__prop.Name)) __score0++;
+ }
+ }
+ }
+ var __score1 = 0;
+ {
+ var __ti = typeInfoResolver.GetTypeInfo(typeof(double), options);
+ if (__ti != null && __ti.Kind == global::System.Text.Json.Serialization.Metadata.JsonTypeInfoKind.Object)
+ {
+ foreach (var __prop in __ti.Properties)
+ {
+ if (__jsonProps.Contains(__prop.Name)) __score1++;
+ }
+ }
+ }
+ var __score2 = 0;
+ {
+ var __ti = typeInfoResolver.GetTypeInfo(typeof(bool), options);
+ if (__ti != null && __ti.Kind == global::System.Text.Json.Serialization.Metadata.JsonTypeInfoKind.Object)
+ {
+ foreach (var __prop in __ti.Properties)
+ {
+ if (__jsonProps.Contains(__prop.Name)) __score2++;
+ }
+ }
+ }
+ var __score3 = 0;
+ {
+ var __ti = typeInfoResolver.GetTypeInfo(typeof(object), options);
+ if (__ti != null && __ti.Kind == global::System.Text.Json.Serialization.Metadata.JsonTypeInfoKind.Object)
+ {
+ foreach (var __prop in __ti.Properties)
+ {
+ if (__jsonProps.Contains(__prop.Name)) __score3++;
+ }
+ }
+ }
+ var __score4 = 0;
+ {
+ var __ti = typeInfoResolver.GetTypeInfo(typeof(global::System.Collections.Generic.IList