TypeScript SDK

Install:

pnpm add @personamesh/sdk

Client

import { PersonaMesh } from "@personamesh/sdk";

const pm = new PersonaMesh({
  baseUrl: "https://api.personamesh.ai",  // or http://localhost:8787
  apiKey: process.env.PERSONAMESH_API_KEY, // optional in dev
});

Personas

const list   = await pm.personas.list();
const handle = await pm.personas.create(spec);
const same   = await pm.personas.get(handle.id);
await pm.personas.delete(handle.id);

Chat

// blocking
const reply = await handle.chat.send("Hello", { conversationId: "c1" });

// streaming
const { chunks, meta } = await handle.chat.stream("Hello");
for await (const chunk of chunks) process.stdout.write(chunk);
const m = await meta;  // { conversation_id, fingerprint, tokens_in/out, cost_usd, ... }

Memory

await handle.memory.remember({
  tier: "semantic",
  content: "Prefers Oxford comma",
  importance: 0.7,
});
const top = await handle.memory.recall("writing style", 5);
await handle.memory.forget(top[0].id);

Patterns of Life

const pol = await handle.pol.generate("seed-0x4f21");

Autonomy

await handle.autonomy.start({ budget_usd_per_day: 2 });
const result   = await handle.autonomy.tick();
const timeline = await handle.autonomy.timeline();
await handle.autonomy.stop();