Skip to content

AiRegistry

Defined in: ai/fsm/registry.ts:90

Ctx = unknown

new AiRegistry<Ctx>(): AiRegistry<Ctx>

AiRegistry<Ctx>

actionNames(): string[]

Defined in: ai/fsm/registry.ts:150

Registered action/condition names, for editor palettes.

string[]


clear(): void

Defined in: ai/fsm/registry.ts:159

Drop all registrations (tests / hot-reload).

void


conditionNames(): string[]

Defined in: ai/fsm/registry.ts:154

string[]


getAction(name): AiAction<Ctx> | undefined

Defined in: ai/fsm/registry.ts:123

string

AiAction<Ctx> | undefined


getActionParams(name): readonly AiParamDef[]

Defined in: ai/fsm/registry.ts:128

The declared parameters of name (empty when it takes a bare string).

string

readonly AiParamDef[]


getActionSeparator(name): string

Defined in: ai/fsm/registry.ts:133

The separator joining name’s parameters in the canonical string form.

string

string


getCondition(name): AiCondition<Ctx> | undefined

Defined in: ai/fsm/registry.ts:137

string

AiCondition<Ctx> | undefined


hasAction(name): boolean

Defined in: ai/fsm/registry.ts:141

string

boolean


hasCondition(name): boolean

Defined in: ai/fsm/registry.ts:145

string

boolean


registerAction(name, fn): void

Defined in: ai/fsm/registry.ts:103

Register name, either as a bare function (input is the raw arg string, as it always was) or with declared parameters.

A declared action is stored WRAPPED in the projection, so both shapes are filled in no matter how it is reached — invokeAction, a direct getAction(name)(ctx, bb, "tabs:settings"), anything. Normalizing once here is what keeps the two forms from becoming two contracts.

string

AiAction<Ctx> | AiActionSpec<Ctx>

void


registerCondition(name, fn): void

Defined in: ai/fsm/registry.ts:119

string

AiCondition<Ctx>

void