Spanda

TypeScript SDK (@davalgi-spanda/sdk)

Official TypeScript/JavaScript client for Control Center UI, web dashboards, VS Code extensions, and cloud integrations. Part of the official multi-language SDK family — use this package when your application is written in TypeScript or JavaScript.

Install

From npm (released package):

npm install @davalgi-spanda/sdk

From this monorepo (development):

cd sdk/typescript && npm install && npm run build

In a monorepo workspace:

{ "dependencies": { "@davalgi-spanda/sdk": "file:../../sdk/typescript" } }

Usage

import { SpandaClient } from "@davalgi-spanda/sdk";

const client = SpandaClient.local();
const report = await client.readiness("rover.sd");
console.log(report.score);

Authentication

const client = new SpandaClient({
  baseUrl: process.env.SPANDA_CONTROL_CENTER_URL,
  apiKey: process.env.SPANDA_API_KEY,
});

Event stream

import { EventStream } from "@davalgi-spanda/sdk";

const stream = EventStream.local();
// Connect with ws package or browser WebSocket to stream.wsUrl
console.log(stream.wsUrl);

Control Center integration pattern

const client = SpandaClient.local();
const [health, entities] = await Promise.all([
  client.healthCheck(),
  client.listEntities(),
]);

Cognitive & Resilience domain clients

Functional domain wrappers over /v1/autonomy/* (guide: cognitive-resilience-architecture.md):

import { SpandaClient } from "@davalgi-spanda/sdk";

const client = SpandaClient.local();
const reflexes = await client.reflex().list();
const homeostasis = await client.homeostasis().summary();
const immunity = await client.immunity().scan();
const attention = await client.attention().queue();
const fusion = await client.fusion().summary();
const memory = await client.memory().summary();
const profile = await client.memory().entityRefs("rover-001");

Legacy methods (listAutonomyReflex(), getAutonomyHomeostasis(), …) remain available.

Client Methods
ReflexClient list(), traces()
HomeostasisClient summary()
ImmunityClient scan()
AttentionClient queue()
FusionClient summary()
MemoryClient summary(), entityRefs(id)

Examples

npx tsx examples/sdk/typescript/readiness.ts
npx tsx examples/sdk/typescript/control_center.ts

Tests

cd sdk/typescript && npm test

Publishing

See Publishing SDKs for npm org @davalgi-spanda, NPM_TOKEN, release tags (npm-sdk-v*), and 90-day token rotation.