@memobase/memobase
v0.0.18
Published
Client SDK for Memobase
Readme
Memobase TypeScript and JavaScript API Library
This library provides convenient access to the Memobase REST API from TypeScript or JavaScript.
Installation
npm install @memobase/memobaseInstallation from JSR
deno add jsr:@memobase/memobase
npx jsr add @memobase/memobaseUsage
The code below shows how to get started using the completions API.
import { MemoBaseClient, Blob, BlobType } from '@memobase/memobase';
const client = new MemoBaseClient(process.env['MEMOBASE_PROJECT_URL'], process.env['MEMOBASE_API_KEY'])
const main = async () => {
const ping = await client.ping()
console.log('Ping: ', ping)
const config = await client.getConfig()
console.log('Config: ', config)
const updateConfig = await client.updateConfig('a: 1')
console.log('Update config: ', updateConfig)
let userId = await client.addUser()
console.log('Add user: ', userId)
userId = await client.updateUser(userId, { name: 'John Doe' })
console.log('Updated user id: ', userId)
let user = await client.getUser(userId)
console.log('User: ', user)
const blobId = await user.insert(Blob.parse({
type: BlobType.Enum.chat,
messages: [{
role: 'user',
content: 'Hello, how are you? my name is John Doe'
}]
}))
console.log('Insert blob: ', blobId)
const blob = await user.get(blobId)
console.log('Blob: ', blob)
const flushSuc = await user.flush(BlobType.Enum.chat)
console.log('Flush success: ', flushSuc)
const blobs = await user.getAll(BlobType.Enum.chat)
console.log('Blobs: ', blobs)
user = await client.getOrCreateUser(userId)
console.log('Get or create user: ', user)
const addProfileSuc = await user.addProfile("Content", "Topic1", "SubTopic1")
console.log('Add profile success: ', addProfileSuc)
const profiles = await user.profile(2000)
console.log('Profiles: ', profiles)
const updateProfileSuc = await user.updateProfile(profiles[0].id, "New Content", "New Topic", "New SubTopic")
console.log('Update profile success: ', updateProfileSuc)
const deleteProfileSuc = await user.deleteProfile(profiles[0].id)
console.log('Delete profile success: ', deleteProfileSuc)
const event = await user.event(10, 1000)
console.log('Event: ', event)
const updateEventSuc = await user.updateEvent(event[0].id, {
"id": event[0].id,
"event_data": {
"profile_delta": [
{
"content": "New Event Content",
"attributes": {
"topic": "interest",
"sub_topic": "foods"
}
}
]
},
created_at: new Date(),
updated_at: new Date()
})
console.log('Update event success: ', updateEventSuc)
const deleteEventSuc = await user.deleteEvent(event[0].id)
console.log('Delete event success: ', deleteEventSuc)
const context = await user.context(2000, 1000)
console.log('Context: ', context)
const isDel = await client.deleteUser(userId)
console.log('Delete user success: ', isDel)
}
main()Support
Join the community for support and discussions:
Or Just email us ❤️
Contributors
This project exists thanks to all the people who contribute.
And thank you to all our backers! 🙏
License
This project is licensed under the Apache 2.0 License - see the LICENSE file for details.
