Static ReadonlyAuthorizesTrue when the action authorizes its caller itself, so a public entry point such as the
RunAction mutation may run it for an authenticated user without an MJ: Action Authorizations link. Set it only on an action that either checks an authorization the caller
must hold, or reads and writes only with the caller's own permissions. Leave it false for an
action that acts with more authority than its caller, or that reaches data or sends messages
the caller chooses but could not otherwise reach.
The engine reads the marker only from the class that runs, never from its parent classes. A subclass that overrides a marked action must declare the marker again.
Whether this action can bound what it returns to an audience (RunActionParams.Audience): everyone
besides the caller who will see its output, such as the other participants of a shared conversation.
false by default, and the engine enforces it: when a run's audience adds a reader beyond the caller,
ActionEngineServer.RunAction refuses the action with result code AUDIENCE_UNSUPPORTED, without running
it. Override to return true only when the action honours the audience in full — every record, snippet
and count it returns is something every reader may see (pass the audience to the search engine, check each
reader's entitlement to anything it scopes by, and leave out aggregates computed before that filtering).
ProtectedInternalExecutes the Tavily search.
The action parameters containing:
Days applies toSearch results, and the synthesized answer when requested
Executes the action with the provided parameters.
The action execution parameters including context
Promise resolving to the action result
Action that searches the web through Tavily, a search API built for LLM consumption: results arrive as extracted page content rather than as snippets plus links to go fetch.
Two things distinguish it from the other search actions in this package.
Topic: 'news'gives a date-filtered news index withPublishedDateon every result, which is what makes recency-sensitive questions answerable. AndIncludeAnswerreturns a synthesized answer alongside the results, so a caller that only needs the conclusion does not have to run its own summarization pass.Authentication is
Authorization: Bearer <key>. Tavily also still accepts anapi_keyfield in the request body, but that form is legacy and puts the credential in the payload, so it is not used here.Example