Skip to main content

Interface: RouteConfig<TInput, TOutput>

Defined in: packages/core/src/pipeline/types.ts:271

Configuration for routing step.

Example

const config: RouteConfig<BlogPost, ProcessedPost> = {
classifier: contentClassifier,
routes: {
article: processArticle,
tutorial: processTutorial,
review: processReview
},
routeField: 'type',
defaultRoute: 'article'
};

Type Parameters

TInput

TInput

Input type for classifier and routes

TOutput

TOutput

Output type from route processors

Properties

classifier

classifier: Processable<TInput, any> | ((input) => any)

Defined in: packages/core/src/pipeline/types.ts:282

Classifies the input and returns an object carrying routeField.

Processable, not Baleybot, for the reason spelled out on MapBotConfig.bot: Baleybot has private fields, so it is nominally typed, and naming it here rejected every other primitive that classifies perfectly well at runtime — a pipeline, a graph, a conditional(), a ChatBot, or a plain function. route() never called a Baleybot-only method; it has always put this through asProcessable.


defaultRoute?

optional defaultRoute?: string

Defined in: packages/core/src/pipeline/types.ts:293

Fallback route if classification doesn't match any route key


passClassifierOutput?

optional passClassifierOutput?: boolean

Defined in: packages/core/src/pipeline/types.ts:296

Pass classifier output to route processor instead of original input


routeField?

optional routeField?: string

Defined in: packages/core/src/pipeline/types.ts:290

Field in classifier output to use for routing (default: 'type')


routes

routes: Record<string, Processable<TInput, TOutput>>

Defined in: packages/core/src/pipeline/types.ts:287

Map of route keys to processors