Definitively.Domain.NodeDefinition (definitively v0.4.1)

Copy Markdown

Reusable node referenced by active states.

Summary

Functions

Returns supported gh node actions.

Returns supported git node actions.

Returns supported node kinds.

Returns supported maestro node actions.

Types

kind()

@type kind() :: :cli | :llm | :git | :gh | :maestro

outcome_clause()

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

predicate()

@type predicate() :: map()

t()

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

Functions

gh_actions()

@spec gh_actions() :: [atom()]

Returns supported gh node actions.

git_actions()

@spec git_actions() :: [atom()]

Returns supported git node actions.

kinds()

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

Returns supported node kinds.

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

maestro_actions()

@spec maestro_actions() :: [atom()]

Returns supported maestro node actions.