Skip to Content
SDK & ClientTypeScript SDKOverview

TypeScript SDK (kalam-link)

kalam-link is the official TypeScript/JavaScript SDK for KalamDB.

Status: This SDK is in alpha and is subject to change between releases.

It provides:

  • SQL execution (query, queryOne, queryAll, executeAsUser, queryWithFiles)
  • auth flows (login, refreshToken)
  • realtime streams (subscribe, subscribeWithSql)
  • topic worker APIs (consumer, consumeBatch, ack)
  • agent runtime APIs (runAgent, runConsumer, createLangChainAdapter)

Runtime targets: modern browsers and Node.js >= 18.

Minimal Example

import { createClient, Auth, MessageType } from 'kalam-link'; const client = createClient({ url: 'http://localhost:8080', auth: Auth.basic('admin', 'AdminPass123!'), }); await client.login(); await client.connect(); const result = await client.query('SELECT CURRENT_USER()'); console.log(result.results[0]); const unsub = await client.subscribe('app.messages', (event) => { if (event.type === MessageType.Change) { console.log(event.rows); } }); await unsub(); await client.disconnect();
  1. Setup & Quick Start
  2. Chat Quickstart (Docs-Only)
  3. Authentication
  4. Querying & DML
  5. Realtime Subscriptions
  6. Agent Runtime
  7. Topic Consumers & ACK
  8. FILE Columns & Uploads
  9. Cookbook

Source-Backed Notes

  • subscribe() returns an Unsubscribe function (Promise<() => Promise<void>>).
  • subscribeWithSql() tracks IDs internally; inspect via getSubscriptions().
  • queryWithFiles() posts multipart directly to POST /v1/api/sql.
  • login() and refreshToken() both update in-memory auth mode to JWT.
Last updated on