@memorilabs/axon
v0.1.5
Published
TypeScript SDK for Memori's cloud memory service
Maintainers
Readme
Getting Started
Install the Axon SDK and your preferred LLM client using your package manager of choice:
npm install @memorilabs/axon(Note: Axon supports openai, @anthropic-ai/sdk, and @google/genai as optional peer dependencies).
Quickstart Example
import 'dotenv/config';
import { OpenAI } from 'openai';
import { Axon } from '@memorilabs/axon';
// 1. Initialize the LLM Client
const client = new OpenAI({ apiKey: process.env.OPENAI_API_KEY });
// 2. Initialize Axon and Register the Client
const axon = new Axon();
axon.llm.register(client);
// 3. Register a Before Hook (e.g., logging or modifying prompts)
axon.hook.before((req, ctx) => {
console.log(`[${ctx.traceId}] Intercepted request to model: ${req.model}`);
// You can modify the request here before it hits the provider
return req;
});
// 4. Register an After Hook (e.g., token usage tracking)
axon.hook.after((req, res, ctx) => {
console.log(`[${ctx.traceId}] Received response. Tokens used: ${res.usage?.totalTokens}`);
});
async function main() {
console.log('Sending standard LLM request...');
// 5. Use your client exactly as you normally would!
// Axon intercepts this call in the background.
const response = await client.chat.completions.create({
model: 'gpt-4o',
messages: [{ role: 'user', content: 'What is the speed of light?' }],
});
console.log(`AI: ${response.choices[0].message.content}`);
}
main().catch(console.error);Key Features
- Universal LLM Support: Works natively with OpenAI, Anthropic Claude, and Google Gemini SDKs.
- Unified Hook System: Write your logic once. Axon normalizes requests and responses across all providers so your hooks work universally.
- Zero Overhead: Plugs directly into your existing client initialization. No need to rewrite your agent or application logic.
- Streaming Support: Seamlessly handles and aggregates asynchronous streaming responses.
- Type-Safe: Written in strict TypeScript with comprehensive definitions for all provider payloads.
Supported LLMs
- OpenAI (
openai) - Anthropic Claude (
@anthropic-ai/sdk) - Google Gemini (
@google/genai)
Contributing
We welcome contributions from the community! Please see our Contributing Guidelines for details on:
- Setting up your development environment
- Code style and standards
- Submitting pull requests
- Reporting issues
Support
- Discord: https://discord.gg/abD4eGym6v
- Issues: GitHub Issues
License
Apache 2.0 - see LICENSE

