Definitively.Domain.NodeDefinition (definitively v0.3.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.

Types

kind()

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

outcome_clause()

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

predicate()

@type predicate() :: map()

t()

@type t() :: %Definitively.Domain.NodeDefinition{
  action: 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]