Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
127 changes: 65 additions & 62 deletions src/cli/Exa.CLI/CliRuntime.cs

Large diffs are not rendered by default.

2 changes: 1 addition & 1 deletion src/cli/Exa.CLI/Commands/SearchRequestOptionSet.g.cs
Original file line number Diff line number Diff line change
Expand Up @@ -35,7 +35,7 @@ public static SearchRequestOptionSet Create(string? prefix = null)
Description = @"The search mode to use. Defaults to `auto`, a balanced mode recommended for most applications.

- `auto`: The default. A balanced mode that optimizes for both quality and speed and is recommended for most applications.
- `lite`: Low-cost, low-latency search for real-time and interactive experiences such as chat, voice agents, and autocomplete. Accepts only `query` (a single string), `objective`, `userIdentifier`, `metadata`, `category`, `numResults`, `contents.highlights`, `contents.text`, `contents.snapshotAsOf`, `userLocation`, `includeDomains`, `excludeDomains`, `startPublishedDate`, `endPublishedDate`, `moderation`, and `compliance`; a request that sets any other parameter is rejected. Serves cached content only; it never fetches live, so the freshness options are rejected.
- `lite`: Low-cost, low-latency search for real-time and interactive experiences such as chat, voice agents, and autocomplete. Accepts only `query` (a single string), `objective`, `userIdentifier`, `metadata`, `category`, `numResults`, `contents.highlights`, `contents.text`, `contents.snapshotAsOf`, `userLocation`, `includeDomains`, `excludeDomains`, `startPublishedDate`, `endPublishedDate`, `moderation`, and `compliance`; a request that sets any other parameter is rejected. Lite serves content directly from Exa’s regularly refreshed search index, without fetching pages at query time. Freshness options that require live fetching are not supported.
- `deep-lite`: Performs lightweight research with synthesized results and a consistent 4-second latency, lower than full deep search.
- `deep`: Conducts comprehensive multi-step research with synthesis.
- `instant`: Legacy. Use `lite` instead. Runs a minimum-latency search that trades some search depth for speed. Unlike `lite`, it accepts every search parameter.
Expand Down
4 changes: 2 additions & 2 deletions src/cli/Exa.CLI/Exa.CLI.csproj
Original file line number Diff line number Diff line change
Expand Up @@ -19,11 +19,11 @@
<None Include="README.md" Pack="true" PackagePath="\" />
</ItemGroup>
<ItemGroup>
<PackageReference Include="MinVer" Version="8.0.0">
<PackageReference Include="MinVer" Version="7.0.0">
<PrivateAssets>all</PrivateAssets>
<IncludeAssets>runtime; build; native; contentfiles; analyzers; buildtransitive</IncludeAssets>
</PackageReference>
<PackageReference Include="System.CommandLine" Version="2.0.13" />
<PackageReference Include="System.CommandLine" Version="2.0.7" />
<ProjectReference Include="../../libs/Exa/Exa.csproj" />
</ItemGroup>
</Project>
34 changes: 2 additions & 32 deletions src/libs/Exa/Generated/Exa.Agent.JsonSerializerContext.g.cs
Original file line number Diff line number Diff line change
Expand Up @@ -29,11 +29,10 @@ namespace Exa
[global::System.Text.Json.Serialization.JsonSerializable(typeof(global::System.Collections.Generic.IList<global::Exa.AgentDataSource>))]
[global::System.Text.Json.Serialization.JsonSerializable(typeof(global::Exa.AgentDataSource))]
[global::System.Text.Json.Serialization.JsonSerializable(typeof(global::Exa.AgentBudget))]
[global::System.Text.Json.Serialization.JsonSerializable(typeof(global::Exa.AgentDataSourceProvider), TypeInfoPropertyName = "AgentDataSourceProvider2")]
[global::System.Text.Json.Serialization.JsonSerializable(typeof(global::Exa.ErrorResponse))]
[global::System.Text.Json.Serialization.JsonSerializable(typeof(global::Exa.AgentRun))]
[global::System.Text.Json.Serialization.JsonSerializable(typeof(global::Exa.AgentRunStatus), TypeInfoPropertyName = "AgentRunStatus2")]
[global::System.Text.Json.Serialization.JsonSerializable(typeof(global::Exa.AgentStopReason), TypeInfoPropertyName = "AgentStopReason2")]
[global::System.Text.Json.Serialization.JsonSerializable(typeof(global::Exa.AgentStopReason))]
[global::System.Text.Json.Serialization.JsonSerializable(typeof(global::Exa.AgentRunRequest))]
[global::System.Text.Json.Serialization.JsonSerializable(typeof(global::Exa.AgentRunOutput))]
[global::System.Text.Json.Serialization.JsonSerializable(typeof(global::Exa.AgentUsage))]
Expand Down Expand Up @@ -65,9 +64,7 @@ namespace Exa
[global::System.Text.Json.Serialization.JsonSerializable(typeof(double?))]
[global::System.Text.Json.Serialization.JsonSerializable(typeof(global::Exa.JsonValue?), TypeInfoPropertyName = "NullableJsonValue2")]
[global::System.Text.Json.Serialization.JsonSerializable(typeof(global::Exa.AgentEffort?), TypeInfoPropertyName = "NullableAgentEffort2")]
[global::System.Text.Json.Serialization.JsonSerializable(typeof(global::Exa.AgentDataSourceProvider?), TypeInfoPropertyName = "NullableAgentDataSourceProvider2")]
[global::System.Text.Json.Serialization.JsonSerializable(typeof(global::Exa.AgentRunStatus?), TypeInfoPropertyName = "NullableAgentRunStatus2")]
[global::System.Text.Json.Serialization.JsonSerializable(typeof(global::Exa.AgentStopReason?), TypeInfoPropertyName = "NullableAgentStopReason2")]
[global::System.Text.Json.Serialization.JsonSerializable(typeof(global::Exa.AgentGroundingConfidence?), TypeInfoPropertyName = "NullableAgentGroundingConfidence2")]
[global::System.Text.Json.Serialization.JsonSerializable(typeof(global::Exa.AgentErrorType?), TypeInfoPropertyName = "NullableAgentErrorType2")]
[global::System.Text.Json.Serialization.JsonSerializable(typeof(global::Exa.AgentErrorCode?), TypeInfoPropertyName = "NullableAgentErrorCode2")]
Expand Down Expand Up @@ -130,6 +127,7 @@ private AgentSourceGenerationContext(global::System.Text.Json.JsonSerializerOpti
public static void AddConverters(global::System.Text.Json.JsonSerializerOptions options)
{
options.Converters.Add(new global::Exa.JsonConverters.JsonValueJsonConverter());
options.Converters.Add(new global::Exa.JsonConverters.AgentStopReasonJsonConverter());
options.Converters.Add(new global::Exa.JsonConverters.OneOfJsonConverter<string, global::System.Collections.Generic.IList<string>>());
options.Converters.Add(new global::Exa.JsonConverters.OneOfJsonConverter<string, global::System.Collections.Generic.IList<string>>());
options.Converters.Add(new global::Exa.JsonConverters.OneOfJsonConverter<string, global::System.Collections.Generic.IList<string>>());
Expand Down Expand Up @@ -162,18 +160,10 @@ public override bool CanConvert(global::System.Type typeToConvert)

|| typeToConvert == typeof(global::Exa.AgentEffort?)

|| typeToConvert == typeof(global::Exa.AgentDataSourceProvider)

|| typeToConvert == typeof(global::Exa.AgentDataSourceProvider?)

|| typeToConvert == typeof(global::Exa.AgentRunStatus)

|| typeToConvert == typeof(global::Exa.AgentRunStatus?)

|| typeToConvert == typeof(global::Exa.AgentStopReason)

|| typeToConvert == typeof(global::Exa.AgentStopReason?)

|| typeToConvert == typeof(global::Exa.AgentGroundingConfidence)

|| typeToConvert == typeof(global::Exa.AgentGroundingConfidence?)
Expand Down Expand Up @@ -213,16 +203,6 @@ public override bool CanConvert(global::System.Type typeToConvert)
return new global::Exa.JsonConverters.AgentEffortNullableJsonConverter();
}

if (typeToConvert == typeof(global::Exa.AgentDataSourceProvider))
{
return new global::Exa.JsonConverters.AgentDataSourceProviderJsonConverter();
}

if (typeToConvert == typeof(global::Exa.AgentDataSourceProvider?))
{
return new global::Exa.JsonConverters.AgentDataSourceProviderNullableJsonConverter();
}

if (typeToConvert == typeof(global::Exa.AgentRunStatus))
{
return new global::Exa.JsonConverters.AgentRunStatusJsonConverter();
Expand All @@ -233,16 +213,6 @@ public override bool CanConvert(global::System.Type typeToConvert)
return new global::Exa.JsonConverters.AgentRunStatusNullableJsonConverter();
}

if (typeToConvert == typeof(global::Exa.AgentStopReason))
{
return new global::Exa.JsonConverters.AgentStopReasonJsonConverter();
}

if (typeToConvert == typeof(global::Exa.AgentStopReason?))
{
return new global::Exa.JsonConverters.AgentStopReasonNullableJsonConverter();
}

if (typeToConvert == typeof(global::Exa.AgentGroundingConfidence))
{
return new global::Exa.JsonConverters.AgentGroundingConfidenceJsonConverter();
Expand Down
4 changes: 2 additions & 2 deletions src/libs/Exa/Generated/Exa.AgentClient.g.cs
Original file line number Diff line number Diff line change
Expand Up @@ -37,14 +37,14 @@ public sealed partial class AgentClient : global::Exa.IAgentClient, global::Syst

internal global::Exa.AutoSDKServerConfiguration AutoSDKServerConfiguration { get; set; } = new global::Exa.AutoSDKServerConfiguration();

internal global::System.Lazy<global::System.Text.Json.Serialization.JsonSerializerContext> JsonSerializerContextProvider { get; set; } = new(() => global::Exa.AgentSourceGenerationContext.Default);
internal global::System.Lazy<global::System.Text.Json.Serialization.JsonSerializerContext>? JsonSerializerContextProvider { get; set; }

/// <summary>
///
/// </summary>
public global::System.Text.Json.Serialization.JsonSerializerContext JsonSerializerContext
{
get => JsonSerializerContextProvider.Value;
get => JsonSerializerContextProvider?.Value ?? global::Exa.AgentSourceGenerationContext.Default;
set => JsonSerializerContextProvider = new(() => value);
}

Expand Down
4 changes: 2 additions & 2 deletions src/libs/Exa/Generated/Exa.BatchesClient.g.cs
Original file line number Diff line number Diff line change
Expand Up @@ -37,14 +37,14 @@ public sealed partial class BatchesClient : global::Exa.IBatchesClient, global::

internal global::Exa.AutoSDKServerConfiguration AutoSDKServerConfiguration { get; set; } = new global::Exa.AutoSDKServerConfiguration();

internal global::System.Lazy<global::System.Text.Json.Serialization.JsonSerializerContext> JsonSerializerContextProvider { get; set; } = new(() => global::Exa.BatchesSourceGenerationContext.Default);
internal global::System.Lazy<global::System.Text.Json.Serialization.JsonSerializerContext>? JsonSerializerContextProvider { get; set; }

/// <summary>
///
/// </summary>
public global::System.Text.Json.Serialization.JsonSerializerContext JsonSerializerContext
{
get => JsonSerializerContextProvider.Value;
get => JsonSerializerContextProvider?.Value ?? global::Exa.BatchesSourceGenerationContext.Default;
set => JsonSerializerContextProvider = new(() => value);
}

Expand Down
4 changes: 2 additions & 2 deletions src/libs/Exa/Generated/Exa.EnrichmentsClient.g.cs
Original file line number Diff line number Diff line change
Expand Up @@ -37,14 +37,14 @@ public sealed partial class EnrichmentsClient : global::Exa.IEnrichmentsClient,

internal global::Exa.AutoSDKServerConfiguration AutoSDKServerConfiguration { get; set; } = new global::Exa.AutoSDKServerConfiguration();

internal global::System.Lazy<global::System.Text.Json.Serialization.JsonSerializerContext> JsonSerializerContextProvider { get; set; } = new(() => global::Exa.EnrichmentsSourceGenerationContext.Default);
internal global::System.Lazy<global::System.Text.Json.Serialization.JsonSerializerContext>? JsonSerializerContextProvider { get; set; }

/// <summary>
///
/// </summary>
public global::System.Text.Json.Serialization.JsonSerializerContext JsonSerializerContext
{
get => JsonSerializerContextProvider.Value;
get => JsonSerializerContextProvider?.Value ?? global::Exa.EnrichmentsSourceGenerationContext.Default;
set => JsonSerializerContextProvider = new(() => value);
}

Expand Down
4 changes: 2 additions & 2 deletions src/libs/Exa/Generated/Exa.EventsClient.g.cs
Original file line number Diff line number Diff line change
Expand Up @@ -37,14 +37,14 @@ public sealed partial class EventsClient : global::Exa.IEventsClient, global::Sy

internal global::Exa.AutoSDKServerConfiguration AutoSDKServerConfiguration { get; set; } = new global::Exa.AutoSDKServerConfiguration();

internal global::System.Lazy<global::System.Text.Json.Serialization.JsonSerializerContext> JsonSerializerContextProvider { get; set; } = new(() => global::Exa.EventsSourceGenerationContext.Default);
internal global::System.Lazy<global::System.Text.Json.Serialization.JsonSerializerContext>? JsonSerializerContextProvider { get; set; }

/// <summary>
///
/// </summary>
public global::System.Text.Json.Serialization.JsonSerializerContext JsonSerializerContext
{
get => JsonSerializerContextProvider.Value;
get => JsonSerializerContextProvider?.Value ?? global::Exa.EventsSourceGenerationContext.Default;
set => JsonSerializerContextProvider = new(() => value);
}

Expand Down
2 changes: 1 addition & 1 deletion src/libs/Exa/Generated/Exa.ExaClient.Search.g.cs
Original file line number Diff line number Diff line change
Expand Up @@ -774,7 +774,7 @@ partial void ProcessSearchResponseContent(
/// <param name="type">
/// The search mode to use. Defaults to `auto`, a balanced mode recommended for most applications.<br/>
/// - `auto`: The default. A balanced mode that optimizes for both quality and speed and is recommended for most applications.<br/>
/// - `lite`: Low-cost, low-latency search for real-time and interactive experiences such as chat, voice agents, and autocomplete. Accepts only `query` (a single string), `objective`, `userIdentifier`, `metadata`, `category`, `numResults`, `contents.highlights`, `contents.text`, `contents.snapshotAsOf`, `userLocation`, `includeDomains`, `excludeDomains`, `startPublishedDate`, `endPublishedDate`, `moderation`, and `compliance`; a request that sets any other parameter is rejected. Serves cached content only; it never fetches live, so the freshness options are rejected.<br/>
/// - `lite`: Low-cost, low-latency search for real-time and interactive experiences such as chat, voice agents, and autocomplete. Accepts only `query` (a single string), `objective`, `userIdentifier`, `metadata`, `category`, `numResults`, `contents.highlights`, `contents.text`, `contents.snapshotAsOf`, `userLocation`, `includeDomains`, `excludeDomains`, `startPublishedDate`, `endPublishedDate`, `moderation`, and `compliance`; a request that sets any other parameter is rejected. Lite serves content directly from Exa’s regularly refreshed search index, without fetching pages at query time. Freshness options that require live fetching are not supported.<br/>
/// - `deep-lite`: Performs lightweight research with synthesized results and a consistent 4-second latency, lower than full deep search.<br/>
/// - `deep`: Conducts comprehensive multi-step research with synthesis.<br/>
/// - `instant`: Legacy. Use `lite` instead. Runs a minimum-latency search that trades some search depth for speed. Unlike `lite`, it accepts every search parameter.<br/>
Expand Down
2 changes: 1 addition & 1 deletion src/libs/Exa/Generated/Exa.ExaClient.SearchAsStream.g.cs
Original file line number Diff line number Diff line change
Expand Up @@ -446,7 +446,7 @@ partial void ProcessSearchAsStreamResponse(
/// <param name="type">
/// The search mode to use. Defaults to `auto`, a balanced mode recommended for most applications.<br/>
/// - `auto`: The default. A balanced mode that optimizes for both quality and speed and is recommended for most applications.<br/>
/// - `lite`: Low-cost, low-latency search for real-time and interactive experiences such as chat, voice agents, and autocomplete. Accepts only `query` (a single string), `objective`, `userIdentifier`, `metadata`, `category`, `numResults`, `contents.highlights`, `contents.text`, `contents.snapshotAsOf`, `userLocation`, `includeDomains`, `excludeDomains`, `startPublishedDate`, `endPublishedDate`, `moderation`, and `compliance`; a request that sets any other parameter is rejected. Serves cached content only; it never fetches live, so the freshness options are rejected.<br/>
/// - `lite`: Low-cost, low-latency search for real-time and interactive experiences such as chat, voice agents, and autocomplete. Accepts only `query` (a single string), `objective`, `userIdentifier`, `metadata`, `category`, `numResults`, `contents.highlights`, `contents.text`, `contents.snapshotAsOf`, `userLocation`, `includeDomains`, `excludeDomains`, `startPublishedDate`, `endPublishedDate`, `moderation`, and `compliance`; a request that sets any other parameter is rejected. Lite serves content directly from Exa’s regularly refreshed search index, without fetching pages at query time. Freshness options that require live fetching are not supported.<br/>
/// - `deep-lite`: Performs lightweight research with synthesized results and a consistent 4-second latency, lower than full deep search.<br/>
/// - `deep`: Conducts comprehensive multi-step research with synthesis.<br/>
/// - `instant`: Legacy. Use `lite` instead. Runs a minimum-latency search that trades some search depth for speed. Unlike `lite`, it accepts every search parameter.<br/>
Expand Down
4 changes: 2 additions & 2 deletions src/libs/Exa/Generated/Exa.ExaClient.g.cs
Original file line number Diff line number Diff line change
Expand Up @@ -37,14 +37,14 @@ public sealed partial class ExaClient : global::Exa.IExaClient, global::System.I

internal global::Exa.AutoSDKServerConfiguration AutoSDKServerConfiguration { get; set; } = new global::Exa.AutoSDKServerConfiguration();

internal global::System.Lazy<global::System.Text.Json.Serialization.JsonSerializerContext> JsonSerializerContextProvider { get; set; } = new(() => global::Exa.SourceGenerationContext.Default);
internal global::System.Lazy<global::System.Text.Json.Serialization.JsonSerializerContext>? JsonSerializerContextProvider { get; set; }

/// <summary>
///
/// </summary>
public global::System.Text.Json.Serialization.JsonSerializerContext JsonSerializerContext
{
get => JsonSerializerContextProvider.Value;
get => JsonSerializerContextProvider?.Value ?? global::Exa.SourceGenerationContext.Default;
set => JsonSerializerContextProvider = new(() => value);
}

Expand Down
2 changes: 1 addition & 1 deletion src/libs/Exa/Generated/Exa.IExaClient.Search.g.cs
Original file line number Diff line number Diff line change
Expand Up @@ -74,7 +74,7 @@ public partial interface IExaClient
/// <param name="type">
/// The search mode to use. Defaults to `auto`, a balanced mode recommended for most applications.<br/>
/// - `auto`: The default. A balanced mode that optimizes for both quality and speed and is recommended for most applications.<br/>
/// - `lite`: Low-cost, low-latency search for real-time and interactive experiences such as chat, voice agents, and autocomplete. Accepts only `query` (a single string), `objective`, `userIdentifier`, `metadata`, `category`, `numResults`, `contents.highlights`, `contents.text`, `contents.snapshotAsOf`, `userLocation`, `includeDomains`, `excludeDomains`, `startPublishedDate`, `endPublishedDate`, `moderation`, and `compliance`; a request that sets any other parameter is rejected. Serves cached content only; it never fetches live, so the freshness options are rejected.<br/>
/// - `lite`: Low-cost, low-latency search for real-time and interactive experiences such as chat, voice agents, and autocomplete. Accepts only `query` (a single string), `objective`, `userIdentifier`, `metadata`, `category`, `numResults`, `contents.highlights`, `contents.text`, `contents.snapshotAsOf`, `userLocation`, `includeDomains`, `excludeDomains`, `startPublishedDate`, `endPublishedDate`, `moderation`, and `compliance`; a request that sets any other parameter is rejected. Lite serves content directly from Exa’s regularly refreshed search index, without fetching pages at query time. Freshness options that require live fetching are not supported.<br/>
/// - `deep-lite`: Performs lightweight research with synthesized results and a consistent 4-second latency, lower than full deep search.<br/>
/// - `deep`: Conducts comprehensive multi-step research with synthesis.<br/>
/// - `instant`: Legacy. Use `lite` instead. Runs a minimum-latency search that trades some search depth for speed. Unlike `lite`, it accepts every search parameter.<br/>
Expand Down
Loading
Loading