SourceAnalysisContext

constructor(schema: <Error class: unknown class>, entityResolver: EntityResolver, contextId: <Error class: unknown class>, knownEntities: List<KnownEntity> = emptyList(), relations: Relations = Relations.empty(), promptVariables: Map<String, Any> = emptyMap(), sourceLocator: SourceLocator? = null, perspective: ExtractionPerspective? = null, mintNewEntities: Boolean = false, mintedEntityProperties: Map<String, Any> = emptyMap(), sourceRevision: SourceRevisionRef? = null, profile: ExtractionContentProfileRef? = null, currentRun: ExtractionRunRef? = null)

Parameters

schema

the schema to use for analysis

entityResolver

the entity resolver to use for entity disambiguation

knownEntities

optional list of known entities to assist with disambiguation and prompt context

relations

optional collection of additional relation types beyond those defined in the schema

promptVariables

optional additional model data for analysis. Must be passed to any templated LLM prompts used.

perspective

optional per-call extraction perspective. When set it overrides the extractor instance's default perspective for this analysis only (see ExtractionPerspective). null (the default) means "use the extractor's own perspective" — zero behaviour change.

sourceLocator

optional pointer to where this run's material lives. When set, the pipeline stamps it onto every extracted proposition's provenance, so a caller that knows the real source (a file, a URI, a connector record) gets richer grounding than the content-hash fallback.

sourceRevision

optional revision of sourceLocator — the provider's own identifier for the version of that source this run reads. Setting it requires a sourceLocator whose key it matches, so a revision can never name a source the run is not actually reading.

profile

optional extraction content profile the host wants this analysis attributed to. EXPERIMENTAL. DICE carries the reference and nothing else — it selects no provider, model, or credential, and no DICE code reads policy out of it. The host authorizes the profile and binds it to whatever it means. null (the default) is the whole of the existing behaviour. Independent of perspective, schema and contextId: setting one never constrains another.

currentRun

optional reference to the extraction run this analysis belongs to. EXPERIMENTAL, and unlike profile this one is read. An analysis carrying a run has its structural wiring, graph projection and grounding run over the propositions the repository returned rather than the ones extraction minted — the two differ whenever the backend deduplicates, and the returned ones are what is actually stored — and, where the host configured a PropositionRunLinkStore, each stored proposition is attributed to this run. null (the default) means the analysis is attributed to no run and behaves exactly as it did before extraction runs existed.

mintNewEntities

whether a mention the resolver could NOT match to an existing entity may be persisted as a NEW entity node. Default FALSE: unresolved mentions stay unresolved (the proposition is still persisted; its mention simply carries no resolvedId), so extraction never creates phantom "mentioned in proposition" nodes for things the graph doesn't know — a term the user merely asked about must not become an entity. Opt in per ingestion for sources whose mentions deserve nodes.