@exulu/backend source. For constructor options, see Configuration.
Constructor
Instance method: execute()
Runs the tool directly from your own code, outside of a chat session. Useful for testing, background jobs, or triggering tool logic programmatically.Agent ID on whose behalf the tool runs. IMP resolves the agent record, its configured model, and the API key needed for any provider calls that the tool’s execution chain makes.
The app’s
ExuluConfig — needed to resolve tools and provider keys at runtime.Calling user. Used for access control (for example, OAuth token lookup keyed on
userId) and for logging.Input values passed to
execute. Must conform to the tool’s inputSchema.Project ID, forwarded to tool-conversion utilities that scope agentic context searches to a project.
Session item IDs, forwarded to tool-conversion utilities for session-scoped tools.
The result string from the tool’s last yielded or returned value.
Job ID if the tool enqueued background work.
Items for context-retrieval tools.
Static factory: ExuluTool.internal()
Creates a tool whosetype is one of the framework-managed values ("agent" or "context"). Not part of the public API — package consumers should use new ExuluTool(...), which only accepts a PublicToolType.
type: "function", then mutates instance.type to the requested managed type — bypassing the constructor guard without weakening it for consumers.