-
Notifications
You must be signed in to change notification settings - Fork 3
Expand file tree
/
Copy pathVapiClient.cs
More file actions
83 lines (65 loc) · 2.66 KB
/
Copy pathVapiClient.cs
File metadata and controls
83 lines (65 loc) · 2.66 KB
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
using Vapi.Net.Core;
namespace Vapi.Net;
public partial class VapiClient : IVapiClient
{
private readonly RawClient _client;
public VapiClient(string? token = null, ClientOptions? clientOptions = null)
{
clientOptions ??= new ClientOptions();
var platformHeaders = new Headers(
new Dictionary<string, string>()
{
{ "X-Fern-Language", "C#" },
{ "X-Fern-SDK-Name", "Vapi.Net" },
{ "X-Fern-SDK-Version", Version.Current },
{ "User-Agent", "Vapi.Net/2.0.1" },
}
);
foreach (var header in platformHeaders)
{
if (!clientOptions.Headers.ContainsKey(header.Key))
{
clientOptions.Headers[header.Key] = header.Value;
}
}
var clientOptionsWithAuth = clientOptions.Clone();
var authHeaders = new Headers(
new Dictionary<string, string>() { { "Authorization", $"Bearer {token ?? ""}" } }
);
foreach (var header in authHeaders)
{
clientOptionsWithAuth.Headers[header.Key] = header.Value;
}
_client = new RawClient(clientOptionsWithAuth);
Assistants = new AssistantsClient(_client);
Squads = new SquadsClient(_client);
Calls = new CallsClient(_client);
Chats = new ChatsClient(_client);
Campaigns = new CampaignsClient(_client);
Sessions = new SessionsClient(_client);
PhoneNumbers = new PhoneNumbersClient(_client);
Tools = new ToolsClient(_client);
Files = new FilesClient(_client);
StructuredOutputs = new StructuredOutputsClient(_client);
Insight = new InsightClient(_client);
Eval = new EvalClient(_client);
ObservabilityScorecard = new ObservabilityScorecardClient(_client);
ProviderResources = new ProviderResourcesClient(_client);
Analytics = new AnalyticsClient(_client);
}
public IAssistantsClient Assistants { get; }
public ISquadsClient Squads { get; }
public ICallsClient Calls { get; }
public IChatsClient Chats { get; }
public ICampaignsClient Campaigns { get; }
public ISessionsClient Sessions { get; }
public IPhoneNumbersClient PhoneNumbers { get; }
public IToolsClient Tools { get; }
public IFilesClient Files { get; }
public IStructuredOutputsClient StructuredOutputs { get; }
public IInsightClient Insight { get; }
public IEvalClient Eval { get; }
public IObservabilityScorecardClient ObservabilityScorecard { get; }
public IProviderResourcesClient ProviderResources { get; }
public IAnalyticsClient Analytics { get; }
}