PromptRunner.Packet (PromptRunnerSDK v0.7.0)

Copy Markdown View Source

Packet manifest loader and generator.

Summary

Types

repo_config()

@type repo_config() :: %{name: String.t(), path: String.t(), default: boolean()}

t()

@type t() :: %PromptRunner.Packet{
  body: String.t(),
  manifest_path: String.t(),
  name: String.t(),
  options: map(),
  phase_names: map(),
  profile: map(),
  profile_name: String.t() | nil,
  prompt_dir: String.t(),
  prompt_path: String.t(),
  repos: [repo_config()],
  root: String.t()
}

Functions

add_repo(root, name, path, opts \\ [])

@spec add_repo(String.t(), String.t(), String.t(), keyword()) ::
  {:ok, t()} | {:error, term()}

checklist_sync(root)

@spec checklist_sync(String.t()) ::
  {:ok, %{paths: [String.t()], warnings: [map()]}} | {:error, term()}

doctor(root)

@spec doctor(String.t()) :: {:ok, map()} | {:error, term()}

exists?(root)

@spec exists?(String.t()) :: boolean()

explain(root)

@spec explain(String.t()) :: {:ok, map()} | {:error, term()}

load(root)

@spec load(String.t()) :: {:ok, t()} | {:error, term()}

manifest_file(root)

@spec manifest_file(String.t()) :: String.t()

new(name, opts \\ [])

@spec new(
  String.t(),
  keyword()
) :: {:ok, t()} | {:error, term()}

preflight(root)

@spec preflight(String.t()) ::
  {:ok, map()} | {:error, {:preflight_failed, map()}} | {:error, term()}