Files
MonkeyCode/backend/domain/plugin.go
2025-08-29 18:29:50 +08:00

53 lines
1.9 KiB
Go

package domain
type PluginConfig struct {
ProviderProfiles ProviderProfiles `json:"providerProfiles"`
CtcodeTabCompletions CtcodeTabCompletions `json:"ctcodeTabCompletions"`
GlobalSettings GlobalSettings `json:"globalSettings"`
}
type ProviderProfiles struct {
CurrentApiConfigName string `json:"currentApiConfigName"`
ApiConfigs map[string]ApiConfig `json:"apiConfigs"`
ModeApiConfigs map[string]string `json:"modeApiConfigs"`
Migrations Migrations `json:"migrations"`
}
type ApiConfig struct {
ApiProvider string `json:"apiProvider"`
ApiModelId string `json:"apiModelId"`
OpenAiBaseUrl string `json:"openAiBaseUrl"`
OpenAiApiKey string `json:"openAiApiKey"`
OpenAiModelId string `json:"openAiModelId"`
OpenAiR1FormatEnabled bool `json:"openAiR1FormatEnabled"`
OpenAiCustomModelInfo OpenAiCustomModelInfo `json:"openAiCustomModelInfo"`
Id string `json:"id"`
}
type OpenAiCustomModelInfo struct {
MaxTokens int `json:"maxTokens"`
ContextWindow int `json:"contextWindow"`
SupportsImages bool `json:"supportsImages"`
SupportsComputerUse bool `json:"supportsComputerUse"`
SupportsPromptCache bool `json:"supportsPromptCache"`
}
type Migrations struct {
RateLimitSecondsMigrated bool `json:"rateLimitSecondsMigrated"`
DiffSettingsMigrated bool `json:"diffSettingsMigrated"`
}
type CtcodeTabCompletions struct {
Enabled bool `json:"enabled"`
ApiProvider string `json:"apiProvider"`
OpenAiBaseUrl string `json:"openAiBaseUrl"`
OpenAiApiKey string `json:"openAiApiKey"`
OpenAiModelId string `json:"openAiModelId"`
}
type GlobalSettings struct {
AllowedCommands []string `json:"allowedCommands"`
Mode string `json:"mode"`
CustomModes []string `json:"customModes"`
}