Member Junction
    Preparing search index...

    Action that executes a universal search across the organization's knowledge base.

    This action delegates to the @memberjunction/search-engine singleton which orchestrates vector similarity search, full-text search, entity LIKE-based search, and (optionally) storage file search. Results are fused via Reciprocal Rank Fusion (RRF), deduplicated, and enriched with entity icons, record names, and tags.

    Designed for use by AI agents (Sage, etc.), MCP connectors, A2A connectors, and workflow orchestration.

    Not inside a tenant-scoped agent run. It searches across every tenant the caller can reach — it takes no tenant — so when RunActionParams.RunScope carries a tenant or a secondary dimension (ActionRunScopeIsBounded) it refuses with SEARCH_RUN_SCOPE_UNSUPPORTED and points the model at Scoped Search, which searches the run's tenant. Outside an agent run, or in an unscoped one, it searches as before.

    // Simple search
    await runAction({
    ActionName: 'Search',
    Params: [{ Name: 'Query', Value: 'quarterly revenue by region' }]
    });

    // Advanced search with filters
    await runAction({
    ActionName: 'Search',
    Params: [
    { Name: 'Query', Value: 'customer onboarding process' },
    { Name: 'MaxResults', Value: 10 },
    { Name: 'MinScore', Value: 0.3 },
    { Name: 'EntityNames', Value: 'Documents,Knowledge Articles' },
    { Name: 'IncludeSources', Value: 'vector,fulltext' }
    ]
    });

    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

      Honours an audience (RunActionParams.Audience): the search keeps only results every reader may read (SearchParams.Audience), and SourceCounts — counted before that filtering — are left out of the output. The search names no scope, so there is no scope entitlement to check per reader.

      Returns boolean

    Methods