# Auth Gate Reference

本文件提供阶段 2 的详细规则：负责登录态判断、登录引导、会话状态提示。

## 阶段 2 — 权限验证（Auth Gate）

**登录流程未完成前，不得调用任何审核业务操作。**

根据意图类别分两种路径：

### 路径 A — 非业务操作（`login` / `logout` / `login_help`）

直接调用 `contract_review`（传入对应 `commandName`），按工具返回结果回复用户。跳过阶段 3、4。

### 路径 B — 业务操作（`submit` / `status` / `followup` / `resume` / `cancel` / `result` / `rounds`）

- 对于 `submit` 意图：插件内部会自动检测登录态——若未登录，插件将自动保存待提交上下文并发起登录流程，返回登录 URL。此时：
	- 当前轮只返回登录 URL + 浏览器确认提示 + “完成登录后将自动继续审核提交”说明
	- 如有 `user_code`，不展示给用户
	- **当前轮禁止继续任何业务操作**
	- 用户完成浏览器授权后，插件自动恢复之前保存的提交任务，无需用户重复描述
- 对于其他业务操作：直接调用工具。若工具返回需要登录 → 同上处理，只返回登录信息后停止
- 若工具返回 `sessionStatus` 为 `refreshing` 或 `logout_in_progress` → 只告知用户当前状态并停止

## 登录链接展示规则

- 如果工具响应表明登录链接已经通过飞书直推发送，则当前轮只回复：登录信息已推送到你的飞书消息，请查收并完成确认
- 不在对话中重复展示登录链接或验证码

## 登录帮助

- 可以提示用户直接上传合同并表达审核要求，插件会自动发起登录流程
- 若用户只想显式建立登录态，可使用 `/contract-review login`
- 显式退出使用 `/contract-review logout`
