@hasna/connectors 0.4.2 → 0.5.0
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/bin/index.js +113 -1
- package/bin/mcp.js +113 -1
- package/bin/serve.js +112 -0
- package/connectors/connect-assemblyai/.env.example +11 -0
- package/connectors/connect-assemblyai/CLAUDE.md +128 -0
- package/connectors/connect-assemblyai/README.md +193 -0
- package/connectors/connect-assemblyai/package.json +50 -0
- package/connectors/connect-assemblyai/src/api/client.ts +192 -0
- package/connectors/connect-assemblyai/src/api/index.ts +71 -0
- package/connectors/connect-assemblyai/src/cli/index.ts +384 -0
- package/connectors/connect-assemblyai/src/index.ts +19 -0
- package/connectors/connect-assemblyai/src/types/index.ts +277 -0
- package/connectors/connect-assemblyai/src/utils/config.ts +103 -0
- package/connectors/connect-assemblyai/src/utils/output.ts +119 -0
- package/connectors/connect-assemblyai/tsconfig.json +16 -0
- package/connectors/connect-baseten/.env.example +11 -0
- package/connectors/connect-baseten/CLAUDE.md +128 -0
- package/connectors/connect-baseten/README.md +193 -0
- package/connectors/connect-baseten/package.json +51 -0
- package/connectors/connect-baseten/src/api/client.ts +71 -0
- package/connectors/connect-baseten/src/api/index.ts +40 -0
- package/connectors/connect-baseten/src/cli/index.ts +244 -0
- package/connectors/connect-baseten/src/index.ts +19 -0
- package/connectors/connect-baseten/src/types/index.ts +55 -0
- package/connectors/connect-baseten/src/utils/config.ts +103 -0
- package/connectors/connect-baseten/src/utils/output.ts +119 -0
- package/connectors/connect-baseten/tsconfig.json +16 -0
- package/connectors/connect-cerebras/.env.example +11 -0
- package/connectors/connect-cerebras/CLAUDE.md +128 -0
- package/connectors/connect-cerebras/README.md +193 -0
- package/connectors/connect-cerebras/package.json +51 -0
- package/connectors/connect-cerebras/src/api/client.ts +64 -0
- package/connectors/connect-cerebras/src/api/index.ts +32 -0
- package/connectors/connect-cerebras/src/cli/index.ts +244 -0
- package/connectors/connect-cerebras/src/index.ts +19 -0
- package/connectors/connect-cerebras/src/types/index.ts +65 -0
- package/connectors/connect-cerebras/src/utils/config.ts +103 -0
- package/connectors/connect-cerebras/src/utils/output.ts +119 -0
- package/connectors/connect-cerebras/tsconfig.json +16 -0
- package/connectors/connect-cohere/.env.example +11 -0
- package/connectors/connect-cohere/CLAUDE.md +128 -0
- package/connectors/connect-cohere/README.md +193 -0
- package/connectors/connect-cohere/package.json +53 -0
- package/connectors/connect-cohere/src/api/client.ts +109 -0
- package/connectors/connect-cohere/src/api/index.ts +59 -0
- package/connectors/connect-cohere/src/cli/index.ts +255 -0
- package/connectors/connect-cohere/src/index.ts +19 -0
- package/connectors/connect-cohere/src/types/index.ts +132 -0
- package/connectors/connect-cohere/src/utils/config.ts +197 -0
- package/connectors/connect-cohere/src/utils/output.ts +119 -0
- package/connectors/connect-cohere/tsconfig.json +16 -0
- package/connectors/connect-deepgram/.env.example +11 -0
- package/connectors/connect-deepgram/CLAUDE.md +128 -0
- package/connectors/connect-deepgram/README.md +193 -0
- package/connectors/connect-deepgram/package.json +51 -0
- package/connectors/connect-deepgram/src/api/client.ts +235 -0
- package/connectors/connect-deepgram/src/api/index.ts +57 -0
- package/connectors/connect-deepgram/src/cli/index.ts +339 -0
- package/connectors/connect-deepgram/src/index.ts +19 -0
- package/connectors/connect-deepgram/src/types/index.ts +232 -0
- package/connectors/connect-deepgram/src/utils/config.ts +103 -0
- package/connectors/connect-deepgram/src/utils/output.ts +119 -0
- package/connectors/connect-deepgram/tsconfig.json +16 -0
- package/connectors/connect-deepseek/.env.example +11 -0
- package/connectors/connect-deepseek/CLAUDE.md +128 -0
- package/connectors/connect-deepseek/README.md +193 -0
- package/connectors/connect-deepseek/package.json +51 -0
- package/connectors/connect-deepseek/src/api/client.ts +108 -0
- package/connectors/connect-deepseek/src/api/index.ts +36 -0
- package/connectors/connect-deepseek/src/cli/index.ts +167 -0
- package/connectors/connect-deepseek/src/index.ts +19 -0
- package/connectors/connect-deepseek/src/types/index.ts +72 -0
- package/connectors/connect-deepseek/src/utils/config.ts +103 -0
- package/connectors/connect-deepseek/src/utils/output.ts +119 -0
- package/connectors/connect-deepseek/tsconfig.json +16 -0
- package/connectors/connect-fal/.env.example +11 -0
- package/connectors/connect-fal/CLAUDE.md +128 -0
- package/connectors/connect-fal/README.md +193 -0
- package/connectors/connect-fal/package.json +51 -0
- package/connectors/connect-fal/src/api/client.ts +172 -0
- package/connectors/connect-fal/src/api/index.ts +55 -0
- package/connectors/connect-fal/src/cli/index.ts +341 -0
- package/connectors/connect-fal/src/index.ts +19 -0
- package/connectors/connect-fal/src/types/index.ts +135 -0
- package/connectors/connect-fal/src/utils/config.ts +103 -0
- package/connectors/connect-fal/src/utils/output.ts +119 -0
- package/connectors/connect-fal/tsconfig.json +16 -0
- package/connectors/connect-fireworks/.env.example +11 -0
- package/connectors/connect-fireworks/CLAUDE.md +128 -0
- package/connectors/connect-fireworks/README.md +193 -0
- package/connectors/connect-fireworks/package.json +51 -0
- package/connectors/connect-fireworks/src/api/client.ts +63 -0
- package/connectors/connect-fireworks/src/api/index.ts +36 -0
- package/connectors/connect-fireworks/src/cli/index.ts +244 -0
- package/connectors/connect-fireworks/src/index.ts +19 -0
- package/connectors/connect-fireworks/src/types/index.ts +70 -0
- package/connectors/connect-fireworks/src/utils/config.ts +103 -0
- package/connectors/connect-fireworks/src/utils/output.ts +119 -0
- package/connectors/connect-fireworks/tsconfig.json +16 -0
- package/connectors/connect-groq/.env.example +11 -0
- package/connectors/connect-groq/CLAUDE.md +128 -0
- package/connectors/connect-groq/README.md +193 -0
- package/connectors/connect-groq/package.json +52 -0
- package/connectors/connect-groq/src/api/client.ts +108 -0
- package/connectors/connect-groq/src/api/index.ts +36 -0
- package/connectors/connect-groq/src/cli/index.ts +171 -0
- package/connectors/connect-groq/src/index.ts +19 -0
- package/connectors/connect-groq/src/types/index.ts +69 -0
- package/connectors/connect-groq/src/utils/config.ts +103 -0
- package/connectors/connect-groq/src/utils/output.ts +119 -0
- package/connectors/connect-groq/tsconfig.json +16 -0
- package/connectors/connect-luma/.env.example +11 -0
- package/connectors/connect-luma/CLAUDE.md +128 -0
- package/connectors/connect-luma/README.md +193 -0
- package/connectors/connect-luma/package.json +53 -0
- package/connectors/connect-luma/src/api/client.ts +85 -0
- package/connectors/connect-luma/src/api/index.ts +44 -0
- package/connectors/connect-luma/src/cli/index.ts +300 -0
- package/connectors/connect-luma/src/index.ts +19 -0
- package/connectors/connect-luma/src/types/index.ts +60 -0
- package/connectors/connect-luma/src/utils/config.ts +103 -0
- package/connectors/connect-luma/src/utils/output.ts +119 -0
- package/connectors/connect-luma/tsconfig.json +16 -0
- package/connectors/connect-modal/.env.example +11 -0
- package/connectors/connect-modal/CLAUDE.md +128 -0
- package/connectors/connect-modal/README.md +193 -0
- package/connectors/connect-modal/package.json +51 -0
- package/connectors/connect-modal/src/api/client.ts +119 -0
- package/connectors/connect-modal/src/api/index.ts +69 -0
- package/connectors/connect-modal/src/cli/index.ts +224 -0
- package/connectors/connect-modal/src/index.ts +21 -0
- package/connectors/connect-modal/src/types/index.ts +60 -0
- package/connectors/connect-modal/src/utils/config.ts +114 -0
- package/connectors/connect-modal/src/utils/output.ts +119 -0
- package/connectors/connect-modal/tsconfig.json +16 -0
- package/connectors/connect-perplexity/.env.example +4 -0
- package/connectors/connect-perplexity/CLAUDE.md +156 -0
- package/connectors/connect-perplexity/README.md +184 -0
- package/connectors/connect-perplexity/package.json +58 -0
- package/connectors/connect-perplexity/scripts/publish.ts +210 -0
- package/connectors/connect-perplexity/src/api/client.ts +119 -0
- package/connectors/connect-perplexity/src/api/example.ts +118 -0
- package/connectors/connect-perplexity/src/api/index.ts +48 -0
- package/connectors/connect-perplexity/src/cli/index.ts +421 -0
- package/connectors/connect-perplexity/src/index.ts +24 -0
- package/connectors/connect-perplexity/src/types/index.ts +140 -0
- package/connectors/connect-perplexity/src/utils/config.ts +208 -0
- package/connectors/connect-perplexity/src/utils/output.ts +119 -0
- package/connectors/connect-perplexity/tsconfig.json +16 -0
- package/connectors/connect-replicate/.env.example +11 -0
- package/connectors/connect-replicate/CLAUDE.md +128 -0
- package/connectors/connect-replicate/README.md +193 -0
- package/connectors/connect-replicate/package.json +51 -0
- package/connectors/connect-replicate/src/api/client.ts +109 -0
- package/connectors/connect-replicate/src/api/index.ts +71 -0
- package/connectors/connect-replicate/src/cli/index.ts +250 -0
- package/connectors/connect-replicate/src/index.ts +19 -0
- package/connectors/connect-replicate/src/types/index.ts +85 -0
- package/connectors/connect-replicate/src/utils/config.ts +103 -0
- package/connectors/connect-replicate/src/utils/output.ts +119 -0
- package/connectors/connect-replicate/tsconfig.json +16 -0
- package/connectors/connect-roboflow/.env.example +11 -0
- package/connectors/connect-roboflow/CLAUDE.md +272 -0
- package/connectors/connect-roboflow/README.md +193 -0
- package/connectors/connect-roboflow/package.json +51 -0
- package/connectors/connect-roboflow/scripts/release.ts +179 -0
- package/connectors/connect-roboflow/src/api/client.ts +213 -0
- package/connectors/connect-roboflow/src/api/example.ts +48 -0
- package/connectors/connect-roboflow/src/api/index.ts +51 -0
- package/connectors/connect-roboflow/src/cli/index.ts +254 -0
- package/connectors/connect-roboflow/src/index.ts +103 -0
- package/connectors/connect-roboflow/src/types/index.ts +237 -0
- package/connectors/connect-roboflow/src/utils/auth.ts +274 -0
- package/connectors/connect-roboflow/src/utils/bulk.ts +212 -0
- package/connectors/connect-roboflow/src/utils/config.ts +326 -0
- package/connectors/connect-roboflow/src/utils/output.ts +175 -0
- package/connectors/connect-roboflow/src/utils/settings.ts +114 -0
- package/connectors/connect-roboflow/src/utils/storage.ts +198 -0
- package/connectors/connect-roboflow/tsconfig.json +16 -0
- package/connectors/connect-runway/.env.example +11 -0
- package/connectors/connect-runway/CLAUDE.md +128 -0
- package/connectors/connect-runway/README.md +193 -0
- package/connectors/connect-runway/package.json +52 -0
- package/connectors/connect-runway/src/api/client.ts +78 -0
- package/connectors/connect-runway/src/api/index.ts +40 -0
- package/connectors/connect-runway/src/cli/index.ts +283 -0
- package/connectors/connect-runway/src/index.ts +19 -0
- package/connectors/connect-runway/src/types/index.ts +52 -0
- package/connectors/connect-runway/src/utils/config.ts +103 -0
- package/connectors/connect-runway/src/utils/output.ts +119 -0
- package/connectors/connect-runway/tsconfig.json +16 -0
- package/connectors/connect-together/.env.example +11 -0
- package/connectors/connect-together/CLAUDE.md +128 -0
- package/connectors/connect-together/README.md +193 -0
- package/connectors/connect-together/package.json +52 -0
- package/connectors/connect-together/src/api/client.ts +106 -0
- package/connectors/connect-together/src/api/index.ts +47 -0
- package/connectors/connect-together/src/cli/index.ts +228 -0
- package/connectors/connect-together/src/index.ts +19 -0
- package/connectors/connect-together/src/types/index.ts +91 -0
- package/connectors/connect-together/src/utils/config.ts +142 -0
- package/connectors/connect-together/src/utils/output.ts +119 -0
- package/connectors/connect-together/tsconfig.json +16 -0
- package/dist/index.js +112 -0
- package/package.json +1 -1
package/bin/index.js
CHANGED
|
@@ -2598,6 +2598,118 @@ var init_registry = __esm(() => {
|
|
|
2598
2598
|
description: "Professional network and marketing",
|
|
2599
2599
|
category: "Social Media",
|
|
2600
2600
|
tags: ["social", "professional", "b2b"]
|
|
2601
|
+
},
|
|
2602
|
+
{
|
|
2603
|
+
name: "groq",
|
|
2604
|
+
displayName: "Groq",
|
|
2605
|
+
description: "Ultra-fast LLM inference",
|
|
2606
|
+
category: "AI & ML",
|
|
2607
|
+
tags: ["ai", "llm", "inference"]
|
|
2608
|
+
},
|
|
2609
|
+
{
|
|
2610
|
+
name: "replicate",
|
|
2611
|
+
displayName: "Replicate",
|
|
2612
|
+
description: "Run ML models in the cloud",
|
|
2613
|
+
category: "AI & ML",
|
|
2614
|
+
tags: ["ai", "ml", "models"]
|
|
2615
|
+
},
|
|
2616
|
+
{
|
|
2617
|
+
name: "together",
|
|
2618
|
+
displayName: "Together AI",
|
|
2619
|
+
description: "Open-source model inference and fine-tuning",
|
|
2620
|
+
category: "AI & ML",
|
|
2621
|
+
tags: ["ai", "llm", "open-source"]
|
|
2622
|
+
},
|
|
2623
|
+
{
|
|
2624
|
+
name: "cohere",
|
|
2625
|
+
displayName: "Cohere",
|
|
2626
|
+
description: "Enterprise NLP and embeddings",
|
|
2627
|
+
category: "AI & ML",
|
|
2628
|
+
tags: ["ai", "nlp", "embeddings"]
|
|
2629
|
+
},
|
|
2630
|
+
{
|
|
2631
|
+
name: "deepseek",
|
|
2632
|
+
displayName: "DeepSeek",
|
|
2633
|
+
description: "AI coding and reasoning models",
|
|
2634
|
+
category: "AI & ML",
|
|
2635
|
+
tags: ["ai", "llm", "coding"]
|
|
2636
|
+
},
|
|
2637
|
+
{
|
|
2638
|
+
name: "perplexity",
|
|
2639
|
+
displayName: "Perplexity",
|
|
2640
|
+
description: "AI search and answer engine",
|
|
2641
|
+
category: "AI & ML",
|
|
2642
|
+
tags: ["ai", "search", "llm"]
|
|
2643
|
+
},
|
|
2644
|
+
{
|
|
2645
|
+
name: "fal",
|
|
2646
|
+
displayName: "fal.ai",
|
|
2647
|
+
description: "Fast image and video generation",
|
|
2648
|
+
category: "AI & ML",
|
|
2649
|
+
tags: ["ai", "image", "video"]
|
|
2650
|
+
},
|
|
2651
|
+
{
|
|
2652
|
+
name: "baseten",
|
|
2653
|
+
displayName: "Baseten",
|
|
2654
|
+
description: "ML model deployment and inference",
|
|
2655
|
+
category: "AI & ML",
|
|
2656
|
+
tags: ["ai", "ml", "deployment"]
|
|
2657
|
+
},
|
|
2658
|
+
{
|
|
2659
|
+
name: "fireworks",
|
|
2660
|
+
displayName: "Fireworks AI",
|
|
2661
|
+
description: "Fast generative AI inference",
|
|
2662
|
+
category: "AI & ML",
|
|
2663
|
+
tags: ["ai", "llm", "inference"]
|
|
2664
|
+
},
|
|
2665
|
+
{
|
|
2666
|
+
name: "cerebras",
|
|
2667
|
+
displayName: "Cerebras",
|
|
2668
|
+
description: "Ultra-fast AI inference",
|
|
2669
|
+
category: "AI & ML",
|
|
2670
|
+
tags: ["ai", "llm", "inference"]
|
|
2671
|
+
},
|
|
2672
|
+
{
|
|
2673
|
+
name: "modal",
|
|
2674
|
+
displayName: "Modal",
|
|
2675
|
+
description: "Serverless GPU compute for AI",
|
|
2676
|
+
category: "AI & ML",
|
|
2677
|
+
tags: ["ai", "gpu", "serverless"]
|
|
2678
|
+
},
|
|
2679
|
+
{
|
|
2680
|
+
name: "deepgram",
|
|
2681
|
+
displayName: "Deepgram",
|
|
2682
|
+
description: "Speech-to-text and audio intelligence",
|
|
2683
|
+
category: "AI & ML",
|
|
2684
|
+
tags: ["ai", "speech", "stt"]
|
|
2685
|
+
},
|
|
2686
|
+
{
|
|
2687
|
+
name: "assemblyai",
|
|
2688
|
+
displayName: "AssemblyAI",
|
|
2689
|
+
description: "Speech recognition and audio intelligence",
|
|
2690
|
+
category: "AI & ML",
|
|
2691
|
+
tags: ["ai", "speech", "transcription"]
|
|
2692
|
+
},
|
|
2693
|
+
{
|
|
2694
|
+
name: "roboflow",
|
|
2695
|
+
displayName: "Roboflow",
|
|
2696
|
+
description: "Computer vision models and datasets",
|
|
2697
|
+
category: "AI & ML",
|
|
2698
|
+
tags: ["ai", "vision", "cv"]
|
|
2699
|
+
},
|
|
2700
|
+
{
|
|
2701
|
+
name: "runway",
|
|
2702
|
+
displayName: "Runway",
|
|
2703
|
+
description: "AI video generation and editing",
|
|
2704
|
+
category: "AI & ML",
|
|
2705
|
+
tags: ["ai", "video", "generation"]
|
|
2706
|
+
},
|
|
2707
|
+
{
|
|
2708
|
+
name: "luma",
|
|
2709
|
+
displayName: "Luma AI",
|
|
2710
|
+
description: "AI video and 3D generation",
|
|
2711
|
+
category: "AI & ML",
|
|
2712
|
+
tags: ["ai", "video", "3d"]
|
|
2601
2713
|
}
|
|
2602
2714
|
];
|
|
2603
2715
|
});
|
|
@@ -7078,7 +7190,7 @@ var PRESETS = {
|
|
|
7078
7190
|
commerce: { description: "Commerce and finance", connectors: ["stripe", "shopify", "revolut", "mercury", "pandadoc"] }
|
|
7079
7191
|
};
|
|
7080
7192
|
var program2 = new Command;
|
|
7081
|
-
program2.name("connectors").description("Install API connectors for your project").version("0.
|
|
7193
|
+
program2.name("connectors").description("Install API connectors for your project").version("0.5.0").enablePositionalOptions();
|
|
7082
7194
|
program2.command("interactive", { isDefault: true }).alias("i").description("Interactive connector browser").action(() => {
|
|
7083
7195
|
if (!isTTY) {
|
|
7084
7196
|
console.log(`Non-interactive environment detected. Use a subcommand:
|
package/bin/mcp.js
CHANGED
|
@@ -20086,6 +20086,118 @@ var CONNECTORS = [
|
|
|
20086
20086
|
description: "Professional network and marketing",
|
|
20087
20087
|
category: "Social Media",
|
|
20088
20088
|
tags: ["social", "professional", "b2b"]
|
|
20089
|
+
},
|
|
20090
|
+
{
|
|
20091
|
+
name: "groq",
|
|
20092
|
+
displayName: "Groq",
|
|
20093
|
+
description: "Ultra-fast LLM inference",
|
|
20094
|
+
category: "AI & ML",
|
|
20095
|
+
tags: ["ai", "llm", "inference"]
|
|
20096
|
+
},
|
|
20097
|
+
{
|
|
20098
|
+
name: "replicate",
|
|
20099
|
+
displayName: "Replicate",
|
|
20100
|
+
description: "Run ML models in the cloud",
|
|
20101
|
+
category: "AI & ML",
|
|
20102
|
+
tags: ["ai", "ml", "models"]
|
|
20103
|
+
},
|
|
20104
|
+
{
|
|
20105
|
+
name: "together",
|
|
20106
|
+
displayName: "Together AI",
|
|
20107
|
+
description: "Open-source model inference and fine-tuning",
|
|
20108
|
+
category: "AI & ML",
|
|
20109
|
+
tags: ["ai", "llm", "open-source"]
|
|
20110
|
+
},
|
|
20111
|
+
{
|
|
20112
|
+
name: "cohere",
|
|
20113
|
+
displayName: "Cohere",
|
|
20114
|
+
description: "Enterprise NLP and embeddings",
|
|
20115
|
+
category: "AI & ML",
|
|
20116
|
+
tags: ["ai", "nlp", "embeddings"]
|
|
20117
|
+
},
|
|
20118
|
+
{
|
|
20119
|
+
name: "deepseek",
|
|
20120
|
+
displayName: "DeepSeek",
|
|
20121
|
+
description: "AI coding and reasoning models",
|
|
20122
|
+
category: "AI & ML",
|
|
20123
|
+
tags: ["ai", "llm", "coding"]
|
|
20124
|
+
},
|
|
20125
|
+
{
|
|
20126
|
+
name: "perplexity",
|
|
20127
|
+
displayName: "Perplexity",
|
|
20128
|
+
description: "AI search and answer engine",
|
|
20129
|
+
category: "AI & ML",
|
|
20130
|
+
tags: ["ai", "search", "llm"]
|
|
20131
|
+
},
|
|
20132
|
+
{
|
|
20133
|
+
name: "fal",
|
|
20134
|
+
displayName: "fal.ai",
|
|
20135
|
+
description: "Fast image and video generation",
|
|
20136
|
+
category: "AI & ML",
|
|
20137
|
+
tags: ["ai", "image", "video"]
|
|
20138
|
+
},
|
|
20139
|
+
{
|
|
20140
|
+
name: "baseten",
|
|
20141
|
+
displayName: "Baseten",
|
|
20142
|
+
description: "ML model deployment and inference",
|
|
20143
|
+
category: "AI & ML",
|
|
20144
|
+
tags: ["ai", "ml", "deployment"]
|
|
20145
|
+
},
|
|
20146
|
+
{
|
|
20147
|
+
name: "fireworks",
|
|
20148
|
+
displayName: "Fireworks AI",
|
|
20149
|
+
description: "Fast generative AI inference",
|
|
20150
|
+
category: "AI & ML",
|
|
20151
|
+
tags: ["ai", "llm", "inference"]
|
|
20152
|
+
},
|
|
20153
|
+
{
|
|
20154
|
+
name: "cerebras",
|
|
20155
|
+
displayName: "Cerebras",
|
|
20156
|
+
description: "Ultra-fast AI inference",
|
|
20157
|
+
category: "AI & ML",
|
|
20158
|
+
tags: ["ai", "llm", "inference"]
|
|
20159
|
+
},
|
|
20160
|
+
{
|
|
20161
|
+
name: "modal",
|
|
20162
|
+
displayName: "Modal",
|
|
20163
|
+
description: "Serverless GPU compute for AI",
|
|
20164
|
+
category: "AI & ML",
|
|
20165
|
+
tags: ["ai", "gpu", "serverless"]
|
|
20166
|
+
},
|
|
20167
|
+
{
|
|
20168
|
+
name: "deepgram",
|
|
20169
|
+
displayName: "Deepgram",
|
|
20170
|
+
description: "Speech-to-text and audio intelligence",
|
|
20171
|
+
category: "AI & ML",
|
|
20172
|
+
tags: ["ai", "speech", "stt"]
|
|
20173
|
+
},
|
|
20174
|
+
{
|
|
20175
|
+
name: "assemblyai",
|
|
20176
|
+
displayName: "AssemblyAI",
|
|
20177
|
+
description: "Speech recognition and audio intelligence",
|
|
20178
|
+
category: "AI & ML",
|
|
20179
|
+
tags: ["ai", "speech", "transcription"]
|
|
20180
|
+
},
|
|
20181
|
+
{
|
|
20182
|
+
name: "roboflow",
|
|
20183
|
+
displayName: "Roboflow",
|
|
20184
|
+
description: "Computer vision models and datasets",
|
|
20185
|
+
category: "AI & ML",
|
|
20186
|
+
tags: ["ai", "vision", "cv"]
|
|
20187
|
+
},
|
|
20188
|
+
{
|
|
20189
|
+
name: "runway",
|
|
20190
|
+
displayName: "Runway",
|
|
20191
|
+
description: "AI video generation and editing",
|
|
20192
|
+
category: "AI & ML",
|
|
20193
|
+
tags: ["ai", "video", "generation"]
|
|
20194
|
+
},
|
|
20195
|
+
{
|
|
20196
|
+
name: "luma",
|
|
20197
|
+
displayName: "Luma AI",
|
|
20198
|
+
description: "AI video and 3D generation",
|
|
20199
|
+
category: "AI & ML",
|
|
20200
|
+
tags: ["ai", "video", "3d"]
|
|
20089
20201
|
}
|
|
20090
20202
|
];
|
|
20091
20203
|
function getConnectorsByCategory(category) {
|
|
@@ -20560,7 +20672,7 @@ async function getConnectorCommandHelp(name, command) {
|
|
|
20560
20672
|
loadConnectorVersions();
|
|
20561
20673
|
var server = new McpServer({
|
|
20562
20674
|
name: "connectors",
|
|
20563
|
-
version: "0.
|
|
20675
|
+
version: "0.5.0"
|
|
20564
20676
|
});
|
|
20565
20677
|
server.registerTool("search_connectors", {
|
|
20566
20678
|
title: "Search Connectors",
|
package/bin/serve.js
CHANGED
|
@@ -691,6 +691,118 @@ var CONNECTORS = [
|
|
|
691
691
|
description: "Professional network and marketing",
|
|
692
692
|
category: "Social Media",
|
|
693
693
|
tags: ["social", "professional", "b2b"]
|
|
694
|
+
},
|
|
695
|
+
{
|
|
696
|
+
name: "groq",
|
|
697
|
+
displayName: "Groq",
|
|
698
|
+
description: "Ultra-fast LLM inference",
|
|
699
|
+
category: "AI & ML",
|
|
700
|
+
tags: ["ai", "llm", "inference"]
|
|
701
|
+
},
|
|
702
|
+
{
|
|
703
|
+
name: "replicate",
|
|
704
|
+
displayName: "Replicate",
|
|
705
|
+
description: "Run ML models in the cloud",
|
|
706
|
+
category: "AI & ML",
|
|
707
|
+
tags: ["ai", "ml", "models"]
|
|
708
|
+
},
|
|
709
|
+
{
|
|
710
|
+
name: "together",
|
|
711
|
+
displayName: "Together AI",
|
|
712
|
+
description: "Open-source model inference and fine-tuning",
|
|
713
|
+
category: "AI & ML",
|
|
714
|
+
tags: ["ai", "llm", "open-source"]
|
|
715
|
+
},
|
|
716
|
+
{
|
|
717
|
+
name: "cohere",
|
|
718
|
+
displayName: "Cohere",
|
|
719
|
+
description: "Enterprise NLP and embeddings",
|
|
720
|
+
category: "AI & ML",
|
|
721
|
+
tags: ["ai", "nlp", "embeddings"]
|
|
722
|
+
},
|
|
723
|
+
{
|
|
724
|
+
name: "deepseek",
|
|
725
|
+
displayName: "DeepSeek",
|
|
726
|
+
description: "AI coding and reasoning models",
|
|
727
|
+
category: "AI & ML",
|
|
728
|
+
tags: ["ai", "llm", "coding"]
|
|
729
|
+
},
|
|
730
|
+
{
|
|
731
|
+
name: "perplexity",
|
|
732
|
+
displayName: "Perplexity",
|
|
733
|
+
description: "AI search and answer engine",
|
|
734
|
+
category: "AI & ML",
|
|
735
|
+
tags: ["ai", "search", "llm"]
|
|
736
|
+
},
|
|
737
|
+
{
|
|
738
|
+
name: "fal",
|
|
739
|
+
displayName: "fal.ai",
|
|
740
|
+
description: "Fast image and video generation",
|
|
741
|
+
category: "AI & ML",
|
|
742
|
+
tags: ["ai", "image", "video"]
|
|
743
|
+
},
|
|
744
|
+
{
|
|
745
|
+
name: "baseten",
|
|
746
|
+
displayName: "Baseten",
|
|
747
|
+
description: "ML model deployment and inference",
|
|
748
|
+
category: "AI & ML",
|
|
749
|
+
tags: ["ai", "ml", "deployment"]
|
|
750
|
+
},
|
|
751
|
+
{
|
|
752
|
+
name: "fireworks",
|
|
753
|
+
displayName: "Fireworks AI",
|
|
754
|
+
description: "Fast generative AI inference",
|
|
755
|
+
category: "AI & ML",
|
|
756
|
+
tags: ["ai", "llm", "inference"]
|
|
757
|
+
},
|
|
758
|
+
{
|
|
759
|
+
name: "cerebras",
|
|
760
|
+
displayName: "Cerebras",
|
|
761
|
+
description: "Ultra-fast AI inference",
|
|
762
|
+
category: "AI & ML",
|
|
763
|
+
tags: ["ai", "llm", "inference"]
|
|
764
|
+
},
|
|
765
|
+
{
|
|
766
|
+
name: "modal",
|
|
767
|
+
displayName: "Modal",
|
|
768
|
+
description: "Serverless GPU compute for AI",
|
|
769
|
+
category: "AI & ML",
|
|
770
|
+
tags: ["ai", "gpu", "serverless"]
|
|
771
|
+
},
|
|
772
|
+
{
|
|
773
|
+
name: "deepgram",
|
|
774
|
+
displayName: "Deepgram",
|
|
775
|
+
description: "Speech-to-text and audio intelligence",
|
|
776
|
+
category: "AI & ML",
|
|
777
|
+
tags: ["ai", "speech", "stt"]
|
|
778
|
+
},
|
|
779
|
+
{
|
|
780
|
+
name: "assemblyai",
|
|
781
|
+
displayName: "AssemblyAI",
|
|
782
|
+
description: "Speech recognition and audio intelligence",
|
|
783
|
+
category: "AI & ML",
|
|
784
|
+
tags: ["ai", "speech", "transcription"]
|
|
785
|
+
},
|
|
786
|
+
{
|
|
787
|
+
name: "roboflow",
|
|
788
|
+
displayName: "Roboflow",
|
|
789
|
+
description: "Computer vision models and datasets",
|
|
790
|
+
category: "AI & ML",
|
|
791
|
+
tags: ["ai", "vision", "cv"]
|
|
792
|
+
},
|
|
793
|
+
{
|
|
794
|
+
name: "runway",
|
|
795
|
+
displayName: "Runway",
|
|
796
|
+
description: "AI video generation and editing",
|
|
797
|
+
category: "AI & ML",
|
|
798
|
+
tags: ["ai", "video", "generation"]
|
|
799
|
+
},
|
|
800
|
+
{
|
|
801
|
+
name: "luma",
|
|
802
|
+
displayName: "Luma AI",
|
|
803
|
+
description: "AI video and 3D generation",
|
|
804
|
+
category: "AI & ML",
|
|
805
|
+
tags: ["ai", "video", "3d"]
|
|
694
806
|
}
|
|
695
807
|
];
|
|
696
808
|
function getConnector(name) {
|
|
@@ -0,0 +1,11 @@
|
|
|
1
|
+
# API Credentials
|
|
2
|
+
# TODO: Update variable names and instructions for your API
|
|
3
|
+
# Example: PERPLEXITY_API_KEY, OPENAI_API_KEY, etc.
|
|
4
|
+
|
|
5
|
+
CONNECTOR_API_KEY=your-api-key-here
|
|
6
|
+
|
|
7
|
+
# Optional: API secret (if your API requires it)
|
|
8
|
+
# CONNECTOR_API_SECRET=your-api-secret-here
|
|
9
|
+
|
|
10
|
+
# Optional: Custom base URL (if needed)
|
|
11
|
+
# CONNECTOR_BASE_URL=https://api.example.com
|
|
@@ -0,0 +1,128 @@
|
|
|
1
|
+
# CLAUDE.md
|
|
2
|
+
|
|
3
|
+
This file provides guidance to Claude Code (claude.ai/code) when working with code in this repository.
|
|
4
|
+
|
|
5
|
+
## Project Overview
|
|
6
|
+
|
|
7
|
+
scaffold-connector is a TypeScript template for building API connector CLIs. It provides multi-profile configuration, Bearer token authentication (customizable), and a clean CLI structure using Commander.js.
|
|
8
|
+
|
|
9
|
+
**This is a SCAFFOLD** - meant to be cloned and customized for specific APIs.
|
|
10
|
+
|
|
11
|
+
## Build & Run Commands
|
|
12
|
+
|
|
13
|
+
```bash
|
|
14
|
+
# Install dependencies
|
|
15
|
+
bun install
|
|
16
|
+
|
|
17
|
+
# Run CLI in development
|
|
18
|
+
bun run dev
|
|
19
|
+
|
|
20
|
+
# Build for distribution
|
|
21
|
+
bun run build
|
|
22
|
+
|
|
23
|
+
# Type check
|
|
24
|
+
bun run typecheck
|
|
25
|
+
|
|
26
|
+
# Run specific commands
|
|
27
|
+
bun run dev profile list
|
|
28
|
+
bun run dev config show
|
|
29
|
+
bun run dev example list
|
|
30
|
+
```
|
|
31
|
+
|
|
32
|
+
## Code Style
|
|
33
|
+
|
|
34
|
+
- TypeScript with strict mode
|
|
35
|
+
- ESM modules (type: module)
|
|
36
|
+
- Use async/await for all async operations
|
|
37
|
+
- Minimal dependencies: commander, chalk only
|
|
38
|
+
- Type annotations required everywhere
|
|
39
|
+
- Use interfaces for all API types
|
|
40
|
+
|
|
41
|
+
## Project Structure
|
|
42
|
+
|
|
43
|
+
```
|
|
44
|
+
src/
|
|
45
|
+
├── api/
|
|
46
|
+
│ ├── client.ts # HTTP client with authentication
|
|
47
|
+
│ ├── example.ts # Example API module (template)
|
|
48
|
+
│ └── index.ts # Main connector class
|
|
49
|
+
├── cli/
|
|
50
|
+
│ └── index.ts # CLI commands
|
|
51
|
+
├── types/
|
|
52
|
+
│ └── index.ts # Type definitions
|
|
53
|
+
├── utils/
|
|
54
|
+
│ ├── config.ts # Multi-profile configuration
|
|
55
|
+
│ └── output.ts # CLI output formatting
|
|
56
|
+
└── index.ts # Library exports
|
|
57
|
+
```
|
|
58
|
+
|
|
59
|
+
## Key Patterns
|
|
60
|
+
|
|
61
|
+
### Multi-Profile Configuration
|
|
62
|
+
|
|
63
|
+
Profiles stored in `~/.connect/{connector-name}/profiles/`:
|
|
64
|
+
- Each profile is a separate JSON file
|
|
65
|
+
- `current_profile` file tracks active profile
|
|
66
|
+
- `--profile` flag overrides for single command
|
|
67
|
+
- Environment variables override profile config
|
|
68
|
+
|
|
69
|
+
### Authentication
|
|
70
|
+
|
|
71
|
+
Default is Bearer token in `src/api/client.ts`:
|
|
72
|
+
```typescript
|
|
73
|
+
'Authorization': `Bearer ${this.apiKey}`,
|
|
74
|
+
```
|
|
75
|
+
|
|
76
|
+
Customize for different auth methods:
|
|
77
|
+
- API Key header: `'X-API-Key': this.apiKey`
|
|
78
|
+
- Basic auth: `'Authorization': 'Basic ' + base64(key:secret)`
|
|
79
|
+
- OAuth: Add token refresh logic
|
|
80
|
+
|
|
81
|
+
### Adding New API Modules
|
|
82
|
+
|
|
83
|
+
1. Create file in `src/api/` following `example.ts` pattern
|
|
84
|
+
2. Add to exports in `src/api/index.ts`
|
|
85
|
+
3. Add types in `src/types/index.ts`
|
|
86
|
+
4. Add CLI commands in `src/cli/index.ts`
|
|
87
|
+
|
|
88
|
+
## TODO Markers
|
|
89
|
+
|
|
90
|
+
When customizing this scaffold, search for `TODO` comments:
|
|
91
|
+
|
|
92
|
+
- `src/cli/index.ts:22-24` - CONNECTOR_NAME, VERSION, description
|
|
93
|
+
- `src/utils/config.ts:5-6` - CONNECTOR_NAME, env var prefix
|
|
94
|
+
- `src/api/client.ts:5` - DEFAULT_BASE_URL
|
|
95
|
+
- `src/api/client.ts:45-48` - Authentication method
|
|
96
|
+
- `src/api/index.ts:7` - Rename Connector class
|
|
97
|
+
- `src/types/index.ts` - Replace example types
|
|
98
|
+
|
|
99
|
+
## Environment Variables
|
|
100
|
+
|
|
101
|
+
| Variable | Description |
|
|
102
|
+
|----------|-------------|
|
|
103
|
+
| `CONNECTOR_API_KEY` | API key (overrides profile) |
|
|
104
|
+
| `CONNECTOR_API_SECRET` | API secret (optional) |
|
|
105
|
+
| `CONNECTOR_BASE_URL` | Override base URL |
|
|
106
|
+
|
|
107
|
+
## Data Storage
|
|
108
|
+
|
|
109
|
+
```
|
|
110
|
+
~/.connect/{connector-name}/
|
|
111
|
+
├── current_profile # Active profile name
|
|
112
|
+
└── profiles/
|
|
113
|
+
├── default.json # Default profile
|
|
114
|
+
└── {name}.json # Named profiles
|
|
115
|
+
```
|
|
116
|
+
|
|
117
|
+
Profile JSON structure:
|
|
118
|
+
```json
|
|
119
|
+
{
|
|
120
|
+
"apiKey": "sk-xxx",
|
|
121
|
+
"apiSecret": "optional"
|
|
122
|
+
}
|
|
123
|
+
```
|
|
124
|
+
|
|
125
|
+
## Dependencies
|
|
126
|
+
|
|
127
|
+
- commander: CLI framework
|
|
128
|
+
- chalk: Terminal styling
|
|
@@ -0,0 +1,193 @@
|
|
|
1
|
+
# scaffold-connector
|
|
2
|
+
|
|
3
|
+
A TypeScript scaffold for building API connector CLIs with multi-profile support.
|
|
4
|
+
|
|
5
|
+
## Features
|
|
6
|
+
|
|
7
|
+
- Multi-profile configuration (switch between different API keys/accounts)
|
|
8
|
+
- Bearer token authentication (easily customizable)
|
|
9
|
+
- Clean CLI structure with Commander.js
|
|
10
|
+
- Pretty and JSON output formats
|
|
11
|
+
- TypeScript with strict mode
|
|
12
|
+
|
|
13
|
+
## Quick Start
|
|
14
|
+
|
|
15
|
+
### 1. Clone and Rename
|
|
16
|
+
|
|
17
|
+
```bash
|
|
18
|
+
# Clone for your connector
|
|
19
|
+
git clone https://github.com/hasna/scaffold-connector.git connect-yourapi
|
|
20
|
+
cd connect-yourapi
|
|
21
|
+
|
|
22
|
+
# Update package.json name
|
|
23
|
+
# Change "@hasna/scaffold-connector" to "@hasna/connect-yourapi"
|
|
24
|
+
```
|
|
25
|
+
|
|
26
|
+
### 2. Update Configuration
|
|
27
|
+
|
|
28
|
+
Search for `TODO` comments throughout the codebase and update:
|
|
29
|
+
|
|
30
|
+
- `src/cli/index.ts` - Update `CONNECTOR_NAME` and description
|
|
31
|
+
- `src/utils/config.ts` - Update `CONNECTOR_NAME` and env var names
|
|
32
|
+
- `src/api/client.ts` - Update `DEFAULT_BASE_URL` and authentication method
|
|
33
|
+
- `src/api/index.ts` - Rename `Connector` class to your API name
|
|
34
|
+
- `src/types/index.ts` - Add your API's type definitions
|
|
35
|
+
- `package.json` - Update name, description, bin command
|
|
36
|
+
- `.env.example` - Update environment variable names
|
|
37
|
+
|
|
38
|
+
### 3. Install and Test
|
|
39
|
+
|
|
40
|
+
```bash
|
|
41
|
+
# Install dependencies
|
|
42
|
+
bun install
|
|
43
|
+
|
|
44
|
+
# Run CLI
|
|
45
|
+
bun run dev
|
|
46
|
+
|
|
47
|
+
# Or run specific commands
|
|
48
|
+
bun run dev profile list
|
|
49
|
+
bun run dev config show
|
|
50
|
+
```
|
|
51
|
+
|
|
52
|
+
## CLI Structure
|
|
53
|
+
|
|
54
|
+
```bash
|
|
55
|
+
connector [options] [command]
|
|
56
|
+
|
|
57
|
+
Options:
|
|
58
|
+
-k, --api-key <key> API key (overrides config)
|
|
59
|
+
-f, --format <format> Output format (json, pretty)
|
|
60
|
+
-p, --profile <profile> Use a specific profile
|
|
61
|
+
|
|
62
|
+
Commands:
|
|
63
|
+
profile list List all profiles
|
|
64
|
+
profile use <name> Switch to a profile
|
|
65
|
+
profile create <name> Create a new profile
|
|
66
|
+
profile delete <name> Delete a profile
|
|
67
|
+
profile show [name] Show profile configuration
|
|
68
|
+
|
|
69
|
+
config set-key <key> Set API key for active profile
|
|
70
|
+
config show Show current configuration
|
|
71
|
+
config clear Clear configuration
|
|
72
|
+
|
|
73
|
+
example list Example API command (replace)
|
|
74
|
+
example get <id> Example API command (replace)
|
|
75
|
+
example create Example API command (replace)
|
|
76
|
+
```
|
|
77
|
+
|
|
78
|
+
## Project Structure
|
|
79
|
+
|
|
80
|
+
```
|
|
81
|
+
src/
|
|
82
|
+
├── api/
|
|
83
|
+
│ ├── client.ts # HTTP client with authentication
|
|
84
|
+
│ ├── example.ts # Example API module (replace with your API)
|
|
85
|
+
│ └── index.ts # Main connector class
|
|
86
|
+
├── cli/
|
|
87
|
+
│ └── index.ts # CLI commands
|
|
88
|
+
├── types/
|
|
89
|
+
│ └── index.ts # Type definitions
|
|
90
|
+
├── utils/
|
|
91
|
+
│ ├── config.ts # Multi-profile configuration
|
|
92
|
+
│ └── output.ts # CLI output formatting
|
|
93
|
+
└── index.ts # Library exports
|
|
94
|
+
```
|
|
95
|
+
|
|
96
|
+
## Multi-Profile Configuration
|
|
97
|
+
|
|
98
|
+
Profiles are stored in `~/.connect/{connector-name}/profiles/`:
|
|
99
|
+
|
|
100
|
+
```
|
|
101
|
+
~/.connect/connector/
|
|
102
|
+
├── current_profile # Name of active profile
|
|
103
|
+
└── profiles/
|
|
104
|
+
├── default.json # Default profile
|
|
105
|
+
├── work.json # Named profile
|
|
106
|
+
└── personal.json # Named profile
|
|
107
|
+
```
|
|
108
|
+
|
|
109
|
+
### Profile Commands
|
|
110
|
+
|
|
111
|
+
```bash
|
|
112
|
+
# Create profiles
|
|
113
|
+
connector profile create work --api-key sk-xxx --use
|
|
114
|
+
connector profile create personal --api-key sk-yyy
|
|
115
|
+
|
|
116
|
+
# Switch profiles
|
|
117
|
+
connector profile use work
|
|
118
|
+
|
|
119
|
+
# Use profile for single command
|
|
120
|
+
connector -p personal example list
|
|
121
|
+
|
|
122
|
+
# List profiles
|
|
123
|
+
connector profile list
|
|
124
|
+
```
|
|
125
|
+
|
|
126
|
+
## Customizing Authentication
|
|
127
|
+
|
|
128
|
+
Edit `src/api/client.ts` to change authentication:
|
|
129
|
+
|
|
130
|
+
```typescript
|
|
131
|
+
// Bearer token (default)
|
|
132
|
+
'Authorization': `Bearer ${this.apiKey}`,
|
|
133
|
+
|
|
134
|
+
// API Key header
|
|
135
|
+
'X-API-Key': this.apiKey,
|
|
136
|
+
|
|
137
|
+
// Basic auth
|
|
138
|
+
'Authorization': `Basic ${Buffer.from(`${this.apiKey}:${this.apiSecret}`).toString('base64')}`,
|
|
139
|
+
```
|
|
140
|
+
|
|
141
|
+
## Adding API Endpoints
|
|
142
|
+
|
|
143
|
+
1. Create a new file in `src/api/` (e.g., `users.ts`)
|
|
144
|
+
2. Export it from `src/api/index.ts`
|
|
145
|
+
3. Add types in `src/types/index.ts`
|
|
146
|
+
4. Add CLI commands in `src/cli/index.ts`
|
|
147
|
+
|
|
148
|
+
Example API module:
|
|
149
|
+
|
|
150
|
+
```typescript
|
|
151
|
+
// src/api/users.ts
|
|
152
|
+
import type { ConnectorClient } from './client';
|
|
153
|
+
|
|
154
|
+
export class UsersApi {
|
|
155
|
+
constructor(private readonly client: ConnectorClient) {}
|
|
156
|
+
|
|
157
|
+
async list(options?: { limit?: number }) {
|
|
158
|
+
return this.client.get('/users', { limit: options?.limit });
|
|
159
|
+
}
|
|
160
|
+
|
|
161
|
+
async get(id: string) {
|
|
162
|
+
return this.client.get(`/users/${id}`);
|
|
163
|
+
}
|
|
164
|
+
}
|
|
165
|
+
```
|
|
166
|
+
|
|
167
|
+
## Environment Variables
|
|
168
|
+
|
|
169
|
+
| Variable | Description |
|
|
170
|
+
|----------|-------------|
|
|
171
|
+
| `CONNECTOR_API_KEY` | API key (overrides profile config) |
|
|
172
|
+
| `CONNECTOR_API_SECRET` | API secret (optional) |
|
|
173
|
+
| `CONNECTOR_BASE_URL` | Override base URL (optional) |
|
|
174
|
+
|
|
175
|
+
## Development
|
|
176
|
+
|
|
177
|
+
```bash
|
|
178
|
+
# Install dependencies
|
|
179
|
+
bun install
|
|
180
|
+
|
|
181
|
+
# Run CLI in development
|
|
182
|
+
bun run dev
|
|
183
|
+
|
|
184
|
+
# Build for distribution
|
|
185
|
+
bun run build
|
|
186
|
+
|
|
187
|
+
# Type check
|
|
188
|
+
bun run typecheck
|
|
189
|
+
```
|
|
190
|
+
|
|
191
|
+
## License
|
|
192
|
+
|
|
193
|
+
MIT
|