Remove obsolete main-agent connector permission helpers.

This commit is contained in:
CREDO23 2026-05-02 00:43:42 +02:00
parent fbcff79a58
commit 2bce2a2f55
4 changed files with 0 additions and 91 deletions

View file

@ -1,13 +0,0 @@
"""Connector-gated tool deny rules and small permission helpers for the main-agent graph."""
from __future__ import annotations
from .connector_deny_rules import synthesize_connector_deny_rules
from .connector_gated_tool_names import iter_connector_gated_tools
from .rule import Rule
__all__ = [
"Rule",
"iter_connector_gated_tools",
"synthesize_connector_deny_rules",
]

View file

@ -1,21 +0,0 @@
"""Synthesized PermissionMiddleware deny rules for tools gated by connector."""
from __future__ import annotations
from .connector_gated_tool_names import iter_connector_gated_tools
from .rule import Rule
def synthesize_connector_deny_rules(
*,
available_connectors: list[str] | None,
enabled_tool_names: set[str],
) -> list[Rule]:
available = set(available_connectors or [])
deny: list[Rule] = []
for name, required in iter_connector_gated_tools():
if name not in enabled_tool_names:
continue
if required not in available:
deny.append(Rule(permission=name, pattern="*", action="deny"))
return deny

View file

@ -1,42 +0,0 @@
"""Tool name → required searchable connector type (keep in sync with new_chat ``BUILTIN_TOOLS``)."""
from __future__ import annotations
# Synced from ``app.agents.new_chat.tools.registry`` ToolDefinition.required_connector entries.
_CONNECTOR_GATED: tuple[tuple[str, str], ...] = (
("create_notion_page", "NOTION_CONNECTOR"),
("update_notion_page", "NOTION_CONNECTOR"),
("delete_notion_page", "NOTION_CONNECTOR"),
("create_google_drive_file", "GOOGLE_DRIVE_FILE"),
("delete_google_drive_file", "GOOGLE_DRIVE_FILE"),
("create_dropbox_file", "DROPBOX_FILE"),
("delete_dropbox_file", "DROPBOX_FILE"),
("create_onedrive_file", "ONEDRIVE_FILE"),
("delete_onedrive_file", "ONEDRIVE_FILE"),
("search_calendar_events", "GOOGLE_CALENDAR_CONNECTOR"),
("create_calendar_event", "GOOGLE_CALENDAR_CONNECTOR"),
("update_calendar_event", "GOOGLE_CALENDAR_CONNECTOR"),
("delete_calendar_event", "GOOGLE_CALENDAR_CONNECTOR"),
("search_gmail", "GOOGLE_GMAIL_CONNECTOR"),
("read_gmail_email", "GOOGLE_GMAIL_CONNECTOR"),
("create_gmail_draft", "GOOGLE_GMAIL_CONNECTOR"),
("send_gmail_email", "GOOGLE_GMAIL_CONNECTOR"),
("trash_gmail_email", "GOOGLE_GMAIL_CONNECTOR"),
("update_gmail_draft", "GOOGLE_GMAIL_CONNECTOR"),
("create_confluence_page", "CONFLUENCE_CONNECTOR"),
("update_confluence_page", "CONFLUENCE_CONNECTOR"),
("delete_confluence_page", "CONFLUENCE_CONNECTOR"),
("list_discord_channels", "DISCORD_CONNECTOR"),
("read_discord_messages", "DISCORD_CONNECTOR"),
("send_discord_message", "DISCORD_CONNECTOR"),
("list_teams_channels", "TEAMS_CONNECTOR"),
("read_teams_messages", "TEAMS_CONNECTOR"),
("send_teams_message", "TEAMS_CONNECTOR"),
("list_luma_events", "LUMA_CONNECTOR"),
("read_luma_event", "LUMA_CONNECTOR"),
("create_luma_event", "LUMA_CONNECTOR"),
)
def iter_connector_gated_tools() -> tuple[tuple[str, str], ...]:
return _CONNECTOR_GATED

View file

@ -1,15 +0,0 @@
"""Minimal permission rule type (mirrors OpenCode semantics used by PermissionMiddleware)."""
from __future__ import annotations
from dataclasses import dataclass
from typing import Literal
RuleAction = Literal["allow", "deny", "ask"]
@dataclass(frozen=True)
class Rule:
permission: str
pattern: str
action: RuleAction