52 lines
1.7 KiB
JavaScript
52 lines
1.7 KiB
JavaScript
import {
|
|
gtUIAddUploadWidget,
|
|
gtUIAddUrlButtonWidget,
|
|
gtUIAddButtonWidget,
|
|
} from "./gtUIUtils.js";
|
|
const API_PROVIDERS = {
|
|
Anthropic: { url: "https://console.anthropic.com/settings/keys" },
|
|
Amazon: {
|
|
url: "https://console.aws.amazon.com/iam/home?#/security_credentials",
|
|
},
|
|
Azure: { url: "https://portal.azure.com/" },
|
|
"Black Forest Labs": { url: "https://api.us1.bfl.ai/auth/profile" },
|
|
Cohere: { url: "https://dashboard.cohere.com/api-keys" },
|
|
ElevenLabs: { url: "https://elevenlabs.io/app/settings/api-keys" },
|
|
Google: { url: "https://console.cloud.google.com/apis/credentials" },
|
|
LeonardoAI: { url: "https://app.leonardo.ai/api-access" },
|
|
Groq: { url: "https://console.groq.com/keys" },
|
|
Serper: { url: "https://serper.dev/api-key" },
|
|
OpenAI: { url: "https://platform.openai.com/account/api-keys" },
|
|
HuggingFace: { url: "https://huggingface.co/settings/tokens" },
|
|
"LM Studio": {
|
|
url: "https://lmstudio.ai/",
|
|
buttonText: "Download LM Studio",
|
|
},
|
|
Ollama: {
|
|
url: "https://ollama.com",
|
|
buttonText: "Download Ollama",
|
|
},
|
|
Voyage: {
|
|
url: "https://dashboard.voyageai.com/api-keys",
|
|
},
|
|
Tavily: {
|
|
url: "https://app.tavily.com/",
|
|
},
|
|
Exa: { url: "https://dashboard.exa.ai/api-keys" },
|
|
Pinecone: { url: "https://app.pinecone.io/keys" },
|
|
Qdrant: { url: "https://cloud.qdrant.io" },
|
|
};
|
|
|
|
export function setupApiKeyButtons(nodeType, nodeData, app) {
|
|
const providerName = Object.keys(API_PROVIDERS).find((provider) =>
|
|
nodeData.name.includes(provider)
|
|
);
|
|
|
|
if (providerName) {
|
|
const provider = API_PROVIDERS[providerName];
|
|
const buttonText = provider.buttonText || `Get ${providerName} API Key`;
|
|
|
|
gtUIAddUrlButtonWidget(nodeType, buttonText, provider.url, "");
|
|
}
|
|
}
|