Member Junction
    Preparing search index...

    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 with PublishedDate on every result, which is what makes recency-sensitive questions answerable. And IncludeAnswer returns 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 an api_key field in the request body, but that form is legacy and puts the credential in the payload, so it is not used here.

    // Basic search
    await runAction({
    ActionName: 'Tavily Search',
    Params: [{ Name: 'Query', Value: 'association management software trends' }]
    });

    // Recent news, with a synthesized answer
    await runAction({
    ActionName: 'Tavily Search',
    Params: [
    { Name: 'Query', Value: 'nonprofit membership dues changes' },
    { Name: 'Topic', Value: 'news' },
    { Name: 'Days', Value: 7 },
    { Name: 'IncludeAnswer', Value: true }
    ]
    });

    // Advanced depth, restricted to two domains
    await runAction({
    ActionName: 'Tavily Search',
    Params: [
    { Name: 'Query', Value: 'IRS Form 990 filing requirements' },
    { Name: 'SearchDepth', Value: 'advanced' },
    { Name: 'IncludeDomains', Value: ['irs.gov', 'councilofnonprofits.org'] }
    ]
    });

    Hierarchy (View Summary)

    Index

    Constructors

    Properties

    Accessors

    Methods

    Constructors

    Properties

    AuthorizesCaller: boolean

    True 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.

    Accessors

    • get SupportsAudience(): boolean

      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).

      Returns boolean

    Methods

    • Executes the Tavily search.

      Parameters

      • params: RunActionParams

        The action parameters containing:

        • Query: Search query text (required)
        • SearchDepth: 'basic' (default) or 'advanced'. Advanced costs more Tavily credits per call and returns better-extracted content
        • Topic: 'general' (default) or 'news'. 'news' is the only topic that returns publication dates and the only one Days applies to
        • Days: For Topic 'news', how far back to search (default 3 at Tavily)
        • MaxResults: 1-20 (default 10)
        • IncludeAnswer: Return a synthesized answer alongside results (default false)
        • IncludeRawContent: Return full page text per result (default false) — this can be very large, so it is off unless asked for
        • IncludeDomains: Only return results from these domains
        • ExcludeDomains: Never return results from these domains

      Returns Promise<ActionResultSimple>

      Search results, and the synthesized answer when requested