@sschepis/plexus-sdk
v0.2.3
Published
Plexus isomorphic JavaScript/TypeScript SDK — decentralized P2P graph database
Maintainers
Readme
@sschepis/plexus-sdk
Plexus isomorphic JavaScript/TypeScript SDK — browser + Node.js client for the Plexus decentralized graph database.
Quick Start
import { Core, Schema, Identity } from '@sschepis/plexus-sdk';
const db = await Core.initialize({
transports: ['websocket'],
schemas: {
user: { name: 'UserProfile', version: 1, fields: { name: { type: 'string', required: true } } },
},
});
const scope = db.scope('global');
await scope.put('alice', { name: 'Alice' }, { schema: 'UserProfile' });
const result = await scope.get('alice');
console.log(result?.value);
const rows = await db.sql("SELECT * FROM userprofile_1");
console.log(rows);API
Core.initialize(config)— load WASM, register schemas, start subscriptionscore.scope(path)→Scopescope.get(key)/scope.put(key, value, opts?)scope.on(callback)→ unsubscribe functioncore.sql(query)→ typed rowsIdentity.generate()/Identity.fromSeed(seed)Schema.define(name, version, fields)
Error Types
SchemaError— schema registration/validation failuresAuthError— UCAN/permission failuresNetworkError— mesh connectivity issuesConflictError— clock monotonicity violationsStorageError— IndexedDB/quota issues
Build
wasm-pack build --target web crates/plexus-wasm
pnpm install
pnpm build