Class: Smith::Workflow::Graph::RuntimeBindingDiagnosticBuilder

Inherits:
Object
  • Object
show all
Extended by:
Dry::Initializer
Defined in:
lib/smith/workflow/graph/runtime_binding_diagnostic_builder.rb

Instance Method Summary collapse

Instance Method Details

#to_diagnosticObject



14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
# File 'lib/smith/workflow/graph/runtime_binding_diagnostic_builder.rb', line 14

def to_diagnostic
  registry_binding = Agent::Registry.binding_for(agent)
  return unresolved_agent_diagnostic unless registry_binding

  if registry_binding.fetch(:agent_class).nil?
    return uninspectable_agent_diagnostic(registry_binding) if registry_binding.fetch(:call)

    return invalid_agent_diagnostic(registry_binding.fetch(:raw_binding))
  end

  agent_class = registry_binding.fetch(:agent_class)
  return if agent_class.model_configured?
  return required_model_diagnostic if model_required?

  model_warning
end