hyf

Context-aware query service for Radroots
git clone https://radroots.dev/git/hyf.git
Log | Files | Refs | README | LICENSE

status.mojo (5764B)


      1 from std.collections import List
      2 
      3 from json import Value, loads
      4 
      5 from hyf_stdio.control.assisted_runtime import (
      6     resolve_assisted_runtime_status,
      7     serialize_assisted_runtime_status_value,
      8 )
      9 from hyf_core.capabilities.registry import (
     10     all_deterministic_capabilities_implemented,
     11     bootstrap_capability_count,
     12     deterministic_enabled_capabilities,
     13     deferred_capabilities,
     14     implemented_deterministic_capability_count,
     15 )
     16 from hyf_core.metadata import current_build_identity
     17 from hyf_runtime.config import assisted_execution_enabled
     18 from hyf_runtime.startup import (
     19     RuntimeStartupContext,
     20     resolve_startup_context_from_process,
     21 )
     22 from hyf_runtime.status import build_runtime_status_value
     23 from hyf_stdio.control.request_context_contract import (
     24     build_request_context_contract_value,
     25 )
     26 
     27 
     28 def _string_array(values: List[String]) raises -> Value:
     29     var array = loads("[]")
     30     for value in values:
     31         array.append(Value(String(value)))
     32     return array^
     33 
     34 
     35 def _build_identity_value() raises -> Value:
     36     var build_identity = current_build_identity()
     37     var value = loads("{}")
     38     value.set("service_name", Value(String(build_identity.service_name)))
     39     value.set("package_name", Value(String(build_identity.package_name)))
     40     value.set("package_version", Value(String(build_identity.package_version)))
     41     value.set("daemon_name", Value(String(build_identity.daemon_name)))
     42     value.set("transport", Value(String(build_identity.transport)))
     43     value.set("protocol_version", Value(build_identity.protocol_version))
     44     value.set(
     45         "default_execution_mode",
     46         Value(String(build_identity.default_execution_mode)),
     47     )
     48     value.set(
     49         "deterministic_execution_available",
     50         Value(build_identity.deterministic_execution_available),
     51     )
     52     value.set(
     53         "assisted_execution_available",
     54         Value(build_identity.assisted_execution_available),
     55     )
     56     return value^
     57 
     58 
     59 def build_status_output() raises -> Value:
     60     return build_status_output_with_runtime_context(
     61         resolve_startup_context_from_process()
     62     )
     63 
     64 
     65 def build_status_output_with_runtime_context(
     66     runtime_context: RuntimeStartupContext,
     67 ) raises -> Value:
     68     var output = loads("{}")
     69     var build_identity = _build_identity_value()
     70     var assisted_enabled = assisted_execution_enabled(runtime_context.config)
     71     var assist_runtime = resolve_assisted_runtime_status(runtime_context.config)
     72     output.set("build_identity", build_identity.copy())
     73     output.set("daemon", build_identity["daemon_name"].clone())
     74     output.set("transport", build_identity["transport"].clone())
     75     output.set("request_framing", Value("newline_delimited_json"))
     76     output.set(
     77         "implementation_status",
     78         Value(
     79             "bootstrap_registered_deterministic_ready"
     80         ) if all_deterministic_capabilities_implemented() else Value(
     81             "bootstrap_partial_deterministic"
     82         ),
     83     )
     84 
     85     var execution_modes = loads("{}")
     86     execution_modes.set("deterministic", Value(True))
     87     execution_modes.set("assisted", Value(assisted_enabled))
     88     output.set("enabled_execution_modes", execution_modes)
     89 
     90     var execution_mode_request_behavior = loads("{}")
     91     execution_mode_request_behavior.set("deterministic", Value("execute"))
     92     var assisted_request_behavior = "provider_unavailable"
     93     if assist_runtime.state == "ready":
     94         assisted_request_behavior = "execute"
     95     elif assist_runtime.state == "disabled_by_runtime_config":
     96         assisted_request_behavior = "disabled_by_runtime_config"
     97     elif assist_runtime.state == "unconfigured":
     98         assisted_request_behavior = "provider_unconfigured"
     99     elif assist_runtime.state == "invalid_config":
    100         assisted_request_behavior = "invalid_config"
    101     elif assist_runtime.state == "degraded":
    102         assisted_request_behavior = "provider_degraded"
    103     execution_mode_request_behavior.set(
    104         "assisted", Value(String(assisted_request_behavior))
    105     )
    106     output.set(
    107         "execution_mode_request_behavior",
    108         execution_mode_request_behavior,
    109     )
    110 
    111     var backends = loads("{}")
    112     backends.set(
    113         "deterministic_backend",
    114         Value(
    115             "available"
    116         ) if all_deterministic_capabilities_implemented() else Value(
    117             "partially_available"
    118         ),
    119     )
    120     backends.set("assisted_backend", Value(String(assist_runtime.state)))
    121     output.set("backend_reachability", backends)
    122     output.set(
    123         "assisted_runtime",
    124         serialize_assisted_runtime_status_value(assist_runtime),
    125     )
    126     output.set(
    127         "provider_runtime",
    128         serialize_assisted_runtime_status_value(assist_runtime),
    129     )
    130 
    131     var counts = loads("{}")
    132     counts.set(
    133         "canonical_business_capabilities", Value(bootstrap_capability_count())
    134     )
    135     counts.set(
    136         "deterministic_registered_business_capabilities",
    137         Value(len(deterministic_enabled_capabilities())),
    138     )
    139     counts.set(
    140         "deterministic_implemented_business_capabilities",
    141         Value(implemented_deterministic_capability_count()),
    142     )
    143     counts.set(
    144         "disabled_business_capabilities",
    145         Value(len(deferred_capabilities())),
    146     )
    147     output.set("counts", counts)
    148 
    149     output.set(
    150         "deterministic_registered_capabilities",
    151         _string_array(deterministic_enabled_capabilities()),
    152     )
    153     output.set("disabled_capabilities", _string_array(deferred_capabilities()))
    154 
    155     var limits = loads("{}")
    156     limits.set("max_requests_per_process", Value(1))
    157     output.set("limits", limits)
    158     output.set(
    159         "request_context_contract",
    160         build_request_context_contract_value(),
    161     )
    162     output.set("runtime", build_runtime_status_value(runtime_context))
    163 
    164     return output^