Class ArtifactThinkerOutput<R extends Reasoning>
java.lang.Object
ai.redouble.nucleo.harness.schema.ReasonablePojo<R>
ai.redouble.nucleo.harness.artifacts.ArtifactResponse<R>
ai.redouble.nucleo.tools.thinking.ThinkerOutput<R>
ai.redouble.nucleo.tools.thinking.ArtifactThinkerOutput<R>
- Type Parameters:
R- the reasoning type for this response
- All Implemented Interfaces:
Artifact
public abstract class ArtifactThinkerOutput<R extends Reasoning>
extends ThinkerOutput<R>
implements Artifact
Thinker output that is itself an
Artifact, so a thinker can serve as a
fan-out worker: its typed answer lands directly in the result list and the
artifact registry. Single inheritance forces this class to carry its own ref
field and summary cache instead of extending AbstractArtifact - the
Artifact interface is the contract, AbstractArtifact is only a
convenience base.
Concrete subclasses need a @TypeAlias annotation (registration mints
refs from it) and should keep their answer data in serializable fields: worker
outputs must be self-contained, because refs pointing into the worker thinker's
own conversation registry are worker-scoped and do not resolve in the parent.
- Since:
- 0.1 (2026-06-09)
- Author:
- Andrey Santrosyan
-
Constructor Summary
Constructors -
Method Summary
Modifier and TypeMethodDescriptionvoidcacheSummary(String fieldName, SummarizedField value) Caches a summary for a field.Gets the artifact reference string, or null if not yet assigned.getCachedSummary(String fieldName) Gets a previously cached summary for a field, or null if not cached.voidsetArtifactRef(String artifactRef) Sets the artifact reference string.Methods inherited from class ThinkerOutput
addAllArtifacts, addArtifact, getArtifacts, hasArtifacts, setArtifactsMethods inherited from class ArtifactResponse
addArtifactRef, canonicalizeArtifactRefs, getArtifactRefs, hasArtifactRefsMethods inherited from class ReasonablePojo
getReasoning, setReasoning
-
Constructor Details
-
ArtifactThinkerOutput
public ArtifactThinkerOutput()
-
-
Method Details
-
getArtifactRef
Description copied from interface:ArtifactGets the artifact reference string, or null if not yet assigned.- Specified by:
getArtifactRefin interfaceArtifact- Returns:
- the artifact reference in the canonical format «artifact:type~uuid», or null
-
setArtifactRef
Description copied from interface:ArtifactSets the artifact reference string.- Specified by:
setArtifactRefin interfaceArtifact- Parameters:
artifactRef- the artifact reference
-
getCachedSummary
Description copied from interface:ArtifactGets a previously cached summary for a field, or null if not cached. Used by the Jackson serializer to avoid re-summarizing on repeated serializations.- Specified by:
getCachedSummaryin interfaceArtifact- Parameters:
fieldName- the snake_case field name- Returns:
- the cached SummarizedField, or null
-
cacheSummary
Description copied from interface:ArtifactCaches a summary for a field. Called by the Jackson serializer after generating a summary so subsequent serializations skip the Summarizer.- Specified by:
cacheSummaryin interfaceArtifact- Parameters:
fieldName- the snake_case field namevalue- the SummarizedField containing both full text and summary
-