fix(permissions): tools MCP inter-projets exposés (idea_project_*) + contactable agent/template persisté — update_agent_contactable (application/web-server/app-tauri), defaultContactable TemplateEditor save/reopen, groupes MCP 'IdeA inter-projets' avec fallback, permissions agent Contactable — #267 (QA verte)
This commit is contained in:
@ -17,7 +17,10 @@ import { useEffect, useMemo, useRef, useState } from "react";
|
||||
|
||||
import type { Agent, McpToolCatalogue } from "@/domain";
|
||||
import { Button, Panel, cn } from "@/shared";
|
||||
import { MCP_TOOL_GROUPS, mcpToolLabel } from "./mcpToolGroups";
|
||||
import {
|
||||
mcpToolGroupsForCatalogue,
|
||||
mcpToolLabel,
|
||||
} from "./mcpToolGroups";
|
||||
import { useMcpToolPermissions } from "./useMcpToolPermissions";
|
||||
|
||||
export interface McpToolPermissionsPanelProps {
|
||||
@ -243,9 +246,13 @@ function McpToolEditor({
|
||||
const [pendingConfirm, setPendingConfirm] = useState(false);
|
||||
const [savedFlash, setSavedFlash] = useState(false);
|
||||
const [saveError, setSaveError] = useState<string | null>(null);
|
||||
const toolGroups = useMemo(
|
||||
() => mcpToolGroupsForCatalogue(catalogue),
|
||||
[catalogue],
|
||||
);
|
||||
const [expandedGroups, setExpandedGroups] = useState<Record<string, boolean>>(() =>
|
||||
Object.fromEntries(
|
||||
MCP_TOOL_GROUPS.map((group) => [
|
||||
mcpToolGroupsForCatalogue(catalogue).map((group) => [
|
||||
group.id,
|
||||
READ_GROUP_IDS.has(group.id) ? targetKind === "project" : true,
|
||||
]),
|
||||
@ -375,7 +382,7 @@ function McpToolEditor({
|
||||
<h5 className="text-xs font-semibold uppercase tracking-wide text-faint">
|
||||
Détail des tools
|
||||
</h5>
|
||||
{MCP_TOOL_GROUPS.map((group) => (
|
||||
{toolGroups.map((group) => (
|
||||
<ToolGroupSection
|
||||
key={group.id}
|
||||
group={group}
|
||||
|
||||
Reference in New Issue
Block a user