fix(message): gate local media attachments

This commit is contained in:
Anton Bogdanovich
2026-05-22 16:20:59 -07:00
parent 1bf0d898de
commit ceebda35ee
7 changed files with 178 additions and 76 deletions
+7 -1
View File
@@ -814,6 +814,12 @@ type ToolConfig struct {
Enabled bool `json:"enabled" yaml:"-" env:"ENABLED"`
}
type MessageToolsConfig struct {
ToolConfig `yaml:"-" envPrefix:"PICOCLAW_TOOLS_MESSAGE_"`
MediaEnabled bool `json:"media_enabled" yaml:"-" env:"PICOCLAW_TOOLS_MESSAGE_MEDIA_ENABLED"`
}
type BraveConfig struct {
Enabled bool `json:"enabled" yaml:"-" env:"PICOCLAW_TOOLS_WEB_BRAVE_ENABLED"`
APIKeys SecureStrings `json:"api_keys,omitzero" yaml:"api_keys,omitempty" env:"PICOCLAW_TOOLS_WEB_BRAVE_API_KEYS"`
@@ -1026,7 +1032,7 @@ type ToolsConfig struct {
InstallSkill ToolConfig `json:"install_skill" yaml:"-" envPrefix:"PICOCLAW_TOOLS_INSTALL_SKILL_"`
ListDir ToolConfig `json:"list_dir" yaml:"-" envPrefix:"PICOCLAW_TOOLS_LIST_DIR_"`
LoadImage ToolConfig `json:"load_image" yaml:"-" envPrefix:"PICOCLAW_TOOLS_LOAD_IMAGE_"`
Message ToolConfig `json:"message" yaml:"-" envPrefix:"PICOCLAW_TOOLS_MESSAGE_"`
Message MessageToolsConfig `json:"message" yaml:"-"`
ReadFile ReadFileToolConfig `json:"read_file" yaml:"-" envPrefix:"PICOCLAW_TOOLS_READ_FILE_"`
Serial ToolConfig `json:"serial" yaml:"-" envPrefix:"PICOCLAW_TOOLS_SERIAL_"`
SendFile ToolConfig `json:"send_file" yaml:"-" envPrefix:"PICOCLAW_TOOLS_SEND_FILE_"`
+10
View File
@@ -1480,6 +1480,16 @@ func TestLoadConfig_LoadImageCanBeDisabled(t *testing.T) {
}
}
func TestDefaultConfig_MessageMediaDisabled(t *testing.T) {
cfg := DefaultConfig()
if !cfg.Tools.Message.Enabled {
t.Fatal("DefaultConfig().Tools.Message.Enabled should be true")
}
if cfg.Tools.Message.MediaEnabled {
t.Fatal("DefaultConfig().Tools.Message.MediaEnabled should be false")
}
}
func TestToolsConfig_GetFilterMinLength(t *testing.T) {
tests := []struct {
name string
+5 -2
View File
@@ -447,8 +447,11 @@ func DefaultConfig() *Config {
LoadImage: ToolConfig{
Enabled: true,
},
Message: ToolConfig{
Enabled: true,
Message: MessageToolsConfig{
ToolConfig: ToolConfig{
Enabled: true,
},
MediaEnabled: false,
},
ReadFile: ReadFileToolConfig{
Enabled: true,