@shuffleio/shuffle-mcps 0.0.69-staging-635a6b5 → 0.0.69-staging-797bc99

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.
package/dist/index.js CHANGED
@@ -5355,6 +5355,777 @@ var import_framer_motion2 = require("framer-motion");
5355
5355
 
5356
5356
  // ../Shuffle-Core/components/AppFallbackIcon.tsx
5357
5357
  var import_react7 = require("react");
5358
+
5359
+ // ../Shuffle-Core/components/oauth/oauthVendors.ts
5360
+ var OAUTH_VENDOR_REGISTRY = [
5361
+ {
5362
+ id: "chatgpt",
5363
+ name: "ChatGPT",
5364
+ vendorName: "OpenAI",
5365
+ imageId: "OpenAI",
5366
+ logoUrl: "https://www.google.com/s2/favicons?domain=chatgpt.com&sz=128",
5367
+ iconBg: "#10A37F",
5368
+ iconColor: "#FFFFFF",
5369
+ description: "OpenAI ChatGPT custom assistant & MCP integration",
5370
+ officialDomains: ["chatgpt.com", "openai.com", "chat.openai.com", "platform.openai.com"],
5371
+ officialSchemes: ["chatgpt", "openai"],
5372
+ claimKeywords: ["chatgpt", "openai", "gpt-4", "gpt4"],
5373
+ cloudOnly: true
5374
+ },
5375
+ {
5376
+ id: "claude_code",
5377
+ name: "Claude Code",
5378
+ vendorName: "Anthropic",
5379
+ imageId: "Claude",
5380
+ logoUrl: "https://www.google.com/s2/favicons?domain=claude.ai&sz=128",
5381
+ iconBg: "#D97706",
5382
+ iconColor: "#FFFFFF",
5383
+ description: "Anthropic Claude Code CLI & desktop agent runner",
5384
+ officialDomains: ["claude.ai", "anthropic.com", "console.anthropic.com"],
5385
+ officialSchemes: ["claude-code", "claude"],
5386
+ claimKeywords: ["claude-code", "claude code", "claudecode"],
5387
+ cloudOnly: false
5388
+ },
5389
+ {
5390
+ id: "claude",
5391
+ name: "Claude",
5392
+ vendorName: "Anthropic",
5393
+ imageId: "Claude",
5394
+ logoUrl: "https://www.google.com/s2/favicons?domain=claude.ai&sz=128",
5395
+ iconBg: "#D97706",
5396
+ iconColor: "#FFFFFF",
5397
+ description: "Anthropic Claude assistant & MCP integration",
5398
+ officialDomains: ["claude.ai", "anthropic.com", "console.anthropic.com"],
5399
+ officialSchemes: ["claude", "anthropic"],
5400
+ claimKeywords: ["claude", "anthropic"],
5401
+ cloudOnly: false
5402
+ },
5403
+ {
5404
+ id: "gemini",
5405
+ name: "Google Gemini",
5406
+ vendorName: "Google",
5407
+ imageId: "Google Gemini",
5408
+ logoUrl: "https://www.google.com/s2/favicons?domain=gemini.google.com&sz=128",
5409
+ iconBg: "#1A73E8",
5410
+ iconColor: "#FFFFFF",
5411
+ description: "Google Gemini assistant, AI Studio & Vertex AI integration",
5412
+ officialDomains: [
5413
+ "gemini.google.com",
5414
+ "aistudio.google.com",
5415
+ "makersuite.google.com",
5416
+ "vertexai.google.com",
5417
+ "console.cloud.google.com",
5418
+ "developers.google.com"
5419
+ ],
5420
+ officialSchemes: ["gemini", "google-gemini"],
5421
+ claimKeywords: ["gemini", "vertexai", "vertex ai", "aistudio", "makersuite", "google ai"],
5422
+ cloudOnly: true
5423
+ },
5424
+ {
5425
+ id: "cursor",
5426
+ name: "Cursor",
5427
+ vendorName: "Anysphere",
5428
+ imageId: "Cursor",
5429
+ logoUrl: "https://www.google.com/s2/favicons?domain=cursor.com&sz=128",
5430
+ iconBg: "#000000",
5431
+ iconColor: "#FFFFFF",
5432
+ description: "Cursor AI IDE & MCP tool runner",
5433
+ officialDomains: ["cursor.com", "cursor.sh"],
5434
+ officialSchemes: ["cursor", "anysphere"],
5435
+ claimKeywords: ["cursor", "anysphere"],
5436
+ cloudOnly: false
5437
+ },
5438
+ {
5439
+ id: "vscode",
5440
+ name: "Visual Studio Code",
5441
+ vendorName: "Microsoft",
5442
+ imageId: "Visual Studio Code",
5443
+ logoUrl: "https://www.google.com/s2/favicons?domain=code.visualstudio.com&sz=128",
5444
+ iconBg: "#007ACC",
5445
+ iconColor: "#FFFFFF",
5446
+ description: "Visual Studio Code IDE & MCP extension host",
5447
+ officialDomains: ["vscode.dev", "insiders.vscode.dev", "code.visualstudio.com", "vscode-auth.github.com"],
5448
+ officialSchemes: ["vscode", "vscode-insiders", "code-oss"],
5449
+ claimKeywords: ["visual studio code", "vscode", "vs code"],
5450
+ cloudOnly: false
5451
+ },
5452
+ {
5453
+ id: "copilot",
5454
+ name: "GitHub Copilot",
5455
+ vendorName: "GitHub",
5456
+ imageId: "GitHub",
5457
+ logoUrl: "https://www.google.com/s2/favicons?domain=github.com&sz=128",
5458
+ iconBg: "#24292F",
5459
+ iconColor: "#FFFFFF",
5460
+ description: "GitHub Copilot Workspace & agent integration",
5461
+ officialDomains: ["github.com", "githubcopilot.com", "api.githubcopilot.com"],
5462
+ officialSchemes: ["github-copilot", "github"],
5463
+ claimKeywords: ["github copilot", "copilot", "github"],
5464
+ cloudOnly: false
5465
+ },
5466
+ {
5467
+ id: "microsoft_copilot",
5468
+ name: "Microsoft Copilot",
5469
+ vendorName: "Microsoft",
5470
+ imageId: "Microsoft",
5471
+ logoUrl: "https://www.google.com/s2/favicons?domain=copilot.microsoft.com&sz=128",
5472
+ iconBg: "#0078D4",
5473
+ iconColor: "#FFFFFF",
5474
+ description: "Microsoft Copilot Studio & M365 agent connector",
5475
+ officialDomains: [
5476
+ "copilot.microsoft.com",
5477
+ "copilotstudio.microsoft.com",
5478
+ "powerplatform.com",
5479
+ "azure.com",
5480
+ "office.com"
5481
+ ],
5482
+ officialSchemes: ["ms-copilot", "msteams"],
5483
+ claimKeywords: ["microsoft copilot", "copilot studio", "m365 copilot", "power platform"],
5484
+ cloudOnly: true
5485
+ },
5486
+ {
5487
+ id: "windsurf",
5488
+ name: "Windsurf",
5489
+ vendorName: "Codeium",
5490
+ imageId: "Windsurf",
5491
+ logoUrl: "https://www.google.com/s2/favicons?domain=windsurf.com&sz=128",
5492
+ iconBg: "#09B6A2",
5493
+ iconColor: "#FFFFFF",
5494
+ description: "Windsurf AI IDE & Codeium MCP runner",
5495
+ officialDomains: ["windsurf.com", "windsurf.ai", "codeium.com"],
5496
+ officialSchemes: ["windsurf", "codeium"],
5497
+ claimKeywords: ["windsurf", "codeium"],
5498
+ cloudOnly: false
5499
+ },
5500
+ {
5501
+ id: "raycast",
5502
+ name: "Raycast",
5503
+ vendorName: "Raycast",
5504
+ imageId: "Raycast",
5505
+ logoUrl: "https://www.google.com/s2/favicons?domain=raycast.com&sz=128",
5506
+ iconBg: "#FF6363",
5507
+ iconColor: "#FFFFFF",
5508
+ description: "Raycast launcher & AI MCP extension",
5509
+ officialDomains: ["raycast.com"],
5510
+ officialSchemes: ["raycast"],
5511
+ claimKeywords: ["raycast"],
5512
+ cloudOnly: false
5513
+ },
5514
+ {
5515
+ id: "cline",
5516
+ name: "Cline",
5517
+ vendorName: "Cline",
5518
+ imageId: "Cline",
5519
+ logoUrl: "https://www.google.com/s2/favicons?domain=cline.bot&sz=128",
5520
+ iconBg: "#3B82F6",
5521
+ iconColor: "#FFFFFF",
5522
+ description: "Cline autonomous coding agent & MCP client",
5523
+ officialDomains: ["cline.bot"],
5524
+ officialSchemes: ["cline"],
5525
+ claimKeywords: ["cline", "claude-dev", "saoudrizwan.claude-dev"],
5526
+ cloudOnly: false
5527
+ },
5528
+ {
5529
+ id: "roocode",
5530
+ name: "Roo Code",
5531
+ vendorName: "Roo Code",
5532
+ imageId: "Roo Code",
5533
+ logoUrl: "https://www.google.com/s2/favicons?domain=roocode.com&sz=128",
5534
+ iconBg: "#6366F1",
5535
+ iconColor: "#FFFFFF",
5536
+ description: "Roo Code autonomous coding agent & MCP client",
5537
+ officialDomains: ["roocode.com"],
5538
+ officialSchemes: ["roocode", "roo-cline"],
5539
+ claimKeywords: ["roo code", "roocode", "roo-cline", "rooveterinaryinc"],
5540
+ cloudOnly: false
5541
+ },
5542
+ {
5543
+ id: "continue",
5544
+ name: "Continue",
5545
+ vendorName: "Continue.dev",
5546
+ imageId: "Continue",
5547
+ logoUrl: "https://www.google.com/s2/favicons?domain=continue.dev&sz=128",
5548
+ iconBg: "#1E293B",
5549
+ iconColor: "#FFFFFF",
5550
+ description: "Continue open-source AI code assistant",
5551
+ officialDomains: ["continue.dev", "hub.continue.dev"],
5552
+ officialSchemes: ["continue"],
5553
+ claimKeywords: ["continue.dev", "continue-dev"],
5554
+ cloudOnly: false
5555
+ },
5556
+ {
5557
+ id: "zed",
5558
+ name: "Zed",
5559
+ vendorName: "Zed Industries",
5560
+ imageId: "Zed",
5561
+ logoUrl: "https://www.google.com/s2/favicons?domain=zed.dev&sz=128",
5562
+ iconBg: "#084CCF",
5563
+ iconColor: "#FFFFFF",
5564
+ description: "Zed Editor assistant & MCP context server client",
5565
+ officialDomains: ["zed.dev"],
5566
+ officialSchemes: ["zed"],
5567
+ claimKeywords: ["zed", "zed.dev", "zed editor"],
5568
+ cloudOnly: false
5569
+ },
5570
+ {
5571
+ id: "goose",
5572
+ name: "Goose",
5573
+ vendorName: "Block",
5574
+ imageId: "Goose",
5575
+ logoUrl: "https://www.google.com/s2/favicons?domain=block.github.io&sz=128",
5576
+ iconBg: "#111827",
5577
+ iconColor: "#FFFFFF",
5578
+ description: "Block Goose open-source AI developer agent",
5579
+ officialDomains: ["block.github.io", "sqprod.co"],
5580
+ officialSchemes: ["goose"],
5581
+ claimKeywords: ["goose", "block-goose", "codename-goose"],
5582
+ cloudOnly: false
5583
+ },
5584
+ {
5585
+ id: "perplexity",
5586
+ name: "Perplexity",
5587
+ vendorName: "Perplexity AI",
5588
+ imageId: "Perplexity",
5589
+ logoUrl: "https://www.google.com/s2/favicons?domain=perplexity.ai&sz=128",
5590
+ iconBg: "#20808D",
5591
+ iconColor: "#FFFFFF",
5592
+ description: "Perplexity AI answer engine & MCP connector",
5593
+ officialDomains: ["perplexity.ai", "labs.perplexity.ai"],
5594
+ officialSchemes: ["perplexity"],
5595
+ claimKeywords: ["perplexity"],
5596
+ cloudOnly: true
5597
+ },
5598
+ {
5599
+ id: "mistral",
5600
+ name: "Mistral Le Chat",
5601
+ vendorName: "Mistral AI",
5602
+ imageId: "Mistral",
5603
+ logoUrl: "https://www.google.com/s2/favicons?domain=mistral.ai&sz=128",
5604
+ iconBg: "#FA520F",
5605
+ iconColor: "#FFFFFF",
5606
+ description: "Mistral AI Le Chat assistant & tool connector",
5607
+ officialDomains: ["mistral.ai", "chat.mistral.ai", "console.mistral.ai"],
5608
+ officialSchemes: ["mistral", "lechat"],
5609
+ claimKeywords: ["mistral", "le chat", "lechat"],
5610
+ cloudOnly: true
5611
+ },
5612
+ {
5613
+ id: "grok",
5614
+ name: "Grok",
5615
+ vendorName: "xAI",
5616
+ imageId: "Grok",
5617
+ logoUrl: "https://www.google.com/s2/favicons?domain=grok.com&sz=128",
5618
+ iconBg: "#0F172A",
5619
+ iconColor: "#FFFFFF",
5620
+ description: "xAI Grok assistant & MCP integration",
5621
+ officialDomains: ["grok.com", "x.ai", "console.x.ai"],
5622
+ officialSchemes: ["grok", "xai"],
5623
+ claimKeywords: ["grok", "x.ai", "xai"],
5624
+ cloudOnly: true
5625
+ },
5626
+ {
5627
+ id: "deepseek",
5628
+ name: "DeepSeek",
5629
+ vendorName: "DeepSeek",
5630
+ imageId: "DeepSeek",
5631
+ logoUrl: "https://www.google.com/s2/favicons?domain=deepseek.com&sz=128",
5632
+ iconBg: "#4D6BFE",
5633
+ iconColor: "#FFFFFF",
5634
+ description: "DeepSeek AI assistant & tool integration",
5635
+ officialDomains: ["deepseek.com", "chat.deepseek.com", "platform.deepseek.com"],
5636
+ officialSchemes: ["deepseek"],
5637
+ claimKeywords: ["deepseek"],
5638
+ cloudOnly: true
5639
+ },
5640
+ {
5641
+ id: "lovable",
5642
+ name: "Lovable",
5643
+ vendorName: "Lovable",
5644
+ imageId: "Lovable",
5645
+ logoUrl: "https://www.google.com/s2/favicons?domain=lovable.dev&sz=128",
5646
+ iconBg: "#EC4899",
5647
+ iconColor: "#FFFFFF",
5648
+ description: "Lovable full-stack AI app builder & MCP connector",
5649
+ officialDomains: ["lovable.dev", "lovable.app", "gptengineer.app"],
5650
+ officialSchemes: ["lovable"],
5651
+ claimKeywords: ["lovable", "gptengineer"],
5652
+ cloudOnly: true
5653
+ },
5654
+ {
5655
+ id: "bolt",
5656
+ name: "Bolt.new",
5657
+ vendorName: "StackBlitz",
5658
+ imageId: "StackBlitz",
5659
+ logoUrl: "https://www.google.com/s2/favicons?domain=bolt.new&sz=128",
5660
+ iconBg: "#1389FD",
5661
+ iconColor: "#FFFFFF",
5662
+ description: "StackBlitz Bolt.new AI web development agent",
5663
+ officialDomains: ["bolt.new", "stackblitz.com"],
5664
+ officialSchemes: ["bolt", "stackblitz"],
5665
+ claimKeywords: ["bolt.new", "stackblitz"],
5666
+ cloudOnly: true
5667
+ },
5668
+ {
5669
+ id: "v0",
5670
+ name: "Vercel v0",
5671
+ vendorName: "Vercel",
5672
+ imageId: "Vercel",
5673
+ logoUrl: "https://www.google.com/s2/favicons?domain=v0.dev&sz=128",
5674
+ iconBg: "#000000",
5675
+ iconColor: "#FFFFFF",
5676
+ description: "Vercel v0 generative UI & MCP integration",
5677
+ officialDomains: ["v0.dev", "vercel.com", "vercel.app"],
5678
+ officialSchemes: ["v0", "vercel"],
5679
+ claimKeywords: ["v0.dev", "vercel v0"],
5680
+ cloudOnly: true
5681
+ },
5682
+ {
5683
+ id: "replit",
5684
+ name: "Replit Agent",
5685
+ vendorName: "Replit",
5686
+ imageId: "Replit",
5687
+ logoUrl: "https://www.google.com/s2/favicons?domain=replit.com&sz=128",
5688
+ iconBg: "#F26207",
5689
+ iconColor: "#FFFFFF",
5690
+ description: "Replit AI Agent & cloud IDE connector",
5691
+ officialDomains: ["replit.com", "repl.co"],
5692
+ officialSchemes: ["replit"],
5693
+ claimKeywords: ["replit"],
5694
+ cloudOnly: true
5695
+ },
5696
+ {
5697
+ id: "devin",
5698
+ name: "Devin",
5699
+ vendorName: "Cognition",
5700
+ imageId: "Devin",
5701
+ logoUrl: "https://www.google.com/s2/favicons?domain=devin.ai&sz=128",
5702
+ iconBg: "#14B8A6",
5703
+ iconColor: "#FFFFFF",
5704
+ description: "Cognition Devin autonomous software engineer",
5705
+ officialDomains: ["devin.ai", "cognition.ai", "preview.devin.ai"],
5706
+ officialSchemes: ["devin"],
5707
+ claimKeywords: ["devin", "cognition.ai"],
5708
+ cloudOnly: true
5709
+ },
5710
+ {
5711
+ id: "amazon_q",
5712
+ name: "Amazon Q",
5713
+ vendorName: "AWS",
5714
+ imageId: "AWS",
5715
+ logoUrl: "https://www.google.com/s2/favicons?domain=aws.amazon.com&sz=128",
5716
+ iconBg: "#FF9900",
5717
+ iconColor: "#FFFFFF",
5718
+ description: "AWS Amazon Q Developer & Bedrock agent",
5719
+ officialDomains: ["aws.amazon.com", " amazonaws.com", "awsapps.com"],
5720
+ officialSchemes: ["amazon-q", "kiro", "aws"],
5721
+ claimKeywords: ["amazon q", "amazon-q", "codewhisperer", "kiro", "bedrock"],
5722
+ cloudOnly: false
5723
+ },
5724
+ {
5725
+ id: "jetbrains",
5726
+ name: "JetBrains AI",
5727
+ vendorName: "JetBrains",
5728
+ imageId: "JetBrains",
5729
+ logoUrl: "https://www.google.com/s2/favicons?domain=jetbrains.com&sz=128",
5730
+ iconBg: "#000000",
5731
+ iconColor: "#FFFFFF",
5732
+ description: "JetBrains AI Assistant & Junie IDE agent",
5733
+ officialDomains: ["jetbrains.com", "jetbrains.ai"],
5734
+ officialSchemes: ["jetbrains", "intellij", "pycharm", "webstorm", "goland"],
5735
+ claimKeywords: ["jetbrains", "intellij", "pycharm", "webstorm", "goland", "junie"],
5736
+ cloudOnly: false
5737
+ },
5738
+ {
5739
+ id: "sourcegraph",
5740
+ name: "Sourcegraph Amp / Cody",
5741
+ vendorName: "Sourcegraph",
5742
+ imageId: "Sourcegraph",
5743
+ logoUrl: "https://www.google.com/s2/favicons?domain=sourcegraph.com&sz=128",
5744
+ iconBg: "#FF5543",
5745
+ iconColor: "#FFFFFF",
5746
+ description: "Sourcegraph Cody & Amp coding agent",
5747
+ officialDomains: ["sourcegraph.com", "ampcode.com"],
5748
+ officialSchemes: ["sourcegraph", "cody", "amp"],
5749
+ claimKeywords: ["sourcegraph", "cody", "ampcode"],
5750
+ cloudOnly: false
5751
+ },
5752
+ {
5753
+ id: "warp",
5754
+ name: "Warp",
5755
+ vendorName: "Warp",
5756
+ imageId: "Warp",
5757
+ logoUrl: "https://www.google.com/s2/favicons?domain=warp.dev&sz=128",
5758
+ iconBg: "#01A4FF",
5759
+ iconColor: "#FFFFFF",
5760
+ description: "Warp intelligent terminal & agent mode",
5761
+ officialDomains: ["warp.dev", "app.warp.dev"],
5762
+ officialSchemes: ["warp"],
5763
+ claimKeywords: ["warp", "warp.dev", "warp terminal"],
5764
+ cloudOnly: false
5765
+ },
5766
+ {
5767
+ id: "librechat",
5768
+ name: "LibreChat",
5769
+ vendorName: "LibreChat",
5770
+ imageId: "LibreChat",
5771
+ logoUrl: "https://www.google.com/s2/favicons?domain=librechat.ai&sz=128",
5772
+ iconBg: "#4F46E5",
5773
+ iconColor: "#FFFFFF",
5774
+ description: "LibreChat open-source AI chat & MCP platform",
5775
+ officialDomains: ["librechat.ai"],
5776
+ officialSchemes: ["librechat"],
5777
+ claimKeywords: ["librechat"],
5778
+ cloudOnly: false
5779
+ },
5780
+ {
5781
+ id: "open_webui",
5782
+ name: "Open WebUI",
5783
+ vendorName: "Open WebUI",
5784
+ imageId: "Open WebUI",
5785
+ logoUrl: "https://www.google.com/s2/favicons?domain=openwebui.com&sz=128",
5786
+ iconBg: "#1F2937",
5787
+ iconColor: "#FFFFFF",
5788
+ description: "Open WebUI self-hosted AI interface",
5789
+ officialDomains: ["openwebui.com"],
5790
+ officialSchemes: ["open-webui", "openwebui"],
5791
+ claimKeywords: ["open-webui", "open webui", "openwebui"],
5792
+ cloudOnly: false
5793
+ },
5794
+ {
5795
+ id: "anythingllm",
5796
+ name: "AnythingLLM",
5797
+ vendorName: "Mintplex Labs",
5798
+ imageId: "AnythingLLM",
5799
+ logoUrl: "https://www.google.com/s2/favicons?domain=anythingllm.com&sz=128",
5800
+ iconBg: "#2563EB",
5801
+ iconColor: "#FFFFFF",
5802
+ description: "AnythingLLM desktop & server MCP workspace",
5803
+ officialDomains: ["anythingllm.com", "useanything.com"],
5804
+ officialSchemes: ["anythingllm"],
5805
+ claimKeywords: ["anythingllm", "anything-llm"],
5806
+ cloudOnly: false
5807
+ },
5808
+ {
5809
+ id: "cherry_studio",
5810
+ name: "Cherry Studio",
5811
+ vendorName: "Cherry Studio",
5812
+ imageId: "Cherry Studio",
5813
+ logoUrl: "https://www.google.com/s2/favicons?domain=cherry-ai.com&sz=128",
5814
+ iconBg: "#E11D48",
5815
+ iconColor: "#FFFFFF",
5816
+ description: "Cherry Studio desktop multi-model & MCP client",
5817
+ officialDomains: ["cherry-ai.com", "cherrystudio.ai"],
5818
+ officialSchemes: ["cherrystudio", "cherry-studio"],
5819
+ claimKeywords: ["cherry studio", "cherrystudio", "cherry-studio"],
5820
+ cloudOnly: false
5821
+ },
5822
+ {
5823
+ id: "lmstudio",
5824
+ name: "LM Studio",
5825
+ vendorName: "LM Studio",
5826
+ imageId: "LM Studio",
5827
+ logoUrl: "https://www.google.com/s2/favicons?domain=lmstudio.ai&sz=128",
5828
+ iconBg: "#4338CA",
5829
+ iconColor: "#FFFFFF",
5830
+ description: "LM Studio local LLM runner & MCP host",
5831
+ officialDomains: ["lmstudio.ai"],
5832
+ officialSchemes: ["lmstudio", "lm-studio"],
5833
+ claimKeywords: ["lm studio", "lmstudio", "lm-studio"],
5834
+ cloudOnly: false
5835
+ },
5836
+ {
5837
+ id: "ollama",
5838
+ name: "Ollama",
5839
+ vendorName: "Ollama",
5840
+ imageId: "Ollama",
5841
+ logoUrl: "https://www.google.com/s2/favicons?domain=ollama.com&sz=128",
5842
+ iconBg: "#111827",
5843
+ iconColor: "#FFFFFF",
5844
+ description: "Ollama local model runner & tool client",
5845
+ officialDomains: ["ollama.com", "ollama.ai"],
5846
+ officialSchemes: ["ollama"],
5847
+ claimKeywords: ["ollama"],
5848
+ cloudOnly: false
5849
+ },
5850
+ {
5851
+ id: "jan",
5852
+ name: "Jan",
5853
+ vendorName: "Jan.ai",
5854
+ imageId: "Jan",
5855
+ logoUrl: "https://www.google.com/s2/favicons?domain=jan.ai&sz=128",
5856
+ iconBg: "#312E81",
5857
+ iconColor: "#FFFFFF",
5858
+ description: "Jan open-source desktop AI & MCP client",
5859
+ officialDomains: ["jan.ai"],
5860
+ officialSchemes: ["jan"],
5861
+ claimKeywords: ["jan.ai", "jan-ai"],
5862
+ cloudOnly: false
5863
+ },
5864
+ {
5865
+ id: "msty",
5866
+ name: "Msty",
5867
+ vendorName: "Msty",
5868
+ imageId: "Msty",
5869
+ logoUrl: "https://www.google.com/s2/favicons?domain=msty.app&sz=128",
5870
+ iconBg: "#6D28D9",
5871
+ iconColor: "#FFFFFF",
5872
+ description: "Msty local & online AI model studio",
5873
+ officialDomains: ["msty.app"],
5874
+ officialSchemes: ["msty"],
5875
+ claimKeywords: ["msty", "msty.app"],
5876
+ cloudOnly: false
5877
+ },
5878
+ {
5879
+ id: "highlight",
5880
+ name: "Highlight AI",
5881
+ vendorName: "Highlight",
5882
+ imageId: "Highlight AI",
5883
+ logoUrl: "https://www.google.com/s2/favicons?domain=highlightai.com&sz=128",
5884
+ iconBg: "#7C3AED",
5885
+ iconColor: "#FFFFFF",
5886
+ description: "Highlight desktop AI assistant & MCP client",
5887
+ officialDomains: ["highlightai.com", "highlight.ing"],
5888
+ officialSchemes: ["highlight"],
5889
+ claimKeywords: ["highlight ai", "highlightai", "highlight.ing"],
5890
+ cloudOnly: false
5891
+ },
5892
+ {
5893
+ id: "dust",
5894
+ name: "Dust",
5895
+ vendorName: "Dust.tt",
5896
+ imageId: "Dust",
5897
+ logoUrl: "https://www.google.com/s2/favicons?domain=dust.tt&sz=128",
5898
+ iconBg: "#0EA5E9",
5899
+ iconColor: "#FFFFFF",
5900
+ description: "Dust enterprise AI agent platform & MCP client",
5901
+ officialDomains: ["dust.tt"],
5902
+ officialSchemes: ["dust"],
5903
+ claimKeywords: ["dust.tt", "dust"],
5904
+ cloudOnly: true
5905
+ },
5906
+ {
5907
+ id: "glean",
5908
+ name: "Glean",
5909
+ vendorName: "Glean",
5910
+ imageId: "Glean",
5911
+ logoUrl: "https://www.google.com/s2/favicons?domain=glean.com&sz=128",
5912
+ iconBg: "#3B82F6",
5913
+ iconColor: "#FFFFFF",
5914
+ description: "Glean enterprise work AI & agent connector",
5915
+ officialDomains: ["glean.com", "app.glean.com"],
5916
+ officialSchemes: ["glean"],
5917
+ claimKeywords: ["glean"],
5918
+ cloudOnly: true
5919
+ },
5920
+ {
5921
+ id: "cohere",
5922
+ name: "Cohere Coral",
5923
+ vendorName: "Cohere",
5924
+ imageId: "Cohere",
5925
+ logoUrl: "https://www.google.com/s2/favicons?domain=cohere.com&sz=128",
5926
+ iconBg: "#39594D",
5927
+ iconColor: "#FFFFFF",
5928
+ description: "Cohere Coral enterprise assistant & tool runner",
5929
+ officialDomains: ["cohere.com", "coral.cohere.com", "dashboard.cohere.com"],
5930
+ officialSchemes: ["cohere"],
5931
+ claimKeywords: ["cohere"],
5932
+ cloudOnly: true
5933
+ },
5934
+ {
5935
+ id: "huggingface",
5936
+ name: "HuggingChat",
5937
+ vendorName: "Hugging Face",
5938
+ imageId: "Hugging Face",
5939
+ logoUrl: "https://www.google.com/s2/favicons?domain=huggingface.co&sz=128",
5940
+ iconBg: "#F59E0B",
5941
+ iconColor: "#FFFFFF",
5942
+ description: "Hugging Face Chat & Spaces MCP integration",
5943
+ officialDomains: ["huggingface.co", "hf.co", "hf.space"],
5944
+ officialSchemes: ["huggingface"],
5945
+ claimKeywords: ["huggingface", "hugging face", "huggingchat", "smolagents"],
5946
+ cloudOnly: false
5947
+ },
5948
+ {
5949
+ id: "langchain",
5950
+ name: "LangChain / LangGraph",
5951
+ vendorName: "LangChain",
5952
+ imageId: "LangChain",
5953
+ logoUrl: "https://www.google.com/s2/favicons?domain=langchain.com&sz=128",
5954
+ iconBg: "#1C3C3C",
5955
+ iconColor: "#FFFFFF",
5956
+ description: "LangChain, LangGraph & LangSmith agent runtime",
5957
+ officialDomains: ["langchain.com", "smith.langchain.com"],
5958
+ officialSchemes: ["langchain", "langsmith"],
5959
+ claimKeywords: ["langchain", "langgraph", "langsmith"],
5960
+ cloudOnly: false
5961
+ },
5962
+ {
5963
+ id: "n8n",
5964
+ name: "n8n",
5965
+ vendorName: "n8n",
5966
+ imageId: "n8n",
5967
+ logoUrl: "https://www.google.com/s2/favicons?domain=n8n.io&sz=128",
5968
+ iconBg: "#EA4B71",
5969
+ iconColor: "#FFFFFF",
5970
+ description: "n8n workflow automation & MCP AI agent node",
5971
+ officialDomains: ["n8n.io", "n8n.cloud"],
5972
+ officialSchemes: ["n8n"],
5973
+ claimKeywords: ["n8n"],
5974
+ cloudOnly: false
5975
+ },
5976
+ {
5977
+ id: "zapier",
5978
+ name: "Zapier",
5979
+ vendorName: "Zapier",
5980
+ imageId: "Zapier",
5981
+ logoUrl: "https://www.google.com/s2/favicons?domain=zapier.com&sz=128",
5982
+ iconBg: "#FF4F00",
5983
+ iconColor: "#FFFFFF",
5984
+ description: "Zapier Central & MCP action integration",
5985
+ officialDomains: ["zapier.com", "mcp.zapier.com"],
5986
+ officialSchemes: ["zapier"],
5987
+ claimKeywords: ["zapier"],
5988
+ cloudOnly: true
5989
+ },
5990
+ {
5991
+ id: "make",
5992
+ name: "Make",
5993
+ vendorName: "Make",
5994
+ imageId: "Make",
5995
+ logoUrl: "https://www.google.com/s2/favicons?domain=make.com&sz=128",
5996
+ iconBg: "#6D00CC",
5997
+ iconColor: "#FFFFFF",
5998
+ description: "Make scenario automation & MCP connector",
5999
+ officialDomains: ["make.com", "integromat.com"],
6000
+ officialSchemes: ["make"],
6001
+ claimKeywords: ["make.com", "integromat"],
6002
+ cloudOnly: true
6003
+ },
6004
+ {
6005
+ id: "postman",
6006
+ name: "Postman",
6007
+ vendorName: "Postman",
6008
+ imageId: "Postman",
6009
+ logoUrl: "https://www.google.com/s2/favicons?domain=postman.com&sz=128",
6010
+ iconBg: "#FF6C37",
6011
+ iconColor: "#FFFFFF",
6012
+ description: "Postman API & MCP client inspector",
6013
+ officialDomains: ["postman.com", "getpostman.com", "oauth.pstmn.io"],
6014
+ officialSchemes: ["postman"],
6015
+ claimKeywords: ["postman", "pstmn"],
6016
+ cloudOnly: false
6017
+ },
6018
+ {
6019
+ id: "insomnia",
6020
+ name: "Insomnia",
6021
+ vendorName: "Kong",
6022
+ imageId: "Insomnia",
6023
+ logoUrl: "https://www.google.com/s2/favicons?domain=insomnia.rest&sz=128",
6024
+ iconBg: "#4000BF",
6025
+ iconColor: "#FFFFFF",
6026
+ description: "Insomnia REST & MCP client",
6027
+ officialDomains: ["insomnia.rest"],
6028
+ officialSchemes: ["insomnia"],
6029
+ claimKeywords: ["insomnia"],
6030
+ cloudOnly: false
6031
+ },
6032
+ {
6033
+ id: "mcp_inspector",
6034
+ name: "MCP Inspector",
6035
+ vendorName: "Model Context Protocol",
6036
+ imageId: "Model Context Protocol",
6037
+ logoUrl: "https://www.google.com/s2/favicons?domain=modelcontextprotocol.io&sz=128",
6038
+ iconBg: "#0F172A",
6039
+ iconColor: "#FFFFFF",
6040
+ description: "Official Model Context Protocol Inspector & SDK debugger",
6041
+ officialDomains: ["modelcontextprotocol.io"],
6042
+ officialSchemes: ["mcp-inspector", "mcp"],
6043
+ claimKeywords: ["mcp-inspector", "mcp inspector", "modelcontextprotocol"],
6044
+ cloudOnly: false
6045
+ },
6046
+ {
6047
+ id: "slack",
6048
+ name: "Slack",
6049
+ vendorName: "Salesforce / Slack",
6050
+ imageId: "Slack",
6051
+ logoUrl: "https://www.google.com/s2/favicons?domain=slack.com&sz=128",
6052
+ iconBg: "#4A154B",
6053
+ iconColor: "#FFFFFF",
6054
+ description: "Slack assistant & workspace agent connector",
6055
+ officialDomains: ["slack.com"],
6056
+ officialSchemes: ["slack"],
6057
+ claimKeywords: ["slack"],
6058
+ cloudOnly: true
6059
+ },
6060
+ {
6061
+ id: "notion",
6062
+ name: "Notion AI",
6063
+ vendorName: "Notion",
6064
+ imageId: "Notion",
6065
+ logoUrl: "https://www.google.com/s2/favicons?domain=notion.so&sz=128",
6066
+ iconBg: "#000000",
6067
+ iconColor: "#FFFFFF",
6068
+ description: "Notion AI workspace & MCP integration",
6069
+ officialDomains: ["notion.so", "notion.com"],
6070
+ officialSchemes: ["notion"],
6071
+ claimKeywords: ["notion"],
6072
+ cloudOnly: true
6073
+ },
6074
+ {
6075
+ id: "linear",
6076
+ name: "Linear",
6077
+ vendorName: "Linear",
6078
+ imageId: "Linear",
6079
+ logoUrl: "https://www.google.com/s2/favicons?domain=linear.app&sz=128",
6080
+ iconBg: "#5E6AD2",
6081
+ iconColor: "#FFFFFF",
6082
+ description: "Linear agent & issue automation connector",
6083
+ officialDomains: ["linear.app"],
6084
+ officialSchemes: ["linear"],
6085
+ claimKeywords: ["linear.app", "linear"],
6086
+ cloudOnly: true
6087
+ },
6088
+ {
6089
+ id: "shuffle_agent",
6090
+ name: "Shuffle Agent",
6091
+ vendorName: "Shuffle",
6092
+ imageId: "Shuffle",
6093
+ logoUrl: "https://shuffler.io/images/logos/orange_logo.png",
6094
+ iconBg: "#f85f38",
6095
+ iconColor: "#FFFFFF",
6096
+ description: "Shuffle Agent runner requesting access to execute tools and actions on your behalf.",
6097
+ officialDomains: ["shuffler.io", "shuffle.security"],
6098
+ officialSchemes: ["shuffle"],
6099
+ claimKeywords: ["shuffle agent", "shuffle_agent", "shuffler"],
6100
+ cloudOnly: false
6101
+ }
6102
+ ];
6103
+ var normKey = (s) => (s || "").trim().toLowerCase().replace(/[\s_\-]+/g, "_");
6104
+ var findOAuthVendorSpec = (query) => {
6105
+ if (!query) return null;
6106
+ const qNorm = normKey(query);
6107
+ const qLower = query.trim().toLowerCase();
6108
+ if (!qNorm) return null;
6109
+ for (const spec of OAUTH_VENDOR_REGISTRY) {
6110
+ if (normKey(spec.id) === qNorm || normKey(spec.name) === qNorm || normKey(spec.imageId) === qNorm || normKey(spec.vendorName) === qNorm) {
6111
+ return spec;
6112
+ }
6113
+ }
6114
+ for (const spec of OAUTH_VENDOR_REGISTRY) {
6115
+ for (const kw of spec.claimKeywords) {
6116
+ if (qLower.includes(kw.toLowerCase())) {
6117
+ return spec;
6118
+ }
6119
+ }
6120
+ }
6121
+ return null;
6122
+ };
6123
+ var getOAuthVendorLogo = (nameOrId) => {
6124
+ const spec = findOAuthVendorSpec(nameOrId);
6125
+ return spec?.logoUrl || "";
6126
+ };
6127
+
6128
+ // ../Shuffle-Core/components/AppFallbackIcon.tsx
5358
6129
  var import_jsx_runtime9 = require("react/jsx-runtime");
