Create connector

This commit is contained in:
Skylar Kesselring
2024-11-05 19:28:57 -05:00
parent 5f5cc9a724
commit 7ff18e0a93
12 changed files with 223 additions and 3 deletions

BIN
web/public/Fireflies.png Normal file

Binary file not shown.

After

Width:  |  Height:  |  Size: 10 KiB

View File

@@ -75,9 +75,13 @@ async function handleRequest(request: NextRequest, path: string[]) {
backendUrl.searchParams.append(key, value);
});
// Added this to allow it to run properly on Linux
const headers = new Headers(request.headers);
headers.delete("connection");
const response = await fetch(backendUrl, {
method: request.method,
headers: request.headers,
headers: headers,
body: request.body,
signal: request.signal,
// @ts-ignore

View File

@@ -75,6 +75,7 @@ import s3Icon from "../../../public/S3.png";
import r2Icon from "../../../public/r2.png";
import salesforceIcon from "../../../public/Salesforce.png";
import freshdeskIcon from "../../../public/Freshdesk.png";
import firefliesIcon from "../../../public/Fireflies.png";
import sharepointIcon from "../../../public/Sharepoint.png";
import teamsIcon from "../../../public/Teams.png";
@@ -88,6 +89,7 @@ import voyageIcon from "../../../public/Voyage.png";
import googleIcon from "../../../public/Google.webp";
import xenforoIcon from "../../../public/Xenforo.svg";
import { FaRobot } from "react-icons/fa";
import { size } from "lodash";
export interface IconProps {
size?: number;
@@ -1301,6 +1303,13 @@ export const FreshdeskIcon = ({
<LogoIcon size={size} className={className} src={freshdeskIcon} />
);
export const FirefliesIcon = ({
size = 16,
className = defaultTailwindCSS,
}: IconProps) => (
<LogoIcon size={size} className={className} src={firefliesIcon} />
);
/*
EE Icons
*/

View File

@@ -950,7 +950,11 @@ For example, specifying .*-support.* as a "channel" will cause the connector to
values: [],
advanced_values: [],
},
fireflies: {
description: "Configure Fireflies connector",
values: [],
advanced_values: [],
},
};
export function createConnectorInitialValues(
connector: ConfigurableSources
@@ -1210,6 +1214,7 @@ export interface AsanaConfig {
export interface FreshdeskConfig {}
export interface FirefliesConfig {}
export interface MediaWikiConfig extends MediaWikiBaseConfig {
hostname: string;

View File

@@ -187,6 +187,10 @@ export interface FreshdeskCredentialJson {
freshdesk_api_key: string;
}
export interface FirefliesCredentialJson {
fireflies_api_key: string;
}
export interface MediaWikiCredentialJson {}
export interface WikipediaCredentialJson extends MediaWikiCredentialJson {}
@@ -290,6 +294,9 @@ export const credentialTemplates: Record<ValidSources, any> = {
freshdesk_password: "",
freshdesk_api_key: "",
} as FreshdeskCredentialJson,
fireflies: {
fireflies_api_key: "",
} as FirefliesCredentialJson,
xenforo: null,
google_sites: null,
file: null,
@@ -435,7 +442,11 @@ export const credentialDisplayNames: Record<string, string> = {
freshdesk_domain: "Freshdesk Domain",
freshdesk_password: "Freshdesk Password",
freshdesk_api_key: "Freshdesk API Key",
// Fireflies
fireflies_api_key: "Fireflies API Key",
};
export function getDisplayNameForCredentialKey(key: string): string {
return credentialDisplayNames[key] || key;
}

View File

@@ -37,6 +37,7 @@ import {
ColorSlackIcon,
XenforoIcon,
FreshdeskIcon,
FirefliesIcon,
} from "@/components/icons/icons";
import { ValidSources } from "./types";
import {
@@ -289,6 +290,12 @@ const SOURCE_METADATA_MAP: SourceMap = {
category: SourceCategory.CustomerSupport,
docs: "https://docs.danswer.dev/connectors/freshdesk",
},
fireflies: {
icon: FirefliesIcon,
displayName: "Fireflies",
category: SourceCategory.CustomerSupport,
docs: "https://docs.danswer.dev/connectors/fireflies",
},
// currently used for the Internet Search tool docs, which is why
// a globe is used
not_applicable: {

View File

@@ -265,6 +265,7 @@ const validSources = [
"not_applicable",
"ingestion_api",
"freshdesk",
"fireflies",
] as const;
export type ValidSources = (typeof validSources)[number];