mirror of
https://github.com/MODSetter/SurfSense.git
synced 2026-05-29 19:35:20 +02:00
feat: add Dropbox integration support with configuration and connector updates
This commit is contained in:
parent
5e2283b92f
commit
54828522f8
5 changed files with 25 additions and 0 deletions
|
|
@ -209,6 +209,11 @@ STT_SERVICE=local/base
|
||||||
# TEAMS_REDIRECT_URI=http://localhost:8000/api/v1/auth/teams/connector/callback
|
# TEAMS_REDIRECT_URI=http://localhost:8000/api/v1/auth/teams/connector/callback
|
||||||
# ONEDRIVE_REDIRECT_URI=http://localhost:8000/api/v1/auth/onedrive/connector/callback
|
# ONEDRIVE_REDIRECT_URI=http://localhost:8000/api/v1/auth/onedrive/connector/callback
|
||||||
|
|
||||||
|
# -- Dropbox --
|
||||||
|
# DROPBOX_APP_KEY=
|
||||||
|
# DROPBOX_APP_SECRET=
|
||||||
|
# DROPBOX_REDIRECT_URI=http://localhost:8000/api/v1/auth/dropbox/connector/callback
|
||||||
|
|
||||||
# -- Composio --
|
# -- Composio --
|
||||||
# COMPOSIO_API_KEY=
|
# COMPOSIO_API_KEY=
|
||||||
# COMPOSIO_ENABLED=TRUE
|
# COMPOSIO_ENABLED=TRUE
|
||||||
|
|
|
||||||
|
|
@ -101,6 +101,11 @@ MICROSOFT_CLIENT_SECRET=your_microsoft_client_secret_here
|
||||||
TEAMS_REDIRECT_URI=http://localhost:8000/api/v1/auth/teams/connector/callback
|
TEAMS_REDIRECT_URI=http://localhost:8000/api/v1/auth/teams/connector/callback
|
||||||
ONEDRIVE_REDIRECT_URI=http://localhost:8000/api/v1/auth/onedrive/connector/callback
|
ONEDRIVE_REDIRECT_URI=http://localhost:8000/api/v1/auth/onedrive/connector/callback
|
||||||
|
|
||||||
|
# Dropbox Connector
|
||||||
|
DROPBOX_APP_KEY=your_dropbox_app_key_here
|
||||||
|
DROPBOX_APP_SECRET=your_dropbox_app_secret_here
|
||||||
|
DROPBOX_REDIRECT_URI=http://localhost:8000/api/v1/auth/dropbox/connector/callback
|
||||||
|
|
||||||
# Composio Connector
|
# Composio Connector
|
||||||
# NOTE: Disable "Mask Connected Account Secrets" in Composio dashboard (Settings → Project Settings) for Google indexing to work.
|
# NOTE: Disable "Mask Connected Account Secrets" in Composio dashboard (Settings → Project Settings) for Google indexing to work.
|
||||||
COMPOSIO_API_KEY=your_api_key_here
|
COMPOSIO_API_KEY=your_api_key_here
|
||||||
|
|
|
||||||
|
|
@ -84,6 +84,7 @@ _CONNECTOR_TYPE_TO_SEARCHABLE: dict[str, str] = {
|
||||||
"BOOKSTACK_CONNECTOR": "BOOKSTACK_CONNECTOR",
|
"BOOKSTACK_CONNECTOR": "BOOKSTACK_CONNECTOR",
|
||||||
"CIRCLEBACK_CONNECTOR": "CIRCLEBACK", # Connector type differs from document type
|
"CIRCLEBACK_CONNECTOR": "CIRCLEBACK", # Connector type differs from document type
|
||||||
"OBSIDIAN_CONNECTOR": "OBSIDIAN_CONNECTOR",
|
"OBSIDIAN_CONNECTOR": "OBSIDIAN_CONNECTOR",
|
||||||
|
"DROPBOX_CONNECTOR": "DROPBOX_FILE", # Connector type differs from document type
|
||||||
"ONEDRIVE_CONNECTOR": "ONEDRIVE_FILE", # Connector type differs from document type
|
"ONEDRIVE_CONNECTOR": "ONEDRIVE_FILE", # Connector type differs from document type
|
||||||
# Composio connectors (unified to native document types).
|
# Composio connectors (unified to native document types).
|
||||||
# Reverse of NATIVE_TO_LEGACY_DOCTYPE in app.db.
|
# Reverse of NATIVE_TO_LEGACY_DOCTYPE in app.db.
|
||||||
|
|
@ -317,6 +318,12 @@ async def create_surfsense_deep_agent(
|
||||||
]
|
]
|
||||||
modified_disabled_tools.extend(google_drive_tools)
|
modified_disabled_tools.extend(google_drive_tools)
|
||||||
|
|
||||||
|
has_dropbox_connector = (
|
||||||
|
available_connectors is not None and "DROPBOX_FILE" in available_connectors
|
||||||
|
)
|
||||||
|
if not has_dropbox_connector:
|
||||||
|
modified_disabled_tools.extend(["create_dropbox_file", "delete_dropbox_file"])
|
||||||
|
|
||||||
has_onedrive_connector = (
|
has_onedrive_connector = (
|
||||||
available_connectors is not None and "ONEDRIVE_FILE" in available_connectors
|
available_connectors is not None and "ONEDRIVE_FILE" in available_connectors
|
||||||
)
|
)
|
||||||
|
|
|
||||||
|
|
@ -202,6 +202,7 @@ _ALL_CONNECTORS: list[str] = [
|
||||||
"CIRCLEBACK",
|
"CIRCLEBACK",
|
||||||
"OBSIDIAN_CONNECTOR",
|
"OBSIDIAN_CONNECTOR",
|
||||||
"ONEDRIVE_FILE",
|
"ONEDRIVE_FILE",
|
||||||
|
"DROPBOX_FILE",
|
||||||
]
|
]
|
||||||
|
|
||||||
# Human-readable descriptions for each connector type
|
# Human-readable descriptions for each connector type
|
||||||
|
|
@ -232,6 +233,7 @@ CONNECTOR_DESCRIPTIONS: dict[str, str] = {
|
||||||
"CIRCLEBACK": "Circleback meeting notes, transcripts, and action items",
|
"CIRCLEBACK": "Circleback meeting notes, transcripts, and action items",
|
||||||
"OBSIDIAN_CONNECTOR": "Obsidian vault notes and markdown files (personal notes)",
|
"OBSIDIAN_CONNECTOR": "Obsidian vault notes and markdown files (personal notes)",
|
||||||
"ONEDRIVE_FILE": "Microsoft OneDrive files and documents (personal cloud storage)",
|
"ONEDRIVE_FILE": "Microsoft OneDrive files and documents (personal cloud storage)",
|
||||||
|
"DROPBOX_FILE": "Dropbox files and documents (cloud storage)",
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
|
|
@ -360,6 +362,7 @@ _INTERNAL_METADATA_KEYS: frozenset[str] = frozenset(
|
||||||
"calendar_id",
|
"calendar_id",
|
||||||
"google_drive_file_id",
|
"google_drive_file_id",
|
||||||
"onedrive_file_id",
|
"onedrive_file_id",
|
||||||
|
"dropbox_file_id",
|
||||||
"page_id",
|
"page_id",
|
||||||
"issue_id",
|
"issue_id",
|
||||||
"connector_id",
|
"connector_id",
|
||||||
|
|
|
||||||
|
|
@ -292,6 +292,11 @@ class Config:
|
||||||
CLICKUP_CLIENT_SECRET = os.getenv("CLICKUP_CLIENT_SECRET")
|
CLICKUP_CLIENT_SECRET = os.getenv("CLICKUP_CLIENT_SECRET")
|
||||||
CLICKUP_REDIRECT_URI = os.getenv("CLICKUP_REDIRECT_URI")
|
CLICKUP_REDIRECT_URI = os.getenv("CLICKUP_REDIRECT_URI")
|
||||||
|
|
||||||
|
# Dropbox OAuth
|
||||||
|
DROPBOX_APP_KEY = os.getenv("DROPBOX_APP_KEY")
|
||||||
|
DROPBOX_APP_SECRET = os.getenv("DROPBOX_APP_SECRET")
|
||||||
|
DROPBOX_REDIRECT_URI = os.getenv("DROPBOX_REDIRECT_URI")
|
||||||
|
|
||||||
# Composio Configuration (for managed OAuth integrations)
|
# Composio Configuration (for managed OAuth integrations)
|
||||||
# Get your API key from https://app.composio.dev
|
# Get your API key from https://app.composio.dev
|
||||||
COMPOSIO_API_KEY = os.getenv("COMPOSIO_API_KEY")
|
COMPOSIO_API_KEY = os.getenv("COMPOSIO_API_KEY")
|
||||||
|
|
|
||||||
Loading…
Add table
Add a link
Reference in a new issue