@frontegg/ai-sdk v2.0.0
Frontegg AI Agents SDK
The Frontegg AI Agents SDK provides AI Agent developers with tools and utilities to easily empower AI agents within their applications. This SDK seamlessly integrates with the Frontegg platform, enabling advanced tool authentication, authorization, and identity management capabilities for AI Agents.
Features
- Secure integration with Frontegg authentication
- Easy integration with Frontegg built-in and 3rd party application tools
- User identity context for agent throught Frontegg's identity platform
- Seamless integration with Langchain AI applications and agents
🚀 Prerequisites
Ensure that your environment meets the following requirements:
- Node.js: Version 18.16.0 or later
- TypeScript: Version 5.7.2 or later
- A working LangChain project with agent implementation
- Access to a Frontegg tenant and registered application credentials
Installation
npm install @frontegg/ai-sdk
# or
yarn add @frontegg/ai-sdkQuick Start
SDK Configuration
Initialize the Frontegg AI client to connect with your tenant environment:
// frontegg.config.ts
import { Environment, FronteggAiClient } from '@frontegg/ai-sdk';
export const fronteggClient = await FronteggAiClient.getInstance({
agentId: process.env.FRONTEGG_AGENT_ID!,
clientId: process.env.FRONTEGG_CLIENT_ID!,
clientSecret: process.env.FRONTEGG_CLIENT_SECRET!,
environment: Environment.EU,
});Dynamic Tool Integration with User Context
Fetch user-specific tools from Frontegg and dynamically construct a LangChain agent:
public async processRequest(request: string, userJwt: string): Promise<any> {
if (!this.fronteggAiClient) {
throw new Error('Frontegg client not initialized');
}
await this.fronteggAiClient.setUserContextByJWT(userJwt);
const tools = await this.fronteggAiClient.getToolsAsLangchainTools();
const messages = [
{
role: 'system',
content: this.fronteggAiClient.addUserContextToSystemPrompt(this.systemMessage),
},
...this.conversationHistory,
new MessagesPlaceholder('agent_scratchpad'),
];
const prompt = ChatPromptTemplate.fromMessages(messages);
const openAIFunctionsAgent = await createOpenAIFunctionsAgent({
llm: this.model as any,
tools: tools as any,
prompt: prompt as any,
});
this.agent = new AgentExecutor({
agent: openAIFunctionsAgent as any,
tools: tools as any,
verbose: true,
});
const result = await this.agent.invoke({ input: request });
return result;
}Documentation
For detailed documentation, please visit our official documentation.
Examples
Check out our example project for sample implementations and use cases.
Contributing
We welcome contributions! Please see our Contributing Guide for details.
License
This project is licensed under the MIT License - see the LICENSE file for details.
Support
About Frontegg
Frontegg is a powerful user management platform that provides everything modern apps need beyond authentication.