Skip to main content

Module values

Module values 

Source
Expand description

Per-env values: template + values separation for Braze resources.

Implements RFC docs/local/feat-per-env-values.md Phase 1: schema + placeholder resolver. Phase 2 (apply integration), Phase 3 (export), Phase 4 (diff), Phase 6 (plan-lock) wire this module into the existing CLI surface.

§Module shape

  • schema: values/<env>.yaml deserialization and built-in shape validation (lid format, cb_id format, key naming).
  • placeholder: extract and resolve __BRAZESYNC.<type>.<key>__ tokens in a body string. Resolution takes a flat (type, key) -> value lookup so it stays resource-shape-agnostic.

Re-exports§

pub use correlation::extract_cb_id_values;
pub use correlation::extract_html_lid_values;
pub use correlation::extract_plaintext_lid_values;
pub use correlation::normalize_url;
pub use correlation::slug_for_cb_id;
pub use correlation::slug_for_lid;
pub use correlation::CbIdCorrelation;
pub use correlation::LidCorrelation;
pub use exporter::refresh_content_block_values;
pub use exporter::refresh_email_template_values;
pub use exporter::ExportUpdates;
pub use integration::compute_values_input_hashes;
pub use integration::format_failures;
pub use integration::load_values_for_env;
pub use integration::preflight_values;
pub use integration::resolve_content_block_in_place;
pub use integration::resolve_email_template_in_place;
pub use integration::values_file_path;
pub use integration::PreflightArgs;
pub use integration::ResolutionFailure;
pub use placeholder::extract_placeholders;
pub use placeholder::find_suspicious_placeholders;
pub use placeholder::resolve_placeholders;
pub use placeholder::LookupKey;
pub use placeholder::Placeholder;
pub use placeholder::PlaceholderType;
pub use placeholder::ResolutionError;
pub use schema::default_values_path;
pub use schema::CbIdEntry;
pub use schema::ContentBlockValues;
pub use schema::CustomEntry;
pub use schema::EmailTemplateValues;
pub use schema::FieldValues;
pub use schema::Globals;
pub use schema::LidEntry;
pub use schema::ValuesFile;
pub use schema::SUPPORTED_VERSION;

Modules§

correlation
Remote-body correlation primitives for export (RFC §2.5).
exporter
Per-export-run values updates (RFC §2.5 “既存リソース” path).
integration
Wiring layer between crate::values (Phase 1) and the diff / apply pipeline.
placeholder
Placeholder extraction and resolution for __BRAZESYNC.<type>.<key>__.
schema
YAML schema types for values/<env>.yaml per RFC §2.2.
templatize
Migration pass: raw-lid / raw-cb_id bodies → templated bodies + values.