hyf

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

assisted_runtime.mojo (5778B)


      1 from std.collections import List
      2 
      3 from json import Value, loads
      4 
      5 from hyf_assist.contract import (
      6     AssistedRuntimeStatus,
      7     assisted_runtime_contract_version,
      8     assisted_runtime_supported_business_capabilities,
      9     provider_runtime_id,
     10 )
     11 from hyf_runtime.config import (
     12     HyfLoadedRuntimeConfig,
     13     assisted_runtime_configured,
     14     assisted_execution_enabled,
     15 )
     16 from hyf_provider.config import (
     17     MaxLocalProviderConfig,
     18     max_local_provider_config_from_runtime,
     19 )
     20 from hyf_provider.max_local import max_local_provider_status
     21 
     22 
     23 def _control_route_provider_config(
     24     config: MaxLocalProviderConfig,
     25 ) -> MaxLocalProviderConfig:
     26     var capped = config.copy()
     27     if capped.request_timeout_ms > 500:
     28         capped.request_timeout_ms = 500
     29     return capped^
     30 
     31 
     32 def _base_status(
     33     configured: Bool,
     34     transport: String,
     35     endpoint: String,
     36     backend_kind: String,
     37     provider: String,
     38     route: String,
     39     model: String,
     40     reachable: Bool,
     41     state: String,
     42     reason: String,
     43 ) -> AssistedRuntimeStatus:
     44     return AssistedRuntimeStatus(
     45         id=provider_runtime_id(),
     46         kind="provider_runtime",
     47         contract_version=assisted_runtime_contract_version(),
     48         transport=String(transport),
     49         endpoint=String(endpoint),
     50         backend_kind=String(backend_kind),
     51         provider=String(provider),
     52         route=String(route),
     53         model=String(model),
     54         configured=configured,
     55         reachable=reachable,
     56         state=String(state),
     57         reason=String(reason),
     58         fallback_contract="deterministic_baseline_preserved",
     59         supported_business_capabilities=assisted_runtime_supported_business_capabilities(),
     60     )
     61 
     62 
     63 def resolve_assisted_runtime_status(
     64     config: HyfLoadedRuntimeConfig,
     65 ) -> AssistedRuntimeStatus:
     66     if config.load_state == "invalid":
     67         return _base_status(
     68             configured=False,
     69             transport="deferred",
     70             endpoint="",
     71             backend_kind="max_local",
     72             provider="max_local",
     73             route="",
     74             model="",
     75             reachable=False,
     76             state="invalid_config",
     77             reason="invalid_config",
     78         )
     79 
     80     if not assisted_execution_enabled(config):
     81         return _base_status(
     82             configured=False,
     83             transport="deferred",
     84             endpoint="",
     85             backend_kind="deferred",
     86             provider="",
     87             route="",
     88             model="",
     89             reachable=False,
     90             state="disabled_by_runtime_config",
     91             reason="disabled_by_runtime_config",
     92         )
     93 
     94     if not assisted_runtime_configured(config):
     95         return _base_status(
     96             configured=False,
     97             transport="deferred",
     98             endpoint="",
     99             backend_kind="deferred",
    100             provider="",
    101             route="",
    102             model="",
    103             reachable=False,
    104             state="unconfigured",
    105             reason="not_checked",
    106         )
    107 
    108     try:
    109         var provider_config = max_local_provider_config_from_runtime(config)
    110         var status = max_local_provider_status(
    111             _control_route_provider_config(provider_config)
    112         )
    113         return _base_status(
    114             configured=True,
    115             transport="http",
    116             endpoint=String(provider_config.health_url),
    117             backend_kind=String(status.backend_kind),
    118             provider=String(status.provider),
    119             route=String(status.route),
    120             model=String(status.model),
    121             reachable=status.reachable,
    122             state=String(status.state),
    123             reason=String(status.reason),
    124         )
    125     except e:
    126         return _base_status(
    127             configured=True,
    128             transport="http",
    129             endpoint="",
    130             backend_kind="max_local",
    131             provider="max_local",
    132             route="",
    133             model="",
    134             reachable=False,
    135             state="invalid_config",
    136             reason="invalid_config",
    137         )
    138 
    139 
    140 def assisted_execution_state_for_capability(
    141     status: AssistedRuntimeStatus, capability_id: String
    142 ) -> String:
    143     if capability_id != "query_rewrite":
    144         return "unsupported_capability"
    145     if status.state == "disabled_by_runtime_config":
    146         return "disabled_by_runtime_config"
    147     return status.state
    148 
    149 
    150 def assisted_backend_available_for_capability(
    151     status: AssistedRuntimeStatus, capability_id: String
    152 ) -> Bool:
    153     return capability_id == "query_rewrite" and status.state == "ready"
    154 
    155 
    156 def serialize_assisted_runtime_status_value(
    157     status: AssistedRuntimeStatus,
    158 ) raises -> Value:
    159     var value = loads("{}")
    160     value.set("id", Value(String(status.id)))
    161     value.set("kind", Value(String(status.kind)))
    162     value.set("contract_version", Value(status.contract_version))
    163     value.set("transport", Value(String(status.transport)))
    164     if status.endpoint != "":
    165         value.set("endpoint", Value(String(status.endpoint)))
    166     value.set("backend_kind", Value(String(status.backend_kind)))
    167     value.set("configured", Value(status.configured))
    168     value.set("reachable", Value(status.reachable))
    169     value.set("state", Value(String(status.state)))
    170     value.set("reason", Value(String(status.reason)))
    171     if status.provider != "":
    172         value.set("provider", Value(String(status.provider)))
    173     if status.route != "":
    174         value.set("route", Value(String(status.route)))
    175     if status.model != "":
    176         value.set("model", Value(String(status.model)))
    177     value.set("fallback_contract", Value(String(status.fallback_contract)))
    178 
    179     var capabilities = loads("[]")
    180     for capability in status.supported_business_capabilities:
    181         capabilities.append(Value(String(capability)))
    182     value.set("supported_business_capabilities", capabilities)
    183     return value^