recallrai
Version:
Official Node.js SDK for RecallrAI - Revolutionary contextual memory system that enables AI assistants to form meaningful connections between conversations, just like human memory.
54 lines (53 loc) • 1.5 kB
JavaScript
"use strict";
Object.defineProperty(exports, "__esModule", { value: true });
exports.contextSchema = exports.sessionListSchema = exports.sessionSchema = exports.messageSchema = exports.userListSchema = exports.userSchema = void 0;
const zod_1 = require("zod");
const session_1 = require("./session");
/**
* Schema for user model validation.
*/
exports.userSchema = zod_1.z.object({
userId: zod_1.z.string(),
metadata: zod_1.z.record(zod_1.z.any()),
createdAt: zod_1.z.date(),
lastActiveAt: zod_1.z.date(),
});
/**
* Schema for user list validation.
*/
exports.userListSchema = zod_1.z.object({
users: zod_1.z.array(exports.userSchema),
total: zod_1.z.number(),
hasMore: zod_1.z.boolean(),
});
/**
* Schema for message validation.
*/
exports.messageSchema = zod_1.z.object({
role: zod_1.z.nativeEnum(session_1.MessageRole),
content: zod_1.z.string(),
timestamp: zod_1.z.date(),
});
/**
* Schema for session validation.
*/
exports.sessionSchema = zod_1.z.object({
sessionId: zod_1.z.string(),
status: zod_1.z.nativeEnum(session_1.SessionStatus),
createdAt: zod_1.z.date(),
});
/**
* Schema for session list validation.
*/
exports.sessionListSchema = zod_1.z.object({
sessions: zod_1.z.array(exports.sessionSchema),
total: zod_1.z.number(),
hasMore: zod_1.z.boolean(),
});
/**
* Schema for context validation.
*/
exports.contextSchema = zod_1.z.object({
memoryUsed: zod_1.z.boolean(),
context: zod_1.z.string(),
});