Skip to content

NLPAction

type NLPAction = NLPActionOptions & {
id: string;
};

Defined in: core/src/nlp/nlp.types.ts:68

An intent the NLP pass can recognise: the phrasings that should reach it, a generated id the engine keys on, and a name to show a human.

Ids are minted rather than authored, for the same reason slot ids are: nothing has to own a namespace, two providers cannot collide, and the format stays ours to constrain. A classification therefore answers with both — the id to dispatch on and the name to display.

Deliberately separate from Action rather than a field on it, and it will grow its own execute rather than delegating to one. The two surfaces want different things — an action is a typed, schema-validated call a model composes arguments for, while this is a phrase-matched intent whose arguments arrive as extracted spans — and reconciling the two costs more than it saves often enough that neither should be defined in terms of the other.

Where an existing action is the right target, that will be an adapter that maps extracted entities onto its input, not a coupling in this type.

id: string;