import { GraphCatalogService } from "../../../agents/graph/services/graph.catalog.service"; import { ScopeGuard } from "../../../agents/graph/services/scope.guard"; import { UserContext } from "../../../agents/graph/tools/tool.factory"; import { EntityServiceRegistry } from "../../../common/registries/entity.service.registry"; export interface ExtractedMention { /** JSON:API type, e.g. "npcs". */ type: string; id: string; /** Display text the user saw. */ alias: string; } /** * Turns a BlockNote document into the entity references a user message pins. * * A mention arrives from the browser, so it is INPUT, not a trusted pointer: * validate() re-checks catalog membership, scope and existence before any of * it reaches the LLM or becomes a REFERENCES edge. */ export declare class AssistantMentionExtractor { private readonly catalog; private readonly scopeGuard; private readonly entityServices; private readonly logger; constructor(catalog: GraphCatalogService, scopeGuard: ScopeGuard, entityServices: EntityServiceRegistry); /** Walks a BlockNote document for inline nodes of type "mention". Never throws. */ extract(blocks: unknown[]): ExtractedMention[]; /** * Drops mentions that are not in the catalog for these modules, are outside * the run's scope, or no longer resolve to a record. */ validate(params: { mentions: ExtractedMention[]; ctx: UserContext; }): Promise; } //# sourceMappingURL=assistant-mention.extractor.d.ts.map