Skip to content

MockBackendAdapter

Defined in: backend-browser/src/mock.ts:216

Mock Backend Adapter for testing

Returns predefined responses without making real API calls.

import { MockBackendAdapter } from 'ai.matey';
const backend = new MockBackendAdapter({
defaultResponse: 'This is a test response',
});
const backend = new MockBackendAdapter({
modelResponses: {
'gpt-4': 'GPT-4 response',
'claude-3': 'Claude response',
},
});
const backend = new MockBackendAdapter({
responseGenerator: (request) => {
const lastMessage = request.messages[request.messages.length - 1];
return `You said: ${lastMessage.content[0].text}`;
},
});
const backend = new MockBackendAdapter({
defaultResponse: {
content: '',
error: new Error('Simulated API error'),
},
});

new MockBackendAdapter(config): MockBackendAdapter

Defined in: backend-browser/src/mock.ts:249

MockBackendConfig = {}

MockBackendAdapter

allRequests: IRChatRequest[] = []

Defined in: backend-browser/src/mock.ts:247

All requests received by this adapter (for testing).


optional lastRequest: IRChatRequest

Defined in: backend-browser/src/mock.ts:242

Last request received by this adapter (for testing).


readonly metadata: AdapterMetadata

Defined in: backend-browser/src/mock.ts:217

Adapter metadata for identification and capabilities.

BackendAdapter.metadata

clearHistory(): void

Defined in: backend-browser/src/mock.ts:645

Clear request history (for testing). Resets both lastRequest and allRequests.

void


execute(irRequest): Promise<IRChatResponse>

Defined in: backend-browser/src/mock.ts:306

Execute a chat request with predefined mock response.

This method processes an IR chat request and returns a mock response without making any real API calls. It simulates delays, errors, and usage statistics based on configuration. Useful for testing, development, and demonstrations where you need predictable responses without external dependencies.

IRChatRequest

Universal IR chat request

Promise<IRChatResponse>

Promise resolving to mock IR chat response

If mock response is configured to throw an error

const adapter = new MockBackendAdapter({
responses: [{
content: 'This is a mock response!',
delay: 100 // Simulate 100ms network delay
}]
});
const response = await adapter.execute(request);
console.log(response.message.content);

BackendAdapter.execute


executeStream(irRequest): IRChatStream

Defined in: backend-browser/src/mock.ts:390

Execute a streaming chat request with predefined mock response.

This async generator processes an IR chat request and yields mock stream chunks without making any real API calls. It simulates realistic streaming behavior by splitting responses into chunks with configurable delays between them. Supports error simulation and usage statistics. Perfect for testing streaming UI components without external dependencies.

IRChatRequest

Universal IR chat request

IRChatStream

IR stream chunks including start, content, done, and error events

const adapter = new MockBackendAdapter({
responses: [{
content: 'Streaming mock response!',
streamDelayMs: 50 // 50ms between chunks
}]
});
for await (const chunk of adapter.executeStream(request)) {
if (chunk.type === 'content') {
console.log('Chunk:', chunk.delta);
}
}

BackendAdapter.executeStream


fromIR(request): IRChatRequest

Defined in: backend-browser/src/mock.ts:265

Convert IR request to mock format (passthrough since mock uses IR).

IRChatRequest

IRChatRequest

BackendAdapter.fromIR


listModels(options?): Promise<ListModelsResult>

Defined in: backend-browser/src/mock.ts:488

List available mock models.

Returns configured models or default mock models.

ListModelsOptions

Promise<ListModelsResult>

BackendAdapter.listModels


toIR(response, _originalRequest, _latencyMs): IRChatResponse

Defined in: backend-browser/src/mock.ts:273

Convert mock response to IR format (passthrough since mock uses IR).

IRChatResponse

IRChatRequest

number

IRChatResponse

BackendAdapter.toIR