fix: update credential specs for community Linear/Trello tools, skip unregistered community modules

This commit is contained in:
Timothy
2026-03-03 14:09:04 -08:00
parent 210fa9c474
commit 4f8b3d7aff
4 changed files with 38 additions and 12 deletions
+18 -6
View File
@@ -10,12 +10,24 @@ LINEAR_CREDENTIALS = {
"linear": CredentialSpec(
env_var="LINEAR_API_KEY",
tools=[
"linear_list_issues",
"linear_get_issue",
"linear_create_issue",
"linear_list_teams",
"linear_list_projects",
"linear_search_issues",
"linear_issue_create",
"linear_issue_get",
"linear_issue_update",
"linear_issue_delete",
"linear_issue_search",
"linear_issue_add_comment",
"linear_project_create",
"linear_project_get",
"linear_project_update",
"linear_project_list",
"linear_teams_list",
"linear_team_get",
"linear_workflow_states_get",
"linear_label_create",
"linear_labels_list",
"linear_users_list",
"linear_user_get",
"linear_viewer",
],
required=True,
startup_required=False,
+12 -6
View File
@@ -12,11 +12,14 @@ TRELLO_CREDENTIALS = {
env_var="TRELLO_API_KEY",
tools=[
"trello_list_boards",
"trello_get_board",
"trello_get_lists",
"trello_get_cards",
"trello_get_member",
"trello_list_lists",
"trello_list_cards",
"trello_create_card",
"trello_move_card",
"trello_update_card",
"trello_add_comment",
"trello_add_attachment",
],
required=True,
startup_required=False,
@@ -39,11 +42,14 @@ TRELLO_CREDENTIALS = {
env_var="TRELLO_TOKEN",
tools=[
"trello_list_boards",
"trello_get_board",
"trello_get_lists",
"trello_get_cards",
"trello_get_member",
"trello_list_lists",
"trello_list_cards",
"trello_create_card",
"trello_move_card",
"trello_update_card",
"trello_add_comment",
"trello_add_attachment",
],
required=True,
startup_required=False,
+5
View File
@@ -26,6 +26,11 @@ KNOWN_PHANTOM_TOOLS: set[str] = {"google_search"}
# (meta-tools), not for external API auth. They don't need CredentialSpecs.
CREDENTIAL_STORE_META_MODULES: set[str] = {"account_info_tool"}
# Community-contributed tool variants that are not registered in the central
# __init__.py and therefore don't need CredentialSpecs. The project has its
# own registered equivalents (e.g., powerbi_tool, twitter_tool).
UNREGISTERED_COMMUNITY_MODULES: set[str] = {"power_bi_tool", "x_tool", "s3_tool", "mssql_tool"}
# --- Tool Module Discovery ---
TOOLS_SRC = Path(__file__).resolve().parent.parent.parent / "src" / "aden_tools" / "tools"
@@ -31,6 +31,7 @@ from aden_tools.tools import register_all_tools
from .conftest import (
CREDENTIAL_STORE_META_MODULES,
UNREGISTERED_COMMUNITY_MODULES,
CREDENTIAL_TOOL_MODULE_IDS,
CREDENTIAL_TOOL_MODULES,
KNOWN_PHANTOM_TOOLS,
@@ -297,6 +298,8 @@ class TestCredentialCoverage:
"""
if short_name in CREDENTIAL_STORE_META_MODULES:
pytest.skip(f"'{short_name}' is a credential-store meta-module")
if short_name in UNREGISTERED_COMMUNITY_MODULES:
pytest.skip(f"'{short_name}' is an unregistered community module")
tools_in_module = MODULE_TO_TOOLS.get(short_name, [])
for tool_name in tools_in_module:
assert tool_name in all_spec_tools, (