Skip to content

Bridge

Defined in: ai.matey.core/src/bridge.ts:48

Bridge connects frontend and backend adapters.

TFrontend extends FrontendAdapter = FrontendAdapter

Frontend adapter type

new Bridge<TFrontend>(frontend, backend, config): Bridge<TFrontend>

Defined in: ai.matey.core/src/bridge.ts:76

Create a new Bridge instance.

TFrontend

Frontend adapter

BackendAdapter

Backend adapter

Partial<BridgeConfig> = {}

Bridge configuration

Bridge<TFrontend>

readonly backend: BackendAdapter

Defined in: ai.matey.core/src/bridge.ts:52

Backend adapter or router.

Bridge.backend


readonly config: BridgeConfig

Defined in: ai.matey.core/src/bridge.ts:53

Bridge configuration.

Bridge.config


readonly frontend: TFrontend

Defined in: ai.matey.core/src/bridge.ts:51

Frontend adapter for this bridge.

Bridge.frontend


generateObject: <T>(options) => Promise<GenerateObjectResult<T>>

Defined in: ai.matey.core/src/bridge.ts:673

Generate a structured object matching a Zod schema using an LLM.

This method uses tool calling to extract structured data from the LLM response, validates it against the provided schema, and returns the typed object.

T = any

GenerateObjectOptions

Configuration for object generation

Promise<GenerateObjectResult<T>>

Promise resolving to the generated and validated object

const UserSchema = z.object({
name: z.string(),
age: z.number(),
email: z.string().email(),
});
const result = await bridge.generateObject({
schema: UserSchema,
prompt: 'Generate a user profile for Alice, age 30',
model: 'gpt-4',
});
console.log(result.object); // { name: 'Alice', age: 30, email: '...' }

streamObject: <T>(options) => AsyncGenerator<Partial<T>, T>

Defined in: ai.matey.core/src/bridge.ts:705

Stream a structured object matching a Zod schema using an LLM.

This method uses streaming tool calling to incrementally build up a structured object, yielding partial results as they become available.

T = any

StreamObjectOptions

Configuration for streaming object generation

AsyncGenerator<Partial<T>, T>

Async generator yielding partial objects and returning the final validated object

const ArticleSchema = z.object({
title: z.string(),
content: z.string(),
tags: z.array(z.string()),
});
const stream = bridge.streamObject({
schema: ArticleSchema,
prompt: 'Write a blog post about TypeScript',
onPartial: (partial) => {
console.log('Partial:', partial);
},
});
for await (const partial of stream) {
console.log('Progress:', partial);
}

chat(request, options?): Promise<InferFrontendResponse<TFrontend>>

Defined in: ai.matey.core/src/bridge.ts:98

Execute a non-streaming chat completion request.

InferFrontendRequest<TFrontend>

RequestOptions

Promise<InferFrontendResponse<TFrontend>>

Bridge.chat


chatStream(request, options?): AsyncGenerator<InferFrontendStreamChunk<TFrontend>, void, undefined>

Defined in: ai.matey.core/src/bridge.ts:216

Execute a streaming chat completion request.

InferFrontendRequest<TFrontend>

RequestOptions

AsyncGenerator<InferFrontendStreamChunk<TFrontend>, void, undefined>

Bridge.chatStream


checkHealth(): Promise<boolean>

Defined in: ai.matey.core/src/bridge.ts:550

Check health of the backend.

Promise<boolean>

true if backend is healthy, false otherwise


clearMiddleware(): Bridge<TFrontend>

Defined in: ai.matey.core/src/bridge.ts:413

Clear all middleware from the stack.

Bridge<TFrontend>

Bridge.clearMiddleware


clone(config): Bridge<TFrontend>

Defined in: ai.matey.core/src/bridge.ts:569

Clone bridge with new configuration.

Partial<BridgeConfig>

Bridge<TFrontend>

Bridge.clone


dispose(): void

Defined in: ai.matey.core/src/bridge.ts:579

Clean up resources.

void

Bridge.dispose


getConfig(): Readonly<BridgeConfig>

Defined in: ai.matey.core/src/bridge.ts:562

Get a copy of the bridge configuration.

Readonly<BridgeConfig>

Readonly copy of the bridge configuration


getMiddleware(): readonly Middleware[]

Defined in: ai.matey.core/src/bridge.ts:421

Get all middleware in the stack.

readonly Middleware[]

Bridge.getMiddleware


getRouter(): null

Defined in: ai.matey.core/src/bridge.ts:541

Get router instance (returns null for basic Bridge).

null

Bridge.getRouter


getStats(): BridgeStats

Defined in: ai.matey.core/src/bridge.ts:488

Get runtime statistics for this bridge.

BridgeStats

Bridge statistics including request counts, latencies, and error breakdown

Bridge.getStats


hasModel(modelId): Promise<boolean>

Defined in: ai.matey.core/src/bridge.ts:347

Check if a specific model is available from the backend.

string

Model identifier to check

Promise<boolean>

true if model is available, false otherwise


listModels(options?): Promise<ListModelsResult | null>

Defined in: ai.matey.core/src/bridge.ts:333

List available models from the backend.

This delegates directly to the backend adapter’s listModels() method. Useful for discovering available models before making requests.

ListModelsOptions

Options for listing models (filtering, cache control)

Promise<ListModelsResult | null>

List of available models, or null if backend doesn’t support listing


off(event, listener): Bridge<TFrontend>

Defined in: ai.matey.core/src/bridge.ts:453

Remove an event listener.

Event type

BridgeEventType | "*"

BridgeEventListener

Callback function to remove

Bridge<TFrontend>

Bridge.off


on(event, listener): Bridge<TFrontend>

Defined in: ai.matey.core/src/bridge.ts:438

Register an event listener.

Note: Event emission is not yet implemented. Listeners are stored for future use when event emission is added.

Event type to listen for, or ‘*’ for all events

BridgeEventType | "*"

BridgeEventListener

Callback function

Bridge<TFrontend>

Bridge.on


once(event, listener): Bridge<TFrontend>

Defined in: ai.matey.core/src/bridge.ts:471

Register a one-time event listener.

Note: Event emission is not yet implemented. Listeners are stored for future use when event emission is added.

BridgeEventType

Event type to listen for

BridgeEventListener

Callback function

Bridge<TFrontend>

Bridge.once


removeMiddleware(middleware): Bridge<TFrontend>

Defined in: ai.matey.core/src/bridge.ts:405

Remove middleware from the stack.

Middleware

Middleware to remove

Bridge<TFrontend>

This bridge for chaining

Bridge.removeMiddleware


resetStats(): void

Defined in: ai.matey.core/src/bridge.ts:524

Reset all statistics to zero.

void

Bridge.resetStats


use(middleware): Bridge<TFrontend>

Defined in: ai.matey.core/src/bridge.ts:394

Add middleware to the bridge’s middleware stack.

Middleware

Bridge<TFrontend>

Bridge.use


validateModel(modelId): Promise<void>

Defined in: ai.matey.core/src/bridge.ts:365

Validate that a model is available (optional safety check).

Note: This is an optional validation - the system doesn’t automatically validate models since cross-provider translation is supported.

string

Model identifier to validate

Promise<void>

If model is not available