# `LibOss.Core`
[🔗](https://github.com/tt67wq/lib-oss/blob/main/lib/lib_oss/core.ex#L1)

LibOss核心模块（精简版）

负责：
- Agent状态管理
- 通用请求处理
- 配置管理

业务逻辑已拆分到各个专门模块中。

# `err_t`

```elixir
@type err_t() :: {:error, LibOss.Exception.t()}
```

# `alive?`

```elixir
@spec alive?(module()) :: boolean()
```

检查Agent进程是否存在

## 参数
- name: Agent进程名称

## 返回值
- boolean()

# `call`

```elixir
@spec call(module(), LibOss.Model.Request.t()) ::
  {:ok, LibOss.Model.Http.Response.t()} | err_t()
@spec call(LibOss.Model.Config.t(), LibOss.Model.Request.t()) ::
  {:ok, LibOss.Model.Http.Response.t()} | err_t()
```

执行HTTP请求调用

## 参数
- name: Agent进程名称或配置信息
- req: OSS请求结构

## 返回值
- `{:ok, Http.Response.t()} | {:error, Exception.t()}`

# `child_spec`

Returns a specification to start this module under a supervisor.

See `Supervisor`.

# `get`

```elixir
@spec get(module()) :: LibOss.Model.Config.t()
```

获取Agent中存储的配置

## 参数
- name: Agent进程名称

## 返回值
- 配置信息

# `get_config_value`

```elixir
@spec get_config_value(module(), atom(), any()) :: any()
```

获取配置中的特定值

## 参数
- name: Agent进程名称
- key: 配置键
- default: 默认值

## 返回值
- 配置值或默认值

# `make_request`

> This function is deprecated. Use LibOss.Core.RequestBuilder.build_http_request/2 instead.

```elixir
@spec make_request(LibOss.Model.Config.t(), LibOss.Model.Request.t()) ::
  LibOss.Model.Http.Request.t()
```

构建HTTP请求（已弃用，使用RequestBuilder.build_http_request代替）

## 参数
- config: 配置信息
- req: OSS请求结构

## 返回值
- HTTP请求结构

# `start_link`

```elixir
@spec start_link({module(), module(), LibOss.Model.Config.t()}) ::
  {:ok, pid()} | {:error, term()}
```

启动Agent进程

## 参数
- {name, http, config}: 包含进程名称、HTTP客户端和配置的元组

## 返回值
- `{:ok, pid()} | {:error, term()}`

# `stop`

```elixir
@spec stop(module(), term()) :: :ok
```

停止Agent进程

## 参数
- name: Agent进程名称
- reason: 停止原因（可选）

## 返回值
- :ok

# `update_config`

```elixir
@spec update_config(module(), (LibOss.Model.Config.t() -&gt; LibOss.Model.Config.t())) ::
  :ok
```

更新Agent中的配置

## 参数
- name: Agent进程名称
- update_fun: 更新函数

## 返回值
- :ok

# `validate_config`

```elixir
@spec validate_config(module()) :: :ok | {:error, term()}
```

验证配置是否有效

## 参数
- name: Agent进程名称

## 返回值
- :ok | {:error, term()}

---

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