JavaScript SDK + AI SDK Tools — Epitome Docs

JavaScript SDK + AI SDK Tools

Use @epitomefyi/sdk with Vercel AI SDK tool calling.

The SDK ships an AI SDK adapter at@epitomefyi/sdk/ai-sdkso you can expose Epitome memory tools directly in model tool-calling flows.

What It Is

  • searchMemory: semantic retrieval.
  • saveMemory: write new memory entries.
  • getUserContext: structured context snapshot.

Install

bash
npm install @epitomefyi/sdk ai @ai-sdk/openai

SDK package page: npmjs.com/package/@epitomefyi/sdk

generateText Example

ts
import { generateText } from 'ai';
import { openai } from '@ai-sdk/openai';
import { epitomeTools } from '@epitomefyi/sdk/ai-sdk';

const tools = epitomeTools({
  apiKey: process.env.EPITOME_API_KEY!,
  // Optional:
  // baseUrl: 'http://localhost:3000',
  collectionDefaults: {
    searchMemory: 'memories',
    saveMemory: 'memories',
  },
});

const result = await generateText({
  model: openai('gpt-4o-mini'),
  tools,
  prompt: 'What do you know about my project priorities?',
});

console.log(result.text);

streamText Example

ts
import { streamText } from 'ai';
import { openai } from '@ai-sdk/openai';
import { epitomeTools } from '@epitomefyi/sdk/ai-sdk';

const { textStream } = streamText({
  model: openai('gpt-4o-mini'),
  tools: epitomeTools({ apiKey: process.env.EPITOME_API_KEY! }),
  prompt: 'Save that I prefer short updates, then summarize what you stored.',
});

for await (const chunk of textStream) {
  process.stdout.write(chunk);
}

Tool Behavior

If you pass an existingEpitomeClient, the tool adapter uses that instance. Otherwise it creates one from `apiKey`/`baseUrl`.

ts
import { EpitomeClient } from '@epitomefyi/sdk';
import { epitomeTools } from '@epitomefyi/sdk/ai-sdk';

const client = new EpitomeClient({ apiKey: process.env.EPITOME_API_KEY! });
const tools = epitomeTools({ client });