vibe.probe_logic

Core Template Probing Logic (Framework-Independent).

Runtime type checking is enabled to ensure probing operations maintain correct types throughout the probe cycle.

NOTE: This module uses Any types extensively in TrackingUndefined and related probing classes because they must wrap and proxy arbitrary Jinja2 values during template execution. The ANN401 noqa comments indicate intentional dynamic typing for Jinja2 interoperability, not missing type safety.

ProbeResult

Result of a template probe operation.

TrackingUndefined

Configurable Undefined that either raises ProbeMissingPathError (strict mode).

or returns placeholders (probe mode) while recording detailed access metadata.

__call__

__call__(*args: object, **kwargs: object) -> object

Proxy call to underlying value if callable, else raise TypeError.

ProbeOrchestrator

Stateful helper that owns the probing workflow end-to-end.

PlaceholderManager

Manage placeholder creation and lookup during probing.

ensure

ensure(path: str) -> object

Return cached value or resolve and cache a new placeholder for path.

run

run() -> ProbeResult

Execute template probing to discover needed variables and their ordering.

run_probe

run_probe(current_state: NestedValue, template: TemplateData, access_tracker: Callable[[str], None], question_definitions: dict[str, Any] | None = None, host_questions: dict[str, Any] | None = None, session_data: dict[str, Any] | None = None) -> ProbeResult

Orchestrate a probe run using the ProbeOrchestrator helper.