vibe.static_analysis.core¶
Static Template Analysis Core Functions (Flask-Independent).
Orchestrates the static analysis of Jinja templates against their definitions.
Includes functions to:
- Analyze dependencies between variables (analyze_template_dependencies).
- Generate a validation context using ValidatedValue objects.
- Perform the main static check (static_check_template) by running
various AST visitors. Accepts configuration explicitly.
analyze_template_dependencies ¶
analyze_template_dependencies(ast: Template, question_keys: set[str]) -> dict[str, str | None]
Analyzes the Abstract Syntax Tree (AST) of a template content string.
to determine conditional dependencies between known question variables.
| Parameters: |
|
|---|
| Returns: |
|
|---|
generate_validation_context ¶
generate_validation_context(template: TemplateData, reporter: Callable[[ValidationIssue], None], session_context: dict[str, Any] | None = None, question_definitions: dict[str, Any] | None = None) -> NestedValue
Create a nested NestedValue context with ValidatedValue instances at the leaves.
This context includes: 1. Merged session_context. 2. Placeholders for session_context_definitions (from definition-only components). 3. ValidatedValues for the host template's questions. 4. Namespaced ValidatedValues for all internal questions of all components inserted by the host template.
generate_component_validation_context ¶
generate_component_validation_context(template: TemplateData, prefix: str, context_root: NestedValue, reporter: Callable[[ValidationIssue], None]) -> None
Populate component input/question placeholders into the validation context.
Recursively walks component instances to install probe placeholders so that component templates can be safely rendered during static checks.
static_check_template ¶
static_check_template(ast: Template, template: TemplateData, question_definitions: dict[str, Any], session_context: dict[str, Any], alias: str = '') -> tuple[list[ValidationIssue], dict[str, str | None], UsageMap]
Perform multiple static checks on a template (or component) AST.
Collect ALL checking errors.
| Parameters: |
|
|---|
| Raises: |
|
|---|
check_component_integration ¶
check_component_integration(template: TemplateData, question_definitions: dict[str, Any], session_context: dict[str, Any], loaded_components_map: dict[str, ComponentTemplateData], collected_issues: list[ValidationIssue], reporter: Callable[[ValidationIssue], None], validation_context: NestedValue, inst_args: ComponentInstanceArgs) -> None
Cross-check host/component integration for presence, inputs, and scoping.
check_component_aliases ¶
check_component_aliases(template: TemplateData, component_instances_ast: list[ComponentInstanceArgs], reporter: Callable[[ValidationIssue], None]) -> None
Validate that explicit component aliases are unique within the host template.