@mochabug/adapt-core
v1.0.0-rc29
Published
Cross-platform core client library for Adapt automation platform
Readme
@mochabug/adapt-core
Low-level client for Adapt. REST API + WebSocket subscriptions.
npm install @mochabug/adapt-coreStart a session
import { startSession, stopSession } from '@mochabug/adapt-core';
const { token } = await startSession({ id: 'auto-123' }, authToken);
// later
await stopSession('auto-123', token);Start with specific transmitter and signals
For automations with multiple transmitters or when you need to pass initial data:
import { startSession, type SignalDataJson } from '@mochabug/adapt-core';
// Start from a specific transmitter
const { token } = await startSession({
id: 'auto-123',
transmitter: 'my-transmitter'
}, authToken);
// Start with initial signals
const signals: { [key: string]: SignalDataJson } = {
'input': {
mimeType: 'text/plain',
data: btoa('Hello World') // base64 encoded
},
'file': {
mimeType: 'application/pdf',
filename: 'document.pdf',
data: base64FileContent
}
};
const { token } = await startSession({
id: 'auto-123',
transmitter: 'file-processor',
signals
}, authToken);Inherit existing session
import { inheritSession } from '@mochabug/adapt-core';
const { token } = await inheritSession('auto-123', inheritToken);Real-time updates
import { PubsubClient } from '@mochabug/adapt-core';
const pubsub = new PubsubClient();
await pubsub.subscribe({
id: 'auto-123',
sessionToken: token,
onUrl: (url) => console.log('url:', url),
onSession: (session) => console.log('status:', session.status),
onOutput: (output) => console.log('output:', output)
});
await pubsub.unsubscribe();Other API calls
import { getSession, readOutput, readUrls } from '@mochabug/adapt-core';
const session = await getSession('auto-123', token);
const output = await readOutput('auto-123', token, { pageSize: 100 });
const urls = await readUrls('auto-123', token);Error handling
import { RestClientError } from '@mochabug/adapt-core';
try {
await startSession({ id: 'auto-123' });
} catch (e) {
if (e instanceof RestClientError) {
console.error(e.status, e.statusText);
}
}Retry behavior
All REST calls retry automatically on 429, 502, 503, 504. Max 5 attempts, exponential backoff.
License
ISC © mochabug AB
