walkindb
v0.1.1
Published
walkindb is the database for agents — a private SQL database provisioned in one HTTP call, no signup, 10-minute TTL.
Maintainers
Readme
walkindb
JavaScript / TypeScript client for walkindb — the database for agents.
A single HTTP call provisions a private SQLite database with a 10-minute TTL. No signup, no API key, no credit card.
Install
npm install walkindbZero runtime dependencies. Works on Node 18+, Bun, Deno, Cloudflare Workers, and modern browsers (anywhere fetch exists).
Use
import { Client } from "walkindb";
const db = new Client();
await db.execute("CREATE TABLE notes(id INTEGER PRIMARY KEY, body TEXT)");
await db.execute("INSERT INTO notes(body) VALUES('hello')");
const res = await db.execute("SELECT * FROM notes");
console.log(res.columns); // ['id', 'body']
console.log(res.rows); // [[1, 'hello']]
console.log(res.rowsAffected); // 0 on SELECT, N on INSERT/UPDATE/DELETE
// The session token lives on the Client instance and is reused on subsequent
// calls, so you keep reaching the same walk-in database until its 10-minute
// TTL expires. `db.session` holds the token; `db.expiresAt` is the unix
// timestamp at which the instance will be deleted.
console.log(db.session, db.expiresAt);If you want a fresh walk-in:
db.resetSession();
await db.execute("SELECT 1"); // provisions a new instanceTypeScript
Types ship in the package — no @types/walkindb needed.
import { Client, WalkinDBError, type Result } from "walkindb";
const db = new Client({ timeoutMs: 5000 });
try {
const result: Result = await db.execute("SELECT 1");
console.log(result.rows);
} catch (e) {
if (e instanceof WalkinDBError) {
console.error(`walkindb ${e.status}: ${e.error}`);
}
}Errors
Non-2xx responses throw WalkinDBError with status and error. Notable codes:
- 400 — invalid JSON, missing
sql, forbidden keyword, or SQL syntax error - 404 — session token unknown, tampered, or expired (walkindb returns 404, not 401, to prevent enumeration)
- 408 — query exceeded the 2-second wall-clock timeout
- 413 — request body exceeded the 8 KB cap
- 429 — rate limit exceeded (60 req/min, 10 new instance creations/min per IP)
- 507 — instance storage quota exceeded (10 MB per walk-in)
What walkindb is not
- Not a durable database. Data is deleted after ~10 minutes.
- Not for PII or regulated data. See the AUP.
- Not a Postgres or MySQL replacement.
Apache 2.0. Server source at github.com/walkindb/walkindb. Landing page and full docs at walkindb.com.
