Definitively.Domain.NodeDefinition (definitively v0.2.1)

Copy Markdown

Reusable node (CLI or LLM) referenced by active states.

Summary

Functions

Returns supported node kinds.

Types

kind()

@type kind() :: :cli | :llm

outcome_clause()

@type outcome_clause() :: %{required(atom()) => [predicate()]}

predicate()

@type predicate() :: map()

t()

@type t() :: %Definitively.Domain.NodeDefinition{
  command: [String.t()] | nil,
  cwd: String.t() | nil,
  id: atom(),
  kind: kind(),
  model: String.t() | nil,
  outcome: outcome_clause(),
  prompt_file: String.t() | nil,
  timeout_ms: pos_integer() | nil
}

Functions

kinds()

@spec kinds() :: [kind()]

Returns supported node kinds.

iex> Definitively.Domain.NodeDefinition.kinds()
[:cli, :llm]