@meetraai/agent-sdk
v0.1.1
Published
A lightweight TypeScript SDK for building AI agents with tools.
Downloads
284
Maintainers
Readme
Meetra AI Agent SDK
A lightweight TypeScript/JavaScript SDK for building AI agents with tool-calling capabilities.
🚀 Build AI agents using a simple API, register custom tools, and let the agent reason through complex tasks.
Features
- 🧠 AI Agent Runtime
- 🔧 Custom Tool Calling
- ⚡ Lightweight & Fast
- 📦 TypeScript Support
- 📝 JavaScript Support
- 🔌 Extensible Architecture
- 🤖 OpenAI Integration
Installation
npm install @meetraai/agent-sdkRequirements
- Node.js >= 18
- OpenAI API Key
Create a .env file:
OPENAI_API_KEY=your_openai_api_keyQuick Start
import "dotenv/config";
import { Agent } from "@meetraai/agent-sdk";
const agent = Agent.builder()
.setInstructions("You are a helpful AI assistant.")
.build();
agent.attachInterceptor((message) => {
console.log(message);
});
await agent.run("Explain what TypeScript is.");Using Tools
import "dotenv/config";
import { Agent, createTool } from "@meetraai/agent-sdk";
const weatherTool = createTool({
name: "fetchWeather",
description: "Returns current weather.",
doc: "fetchWeather(city:string)",
async executor(city) {
return `The weather in ${city} is Sunny 30°C`;
},
});
const agent = Agent.builder()
.setInstructions(
"Use the weather tool whenever weather information is requested."
)
.tool(weatherTool)
.build();
await agent.run("What is the weather in Mumbai?");Debugging
The SDK exposes an interceptor for inspecting every step executed by the agent.
agent.attachInterceptor((message) => {
console.log(message);
});Example output:
USER
↓
INITIAL
↓
THINK
↓
ANALYSE
↓
TOOL_REQUEST
↓
TOOL_RESULT
↓
OUTPUTAPI
Agent
const agent = Agent.builder()
.setInstructions("...")
.tool(tool)
.build();Methods
| Method | Description |
|---------|-------------|
| setInstructions() | Set system instructions |
| tool() | Register a tool |
| build() | Create the agent |
| run() | Execute the agent |
| attachInterceptor() | Listen to runtime events |
createTool
const tool = createTool({
name,
description,
doc,
async executor(input){
...
}
});Properties
| Property | Description |
|----------|-------------|
| name | Tool name |
| description | Tool description |
| doc | Tool signature |
| executor() | Executes the tool |
Example
User
│
▼
Agent
│
├── THINK
├── ANALYSE
├── TOOL_REQUEST
├── TOOL_RESULT
└── OUTPUTContributing
Contributions, issues, and feature requests are welcome.
Feel free to open an issue or submit a pull request.
License
MIT © Rohit Chornele
