feat(templates): nom d'agent par défaut + permissions système et MCP outils sur AgentTemplate — #242
AgentTemplate étendu (defaultAgentName, systemPermissions, mcpToolPermissions), CreateTemplate/UpdateTemplate/CreateAgentFromTemplate projetés vers l'agent créé, DTO/MCP tools et persistance store complétés. Correctif modèle par défaut: UpdateTemplate ne persistait pas defaultProfileId (profil stale à la création d'agent). Backfill best-effort des templates existants depuis les agents du projet au open_project, overrides explicites uniquement.
This commit is contained in:
@ -98,7 +98,26 @@ pub fn catalogue() -> Vec<ToolDef> {
|
||||
"properties": {
|
||||
"name": { "type": "string" },
|
||||
"content": { "type": "string" },
|
||||
"defaultProfileId": { "type": "string", "format": "uuid" }
|
||||
"defaultProfileId": { "type": "string", "format": "uuid" },
|
||||
"defaultAgentName": { "type": ["string", "null"] },
|
||||
"defaultSystemPermissions": {
|
||||
"type": ["object", "null"],
|
||||
"properties": {
|
||||
"network": { "type": "string", "enum": ["allow", "deny", "ask"] }
|
||||
},
|
||||
"additionalProperties": false
|
||||
},
|
||||
"defaultMcpToolPermissions": {
|
||||
"type": ["object", "null"],
|
||||
"properties": {
|
||||
"allowedTools": {
|
||||
"type": "array",
|
||||
"items": { "type": "string" }
|
||||
}
|
||||
},
|
||||
"required": ["allowedTools"],
|
||||
"additionalProperties": false
|
||||
}
|
||||
},
|
||||
"required": ["name", "content", "defaultProfileId"],
|
||||
"additionalProperties": false
|
||||
@ -106,14 +125,35 @@ pub fn catalogue() -> Vec<ToolDef> {
|
||||
},
|
||||
ToolDef {
|
||||
name: "idea_template_update",
|
||||
description: "Update a global IdeA agent template's Markdown content.",
|
||||
description: "Update a global IdeA agent template.",
|
||||
input_schema: json!({
|
||||
"type": "object",
|
||||
"properties": {
|
||||
"templateId": template_id.clone(),
|
||||
"content": { "type": "string" }
|
||||
"content": { "type": ["string", "null"] },
|
||||
"name": { "type": "string" },
|
||||
"defaultProfileId": { "type": "string", "format": "uuid" },
|
||||
"defaultAgentName": { "type": ["string", "null"] },
|
||||
"defaultSystemPermissions": {
|
||||
"type": ["object", "null"],
|
||||
"properties": {
|
||||
"network": { "type": "string", "enum": ["allow", "deny", "ask"] }
|
||||
},
|
||||
"additionalProperties": false
|
||||
},
|
||||
"defaultMcpToolPermissions": {
|
||||
"type": ["object", "null"],
|
||||
"properties": {
|
||||
"allowedTools": {
|
||||
"type": "array",
|
||||
"items": { "type": "string" }
|
||||
}
|
||||
},
|
||||
"required": ["allowedTools"],
|
||||
"additionalProperties": false
|
||||
}
|
||||
},
|
||||
"required": ["templateId", "content"],
|
||||
"required": ["templateId"],
|
||||
"additionalProperties": false
|
||||
}),
|
||||
},
|
||||
|
||||
Reference in New Issue
Block a user