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
Original file line number Diff line number Diff line change
Expand Up @@ -27,6 +27,8 @@ internal static partial class AgentsCreateAgentSessionAsStreamCommandApiCommand
};
private static readonly CreateAgentSessionParamsOptionSet CreateAgentSessionParamsOptionSetOptions = CreateAgentSessionParamsOptionSet.Create();

private static readonly SessionSpendControlParamOptionSet SpendControlOptions = SessionSpendControlParamOptionSet.Create(@"spend-control");

private static readonly SessionAgentConfigParamOptionSet AgentOptions = SessionAgentConfigParamOptionSet.Create(@"agent");
private static Option<string?> RequestInput { get; } = new(@"--request-input")
{
Expand Down Expand Up @@ -54,7 +56,7 @@ public static Command Create(string? commandName = null)
command.Options.Add(Metadata);
command.Options.Add(Environment);
command.Options.Add(InputOption); command.Options.Add(CreateAgentSessionParamsOptionSetOptions.AgentId);
command.Options.Add(CreateAgentSessionParamsOptionSetOptions.VaultIds); command.Options.Add(AgentOptions.Model);
command.Options.Add(CreateAgentSessionParamsOptionSetOptions.VaultIds); command.Options.Add(SpendControlOptions.Limit); command.Options.Add(AgentOptions.Model);
command.Options.Add(AgentOptions.Instructions);
command.Options.Add(RequestInput);
command.Options.Add(RequestJson);
Expand Down Expand Up @@ -86,6 +88,17 @@ await CliRuntime.RunAsync(async () =>
var input = CliRuntime.WasSpecified(parseResult, InputOption) ? parseResult.GetValue(InputOption) : (__requestBase is { } __InputBaseValue ? __InputBaseValue.Input : default); var agentId = CliRuntime.WasSpecified(parseResult, CreateAgentSessionParamsOptionSetOptions.AgentId) ? parseResult.GetValue(CreateAgentSessionParamsOptionSetOptions.AgentId) : (__requestBase is { } __AgentIdBaseValue ? __AgentIdBaseValue.AgentId : default);
var vaultIds = CliRuntime.WasSpecified(parseResult, CreateAgentSessionParamsOptionSetOptions.VaultIds) ? parseResult.GetValue(CreateAgentSessionParamsOptionSetOptions.VaultIds) : (__requestBase is { } __VaultIdsBaseValue ? __VaultIdsBaseValue.VaultIds : default);

var __SpendControlBase = __requestBase is { } __SpendControlBaseValue ? __SpendControlBaseValue.SpendControl : default; var spendControlLimit = CliRuntime.WasSpecified(parseResult, SpendControlOptions.Limit) ? parseResult.GetValue(SpendControlOptions.Limit) : (__SpendControlBase is { } __SpendControllimitBaseValue ? __SpendControllimitBaseValue.Limit : default);
var __SpendControlSpecified = CliRuntime.WasSpecified(parseResult, SpendControlOptions.Limit);
var spendControl =
__SpendControlSpecified || __SpendControlBase is not null
? new global::tryAGI.OpenAI.SessionSpendControlParam
{
Limit = spendControlLimit,

}
: __SpendControlBase;

var __AgentBase = __requestBase is { } __AgentBaseValue ? __AgentBaseValue.Agent : default; var agentModel = CliRuntime.WasSpecified(parseResult, AgentOptions.Model) ? parseResult.GetValue(AgentOptions.Model) : (__AgentBase is { } __AgentmodelBaseValue ? __AgentmodelBaseValue.Model : default);
var agentInstructions = CliRuntime.WasSpecified(parseResult, AgentOptions.Instructions) ? parseResult.GetValue(AgentOptions.Instructions) : (__AgentBase is { } __AgentinstructionsBaseValue ? __AgentinstructionsBaseValue.Instructions : default);
var __AgentSpecified = CliRuntime.WasSpecified(parseResult, AgentOptions.Model) || CliRuntime.WasSpecified(parseResult, AgentOptions.Instructions);
Expand All @@ -107,6 +120,7 @@ await CliRuntime.RunAsync(async () =>
input: input,
agentId: agentId,
vaultIds: vaultIds,
spendControl: spendControl,
agent: agent,
cancellationToken: cancellationToken);

Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -27,6 +27,8 @@ internal static partial class AgentsCreateAgentSessionCommandApiCommand
};
private static readonly CreateAgentSessionParamsOptionSet CreateAgentSessionParamsOptionSetOptions = CreateAgentSessionParamsOptionSet.Create();

private static readonly SessionSpendControlParamOptionSet SpendControlOptions = SessionSpendControlParamOptionSet.Create(@"spend-control");

private static readonly SessionAgentConfigParamOptionSet AgentOptions = SessionAgentConfigParamOptionSet.Create(@"agent");
private static Option<string?> RequestInput { get; } = new(@"--request-input")
{
Expand Down Expand Up @@ -90,7 +92,7 @@ public static Command Create(string? commandName = null)
command.Options.Add(Metadata);
command.Options.Add(Environment);
command.Options.Add(InputOption); command.Options.Add(CreateAgentSessionParamsOptionSetOptions.AgentId);
command.Options.Add(CreateAgentSessionParamsOptionSetOptions.VaultIds); command.Options.Add(AgentOptions.Model);
command.Options.Add(CreateAgentSessionParamsOptionSetOptions.VaultIds); command.Options.Add(SpendControlOptions.Limit); command.Options.Add(AgentOptions.Model);
command.Options.Add(AgentOptions.Instructions);
command.Options.Add(RequestInput);
command.Options.Add(RequestJson);
Expand Down Expand Up @@ -124,6 +126,17 @@ await CliRuntime.RunAsync(async () =>
var input = CliRuntime.WasSpecified(parseResult, InputOption) ? parseResult.GetValue(InputOption) : (__requestBase is { } __InputBaseValue ? __InputBaseValue.Input : default); var agentId = CliRuntime.WasSpecified(parseResult, CreateAgentSessionParamsOptionSetOptions.AgentId) ? parseResult.GetValue(CreateAgentSessionParamsOptionSetOptions.AgentId) : (__requestBase is { } __AgentIdBaseValue ? __AgentIdBaseValue.AgentId : default);
var vaultIds = CliRuntime.WasSpecified(parseResult, CreateAgentSessionParamsOptionSetOptions.VaultIds) ? parseResult.GetValue(CreateAgentSessionParamsOptionSetOptions.VaultIds) : (__requestBase is { } __VaultIdsBaseValue ? __VaultIdsBaseValue.VaultIds : default);

var __SpendControlBase = __requestBase is { } __SpendControlBaseValue ? __SpendControlBaseValue.SpendControl : default; var spendControlLimit = CliRuntime.WasSpecified(parseResult, SpendControlOptions.Limit) ? parseResult.GetValue(SpendControlOptions.Limit) : (__SpendControlBase is { } __SpendControllimitBaseValue ? __SpendControllimitBaseValue.Limit : default);
var __SpendControlSpecified = CliRuntime.WasSpecified(parseResult, SpendControlOptions.Limit);
var spendControl =
__SpendControlSpecified || __SpendControlBase is not null
? new global::tryAGI.OpenAI.SessionSpendControlParam
{
Limit = spendControlLimit,

}
: __SpendControlBase;

var __AgentBase = __requestBase is { } __AgentBaseValue ? __AgentBaseValue.Agent : default; var agentModel = CliRuntime.WasSpecified(parseResult, AgentOptions.Model) ? parseResult.GetValue(AgentOptions.Model) : (__AgentBase is { } __AgentmodelBaseValue ? __AgentmodelBaseValue.Model : default);
var agentInstructions = CliRuntime.WasSpecified(parseResult, AgentOptions.Instructions) ? parseResult.GetValue(AgentOptions.Instructions) : (__AgentBase is { } __AgentinstructionsBaseValue ? __AgentinstructionsBaseValue.Instructions : default);
var __AgentSpecified = CliRuntime.WasSpecified(parseResult, AgentOptions.Model) || CliRuntime.WasSpecified(parseResult, AgentOptions.Instructions);
Expand All @@ -148,6 +161,7 @@ await CliRuntime.RunAsync(async () =>
input: input,
agentId: agentId,
vaultIds: vaultIds,
spendControl: spendControl,
agent: agent,
cancellationToken: cancellationToken).ConfigureAwait(false);
var resourceId = global::System.Convert.ToString(
Expand Down Expand Up @@ -180,6 +194,7 @@ await CliRuntime.WriteResponseAsync(
input: input,
agentId: agentId,
vaultIds: vaultIds,
spendControl: spendControl,
agent: agent,
cancellationToken: cancellationToken).ConfigureAwait(false);

Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -24,6 +24,7 @@ internal static partial class AgentsUpdateAgentSessionCommandApiCommand
{
Description = @"Replaces all metadata. Omit to leave unchanged, or pass null or {} to clear it. Up to 16 string key-value pairs, with keys up to 64 and values up to 512 characters.",
};
private static readonly SessionSpendControlParamOptionSet SpendControlOptions = SessionSpendControlParamOptionSet.Create(@"spend-control");
private static Option<string?> Input { get; } = new(@"--input")
{
Description = "Load request JSON from a file path, '-' for stdin, or an inline JSON object/array string.",
Expand Down Expand Up @@ -69,7 +70,7 @@ public static Command Create(string? commandName = null)
Updates session metadata, model, reasoning effort, or service tier. Model settings apply to subsequent turns. Omitted fields are unchanged. See [managing sessions](https://developers.openai.com/api/docs/guides/agents-api/sessions/manage).");
command.Arguments.Add(SessionId);
command.Options.Add(Agent);
command.Options.Add(Metadata);
command.Options.Add(Metadata); command.Options.Add(SpendControlOptions.Limit);
command.Options.Add(Input);
command.Options.Add(RequestJson);
command.Options.Add(RequestFile);
Expand Down Expand Up @@ -98,13 +99,25 @@ await CliRuntime.RunAsync(async () =>
var sessionId = parseResult.GetRequiredValue(SessionId);
var agent = CliRuntime.WasSpecified(parseResult, Agent) ? parseResult.GetValue(Agent) : (__requestBase is { } __AgentBaseValue ? __AgentBaseValue.Agent : default);
var metadata = CliRuntime.WasSpecified(parseResult, Metadata) ? parseResult.GetValue(Metadata) : (__requestBase is { } __MetadataBaseValue ? __MetadataBaseValue.Metadata : default);

var __SpendControlBase = __requestBase is { } __SpendControlBaseValue ? __SpendControlBaseValue.SpendControl : default; var spendControlLimit = CliRuntime.WasSpecified(parseResult, SpendControlOptions.Limit) ? parseResult.GetValue(SpendControlOptions.Limit) : (__SpendControlBase is { } __SpendControllimitBaseValue ? __SpendControllimitBaseValue.Limit : default);
var __SpendControlSpecified = CliRuntime.WasSpecified(parseResult, SpendControlOptions.Limit);
var spendControl =
__SpendControlSpecified || __SpendControlBase is not null
? new global::tryAGI.OpenAI.SessionSpendControlParam
{
Limit = spendControlLimit,

}
: __SpendControlBase;
using var client = await CliRuntime.CreateClientAsync(parseResult, cancellationToken).ConfigureAwait(false);


var response = await client.Agents.UpdateAgentSessionAsync(
sessionId: sessionId,
agent: agent,
metadata: metadata,
spendControl: spendControl,
cancellationToken: cancellationToken).ConfigureAwait(false);


Expand Down
Original file line number Diff line number Diff line change
@@ -0,0 +1,22 @@
#nullable enable

using System.CommandLine;

namespace tryAGI.OpenAI.Cli.GeneratedApi.Commands;

internal sealed record SessionSpendControlParamOptionSet(
Option<long?> Limit)
{
public static SessionSpendControlParamOptionSet Create(string? prefix = null)
{
var normalizedPrefix = string.IsNullOrWhiteSpace(prefix)
? string.Empty
: prefix.Trim().Trim('-') + "-";
return new SessionSpendControlParamOptionSet(
Limit: new Option<long?>($"--{normalizedPrefix}limit")
{
Description = @"Positive USD cents, or null to remove the limit.",
}
);
}
}
Original file line number Diff line number Diff line change
Expand Up @@ -82,6 +82,7 @@ partial void ProcessCreateAgentSessionResponseContent(

request = new global::tryAGI.OpenAI.CreateAgentSessionParams
{
SpendControl = request.SpendControl,
Metadata = request.Metadata,
Agent = request.Agent,
AgentId = request.AgentId,
Expand Down Expand Up @@ -747,6 +748,9 @@ partial void ProcessCreateAgentSessionResponseContent(
/// Create an agent session<br/>
/// Creates a managed agent session, optionally submits initial input, and returns the session or streams its events when stream is true. See [running sessions](https://developers.openai.com/api/docs/guides/agents-api/sessions).
/// </summary>
/// <param name="spendControl">
/// Optional spending limit in USD cents. Omission or null creates an unlimited session.
/// </param>
/// <param name="metadata">
/// Up to 16 string key-value pairs, with keys up to 64 and values up to 512 characters. Omission or null defaults to an empty map.
/// </param>
Expand All @@ -770,6 +774,7 @@ partial void ProcessCreateAgentSessionResponseContent(
/// <exception cref="global::System.InvalidOperationException"></exception>
public async global::System.Threading.Tasks.Task<global::tryAGI.OpenAI.SessionResource> CreateAgentSessionAsync(
global::tryAGI.OpenAI.EnvironmentParam environment,
global::tryAGI.OpenAI.SessionSpendControlParam? spendControl = default,
global::System.Collections.Generic.Dictionary<string, string>? metadata = default,
global::tryAGI.OpenAI.SessionAgentConfigParam? agent = default,
string? agentId = default,
Expand All @@ -780,6 +785,7 @@ partial void ProcessCreateAgentSessionResponseContent(
{
var __request = new global::tryAGI.OpenAI.CreateAgentSessionParams
{
SpendControl = spendControl,
Metadata = metadata,
Agent = agent,
AgentId = agentId,
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -54,6 +54,7 @@ partial void ProcessCreateAgentSessionAsStreamResponse(

request = new global::tryAGI.OpenAI.CreateAgentSessionParams
{
SpendControl = request.SpendControl,
Metadata = request.Metadata,
Agent = request.Agent,
AgentId = request.AgentId,
Expand Down Expand Up @@ -394,6 +395,9 @@ partial void ProcessCreateAgentSessionAsStreamResponse(
/// Create an agent session<br/>
/// Creates a managed agent session, optionally submits initial input, and returns the session or streams its events when stream is true. See [running sessions](https://developers.openai.com/api/docs/guides/agents-api/sessions).
/// </summary>
/// <param name="spendControl">
/// Optional spending limit in USD cents. Omission or null creates an unlimited session.
/// </param>
/// <param name="metadata">
/// Up to 16 string key-value pairs, with keys up to 64 and values up to 512 characters. Omission or null defaults to an empty map.
/// </param>
Expand All @@ -417,6 +421,7 @@ partial void ProcessCreateAgentSessionAsStreamResponse(
/// <exception cref="global::System.InvalidOperationException"></exception>
public async global::System.Collections.Generic.IAsyncEnumerable<global::tryAGI.OpenAI.SessionEvent> CreateAgentSessionAsStreamAsync(
global::tryAGI.OpenAI.EnvironmentParam environment,
global::tryAGI.OpenAI.SessionSpendControlParam? spendControl = default,
global::System.Collections.Generic.Dictionary<string, string>? metadata = default,
global::tryAGI.OpenAI.SessionAgentConfigParam? agent = default,
string? agentId = default,
Expand All @@ -427,6 +432,7 @@ partial void ProcessCreateAgentSessionAsStreamResponse(
{
var __request = new global::tryAGI.OpenAI.CreateAgentSessionParams
{
SpendControl = spendControl,
Metadata = metadata,
Agent = agent,
AgentId = agentId,
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -706,6 +706,9 @@ partial void ProcessUpdateAgentSessionResponseContent(
/// Updates session metadata, model, reasoning effort, or service tier. Model settings apply to subsequent turns. Omitted fields are unchanged. See [managing sessions](https://developers.openai.com/api/docs/guides/agents-api/sessions/manage).
/// </summary>
/// <param name="sessionId"></param>
/// <param name="spendControl">
/// Omit to retain the limit; null or a null limit removes it without resetting spend.
/// </param>
/// <param name="agent">
/// Model settings for subsequent turns. Omitted fields stay unchanged.
/// </param>
Expand All @@ -717,13 +720,15 @@ partial void ProcessUpdateAgentSessionResponseContent(
/// <exception cref="global::System.InvalidOperationException"></exception>
public async global::System.Threading.Tasks.Task<global::tryAGI.OpenAI.SessionResource> UpdateAgentSessionAsync(
string sessionId,
global::tryAGI.OpenAI.SessionSpendControlParam? spendControl = default,
global::tryAGI.OpenAI.UpdateSessionAgentParam? agent = default,
global::System.Collections.Generic.Dictionary<string, string>? metadata = default,
global::tryAGI.OpenAI.AutoSDKRequestOptions? requestOptions = default,
global::System.Threading.CancellationToken cancellationToken = default)
{
var __request = new global::tryAGI.OpenAI.UpdateAgentSessionParams
{
SpendControl = spendControl,
Agent = agent,
Metadata = metadata,
};
Expand Down
Loading
Loading