diff --git a/lib/composio/connectors/__tests__/getConnectors.test.ts b/lib/composio/connectors/__tests__/getConnectors.test.ts index 41d54b1d..7ca0bdb1 100644 --- a/lib/composio/connectors/__tests__/getConnectors.test.ts +++ b/lib/composio/connectors/__tests__/getConnectors.test.ts @@ -37,7 +37,20 @@ describe("getConnectors", () => { expect(getComposioClient).toHaveBeenCalled(); expect(mockComposio.create).toHaveBeenCalledWith("account-123", { - toolkits: ["googlesheets", "googledrive", "googledocs", "tiktok"], + toolkits: [ + "googlesheets", + "googledrive", + "googledocs", + "gmail", + "googlecalendar", + "tiktok", + "spotify", + "instagram", + "twitter", + "youtube", + "slack", + "linkedin", + ], }); expect(result).toEqual([ { diff --git a/lib/composio/connectors/__tests__/getConnectorsHandler.test.ts b/lib/composio/connectors/__tests__/getConnectorsHandler.test.ts index d6c3fe31..f5734c16 100644 --- a/lib/composio/connectors/__tests__/getConnectorsHandler.test.ts +++ b/lib/composio/connectors/__tests__/getConnectorsHandler.test.ts @@ -68,10 +68,18 @@ describe("getConnectorsHandler", () => { // API is unopinionated — no allowedToolkits filtering expect(getConnectors).toHaveBeenCalledWith("account-456", { displayNames: { - tiktok: "TikTok", googlesheets: "Google Sheets", googledrive: "Google Drive", googledocs: "Google Docs", + gmail: "Gmail", + googlecalendar: "Google Calendar", + tiktok: "TikTok", + spotify: "Spotify", + instagram: "Instagram", + twitter: "Twitter / X", + youtube: "YouTube", + slack: "Slack", + linkedin: "LinkedIn", }, }); }); diff --git a/lib/composio/connectors/__tests__/isAllowedArtistConnector.test.ts b/lib/composio/connectors/__tests__/isAllowedArtistConnector.test.ts index f0b223b0..218f48c5 100644 --- a/lib/composio/connectors/__tests__/isAllowedArtistConnector.test.ts +++ b/lib/composio/connectors/__tests__/isAllowedArtistConnector.test.ts @@ -2,14 +2,18 @@ import { describe, it, expect } from "vitest"; import { isAllowedArtistConnector, ALLOWED_ARTIST_CONNECTORS } from "../isAllowedArtistConnector"; describe("isAllowedArtistConnector", () => { - it("should return true for 'tiktok'", () => { + it("should return true for allowed artist connectors", () => { expect(isAllowedArtistConnector("tiktok")).toBe(true); + expect(isAllowedArtistConnector("spotify")).toBe(true); + expect(isAllowedArtistConnector("instagram")).toBe(true); + expect(isAllowedArtistConnector("twitter")).toBe(true); + expect(isAllowedArtistConnector("youtube")).toBe(true); }); it("should return false for connectors not in ALLOWED_ARTIST_CONNECTORS", () => { expect(isAllowedArtistConnector("googlesheets")).toBe(false); expect(isAllowedArtistConnector("googledrive")).toBe(false); - expect(isAllowedArtistConnector("instagram")).toBe(false); + expect(isAllowedArtistConnector("slack")).toBe(false); expect(isAllowedArtistConnector("random")).toBe(false); }); @@ -24,8 +28,12 @@ describe("isAllowedArtistConnector", () => { }); describe("ALLOWED_ARTIST_CONNECTORS", () => { - it("should include tiktok", () => { + it("should include all expected artist connectors", () => { expect(ALLOWED_ARTIST_CONNECTORS).toContain("tiktok"); + expect(ALLOWED_ARTIST_CONNECTORS).toContain("spotify"); + expect(ALLOWED_ARTIST_CONNECTORS).toContain("instagram"); + expect(ALLOWED_ARTIST_CONNECTORS).toContain("twitter"); + expect(ALLOWED_ARTIST_CONNECTORS).toContain("youtube"); }); it("should be a readonly array", () => { diff --git a/lib/composio/connectors/getConnectors.ts b/lib/composio/connectors/getConnectors.ts index d89f5211..f4e1016b 100644 --- a/lib/composio/connectors/getConnectors.ts +++ b/lib/composio/connectors/getConnectors.ts @@ -15,7 +15,20 @@ export interface ConnectorInfo { * Passed explicitly to composio.create() because session.toolkits() * only returns the first 20 by default. */ -const SUPPORTED_TOOLKITS = ["googlesheets", "googledrive", "googledocs", "tiktok"]; +const SUPPORTED_TOOLKITS = [ + "googlesheets", + "googledrive", + "googledocs", + "gmail", + "googlecalendar", + "tiktok", + "spotify", + "instagram", + "twitter", + "youtube", + "slack", + "linkedin", +]; /** * Options for getting connectors. diff --git a/lib/composio/connectors/getConnectorsHandler.ts b/lib/composio/connectors/getConnectorsHandler.ts index d92f1293..b5a61bd3 100644 --- a/lib/composio/connectors/getConnectorsHandler.ts +++ b/lib/composio/connectors/getConnectorsHandler.ts @@ -8,10 +8,18 @@ import { getConnectors } from "./getConnectors"; * Display names for connectors. */ const CONNECTOR_DISPLAY_NAMES: Record = { - tiktok: "TikTok", googlesheets: "Google Sheets", googledrive: "Google Drive", googledocs: "Google Docs", + gmail: "Gmail", + googlecalendar: "Google Calendar", + tiktok: "TikTok", + spotify: "Spotify", + instagram: "Instagram", + twitter: "Twitter / X", + youtube: "YouTube", + slack: "Slack", + linkedin: "LinkedIn", }; /** diff --git a/lib/composio/connectors/isAllowedArtistConnector.ts b/lib/composio/connectors/isAllowedArtistConnector.ts index 60201a47..98fa62b0 100644 --- a/lib/composio/connectors/isAllowedArtistConnector.ts +++ b/lib/composio/connectors/isAllowedArtistConnector.ts @@ -2,7 +2,7 @@ * List of toolkit slugs that artists are allowed to connect. * Only these connectors will be shown in the artist-connectors API. */ -export const ALLOWED_ARTIST_CONNECTORS = ["tiktok"] as const; +export const ALLOWED_ARTIST_CONNECTORS = ["tiktok", "spotify", "instagram", "twitter", "youtube"] as const; export type AllowedArtistConnector = (typeof ALLOWED_ARTIST_CONNECTORS)[number];