- Add intelligent-router.sh hook for automatic agent routing - Add AUTO-TRIGGER-SUMMARY.md documentation - Add FINAL-INTEGRATION-SUMMARY.md documentation - Complete Prometheus integration (6 commands + 4 tools) - Complete Dexto integration (12 commands + 5 tools) - Enhanced Ralph with access to all agents - Fix /clawd command (removed disable-model-invocation) - Update hooks.json to v5 with intelligent routing - 291 total skills now available - All 21 commands with automatic routing 🤖 Generated with [Claude Code](https://claude.com/claude-code) Co-Authored-By: Claude <noreply@anthropic.com>
108 lines
2.9 KiB
Markdown
108 lines
2.9 KiB
Markdown
# Dexto Client SDK
|
|
|
|
An ultra-lightweight, zero-dependency HTTP client SDK for the Dexto API.
|
|
|
|
## Features
|
|
|
|
- 🚀 **Ultra-lightweight**: Only 80KB bundle size
|
|
- 🔌 **Zero dependencies**: No external libraries
|
|
- 🌐 **Universal**: Works in Node.js, browsers, and React Native
|
|
- 📡 **HTTP + SSE**: Full REST API and real-time SSE streaming support
|
|
- 🛡️ **TypeScript**: Full type safety
|
|
- 🔄 **Auto-retry**: Built-in retry logic with exponential backoff
|
|
- ⚡ **Fast**: Server-side validation, client-side pass-through
|
|
|
|
## Installation
|
|
|
|
```bash
|
|
npm install @dexto/client-sdk
|
|
```
|
|
|
|
## Quick Start
|
|
|
|
```typescript
|
|
import { DextoClient } from '@dexto/client-sdk';
|
|
|
|
const client = new DextoClient({
|
|
baseUrl: 'https://your-dexto-server.com',
|
|
apiKey: 'optional-api-key'
|
|
});
|
|
|
|
// Connect to Dexto server
|
|
await client.connect();
|
|
|
|
// Send a message
|
|
const response = await client.sendMessage({
|
|
content: 'Hello, how can you help me?'
|
|
});
|
|
|
|
console.log(response.response);
|
|
```
|
|
|
|
## Configuration
|
|
|
|
```typescript
|
|
const client = new DextoClient({
|
|
baseUrl: 'https://your-dexto-server.com', // Required: Dexto API base URL
|
|
apiKey: 'your-api-key', // Optional: API key for auth
|
|
timeout: 30000, // Optional: Request timeout (ms)
|
|
retries: 3, // Optional: Retry attempts
|
|
}, {
|
|
reconnect: true, // Optional: Auto-reconnect
|
|
reconnectInterval: 5000, // Optional: Reconnect delay (ms)
|
|
debug: false // Optional: Debug logging
|
|
});
|
|
```
|
|
|
|
## API Methods
|
|
|
|
### Connection Management
|
|
- `connect()` - Establish connection to Dexto server
|
|
- `disconnect()` - Close connection
|
|
- `isConnected` - Check connection status
|
|
|
|
### Messaging
|
|
- `sendMessage(input)` - Send message (HTTP)
|
|
- SSE streaming available via `/api/message-stream` endpoint
|
|
|
|
### Session Management
|
|
- `listSessions()` - List all sessions
|
|
- `createSession(id?)` - Create new session
|
|
- `getSession(id)` - Get session details
|
|
- `deleteSession(id)` - Delete session
|
|
|
|
### Real-time Events
|
|
- `on(eventType, handler)` - Subscribe to Dexto events
|
|
- `onConnectionState(handler)` - Connection state changes
|
|
|
|
## Error Handling
|
|
|
|
```typescript
|
|
try {
|
|
await client.sendMessage({ content: 'Hello' });
|
|
} catch (error) {
|
|
if (error.name === 'ConnectionError') {
|
|
console.log('Failed to connect to Dexto server');
|
|
} else if (error.name === 'HttpError') {
|
|
console.log(`HTTP ${error.status}: ${error.statusText}`);
|
|
}
|
|
}
|
|
```
|
|
|
|
## Philosophy
|
|
|
|
This SDK follows the **thin client** philosophy:
|
|
|
|
- ✅ **Pass-through**: Data goes directly to Dexto server
|
|
- ✅ **Server validation**: Let the Dexto server handle all validation
|
|
- ✅ **Simple errors**: Return server errors as-is
|
|
- ✅ **Type safety**: Full TypeScript support
|
|
- ✅ **Fast**: Minimal client-side processing
|
|
|
|
## Bundle Size
|
|
|
|
- **Total**: ~80KB
|
|
- **Main bundle**: ~25KB
|
|
- **Type definitions**: ~10KB
|
|
- **Zero external dependencies**
|