Server & Middleware
The TypeScript SDK provides a base SekuireServer class plus Express/Fastify adapters for trust endpoints.
Implementing SekuireServer
SekuireServer is abstract. Create a subclass for your app-specific webhook behavior.
import { SekuireServer, generateKeyPair } from '@sekuire/sdk';
class AppSekuireServer extends SekuireServer {
async handleWebhook(payload: unknown): Promise<unknown> {
// Add app-specific behavior here
return { received: true, payload };
}
}
const keyPair = generateKeyPair();
const server = new AppSekuireServer('agent_123', keyPair);
Base behavior includes:
handleHello()forPOST /sekuire/hellohandleAuth()forPOST /sekuire/authhandleWebhook()forPOST /sekuire/webhook
Express Integration
import express from 'express';
import {
SekuireServer,
createSekuireExpressMiddleware,
generateKeyPair,
} from '@sekuire/sdk';
class AppSekuireServer extends SekuireServer {}
const app = express();
const server = new AppSekuireServer('agent_123', generateKeyPair());
// Returns [bodyParser, middleware]
app.use(...createSekuireExpressMiddleware(server));
app.get('/health', (_req, res) => {
res.json({ ok: true, agentId: server.getAgentId() });
});
app.listen(8000);
Fastify Integration
import Fastify from 'fastify';
import {
SekuireServer,
createSekuireFastifyPlugin,
generateKeyPair,
} from '@sekuire/sdk';
class AppSekuireServer extends SekuireServer {}
const app = Fastify();
const server = new AppSekuireServer('agent_123', generateKeyPair());
await app.register(createSekuireFastifyPlugin(server));
app.get('/health', async () => ({ ok: true, agentId: server.getAgentId() }));
await app.listen({ port: 8000, host: '0.0.0.0' });
Endpoint Summary
These helpers wire the protocol endpoints below:
POST /sekuire/helloPOST /sekuire/authPOST /sekuire/webhook