ExuluDefaultTools is an object that groups the tool factories bundled with IMP. Each factory returns an ExuluTool instance (or undefined when the required license entitlement is absent), ready to pass to ExuluApp.create() or an agent’s tool list.
The namespace is intentionally structured so new built-in tools can be added without breaking existing imports.
ExuluDefaultTools.agentic.retrieval.create.pipeline requires the agentic-retrieval EE entitlement. When the entitlement is absent the factory returns undefined and logs a warning — filter undefined before passing to the tool list.API surface
ExuluDefaultTools.agentic.retrieval.create.pipeline
agentic_context_search). The tool routes a user question across the supplied contexts, expands it into sub-queries, searches and reranks, and returns deduplicated passages. It integrates with memory and project-scoped items when those options are provided.
ExuluContext[]
required
The knowledge contexts the tool may search. Their names appear in the tool description shown to the model.
ExuluContext
Optional context used for memory retrieval (prior conversation summaries or user facts).
User
Authenticated user record. Forwarded to access-control and budget attribution.
string
Role ID for RBAC filtering within searched contexts.
LanguageModel
AI SDK
LanguageModel used by the routing and query-expansion phases.string
Additional instructions prepended to the tool description (admin-supplied guidance on when to use the tool).
string[]
Global item IDs that are pinned into the result set regardless of semantic relevance.
VectorSearchChunkResult[]
Pre-fetched memory chunks to include in the initial result set.
ProjectScope
When set, the tool also searches knowledge items attached to the named project.
ExuluTool | undefined
An
ExuluTool ready for registration, or undefined when agentic-retrieval is not licensed.Example
Retrieval pipeline saved config options
When a session is configured with anagentic_context_search tool, the following options can be saved on the session’s saved knowledge-search configuration. All options are optional; omitted options fall back to their defaults.
JSON-typed options (
knowledge_bases, routing, vocabulary, memory, tuning) accept either a pre-parsed object or a JSON string; invalid JSON or schema failures silently fall back to defaults.
Auto-registered session tools
The following tools are registered automatically for every session that has an active session ID and file storage configured (fileUploads.s3Bucket present). Both conditions must be met — a session without an ID or without a configured S3 bucket will not receive these tools. They run without approval (needsApproval: false) and do not require an EE entitlement.
read_session_file
tool-output-*.txt) and user-uploaded documents. Supports offset (1-based) and limit to avoid loading the whole file at once. Maximum 16 000 characters returned per call.
Registration site: src/templates/tools/session-file-read-tool.ts.
parse_document
.docx, .xlsx, .pptx, and more). PDFs are returned with --- page N --- markers so the model can locate content by page. Scanned or image-only PDFs are detected and rejected with a hint to use view_document_page or a knowledge-base processor instead.
Registration site: src/templates/tools/parse-document-tool.ts.
view_document_page
supports_vision flag is false. Office documents are converted to PDF via a preview cache before rendering.
Registration site: src/templates/tools/view-document-page-tool.ts.
Related
- ExuluTool — introduction: how tools are defined and registered.
- ExuluContext — introduction: build the knowledge contexts passed here.