Skip to content

Commit c701843

Browse files
author
A.L.
authored
fix: Add omit empty optional fields in update bot payloads (#111)
* Added optional "suggest reply" settings for bots to configure reply mode and custom prompt. * Create and Update bot payloads now omit empty optional fields, enabling smaller/partial JSON payloads for optional settings. * Required identifier fields remain unchanged and are still always included in requests.
1 parent 312b7fd commit c701843

1 file changed

Lines changed: 23 additions & 17 deletions

File tree

bots.go

Lines changed: 23 additions & 17 deletions
Original file line numberDiff line numberDiff line change
@@ -191,15 +191,21 @@ type BotPromptInfo struct {
191191
Prompt string `json:"prompt"`
192192
}
193193

194+
type BotSuggestReplyInfo struct {
195+
ReplyMode string `json:"reply_mode,omitempty"` // enum: enable, disable, customized
196+
CustomizedPrompt string `json:"customized_prompt,omitempty"` // when ReplyMode == customized
197+
}
198+
194199
type CreateBotsReq struct {
195-
SpaceID string `json:"space_id"` // Space ID
196-
Name string `json:"name"` // Name
197-
Description string `json:"description"` // Description
198-
IconFileID string `json:"icon_file_id"` // Icon file ID
199-
PromptInfo *BotPromptInfo `json:"prompt_info"` // Prompt information
200-
OnboardingInfo *BotOnboardingInfo `json:"onboarding_info"` // Onboarding information
201-
ModelInfoConfig *BotModelInfoConfig `json:"model_info_config"` // ModelInfoConfig information
202-
WorkflowIDList *WorkflowIDList `json:"workflow_id_list"` // WorkflowIDList information
200+
SpaceID string `json:"space_id"` // Space ID
201+
Name string `json:"name"` // Name
202+
Description string `json:"description,omitempty"` // Description
203+
IconFileID string `json:"icon_file_id,omitempty"` // Icon file ID
204+
PromptInfo *BotPromptInfo `json:"prompt_info,omitempty"` // Prompt information
205+
OnboardingInfo *BotOnboardingInfo `json:"onboarding_info,omitempty"` // Onboarding information
206+
ModelInfoConfig *BotModelInfoConfig `json:"model_info_config,omitempty"` // ModelInfoConfig information
207+
WorkflowIDList *WorkflowIDList `json:"workflow_id_list,omitempty"` // WorkflowIDList information
208+
SuggestReplyInfo *BotSuggestReplyInfo `json:"suggest_reply_info,omitempty"` // SuggestReplyInfo information
203209
}
204210

205211
type CreateBotsResp struct {
@@ -240,15 +246,15 @@ type RetrieveBotsResp struct {
240246

241247
// UpdateBotsReq represents the request structure for updating a bot
242248
type UpdateBotsReq struct {
243-
BotID string `json:"bot_id"` // Bot ID
244-
Name string `json:"name"` // Name
245-
Description string `json:"description"` // Description
246-
IconFileID string `json:"icon_file_id"` // Icon file ID
247-
PromptInfo *BotPromptInfo `json:"prompt_info"` // Prompt information
248-
OnboardingInfo *BotOnboardingInfo `json:"onboarding_info"` // Onboarding information
249-
Knowledge *BotKnowledge `json:"knowledge"` // Knowledge
250-
ModelInfoConfig *BotModelInfoConfig `json:"model_info_config"` // ModelInfoConfig information
251-
WorkflowIDList *WorkflowIDList `json:"workflow_id_list"` // WorkflowIDList information
249+
BotID string `json:"bot_id"` // Bot ID
250+
Name string `json:"name,omitempty"` // Name
251+
Description string `json:"description,omitempty"` // Description
252+
IconFileID string `json:"icon_file_id,omitempty"` // Icon file ID
253+
PromptInfo *BotPromptInfo `json:"prompt_info,omitempty"` // Prompt information
254+
OnboardingInfo *BotOnboardingInfo `json:"onboarding_info,omitempty"` // Onboarding information
255+
Knowledge *BotKnowledge `json:"knowledge,omitempty"` // Knowledge
256+
ModelInfoConfig *BotModelInfoConfig `json:"model_info_config,omitempty"` // ModelInfoConfig information
257+
WorkflowIDList *WorkflowIDList `json:"workflow_id_list,omitempty"` // WorkflowIDList information
252258
}
253259

254260
type UpdateBotsResp struct {

0 commit comments

Comments
 (0)