-
Notifications
You must be signed in to change notification settings - Fork 7
Expand file tree
/
Copy pathclient.go
More file actions
115 lines (104 loc) · 2.86 KB
/
Copy pathclient.go
File metadata and controls
115 lines (104 loc) · 2.86 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
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
// Code generated by Fern. DO NOT EDIT.
package chats
import (
context "context"
serversdkgo "github.com/VapiAI/server-sdk-go/v3"
core "github.com/VapiAI/server-sdk-go/v3/core"
internal "github.com/VapiAI/server-sdk-go/v3/internal"
option "github.com/VapiAI/server-sdk-go/v3/option"
)
type Client struct {
WithRawResponse *RawClient
options *core.RequestOptions
baseURL string
caller *internal.Caller
}
func NewClient(options *core.RequestOptions) *Client {
return &Client{
WithRawResponse: NewRawClient(options),
options: options,
baseURL: options.BaseURL,
caller: internal.NewCaller(
&internal.CallerParams{
Client: options.HTTPClient,
MaxAttempts: options.MaxAttempts,
},
),
}
}
func (c *Client) List(
ctx context.Context,
request *serversdkgo.ListChatsRequest,
opts ...option.RequestOption,
) (*serversdkgo.ChatPaginatedResponse, error) {
response, err := c.WithRawResponse.List(
ctx,
request,
opts...,
)
if err != nil {
return nil, err
}
return response.Body, nil
}
// Creates a new chat with optional SMS delivery via transport field. Requires at least one of: assistantId/assistant, sessionId, or previousChatId. Note: sessionId and previousChatId are mutually exclusive. Transport field enables SMS delivery with two modes: (1) New conversation - provide transport.phoneNumberId and transport.customer to create a new session, (2) Existing conversation - provide sessionId to use existing session data. Cannot specify both sessionId and transport fields together. The transport.useLLMGeneratedMessageForOutbound flag controls whether input is processed by LLM (true, default) or forwarded directly as SMS (false).
func (c *Client) Create(
ctx context.Context,
request *serversdkgo.CreateChatDto,
opts ...option.RequestOption,
) (*serversdkgo.CreateChatsResponse, error) {
response, err := c.WithRawResponse.Create(
ctx,
request,
opts...,
)
if err != nil {
return nil, err
}
return response.Body, nil
}
func (c *Client) Get(
ctx context.Context,
request *serversdkgo.GetChatsRequest,
opts ...option.RequestOption,
) (*serversdkgo.Chat, error) {
response, err := c.WithRawResponse.Get(
ctx,
request,
opts...,
)
if err != nil {
return nil, err
}
return response.Body, nil
}
func (c *Client) Delete(
ctx context.Context,
request *serversdkgo.DeleteChatsRequest,
opts ...option.RequestOption,
) (*serversdkgo.Chat, error) {
response, err := c.WithRawResponse.Delete(
ctx,
request,
opts...,
)
if err != nil {
return nil, err
}
return response.Body, nil
}
func (c *Client) CreateResponse(
ctx context.Context,
request *serversdkgo.OpenAiResponsesRequest,
opts ...option.RequestOption,
) (*serversdkgo.CreateResponseChatsResponse, error) {
response, err := c.WithRawResponse.CreateResponse(
ctx,
request,
opts...,
)
if err != nil {
return nil, err
}
return response.Body, nil
}