From ee6af6c6b649e40cd28b88947d0af5045b55bc34 Mon Sep 17 00:00:00 2001 From: Ton-Chanh Le Date: Mon, 9 Mar 2026 11:29:05 -0400 Subject: [PATCH] feat: add Amazon connector support Add Amazon connector (orders + profile) to the platform registry, icon system, Tauri resource bundling, and connector registry. --- connectors/registry.json | 15 +++++++++++++++ src-tauri/tauri.conf.json | 1 + src/components/icons/platform-amazon.tsx | 12 ++++++++++++ src/lib/platform/icons.ts | 2 ++ src/lib/platform/registry.ts | 11 +++++++++++ 5 files changed, 41 insertions(+) create mode 100644 src/components/icons/platform-amazon.tsx diff --git a/connectors/registry.json b/connectors/registry.json index 4ce5ecc3..f27fbfd6 100644 --- a/connectors/registry.json +++ b/connectors/registry.json @@ -3,6 +3,21 @@ "lastUpdated": "2026-02-10T00:00:00Z", "baseUrl": "https://raw.githubusercontent.com/vana-com/data-connectors/main", "connectors": [ + { + "id": "amazon-playwright", + "company": "amazon", + "version": "1.0.0", + "name": "Amazon", + "description": "Exports your Amazon order history and profile information using Playwright browser automation.", + "files": { + "script": "amazon/amazon-playwright.js", + "metadata": "amazon/amazon-playwright.json" + }, + "checksums": { + "script": "sha256:4a318b3c3884661929d8625ec04fac57b9fcd0d7508b699a8a3c9eba758c8f0a", + "metadata": "sha256:8427eb8dd0a8bd588b3f579923c6294e6897aef9d45f83bc6fd9bdce96499f77" + } + }, { "id": "chatgpt-playwright", "company": "openai", diff --git a/src-tauri/tauri.conf.json b/src-tauri/tauri.conf.json index 32afbc2a..e4cfa737 100644 --- a/src-tauri/tauri.conf.json +++ b/src-tauri/tauri.conf.json @@ -56,6 +56,7 @@ "icons/icon.ico" ], "resources": { + "../connectors/amazon/**/*": "connectors/amazon/", "../connectors/github/**/*": "connectors/github/", "../connectors/linkedin/**/*": "connectors/linkedin/", "../connectors/meta/**/*": "connectors/meta/", diff --git a/src/components/icons/platform-amazon.tsx b/src/components/icons/platform-amazon.tsx new file mode 100644 index 00000000..ea099951 --- /dev/null +++ b/src/components/icons/platform-amazon.tsx @@ -0,0 +1,12 @@ +import { Svg as SvgComponent, type SvgIconProps } from "@/components/utils/svg" + +export const PlatformAmazonIcon = (props: SvgIconProps) => { + return ( + + + + ) +} diff --git a/src/lib/platform/icons.ts b/src/lib/platform/icons.ts index 3ecfc369..45f6eca8 100644 --- a/src/lib/platform/icons.ts +++ b/src/lib/platform/icons.ts @@ -4,6 +4,7 @@ import { PlatformChatGPTIcon } from "@/components/icons/platform-chatgpt" import { PlatformGithubIcon } from "@/components/icons/platform-github" import { PlatformInstagramGlyphIcon } from "@/components/icons/platform-instagram-glyph" import { PlatformLinkedinIcon } from "@/components/icons/platform-linkedin" +import { PlatformAmazonIcon } from "@/components/icons/platform-amazon" import { PlatformShopIcon } from "@/components/icons/platform-shop" import { PlatformSpotifyIcon } from "@/components/icons/platform-spotify" import type { PlatformRegistryEntry } from "./registry" @@ -16,6 +17,7 @@ import { export type PlatformIconComponent = ElementType<{ className?: string }> const PLATFORM_ICON_COMPONENTS: Record = { + amazon: PlatformAmazonIcon, chatgpt: PlatformChatGPTIcon, github: PlatformGithubIcon, instagram: PlatformInstagramGlyphIcon, diff --git a/src/lib/platform/registry.ts b/src/lib/platform/registry.ts index 8e9242fb..8f1a7972 100644 --- a/src/lib/platform/registry.ts +++ b/src/lib/platform/registry.ts @@ -17,6 +17,17 @@ export interface PlatformRegistryEntry { } export const PLATFORM_REGISTRY: PlatformRegistryEntry[] = [ + { + id: "amazon", + displayName: "Amazon", + iconKey: "amazon", + iconEmoji: "📦", + primaryColor: "#FF9900", + platformIds: ["amazon-playwright", "amazon"], + availability: "requiresConnector", + showInConnectList: true, + ingestScope: "amazon.orders", + }, { id: "chatgpt", displayName: "ChatGPT",