hyf

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

registry.mojo (6361B)


      1 from std.collections import List, Optional
      2 
      3 from json import Value
      4 
      5 from hyf_core.capabilities.explain_result import execute_explain_result
      6 from hyf_core.capabilities.query_rewrite import execute_query_rewrite
      7 from hyf_core.capabilities.semantic_rank import execute_semantic_rank
      8 from hyf_core.errors import (
      9     CapabilityResult,
     10     capability_not_implemented_error,
     11     failed_capability,
     12 )
     13 from hyf_core.request_context import RequestContext
     14 
     15 
     16 @fieldwise_init
     17 struct BusinessCapabilityDescriptor(Copyable, Movable):
     18     var id: String
     19     var deterministic_enabled: Bool
     20     var implemented: Bool
     21     var callable: Bool
     22     var deterministic_backend: String
     23     var assisted_available: Bool
     24     var disabled_reason: String
     25 
     26 
     27 def canonical_business_capabilities() -> List[BusinessCapabilityDescriptor]:
     28     var capabilities = List[BusinessCapabilityDescriptor]()
     29     capabilities.append(
     30         BusinessCapabilityDescriptor(
     31             id="query_rewrite",
     32             deterministic_enabled=True,
     33             implemented=True,
     34             callable=True,
     35             deterministic_backend="heuristic",
     36             assisted_available=False,
     37             disabled_reason="",
     38         )
     39     )
     40     capabilities.append(
     41         BusinessCapabilityDescriptor(
     42             id="filter_extraction",
     43             deterministic_enabled=False,
     44             implemented=False,
     45             callable=False,
     46             deterministic_backend="",
     47             assisted_available=False,
     48             disabled_reason="deferred_bootstrap_capability",
     49         )
     50     )
     51     capabilities.append(
     52         BusinessCapabilityDescriptor(
     53             id="semantic_rank",
     54             deterministic_enabled=True,
     55             implemented=True,
     56             callable=True,
     57             deterministic_backend="heuristic",
     58             assisted_available=False,
     59             disabled_reason="",
     60         )
     61     )
     62     capabilities.append(
     63         BusinessCapabilityDescriptor(
     64             id="summarize_listing",
     65             deterministic_enabled=False,
     66             implemented=False,
     67             callable=False,
     68             deterministic_backend="",
     69             assisted_available=False,
     70             disabled_reason="deferred_bootstrap_capability",
     71         )
     72     )
     73     capabilities.append(
     74         BusinessCapabilityDescriptor(
     75             id="summarize_farm",
     76             deterministic_enabled=False,
     77             implemented=False,
     78             callable=False,
     79             deterministic_backend="",
     80             assisted_available=False,
     81             disabled_reason="deferred_bootstrap_capability",
     82         )
     83     )
     84     capabilities.append(
     85         BusinessCapabilityDescriptor(
     86             id="workflow_plan",
     87             deterministic_enabled=False,
     88             implemented=False,
     89             callable=False,
     90             deterministic_backend="",
     91             assisted_available=False,
     92             disabled_reason="deferred_bootstrap_capability",
     93         )
     94     )
     95     capabilities.append(
     96         BusinessCapabilityDescriptor(
     97             id="explain_result",
     98             deterministic_enabled=True,
     99             implemented=True,
    100             callable=True,
    101             deterministic_backend="heuristic",
    102             assisted_available=False,
    103             disabled_reason="",
    104         )
    105     )
    106     capabilities.append(
    107         BusinessCapabilityDescriptor(
    108             id="dedupe_cluster",
    109             deterministic_enabled=False,
    110             implemented=False,
    111             callable=False,
    112             deterministic_backend="",
    113             assisted_available=False,
    114             disabled_reason="deferred_bootstrap_capability",
    115         )
    116     )
    117     return capabilities^
    118 
    119 
    120 def bootstrap_capability_count() -> Int:
    121     return len(canonical_business_capabilities())
    122 
    123 
    124 def implemented_deterministic_capability_count() -> Int:
    125     var implemented = 0
    126     for capability in canonical_business_capabilities():
    127         if capability.deterministic_enabled and capability.implemented:
    128             implemented += 1
    129     return implemented
    130 
    131 
    132 def deterministic_enabled_capabilities() -> List[String]:
    133     var enabled = List[String]()
    134     for capability in canonical_business_capabilities():
    135         if capability.deterministic_enabled:
    136             enabled.append(String(capability.id))
    137     return enabled^
    138 
    139 
    140 def all_deterministic_capabilities_implemented() -> Bool:
    141     return implemented_deterministic_capability_count() == len(
    142         deterministic_enabled_capabilities()
    143     )
    144 
    145 
    146 def deferred_capabilities() -> List[String]:
    147     var disabled = List[String]()
    148     for capability in canonical_business_capabilities():
    149         if not capability.deterministic_enabled:
    150             disabled.append(String(capability.id))
    151     return disabled^
    152 
    153 
    154 def canonical_business_capability(
    155     capability_id: String,
    156 ) -> Optional[BusinessCapabilityDescriptor]:
    157     for capability in canonical_business_capabilities():
    158         if capability.id == capability_id:
    159             return Optional[BusinessCapabilityDescriptor](capability.copy())
    160     return Optional[BusinessCapabilityDescriptor](None)
    161 
    162 
    163 def _dispatch_heuristic_registered_business_capability(
    164     capability_id: String, input: Value, context: RequestContext
    165 ) raises -> CapabilityResult:
    166     if capability_id == "query_rewrite":
    167         return execute_query_rewrite(input, context)
    168     if capability_id == "semantic_rank":
    169         return execute_semantic_rank(input, context)
    170     if capability_id == "explain_result":
    171         return execute_explain_result(input, context)
    172     return failed_capability(capability_not_implemented_error(capability_id))
    173 
    174 def execute_registered_business_capability(
    175     capability_id: String, input: Value, context: RequestContext
    176 ) raises -> CapabilityResult:
    177     var capability = canonical_business_capability(capability_id)
    178     if not capability:
    179         return failed_capability(capability_not_implemented_error(capability_id))
    180 
    181     var descriptor = capability.value().copy()
    182     if (
    183         not descriptor.deterministic_enabled
    184         or not descriptor.implemented
    185         or not descriptor.callable
    186     ):
    187         return failed_capability(capability_not_implemented_error(capability_id))
    188 
    189     if descriptor.deterministic_backend == "heuristic":
    190         return _dispatch_heuristic_registered_business_capability(
    191             capability_id, input, context
    192         )
    193 
    194     return failed_capability(capability_not_implemented_error(capability_id))