Skip to main content

AnalysisSession

Struct AnalysisSession 

Source
pub struct AnalysisSession { /* private fields */ }
Expand description

Memoized facade over chart analysis and schema lowering.

The session keeps chart loading and analysis results available for later queries without forcing callers to re-run discovery, values composition, contract extraction, and chart-local schema collection manually.

Implementations§

Source§

impl AnalysisSession

Source

pub fn new(opts: GenerateOptions) -> Self

Creates a memoized session with an internal diagnostic sink.

Source

pub fn with_diagnostics( opts: GenerateOptions, diagnostics: DiagnosticSink, ) -> Self

Creates a memoized session that emits diagnostics into diagnostics.

Source

pub fn analysis(&self) -> EngineResult<Analysis>

Return the memoized chart analysis artifact.

§Errors

Returns an error when chart discovery, source loading, parsing, or structural analysis fails.

Source

pub fn contract_schema_signals(&self) -> EngineResult<ContractSchemaSignals>

Return typed schema-lowering evidence derived from the guarded contract.

§Errors

Returns an error when preparing or finalizing chart analysis fails.

Source

pub fn contract_document(&self) -> EngineResult<ContractDocument>

Return the stable versioned contract export document.

§Errors

Returns an error when preparing or finalizing chart analysis fails.

Source

pub fn resolved_contract(&self) -> EngineResult<ResolvedContract>

Return the provider-resolved contract schema prior to optional required-inference and final output-pipeline transforms.

This query exposes the stage boundary the architecture document calls resolved_contract(policy): structural contract facts have already been resolved against providers, but the later heuristic --infer-required mutation has not yet run.

§Errors

Returns an error when chart analysis, values composition, or provider schema resolution fails.

Source

pub fn generated_schema(&self) -> EngineResult<GeneratedSchema>

Return the memoized generated values schema: the resolved contract schema plus the optional --infer-required post-pass.

§Errors

Returns an error when resolving the contract or preparing chart values fails.

Source

pub fn emit( &self, policy_inputs: PolicyInputs, output_options: OutputPipelineOptions, ) -> EngineResult<Value>

Emit the final JSON Schema document through the output pipeline.

This is the session-level counterpart to the CLI’s final output stage: it starts from the memoized generated schema, applies override/policy inputs, mirrors global schema into subcharts, resolves reference mode, and returns the final document callers would write to disk.

§Errors

Returns an error when generated-schema preparation, override merging, or reference processing fails.

Source

pub fn emit_with_policy_paths( &self, override_paths: &[PathBuf], policy_input_options: PolicyInputOptions, output_options: OutputPipelineOptions, ) -> EngineResult<Value>

Load policy inputs from override paths, then emit the final document.

§Errors

Returns an error when an override cannot be loaded or prepared, or when final output transforms fail.

Source

pub fn explain(&self, path: &str) -> EngineResult<ValuePathExplanation>

Explain one values path using the current contract and chart evidence.

§Errors

Returns an error when chart analysis or contract finalization fails.

Auto Trait Implementations§

Blanket Implementations§

Source§

impl<T> Any for T
where T: 'static + ?Sized,

Source§

fn type_id(&self) -> TypeId

Gets the TypeId of self. Read more
Source§

impl<T> Borrow<T> for T
where T: ?Sized,

Source§

fn borrow(&self) -> &T

Immutably borrows from an owned value. Read more
Source§

impl<T> BorrowMut<T> for T
where T: ?Sized,

Source§

fn borrow_mut(&mut self) -> &mut T

Mutably borrows from an owned value. Read more
Source§

impl<ST, DT> CastableFrom<ST, Initialized, Initialized> for DT
where ST: ?Sized, DT: ?Sized,

Source§

impl<ST, DT> CastableFrom<ST, Uninit, Uninit> for DT
where ST: ?Sized, DT: ?Sized,

Source§

impl<T> From<T> for T

Source§

fn from(t: T) -> T

Returns the argument unchanged.

Source§

impl<T> Instrument for T

Source§

fn instrument(self, span: Span) -> Instrumented<Self>

Instruments this type with the provided Span, returning an Instrumented wrapper. Read more
Source§

fn in_current_span(self) -> Instrumented<Self>

Instruments this type with the current Span, returning an Instrumented wrapper. Read more
Source§

impl<T, U> Into<U> for T
where U: From<T>,

Source§

fn into(self) -> U

Calls U::from(self).

That is, this conversion is whatever the implementation of From<T> for U chooses to do.

Source§

impl<T> Read<Exclusive, BecauseExclusive> for T
where T: ?Sized,

Source§

impl<T> Same for T

Source§

type Output = T

Should always be Self
Source§

impl<T, U> TryFrom<U> for T
where U: Into<T>,

Source§

type Error = Infallible

The type returned in the event of a conversion error.
Source§

fn try_from(value: U) -> Result<T, <T as TryFrom<U>>::Error>

Performs the conversion.
Source§

impl<T, U> TryInto<U> for T
where U: TryFrom<T>,

Source§

type Error = <U as TryFrom<T>>::Error

The type returned in the event of a conversion error.
Source§

fn try_into(self) -> Result<U, <U as TryFrom<T>>::Error>

Performs the conversion.
Source§

impl<T> WithSubscriber for T

Source§

fn with_subscriber<S>(self, subscriber: S) -> WithDispatch<Self>
where S: Into<Dispatch>,

Attaches the provided Subscriber to this type, returning a WithDispatch wrapper. Read more
Source§

fn with_current_subscriber(self) -> WithDispatch<Self>

Attaches the current default Subscriber to this type, returning a WithDispatch wrapper. Read more