import type React from 'react';
interface Sdk {
name: string;
language: string;
badge: string;
installCmd: string;
codeExample: string;
repoUrl: string;
}
const sdks: Sdk[] = [
{
name: 'Node.js SDK',
language: 'typescript',
badge: 'TypeScript',
installCmd: 'npm install @sentryagent/idp-sdk',
codeExample: `import { AgentIdPClient } from '@sentryagent/idp-sdk';
const client = new AgentIdPClient({
apiUrl: process.env.AGENTIDP_URL!,
clientId: process.env.AGENTIDP_CLIENT_ID!,
clientSecret: process.env.AGENTIDP_CLIENT_SECRET!,
});
// Register a new agent
const agent = await client.agents.register({
name: 'my-ai-agent',
description: 'Production summarisation agent',
});
console.log('Agent ID:', agent.agentId);
// Issue an access token
const { accessToken } = await client.tokens.issue(agent.agentId);
console.log('Token:', accessToken);`,
repoUrl: 'https://github.com/sentryagent/sdk-node',
},
{
name: 'Python SDK',
language: 'python',
badge: 'Python',
installCmd: 'pip install sentryagent-idp',
codeExample: `from sentryagent_idp import AgentIdPClient
client = AgentIdPClient(
api_url=os.environ["AGENTIDP_URL"],
client_id=os.environ["AGENTIDP_CLIENT_ID"],
client_secret=os.environ["AGENTIDP_CLIENT_SECRET"],
)
# Register a new agent
agent = client.agents.register(
name="my-ai-agent",
description="Production summarisation agent",
)
print("Agent ID:", agent.agent_id)
# Issue an access token
token_response = client.tokens.issue(agent.agent_id)
print("Token:", token_response.access_token)`,
repoUrl: 'https://github.com/sentryagent/sdk-python',
},
{
name: 'Go SDK',
language: 'go',
badge: 'Go',
installCmd: 'go get github.com/sentryagent/idp-sdk-go',
codeExample: `import (
"fmt"
"os"
idp "github.com/sentryagent/idp-sdk-go"
)
client := idp.NewClient(idp.Config{
APIURL: os.Getenv("AGENTIDP_URL"),
ClientID: os.Getenv("AGENTIDP_CLIENT_ID"),
ClientSecret: os.Getenv("AGENTIDP_CLIENT_SECRET"),
})
// Register a new agent
agent, err := client.Agents.Register(ctx, &idp.RegisterAgentInput{
Name: "my-ai-agent",
Description: "Production summarisation agent",
})
if err != nil {
panic(err)
}
fmt.Println("Agent ID:", agent.AgentID)
// Issue an access token
token, err := client.Tokens.Issue(ctx, agent.AgentID)
fmt.Println("Token:", token.AccessToken)`,
repoUrl: 'https://github.com/sentryagent/sdk-go',
},
{
name: 'Java SDK',
language: 'java',
badge: 'Java',
installCmd: `
Native libraries for your language of choice. Every SDK is type-safe, fully tested, and maintained by the SentryAgent team.