mindroom 0.0.0__py3-none-any.whl → 0.1.1__py3-none-any.whl
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- mindroom/__init__.py +3 -0
- mindroom/agent_prompts.py +963 -0
- mindroom/agents.py +248 -0
- mindroom/ai.py +421 -0
- mindroom/api/__init__.py +1 -0
- mindroom/api/credentials.py +137 -0
- mindroom/api/google_integration.py +355 -0
- mindroom/api/google_tools_helper.py +40 -0
- mindroom/api/homeassistant_integration.py +421 -0
- mindroom/api/integrations.py +189 -0
- mindroom/api/main.py +506 -0
- mindroom/api/matrix_operations.py +219 -0
- mindroom/api/tools.py +94 -0
- mindroom/background_tasks.py +87 -0
- mindroom/bot.py +2470 -0
- mindroom/cli.py +86 -0
- mindroom/commands.py +377 -0
- mindroom/config.py +343 -0
- mindroom/config_commands.py +324 -0
- mindroom/config_confirmation.py +411 -0
- mindroom/constants.py +52 -0
- mindroom/credentials.py +146 -0
- mindroom/credentials_sync.py +134 -0
- mindroom/custom_tools/__init__.py +8 -0
- mindroom/custom_tools/config_manager.py +765 -0
- mindroom/custom_tools/gmail.py +92 -0
- mindroom/custom_tools/google_calendar.py +92 -0
- mindroom/custom_tools/google_sheets.py +92 -0
- mindroom/custom_tools/homeassistant.py +341 -0
- mindroom/error_handling.py +35 -0
- mindroom/file_watcher.py +49 -0
- mindroom/interactive.py +313 -0
- mindroom/logging_config.py +207 -0
- mindroom/matrix/__init__.py +1 -0
- mindroom/matrix/client.py +782 -0
- mindroom/matrix/event_info.py +173 -0
- mindroom/matrix/identity.py +149 -0
- mindroom/matrix/large_messages.py +267 -0
- mindroom/matrix/mentions.py +141 -0
- mindroom/matrix/message_builder.py +94 -0
- mindroom/matrix/message_content.py +209 -0
- mindroom/matrix/presence.py +178 -0
- mindroom/matrix/rooms.py +311 -0
- mindroom/matrix/state.py +77 -0
- mindroom/matrix/typing.py +91 -0
- mindroom/matrix/users.py +217 -0
- mindroom/memory/__init__.py +21 -0
- mindroom/memory/config.py +137 -0
- mindroom/memory/functions.py +396 -0
- mindroom/py.typed +0 -0
- mindroom/response_tracker.py +128 -0
- mindroom/room_cleanup.py +139 -0
- mindroom/routing.py +107 -0
- mindroom/scheduling.py +758 -0
- mindroom/stop.py +207 -0
- mindroom/streaming.py +203 -0
- mindroom/teams.py +749 -0
- mindroom/thread_utils.py +318 -0
- mindroom/tools/__init__.py +520 -0
- mindroom/tools/agentql.py +64 -0
- mindroom/tools/airflow.py +57 -0
- mindroom/tools/apify.py +49 -0
- mindroom/tools/arxiv.py +64 -0
- mindroom/tools/aws_lambda.py +41 -0
- mindroom/tools/aws_ses.py +57 -0
- mindroom/tools/baidusearch.py +87 -0
- mindroom/tools/brightdata.py +116 -0
- mindroom/tools/browserbase.py +62 -0
- mindroom/tools/cal_com.py +98 -0
- mindroom/tools/calculator.py +112 -0
- mindroom/tools/cartesia.py +84 -0
- mindroom/tools/composio.py +166 -0
- mindroom/tools/config_manager.py +44 -0
- mindroom/tools/confluence.py +73 -0
- mindroom/tools/crawl4ai.py +101 -0
- mindroom/tools/csv.py +104 -0
- mindroom/tools/custom_api.py +106 -0
- mindroom/tools/dalle.py +85 -0
- mindroom/tools/daytona.py +180 -0
- mindroom/tools/discord.py +81 -0
- mindroom/tools/docker.py +73 -0
- mindroom/tools/duckdb.py +124 -0
- mindroom/tools/duckduckgo.py +99 -0
- mindroom/tools/e2b.py +121 -0
- mindroom/tools/eleven_labs.py +77 -0
- mindroom/tools/email.py +74 -0
- mindroom/tools/exa.py +246 -0
- mindroom/tools/fal.py +50 -0
- mindroom/tools/file.py +80 -0
- mindroom/tools/financial_datasets_api.py +112 -0
- mindroom/tools/firecrawl.py +124 -0
- mindroom/tools/gemini.py +85 -0
- mindroom/tools/giphy.py +49 -0
- mindroom/tools/github.py +376 -0
- mindroom/tools/gmail.py +102 -0
- mindroom/tools/google_calendar.py +55 -0
- mindroom/tools/google_maps.py +112 -0
- mindroom/tools/google_sheets.py +86 -0
- mindroom/tools/googlesearch.py +83 -0
- mindroom/tools/groq.py +77 -0
- mindroom/tools/hackernews.py +54 -0
- mindroom/tools/jina.py +108 -0
- mindroom/tools/jira.py +70 -0
- mindroom/tools/linear.py +103 -0
- mindroom/tools/linkup.py +65 -0
- mindroom/tools/lumalabs.py +71 -0
- mindroom/tools/mem0.py +82 -0
- mindroom/tools/modelslabs.py +85 -0
- mindroom/tools/moviepy_video_tools.py +62 -0
- mindroom/tools/newspaper4k.py +63 -0
- mindroom/tools/openai.py +143 -0
- mindroom/tools/openweather.py +89 -0
- mindroom/tools/oxylabs.py +54 -0
- mindroom/tools/pandas.py +35 -0
- mindroom/tools/pubmed.py +64 -0
- mindroom/tools/python.py +120 -0
- mindroom/tools/reddit.py +155 -0
- mindroom/tools/replicate.py +56 -0
- mindroom/tools/resend.py +55 -0
- mindroom/tools/scrapegraph.py +87 -0
- mindroom/tools/searxng.py +120 -0
- mindroom/tools/serpapi.py +55 -0
- mindroom/tools/serper.py +81 -0
- mindroom/tools/shell.py +46 -0
- mindroom/tools/slack.py +80 -0
- mindroom/tools/sleep.py +38 -0
- mindroom/tools/spider.py +62 -0
- mindroom/tools/sql.py +138 -0
- mindroom/tools/tavily.py +104 -0
- mindroom/tools/telegram.py +54 -0
- mindroom/tools/todoist.py +103 -0
- mindroom/tools/trello.py +121 -0
- mindroom/tools/twilio.py +97 -0
- mindroom/tools/web_browser_tools.py +37 -0
- mindroom/tools/webex.py +63 -0
- mindroom/tools/website.py +45 -0
- mindroom/tools/whatsapp.py +81 -0
- mindroom/tools/wikipedia.py +45 -0
- mindroom/tools/x.py +97 -0
- mindroom/tools/yfinance.py +121 -0
- mindroom/tools/youtube.py +81 -0
- mindroom/tools/zendesk.py +62 -0
- mindroom/tools/zep.py +107 -0
- mindroom/tools/zoom.py +62 -0
- mindroom/tools_metadata.json +7643 -0
- mindroom/tools_metadata.py +220 -0
- mindroom/topic_generator.py +153 -0
- mindroom/voice_handler.py +266 -0
- mindroom-0.1.1.dist-info/METADATA +425 -0
- mindroom-0.1.1.dist-info/RECORD +152 -0
- {mindroom-0.0.0.dist-info → mindroom-0.1.1.dist-info}/WHEEL +1 -2
- mindroom-0.1.1.dist-info/entry_points.txt +2 -0
- mindroom-0.0.0.dist-info/METADATA +0 -24
- mindroom-0.0.0.dist-info/RECORD +0 -4
- mindroom-0.0.0.dist-info/top_level.txt +0 -1
|
@@ -0,0 +1,121 @@
|
|
|
1
|
+
"""Yahoo Finance tool configuration."""
|
|
2
|
+
|
|
3
|
+
from __future__ import annotations
|
|
4
|
+
|
|
5
|
+
from typing import TYPE_CHECKING
|
|
6
|
+
|
|
7
|
+
from mindroom.tools_metadata import (
|
|
8
|
+
ConfigField,
|
|
9
|
+
SetupType,
|
|
10
|
+
ToolCategory,
|
|
11
|
+
ToolStatus,
|
|
12
|
+
register_tool_with_metadata,
|
|
13
|
+
)
|
|
14
|
+
|
|
15
|
+
if TYPE_CHECKING:
|
|
16
|
+
from agno.tools.yfinance import YFinanceTools
|
|
17
|
+
|
|
18
|
+
|
|
19
|
+
@register_tool_with_metadata(
|
|
20
|
+
name="yfinance",
|
|
21
|
+
display_name="Yahoo Finance",
|
|
22
|
+
description="Get financial data and stock information from Yahoo Finance",
|
|
23
|
+
category=ToolCategory.PRODUCTIVITY,
|
|
24
|
+
status=ToolStatus.AVAILABLE,
|
|
25
|
+
setup_type=SetupType.NONE,
|
|
26
|
+
icon="FaChartLine",
|
|
27
|
+
icon_color="text-purple-600",
|
|
28
|
+
config_fields=[
|
|
29
|
+
# Basic stock data
|
|
30
|
+
ConfigField(
|
|
31
|
+
name="stock_price",
|
|
32
|
+
label="Stock Price",
|
|
33
|
+
type="boolean",
|
|
34
|
+
required=False,
|
|
35
|
+
default=True,
|
|
36
|
+
description="Enable getting current stock prices",
|
|
37
|
+
),
|
|
38
|
+
ConfigField(
|
|
39
|
+
name="company_info",
|
|
40
|
+
label="Company Info",
|
|
41
|
+
type="boolean",
|
|
42
|
+
required=False,
|
|
43
|
+
default=False,
|
|
44
|
+
description="Enable getting company information and overview",
|
|
45
|
+
),
|
|
46
|
+
ConfigField(
|
|
47
|
+
name="stock_fundamentals",
|
|
48
|
+
label="Stock Fundamentals",
|
|
49
|
+
type="boolean",
|
|
50
|
+
required=False,
|
|
51
|
+
default=False,
|
|
52
|
+
description="Enable getting fundamental data for stocks",
|
|
53
|
+
),
|
|
54
|
+
ConfigField(
|
|
55
|
+
name="historical_prices",
|
|
56
|
+
label="Historical Prices",
|
|
57
|
+
type="boolean",
|
|
58
|
+
required=False,
|
|
59
|
+
default=False,
|
|
60
|
+
description="Enable getting historical stock prices",
|
|
61
|
+
),
|
|
62
|
+
# Financial statements and analysis
|
|
63
|
+
ConfigField(
|
|
64
|
+
name="income_statements",
|
|
65
|
+
label="Income Statements",
|
|
66
|
+
type="boolean",
|
|
67
|
+
required=False,
|
|
68
|
+
default=False,
|
|
69
|
+
description="Enable getting income statements",
|
|
70
|
+
),
|
|
71
|
+
ConfigField(
|
|
72
|
+
name="key_financial_ratios",
|
|
73
|
+
label="Key Financial Ratios",
|
|
74
|
+
type="boolean",
|
|
75
|
+
required=False,
|
|
76
|
+
default=False,
|
|
77
|
+
description="Enable getting key financial ratios",
|
|
78
|
+
),
|
|
79
|
+
# Market data and recommendations
|
|
80
|
+
ConfigField(
|
|
81
|
+
name="analyst_recommendations",
|
|
82
|
+
label="Analyst Recommendations",
|
|
83
|
+
type="boolean",
|
|
84
|
+
required=False,
|
|
85
|
+
default=False,
|
|
86
|
+
description="Enable getting analyst recommendations",
|
|
87
|
+
),
|
|
88
|
+
ConfigField(
|
|
89
|
+
name="company_news",
|
|
90
|
+
label="Company News",
|
|
91
|
+
type="boolean",
|
|
92
|
+
required=False,
|
|
93
|
+
default=False,
|
|
94
|
+
description="Enable getting company news and press releases",
|
|
95
|
+
),
|
|
96
|
+
ConfigField(
|
|
97
|
+
name="technical_indicators",
|
|
98
|
+
label="Technical Indicators",
|
|
99
|
+
type="boolean",
|
|
100
|
+
required=False,
|
|
101
|
+
default=False,
|
|
102
|
+
description="Enable getting technical indicators",
|
|
103
|
+
),
|
|
104
|
+
# Enable all features
|
|
105
|
+
ConfigField(
|
|
106
|
+
name="enable_all",
|
|
107
|
+
label="Enable All",
|
|
108
|
+
type="boolean",
|
|
109
|
+
required=False,
|
|
110
|
+
default=False,
|
|
111
|
+
description="Enable all available Yahoo Finance tools",
|
|
112
|
+
),
|
|
113
|
+
],
|
|
114
|
+
dependencies=["yfinance"],
|
|
115
|
+
docs_url="https://docs.agno.com/tools/toolkits/others/yfinance",
|
|
116
|
+
)
|
|
117
|
+
def yfinance_tools() -> type[YFinanceTools]:
|
|
118
|
+
"""Return Yahoo Finance tools for financial data."""
|
|
119
|
+
from agno.tools.yfinance import YFinanceTools
|
|
120
|
+
|
|
121
|
+
return YFinanceTools
|
|
@@ -0,0 +1,81 @@
|
|
|
1
|
+
"""YouTube tool configuration."""
|
|
2
|
+
|
|
3
|
+
from __future__ import annotations
|
|
4
|
+
|
|
5
|
+
from typing import TYPE_CHECKING
|
|
6
|
+
|
|
7
|
+
from mindroom.tools_metadata import (
|
|
8
|
+
ConfigField,
|
|
9
|
+
SetupType,
|
|
10
|
+
ToolCategory,
|
|
11
|
+
ToolStatus,
|
|
12
|
+
register_tool_with_metadata,
|
|
13
|
+
)
|
|
14
|
+
|
|
15
|
+
if TYPE_CHECKING:
|
|
16
|
+
from agno.tools.youtube import YouTubeTools
|
|
17
|
+
|
|
18
|
+
|
|
19
|
+
@register_tool_with_metadata(
|
|
20
|
+
name="youtube",
|
|
21
|
+
display_name="YouTube",
|
|
22
|
+
description="Extract video data, captions, and timestamps from YouTube videos",
|
|
23
|
+
category=ToolCategory.ENTERTAINMENT,
|
|
24
|
+
status=ToolStatus.AVAILABLE,
|
|
25
|
+
setup_type=SetupType.NONE,
|
|
26
|
+
icon="FaYoutube",
|
|
27
|
+
icon_color="text-red-600",
|
|
28
|
+
config_fields=[
|
|
29
|
+
# Feature toggles - main functionality
|
|
30
|
+
ConfigField(
|
|
31
|
+
name="get_video_captions",
|
|
32
|
+
label="Get Video Captions",
|
|
33
|
+
type="boolean",
|
|
34
|
+
required=False,
|
|
35
|
+
default=True,
|
|
36
|
+
description="Enable extracting captions/transcripts from YouTube videos",
|
|
37
|
+
),
|
|
38
|
+
ConfigField(
|
|
39
|
+
name="get_video_data",
|
|
40
|
+
label="Get Video Data",
|
|
41
|
+
type="boolean",
|
|
42
|
+
required=False,
|
|
43
|
+
default=True,
|
|
44
|
+
description="Enable extracting video metadata (title, author, thumbnail, etc.)",
|
|
45
|
+
),
|
|
46
|
+
ConfigField(
|
|
47
|
+
name="get_video_timestamps",
|
|
48
|
+
label="Get Video Timestamps",
|
|
49
|
+
type="boolean",
|
|
50
|
+
required=False,
|
|
51
|
+
default=True,
|
|
52
|
+
description="Enable generating timestamped transcripts from video captions",
|
|
53
|
+
),
|
|
54
|
+
# Configuration options
|
|
55
|
+
ConfigField(
|
|
56
|
+
name="languages",
|
|
57
|
+
label="Languages",
|
|
58
|
+
type="text",
|
|
59
|
+
required=False,
|
|
60
|
+
default=None,
|
|
61
|
+
placeholder="en,es,fr",
|
|
62
|
+
description="Comma-separated list of preferred language codes for captions (e.g., 'en,es,fr'). If not specified, defaults to English.",
|
|
63
|
+
),
|
|
64
|
+
ConfigField(
|
|
65
|
+
name="proxies",
|
|
66
|
+
label="Proxies",
|
|
67
|
+
type="text",
|
|
68
|
+
required=False,
|
|
69
|
+
default=None,
|
|
70
|
+
placeholder='{"http": "http://proxy:8080"}',
|
|
71
|
+
description="JSON string of proxy configuration for network requests (e.g., for bypassing geo-restrictions)",
|
|
72
|
+
),
|
|
73
|
+
],
|
|
74
|
+
dependencies=["youtube_transcript_api"],
|
|
75
|
+
docs_url="https://docs.agno.com/tools/toolkits/entertainment/youtube",
|
|
76
|
+
)
|
|
77
|
+
def youtube_tools() -> type[YouTubeTools]:
|
|
78
|
+
"""Return YouTube tools for video data extraction."""
|
|
79
|
+
from agno.tools.youtube import YouTubeTools
|
|
80
|
+
|
|
81
|
+
return YouTubeTools
|
|
@@ -0,0 +1,62 @@
|
|
|
1
|
+
"""Zendesk tool configuration."""
|
|
2
|
+
|
|
3
|
+
from __future__ import annotations
|
|
4
|
+
|
|
5
|
+
from typing import TYPE_CHECKING
|
|
6
|
+
|
|
7
|
+
from mindroom.tools_metadata import (
|
|
8
|
+
ConfigField,
|
|
9
|
+
SetupType,
|
|
10
|
+
ToolCategory,
|
|
11
|
+
ToolStatus,
|
|
12
|
+
register_tool_with_metadata,
|
|
13
|
+
)
|
|
14
|
+
|
|
15
|
+
if TYPE_CHECKING:
|
|
16
|
+
from agno.tools.zendesk import ZendeskTools
|
|
17
|
+
|
|
18
|
+
|
|
19
|
+
@register_tool_with_metadata(
|
|
20
|
+
name="zendesk",
|
|
21
|
+
display_name="Zendesk",
|
|
22
|
+
description="Customer support platform for searching help center articles",
|
|
23
|
+
category=ToolCategory.DEVELOPMENT, # From others/ category
|
|
24
|
+
status=ToolStatus.REQUIRES_CONFIG, # Requires username, password, company_name
|
|
25
|
+
setup_type=SetupType.API_KEY, # Uses username/password authentication
|
|
26
|
+
icon="HelpCircle", # React icon for help/support
|
|
27
|
+
icon_color="text-green-600", # Zendesk brand green
|
|
28
|
+
config_fields=[
|
|
29
|
+
# Authentication parameters
|
|
30
|
+
ConfigField(
|
|
31
|
+
name="username",
|
|
32
|
+
label="Username",
|
|
33
|
+
type="text",
|
|
34
|
+
required=False,
|
|
35
|
+
placeholder="john.doe@company.com",
|
|
36
|
+
description="The username used for authentication or identification purposes (can also be set via ZENDESK_USERNAME env var)",
|
|
37
|
+
),
|
|
38
|
+
ConfigField(
|
|
39
|
+
name="password",
|
|
40
|
+
label="Password",
|
|
41
|
+
type="password",
|
|
42
|
+
required=False,
|
|
43
|
+
placeholder="•••••••••",
|
|
44
|
+
description="The password associated with the username for authentication purposes (can also be set via ZENDESK_PW env var)",
|
|
45
|
+
),
|
|
46
|
+
ConfigField(
|
|
47
|
+
name="company_name",
|
|
48
|
+
label="Company Name",
|
|
49
|
+
type="text",
|
|
50
|
+
required=False,
|
|
51
|
+
placeholder="mycompany",
|
|
52
|
+
description="The name of the company related to the user or the data being accessed (can also be set via ZENDESK_COMPANY_NAME env var)",
|
|
53
|
+
),
|
|
54
|
+
],
|
|
55
|
+
dependencies=["requests"],
|
|
56
|
+
docs_url="https://docs.agno.com/tools/toolkits/others/zendesk",
|
|
57
|
+
)
|
|
58
|
+
def zendesk_tools() -> type[ZendeskTools]:
|
|
59
|
+
"""Return Zendesk tools for searching help center articles."""
|
|
60
|
+
from agno.tools.zendesk import ZendeskTools
|
|
61
|
+
|
|
62
|
+
return ZendeskTools
|
mindroom/tools/zep.py
ADDED
|
@@ -0,0 +1,107 @@
|
|
|
1
|
+
"""Zep memory system tool configuration."""
|
|
2
|
+
|
|
3
|
+
from __future__ import annotations
|
|
4
|
+
|
|
5
|
+
from typing import TYPE_CHECKING
|
|
6
|
+
|
|
7
|
+
from mindroom.tools_metadata import ConfigField, SetupType, ToolCategory, ToolStatus, register_tool_with_metadata
|
|
8
|
+
|
|
9
|
+
if TYPE_CHECKING:
|
|
10
|
+
from agno.tools.zep import ZepTools
|
|
11
|
+
|
|
12
|
+
|
|
13
|
+
@register_tool_with_metadata(
|
|
14
|
+
name="zep",
|
|
15
|
+
display_name="Zep Memory",
|
|
16
|
+
description="Memory system for storing, retrieving, and searching conversational data",
|
|
17
|
+
category=ToolCategory.PRODUCTIVITY,
|
|
18
|
+
status=ToolStatus.REQUIRES_CONFIG,
|
|
19
|
+
setup_type=SetupType.API_KEY,
|
|
20
|
+
icon="Brain",
|
|
21
|
+
icon_color="text-purple-600",
|
|
22
|
+
config_fields=[
|
|
23
|
+
# Authentication
|
|
24
|
+
ConfigField(
|
|
25
|
+
name="api_key",
|
|
26
|
+
label="API Key",
|
|
27
|
+
type="password",
|
|
28
|
+
required=False,
|
|
29
|
+
placeholder="your_zep_api_key",
|
|
30
|
+
description="Zep API key for authentication (can also be set via ZEP_API_KEY env var)",
|
|
31
|
+
),
|
|
32
|
+
# Session and user configuration
|
|
33
|
+
ConfigField(
|
|
34
|
+
name="session_id",
|
|
35
|
+
label="Session ID",
|
|
36
|
+
type="text",
|
|
37
|
+
required=False,
|
|
38
|
+
placeholder="agno-session",
|
|
39
|
+
description="Optional session ID. Auto-generated if not provided",
|
|
40
|
+
),
|
|
41
|
+
ConfigField(
|
|
42
|
+
name="user_id",
|
|
43
|
+
label="User ID",
|
|
44
|
+
type="text",
|
|
45
|
+
required=False,
|
|
46
|
+
placeholder="user-123",
|
|
47
|
+
description="Optional user ID. Auto-generated if not provided",
|
|
48
|
+
),
|
|
49
|
+
ConfigField(
|
|
50
|
+
name="instructions",
|
|
51
|
+
label="Custom Instructions",
|
|
52
|
+
type="text",
|
|
53
|
+
required=False,
|
|
54
|
+
placeholder="Custom instructions for using the Zep tools",
|
|
55
|
+
description="Custom instructions for using the Zep tools",
|
|
56
|
+
),
|
|
57
|
+
# Feature toggles
|
|
58
|
+
ConfigField(
|
|
59
|
+
name="ignore_assistant_messages",
|
|
60
|
+
label="Ignore Assistant Messages",
|
|
61
|
+
type="boolean",
|
|
62
|
+
required=False,
|
|
63
|
+
default=False,
|
|
64
|
+
description="Whether to ignore assistant messages when adding to memory",
|
|
65
|
+
),
|
|
66
|
+
ConfigField(
|
|
67
|
+
name="add_instructions",
|
|
68
|
+
label="Add Instructions",
|
|
69
|
+
type="boolean",
|
|
70
|
+
required=False,
|
|
71
|
+
default=False,
|
|
72
|
+
description="Whether to add default instructions",
|
|
73
|
+
),
|
|
74
|
+
# Memory operations
|
|
75
|
+
ConfigField(
|
|
76
|
+
name="add_zep_message",
|
|
77
|
+
label="Add Zep Message",
|
|
78
|
+
type="boolean",
|
|
79
|
+
required=False,
|
|
80
|
+
default=True,
|
|
81
|
+
description="Enable adding messages to the current Zep session memory",
|
|
82
|
+
),
|
|
83
|
+
ConfigField(
|
|
84
|
+
name="get_zep_memory",
|
|
85
|
+
label="Get Zep Memory",
|
|
86
|
+
type="boolean",
|
|
87
|
+
required=False,
|
|
88
|
+
default=True,
|
|
89
|
+
description="Enable retrieving memory for the current Zep session",
|
|
90
|
+
),
|
|
91
|
+
ConfigField(
|
|
92
|
+
name="search_zep_memory",
|
|
93
|
+
label="Search Zep Memory",
|
|
94
|
+
type="boolean",
|
|
95
|
+
required=False,
|
|
96
|
+
default=True,
|
|
97
|
+
description="Enable searching the Zep memory store for relevant information",
|
|
98
|
+
),
|
|
99
|
+
],
|
|
100
|
+
dependencies=["zep-cloud"],
|
|
101
|
+
docs_url="https://docs.agno.com/tools/toolkits/database/zep",
|
|
102
|
+
)
|
|
103
|
+
def zep_tools() -> type[ZepTools]:
|
|
104
|
+
"""Return Zep memory tools for storing and retrieving conversational data."""
|
|
105
|
+
from agno.tools.zep import ZepTools
|
|
106
|
+
|
|
107
|
+
return ZepTools
|
mindroom/tools/zoom.py
ADDED
|
@@ -0,0 +1,62 @@
|
|
|
1
|
+
"""Zoom tool configuration."""
|
|
2
|
+
|
|
3
|
+
from __future__ import annotations
|
|
4
|
+
|
|
5
|
+
from typing import TYPE_CHECKING
|
|
6
|
+
|
|
7
|
+
from mindroom.tools_metadata import (
|
|
8
|
+
ConfigField,
|
|
9
|
+
SetupType,
|
|
10
|
+
ToolCategory,
|
|
11
|
+
ToolStatus,
|
|
12
|
+
register_tool_with_metadata,
|
|
13
|
+
)
|
|
14
|
+
|
|
15
|
+
if TYPE_CHECKING:
|
|
16
|
+
from agno.tools.zoom import ZoomTools
|
|
17
|
+
|
|
18
|
+
|
|
19
|
+
@register_tool_with_metadata(
|
|
20
|
+
name="zoom",
|
|
21
|
+
display_name="Zoom",
|
|
22
|
+
description="Video conferencing platform for scheduling and managing meetings",
|
|
23
|
+
category=ToolCategory.SOCIAL,
|
|
24
|
+
status=ToolStatus.REQUIRES_CONFIG,
|
|
25
|
+
setup_type=SetupType.OAUTH,
|
|
26
|
+
icon="FaVideo",
|
|
27
|
+
icon_color="text-blue-500", # Zoom blue
|
|
28
|
+
config_fields=[
|
|
29
|
+
# Authentication parameters
|
|
30
|
+
ConfigField(
|
|
31
|
+
name="account_id",
|
|
32
|
+
label="Account ID",
|
|
33
|
+
type="text",
|
|
34
|
+
required=False,
|
|
35
|
+
placeholder="your_account_id",
|
|
36
|
+
description="Zoom account ID from Server-to-Server OAuth app (can also be set via ZOOM_ACCOUNT_ID env var)",
|
|
37
|
+
),
|
|
38
|
+
ConfigField(
|
|
39
|
+
name="client_id",
|
|
40
|
+
label="Client ID",
|
|
41
|
+
type="text",
|
|
42
|
+
required=False,
|
|
43
|
+
placeholder="your_client_id",
|
|
44
|
+
description="Client ID from Server-to-Server OAuth app (can also be set via ZOOM_CLIENT_ID env var)",
|
|
45
|
+
),
|
|
46
|
+
ConfigField(
|
|
47
|
+
name="client_secret",
|
|
48
|
+
label="Client Secret",
|
|
49
|
+
type="password",
|
|
50
|
+
required=False,
|
|
51
|
+
placeholder="your_client_secret",
|
|
52
|
+
description="Client secret from Server-to-Server OAuth app (can also be set via ZOOM_CLIENT_SECRET env var)",
|
|
53
|
+
),
|
|
54
|
+
],
|
|
55
|
+
dependencies=["requests"],
|
|
56
|
+
docs_url="https://docs.agno.com/tools/toolkits/social/zoom",
|
|
57
|
+
)
|
|
58
|
+
def zoom_tools() -> type[ZoomTools]:
|
|
59
|
+
"""Return Zoom tools for video conferencing and meeting management."""
|
|
60
|
+
from agno.tools.zoom import ZoomTools
|
|
61
|
+
|
|
62
|
+
return ZoomTools
|