@hasna/connectors 0.4.1 → 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.
Files changed (205) hide show
  1. package/bin/index.js +126 -2
  2. package/bin/mcp.js +113 -1
  3. package/bin/serve.js +112 -0
  4. package/connectors/connect-assemblyai/.env.example +11 -0
  5. package/connectors/connect-assemblyai/CLAUDE.md +128 -0
  6. package/connectors/connect-assemblyai/README.md +193 -0
  7. package/connectors/connect-assemblyai/package.json +50 -0
  8. package/connectors/connect-assemblyai/src/api/client.ts +192 -0
  9. package/connectors/connect-assemblyai/src/api/index.ts +71 -0
  10. package/connectors/connect-assemblyai/src/cli/index.ts +384 -0
  11. package/connectors/connect-assemblyai/src/index.ts +19 -0
  12. package/connectors/connect-assemblyai/src/types/index.ts +277 -0
  13. package/connectors/connect-assemblyai/src/utils/config.ts +103 -0
  14. package/connectors/connect-assemblyai/src/utils/output.ts +119 -0
  15. package/connectors/connect-assemblyai/tsconfig.json +16 -0
  16. package/connectors/connect-baseten/.env.example +11 -0
  17. package/connectors/connect-baseten/CLAUDE.md +128 -0
  18. package/connectors/connect-baseten/README.md +193 -0
  19. package/connectors/connect-baseten/package.json +51 -0
  20. package/connectors/connect-baseten/src/api/client.ts +71 -0
  21. package/connectors/connect-baseten/src/api/index.ts +40 -0
  22. package/connectors/connect-baseten/src/cli/index.ts +244 -0
  23. package/connectors/connect-baseten/src/index.ts +19 -0
  24. package/connectors/connect-baseten/src/types/index.ts +55 -0
  25. package/connectors/connect-baseten/src/utils/config.ts +103 -0
  26. package/connectors/connect-baseten/src/utils/output.ts +119 -0
  27. package/connectors/connect-baseten/tsconfig.json +16 -0
  28. package/connectors/connect-cerebras/.env.example +11 -0
  29. package/connectors/connect-cerebras/CLAUDE.md +128 -0
  30. package/connectors/connect-cerebras/README.md +193 -0
  31. package/connectors/connect-cerebras/package.json +51 -0
  32. package/connectors/connect-cerebras/src/api/client.ts +64 -0
  33. package/connectors/connect-cerebras/src/api/index.ts +32 -0
  34. package/connectors/connect-cerebras/src/cli/index.ts +244 -0
  35. package/connectors/connect-cerebras/src/index.ts +19 -0
  36. package/connectors/connect-cerebras/src/types/index.ts +65 -0
  37. package/connectors/connect-cerebras/src/utils/config.ts +103 -0
  38. package/connectors/connect-cerebras/src/utils/output.ts +119 -0
  39. package/connectors/connect-cerebras/tsconfig.json +16 -0
  40. package/connectors/connect-cohere/.env.example +11 -0
  41. package/connectors/connect-cohere/CLAUDE.md +128 -0
  42. package/connectors/connect-cohere/README.md +193 -0
  43. package/connectors/connect-cohere/package.json +53 -0
  44. package/connectors/connect-cohere/src/api/client.ts +109 -0
  45. package/connectors/connect-cohere/src/api/index.ts +59 -0
  46. package/connectors/connect-cohere/src/cli/index.ts +255 -0
  47. package/connectors/connect-cohere/src/index.ts +19 -0
  48. package/connectors/connect-cohere/src/types/index.ts +132 -0
  49. package/connectors/connect-cohere/src/utils/config.ts +197 -0
  50. package/connectors/connect-cohere/src/utils/output.ts +119 -0
  51. package/connectors/connect-cohere/tsconfig.json +16 -0
  52. package/connectors/connect-deepgram/.env.example +11 -0
  53. package/connectors/connect-deepgram/CLAUDE.md +128 -0
  54. package/connectors/connect-deepgram/README.md +193 -0
  55. package/connectors/connect-deepgram/package.json +51 -0
  56. package/connectors/connect-deepgram/src/api/client.ts +235 -0
  57. package/connectors/connect-deepgram/src/api/index.ts +57 -0
  58. package/connectors/connect-deepgram/src/cli/index.ts +339 -0
  59. package/connectors/connect-deepgram/src/index.ts +19 -0
  60. package/connectors/connect-deepgram/src/types/index.ts +232 -0
  61. package/connectors/connect-deepgram/src/utils/config.ts +103 -0
  62. package/connectors/connect-deepgram/src/utils/output.ts +119 -0
  63. package/connectors/connect-deepgram/tsconfig.json +16 -0
  64. package/connectors/connect-deepseek/.env.example +11 -0
  65. package/connectors/connect-deepseek/CLAUDE.md +128 -0
  66. package/connectors/connect-deepseek/README.md +193 -0
  67. package/connectors/connect-deepseek/package.json +51 -0
  68. package/connectors/connect-deepseek/src/api/client.ts +108 -0
  69. package/connectors/connect-deepseek/src/api/index.ts +36 -0
  70. package/connectors/connect-deepseek/src/cli/index.ts +167 -0
  71. package/connectors/connect-deepseek/src/index.ts +19 -0
  72. package/connectors/connect-deepseek/src/types/index.ts +72 -0
  73. package/connectors/connect-deepseek/src/utils/config.ts +103 -0
  74. package/connectors/connect-deepseek/src/utils/output.ts +119 -0
  75. package/connectors/connect-deepseek/tsconfig.json +16 -0
  76. package/connectors/connect-fal/.env.example +11 -0
  77. package/connectors/connect-fal/CLAUDE.md +128 -0
  78. package/connectors/connect-fal/README.md +193 -0
  79. package/connectors/connect-fal/package.json +51 -0
  80. package/connectors/connect-fal/src/api/client.ts +172 -0
  81. package/connectors/connect-fal/src/api/index.ts +55 -0
  82. package/connectors/connect-fal/src/cli/index.ts +341 -0
  83. package/connectors/connect-fal/src/index.ts +19 -0
  84. package/connectors/connect-fal/src/types/index.ts +135 -0
  85. package/connectors/connect-fal/src/utils/config.ts +103 -0
  86. package/connectors/connect-fal/src/utils/output.ts +119 -0
  87. package/connectors/connect-fal/tsconfig.json +16 -0
  88. package/connectors/connect-fireworks/.env.example +11 -0
  89. package/connectors/connect-fireworks/CLAUDE.md +128 -0
  90. package/connectors/connect-fireworks/README.md +193 -0
  91. package/connectors/connect-fireworks/package.json +51 -0
  92. package/connectors/connect-fireworks/src/api/client.ts +63 -0
  93. package/connectors/connect-fireworks/src/api/index.ts +36 -0
  94. package/connectors/connect-fireworks/src/cli/index.ts +244 -0
  95. package/connectors/connect-fireworks/src/index.ts +19 -0
  96. package/connectors/connect-fireworks/src/types/index.ts +70 -0
  97. package/connectors/connect-fireworks/src/utils/config.ts +103 -0
  98. package/connectors/connect-fireworks/src/utils/output.ts +119 -0
  99. package/connectors/connect-fireworks/tsconfig.json +16 -0
  100. package/connectors/connect-groq/.env.example +11 -0
  101. package/connectors/connect-groq/CLAUDE.md +128 -0
  102. package/connectors/connect-groq/README.md +193 -0
  103. package/connectors/connect-groq/package.json +52 -0
  104. package/connectors/connect-groq/src/api/client.ts +108 -0
  105. package/connectors/connect-groq/src/api/index.ts +36 -0
  106. package/connectors/connect-groq/src/cli/index.ts +171 -0
  107. package/connectors/connect-groq/src/index.ts +19 -0
  108. package/connectors/connect-groq/src/types/index.ts +69 -0
  109. package/connectors/connect-groq/src/utils/config.ts +103 -0
  110. package/connectors/connect-groq/src/utils/output.ts +119 -0
  111. package/connectors/connect-groq/tsconfig.json +16 -0
  112. package/connectors/connect-luma/.env.example +11 -0
  113. package/connectors/connect-luma/CLAUDE.md +128 -0
  114. package/connectors/connect-luma/README.md +193 -0
  115. package/connectors/connect-luma/package.json +53 -0
  116. package/connectors/connect-luma/src/api/client.ts +85 -0
  117. package/connectors/connect-luma/src/api/index.ts +44 -0
  118. package/connectors/connect-luma/src/cli/index.ts +300 -0
  119. package/connectors/connect-luma/src/index.ts +19 -0
  120. package/connectors/connect-luma/src/types/index.ts +60 -0
  121. package/connectors/connect-luma/src/utils/config.ts +103 -0
  122. package/connectors/connect-luma/src/utils/output.ts +119 -0
  123. package/connectors/connect-luma/tsconfig.json +16 -0
  124. package/connectors/connect-modal/.env.example +11 -0
  125. package/connectors/connect-modal/CLAUDE.md +128 -0
  126. package/connectors/connect-modal/README.md +193 -0
  127. package/connectors/connect-modal/package.json +51 -0
  128. package/connectors/connect-modal/src/api/client.ts +119 -0
  129. package/connectors/connect-modal/src/api/index.ts +69 -0
  130. package/connectors/connect-modal/src/cli/index.ts +224 -0
  131. package/connectors/connect-modal/src/index.ts +21 -0
  132. package/connectors/connect-modal/src/types/index.ts +60 -0
  133. package/connectors/connect-modal/src/utils/config.ts +114 -0
  134. package/connectors/connect-modal/src/utils/output.ts +119 -0
  135. package/connectors/connect-modal/tsconfig.json +16 -0
  136. package/connectors/connect-perplexity/.env.example +4 -0
  137. package/connectors/connect-perplexity/CLAUDE.md +156 -0
  138. package/connectors/connect-perplexity/README.md +184 -0
  139. package/connectors/connect-perplexity/package.json +58 -0
  140. package/connectors/connect-perplexity/scripts/publish.ts +210 -0
  141. package/connectors/connect-perplexity/src/api/client.ts +119 -0
  142. package/connectors/connect-perplexity/src/api/example.ts +118 -0
  143. package/connectors/connect-perplexity/src/api/index.ts +48 -0
  144. package/connectors/connect-perplexity/src/cli/index.ts +421 -0
  145. package/connectors/connect-perplexity/src/index.ts +24 -0
  146. package/connectors/connect-perplexity/src/types/index.ts +140 -0
  147. package/connectors/connect-perplexity/src/utils/config.ts +208 -0
  148. package/connectors/connect-perplexity/src/utils/output.ts +119 -0
  149. package/connectors/connect-perplexity/tsconfig.json +16 -0
  150. package/connectors/connect-replicate/.env.example +11 -0
  151. package/connectors/connect-replicate/CLAUDE.md +128 -0
  152. package/connectors/connect-replicate/README.md +193 -0
  153. package/connectors/connect-replicate/package.json +51 -0
  154. package/connectors/connect-replicate/src/api/client.ts +109 -0
  155. package/connectors/connect-replicate/src/api/index.ts +71 -0
  156. package/connectors/connect-replicate/src/cli/index.ts +250 -0
  157. package/connectors/connect-replicate/src/index.ts +19 -0
  158. package/connectors/connect-replicate/src/types/index.ts +85 -0
  159. package/connectors/connect-replicate/src/utils/config.ts +103 -0
  160. package/connectors/connect-replicate/src/utils/output.ts +119 -0
  161. package/connectors/connect-replicate/tsconfig.json +16 -0
  162. package/connectors/connect-roboflow/.env.example +11 -0
  163. package/connectors/connect-roboflow/CLAUDE.md +272 -0
  164. package/connectors/connect-roboflow/README.md +193 -0
  165. package/connectors/connect-roboflow/package.json +51 -0
  166. package/connectors/connect-roboflow/scripts/release.ts +179 -0
  167. package/connectors/connect-roboflow/src/api/client.ts +213 -0
  168. package/connectors/connect-roboflow/src/api/example.ts +48 -0
  169. package/connectors/connect-roboflow/src/api/index.ts +51 -0
  170. package/connectors/connect-roboflow/src/cli/index.ts +254 -0
  171. package/connectors/connect-roboflow/src/index.ts +103 -0
  172. package/connectors/connect-roboflow/src/types/index.ts +237 -0
  173. package/connectors/connect-roboflow/src/utils/auth.ts +274 -0
  174. package/connectors/connect-roboflow/src/utils/bulk.ts +212 -0
  175. package/connectors/connect-roboflow/src/utils/config.ts +326 -0
  176. package/connectors/connect-roboflow/src/utils/output.ts +175 -0
  177. package/connectors/connect-roboflow/src/utils/settings.ts +114 -0
  178. package/connectors/connect-roboflow/src/utils/storage.ts +198 -0
  179. package/connectors/connect-roboflow/tsconfig.json +16 -0
  180. package/connectors/connect-runway/.env.example +11 -0
  181. package/connectors/connect-runway/CLAUDE.md +128 -0
  182. package/connectors/connect-runway/README.md +193 -0
  183. package/connectors/connect-runway/package.json +52 -0
  184. package/connectors/connect-runway/src/api/client.ts +78 -0
  185. package/connectors/connect-runway/src/api/index.ts +40 -0
  186. package/connectors/connect-runway/src/cli/index.ts +283 -0
  187. package/connectors/connect-runway/src/index.ts +19 -0
  188. package/connectors/connect-runway/src/types/index.ts +52 -0
  189. package/connectors/connect-runway/src/utils/config.ts +103 -0
  190. package/connectors/connect-runway/src/utils/output.ts +119 -0
  191. package/connectors/connect-runway/tsconfig.json +16 -0
  192. package/connectors/connect-together/.env.example +11 -0
  193. package/connectors/connect-together/CLAUDE.md +128 -0
  194. package/connectors/connect-together/README.md +193 -0
  195. package/connectors/connect-together/package.json +52 -0
  196. package/connectors/connect-together/src/api/client.ts +106 -0
  197. package/connectors/connect-together/src/api/index.ts +47 -0
  198. package/connectors/connect-together/src/cli/index.ts +228 -0
  199. package/connectors/connect-together/src/index.ts +19 -0
  200. package/connectors/connect-together/src/types/index.ts +91 -0
  201. package/connectors/connect-together/src/utils/config.ts +142 -0
  202. package/connectors/connect-together/src/utils/output.ts +119 -0
  203. package/connectors/connect-together/tsconfig.json +16 -0
  204. package/dist/index.js +112 -0
  205. 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.4.1").enablePositionalOptions();
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:
@@ -8657,8 +8769,20 @@ Testing connector credentials...
8657
8769
  if (existsSync6(tokensFile)) {
8658
8770
  try {
8659
8771
  const tokens = JSON.parse(readFileSync5(tokensFile, "utf-8"));
8660
- if (tokens.accessToken)
8772
+ const isExpired = tokens.expiresAt && Date.now() >= tokens.expiresAt - 60000;
8773
+ if (isExpired && tokens.refreshToken) {
8774
+ try {
8775
+ const refreshed = await refreshOAuthToken(name);
8776
+ apiKey = refreshed.accessToken;
8777
+ if (!options.json)
8778
+ console.log(` ${chalk2.dim("\u21BB")} ${chalk2.dim(name)} \u2014 ${chalk2.dim("token refreshed")}`);
8779
+ } catch {
8780
+ if (tokens.accessToken)
8781
+ apiKey = tokens.accessToken;
8782
+ }
8783
+ } else if (tokens.accessToken) {
8661
8784
  apiKey = tokens.accessToken;
8785
+ }
8662
8786
  } catch {}
8663
8787
  }
8664
8788
  if (!apiKey) {
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.4.1"
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