Skip to content
Browse documentation
API Reference

Events & lifecycle

Observe data loading, model work, query execution, and cleanup.

Listen to events

AVA extends the AntV event emitter. Listen with string event names; event constants are not re-exported by the public package entry points.

typescript
ava.on('translatestart', (event) => {
  console.log('Translating:', event.data);
});
ava.on('queryend', (event) => {
  console.log('Query completed:', event.data);
});

Each emitted event has type and data. End events can include a serialized error; receiving an end event alone does not imply success.

Listener parameters

These inherited methods are synchronous. on(), once(), and off() return the emitter.

MethodParameterTypeRequired / default
on(evt, callback, once?)evtstringRequired event name.
on(evt, callback, once?)callbackFunctionRequired listener; receives the emitted event.
on(evt, callback, once?)oncebooleanOptional; false; remove after one invocation when true.
once(evt, callback)evtstringRequired event name.
once(evt, callback)callbackFunctionRequired one-time listener.
off(evt?, callback?)evtstringOptional; omit to remove all listeners.
off(evt?, callback?)callbackFunctionOptional; omit to remove every listener for the event.
emit(evt, ...args)evtstringRequired event name to emit manually.
emit(evt, ...args)argsany[]Optional rest arguments passed to listeners.

emit() returns no value. getEvents() takes no parameters and returns the emitter's listener registry. Use off() with the same function reference that was passed to on() to remove a particular listener.

Event pairs

StageStart / end
Engine creationcreatestart / createend
Engine cleanupdisposestart / disposeend
Source loadingloadstart / loadend
Profilingprofilestart / profileend
Analysisanalyzestart / analyzeend
Translationtranslatestart / translateend
Query executionquerystart / queryend
Summarizationsummarizestart / summarizeend
Subset selectionselectcontextstart / selectcontextend
Loop reasoningreasonstart / reasonend
Visualizationvisualizestart / visualizeend
Suggestionssuggeststart / suggestend

Lifecycle

Engine creation happens when source() is called, not in the constructor. Replacing a source disposes the previous engine. dispose() clears the engine, schema, and latest profile.

Translation events may include query, attempt, or generated dsl; query events include the DSL or execution result. Reasoning events expose the loop step and action. These are useful for progress UI and diagnostics.