Class: Kernl
Defined in: packages/kernl/src/kernl/kernl.ts:31
The kernl - manages agent processes, scheduling, and task lifecycle.
Orchestrates agent execution, including guardrails, tool calls, session persistence, and tracing.
Extends
KernlHooks
Constructors
Constructor
new Kernl(options: KernlOptions): Kernl;Defined in: packages/kernl/src/kernl/kernl.ts:50
Parameters
| Parameter | Type |
|---|---|
options | KernlOptions |
Returns
Kernl
Overrides
KernlHooks.constructorProperties
| Property | Modifier | Type | Defined in |
|---|---|---|---|
agents | readonly | RAgents | packages/kernl/src/kernl/kernl.ts:47 |
athreads | public | Map<string, Thread<any, any>> | packages/kernl/src/kernl/kernl.ts:38 |
memories | readonly | Memory | packages/kernl/src/kernl/kernl.ts:48 |
storage | readonly | KernlStorage | packages/kernl/src/kernl/kernl.ts:37 |
threads | readonly | RThreads | packages/kernl/src/kernl/kernl.ts:46 |
Methods
emit()
emit<K>(event: K, ...args: KernlHookEvents[K]): boolean;Defined in: packages/shared/dist/emitter.d.ts:28
Type Parameters
| Type Parameter |
|---|
K extends keyof KernlHookEvents |
Parameters
| Parameter | Type |
|---|---|
event | K |
...args | KernlHookEvents[K] |
Returns
boolean
Inherited from
KernlHooks.emitoff()
off<K>(event: K, listener: (...args: KernlHookEvents[K]) => void): this;Defined in: packages/shared/dist/emitter.d.ts:26
Type Parameters
| Type Parameter |
|---|
K extends keyof KernlHookEvents |
Parameters
| Parameter | Type |
|---|---|
event | K |
listener | (...args: KernlHookEvents[K]) => void |
Returns
this
Inherited from
KernlHooks.offon()
on<K>(event: K, listener: (...args: KernlHookEvents[K]) => void): this;Defined in: packages/shared/dist/emitter.d.ts:25
Type Parameters
| Type Parameter |
|---|
K extends keyof KernlHookEvents |
Parameters
| Parameter | Type |
|---|---|
event | K |
listener | (...args: KernlHookEvents[K]) => void |
Returns
this
Inherited from
KernlHooks.ononce()
once<K>(event: K, listener: (...args: KernlHookEvents[K]) => void): this;Defined in: packages/shared/dist/emitter.d.ts:27
Type Parameters
| Type Parameter |
|---|
K extends keyof KernlHookEvents |
Parameters
| Parameter | Type |
|---|---|
event | K |
listener | (...args: KernlHookEvents[K]) => void |
Returns
this
Inherited from
KernlHooks.onceregister()
register(agent: BaseAgent<any>): void;Defined in: packages/kernl/src/kernl/kernl.ts:68
Registers a new agent with the kernl instance.
Parameters
| Parameter | Type |
|---|---|
agent | BaseAgent<any> |
Returns
void
schedule()
schedule<TContext, TOutput>(thread: Thread<TContext, TOutput>): Promise<ThreadExecuteResult<ResolvedAgentResponse<TOutput>>>;Defined in: packages/kernl/src/kernl/kernl.ts:117
Schedule an existing thread - blocking execution
NOTE: just blocks for now
Type Parameters
| Type Parameter |
|---|
TContext |
TOutput extends AgentOutputType |
Parameters
| Parameter | Type |
|---|---|
thread | Thread<TContext, TOutput> |
Returns
Promise<ThreadExecuteResult<ResolvedAgentResponse<TOutput>>>
scheduleStream()
scheduleStream<TContext, TOutput>(thread: Thread<TContext, TOutput>): AsyncIterable<ThreadStreamEvent>;Defined in: packages/kernl/src/kernl/kernl.ts:151
(TMP) - won't make sense with async scheduling contexts
Schedule an existing thread - streaming execution
Type Parameters
| Type Parameter |
|---|
TContext |
TOutput extends AgentOutputType |
Parameters
| Parameter | Type |
|---|---|
thread | Thread<TContext, TOutput> |
Returns
AsyncIterable<ThreadStreamEvent>
spawn()
spawn<TContext, TOutput>(thread: Thread<TContext, TOutput>): Promise<ThreadExecuteResult<ResolvedAgentResponse<TOutput>>>;Defined in: packages/kernl/src/kernl/kernl.ts:100
Spawn a new thread - blocking execution
Type Parameters
| Type Parameter |
|---|
TContext |
TOutput extends AgentOutputType |
Parameters
| Parameter | Type |
|---|---|
thread | Thread<TContext, TOutput> |
Returns
Promise<ThreadExecuteResult<ResolvedAgentResponse<TOutput>>>
spawnStream()
spawnStream<TContext, TOutput>(thread: Thread<TContext, TOutput>): AsyncIterable<ThreadStreamEvent>;Defined in: packages/kernl/src/kernl/kernl.ts:134
(TMP) - won't make sense in async scheduling contexts
Spawn a new thread - streaming execution
Type Parameters
| Type Parameter |
|---|
TContext |
TOutput extends AgentOutputType |
Parameters
| Parameter | Type |
|---|---|
thread | Thread<TContext, TOutput> |
Returns
AsyncIterable<ThreadStreamEvent>