QueryEngine class
Core conversation engine.
Implements the agentic loop: user message → API call → tool extraction → permission check → tool execution → result injection → compaction check → repeat
Constructors
- QueryEngine({required ApiProvider provider, required ToolRegistry toolRegistry, required String systemPrompt, QueryEngineConfig config = const QueryEngineConfig(), CompactionService? compactionService, SessionMemoryService? sessionMemory, ToolPermissionContext? permissionContext})
Properties
- compactionService ↔ CompactionService?
-
Optional compaction service.
getter/setter pair
- config → QueryEngineConfig
-
final
- hashCode → int
-
The hash code for this object.
no setterinherited
- permissionContext ↔ ToolPermissionContext?
-
Permission context for checking tool permissions.
getter/setter pair
- provider → ApiProvider
-
final
- runtimeType → Type
-
A representation of the runtime type of the object.
no setterinherited
- sessionMemory ↔ SessionMemoryService?
-
Optional session memory service.
getter/setter pair
- systemPrompt → String
-
final
- toolRegistry → ToolRegistry
-
final
Methods
-
noSuchMethod(
Invocation invocation) → dynamic -
Invoked when a nonexistent method or property is accessed.
inherited
-
query(
{required List< Message> messages, OnTextDelta? onTextDelta, OnToolUse? onToolUse, OnToolResult? onToolResult, OnApiError? onError, OnPermissionRequest? onPermissionRequest, OnCompaction? onCompaction, void onStreamEvent(StreamEvent)?}) → Future<Message> - Run a full query with tool use loop (streaming).
-
toString(
) → String -
A string representation of this object.
inherited
Operators
-
operator ==(
Object other) → bool -
The equality operator.
inherited