5359
6130
  var norm = (s) => s.toLowerCase().replace(/[\s_\-]+/g, "_");
5360
6131
  var STORAGE_KEY2 = "shuffle:app-icon-cache:v1";
@@ -5393,6 +6164,7 @@ var lookupImageByName = (name) => {
5393
6164
  const builtInImg = getBuiltInAppImage(key) || getBuiltInAppImage(name);
5394
6165
  if (builtInImg) return Promise.resolve(builtInImg);
5395
6166
  }
6167
+ const vendorLogo = getOAuthVendorLogo(name);
5396
6168
  const hit = lookupCache.get(key);
5397
6169
  if (hit) return hit;
5398
6170
  const persisted = readPersistedFresh(key);
@@ -5410,11 +6182,11 @@ var lookupImageByName = (name) => {
5410
6182
  });
5411
6183
  const hits = res?.results?.[0]?.hits || [];
5412
6184
  const match = hits.find((h) => h.name && norm(h.name) === key) || hits[0];
5413
- const url = match?.image_url || "";
6185
+ const url = match?.image_url || vendorLogo || "";
5414
6186
  if (url) writePersisted(key, url);
5415
6187
  return url;
5416
6188
  } catch {
5417
- return "";
6189
+ return vendorLogo || "";
5418
6190
  }
5419
6191
  })();
5420
6192
  lookupCache.set(key, promise);
@@ -5428,7 +6200,7 @@ var resolveInitialSrc = (imageUrl, name) => {
5428
6200
  const builtInImg = getBuiltInAppImage(key) || getBuiltInAppImage(name || "");
5429
6201
  if (builtInImg) return builtInImg;
5430
6202
  }
5431
- return readPersistedFresh(key) || "";
6203
+ return readPersistedFresh(key) || getOAuthVendorLogo(name) || "";
5432
6204
  };
5433
6205
  var colorFromName = (name) => {
5434
6206
  let h = 0;