Telek

class Telek(scope: CoroutineScope = CoroutineScope(Dispatchers.Default), userStateStore: UserStateStore = DefaultUserStateStore(), dispatchers: List<StateDispatcher<out State>>, initialStateProvider: InitialStateProvider = InitialStateProvider { EmptyState }, interceptors: List<TelekInterceptor> = emptyList(), effectExecutor: EffectExecutor, findDispatcherStrategy: FindDispatcherStrategy = DefaultFindDispatcherStrategy(dispatchers), chatWorkerIdleTimeout: Duration = 15.minutes, chatInboxCapacity: Int = 64, logger: TelekLogger = TelekLogger.NoOp)

Parameters

logger

defaults to TelekLogger.NoOp, which discards everything. Three of telek's six diagnostics are reported nowhere else — see TelekLogger for the list and for what each one looks like when nobody hears it.

Constructors

Link copied to clipboard
constructor(scope: CoroutineScope = CoroutineScope(Dispatchers.Default), userStateStore: UserStateStore = DefaultUserStateStore(), dispatchers: List<StateDispatcher<out State>>, initialStateProvider: InitialStateProvider = InitialStateProvider { EmptyState }, interceptors: List<TelekInterceptor> = emptyList(), effectExecutor: EffectExecutor, findDispatcherStrategy: FindDispatcherStrategy = DefaultFindDispatcherStrategy(dispatchers), chatWorkerIdleTimeout: Duration = 15.minutes, chatInboxCapacity: Int = 64, logger: TelekLogger = TelekLogger.NoOp)

Functions

Link copied to clipboard
fun onInput(key: ConversationKey, input: Input)

Feeds an input into the conversation identified by key.