# `MingaAgent.ToolPacks.ReadOnly`
[🔗](https://github.com/jsmestad/minga/blob/main/lib/minga_agent/tool_packs/read_only.ex#L1)

Bundled source-owned pack for low-risk read-only agent tools.

The pack keeps the long-standing tool names, schemas, descriptions, and callbacks while letting the registry treat these tools as one reloadable bundled source. That gives extension disable/reload tests a real pack boundary before higher-risk mutating tools move out of the monolithic list.

# `source`

```elixir
@type source() :: {:bundle, :read_only_tools}
```

Bundled read-only tool pack source.

# `register`

```elixir
@spec register(atom()) :: :ok | {:error, term()}
```

Registers all read-only pack specs into a registry table or service.

# `source`

```elixir
@spec source() :: source()
```

Returns the source used for all read-only pack contributions.

# `specs`

```elixir
@spec specs() :: [MingaAgent.Tool.Spec.t()]
```

Returns source-owned specs for every tool in the bundled pack.

# `start_link`

```elixir
@spec start_link(keyword()) :: GenServer.on_start()
```

Starts the bundled pack registrar.

# `tool_names`

```elixir
@spec tool_names() :: [String.t()]
```

Returns the stable tool names contributed by this pack.

---

*Consult [api-reference.md](api-reference.md) for complete listing*
