# Pi Collapse Outputs

[English](README.md)

默认将 [Pi](https://pi.dev) 内置核心工具的输出折叠为单行摘要的扩展（Ctrl+O 展开）。

---

## 核心机制

### 行为矩阵

| 内置工具 | 折叠态（默认） | 展开态（Ctrl+O） |
|---|---|---|
| **bash** | `✓ N lines` (成功) 或 `✗ command failed` (错误) | 原始标准输出（stdout）与错误输出（stderr） |
| **read** | `N lines` (成功) 或 `✗ read failed` (错误) | 完整文本内容或图像加载状态 |
| **edit** | `+A / -R` 变动 (成功) 或 `✗ edit failed` (错误) | 统一 Diff 变动输出 |
| **write**| *(空)* (成功) 或 `✗ write failed` (错误) | 失败时的详细错误信息 |

---

## 项目结构

```
pi-collapse-outputs/
├── index.ts                  # Pi 扩展入口 (转发至 src/collapse-tools.ts)
├── src/
│   └── collapse-tools.ts     # 核心工具重写渲染逻辑
├── test/                     # 原生 TS 单元测试套件
│   └── collapse-tools.test.ts # 核心解析与渲染判定逻辑测试
├── package.json              # 扩展包清单与依赖声明 (peerDependencies & devDependencies)
├── .gitignore
├── README.md
└── biome.json
```

---

## 安装

支持以下两种方式安装：

* **NPM 安装（推荐）**：
  ```bash
  pi install npm:pi-collapse-outputs
  ```
* **GitHub 安装**：
  ```bash
  pi install https://github.com/huanghui-dev/pi-collapse-outputs
  ```

---

## 执行测试

运行内置的 TypeScript 单元测试（基于 Node.js 原生测试运行器）：
```bash
npm run test
```

---

## 开发与规范

已严格对齐 `pi-main` 核心工程的质量与安全规范：
1. **格式化与语法检查**：使用 Biome 对项目代码进行统一格式化。缩进风格配置为 `tab`，缩进宽度为 `3`。
2. **常用指令**：
   - 运行风格与语法检测：`npm run check`（自动执行 `biome check --write .`）
   - 运行单元测试：`npm test`

---

## 许可证书

MIT
