WardrikDaemon.Policies (wardrik_daemon v0.1.0-rc.1)

Copy Markdown

Reads the policies in policies/.

Each is a YAML file named for the policy. policies/careful.yaml is careful, which an agent file names as policy: careful:

allow: [web_search, linear/*]
ask:
  github/create_*: This opens an issue on GitHub.
deny: [shell/*]
budget: {usd: 5.00, per: day}

See WardrikPolicy for the rules. An empty file doesn't read; a policy that allows every call says default: allow.

Summary

Functions

Returns each policy in dir by name, or the reason one doesn't read. A missing directory holds none.

Functions

read(dir)

@spec read(Path.t()) ::
  {:ok, %{required(String.t()) => WardrikPolicy.t()}} | {:error, String.t()}

Returns each policy in dir by name, or the reason one doesn't read. A missing directory holds none.