Documentation
¶
Index ¶
- type APIClient
- func (c *APIClient) CreateAssistant(requestData CreateAssistantRequest) ([]byte, int, error)
- func (c *APIClient) CreateSIPTrunk(requestData ImportSIPTrunkRequest) ([]byte, int, error)
- func (c *APIClient) CreateToolFunction(requestData ToolFunctionRequest) ([]byte, int, error)
- func (c *APIClient) CreateToolQueryFunction(requestData ToolQueryFunctionRequest) ([]byte, int, error)
- func (c *APIClient) DeleteAssistant(id string) ([]byte, int, error)
- func (c *APIClient) DeleteFile(id string) ([]byte, int, error)
- func (c *APIClient) DeletePhoneNumber(id string) ([]byte, int, error)
- func (c *APIClient) DeleteSIPTrunk(id string) ([]byte, int, error)
- func (c *APIClient) DeleteToolFunction(id string) ([]byte, int, error)
- func (c *APIClient) DeleteToolQueryFunction(id string) ([]byte, int, error)
- func (c *APIClient) GetAssistant(id string) ([]byte, int, error)
- func (c *APIClient) GetFile(id string) ([]byte, int, error)
- func (c *APIClient) GetPhoneNumber(id string) ([]byte, int, error)
- func (c *APIClient) GetSIPTrunk(id string) ([]byte, int, error)
- func (c *APIClient) GetToolFunction(id string) ([]byte, int, error)
- func (c *APIClient) GetToolQueryFunction(id string) ([]byte, int, error)
- func (c *APIClient) ImportSIPTrunkPhoneNumber(requestData ImportSIPTrunkPhoneNumberRequest) ([]byte, int, error)
- func (c *APIClient) ImportTwilioPhoneNumber(requestData ImportTwilioRequest) ([]byte, int, error)
- func (c *APIClient) SendRequest(method, endpoint string, body interface{}) ([]byte, int, error)
- func (c *APIClient) UpdateAssistant(id string, requestData CreateAssistantRequest) ([]byte, int, error)
- func (c *APIClient) UpdateSIPTrunk(id string, requestData ImportSIPTrunkRequest) ([]byte, int, error)
- func (c *APIClient) UpdateToolQueryFunction(id string, requestData ToolQueryFunctionRequest) ([]byte, int, error)
- func (c *APIClient) UploadData(fieldName, filename string, content []byte) ([]byte, int, error)
- type AnalysisPlan
- type ArtifactPlan
- type Assistant
- type CreateAssistantRequest
- type Customer
- type Destination
- type FallbackDestination
- type FileResponse
- type Function
- type FunctionParams
- type ImportSIPTrunkPhoneNumberRequest
- type ImportSIPTrunkPhoneNumberResponse
- type ImportSIPTrunkRequest
- type ImportTwilioRequest
- type KnowledgeBase
- type Message
- type MessagePlan
- type Model
- type OutboundAuthenticationPlan
- type Property
- type ResponseFunction
- type ResponseFunctionParams
- type ResponseProperty
- type ResponseServer
- type SIPGateway
- type SIPRegisterPlan
- type Server
- type StartSpeakingPlan
- type StopSpeakingPlan
- type StructuredDataSchema
- type TQKnowledgeBase
- type ToolFunctionRequest
- type ToolFunctionResponse
- type ToolQueryFunctionRequest
- type ToolQueryFunctionResponse
- type Transcriber
- type TranscriptionEndpointingPlan
- type TwilioPhoneNumber
- type Voice
Constants ¶
This section is empty.
Variables ¶
This section is empty.
Functions ¶
This section is empty.
Types ¶
type APIClient ¶
APIClient handles communication with the remote provider.
func (*APIClient) CreateAssistant ¶ added in v0.5.0
func (c *APIClient) CreateAssistant(requestData CreateAssistantRequest) ([]byte, int, error)
CreateAssistant creates a new assistant.
func (*APIClient) CreateSIPTrunk ¶ added in v0.10.0
func (c *APIClient) CreateSIPTrunk(requestData ImportSIPTrunkRequest) ([]byte, int, error)
CreateSIPTrunk creates a new assistant.
func (*APIClient) CreateToolFunction ¶ added in v0.4.0
func (c *APIClient) CreateToolFunction(requestData ToolFunctionRequest) ([]byte, int, error)
CreateToolFunction method.
func (*APIClient) CreateToolQueryFunction ¶ added in v0.7.0
func (c *APIClient) CreateToolQueryFunction(requestData ToolQueryFunctionRequest) ([]byte, int, error)
CreateToolQueryFunction method.
func (*APIClient) DeleteAssistant ¶ added in v0.5.0
DeleteAssistant deletes an existing assistant by ID.
func (*APIClient) DeleteFile ¶ added in v0.3.0
DeleteFile deletes a specific phone number by ID.
func (*APIClient) DeletePhoneNumber ¶ added in v0.3.0
DeletePhoneNumber deletes a specific phone number by ID.
func (*APIClient) DeleteSIPTrunk ¶ added in v0.10.0
DeleteSIPTrunk deletes an existing assistant by ID.
func (*APIClient) DeleteToolFunction ¶ added in v0.4.0
DeleteToolFunction deletes a specific tool by ID.
func (*APIClient) DeleteToolQueryFunction ¶ added in v0.7.0
DeleteToolQueryFunction deletes a specific tool by ID.
func (*APIClient) GetAssistant ¶ added in v0.5.0
GetAssistant retrieves the details of a specific assistant by ID.
func (*APIClient) GetFile ¶ added in v0.3.0
GetFile retrieves the details of a specific phone number by ID.
func (*APIClient) GetPhoneNumber ¶ added in v0.3.0
GetPhoneNumber retrieves the details of a specific phone number by ID.
func (*APIClient) GetSIPTrunk ¶ added in v0.10.0
GetSIPTrunk retrieves the details of a specific assistant by ID.
func (*APIClient) GetToolFunction ¶ added in v0.4.0
GetToolFunction retrieves the details of a specific tool by ID.
func (*APIClient) GetToolQueryFunction ¶ added in v0.7.0
GetToolQueryFunction retrieves the details of a specific tool by ID.
func (*APIClient) ImportSIPTrunkPhoneNumber ¶ added in v0.11.0
func (c *APIClient) ImportSIPTrunkPhoneNumber(requestData ImportSIPTrunkPhoneNumberRequest) ([]byte, int, error)
ImportSIPTrunkPhoneNumber requests the creation of a new phone number.
func (*APIClient) ImportTwilioPhoneNumber ¶ added in v0.3.0
func (c *APIClient) ImportTwilioPhoneNumber(requestData ImportTwilioRequest) ([]byte, int, error)
ImportTwilioPhoneNumber requests the creation of a new phone number.
func (*APIClient) SendRequest ¶
func (*APIClient) UpdateAssistant ¶ added in v0.5.5
func (c *APIClient) UpdateAssistant(id string, requestData CreateAssistantRequest) ([]byte, int, error)
UpdateAssistant updates assistant.
func (*APIClient) UpdateSIPTrunk ¶ added in v0.10.0
func (c *APIClient) UpdateSIPTrunk(id string, requestData ImportSIPTrunkRequest) ([]byte, int, error)
UpdateSIPTrunk updates assistant.
func (*APIClient) UpdateToolQueryFunction ¶ added in v0.7.0
func (c *APIClient) UpdateToolQueryFunction(id string, requestData ToolQueryFunctionRequest) ([]byte, int, error)
UpdateToolQueryFunction method.
type AnalysisPlan ¶ added in v0.5.0
type AnalysisPlan struct {
SummaryPrompt string `json:"summaryPrompt"`
StructuredDataPrompt string `json:"structuredDataPrompt"`
StructuredDataSchema *StructuredDataSchema `json:"structuredDataSchema"`
SuccessEvaluationPrompt string `json:"successEvaluationPrompt"`
SuccessEvaluationRubric string `json:"successEvaluationRubric"`
}
AnalysisPlan struct.
type ArtifactPlan ¶ added in v0.8.2
type ArtifactPlan struct {
RecordingFormat string `json:"recordingFormat,omitempty"`
}
type Assistant ¶ added in v0.5.0
type Assistant struct {
ID string `json:"id,omitempty"`
OrgID string `json:"orgId,omitempty"`
Name string `json:"name,omitempty"`
FirstMessageMode string `json:"firstMessageMode,omitempty"`
HipaaEnabled bool `json:"hipaaEnabled,omitempty"`
BackgroundSound string `json:"backgroundSound,omitempty"`
BackgroundDenoising bool `json:"backgroundDenoisingEnabled,omitempty"`
ModelOutputEnabled bool `json:"modelOutputInMessagesEnabled,omitempty"`
Language string `json:"language,omitempty"`
ForwardingPhoneNumber string `json:"forwardingPhoneNumber,omitempty"`
InterruptionsEnabled bool `json:"interruptionsEnabled,omitempty"`
EndCallFunctionEnabled bool `json:"endCallFunctionEnabled,omitempty"`
DialKeypadFunctionEnabled bool `json:"dialKeypadFunctionEnabled,omitempty"`
FillersEnabled bool `json:"fillersEnabled,omitempty"`
SilenceTimeoutSeconds *float64 `json:"silenceTimeoutSeconds,omitempty"`
ResponseDelaySeconds *float64 `json:"responseDelaySeconds,omitempty"`
NumWordsToInterruptAssistant *int64 `json:"numWordsToInterruptAssistant,omitempty"`
LiveTranscriptsEnabled *bool `json:"liveTranscriptsEnabled,omitempty"`
Keywords []string `json:"keywords,omitempty"`
ParentID *string `json:"parentId,omitempty"`
Voice *Voice `json:"voice,omitempty"`
Model *Model `json:"model,omitempty"`
RecordingEnabled bool `json:"recordingEnabled,omitempty"`
FirstMessage string `json:"firstMessage,omitempty"`
VoicemailMessage string `json:"voicemailMessage,omitempty"`
EndCallMessage string `json:"endCallMessage,omitempty"`
Transcriber *Transcriber `json:"transcriber,omitempty"`
ClientMessages []string `json:"clientMessages,omitempty"`
ServerMessages []string `json:"serverMessages,omitempty"`
EndCallPhrases []string `json:"endCallPhrases,omitempty"`
MaxDurationSeconds int64 `json:"maxDurationSeconds,omitempty"`
AnalysisPlan *AnalysisPlan `json:"analysisPlan,omitempty"`
MessagePlan *MessagePlan `json:"messagePlan,omitempty"`
StartSpeakingPlan *StartSpeakingPlan `json:"startSpeakingPlan,omitempty"`
StopSpeakingPlan *StopSpeakingPlan `json:"StopSpeakingPlan,omitempty"`
Server *Server `json:"server,omitempty"`
ArtifactPlan *ArtifactPlan `json:"artifactPlan,omitempty"`
}
Assistant struct.
type CreateAssistantRequest ¶ added in v0.5.0
type CreateAssistantRequest struct {
Name string `json:"name"`
FirstMessageMode string `json:"firstMessageMode,omitempty"`
HipaaEnabled bool `json:"hipaaEnabled,omitempty"`
ClientMessages []string `json:"clientMessages,omitempty"`
ServerMessages []string `json:"serverMessages,omitempty"`
BackgroundSound string `json:"backgroundSound,omitempty"`
BackgroundDenoising bool `json:"backgroundDenoisingEnabled,omitempty"`
ModelOutputEnabled bool `json:"modelOutputInMessagesEnabled,omitempty"`
Language string `json:"language,omitempty"`
ForwardingPhoneNumber string `json:"forwardingPhoneNumber,omitempty"`
InterruptionsEnabled bool `json:"interruptionsEnabled,omitempty"`
EndCallFunctionEnabled bool `json:"endCallFunctionEnabled,omitempty"`
DialKeypadFunctionEnabled bool `json:"dialKeypadFunctionEnabled,omitempty"`
FillersEnabled bool `json:"fillersEnabled,omitempty"`
SilenceTimeoutSeconds *float64 `json:"silenceTimeoutSeconds,omitempty"`
ResponseDelaySeconds *float64 `json:"responseDelaySeconds,omitempty"`
NumWordsToInterruptAssistant *int64 `json:"numWordsToInterruptAssistant,omitempty"`
LiveTranscriptsEnabled *bool `json:"liveTranscriptsEnabled,omitempty"`
Keywords []string `json:"keywords,omitempty"`
Voice *Voice `json:"voice,omitempty"`
Model *Model `json:"model,omitempty"`
RecordingEnabled bool `json:"recordingEnabled,omitempty"`
FirstMessage string `json:"firstMessage,omitempty"`
VoicemailMessage string `json:"voicemailMessage,omitempty"`
EndCallMessage string `json:"endCallMessage,omitempty"`
Transcriber *Transcriber `json:"transcriber,omitempty"`
EndCallPhrases []string `json:"endCallPhrases,omitempty"`
MaxDurationSeconds int64 `json:"maxDurationSeconds,omitempty"`
AnalysisPlan *AnalysisPlan `json:"analysisPlan,omitempty"`
MessagePlan *MessagePlan `json:"messagePlan,omitempty"`
StartSpeakingPlan *StartSpeakingPlan `json:"startSpeakingPlan,omitempty"`
StopSpeakingPlan *StopSpeakingPlan `json:"stopSpeakingPlan,omitempty"`
Server *Server `json:"server,omitempty"`
ArtifactPlan *ArtifactPlan `json:"artifactPlan,omitempty"`
}
CreateAssistantRequest represents the request body for creating an assistant.
type Customer ¶ added in v0.5.1
type Customer struct {
Number string `json:"number"`
}
Customer struct.
type Destination ¶ added in v0.8.0
type FallbackDestination ¶ added in v0.3.0
type FallbackDestination struct {
Type string `json:"type,omitempty"`
NumberE164CheckEnabled bool `json:"numberE164CheckEnabled,omitempty"`
Number string `json:"number,omitempty"`
Extension string `json:"extension,omitempty"`
Message string `json:"message,omitempty"`
Description string `json:"description,omitempty"`
}
FallbackDestination struct.
type FileResponse ¶
type FileResponse struct {
ID string `json:"id"`
Name string `json:"name"`
OriginalName string `json:"originalName"`
Bytes int64 `json:"bytes"`
Mimetype string `json:"mimetype"`
Path string `json:"path"`
URL string `json:"url"`
Metadata map[string]interface{} `json:"metadata"`
OrgID string `json:"orgId"`
CreatedAt string `json:"createdAt"`
UpdatedAt string `json:"updatedAt"`
Status string `json:"status"`
Purpose string `json:"purpose"`
Bucket string `json:"bucket"`
}
FileResponse represents the structure of the API response.
func (*FileResponse) UnmarshalJSON ¶
func (fr *FileResponse) UnmarshalJSON(data []byte) error
UnmarshalJSON implements custom unmarshaling for FileResponse.
type Function ¶ added in v0.4.0
type Function struct {
Description string `json:"description"`
Async bool `json:"async,omitempty"`
Name string `json:"name,omitempty"`
Parameters *FunctionParams `json:"parameters,omitempty"`
}
type FunctionParams ¶ added in v0.4.0
type ImportSIPTrunkPhoneNumberRequest ¶ added in v0.11.0
type ImportSIPTrunkPhoneNumberRequest struct {
Provider string `json:"provider"` // always "byo-phone-number"
Number string `json:"number"` // e.g., "+14031234567"
NumberE164CheckEnabled bool `json:"numberE164CheckEnabled"` // true/false
CredentialID string `json:"credentialId"` // e.g., UUID for SIP credentials
Name string `json:"name"` // descriptive name
}
ImportSIPTrunkPhoneNumberRequest represents the payload to import a SIP trunk phone number.
type ImportSIPTrunkPhoneNumberResponse ¶ added in v0.11.0
type ImportSIPTrunkPhoneNumberResponse struct {
ID string `json:"id"` // system-generated phone number ID
OrgID string `json:"orgId"` // owning organization ID
Number string `json:"number"` // phone number
CreatedAt string `json:"createdAt"` // RFC3339 timestamp
UpdatedAt string `json:"updatedAt"` // RFC3339 timestamp
Provider string `json:"provider"` // "byo-phone-number"
Name string `json:"name"` // same as request
NumberE164CheckEnabled bool `json:"numberE164CheckEnabled"` // same as request
CredentialID string `json:"credentialId"` // same as request
}
ImportSIPTrunkPhoneNumberResponse represents the response structure after import.
type ImportSIPTrunkRequest ¶ added in v0.10.0
type ImportSIPTrunkRequest struct {
Provider string `json:"provider"`
Name string `json:"name"`
Gateways []SIPGateway `json:"gateways"`
OutboundAuthenticationPlan *OutboundAuthenticationPlan `json:"outboundAuthenticationPlan,omitempty"`
OutboundLeadingPlusEnabled bool `json:"outboundLeadingPlusEnabled"`
TechPrefix string `json:"techPrefix,omitempty"`
SIPDiversionHeader string `json:"sipDiversionHeader,omitempty"`
}
ImportSIPTrunkRequest struct represents a request to import a BYO SIP trunk.
type ImportTwilioRequest ¶ added in v0.3.0
type ImportTwilioRequest struct {
Provider string `json:"provider"`
Name string `json:"name"`
Number string `json:"number"`
TwilioAccountSID string `json:"twilioAccountSid"`
TwilioAuthToken string `json:"twilioAuthToken"`
AssistantID string `json:"assistantId,omitempty"`
Fallback *FallbackDestination `json:"fallbackDestination,omitempty"`
}
ImportTwilioRequest struct.
type KnowledgeBase ¶ added in v0.5.1
type KnowledgeBase struct {
TopK int64 `json:"topK"`
FileIDs []string `json:"fileIds"`
Provider string `json:"provider"`
}
KnowledgeBase struct.
type MessagePlan ¶ added in v0.5.1
type MessagePlan struct {
IdleMessages []string `json:"idleMessages"`
}
MessagePlan struct.
type Model ¶ added in v0.5.0
type Model struct {
Model string `json:"model"`
SystemPrompt string `json:"systemPrompt"`
Provider string `json:"provider"`
MaxTokens int64 `json:"maxTokens,omitempty"`
Temperature float64 `json:"temperature,omitempty"`
ToolIDs []string `json:"toolIds,omitempty"`
Messages []Message `json:"messages,omitempty"`
KnowledgeBase *KnowledgeBase `json:"knowledgeBase,omitempty"`
}
Model struct.
type OutboundAuthenticationPlan ¶ added in v0.10.0
type OutboundAuthenticationPlan struct {
AuthUsername string `json:"authUsername"`
AuthPassword string `json:"authPassword"`
SIPRegisterPlan *SIPRegisterPlan `json:"sipRegisterPlan,omitempty"`
}
OutboundAuthenticationPlan struct represents outbound SIP authentication details.
type ResponseFunction ¶ added in v0.4.0
type ResponseFunction struct {
Name string `json:"name"`
Async bool `json:"async"`
Description string `json:"description"`
Parameters ResponseFunctionParams `json:"parameters"`
}
type ResponseFunctionParams ¶ added in v0.4.0
type ResponseFunctionParams struct {
Type string `json:"type"`
Properties map[string]ResponseProperty `json:"properties"`
Required []string `json:"required"`
}
type ResponseProperty ¶ added in v0.4.0
type ResponseServer ¶ added in v0.4.0
type ResponseServer struct {
URL string `json:"url"`
}
type SIPGateway ¶ added in v0.10.0
type SIPGateway struct {
IP string `json:"ip"`
}
SIPGateway struct represents an individual SIP gateway.
type SIPRegisterPlan ¶ added in v0.10.0
type SIPRegisterPlan struct {
Domain string `json:"domain"`
Username string `json:"username"`
Realm string `json:"realm"`
}
SIPRegisterPlan struct represents the SIP registration plan details.
type StartSpeakingPlan ¶ added in v0.5.0
type StartSpeakingPlan struct {
WaitSeconds float64 `json:"waitSeconds,omitempty"`
SmartEndpointingEnabled bool `json:"smartEndpointingEnabled,omitempty"`
TranscriptionEndpointingPlan *TranscriptionEndpointingPlan `json:"transcriptionEndpointingPlan,omitempty"`
}
StartSpeakingPlan struct.
type StopSpeakingPlan ¶ added in v0.5.0
type StopSpeakingPlan struct {
NumWords float64 `json:"numWords,omitempty"`
VoiceSeconds float64 `json:"voiceSeconds,omitempty"`
BackoffSeconds float64 `json:"backoffSeconds,omitempty"`
}
StopSpeakingPlan struct.
type StructuredDataSchema ¶ added in v0.5.0
type StructuredDataSchema struct {
Type string `json:"type"`
Properties map[string]*Property `json:"properties"`
}
StructuredDataSchema struct.
type TQKnowledgeBase ¶ added in v0.7.0
type ToolFunctionRequest ¶ added in v0.7.0
type ToolFunctionRequest struct {
Destinations []Destination `json:"destinations,omitempty"`
Server *Server `json:"server"`
Function Function `json:"function"`
Type string `json:"type"`
Async bool `json:"async"`
}
ToolFunctionRequest struct.
type ToolFunctionResponse ¶ added in v0.7.0
type ToolFunctionResponse struct {
ID string `json:"id"`
CreatedAt string `json:"createdAt"`
UpdatedAt string `json:"updatedAt"`
Type string `json:"type"`
Function ResponseFunction `json:"function"`
OrgID string `json:"orgId"`
Server ResponseServer `json:"server"`
Async bool `json:"async"`
}
ToolFunctionResponse struct.
type ToolQueryFunctionRequest ¶ added in v0.7.0
type ToolQueryFunctionRequest struct {
Function Function `json:"function"`
KnowledgeBases []TQKnowledgeBase `json:"knowledgeBases"`
Type string `json:"type,omitempty"`
}
ToolQueryFunctionRequest struct.
type ToolQueryFunctionResponse ¶ added in v0.7.0
type Transcriber ¶ added in v0.5.0
type Transcriber struct {
Model string `json:"model"`
Language string `json:"language"`
Provider string `json:"provider"`
}
Transcriber struct.
type TranscriptionEndpointingPlan ¶ added in v0.5.0
type TranscriptionEndpointingPlan struct {
OnPunctuationSeconds float64 `json:"onPunctuationSeconds,omitempty"`
OnNoPunctuationSeconds float64 `json:"onNoPunctuationSeconds,omitempty"`
OnNumberSeconds float64 `json:"onNumberSeconds,omitempty"`
}
TranscriptionEndpointingPlan struct.
type TwilioPhoneNumber ¶ added in v0.3.0
type TwilioPhoneNumber struct {
ID string `json:"id"`
OrgID string `json:"orgId"`
Number string `json:"number"`
CreatedAt string `json:"createdAt"`
UpdatedAt string `json:"updatedAt"`
TwilioAccountSid string `json:"twilioAccountSid"`
TwilioAuthToken string `json:"twilioAuthToken"`
Name string `json:"name"`
Provider string `json:"provider"`
AssistantID string `json:"assistantId"`
Fallback *FallbackDestination `json:"fallbackDestination,omitempty"`
}
TwilioPhoneNumber represents the structure of a Twilio phone number API response.