|
@@ -201,6 +201,7 @@ func (p *PluginDeclaration) UnmarshalJSON(data []byte) error {
|
|
Endpoint *EndpointProviderDeclaration `json:"endpoint,omitempty"`
|
|
Endpoint *EndpointProviderDeclaration `json:"endpoint,omitempty"`
|
|
Model *ModelProviderDeclaration `json:"model,omitempty"`
|
|
Model *ModelProviderDeclaration `json:"model,omitempty"`
|
|
Tool *ToolProviderDeclaration `json:"tool,omitempty"`
|
|
Tool *ToolProviderDeclaration `json:"tool,omitempty"`
|
|
|
|
+ Agent *AgentProviderDeclaration `json:"agent,omitempty"`
|
|
}
|
|
}
|
|
|
|
|
|
var extra PluginExtra
|
|
var extra PluginExtra
|
|
@@ -212,6 +213,7 @@ func (p *PluginDeclaration) UnmarshalJSON(data []byte) error {
|
|
p.Endpoint = extra.Endpoint
|
|
p.Endpoint = extra.Endpoint
|
|
p.Model = extra.Model
|
|
p.Model = extra.Model
|
|
p.Tool = extra.Tool
|
|
p.Tool = extra.Tool
|
|
|
|
+ p.Agent = extra.Agent
|
|
|
|
|
|
return nil
|
|
return nil
|
|
}
|
|
}
|
|
@@ -251,6 +253,12 @@ func (p *PluginDeclaration) ManifestValidate() error {
|
|
return fmt.Errorf("model and endpoint cannot be provided at the same time")
|
|
return fmt.Errorf("model and endpoint cannot be provided at the same time")
|
|
}
|
|
}
|
|
|
|
|
|
|
|
+ if p.Agent != nil {
|
|
|
|
+ if p.Tool != nil || p.Model != nil || p.Endpoint != nil {
|
|
|
|
+ return fmt.Errorf("agent and tool, model, or endpoint cannot be provided at the same time")
|
|
|
|
+ }
|
|
|
|
+ }
|
|
|
|
+
|
|
return nil
|
|
return nil
|
|
}
|
|
}
|
|
|
|
|