> **前置条件** — 执行以下任何命令前，请先确认已完成认证。如未认证，参见 [`../../shb-shared/SKILL.md`](../../shb-shared/SKILL.md)。

# shb-cli event type

事件类型查询。返回当前租户下所有事件类型，按权限分组。

## 重要：默认输出可能很大，取数时建议加 `--format-data`

事件类型对象可能包含较多内部配置字段。查类型时**建议一律加 `--format-data`**（或 `-o table`），它只保留有用的几列：`listType`、`id`、`name`、`enabled`、`modifyUserName`、`modifyTime`。

实际只需要 `id`（即事件命令里的 `templateId`，内部用）和 `name`（类型名）；其余字段一般用不到。

## 响应结构

| 字段 | 说明 |
|------|------|
| `writeList` | 当前用户可创建事件的类型 |
| `readList` | 当前用户可查看事件的类型 |

每条记录里取这几项即可：

| 字段 | 说明 |
|------|------|
| `id` | 类型 ID，即事件搜索用的 `templateId`（内部用，不展示给用户） |
| `name` | 类型名称 |

## 查询事件类型

```bash
# 两组都要：精简输出（推荐）
shb-cli event type list --format-data

# 只看可查看的类型
shb-cli event type list --list-type readList --format-data

# 需要表格直接看时
shb-cli event type list --format-data -o table
```

> 行为说明：不加 `--list-type` 取全部两组；加了只取该组。`--format-data`/`-o table` 都只输出上表的少数列；**都不加**才会输出完整原始对象（避免）。

## 典型场景：拿 templateId 去搜索事件

```bash
# 1. 查类型，从结果里读取目标类型的 id（= templateId）
shb-cli event type list --list-type readList --format-data

# 2. 用该 id 搜索事件
shb-cli event search --template-id <id>
```

> 本轮已查过类型、结果里出现过某类型的 id，后续直接复用，不要重复查询。

## 给用户呈现

- 列清单时按分组报**类型名称**，如「可查看的事件类型：上门维修、远程支持」。
- **不要**展示 `id`（UUID，内部用）。

## 注意

- 返回数据为当前登录用户在当前租户下的可见范围，不同用户结果可能不同。
- `id` 即 `templateId`，两者等价；只在后台串联搜索时用，不输出给用户。
- 本模块当前不支持事件创建，`writeList` 主要用于确认类型是否存在，不用于实际写操作。
