
    j~                    f   d Z ddlmZ ddlZddlmZ ddlmZ ddlm	Z	m
Z
  e
 e	d            Z ej                  d	      Z ej                  d
      Z eg d      Z eg d      Z eg d      Z eg d      Z eg d      Z eg d      Z edd       G d d             Z G d de      Zy)z-Typed contract for nutrition start readiness.    )annotationsN)Mapping)	dataclass)	timedeltatimezone	   )hoursz^[a-z0-9][a-z0-9_-]{0,63}$z^[0-9a-f]{64}$)baseline_missingbaseline_schema_invalidbaseline_not_customer_attestedbaseline_owner_review_missingcustomer_not_adult0pregnancy_breastfeeding_requires_clinical_reviewmedical_clearance_requiredmeasurement_implausiblegoal_trajectory_unsaferestriction_kb_missingrestriction_kb_stalerestriction_kb_unapprovedrestriction_sources_incomplete customer_restrictions_unresolved hard_contraindication_unresolvedcalculation_missingcalculation_method_unapprovedcalculation_inputs_stalecalculation_review_missingweekly_targets_incompleteadjustment_policy_missingadjustment_policy_unapprovedprivacy_consent_missingauthority_receipt_stalefeature_flags_enableddelivery_enabledreadiness_private_mode_invalidreadiness_receipt_missingreadiness_receipt_invalid)schema_versioncustomer_key	adult_ageequation_sex_basis	height_cm	weight_kgactivity_categoryactivity_rationale	goal_typetarget_weight_kgtarget_datemaintenance_intentdietary_preferencesdisliked_foods	allergiesintolerancesreligious_ethical_exclusions
conditionsmedicationspregnancy_breastfeedingcooking_accessbudget_band
meal_countschedule_constraintscustomer_attested_at_kstowner_review_receiptinput_reconciliation_digestdigest)r'   knowledge_versioneffective_at_kstreviewed_at_kstreviewed_byapprovedsources	allergensr6   r7   medication_condition_ruleshard_contraindicationscross_contact_rulessubstitution_rulesrB   )r'   	method_idmethod_versionbaseline_digestrestriction_kb_digestnormalized_inputs_digestbmr_kcal	tdee_kcalminimum_calories_kcalmaximum_calories_kcalactivity_assumptiongoal_trajectorygoal_trajectory_safesafe_rate_guardrailweeksrequested_target_weight_kgrequested_target_date%requested_trajectory_within_guardrailrecommended_target_daterF   rE   review_decisionrB   )r'   rP   rQ   resolution_status!unresolved_hard_contraindicationsrF   rE   rB   )r'   policy_versionrD   rG   minimum_observation_daysweight_trend_methodadherence_inputsactual_intake_inputsactivity_change_inputsadjustment_thresholdsmaximum_step_kcalescalation_rulessafety_stop_rules manual_override_receipt_requiredrF   rB   T)frozenslotsc                  >    e Zd ZU ded<   ded<   ded<   ded<   dd	Zy
)NutritionReadinessAuditboolreadyzMapping[str, bool]checkszMapping[str, str]digestsztuple[str, ...]reason_codesc                    d| j                   t        | j                        t        | j                        t	        | j
                        dS )Nnutrition_start_readiness_v1)r'   rs   rt   ru   rv   )rs   dictrt   ru   listrv   )selfs    /home/cube/projects/richard/traning coach/task-12-independent-verification-r9/build/hermes-full/dualcoach/profile/checkin_cli/nutrition_readiness_contract.pyto_dictzNutritionReadinessAudit.to_dictI   s<    <ZZ4;;'DLL) !2!23
 	
    N)returnzdict[str, object])__name__
__module____qualname____annotations__r}    r~   r|   rq   rq   B   s    K!!
r~   rq   c                      e Zd ZdZy)NutritionReadinessErrorz;Raised when activation lacks committed nutrition readiness.N)r   r   r   __doc__r   r~   r|   r   r   S   s    Er~   r   )r   
__future__r   recollections.abcr   dataclassesr   datetimer   r   KSTcompileCUSTOMER_KEYDIGEST_PATTERN	frozenset NUTRITION_READINESS_REASON_CODESBASELINE_FIELDS	KB_FIELDSCALCULATION_FIELDSRECONCILIATION_FIELDSPOLICY_FIELDSrq   
ValueErrorr   r   r~   r|   <module>r      s    3 " 	 # ! (yq!"rzz78-.#, . $    	 	   	      " #      $d#
 
 $
 Fj Fr~   