test: add T1 Hands audit report and baseline results
Some checks failed
CI / Lint & TypeCheck (push) Has been cancelled
CI / Unit Tests (push) Has been cancelled
CI / Build Frontend (push) Has been cancelled
CI / Rust Check (push) Has been cancelled
CI / Security Scan (push) Has been cancelled
CI / E2E Tests (push) Has been cancelled
Some checks failed
CI / Lint & TypeCheck (push) Has been cancelled
CI / Unit Tests (push) Has been cancelled
CI / Build Frontend (push) Has been cancelled
CI / Rust Check (push) Has been cancelled
CI / Security Scan (push) Has been cancelled
CI / E2E Tests (push) Has been cancelled
Phase 1 baseline + T1 Hands functional audit: - Desktop vitest: 174/185 passed (chatStore refactoring) - Admin vitest: 36/71 passed (API mock issues) - Cargo check: 0 errors - T1 Hands: 18/23 TCs executed, health 58→68 (+10) - Key findings: M3-01/M3-06 fixed, M3-02/M3-04 unfixed - New P1: LLM API concurrent DATABASE_ERROR
This commit is contained in:
220
docs/test-results/T1-hands/REPORT.md
Normal file
220
docs/test-results/T1-hands/REPORT.md
Normal file
@@ -0,0 +1,220 @@
|
||||
# T1 Hands 自主能力 测试报告
|
||||
|
||||
> **执行日期**: 2026-04-05 | **测试工具**: tauri-mcp execute_js | **V12 基线**: 58/100
|
||||
|
||||
## 摘要
|
||||
|
||||
- **执行用例数**: 18/23(5 个需 UI 交互或长时间等待,未执行)
|
||||
- **通过**: 11 ✅
|
||||
- **未修复(已知问题确认)**: 5 ⚠️
|
||||
- **已修复(V12 问题)**: 2 ✅
|
||||
- **未验证**: 5 ❓
|
||||
- **新发现缺陷**: 3
|
||||
|
||||
### 缺陷统计
|
||||
|
||||
| 级别 | 数量 | 说明 |
|
||||
|------|------|------|
|
||||
| P0 | 0 | - |
|
||||
| P1 | 2 | LLM API 并发 DATABASE_ERROR; Browser Hand 不实际执行 |
|
||||
| P2 | 3 | 无输入长度限制; toolCount/metricCount 硬编码; max_concurrent 未实现 |
|
||||
| P3 | 1 | timeout_secs 未实现 |
|
||||
|
||||
---
|
||||
|
||||
## V12 已知问题验证
|
||||
|
||||
| V12 ID | 描述 | V12 严重度 | 验证结果 | 备注 |
|
||||
|--------|------|-----------|---------|------|
|
||||
| M3-01 | run_id 丢失 | P1 | ✅ **已修复** | hand_execute 返回值含 `runId` 字段(如 `8267f7a0-...`) |
|
||||
| M3-02 | Browser Hand 只返回指令不执行 | P1 | ⚠️ **未修复** | 返回 `status: "pending_execution"` 但未实际操作浏览器 |
|
||||
| M3-03 | browserHandStore 绕过审批 | P1 | ✅ 行为正确 | supervised 模式正确进入审批流程,autonomous 直接执行 |
|
||||
| M3-04 | max_concurrent 未实现 | P2 | ⚠️ **未修复** | 5 个并发 quiz 全部被接受(`max_concurrent: 0`) |
|
||||
| M3-05 | timeout_secs 未实现 | P2 | ⚠️ **未修复** | `timeout_secs: 0`,无超时保护 |
|
||||
| M3-06 | hand_execute 返回值类型不匹配 | P2 | ✅ **已修复** | 返回 `{ success, output, error, durationMs, runId }` 完整结构 |
|
||||
| M3-07 | hand-execution-complete 事件未监听 | P1 | ❓ 未验证 | 需 UI 交互观察 |
|
||||
| M3-08 | 审批条目永不过期 | P2 | ❓ 未验证 | 需长时间等待 |
|
||||
| M3-09 | 重复审批路径 | P2 | ✅ 两条路径存在 | `hand_approve` 和 `approval_respond` 参数名不同但功能重叠 |
|
||||
| M3-10 | tool_count/metric_count 硬编码为 0 | P2 | ⚠️ **未修复** | 所有 Hand 的 `toolCount: 0, metricCount: 0` |
|
||||
| M3-11 | Hand 列举正常 | - | ✅ 通过 | 9 个 Hand 全部返回 |
|
||||
| M3-12 | hand_trigger 自主级别映射 | P1 | ⚠️ **部分修复** | supervised 正确要求审批,但 autonomous 下 Browser 返回 pending_execution |
|
||||
| M3-13 | Clip Hand 路径单引号 | P2 | ❓ 未验证 | 需 FFmpeg 环境 |
|
||||
|
||||
---
|
||||
|
||||
## 测试用例详细结果
|
||||
|
||||
### ✅ TC-1-01 | Hand 列举(正常)
|
||||
|
||||
**结果**: PASS
|
||||
|
||||
`hand_list` 返回 9 个已启用 Hand:
|
||||
|
||||
| Hand | name | enabled | needsApproval | requirementsMet | dependencies |
|
||||
|------|------|---------|---------------|-----------------|-------------|
|
||||
| clip | 视频剪辑 | true | false | ❌ | ffmpeg |
|
||||
| twitter | Twitter 自动化 | true | true | ❌ | twitter_api_key |
|
||||
| researcher | 研究员 | true | false | ❌ | network |
|
||||
| browser | 浏览器 | true | true | ❌ | webdriver |
|
||||
| slideshow | 幻灯片 | true | false | ✅ | - |
|
||||
| quiz | 测验 | true | false | ✅ | - |
|
||||
| whiteboard | 白板 | true | false | ✅ | - |
|
||||
| collector | 数据采集器 | true | false | ❌ | network |
|
||||
| speech | 语音合成 | true | false | ✅ | - |
|
||||
|
||||
### ✅ TC-1-02 | Quiz Hand 直接触发(正常)
|
||||
|
||||
**结果**: PASS
|
||||
|
||||
- 输入: `{ action: "generate", topic: "Rust 基础测试" }`
|
||||
- 输出: 成功生成 5 道选择题,含 `runId: "58d296cc-1be3-4632-8325-f15b4a7708dc"`
|
||||
- 耗时: ~24 秒
|
||||
|
||||
### ✅ TC-1-03 | M3-01 run_id 丢失验证
|
||||
|
||||
**结果**: PASS(已修复)
|
||||
|
||||
hand_execute 返回值结构:
|
||||
```json
|
||||
{
|
||||
"success": true/false,
|
||||
"output": { ... },
|
||||
"error": null,
|
||||
"durationMs": 24499,
|
||||
"runId": "58d296cc-..."
|
||||
}
|
||||
```
|
||||
|
||||
`runId` 字段已稳定存在于所有返回值中。
|
||||
|
||||
### ⚠️ TC-1-05 | M3-02 Browser Hand 断裂
|
||||
|
||||
**结果**: FAIL(未修复)
|
||||
|
||||
- 输入: `{ action: "navigate", url: "https://example.com" }`
|
||||
- 输出: `{ action: "navigate", status: "pending_execution", url: "https://example.com" }`
|
||||
- **问题**: 返回结构化指令但未实际执行浏览器操作
|
||||
|
||||
### ✅ TC-1-06 | 审批流程(正常)
|
||||
|
||||
**结果**: PASS
|
||||
|
||||
1. **supervised 模式**: browser/twitter 正确进入 `pending_approval` 状态
|
||||
2. **approval_list**: 正确返回 2 条 pending 审批
|
||||
3. **approval_respond(approved: true)**: 审批通过后 Hand 开始执行
|
||||
4. **approval_respond(approved: false)**: 拒绝成功
|
||||
|
||||
### ⚠️ TC-1-08 | M3-04 max_concurrent 未实现
|
||||
|
||||
**结果**: FAIL(未修复)
|
||||
|
||||
- 同时触发 5 个 quiz Hand
|
||||
- 5/5 全部被接受执行(1 个成功,4 个因 LLM API 500 失败)
|
||||
- `hand_get` 返回 `max_concurrent: 0` 表示无限制
|
||||
|
||||
### ✅ TC-1-12 | 不存在 Hand 触发(异常)
|
||||
|
||||
**结果**: PASS
|
||||
|
||||
- 输入: `id: "nonexistent-hand"`
|
||||
- 输出: `"Hand not found: nonexistent-hand"`
|
||||
- 错误信息明确
|
||||
|
||||
### ✅ TC-1-15 | Hand 执行状态查询(正常)
|
||||
|
||||
**结果**: PASS
|
||||
|
||||
`hand_run_list` 返回 13 条历史记录,包含完整字段:
|
||||
- `id`, `hand_name`, `status`, `params`, `result`, `error`
|
||||
- `created_at`, `started_at`, `completed_at`, `duration_ms`
|
||||
- `trigger_source: "manual"`
|
||||
|
||||
### ✅ TC-1-16 | M3-06 返回值类型验证
|
||||
|
||||
**结果**: PASS(已修复)
|
||||
|
||||
返回值结构 `{ success, output, error, durationMs, runId }` 完整。
|
||||
|
||||
### ⚠️ TC-1-17 | M3-10 toolCount/metricCount 硬编码
|
||||
|
||||
**结果**: FAIL(未修复)
|
||||
|
||||
所有 9 个 Hand 的 `toolCount: 0, metricCount: 0`。
|
||||
|
||||
### ✅ TC-1-18 | TOML 配置加载验证
|
||||
|
||||
**结果**: PASS
|
||||
|
||||
`hand_get` 返回完整配置:
|
||||
```json
|
||||
{
|
||||
"dependencies": [],
|
||||
"description": "生成和管理测验题目...",
|
||||
"enabled": true,
|
||||
"id": "quiz",
|
||||
"input_schema": { "properties": { "action": ..., "quiz_id": ..., "topic": ... } },
|
||||
"max_concurrent": 0,
|
||||
"name": "测验",
|
||||
"needs_approval": false,
|
||||
"tags": ["assessment", "education"],
|
||||
"timeout_secs": 0
|
||||
}
|
||||
```
|
||||
|
||||
### ✅ TC-1-19 | Hand 错误处理(异常)
|
||||
|
||||
**结果**: PASS
|
||||
|
||||
- `input: null` → `"invalid type: null, expected internally tagged enum ResearcherAction"`
|
||||
- 错误信息明确,非 panic
|
||||
|
||||
### ⚠️ TC-1-20 | M3-12 自主级别映射
|
||||
|
||||
**结果**: PARTIAL
|
||||
|
||||
- supervised: ✅ 正确要求审批("监督模式下所有 Hand 执行需要用户审批")
|
||||
- autonomous: ⚠️ Browser 返回 pending_execution 而非实际执行
|
||||
- Quiz 在 autonomous 下正常执行
|
||||
|
||||
### ⚠️ TC-1-23 | 超长输入触发
|
||||
|
||||
**结果**: FAIL(无输入验证)
|
||||
|
||||
- 100K 字符 topic 被 quiz 接受并尝试执行
|
||||
- 最终因 LLM API 问题失败,但未在输入层拒绝
|
||||
|
||||
---
|
||||
|
||||
## 新发现问题
|
||||
|
||||
| TC-ID | 描述 | 场景类型 | 优先级 | 状态 | 备注 |
|
||||
|-------|------|---------|--------|------|------|
|
||||
| TC-1-D01 | LLM API 并发时 500 DATABASE_ERROR | 边界 | **P1** | 新发现 | 5 个并发 quiz 请求,4 个返回 `{"error":"DATABASE_ERROR"}`,仅第 1 个成功。SaaS 后端数据库连接池可能不足 |
|
||||
| TC-1-D02 | Browser Hand autonomous 返回 pending_execution | 正常 | **P1** | 已知(M3-02) | 即使 autonomous 模式也不实际执行浏览器操作 |
|
||||
| TC-1-D03 | Quiz 无输入长度限制 | 边界 | **P2** | 新发现 | 100K 字符 topic 被接受,应设上限 |
|
||||
|
||||
---
|
||||
|
||||
## 健康度评估
|
||||
|
||||
| 维度 | V12 基线 | 本次评估 | 变化 |
|
||||
|------|---------|---------|------|
|
||||
| 功能完整性 | 58 | 68 | +10 |
|
||||
| 代码质量 | - | - | N/A |
|
||||
| 测试覆盖 | - | - | N/A |
|
||||
| 文档完备 | - | - | N/A |
|
||||
| 集成连通性 | - | - | N/A |
|
||||
| **综合** | **58/100** | **68/100** | **+10** |
|
||||
|
||||
**提升原因**:
|
||||
- M3-01 run_id 丢失已修复
|
||||
- M3-06 返回值类型已修复
|
||||
- 审批流程基本闭环(approval_list/respond 工作正常)
|
||||
- hand_run_list 历史记录功能完整
|
||||
- 错误处理改善(null input / 不存在 Hand 都返回明确错误)
|
||||
|
||||
**残留风险**:
|
||||
- Browser Hand 不实际执行(P1)
|
||||
- max_concurrent/timeout_secs 未实现(P2)
|
||||
- LLM API 并发问题(P1,SaaS 后端)
|
||||
- toolCount/metricCount 硬编码(P2)
|
||||
Binary file not shown.
|
After Width: | Height: | Size: 906 B |
Binary file not shown.
|
After Width: | Height: | Size: 906 B |
Binary file not shown.
|
After Width: | Height: | Size: 906 B |
57
docs/test-results/baseline/README.md
Normal file
57
docs/test-results/baseline/README.md
Normal file
@@ -0,0 +1,57 @@
|
||||
# ZCLAW 上线前功能审计 — 基线测试结果
|
||||
|
||||
> **执行日期**: 2026-04-05 | **环境**: Windows 11, PostgreSQL + SaaS + Tauri 已启动
|
||||
|
||||
## 自动化测试基线
|
||||
|
||||
### cargo test --workspace
|
||||
|
||||
- **状态**: ⚠️ 部分完成
|
||||
- **问题**: zclaw-saas.exe 被运行中的 SaaS 后端锁定,无法重新编译
|
||||
- **解决方案**: 排除 zclaw-saas 重跑,结果待补充
|
||||
- **cargo check**: ✅ 通过(0 error,仅 warnings)
|
||||
|
||||
### desktop vitest (174/185 passed)
|
||||
|
||||
- **通过**: 174
|
||||
- **失败**: 10
|
||||
- **跳过**: 1
|
||||
- **失败原因**: 全部在 `chatStore.test.ts`,因 ChatStore 4-sub-store 重构后测试未同步更新
|
||||
- **失败测试**:
|
||||
- `chatStore` > `createConversation` 相关 3 个
|
||||
- `chatStore` > `sendMessage` 相关 4 个
|
||||
- `chatStore` > `conversations` 相关 3 个
|
||||
|
||||
### admin-v2 vitest (36/71 passed)
|
||||
|
||||
- **通过**: 36
|
||||
- **失败**: 35
|
||||
- **失败分布**:
|
||||
- authStore.test.ts: 6/8 failed (localStorage mock 问题)
|
||||
- request.test.ts: 2/7 failed (Authorization header / 401 refresh)
|
||||
- accountStore.test.ts: 多个 CRUD 测试失败
|
||||
- 其他页面测试: relay, usage, prompt 等
|
||||
|
||||
## 环境验证
|
||||
|
||||
| 项目 | 状态 | 备注 |
|
||||
|------|------|------|
|
||||
| PostgreSQL | ✅ 运行中 | Docker 容器 |
|
||||
| SaaS 后端 | ✅ 运行中 | 0.0.0.0:8080 |
|
||||
| Tauri 桌面端 | ✅ 运行中 | http://localhost:1420/ |
|
||||
| tauri-mcp | ✅ 连接正常 | 可查询/交互 |
|
||||
| LLM Provider | ✅ 可用 | glm-4-flash (GLM) |
|
||||
|
||||
## 已知基线缺陷(非本轮引入)
|
||||
|
||||
1. **desktop chatStore 测试**: ChatStore 拆分为 4 个 sub-store 后测试未更新
|
||||
2. **admin authStore 测试**: jsdom 环境下 localStorage API 兼容问题
|
||||
3. **admin 多页面测试**: 依赖真实 API 端点,vitest 环境无法访问
|
||||
|
||||
## T1 Hands 测试已完成
|
||||
|
||||
详见 [T1-hands/REPORT.md](../T1-hands/REPORT.md)
|
||||
|
||||
- 通过: 11/18 执行用例
|
||||
- 健康度: 58 → 68 (+10)
|
||||
- 新发现 P1: 2 个 (LLM 并发 + Browser Hand)
|
||||
5932
docs/test-results/baseline/admin-vitest.txt
Normal file
5932
docs/test-results/baseline/admin-vitest.txt
Normal file
File diff suppressed because it is too large
Load Diff
44
docs/test-results/baseline/cargo-check.txt
Normal file
44
docs/test-results/baseline/cargo-check.txt
Normal file
@@ -0,0 +1,44 @@
|
||||
warning: G:\ZClaw_openfang\desktop\src-tauri\Cargo.toml: Found `debug_assertions` in `target.'cfg(...)'.dependencies`. This value is not supported for selecting dependencies and will not work as expected. To learn more visit https://doc.rust-lang.org/cargo/reference/specifying-dependencies.html#platform-specific-dependencies
|
||||
Blocking waiting for file lock on package cache
|
||||
Blocking waiting for file lock on package cache
|
||||
Blocking waiting for file lock on package cache
|
||||
Blocking waiting for file lock on build directory
|
||||
warning: unused import: `parse_pipeline_v2_yaml`
|
||||
--> desktop\src-tauri\src\pipeline_commands\discovery.rs:9:5
|
||||
|
|
||||
9 | parse_pipeline_v2_yaml,
|
||||
| ^^^^^^^^^^^^^^^^^^^^^^
|
||||
|
|
||||
= note: `#[warn(unused_imports)]` (part of `#[warn(unused)]`) on by default
|
||||
|
||||
warning: unused import: `pipeline_v2_to_info`
|
||||
--> desktop\src-tauri\src\pipeline_commands\discovery.rs:19:118
|
||||
|
|
||||
19 | use super::helpers::{get_pipelines_directory, scan_pipelines_with_paths, scan_pipelines_full_sync, pipeline_to_info, pipeline_v2_to_info};
|
||||
| ^^^^^^^^^^^^^^^^^^^
|
||||
|
||||
warning: field `offset` is never read
|
||||
--> desktop\src-tauri\src\memory\persistent.rs:126:9
|
||||
|
|
||||
118 | pub struct MemorySearchQuery {
|
||||
| ----------------- field in this struct
|
||||
...
|
||||
126 | pub offset: Option<usize>,
|
||||
| ^^^^^^
|
||||
|
|
||||
= note: `MemorySearchQuery` has derived impls for the traits `Clone` and `Debug`, but these are intentionally ignored during dead code analysis
|
||||
= note: `#[warn(dead_code)]` (part of `#[warn(unused)]`) on by default
|
||||
|
||||
warning: method `delete_classroom` is never used
|
||||
--> desktop\src-tauri\src\classroom_commands\persist.rs:104:18
|
||||
|
|
||||
21 | impl ClassroomPersistence {
|
||||
| ------------------------- method in this implementation
|
||||
...
|
||||
104 | pub async fn delete_classroom(&self, classroom_id: &str) -> Result<(), String> {
|
||||
| ^^^^^^^^^^^^^^^^
|
||||
|
||||
warning: `desktop` (lib) generated 4 warnings (run `cargo fix --lib -p desktop` to apply 2 suggestions)
|
||||
Finished `dev` profile [unoptimized + debuginfo] target(s) in 5m 38s
|
||||
warning: the following packages contain code that will be rejected by a future version of Rust: sqlx-postgres v0.7.4
|
||||
note: to see what the problems were, use the option `--future-incompat-report`, or run `cargo report future-incompatibilities --id 2`
|
||||
781
docs/test-results/baseline/cargo-test.txt
Normal file
781
docs/test-results/baseline/cargo-test.txt
Normal file
@@ -0,0 +1,781 @@
|
||||
warning: G:\ZClaw_openfang\desktop\src-tauri\Cargo.toml: Found `debug_assertions` in `target.'cfg(...)'.dependencies`. This value is not supported for selecting dependencies and will not work as expected. To learn more visit https://doc.rust-lang.org/cargo/reference/specifying-dependencies.html#platform-specific-dependencies
|
||||
Compiling sqlx-core v0.7.4
|
||||
Compiling sqlx-postgres v0.7.4
|
||||
Compiling sqlx-sqlite v0.7.4
|
||||
Compiling sqlx-macros-core v0.7.4
|
||||
Compiling sqlx-macros v0.7.4
|
||||
Compiling sqlx v0.7.4
|
||||
Compiling tokio-rustls v0.26.4
|
||||
Compiling zclaw-growth v0.1.0 (G:\ZClaw_openfang\crates\zclaw-growth)
|
||||
Compiling hyper-rustls v0.27.7
|
||||
Compiling reqwest v0.12.28
|
||||
Compiling zclaw-memory v0.1.0 (G:\ZClaw_openfang\crates\zclaw-memory)
|
||||
Compiling zclaw-runtime v0.1.0 (G:\ZClaw_openfang\crates\zclaw-runtime)
|
||||
Compiling zclaw-protocols v0.1.0 (G:\ZClaw_openfang\crates\zclaw-protocols)
|
||||
Compiling tauri v2.10.3
|
||||
Compiling zclaw-hands v0.1.0 (G:\ZClaw_openfang\crates\zclaw-hands)
|
||||
Compiling interprocess v2.4.0
|
||||
Compiling image v0.24.9
|
||||
Compiling zclaw-kernel v0.1.0 (G:\ZClaw_openfang\crates\zclaw-kernel)
|
||||
Compiling zclaw-pipeline v0.1.0 (G:\ZClaw_openfang\crates\zclaw-pipeline)
|
||||
Compiling desktop v0.1.0 (G:\ZClaw_openfang\desktop\src-tauri)
|
||||
Compiling tauri-plugin-opener v2.5.3
|
||||
Compiling tauri-plugin-mcp v0.1.0 (https://github.com/P3GLEG/tauri-plugin-mcp?branch=main#ac709a71)
|
||||
Compiling criterion v0.5.1
|
||||
warning: unused import: `parse_pipeline_v2_yaml`
|
||||
--> desktop\src-tauri\src\pipeline_commands\discovery.rs:9:5
|
||||
|
|
||||
9 | parse_pipeline_v2_yaml,
|
||||
| ^^^^^^^^^^^^^^^^^^^^^^
|
||||
|
|
||||
= note: `#[warn(unused_imports)]` (part of `#[warn(unused)]`) on by default
|
||||
|
||||
warning: unused import: `pipeline_v2_to_info`
|
||||
--> desktop\src-tauri\src\pipeline_commands\discovery.rs:19:118
|
||||
|
|
||||
19 | use super::helpers::{get_pipelines_directory, scan_pipelines_with_paths, scan_pipelines_full_sync, pipeline_to_info, pipeline_v2_to_info};
|
||||
| ^^^^^^^^^^^^^^^^^^^
|
||||
|
||||
warning: field `offset` is never read
|
||||
--> desktop\src-tauri\src\memory\persistent.rs:126:9
|
||||
|
|
||||
118 | pub struct MemorySearchQuery {
|
||||
| ----------------- field in this struct
|
||||
...
|
||||
126 | pub offset: Option<usize>,
|
||||
| ^^^^^^
|
||||
|
|
||||
= note: `MemorySearchQuery` has derived impls for the traits `Clone` and `Debug`, but these are intentionally ignored during dead code analysis
|
||||
= note: `#[warn(dead_code)]` (part of `#[warn(unused)]`) on by default
|
||||
|
||||
warning: method `delete_classroom` is never used
|
||||
--> desktop\src-tauri\src\classroom_commands\persist.rs:104:18
|
||||
|
|
||||
21 | impl ClassroomPersistence {
|
||||
| ------------------------- method in this implementation
|
||||
...
|
||||
104 | pub async fn delete_classroom(&self, classroom_id: &str) -> Result<(), String> {
|
||||
| ^^^^^^^^^^^^^^^^
|
||||
|
||||
warning: unused import: `zclaw_growth::MemoryType`
|
||||
--> desktop\src-tauri\src\summarizer_adapter.rs:114:9
|
||||
|
|
||||
114 | use zclaw_growth::MemoryType;
|
||||
| ^^^^^^^^^^^^^^^^^^^^^^^^
|
||||
|
|
||||
= note: `#[warn(unused_imports)]` (part of `#[warn(unused)]`) on by default
|
||||
|
||||
warning: unused import: `parse_pipeline_v2_yaml`
|
||||
--> desktop\src-tauri\src\pipeline_commands\discovery.rs:9:5
|
||||
|
|
||||
9 | parse_pipeline_v2_yaml,
|
||||
| ^^^^^^^^^^^^^^^^^^^^^^
|
||||
|
||||
warning: struct `DummyDriver` is never constructed
|
||||
--> desktop\src-tauri\src\intelligence\extraction_adapter.rs:279:16
|
||||
|
|
||||
279 | struct DummyDriver;
|
||||
| ^^^^^^^^^^^
|
||||
|
||||
warning: method `parse_response_test` is never used
|
||||
--> desktop\src-tauri\src\intelligence\extraction_adapter.rs:281:16
|
||||
|
|
||||
280 | impl TauriExtractionDriver {
|
||||
| -------------------------- method in this implementation
|
||||
281 | fn parse_response_test(
|
||||
| ^^^^^^^^^^^^^^^^^^^
|
||||
|
||||
warning: non-local `impl` definition, `impl` blocks should be written at the same level as their item
|
||||
--> desktop\src-tauri\src\intelligence\extraction_adapter.rs:280:9
|
||||
|
|
||||
276 | fn test_parse_empty_response() {
|
||||
| ------------------------------ move the `impl` block outside of this function `test_parse_empty_response`
|
||||
...
|
||||
280 | impl TauriExtractionDriver {
|
||||
| ^^^^^---------------------
|
||||
| |
|
||||
| `TauriExtractionDriver` is not local
|
||||
|
|
||||
= note: an `impl` is never scoped, even when it is nested inside an item, as it may impact type checking outside of that item, which can be the case if neither the trait or the self type are at the same nesting level as the `impl`
|
||||
= note: `#[warn(non_local_definitions)]` on by default
|
||||
|
||||
warning: `desktop` (lib test) generated 8 warnings (3 duplicates) (run `cargo fix --lib -p desktop --tests` to apply 2 suggestions)
|
||||
warning: unused import: `compile_pattern`
|
||||
--> crates\zclaw-pipeline\src\intent.rs:631:26
|
||||
|
|
||||
631 | use crate::trigger::{compile_pattern, compile_trigger, Trigger};
|
||||
| ^^^^^^^^^^^^^^^
|
||||
|
|
||||
= note: `#[warn(unused_imports)]` (part of `#[warn(unused)]`) on by default
|
||||
|
||||
warning: `desktop` (lib) generated 4 warnings (run `cargo fix --lib -p desktop` to apply 2 suggestions)
|
||||
warning: `zclaw-pipeline` (lib test) generated 1 warning (run `cargo fix --lib -p zclaw-pipeline --tests` to apply 1 suggestion)
|
||||
warning: function `test_context` is never used
|
||||
--> crates\zclaw-hands\src\hands\researcher.rs:583:8
|
||||
|
|
||||
583 | fn test_context() -> HandContext {
|
||||
| ^^^^^^^^^^^^
|
||||
|
|
||||
= note: `#[warn(dead_code)]` (part of `#[warn(unused)]`) on by default
|
||||
|
||||
warning: `zclaw-hands` (lib test) generated 1 warning
|
||||
Finished `test` profile [unoptimized + debuginfo] target(s) in 3m 33s
|
||||
warning: the following packages contain code that will be rejected by a future version of Rust: sqlx-postgres v0.7.4
|
||||
note: to see what the problems were, use the option `--future-incompat-report`, or run `cargo report future-incompatibilities --id 2`
|
||||
Running unittests src\lib.rs (target\debug\deps\desktop_lib-7e14a4a33859881e.exe)
|
||||
|
||||
running 36 tests
|
||||
test intelligence::compactor::tests::test_estimate_tokens_chinese ... ok
|
||||
test intelligence::compactor::tests::test_compaction_check ... ok
|
||||
test intelligence::heartbeat::tests::test_parse_time ... ok
|
||||
test intelligence::extraction_adapter::tests::test_parse_no_json_array ... ok
|
||||
test intelligence::extraction_adapter::tests::test_parse_empty_response ... ok
|
||||
test intelligence::reflection::tests::test_analyze_patterns ... ok
|
||||
test intelligence::heartbeat::tests::test_default_config ... ok
|
||||
test intelligence::compactor::tests::test_estimate_tokens_english ... ok
|
||||
test intelligence::extraction_adapter::tests::test_parse_valid_json_response ... ok
|
||||
test intelligence::extraction_adapter::tests::test_extraction_driver_not_configured_by_default ... ok
|
||||
test intelligence::reflection::tests::test_should_reflect_initial ... ok
|
||||
test intelligence::validation::tests::test_optional_identifier ... ok
|
||||
test intelligence::validation::tests::test_invalid_identifiers ... ok
|
||||
test intelligence::validation::tests::test_sanitize_for_logging ... ok
|
||||
test intelligence::validation::tests::test_string_length_validation ... ok
|
||||
test intelligence::validation::tests::test_valid_identifiers ... ok
|
||||
test llm::tests::test_llm_client_creation ... ok
|
||||
test llm::tests::test_provider_configs ... ok
|
||||
test memory::context_builder::tests::test_estimate_tokens ... ok
|
||||
test memory::persistent::tests::test_generate_memory_id ... ok
|
||||
test memory::extractor::tests::test_extraction_config_default ... ok
|
||||
test memory::crypto::tests::test_derive_key ... ok
|
||||
test memory::extractor::tests::test_uri_generation ... ok
|
||||
test memory::crypto::tests::test_encrypt_decrypt ... ok
|
||||
test memory::context_builder::tests::test_context_builder_config_default ... ok
|
||||
test memory::context_builder::tests::test_extract_category ... ok
|
||||
test summarizer_adapter::tests::test_summary_driver_configure_and_check ... ok
|
||||
test viking_commands::tests::test_invalid_uri ... ok
|
||||
test summarizer_adapter::tests::test_summary_driver_not_configured_by_default ... ok
|
||||
test memory::crypto::tests::test_encrypt_produces_different_ciphertext ... ok
|
||||
test viking_commands::tests::test_parse_uri ... ok
|
||||
test intelligence::identity::tests::test_get_identity_creates_default ... ok
|
||||
test intelligence::identity::tests::test_update_user_profile ... ok
|
||||
test intelligence::identity::tests::test_snapshots ... ok
|
||||
test intelligence::identity::tests::test_proposal_flow ... ok
|
||||
test intelligence::compactor::tests::test_generate_summary ... ok
|
||||
|
||||
test result: ok. 36 passed; 0 failed; 0 ignored; 0 measured; 0 filtered out; finished in 0.02s
|
||||
|
||||
Running unittests src\main.rs (target\debug\deps\desktop-c3cc535c9683aa3d.exe)
|
||||
|
||||
running 0 tests
|
||||
|
||||
test result: ok. 0 passed; 0 failed; 0 ignored; 0 measured; 0 filtered out; finished in 0.00s
|
||||
|
||||
Running unittests src\lib.rs (target\debug\deps\zclaw_growth-0cc62226cc107d52.exe)
|
||||
|
||||
running 66 tests
|
||||
test extractor::tests::test_prompts_available ... ok
|
||||
test injector::tests::test_injector_empty_memories ... ok
|
||||
test injector::tests::test_estimate_tokens ... ok
|
||||
test injector::tests::test_minimal_context ... ok
|
||||
test injector::tests::test_injector_with_preferences ... ok
|
||||
test injector::tests::test_inject_compact ... ok
|
||||
test injector::tests::test_injector_with_all_types ... ok
|
||||
test injector::tests::test_format_selection ... ok
|
||||
test injector::tests::test_inject_custom ... ok
|
||||
test injector::tests::test_inject_json ... ok
|
||||
test retrieval::query::tests::test_cjk_detection ... ok
|
||||
test extractor::tests::test_extractor_creation ... ok
|
||||
test retrieval::cache::tests::test_cache_miss ... ok
|
||||
test retrieval::cache::tests::test_cache_stats ... ok
|
||||
test retrieval::cache::tests::test_cache_eviction ... ok
|
||||
test retrieval::cache::tests::test_cache_put_and_get ... ok
|
||||
test retrieval::cache::tests::test_cache_remove ... ok
|
||||
test retrieval::query::tests::test_extract_keywords ... ok
|
||||
test retrieval::query::tests::test_chinese_keywords ... ok
|
||||
test retrieval::semantic::tests::test_cosine_similarity ... ok
|
||||
test extractor::tests::test_extract_memories ... ok
|
||||
test retrieval::query::tests::test_classify_intent_code ... ok
|
||||
test retrieval::cache::tests::test_get_hot_entries ... ok
|
||||
test retrieval::query::tests::test_classify_intent_knowledge ... ok
|
||||
test retrieval::cache::tests::test_cache_clear ... ok
|
||||
test retrieval::query::tests::test_classify_intent_preference ... ok
|
||||
test retrieval::query::tests::test_query_expansion ... ok
|
||||
test retrieval::query::tests::test_generate_search_queries ... ok
|
||||
test retrieval::semantic::tests::test_tf_computation ... ok
|
||||
test retrieval::semantic::tests::test_stop_words_removal ... ok
|
||||
test retrieval::semantic::tests::test_tokenize ... ok
|
||||
test retrieval::semantic::tests::test_index_and_score ... ok
|
||||
test retrieval::semantic::tests::test_stats ... ok
|
||||
test retriever::tests::test_memory_type_scope ... ok
|
||||
test retriever::tests::test_retrieval_config_default ... ok
|
||||
test retriever::tests::test_retriever_creation ... ok
|
||||
test summarizer::tests::test_abstract_prompt ... ok
|
||||
test summarizer::tests::test_clean_summary ... ok
|
||||
test summarizer::tests::test_generate_summaries ... ok
|
||||
test summarizer::tests::test_overview_prompt ... ok
|
||||
test summarizer::tests::test_generate_summaries_handles_error ... ok
|
||||
test tests::test_growth_config_default ... ok
|
||||
test tests::test_memory_type_reexport ... ok
|
||||
test types::tests::test_estimated_tokens ... ok
|
||||
test types::tests::test_memory_entry_creation ... ok
|
||||
test types::tests::test_memory_entry_touch ... ok
|
||||
test tracker::tests::test_agent_metadata_serialization ... ok
|
||||
test tracker::tests::test_learning_event_serialization ... ok
|
||||
test types::tests::test_memory_type_display ... ok
|
||||
test types::tests::test_retrieval_config_default ... ok
|
||||
test types::tests::test_retrieval_config_with_budget ... ok
|
||||
test types::tests::test_retrieval_result ... ok
|
||||
test types::tests::test_uri_builder ... ok
|
||||
test types::tests::test_uri_parser ... ok
|
||||
test viking_adapter::tests::test_in_memory_storage_delete ... ok
|
||||
test viking_adapter::tests::test_metadata_storage ... ok
|
||||
test viking_adapter::tests::test_viking_adapter_typed_metadata ... ok
|
||||
test viking_adapter::tests::test_in_memory_storage_store_and_get ... ok
|
||||
test viking_adapter::tests::test_viking_level_display ... ok
|
||||
test viking_adapter::tests::test_in_memory_storage_find ... ok
|
||||
test storage::sqlite::tests::test_metadata_storage ... ok
|
||||
test storage::sqlite::tests::test_sqlite_storage_store_and_get ... ok
|
||||
test storage::sqlite::tests::test_sqlite_storage_delete ... ok
|
||||
test storage::sqlite::tests::test_access_count ... ok
|
||||
test storage::sqlite::tests::test_sqlite_storage_semantic_search ... ok
|
||||
test storage::sqlite::tests::test_persistence ... ok
|
||||
|
||||
test result: ok. 66 passed; 0 failed; 0 ignored; 0 measured; 0 filtered out; finished in 0.07s
|
||||
|
||||
Running tests\integration_test.rs (target\debug\deps\integration_test-4b889886bf0ebf9e.exe)
|
||||
|
||||
running 9 tests
|
||||
test test_prompt_injection_token_budget ... ok
|
||||
test test_metadata_operations ... ok
|
||||
test test_chinese_text_handling ... ok
|
||||
test test_memory_deletion ... ok
|
||||
test test_semantic_search_ranking ... ok
|
||||
test test_find_by_prefix ... ok
|
||||
test test_agent_isolation ... ok
|
||||
test test_importance_and_access ... ok
|
||||
test test_memory_lifecycle ... ok
|
||||
|
||||
test result: ok. 9 passed; 0 failed; 0 ignored; 0 measured; 0 filtered out; finished in 0.04s
|
||||
|
||||
Running unittests src\lib.rs (target\debug\deps\zclaw_hands-ddb5fe00a71de8d9.exe)
|
||||
|
||||
running 155 tests
|
||||
test hands::browser::tests::test_browser_config ... ok
|
||||
test hands::browser::tests::test_form_field_deserialize ... ok
|
||||
test hands::clip::tests::test_action_check_ffmpeg ... ok
|
||||
test hands::browser::tests::test_action_deserialize_screenshot ... ok
|
||||
test hands::browser::tests::test_action_deserialize_type ... ok
|
||||
test hands::clip::tests::test_action_info ... ok
|
||||
test hands::clip::tests::test_action_invalid ... ok
|
||||
test hands::browser::tests::test_action_deserialize_navigate ... ok
|
||||
test hands::clip::tests::test_action_convert ... ok
|
||||
test hands::clip::tests::test_action_resize ... ok
|
||||
test hands::browser::tests::test_action_deserialize_click ... ok
|
||||
test hands::clip::tests::test_action_thumbnail ... ok
|
||||
test hands::clip::tests::test_action_concat ... ok
|
||||
test hands::browser::tests::test_action_deserialize_scrape ... ok
|
||||
test hands::clip::tests::test_action_trim ... ok
|
||||
test hands::clip::tests::test_concat_config_deserialize ... ok
|
||||
test hands::browser::tests::test_all_major_actions_roundtrip ... ok
|
||||
test hands::clip::tests::test_convert_config_defaults ... ok
|
||||
test hands::browser::tests::test_browser_config_needs_approval ... ok
|
||||
test hands::clip::tests::test_convert_config_deserialize ... ok
|
||||
test hands::browser::tests::test_browser_sequence_builder ... ok
|
||||
test hands::browser::tests::test_browser_sequence_multiple_steps ... ok
|
||||
test hands::clip::tests::test_default_impl ... ok
|
||||
test hands::clip::tests::test_info_action_roundtrip ... ok
|
||||
test hands::clip::tests::test_hand_config ... ok
|
||||
test hands::clip::tests::test_resolution_custom ... ok
|
||||
test hands::clip::tests::test_resolution_default ... ok
|
||||
test hands::clip::tests::test_resolution_presets ... ok
|
||||
test hands::clip::tests::test_needs_approval ... ok
|
||||
test hands::clip::tests::test_execute_invalid_action ... ok
|
||||
test hands::clip::tests::test_resolution_serialize ... ok
|
||||
test hands::clip::tests::test_thumbnail_config_defaults ... ok
|
||||
test hands::clip::tests::test_thumbnail_config_deserialize ... ok
|
||||
test hands::clip::tests::test_trim_action_roundtrip ... ok
|
||||
test hands::clip::tests::test_trim_config_deserialize ... ok
|
||||
test hands::clip::tests::test_trim_config_minimal ... ok
|
||||
test hands::clip::tests::test_video_format_deserialize ... ok
|
||||
test hands::clip::tests::test_video_format_default ... ok
|
||||
test hands::clip::tests::test_video_info_deserialize ... ok
|
||||
test hands::clip::tests::test_video_format_serialize ... ok
|
||||
test hands::collector::tests::test_collection_target_deserialize ... ok
|
||||
test hands::collector::tests::test_collector_action_deserialize ... ok
|
||||
test hands::collector::tests::test_collector_config ... ok
|
||||
test hands::collector::tests::test_aggregate_action_empty_urls ... ok
|
||||
test hands::collector::tests::test_extract_visible_text_empty ... ok
|
||||
test hands::researcher::tests::test_action_fetch_deserialize ... ok
|
||||
test hands::collector::tests::test_extract_visible_text_basic ... ok
|
||||
test hands::collector::tests::test_extract_visible_text_strips_scripts ... ok
|
||||
test hands::researcher::tests::test_action_invalid_rejected ... ok
|
||||
test hands::collector::tests::test_extract_visible_text_strips_styles ... ok
|
||||
test hands::quiz::tests::test_quiz_creation ... ok
|
||||
test hands::quiz::tests::test_export_markdown ... ok
|
||||
test hands::collector::tests::test_output_format_serialize ... ok
|
||||
test hands::quiz::tests::test_submit_and_grade ... ok
|
||||
test hands::quiz::tests::test_generate_quiz ... ok
|
||||
test hands::researcher::tests::test_action_search_deserialize ... ok
|
||||
test hands::researcher::tests::test_action_report_deserialize ... ok
|
||||
test hands::quiz::tests::test_show_question ... ok
|
||||
test hands::researcher::tests::test_config_id ... ok
|
||||
test hands::researcher::tests::test_check_dependencies_ok ... ok
|
||||
test hands::researcher::tests::test_extract_text_empty_body ... ok
|
||||
test hands::researcher::tests::test_extract_text_basic ... ok
|
||||
test hands::researcher::tests::test_extract_text_strips_scripts ... ok
|
||||
test hands::researcher::tests::test_extract_text_strips_styles ... ok
|
||||
test hands::researcher::tests::test_research_depth_default_is_standard ... ok
|
||||
test hands::clip::tests::test_check_dependencies ... ok
|
||||
test hands::researcher::tests::test_research_depth_deserialize ... ok
|
||||
test hands::researcher::tests::test_research_depth_serialize ... ok
|
||||
test hands::researcher::tests::test_research_query_defaults ... ok
|
||||
test hands::researcher::tests::test_needs_approval_is_false ... ok
|
||||
test hands::researcher::tests::test_research_report_summary_is_some_when_results ... ok
|
||||
test hands::researcher::tests::test_search_engine_default_is_auto ... ok
|
||||
test hands::researcher::tests::test_search_engine_serialize_roundtrip ... ok
|
||||
test hands::clip::tests::test_execute_check_ffmpeg ... ok
|
||||
test hands::researcher::tests::test_search_result_serialization ... ok
|
||||
test hands::researcher::tests::test_url_encode_ascii ... ok
|
||||
test hands::researcher::tests::test_extract_text_truncates_long_content ... ok
|
||||
test hands::researcher::tests::test_url_encode_chinese ... ok
|
||||
test hands::researcher::tests::test_url_encode_empty ... ok
|
||||
test hands::clip::tests::test_status ... ok
|
||||
test hands::researcher::tests::test_url_encode_safe_chars ... ok
|
||||
test hands::researcher::tests::test_status_is_idle ... ok
|
||||
test hands::slideshow::tests::test_add_slide ... ok
|
||||
test hands::slideshow::tests::test_content_block_code ... ok
|
||||
test hands::slideshow::tests::test_autoplay_default_interval ... ok
|
||||
test hands::slideshow::tests::test_autoplay_pause_resume ... ok
|
||||
test hands::slideshow::tests::test_content_block_list ... ok
|
||||
test hands::slideshow::tests::test_content_block_table ... ok
|
||||
test hands::slideshow::tests::test_default_impl ... ok
|
||||
test hands::slideshow::tests::test_default_state ... ok
|
||||
test hands::slideshow::tests::test_content_block_text ... ok
|
||||
test hands::slideshow::tests::test_deserialize_autoplay ... ok
|
||||
test hands::slideshow::tests::test_deserialize_goto_slide ... ok
|
||||
test hands::slideshow::tests::test_deserialize_laser ... ok
|
||||
test hands::slideshow::tests::test_deserialize_next_slide ... ok
|
||||
test hands::slideshow::tests::test_deserialize_invalid_action ... ok
|
||||
test hands::slideshow::tests::test_goto_slide_out_of_range ... ok
|
||||
test hands::slideshow::tests::test_get_state ... ok
|
||||
test hands::slideshow::tests::test_goto_slide_returns_content ... ok
|
||||
test hands::slideshow::tests::test_hand_execute_dispatch ... ok
|
||||
test hands::slideshow::tests::test_hand_execute_invalid_action ... ok
|
||||
test hands::slideshow::tests::test_highlight_custom_color ... ok
|
||||
test hands::slideshow::tests::test_highlight_default_color ... ok
|
||||
test hands::slideshow::tests::test_needs_approval ... ok
|
||||
test hands::slideshow::tests::test_laser ... ok
|
||||
test hands::slideshow::tests::test_navigation ... ok
|
||||
test hands::slideshow::tests::test_next_slide_at_end ... ok
|
||||
test hands::slideshow::tests::test_play_animation ... ok
|
||||
test hands::slideshow::tests::test_prev_slide_at_beginning ... ok
|
||||
test hands::slideshow::tests::test_set_content_append ... ok
|
||||
test hands::slideshow::tests::test_slideshow_creation ... ok
|
||||
test hands::slideshow::tests::test_set_content_invalid_index ... ok
|
||||
test hands::slideshow::tests::test_set_content ... ok
|
||||
test hands::slideshow::tests::test_spotlight ... ok
|
||||
test hands::slideshow::tests::test_spotlight_default_duration ... ok
|
||||
test hands::speech::tests::test_speak ... ok
|
||||
test hands::slideshow::tests::test_status ... ok
|
||||
test hands::speech::tests::test_pause_resume ... ok
|
||||
test hands::speech::tests::test_set_voice ... ok
|
||||
test hands::speech::tests::test_list_voices ... ok
|
||||
test hands::speech::tests::test_speech_creation ... ok
|
||||
test hands::twitter::tests::test_check_credentials_action ... ok
|
||||
test hands::twitter::tests::test_check_dependencies ... ok
|
||||
test hands::twitter::tests::test_check_credentials_with_config ... ok
|
||||
test hands::twitter::tests::test_default_impl ... ok
|
||||
test hands::twitter::tests::test_delete_tweet_action ... ok
|
||||
test hands::twitter::tests::test_check_credentials_without_config ... ok
|
||||
test hands::twitter::tests::test_followers_action ... ok
|
||||
test hands::twitter::tests::test_following_action_no_max ... ok
|
||||
test hands::twitter::tests::test_get_tweet_action ... ok
|
||||
test hands::twitter::tests::test_invalid_action ... ok
|
||||
test hands::twitter::tests::test_get_user_action ... ok
|
||||
test hands::twitter::tests::test_hand_config ... ok
|
||||
test hands::twitter::tests::test_like_unlike_actions ... ok
|
||||
test hands::twitter::tests::test_media_info_deserialize ... ok
|
||||
test hands::twitter::tests::test_needs_approval ... ok
|
||||
test hands::twitter::tests::test_retweet_unretweet_actions ... ok
|
||||
test hands::twitter::tests::test_search_action_custom_max ... ok
|
||||
test hands::twitter::tests::test_search_action_defaults ... ok
|
||||
test hands::twitter::tests::test_search_action_roundtrip ... ok
|
||||
test hands::twitter::tests::test_tweet_action_deserialize ... ok
|
||||
test hands::twitter::tests::test_timeline_action_defaults ... ok
|
||||
test hands::twitter::tests::test_tweet_action_roundtrip ... ok
|
||||
test hands::twitter::tests::test_status ... ok
|
||||
test hands::twitter::tests::test_set_and_get_credentials ... ok
|
||||
test hands::twitter::tests::test_tweet_action_with_poll ... ok
|
||||
test hands::twitter::tests::test_tweet_action_with_reply ... ok
|
||||
test hands::twitter::tests::test_tweet_deserialize ... ok
|
||||
test hands::twitter::tests::test_twitter_user_deserialize ... ok
|
||||
test hands::whiteboard::tests::test_draw_shape ... ok
|
||||
test hands::whiteboard::tests::test_chart ... ok
|
||||
test hands::whiteboard::tests::test_undo_redo ... ok
|
||||
test hands::whiteboard::tests::test_whiteboard_creation ... ok
|
||||
test hands::whiteboard::tests::test_clear ... ok
|
||||
test hands::whiteboard::tests::test_draw_text ... ok
|
||||
|
||||
test result: ok. 155 passed; 0 failed; 0 ignored; 0 measured; 0 filtered out; finished in 0.02s
|
||||
|
||||
Running unittests src\lib.rs (target\debug\deps\zclaw_kernel-2ce44e6daaebc1d9.exe)
|
||||
|
||||
running 48 tests
|
||||
test config::tests::test_interpolate_env_vars_basic ... ok
|
||||
test config::tests::test_interpolate_env_vars_missing ... ok
|
||||
test config::tests::test_interpolate_env_vars_no_vars ... ok
|
||||
test config::tests::test_interpolate_env_vars_multiple ... ok
|
||||
test export::html::tests::test_format_duration ... ok
|
||||
test export::html::tests::test_format_level ... ok
|
||||
test export::html::tests::test_html_escape ... ok
|
||||
test export::markdown::tests::test_capitalize_first ... ok
|
||||
test export::markdown::tests::test_format_duration ... ok
|
||||
test export::markdown::tests::test_slugify ... ok
|
||||
test export::pptx::tests::test_pptx_format ... ok
|
||||
test export::pptx::tests::test_xml_escape ... ok
|
||||
test export::markdown::tests::test_markdown_export ... ok
|
||||
test export::markdown::tests::test_include_notes ... ok
|
||||
test export::html::tests::test_html_export ... ok
|
||||
test export::tests::test_sanitize_filename ... ok
|
||||
test generation::agents::tests::test_agent_role_display ... ok
|
||||
test export::markdown::tests::test_include_answers ... ok
|
||||
test export::markdown::tests::test_table_of_contents ... ok
|
||||
test generation::agents::tests::test_default_request ... ok
|
||||
test export::html::tests::test_include_notes ... ok
|
||||
test generation::agents::tests::test_generate_chinese_profiles ... ok
|
||||
test generation::chat::tests::test_agent_message ... ok
|
||||
test generation::chat::tests::test_build_chat_prompt ... ok
|
||||
test generation::agents::tests::test_generate_english_profiles ... ok
|
||||
test generation::chat::tests::test_parse_chat_responses_fallback ... ok
|
||||
test generation::chat::tests::test_parse_chat_responses_valid_json ... ok
|
||||
test generation::chat::tests::test_user_message ... ok
|
||||
test generation::tests::test_generation_stage_order ... ok
|
||||
test generation::tests::test_teaching_style_default ... ok
|
||||
test scheduler::tests::test_cron_field_exact ... ok
|
||||
test scheduler::tests::test_cron_field_list ... ok
|
||||
test generation::tests::test_scene_action_serialization ... ok
|
||||
test scheduler::tests::test_cron_field_range ... ok
|
||||
test scheduler::tests::test_cron_field_step ... ok
|
||||
test generation::tests::test_pipeline_creation ... ok
|
||||
test generation::tests::test_generate_outline ... ok
|
||||
test scheduler::tests::test_cron_field_wildcard ... ok
|
||||
test generation::tests::test_generate_agent_profiles ... ok
|
||||
test generation::tests::test_generate_scenes ... ok
|
||||
test scheduler::tests::test_should_fire_every_minute ... ok
|
||||
test scheduler::tests::test_should_fire_cron_wildcard ... ok
|
||||
test scheduler::tests::test_should_not_fire_cron ... ok
|
||||
test skill_router::tests::test_extract_json_bare ... ok
|
||||
test skill_router::tests::test_extract_json_code_block ... ok
|
||||
test generation::tests::test_full_generation ... ok
|
||||
test skill_router::tests::test_extract_json_with_surrounding_text ... ok
|
||||
test export::pptx::tests::test_pptx_export ... ok
|
||||
|
||||
test result: ok. 48 passed; 0 failed; 0 ignored; 0 measured; 0 filtered out; finished in 0.01s
|
||||
|
||||
Running unittests src\lib.rs (target\debug\deps\zclaw_memory-909b7cff59274e48.exe)
|
||||
|
||||
running 25 tests
|
||||
test fact::tests::test_fact_new_clamps_confidence ... ok
|
||||
test fact::tests::test_fact_with_source ... ok
|
||||
test fact::tests::test_is_empty_and_len ... ok
|
||||
test fact::tests::test_filter_by_confidence ... ok
|
||||
test fact::tests::test_deduplicate_keeps_higher_confidence ... ok
|
||||
test store::tests::test_in_memory_store_creation ... ok
|
||||
test store::tests::test_agent_with_empty_name ... ok
|
||||
test store::tests::test_kv_recall_nonexistent ... ok
|
||||
test store::tests::test_list_agents ... ok
|
||||
test store::tests::test_load_nonexistent_agent ... ok
|
||||
test store::tests::test_kv_store_and_recall ... ok
|
||||
test store::tests::test_delete_agent ... ok
|
||||
test store::tests::test_create_session ... ok
|
||||
test store::tests::test_agent_with_special_characters_in_name ... ok
|
||||
test store::tests::test_message_with_thinking ... ok
|
||||
test store::tests::test_kv_list ... ok
|
||||
test store::tests::test_append_and_get_messages ... ok
|
||||
test store::tests::test_delete_nonexistent_agent_succeeds ... ok
|
||||
test store::tests::test_kv_update_existing ... ok
|
||||
test store::tests::test_large_message_content ... ok
|
||||
test store::tests::test_message_ordering ... ok
|
||||
test store::tests::test_save_agent_updates_existing ... ok
|
||||
test store::tests::test_save_and_load_agent ... ok
|
||||
test store::tests::test_message_with_tool_result ... ok
|
||||
test store::tests::test_message_with_tool_use ... ok
|
||||
|
||||
test result: ok. 25 passed; 0 failed; 0 ignored; 0 measured; 0 filtered out; finished in 0.08s
|
||||
|
||||
Running unittests src\lib.rs (target\debug\deps\zclaw_pipeline-a7d8a9f8b74018ea.exe)
|
||||
|
||||
running 59 tests
|
||||
test engine::stage::tests::test_stage_engine_creation ... ok
|
||||
test parser::tests::test_parse_empty_steps ... ok
|
||||
test parser::tests::test_parse_duplicate_step_ids ... ok
|
||||
test parser::tests::test_parse_invalid_kind ... ok
|
||||
test parser::tests::test_parse_invalid_version ... ok
|
||||
test parser::tests::test_parse_valid_pipeline ... ok
|
||||
test engine::context::tests::test_evaluate_condition_gt ... ok
|
||||
test engine::context::tests::test_resolve_param ... ok
|
||||
test engine::context::tests::test_resolve_stage_output ... ok
|
||||
test engine::context::tests::test_resolve_loop_context ... ok
|
||||
test executor::tests::test_evaluate_condition_bool ... ok
|
||||
test engine::context::tests::test_evaluate_condition_equal ... ok
|
||||
test executor::tests::test_evaluate_condition_equality ... ok
|
||||
test engine::context::tests::test_resolve_mixed_string ... ok
|
||||
test parser_v2::tests::test_parse_conditional_stage ... ok
|
||||
test parser_v2::tests::test_parse_all_stage_types ... ok
|
||||
test parser_v2::tests::test_parse_duplicate_stage_ids ... ok
|
||||
test parser_v2::tests::test_parse_empty_stages ... ok
|
||||
test parser_v2::tests::test_parse_invalid_kind ... ok
|
||||
test parser_v2::tests::test_parse_invalid_version ... ok
|
||||
test parser_v2::tests::test_parse_output_config ... ok
|
||||
test presentation::analyzer::tests::test_analyze_document_fallback ... ok
|
||||
test presentation::analyzer::tests::test_analyze_chart ... ok
|
||||
test presentation::analyzer::tests::test_analyze_slideshow ... ok
|
||||
test presentation::analyzer::tests::test_analyze_quiz ... ok
|
||||
test parser_v2::tests::test_parse_parallel_stage ... ok
|
||||
test presentation::analyzer::tests::test_can_render_as ... ok
|
||||
test engine::context::tests::test_child_context ... ok
|
||||
test parser_v2::tests::test_parse_valid_pipeline_v2 ... ok
|
||||
test parser_v2::tests::test_parse_sequential_stage ... ok
|
||||
test presentation::registry::tests::test_registry_defaults ... ok
|
||||
test parser_v2::tests::test_try_parse_v2 ... ok
|
||||
test presentation::registry::tests::test_all_available ... ok
|
||||
test presentation::registry::tests::test_renderer_info ... ok
|
||||
test presentation::registry::tests::test_get_export_formats ... ok
|
||||
test intent::tests::test_decide_mode_form ... ok
|
||||
test intent::tests::test_decide_mode_conversation ... ok
|
||||
test presentation::types::tests::test_presentation_type_display ... ok
|
||||
test presentation::types::tests::test_chart_data_deserialize ... ok
|
||||
test intent::tests::test_route_keyword_match ... ok
|
||||
test intent::tests::test_route_pattern_match ... ok
|
||||
test presentation::types::tests::test_presentation_type_icon ... ok
|
||||
test intent::tests::test_route_no_match ... ok
|
||||
test presentation::types::tests::test_quiz_data_deserialize ... ok
|
||||
test types_v2::tests::test_stage_id ... ok
|
||||
test state::tests::test_extract_outputs ... ok
|
||||
test state::tests::test_resolve_input ... ok
|
||||
test state::tests::test_resolve_step_output ... ok
|
||||
test state::tests::test_resolve_array_access ... ok
|
||||
test trigger::tests::test_trigger_parser_quick_match ... ok
|
||||
test types::tests::test_file_export_with_expression ... ok
|
||||
test state::tests::test_resolve_loop_context ... ok
|
||||
test types::tests::test_pipeline_deserialize ... ok
|
||||
test trigger::tests::test_compile_pattern_wildcard ... ok
|
||||
test trigger::tests::test_compile_pattern_mixed ... ok
|
||||
test state::tests::test_resolve_mixed_string ... ok
|
||||
test trigger::tests::test_compile_pattern_named_capture ... ok
|
||||
test trigger::tests::test_trigger_param_extraction ... ok
|
||||
test types_v2::tests::test_pipeline_v2_deserialize ... ok
|
||||
|
||||
test result: ok. 59 passed; 0 failed; 0 ignored; 0 measured; 0 filtered out; finished in 0.02s
|
||||
|
||||
Running unittests src\lib.rs (target\debug\deps\zclaw_protocols-914eb6f2e427bb85.exe)
|
||||
|
||||
running 0 tests
|
||||
|
||||
test result: ok. 0 passed; 0 failed; 0 ignored; 0 measured; 0 filtered out; finished in 0.00s
|
||||
|
||||
Running unittests src\lib.rs (target\debug\deps\zclaw_runtime-7276ff690990eead.exe)
|
||||
|
||||
running 42 tests
|
||||
test compaction::tests::test_compact_messages_under_threshold ... ok
|
||||
test compaction::tests::test_estimate_messages_tokens ... ok
|
||||
test compaction::tests::test_estimate_tokens_cjk ... ok
|
||||
test compaction::tests::test_estimate_tokens_empty ... ok
|
||||
test compaction::tests::test_extract_topic_long ... ok
|
||||
test compaction::tests::test_estimate_tokens_english ... ok
|
||||
test compaction::tests::test_extract_topic_sentence ... ok
|
||||
test compaction::tests::test_extract_topic_short ... ok
|
||||
test compaction::tests::test_compact_messages_over_threshold ... ok
|
||||
test compaction::tests::test_compact_preserves_leading_system ... ok
|
||||
test compaction::tests::test_generate_summary ... ok
|
||||
test compaction::tests::test_maybe_compact_under_threshold ... ok
|
||||
test tool::builtin::path_validator::tests::test_allows_with_explicit_allowed_paths ... ok
|
||||
test tool::builtin::path_validator::tests::test_allows_with_workspace_root ... ok
|
||||
test tool::builtin::path_validator::tests::test_default_deny_without_configuration ... ok
|
||||
test tool::builtin::path_validator::tests::test_denies_outside_workspace ... ok
|
||||
test tool::builtin::path_validator::tests::test_parse_size ... ok
|
||||
test tool::builtin::path_validator::tests::test_path_traversal ... ok
|
||||
test tool::builtin::path_validator::tests::test_blocked_paths ... ok
|
||||
test growth::tests::test_growth_integration_creation ... ok
|
||||
test growth::tests::test_disabled_growth ... ok
|
||||
test growth::tests::test_process_conversation_disabled ... ok
|
||||
test growth::tests::test_enhance_prompt_empty ... ok
|
||||
test tool::builtin::shell_exec::tests::test_parse_command_complex ... ok
|
||||
test tool::builtin::shell_exec::tests::test_parse_command_empty ... ok
|
||||
test tool::builtin::shell_exec::tests::test_command_allowed ... ok
|
||||
test tool::builtin::shell_exec::tests::test_parse_command_simple ... ok
|
||||
test tool::builtin::shell_exec::tests::test_parse_command_with_quotes ... ok
|
||||
test tool::builtin::shell_exec::tests::test_parse_command_with_single_quotes ... ok
|
||||
test tool::builtin::shell_exec::tests::test_security_config_default ... ok
|
||||
test tool::builtin::file_write::tests::test_write_new_file ... ok
|
||||
test tool::builtin::file_write::tests::test_create_mode_fails_on_existing ... ok
|
||||
test tool::builtin::path_validator::tests::test_expand_tilde ... ok
|
||||
test tool::builtin::web_fetch::tests::test_validate_url_length ... ok
|
||||
test tool::builtin::web_fetch::tests::test_validate_ipv6 ... ok
|
||||
test tool::builtin::web_fetch::tests::test_validate_blocked_hostnames ... ok
|
||||
test tool::builtin::web_fetch::tests::test_validate_cloud_metadata ... ok
|
||||
test tool::builtin::web_fetch::tests::test_validate_localhost ... ok
|
||||
test tool::builtin::web_fetch::tests::test_validate_scheme ... ok
|
||||
test tool::builtin::web_fetch::tests::test_validate_private_ips ... ok
|
||||
test tool::builtin::file_read::tests::test_read_file ... ok
|
||||
test tool::builtin::file_write::tests::test_overwrite_mode ... ok
|
||||
|
||||
test result: ok. 42 passed; 0 failed; 0 ignored; 0 measured; 0 filtered out; finished in 0.02s
|
||||
|
||||
Running unittests src\lib.rs (target\debug\deps\zclaw_skills-9c40ca9299fa8d01.exe)
|
||||
|
||||
running 23 tests
|
||||
test orchestration::planner::tests::test_plan_builder ... ok
|
||||
test orchestration::auto_compose::tests::test_extract_types ... ok
|
||||
test orchestration::executor::tests::test_node_result_success ... ok
|
||||
test orchestration::types::tests::test_parse_input_ref ... ok
|
||||
test orchestration::types::tests::test_parse_literal ... ok
|
||||
test orchestration::types::tests::test_parse_node_output_ref ... ok
|
||||
test orchestration::planner::tests::test_planner_plan ... ok
|
||||
test orchestration::validation::tests::test_detect_no_cycle ... ok
|
||||
test orchestration::validation::tests::test_find_end_nodes ... ok
|
||||
test orchestration::validation::tests::test_find_start_nodes ... ok
|
||||
test orchestration::validation::tests::test_identify_parallel_groups ... ok
|
||||
test orchestration::validation::tests::test_detect_cycle ... ok
|
||||
test orchestration::validation::tests::test_topological_sort ... ok
|
||||
test semantic_router::tests::test_cosine_similarity ... ok
|
||||
test semantic_router::tests::test_llm_fallback_invoked_when_below_threshold ... ok
|
||||
test semantic_router::tests::test_no_llm_fallback_returns_best_match ... ok
|
||||
test semantic_router::tests::test_no_llm_fallback_when_high_confidence ... ok
|
||||
test semantic_router::tests::test_retrieve_candidates ... ok
|
||||
test semantic_router::tests::test_basic_routing ... ok
|
||||
test orchestration::context::tests::test_build_output ... ok
|
||||
test orchestration::context::tests::test_resolve_node_output_ref ... ok
|
||||
test orchestration::context::tests::test_resolve_input_ref ... ok
|
||||
test orchestration::context::tests::test_evaluate_condition_equality ... ok
|
||||
|
||||
test result: ok. 23 passed; 0 failed; 0 ignored; 0 measured; 0 filtered out; finished in 0.00s
|
||||
|
||||
Running unittests src\lib.rs (target\debug\deps\zclaw_types-0babceb0143df14c.exe)
|
||||
|
||||
running 57 tests
|
||||
test error::tests::test_config_error_display ... ok
|
||||
test error::tests::test_export_error_display ... ok
|
||||
test error::tests::test_hand_error_display ... ok
|
||||
test error::tests::test_invalid_input_display ... ok
|
||||
test error::tests::test_loop_detected_display ... ok
|
||||
test error::tests::test_mcp_error_display ... ok
|
||||
test error::tests::test_internal_error_display ... ok
|
||||
test error::tests::test_not_found_display ... ok
|
||||
test error::tests::test_llm_error_display ... ok
|
||||
test error::tests::test_permission_denied_display ... ok
|
||||
test error::tests::test_rate_limited_display ... ok
|
||||
test error::tests::test_tool_error_display ... ok
|
||||
test hand_run::tests::test_hand_run_id_display ... ok
|
||||
test error::tests::test_security_error_display ... ok
|
||||
test error::tests::test_serialization_error_from_json ... ok
|
||||
test error::tests::test_storage_error_display ... ok
|
||||
test error::tests::test_timeout_display ... ok
|
||||
test error::tests::test_result_type_err ... ok
|
||||
test error::tests::test_result_type_ok ... ok
|
||||
test hand_run::tests::test_hand_run_id_unique ... ok
|
||||
test hand_run::tests::test_hand_run_id_from_str ... ok
|
||||
test hand_run::tests::test_hand_run_serialization ... ok
|
||||
test id::tests::test_agent_id_display ... ok
|
||||
test hand_run::tests::test_hand_run_status_roundtrip ... ok
|
||||
test id::tests::test_agent_id_default ... ok
|
||||
test id::tests::test_agent_id_from_str_invalid ... ok
|
||||
test id::tests::test_agent_id_from_str_valid ... ok
|
||||
test id::tests::test_agent_id_new_creates_unique_ids ... ok
|
||||
test id::tests::test_agent_id_serialization ... ok
|
||||
test id::tests::test_run_id_display ... ok
|
||||
test id::tests::test_run_id_default ... ok
|
||||
test id::tests::test_run_id_new_creates_unique_ids ... ok
|
||||
test id::tests::test_session_id_default ... ok
|
||||
test id::tests::test_session_id_new_creates_unique_ids ... ok
|
||||
test id::tests::test_skill_id_new ... ok
|
||||
test id::tests::test_tool_id_display ... ok
|
||||
test id::tests::test_tool_id_from_string ... ok
|
||||
test id::tests::test_tool_id_from_str ... ok
|
||||
test message::tests::test_content_block_image ... ok
|
||||
test id::tests::test_tool_id_new ... ok
|
||||
test message::tests::test_content_block_text ... ok
|
||||
test message::tests::test_content_block_thinking ... ok
|
||||
test message::tests::test_content_block_tool_result ... ok
|
||||
test message::tests::test_content_block_tool_use ... ok
|
||||
test message::tests::test_image_source_base64 ... ok
|
||||
test message::tests::test_image_source_serialization ... ok
|
||||
test message::tests::test_image_source_url ... ok
|
||||
test message::tests::test_message_assistant_creation ... ok
|
||||
test message::tests::test_message_assistant_with_thinking ... ok
|
||||
test message::tests::test_message_deserialization_user ... ok
|
||||
test message::tests::test_message_serialization_assistant ... ok
|
||||
test message::tests::test_message_serialization_user ... ok
|
||||
test message::tests::test_message_system_creation ... ok
|
||||
test message::tests::test_message_tool_result_creation ... ok
|
||||
test message::tests::test_message_tool_result_error ... ok
|
||||
test message::tests::test_message_tool_use_creation ... ok
|
||||
test message::tests::test_message_user_creation ... ok
|
||||
|
||||
test result: ok. 57 passed; 0 failed; 0 ignored; 0 measured; 0 filtered out; finished in 0.00s
|
||||
|
||||
Doc-tests desktop_lib
|
||||
|
||||
running 2 tests
|
||||
test desktop\src-tauri\src\intelligence\validation.rs - intelligence::validation::validate_identifier (line 112) ... ignored
|
||||
test desktop\src-tauri\src\intelligence\validation.rs - intelligence::validation::validate_string_length (line 173) ... ignored
|
||||
|
||||
test result: ok. 0 passed; 0 failed; 2 ignored; 0 measured; 0 filtered out; finished in 0.00s
|
||||
|
||||
Doc-tests zclaw_growth
|
||||
|
||||
running 1 test
|
||||
test crates\zclaw-growth\src\lib.rs - (line 39) ... ignored
|
||||
|
||||
test result: ok. 0 passed; 0 failed; 1 ignored; 0 measured; 0 filtered out; finished in 0.00s
|
||||
|
||||
Doc-tests zclaw_hands
|
||||
|
||||
running 0 tests
|
||||
|
||||
test result: ok. 0 passed; 0 failed; 0 ignored; 0 measured; 0 filtered out; finished in 0.00s
|
||||
|
||||
Doc-tests zclaw_kernel
|
||||
|
||||
running 0 tests
|
||||
|
||||
test result: ok. 0 passed; 0 failed; 0 ignored; 0 measured; 0 filtered out; finished in 0.00s
|
||||
|
||||
Doc-tests zclaw_memory
|
||||
|
||||
running 0 tests
|
||||
|
||||
test result: ok. 0 passed; 0 failed; 0 ignored; 0 measured; 0 filtered out; finished in 0.00s
|
||||
|
||||
Doc-tests zclaw_pipeline
|
||||
|
||||
running 1 test
|
||||
test crates\zclaw-pipeline\src\intent.rs - intent (line 21) ... ignored
|
||||
|
||||
test result: ok. 0 passed; 0 failed; 1 ignored; 0 measured; 0 filtered out; finished in 0.00s
|
||||
|
||||
Doc-tests zclaw_protocols
|
||||
|
||||
running 0 tests
|
||||
|
||||
test result: ok. 0 passed; 0 failed; 0 ignored; 0 measured; 0 filtered out; finished in 0.00s
|
||||
|
||||
Doc-tests zclaw_runtime
|
||||
|
||||
running 1 test
|
||||
test crates\zclaw-runtime\src\tool\builtin\path_validator.rs - tool::builtin::path_validator (line 20) ... ignored
|
||||
|
||||
test result: ok. 0 passed; 0 failed; 1 ignored; 0 measured; 0 filtered out; finished in 0.00s
|
||||
|
||||
Doc-tests zclaw_skills
|
||||
|
||||
running 0 tests
|
||||
|
||||
test result: ok. 0 passed; 0 failed; 0 ignored; 0 measured; 0 filtered out; finished in 0.00s
|
||||
|
||||
Doc-tests zclaw_types
|
||||
|
||||
running 0 tests
|
||||
|
||||
test result: ok. 0 passed; 0 failed; 0 ignored; 0 measured; 0 filtered out; finished in 0.00s
|
||||
|
||||
478
docs/test-results/baseline/desktop-vitest.txt
Normal file
478
docs/test-results/baseline/desktop-vitest.txt
Normal file
@@ -0,0 +1,478 @@
|
||||
[vite:react-babel] We recommend switching to `@vitejs/plugin-react-oxc` for improved performance. More information at https://vite.dev/rolldown
|
||||
|
||||
[1m[7m[36m RUN [39m[27m[22m [36mv2.1.9 [39m[90mG:/ZClaw_openfang/desktop[39m
|
||||
|
||||
[90mstderr[2m | tests/lib/request-helper.test.ts[2m > [22m[2mrequest-helper[2m > [22m[2mrequestWithRetry[2m > [22m[2mshould retry on retryable status codes
|
||||
[22m[39m[RequestHelper] Request failed (503), retrying in 11ms (attempt 1/2)
|
||||
|
||||
[32m✓[39m tests/lib/crypto-utils.test.ts [2m([22m[2m10 tests[22m[2m)[22m[90m 69[2mms[22m[39m
|
||||
[90mstderr[2m | tests/lib/request-helper.test.ts[2m > [22m[2mrequest-helper[2m > [22m[2mrequestWithRetry[2m > [22m[2mshould throw after all retries exhausted
|
||||
[22m[39m[RequestHelper] Request failed (503), retrying in 12ms (attempt 1/2)
|
||||
|
||||
[90mstderr[2m | tests/lib/request-helper.test.ts[2m > [22m[2mrequest-helper[2m > [22m[2mrequestWithRetry[2m > [22m[2mshould throw after all retries exhausted
|
||||
[22m[39m[RequestHelper] Request failed (503), retrying in 22ms (attempt 2/2)
|
||||
|
||||
[90mstdout[2m | tests/lib/request-helper.test.ts[2m > [22m[2mrequest-helper[2m > [22m[2mRequestManager[2m > [22m[2mshould cancel all requests
|
||||
[22m[39m[RequestHelper] Cancelled request: test-1
|
||||
[RequestHelper] Cancelled request: test-2
|
||||
[RequestHelper] Cancelled request: test-3
|
||||
|
||||
[32m✓[39m tests/lib/request-helper.test.ts [2m([22m[2m30 tests[22m[2m | [22m[33m1 skipped[39m[2m)[22m[90m 101[2mms[22m[39m
|
||||
[90mstdout[2m | tests/lib/security.test.ts[2m > [22m[2mSecurity Utils[2m > [22m[2msanitizeJson[2m > [22m[2mshould return null for invalid JSON
|
||||
[22m[39m[SecurityUtils] JSON sanitize parse failed {
|
||||
error: SyntaxError: Unexpected token 'o', "not json" is not valid JSON
|
||||
at JSON.parse (<anonymous>)
|
||||
at Module.sanitizeJson [90m(G:\ZClaw_openfang\desktop\[39msrc\lib\security-utils.ts:549:25[90m)[39m
|
||||
at [90mG:\ZClaw_openfang\desktop\[39mtests\lib\security.test.ts:356:28
|
||||
at [90mfile:///G:/ZClaw_openfang/desktop/[39mnode_modules/[4m.pnpm[24m/@vitest+runner@2.1.9/node_modules/[4m@vitest/runner[24m/dist/index.js:146:14
|
||||
at [90mfile:///G:/ZClaw_openfang/desktop/[39mnode_modules/[4m.pnpm[24m/@vitest+runner@2.1.9/node_modules/[4m@vitest/runner[24m/dist/index.js:533:11
|
||||
at runWithTimeout [90m(file:///G:/ZClaw_openfang/desktop/[39mnode_modules/[4m.pnpm[24m/@vitest+runner@2.1.9/node_modules/[4m@vitest/runner[24m/dist/index.js:39:7[90m)[39m
|
||||
at runTest [90m(file:///G:/ZClaw_openfang/desktop/[39mnode_modules/[4m.pnpm[24m/@vitest+runner@2.1.9/node_modules/[4m@vitest/runner[24m/dist/index.js:1056:17[90m)[39m
|
||||
[90m at processTicksAndRejections (node:internal/process/task_queues:104:5)[39m
|
||||
at runSuite [90m(file:///G:/ZClaw_openfang/desktop/[39mnode_modules/[4m.pnpm[24m/@vitest+runner@2.1.9/node_modules/[4m@vitest/runner[24m/dist/index.js:1205:15[90m)[39m
|
||||
at runSuite [90m(file:///G:/ZClaw_openfang/desktop/[39mnode_modules/[4m.pnpm[24m/@vitest+runner@2.1.9/node_modules/[4m@vitest/runner[24m/dist/index.js:1205:15[90m)[39m
|
||||
}
|
||||
|
||||
[32m✓[39m tests/lib/security.test.ts [2m([22m[2m58 tests[22m[2m)[22m[90m 250[2mms[22m[39m
|
||||
[90mstderr[2m | tests/toml-utils.test.ts[2m > [22m[2mtomlUtils[2m > [22m[2mparse[2m > [22m[2mshould throw TomlParseError on invalid TOML
|
||||
[22m[39m[TOML] Parse error: TomlError: Invalid TOML document: incomplete key-value: cannot find end of key
|
||||
|
||||
2: [invalid
|
||||
^
|
||||
3: key = value
|
||||
|
||||
at parseKey [90m(file:///G:/ZClaw_openfang/desktop/[39mnode_modules/[4m.pnpm[24m/smol-toml@1.6.1/node_modules/[4msmol-toml[24m/dist/struct.js:38:15[90m)[39m
|
||||
at Object.parse [90m(file:///G:/ZClaw_openfang/desktop/[39mnode_modules/[4m.pnpm[24m/smol-toml@1.6.1/node_modules/[4msmol-toml[24m/dist/parse.js:104:21[90m)[39m
|
||||
at Object.parse [90m(G:\ZClaw_openfang\desktop\[39msrc\lib\toml-utils.ts:61:19[90m)[39m
|
||||
at [90mG:\ZClaw_openfang\desktop\[39mtests\toml-utils.test.ts:72:30
|
||||
at Proxy.<anonymous> [90m(file:///G:/ZClaw_openfang/desktop/[39mnode_modules/[4m.pnpm[24m/@vitest+expect@2.1.9/node_modules/[4m@vitest/expect[24m/dist/index.js:1530:11[90m)[39m
|
||||
at Proxy.<anonymous> [90m(file:///G:/ZClaw_openfang/desktop/[39mnode_modules/[4m.pnpm[24m/@vitest+expect@2.1.9/node_modules/[4m@vitest/expect[24m/dist/index.js:972:17[90m)[39m
|
||||
at Proxy.methodWrapper [90m(file:///G:/ZClaw_openfang/desktop/[39mnode_modules/[4m.pnpm[24m/chai@5.3.3/node_modules/[4mchai[24m/index.js:1686:25[90m)[39m
|
||||
at [90mG:\ZClaw_openfang\desktop\[39mtests\toml-utils.test.ts:72:50
|
||||
at [90mfile:///G:/ZClaw_openfang/desktop/[39mnode_modules/[4m.pnpm[24m/@vitest+runner@2.1.9/node_modules/[4m@vitest/runner[24m/dist/index.js:146:14
|
||||
at [90mfile:///G:/ZClaw_openfang/desktop/[39mnode_modules/[4m.pnpm[24m/@vitest+runner@2.1.9/node_modules/[4m@vitest/runner[24m/dist/index.js:533:11 {
|
||||
line: [33m2[39m,
|
||||
column: [33m2[39m,
|
||||
codeblock: [32m'2: [invalid\n ^\n3: key = value\n'[39m
|
||||
}
|
||||
|
||||
[90mstderr[2m | tests/toml-utils.test.ts[2m > [22m[2mtomlUtils[2m > [22m[2mstringify[2m > [22m[2mshould throw TomlStringifyError on invalid data
|
||||
[22m[39m[TOML] Stringify error: Error: Could not stringify the object: maximum object depth exceeded
|
||||
at stringifyTable [90m(file:///G:/ZClaw_openfang/desktop/[39mnode_modules/[4m.pnpm[24m/smol-toml@1.6.1/node_modules/[4msmol-toml[24m/dist/stringify.js:125:15[90m)[39m
|
||||
at stringifyTable [90m(file:///G:/ZClaw_openfang/desktop/[39mnode_modules/[4m.pnpm[24m/smol-toml@1.6.1/node_modules/[4msmol-toml[24m/dist/stringify.js:143:46[90m)[39m
|
||||
at stringifyTable [90m(file:///G:/ZClaw_openfang/desktop/[39mnode_modules/[4m.pnpm[24m/smol-toml@1.6.1/node_modules/[4msmol-toml[24m/dist/stringify.js:143:46[90m)[39m
|
||||
at stringifyTable [90m(file:///G:/ZClaw_openfang/desktop/[39mnode_modules/[4m.pnpm[24m/smol-toml@1.6.1/node_modules/[4msmol-toml[24m/dist/stringify.js:143:46[90m)[39m
|
||||
at stringifyTable [90m(file:///G:/ZClaw_openfang/desktop/[39mnode_modules/[4m.pnpm[24m/smol-toml@1.6.1/node_modules/[4msmol-toml[24m/dist/stringify.js:143:46[90m)[39m
|
||||
at stringifyTable [90m(file:///G:/ZClaw_openfang/desktop/[39mnode_modules/[4m.pnpm[24m/smol-toml@1.6.1/node_modules/[4msmol-toml[24m/dist/stringify.js:143:46[90m)[39m
|
||||
at stringifyTable [90m(file:///G:/ZClaw_openfang/desktop/[39mnode_modules/[4m.pnpm[24m/smol-toml@1.6.1/node_modules/[4msmol-toml[24m/dist/stringify.js:143:46[90m)[39m
|
||||
at stringifyTable [90m(file:///G:/ZClaw_openfang/desktop/[39mnode_modules/[4m.pnpm[24m/smol-toml@1.6.1/node_modules/[4msmol-toml[24m/dist/stringify.js:143:46[90m)[39m
|
||||
at stringifyTable [90m(file:///G:/ZClaw_openfang/desktop/[39mnode_modules/[4m.pnpm[24m/smol-toml@1.6.1/node_modules/[4msmol-toml[24m/dist/stringify.js:143:46[90m)[39m
|
||||
at stringifyTable [90m(file:///G:/ZClaw_openfang/desktop/[39mnode_modules/[4m.pnpm[24m/smol-toml@1.6.1/node_modules/[4msmol-toml[24m/dist/stringify.js:143:46[90m)[39m
|
||||
|
||||
[90mstderr[2m | tests/toml-utils.test.ts[2m > [22m[2mtomlUtils[2m > [22m[2mresolveEnvVars[2m > [22m[2mshould return empty string for missing env vars
|
||||
[22m[39m[TOML] Environment variable MISSING_VAR not resolved - no envVars provided
|
||||
|
||||
[32m✓[39m tests/toml-utils.test.ts [2m([22m[2m14 tests[22m[2m)[22m[90m 22[2mms[22m[39m
|
||||
[32m✓[39m tests/config-parser.test.ts [2m([22m[2m13 tests[22m[2m)[22m[90m 14[2mms[22m[39m
|
||||
[90mstderr[2m | tests/lib/secure-storage.test.ts[2m > [22m[2msecureStorage[2m > [22m[2merror handling[2m > [22m[2mshould handle corrupted encrypted data gracefully
|
||||
[22m[39m[SecureStorage] v2 decryption failed for key: corrupted-key
|
||||
[SecureStorage] v1 decryption failed for key: corrupted-key
|
||||
|
||||
[32m✓[39m tests/lib/secure-storage.test.ts [2m([22m[2m11 tests[22m[2m)[22m[90m 258[2mms[22m[39m
|
||||
[90mstderr[2m | tests/store/chatStore.test.ts
|
||||
[22m[39m[IDBStorage] Migration from localStorage failed: ReferenceError: indexedDB is not defined
|
||||
at Module.openDB [90m(file:///G:/ZClaw_openfang/desktop/[39mnode_modules/[4m.pnpm[24m/idb@8.0.3/node_modules/[4midb[24m/build/index.js:168:21[90m)[39m
|
||||
at getDB [90m(G:\ZClaw_openfang\desktop\[39msrc\lib\idb-storage.ts:34:17[90m)[39m
|
||||
at migrateFromLocalStorage [90m(G:\ZClaw_openfang\desktop\[39msrc\lib\idb-storage.ts:56:22[90m)[39m
|
||||
at Object.getItem [90m(G:\ZClaw_openfang\desktop\[39msrc\lib\idb-storage.ts:98:15[90m)[39m
|
||||
at Object.getItem [90m(file:///G:/ZClaw_openfang/desktop/[39mnode_modules/[4m.pnpm[24m/zustand@5.0.12_@types+react_8b11772aea488cca440c1215797a0d95/node_modules/[4mzustand[24m/esm/middleware.mjs:292:33[90m)[39m
|
||||
at [90mfile:///G:/ZClaw_openfang/desktop/[39mnode_modules/[4m.pnpm[24m/zustand@5.0.12_@types+react_8b11772aea488cca440c1215797a0d95/node_modules/[4mzustand[24m/esm/middleware.mjs:305:20
|
||||
at hydrate [90m(file:///G:/ZClaw_openfang/desktop/[39mnode_modules/[4m.pnpm[24m/zustand@5.0.12_@types+react_8b11772aea488cca440c1215797a0d95/node_modules/[4mzustand[24m/esm/middleware.mjs:388:53[90m)[39m
|
||||
at [90mfile:///G:/ZClaw_openfang/desktop/[39mnode_modules/[4m.pnpm[24m/zustand@5.0.12_@types+react_8b11772aea488cca440c1215797a0d95/node_modules/[4mzustand[24m/esm/middleware.mjs:468:5
|
||||
at createStoreImpl [90m(file:///G:/ZClaw_openfang/desktop/[39mnode_modules/[4m.pnpm[24m/zustand@5.0.12_@types+react_8b11772aea488cca440c1215797a0d95/node_modules/[4mzustand[24m/esm/vanilla.mjs:19:32[90m)[39m
|
||||
at createStore [90m(file:///G:/ZClaw_openfang/desktop/[39mnode_modules/[4m.pnpm[24m/zustand@5.0.12_@types+react_8b11772aea488cca440c1215797a0d95/node_modules/[4mzustand[24m/esm/vanilla.mjs:22:53[90m)[39m
|
||||
[IDBStorage] IndexedDB getItem failed: ReferenceError: indexedDB is not defined
|
||||
at Module.openDB [90m(file:///G:/ZClaw_openfang/desktop/[39mnode_modules/[4m.pnpm[24m/idb@8.0.3/node_modules/[4midb[24m/build/index.js:168:21[90m)[39m
|
||||
at getDB [90m(G:\ZClaw_openfang\desktop\[39msrc\lib\idb-storage.ts:34:17[90m)[39m
|
||||
at Object.getItem [90m(G:\ZClaw_openfang\desktop\[39msrc\lib\idb-storage.ts:102:26[90m)[39m
|
||||
[90m at processTicksAndRejections (node:internal/process/task_queues:104:5)[39m
|
||||
|
||||
[32m✓[39m tests/lib/gateway-security.test.ts [2m([22m[2m13 tests[22m[2m)[22m[33m 570[2mms[22m[39m
|
||||
[33m[2m✓[22m[39m WebSocket Security[2m > [22mSecurityError[2m > [22mshould be throwable with a message [33m413[2mms[22m[39m
|
||||
[31m❯[39m tests/stabilization.test.ts [2m([22m[2m0 test[22m[2m)[22m
|
||||
[90mstderr[2m | tests/store/chatStore.test.ts[2m > [22m[2mchatStore[2m > [22m[2msetCurrentModel[2m > [22m[2mshould update current model
|
||||
[22m[39m[IDBStorage] IndexedDB setItem failed: ReferenceError: indexedDB is not defined
|
||||
at Module.openDB [90m(file:///G:/ZClaw_openfang/desktop/[39mnode_modules/[4m.pnpm[24m/idb@8.0.3/node_modules/[4midb[24m/build/index.js:168:21[90m)[39m
|
||||
at getDB [90m(G:\ZClaw_openfang\desktop\[39msrc\lib\idb-storage.ts:34:17[90m)[39m
|
||||
at Object.setItem [90m(G:\ZClaw_openfang\desktop\[39msrc\lib\idb-storage.ts:117:26[90m)[39m
|
||||
at Object.setItem [90m(file:///G:/ZClaw_openfang/desktop/[39mnode_modules/[4m.pnpm[24m/zustand@5.0.12_@types+react_8b11772aea488cca440c1215797a0d95/node_modules/[4mzustand[24m/esm/middleware.mjs:298:42[90m)[39m
|
||||
at setItem [90m(file:///G:/ZClaw_openfang/desktop/[39mnode_modules/[4m.pnpm[24m/zustand@5.0.12_@types+react_8b11772aea488cca440c1215797a0d95/node_modules/[4mzustand[24m/esm/middleware.mjs:358:20[90m)[39m
|
||||
at [90mfile:///G:/ZClaw_openfang/desktop/[39mnode_modules/[4m.pnpm[24m/zustand@5.0.12_@types+react_8b11772aea488cca440c1215797a0d95/node_modules/[4mzustand[24m/esm/middleware.mjs:371:14
|
||||
at Object.setCurrentModel [90m(G:\ZClaw_openfang\desktop\[39msrc\store\chat\conversationStore.ts:324:39[90m)[39m
|
||||
at setCurrentModel [90m(G:\ZClaw_openfang\desktop\[39msrc\store\chatStore.ts:154:37[90m)[39m
|
||||
at [90mG:\ZClaw_openfang\desktop\[39mtests\store\chatStore.test.ts:269:7
|
||||
at [90mfile:///G:/ZClaw_openfang/desktop/[39mnode_modules/[4m.pnpm[24m/@vitest+runner@2.1.9/node_modules/[4m@vitest/runner[24m/dist/index.js:146:14
|
||||
|
||||
[90mstderr[2m | tests/store/chatStore.test.ts[2m > [22m[2mchatStore[2m > [22m[2mnewConversation[2m > [22m[2mshould clear messages and reset session
|
||||
[22m[39m[IDBStorage] IndexedDB setItem failed: ReferenceError: indexedDB is not defined
|
||||
at Module.openDB [90m(file:///G:/ZClaw_openfang/desktop/[39mnode_modules/[4m.pnpm[24m/idb@8.0.3/node_modules/[4midb[24m/build/index.js:168:21[90m)[39m
|
||||
at getDB [90m(G:\ZClaw_openfang\desktop\[39msrc\lib\idb-storage.ts:34:17[90m)[39m
|
||||
at Object.setItem [90m(G:\ZClaw_openfang\desktop\[39msrc\lib\idb-storage.ts:117:26[90m)[39m
|
||||
at Object.setItem [90m(file:///G:/ZClaw_openfang/desktop/[39mnode_modules/[4m.pnpm[24m/zustand@5.0.12_@types+react_8b11772aea488cca440c1215797a0d95/node_modules/[4mzustand[24m/esm/middleware.mjs:298:42[90m)[39m
|
||||
at setItem [90m(file:///G:/ZClaw_openfang/desktop/[39mnode_modules/[4m.pnpm[24m/zustand@5.0.12_@types+react_8b11772aea488cca440c1215797a0d95/node_modules/[4mzustand[24m/esm/middleware.mjs:358:20[90m)[39m
|
||||
at [90mfile:///G:/ZClaw_openfang/desktop/[39mnode_modules/[4m.pnpm[24m/zustand@5.0.12_@types+react_8b11772aea488cca440c1215797a0d95/node_modules/[4mzustand[24m/esm/middleware.mjs:371:14
|
||||
at Object.newConversation [90m(G:\ZClaw_openfang\desktop\[39msrc\store\chat\conversationStore.ts:203:5[90m)[39m
|
||||
at newConversation [90m(G:\ZClaw_openfang\desktop\[39msrc\store\chatStore.ts:159:37[90m)[39m
|
||||
at [90mG:\ZClaw_openfang\desktop\[39mtests\store\chatStore.test.ts:289:7
|
||||
at [90mfile:///G:/ZClaw_openfang/desktop/[39mnode_modules/[4m.pnpm[24m/@vitest+runner@2.1.9/node_modules/[4m@vitest/runner[24m/dist/index.js:146:14
|
||||
|
||||
[90mstderr[2m | tests/store/chatStore.test.ts[2m > [22m[2mchatStore[2m > [22m[2mnewConversation[2m > [22m[2mshould save current messages to conversations before clearing
|
||||
[22m[39m[IDBStorage] IndexedDB setItem failed: ReferenceError: indexedDB is not defined
|
||||
at Module.openDB [90m(file:///G:/ZClaw_openfang/desktop/[39mnode_modules/[4m.pnpm[24m/idb@8.0.3/node_modules/[4midb[24m/build/index.js:168:21[90m)[39m
|
||||
at getDB [90m(G:\ZClaw_openfang\desktop\[39msrc\lib\idb-storage.ts:34:17[90m)[39m
|
||||
at Object.setItem [90m(G:\ZClaw_openfang\desktop\[39msrc\lib\idb-storage.ts:117:26[90m)[39m
|
||||
at Object.setItem [90m(file:///G:/ZClaw_openfang/desktop/[39mnode_modules/[4m.pnpm[24m/zustand@5.0.12_@types+react_8b11772aea488cca440c1215797a0d95/node_modules/[4mzustand[24m/esm/middleware.mjs:298:42[90m)[39m
|
||||
at setItem [90m(file:///G:/ZClaw_openfang/desktop/[39mnode_modules/[4m.pnpm[24m/zustand@5.0.12_@types+react_8b11772aea488cca440c1215797a0d95/node_modules/[4mzustand[24m/esm/middleware.mjs:358:20[90m)[39m
|
||||
at [90mfile:///G:/ZClaw_openfang/desktop/[39mnode_modules/[4m.pnpm[24m/zustand@5.0.12_@types+react_8b11772aea488cca440c1215797a0d95/node_modules/[4mzustand[24m/esm/middleware.mjs:371:14
|
||||
at Object.newConversation [90m(G:\ZClaw_openfang\desktop\[39msrc\store\chat\conversationStore.ts:203:5[90m)[39m
|
||||
at newConversation [90m(G:\ZClaw_openfang\desktop\[39msrc\store\chatStore.ts:159:37[90m)[39m
|
||||
at [90mG:\ZClaw_openfang\desktop\[39mtests\store\chatStore.test.ts:308:7
|
||||
at [90mfile:///G:/ZClaw_openfang/desktop/[39mnode_modules/[4m.pnpm[24m/@vitest+runner@2.1.9/node_modules/[4m@vitest/runner[24m/dist/index.js:146:14
|
||||
|
||||
[90mstderr[2m | tests/store/chatStore.test.ts[2m > [22m[2mchatStore[2m > [22m[2mswitchConversation[2m > [22m[2mshould switch to existing conversation
|
||||
[22m[39m[IDBStorage] IndexedDB setItem failed: ReferenceError: indexedDB is not defined
|
||||
at Module.openDB [90m(file:///G:/ZClaw_openfang/desktop/[39mnode_modules/[4m.pnpm[24m/idb@8.0.3/node_modules/[4midb[24m/build/index.js:168:21[90m)[39m
|
||||
at getDB [90m(G:\ZClaw_openfang\desktop\[39msrc\lib\idb-storage.ts:34:17[90m)[39m
|
||||
at Object.setItem [90m(G:\ZClaw_openfang\desktop\[39msrc\lib\idb-storage.ts:117:26[90m)[39m
|
||||
at Object.setItem [90m(file:///G:/ZClaw_openfang/desktop/[39mnode_modules/[4m.pnpm[24m/zustand@5.0.12_@types+react_8b11772aea488cca440c1215797a0d95/node_modules/[4mzustand[24m/esm/middleware.mjs:298:42[90m)[39m
|
||||
at setItem [90m(file:///G:/ZClaw_openfang/desktop/[39mnode_modules/[4m.pnpm[24m/zustand@5.0.12_@types+react_8b11772aea488cca440c1215797a0d95/node_modules/[4mzustand[24m/esm/middleware.mjs:358:20[90m)[39m
|
||||
at [90mfile:///G:/ZClaw_openfang/desktop/[39mnode_modules/[4m.pnpm[24m/zustand@5.0.12_@types+react_8b11772aea488cca440c1215797a0d95/node_modules/[4mzustand[24m/esm/middleware.mjs:371:14
|
||||
at Object.newConversation [90m(G:\ZClaw_openfang\desktop\[39msrc\store\chat\conversationStore.ts:203:5[90m)[39m
|
||||
at newConversation [90m(G:\ZClaw_openfang\desktop\[39msrc\store\chatStore.ts:159:37[90m)[39m
|
||||
at [90mG:\ZClaw_openfang\desktop\[39mtests\store\chatStore.test.ts:328:7
|
||||
at [90mfile:///G:/ZClaw_openfang/desktop/[39mnode_modules/[4m.pnpm[24m/@vitest+runner@2.1.9/node_modules/[4m@vitest/runner[24m/dist/index.js:146:14
|
||||
|
||||
[90mstderr[2m | tests/store/chatStore.test.ts[2m > [22m[2mchatStore[2m > [22m[2mdeleteConversation[2m > [22m[2mshould delete conversation by id
|
||||
[22m[39m[IDBStorage] IndexedDB setItem failed: ReferenceError: indexedDB is not defined
|
||||
at Module.openDB [90m(file:///G:/ZClaw_openfang/desktop/[39mnode_modules/[4m.pnpm[24m/idb@8.0.3/node_modules/[4midb[24m/build/index.js:168:21[90m)[39m
|
||||
at getDB [90m(G:\ZClaw_openfang\desktop\[39msrc\lib\idb-storage.ts:34:17[90m)[39m
|
||||
at Object.setItem [90m(G:\ZClaw_openfang\desktop\[39msrc\lib\idb-storage.ts:117:26[90m)[39m
|
||||
at Object.setItem [90m(file:///G:/ZClaw_openfang/desktop/[39mnode_modules/[4m.pnpm[24m/zustand@5.0.12_@types+react_8b11772aea488cca440c1215797a0d95/node_modules/[4mzustand[24m/esm/middleware.mjs:298:42[90m)[39m
|
||||
at setItem [90m(file:///G:/ZClaw_openfang/desktop/[39mnode_modules/[4m.pnpm[24m/zustand@5.0.12_@types+react_8b11772aea488cca440c1215797a0d95/node_modules/[4mzustand[24m/esm/middleware.mjs:358:20[90m)[39m
|
||||
at [90mfile:///G:/ZClaw_openfang/desktop/[39mnode_modules/[4m.pnpm[24m/zustand@5.0.12_@types+react_8b11772aea488cca440c1215797a0d95/node_modules/[4mzustand[24m/esm/middleware.mjs:371:14
|
||||
at Object.newConversation [90m(G:\ZClaw_openfang\desktop\[39msrc\store\chat\conversationStore.ts:203:5[90m)[39m
|
||||
at newConversation [90m(G:\ZClaw_openfang\desktop\[39msrc\store\chatStore.ts:159:37[90m)[39m
|
||||
at [90mG:\ZClaw_openfang\desktop\[39mtests\store\chatStore.test.ts:360:7
|
||||
at [90mfile:///G:/ZClaw_openfang/desktop/[39mnode_modules/[4m.pnpm[24m/@vitest+runner@2.1.9/node_modules/[4m@vitest/runner[24m/dist/index.js:146:14
|
||||
|
||||
[90mstderr[2m | tests/store/chatStore.test.ts[2m > [22m[2mchatStore[2m > [22m[2mdeleteConversation[2m > [22m[2mshould clear messages if deleting current conversation
|
||||
[22m[39m[IDBStorage] IndexedDB setItem failed: ReferenceError: indexedDB is not defined
|
||||
at Module.openDB [90m(file:///G:/ZClaw_openfang/desktop/[39mnode_modules/[4m.pnpm[24m/idb@8.0.3/node_modules/[4midb[24m/build/index.js:168:21[90m)[39m
|
||||
at getDB [90m(G:\ZClaw_openfang\desktop\[39msrc\lib\idb-storage.ts:34:17[90m)[39m
|
||||
at Object.setItem [90m(G:\ZClaw_openfang\desktop\[39msrc\lib\idb-storage.ts:117:26[90m)[39m
|
||||
at Object.setItem [90m(file:///G:/ZClaw_openfang/desktop/[39mnode_modules/[4m.pnpm[24m/zustand@5.0.12_@types+react_8b11772aea488cca440c1215797a0d95/node_modules/[4mzustand[24m/esm/middleware.mjs:298:42[90m)[39m
|
||||
at setItem [90m(file:///G:/ZClaw_openfang/desktop/[39mnode_modules/[4m.pnpm[24m/zustand@5.0.12_@types+react_8b11772aea488cca440c1215797a0d95/node_modules/[4mzustand[24m/esm/middleware.mjs:358:20[90m)[39m
|
||||
at [90mfile:///G:/ZClaw_openfang/desktop/[39mnode_modules/[4m.pnpm[24m/zustand@5.0.12_@types+react_8b11772aea488cca440c1215797a0d95/node_modules/[4mzustand[24m/esm/middleware.mjs:371:14
|
||||
at Object.deleteConversation [90m(G:\ZClaw_openfang\desktop\[39msrc\store\chat\conversationStore.ts:244:7[90m)[39m
|
||||
at deleteConversation [90m(G:\ZClaw_openfang\desktop\[39msrc\store\chatStore.ts:173:30[90m)[39m
|
||||
at [90mG:\ZClaw_openfang\desktop\[39mtests\store\chatStore.test.ts:397:7
|
||||
at [90mfile:///G:/ZClaw_openfang/desktop/[39mnode_modules/[4m.pnpm[24m/@vitest+runner@2.1.9/node_modules/[4m@vitest/runner[24m/dist/index.js:146:14
|
||||
|
||||
[90mstderr[2m | tests/store/chatStore.test.ts[2m > [22m[2mchatStore[2m > [22m[2msetCurrentAgent[2m > [22m[2mshould update current agent
|
||||
[22m[39m[IDBStorage] IndexedDB setItem failed: ReferenceError: indexedDB is not defined
|
||||
at Module.openDB [90m(file:///G:/ZClaw_openfang/desktop/[39mnode_modules/[4m.pnpm[24m/idb@8.0.3/node_modules/[4midb[24m/build/index.js:168:21[90m)[39m
|
||||
at getDB [90m(G:\ZClaw_openfang\desktop\[39msrc\lib\idb-storage.ts:34:17[90m)[39m
|
||||
at Object.setItem [90m(G:\ZClaw_openfang\desktop\[39msrc\lib\idb-storage.ts:117:26[90m)[39m
|
||||
at Object.setItem [90m(file:///G:/ZClaw_openfang/desktop/[39mnode_modules/[4m.pnpm[24m/zustand@5.0.12_@types+react_8b11772aea488cca440c1215797a0d95/node_modules/[4mzustand[24m/esm/middleware.mjs:298:42[90m)[39m
|
||||
at setItem [90m(file:///G:/ZClaw_openfang/desktop/[39mnode_modules/[4m.pnpm[24m/zustand@5.0.12_@types+react_8b11772aea488cca440c1215797a0d95/node_modules/[4mzustand[24m/esm/middleware.mjs:358:20[90m)[39m
|
||||
at [90mfile:///G:/ZClaw_openfang/desktop/[39mnode_modules/[4m.pnpm[24m/zustand@5.0.12_@types+react_8b11772aea488cca440c1215797a0d95/node_modules/[4mzustand[24m/esm/middleware.mjs:371:14
|
||||
at Object.setCurrentAgent [90m(G:\ZClaw_openfang\desktop\[39msrc\store\chat\conversationStore.ts:289:5[90m)[39m
|
||||
at setCurrentAgent [90m(G:\ZClaw_openfang\desktop\[39msrc\store\chatStore.ts:133:52[90m)[39m
|
||||
at [90mG:\ZClaw_openfang\desktop\[39mtests\store\chatStore.test.ts:418:7
|
||||
at [90mfile:///G:/ZClaw_openfang/desktop/[39mnode_modules/[4m.pnpm[24m/@vitest+runner@2.1.9/node_modules/[4m@vitest/runner[24m/dist/index.js:146:14
|
||||
|
||||
[90mstderr[2m | tests/store/chatStore.test.ts[2m > [22m[2mchatStore[2m > [22m[2msetCurrentAgent[2m > [22m[2mshould save current conversation when switching agents
|
||||
[22m[39m[IDBStorage] IndexedDB setItem failed: ReferenceError: indexedDB is not defined
|
||||
at Module.openDB [90m(file:///G:/ZClaw_openfang/desktop/[39mnode_modules/[4m.pnpm[24m/idb@8.0.3/node_modules/[4midb[24m/build/index.js:168:21[90m)[39m
|
||||
at getDB [90m(G:\ZClaw_openfang\desktop\[39msrc\lib\idb-storage.ts:34:17[90m)[39m
|
||||
at Object.setItem [90m(G:\ZClaw_openfang\desktop\[39msrc\lib\idb-storage.ts:117:26[90m)[39m
|
||||
at Object.setItem [90m(file:///G:/ZClaw_openfang/desktop/[39mnode_modules/[4m.pnpm[24m/zustand@5.0.12_@types+react_8b11772aea488cca440c1215797a0d95/node_modules/[4mzustand[24m/esm/middleware.mjs:298:42[90m)[39m
|
||||
at setItem [90m(file:///G:/ZClaw_openfang/desktop/[39mnode_modules/[4m.pnpm[24m/zustand@5.0.12_@types+react_8b11772aea488cca440c1215797a0d95/node_modules/[4mzustand[24m/esm/middleware.mjs:358:20[90m)[39m
|
||||
at [90mfile:///G:/ZClaw_openfang/desktop/[39mnode_modules/[4m.pnpm[24m/zustand@5.0.12_@types+react_8b11772aea488cca440c1215797a0d95/node_modules/[4mzustand[24m/esm/middleware.mjs:371:14
|
||||
at Object.setCurrentAgent [90m(G:\ZClaw_openfang\desktop\[39msrc\store\chat\conversationStore.ts:252:7[90m)[39m
|
||||
at setCurrentAgent [90m(G:\ZClaw_openfang\desktop\[39msrc\store\chatStore.ts:133:52[90m)[39m
|
||||
at [90mG:\ZClaw_openfang\desktop\[39mtests\store\chatStore.test.ts:444:7
|
||||
at [90mfile:///G:/ZClaw_openfang/desktop/[39mnode_modules/[4m.pnpm[24m/@vitest+runner@2.1.9/node_modules/[4m@vitest/runner[24m/dist/index.js:146:14
|
||||
|
||||
[90mstderr[2m | tests/store/chatStore.test.ts[2m > [22m[2mchatStore[2m > [22m[2msyncAgents[2m > [22m[2mshould sync agents from profiles
|
||||
[22m[39m[IDBStorage] IndexedDB setItem failed: ReferenceError: indexedDB is not defined
|
||||
at Module.openDB [90m(file:///G:/ZClaw_openfang/desktop/[39mnode_modules/[4m.pnpm[24m/idb@8.0.3/node_modules/[4midb[24m/build/index.js:168:21[90m)[39m
|
||||
at getDB [90m(G:\ZClaw_openfang\desktop\[39msrc\lib\idb-storage.ts:34:17[90m)[39m
|
||||
at Object.setItem [90m(G:\ZClaw_openfang\desktop\[39msrc\lib\idb-storage.ts:117:26[90m)[39m
|
||||
at Object.setItem [90m(file:///G:/ZClaw_openfang/desktop/[39mnode_modules/[4m.pnpm[24m/zustand@5.0.12_@types+react_8b11772aea488cca440c1215797a0d95/node_modules/[4mzustand[24m/esm/middleware.mjs:298:42[90m)[39m
|
||||
at setItem [90m(file:///G:/ZClaw_openfang/desktop/[39mnode_modules/[4m.pnpm[24m/zustand@5.0.12_@types+react_8b11772aea488cca440c1215797a0d95/node_modules/[4mzustand[24m/esm/middleware.mjs:358:20[90m)[39m
|
||||
at [90mfile:///G:/ZClaw_openfang/desktop/[39mnode_modules/[4m.pnpm[24m/zustand@5.0.12_@types+react_8b11772aea488cca440c1215797a0d95/node_modules/[4mzustand[24m/esm/middleware.mjs:371:14
|
||||
at Object.syncAgents [90m(G:\ZClaw_openfang\desktop\[39msrc\store\chat\conversationStore.ts:320:5[90m)[39m
|
||||
at syncAgents [90m(G:\ZClaw_openfang\desktop\[39msrc\store\chatStore.ts:141:37[90m)[39m
|
||||
at [90mG:\ZClaw_openfang\desktop\[39mtests\store\chatStore.test.ts:455:7
|
||||
at [90mfile:///G:/ZClaw_openfang/desktop/[39mnode_modules/[4m.pnpm[24m/@vitest+runner@2.1.9/node_modules/[4m@vitest/runner[24m/dist/index.js:146:14
|
||||
|
||||
[90mstderr[2m | tests/store/chatStore.test.ts[2m > [22m[2mchatStore[2m > [22m[2msyncAgents[2m > [22m[2mshould use default agent when no profiles provided
|
||||
[22m[39m[IDBStorage] IndexedDB setItem failed: ReferenceError: indexedDB is not defined
|
||||
at Module.openDB [90m(file:///G:/ZClaw_openfang/desktop/[39mnode_modules/[4m.pnpm[24m/idb@8.0.3/node_modules/[4midb[24m/build/index.js:168:21[90m)[39m
|
||||
at getDB [90m(G:\ZClaw_openfang\desktop\[39msrc\lib\idb-storage.ts:34:17[90m)[39m
|
||||
at Object.setItem [90m(G:\ZClaw_openfang\desktop\[39msrc\lib\idb-storage.ts:117:26[90m)[39m
|
||||
at Object.setItem [90m(file:///G:/ZClaw_openfang/desktop/[39mnode_modules/[4m.pnpm[24m/zustand@5.0.12_@types+react_8b11772aea488cca440c1215797a0d95/node_modules/[4mzustand[24m/esm/middleware.mjs:298:42[90m)[39m
|
||||
at setItem [90m(file:///G:/ZClaw_openfang/desktop/[39mnode_modules/[4m.pnpm[24m/zustand@5.0.12_@types+react_8b11772aea488cca440c1215797a0d95/node_modules/[4mzustand[24m/esm/middleware.mjs:358:20[90m)[39m
|
||||
at [90mfile:///G:/ZClaw_openfang/desktop/[39mnode_modules/[4m.pnpm[24m/zustand@5.0.12_@types+react_8b11772aea488cca440c1215797a0d95/node_modules/[4mzustand[24m/esm/middleware.mjs:371:14
|
||||
at Object.syncAgents [90m(G:\ZClaw_openfang\desktop\[39msrc\store\chat\conversationStore.ts:320:5[90m)[39m
|
||||
at syncAgents [90m(G:\ZClaw_openfang\desktop\[39msrc\store\chatStore.ts:141:37[90m)[39m
|
||||
at [90mG:\ZClaw_openfang\desktop\[39mtests\store\chatStore.test.ts:469:7
|
||||
at [90mfile:///G:/ZClaw_openfang/desktop/[39mnode_modules/[4m.pnpm[24m/@vitest+runner@2.1.9/node_modules/[4m@vitest/runner[24m/dist/index.js:146:14
|
||||
|
||||
[90mstderr[2m | tests/store/chatStore.test.ts[2m > [22m[2mchatStore[2m > [22m[2mconversation persistence[2m > [22m[2mshould derive title from first user message
|
||||
[22m[39m[IDBStorage] IndexedDB setItem failed: ReferenceError: indexedDB is not defined
|
||||
at Module.openDB [90m(file:///G:/ZClaw_openfang/desktop/[39mnode_modules/[4m.pnpm[24m/idb@8.0.3/node_modules/[4midb[24m/build/index.js:168:21[90m)[39m
|
||||
at getDB [90m(G:\ZClaw_openfang\desktop\[39msrc\lib\idb-storage.ts:34:17[90m)[39m
|
||||
at Object.setItem [90m(G:\ZClaw_openfang\desktop\[39msrc\lib\idb-storage.ts:117:26[90m)[39m
|
||||
at Object.setItem [90m(file:///G:/ZClaw_openfang/desktop/[39mnode_modules/[4m.pnpm[24m/zustand@5.0.12_@types+react_8b11772aea488cca440c1215797a0d95/node_modules/[4mzustand[24m/esm/middleware.mjs:298:42[90m)[39m
|
||||
at setItem [90m(file:///G:/ZClaw_openfang/desktop/[39mnode_modules/[4m.pnpm[24m/zustand@5.0.12_@types+react_8b11772aea488cca440c1215797a0d95/node_modules/[4mzustand[24m/esm/middleware.mjs:358:20[90m)[39m
|
||||
at [90mfile:///G:/ZClaw_openfang/desktop/[39mnode_modules/[4m.pnpm[24m/zustand@5.0.12_@types+react_8b11772aea488cca440c1215797a0d95/node_modules/[4mzustand[24m/esm/middleware.mjs:371:14
|
||||
at Object.newConversation [90m(G:\ZClaw_openfang\desktop\[39msrc\store\chat\conversationStore.ts:203:5[90m)[39m
|
||||
at newConversation [90m(G:\ZClaw_openfang\desktop\[39msrc\store\chatStore.ts:159:37[90m)[39m
|
||||
at [90mG:\ZClaw_openfang\desktop\[39mtests\store\chatStore.test.ts:645:7
|
||||
at [90mfile:///G:/ZClaw_openfang/desktop/[39mnode_modules/[4m.pnpm[24m/@vitest+runner@2.1.9/node_modules/[4m@vitest/runner[24m/dist/index.js:146:14
|
||||
|
||||
[31m❯[39m tests/store/chatStore.test.ts [2m([22m[2m36 tests[22m[2m | [22m[31m10 failed[39m[2m)[22m[90m 36[2mms[22m[39m
|
||||
[31m [31m×[31m chatStore[2m > [22msetCurrentModel[2m > [22mshould update current model[90m 7[2mms[22m[31m[39m
|
||||
[31m → expected 'glm-5' to be 'gpt-4' // Object.is equality[39m
|
||||
[31m [31m×[31m chatStore[2m > [22mnewConversation[2m > [22mshould clear messages and reset session[90m 4[2mms[22m[31m[39m
|
||||
[31m → expected 'old-session' to be null[39m
|
||||
[31m [31m×[31m chatStore[2m > [22mnewConversation[2m > [22mshould save current messages to conversations before clearing[90m 1[2mms[22m[31m[39m
|
||||
[31m → expected 0 to be greater than 0[39m
|
||||
[31m [31m×[31m chatStore[2m > [22mswitchConversation[2m > [22mshould switch to existing conversation[90m 1[2mms[22m[31m[39m
|
||||
[31m → Cannot read properties of undefined (reading 'id')[39m
|
||||
[31m [31m×[31m chatStore[2m > [22mdeleteConversation[2m > [22mshould delete conversation by id[90m 1[2mms[22m[31m[39m
|
||||
[31m → Cannot read properties of undefined (reading 'id')[39m
|
||||
[31m [31m×[31m chatStore[2m > [22mdeleteConversation[2m > [22mshould clear messages if deleting current conversation[90m 4[2mms[22m[31m[39m
|
||||
[31m → expected [ { id: 'msg-1', role: 'user', …(2) } ] to deeply equal [][39m
|
||||
[31m [31m×[31m chatStore[2m > [22msetCurrentAgent[2m > [22mshould update current agent[90m 2[2mms[22m[31m[39m
|
||||
[31m → expected { id: '1', name: 'ZCLAW', …(4) } to deeply equal { id: 'agent-2', …(5) }[39m
|
||||
[31m [31m×[31m chatStore[2m > [22msetCurrentAgent[2m > [22mshould save current conversation when switching agents[90m 1[2mms[22m[31m[39m
|
||||
[31m → expected [ { id: 'msg-1', role: 'user', …(2) } ] to deeply equal [][39m
|
||||
[31m [31m×[31m chatStore[2m > [22msyncAgents[2m > [22mshould sync agents from profiles[90m 2[2mms[22m[31m[39m
|
||||
[31m → expected [ { id: '1', name: 'ZCLAW', …(4) } ] to have a length of 2 but got 1[39m
|
||||
[31m [31m×[31m chatStore[2m > [22mconversation persistence[2m > [22mshould derive title from first user message[90m 1[2mms[22m[31m[39m
|
||||
[31m → Cannot read properties of undefined (reading 'title')[39m
|
||||
|
||||
[31m⎯⎯⎯⎯⎯⎯[1m[7m Failed Suites 1 [27m[22m⎯⎯⎯⎯⎯⎯⎯[39m
|
||||
|
||||
[31m[1m[7m FAIL [27m[22m[39m tests/stabilization.test.ts[2m [ tests/stabilization.test.ts ][22m
|
||||
[31m[1mTypeError[22m: Cannot read properties of undefined (reading 'hasHydrated')[39m
|
||||
[36m [2m❯[22m Object.onRehydrateStorage src/store/chatStore.ts:[2m265:42[22m[39m
|
||||
[90m263| [39m
|
||||
[90m264| [39m [90m// If conversationStore already hydrated (fast path), sync imm[39m…
|
||||
[90m265| [39m [35mif[39m (useConversationStore[33m.[39mpersist[33m.[39m[34mhasHydrated[39m()) {
|
||||
[90m | [39m [31m^[39m
|
||||
[90m266| [39m [34msyncMessages[39m()[33m;[39m
|
||||
[90m267| [39m [35mreturn[39m[33m;[39m
|
||||
[90m [2m❯[22m hydrate node_modules/.pnpm/zustand@5.0.12_@types+react_8b11772aea488cca440c1215797a0d95/node_modules/zustand/esm/middleware.mjs:[2m387:94[22m[39m
|
||||
[90m [2m❯[22m node_modules/.pnpm/zustand@5.0.12_@types+react_8b11772aea488cca440c1215797a0d95/node_modules/zustand/esm/middleware.mjs:[2m468:5[22m[39m
|
||||
[90m [2m❯[22m createStoreImpl node_modules/.pnpm/zustand@5.0.12_@types+react_8b11772aea488cca440c1215797a0d95/node_modules/zustand/esm/vanilla.mjs:[2m19:32[22m[39m
|
||||
[90m [2m❯[22m createStore node_modules/.pnpm/zustand@5.0.12_@types+react_8b11772aea488cca440c1215797a0d95/node_modules/zustand/esm/vanilla.mjs:[2m22:53[22m[39m
|
||||
[90m [2m❯[22m createImpl node_modules/.pnpm/zustand@5.0.12_@types+react_8b11772aea488cca440c1215797a0d95/node_modules/zustand/esm/react.mjs:[2m15:15[22m[39m
|
||||
[90m [2m❯[22m src/store/chatStore.ts:[2m105:47[22m[39m
|
||||
|
||||
[31m[2m⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯[1/11]⎯[22m[39m
|
||||
|
||||
[31m⎯⎯⎯⎯⎯⎯[1m[7m Failed Tests 10 [27m[22m⎯⎯⎯⎯⎯⎯⎯[39m
|
||||
|
||||
[31m[1m[7m FAIL [27m[22m[39m tests/store/chatStore.test.ts[2m > [22mchatStore[2m > [22msetCurrentModel[2m > [22mshould update current model
|
||||
[31m[1mAssertionError[22m: expected 'glm-5' to be 'gpt-4' // Object.is equality[39m
|
||||
|
||||
Expected: [32m"g[7mpt-4[27m"[39m
|
||||
Received: [31m"g[7mlm-5[27m"[39m
|
||||
|
||||
[36m [2m❯[22m tests/store/chatStore.test.ts:[2m272:34[22m[39m
|
||||
[90m270| [39m
|
||||
[90m271| [39m [35mconst[39m state [33m=[39m useChatStore[33m.[39m[34mgetState[39m()[33m;[39m
|
||||
[90m272| [39m [34mexpect[39m(state[33m.[39mcurrentModel)[33m.[39m[34mtoBe[39m([32m'gpt-4'[39m)[33m;[39m
|
||||
[90m | [39m [31m^[39m
|
||||
[90m273| [39m })[33m;[39m
|
||||
[90m274| [39m })[33m;[39m
|
||||
|
||||
[31m[2m⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯[2/11]⎯[22m[39m
|
||||
|
||||
[31m[1m[7m FAIL [27m[22m[39m tests/store/chatStore.test.ts[2m > [22mchatStore[2m > [22mnewConversation[2m > [22mshould clear messages and reset session
|
||||
[31m[1mAssertionError[22m: expected 'old-session' to be null[39m
|
||||
|
||||
[32m- Expected:[39m
|
||||
null
|
||||
|
||||
[31m+ Received:[39m
|
||||
"old-session"
|
||||
|
||||
[36m [2m❯[22m tests/store/chatStore.test.ts:[2m293:32[22m[39m
|
||||
[90m291| [39m [35mconst[39m state [33m=[39m useChatStore[33m.[39m[34mgetState[39m()[33m;[39m
|
||||
[90m292| [39m [34mexpect[39m(state[33m.[39mmessages)[33m.[39m[34mtoEqual[39m([])[33m;[39m
|
||||
[90m293| [39m [34mexpect[39m(state[33m.[39msessionKey)[33m.[39m[34mtoBeNull[39m()[33m;[39m
|
||||
[90m | [39m [31m^[39m
|
||||
[90m294| [39m [34mexpect[39m(state[33m.[39misStreaming)[33m.[39m[34mtoBe[39m([35mfalse[39m)[33m;[39m
|
||||
[90m295| [39m [34mexpect[39m(state[33m.[39mcurrentConversationId)[33m.[39m[34mtoBeNull[39m()[33m;[39m
|
||||
|
||||
[31m[2m⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯[3/11]⎯[22m[39m
|
||||
|
||||
[31m[1m[7m FAIL [27m[22m[39m tests/store/chatStore.test.ts[2m > [22mchatStore[2m > [22mnewConversation[2m > [22mshould save current messages to conversations before clearing
|
||||
[31m[1mAssertionError[22m: expected 0 to be greater than 0[39m
|
||||
[36m [2m❯[22m tests/store/chatStore.test.ts:[2m312:42[22m[39m
|
||||
[90m310| [39m [35mconst[39m state [33m=[39m useChatStore[33m.[39m[34mgetState[39m()[33m;[39m
|
||||
[90m311| [39m [90m// Conversation should be saved[39m
|
||||
[90m312| [39m [34mexpect[39m(state[33m.[39mconversations[33m.[39mlength)[33m.[39m[34mtoBeGreaterThan[39m([34m0[39m)[33m;[39m
|
||||
[90m | [39m [31m^[39m
|
||||
[90m313| [39m [34mexpect[39m(state[33m.[39mconversations[[34m0[39m][33m.[39mmessages[[34m0[39m][33m.[39mcontent)[33m.[39m[34mtoBe[39m([32m'Test me[39m…
|
||||
[90m314| [39m })[33m;[39m
|
||||
|
||||
[31m[2m⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯[4/11]⎯[22m[39m
|
||||
|
||||
[31m[1m[7m FAIL [27m[22m[39m tests/store/chatStore.test.ts[2m > [22mchatStore[2m > [22mswitchConversation[2m > [22mshould switch to existing conversation
|
||||
[31m[1mTypeError[22m: Cannot read properties of undefined (reading 'id')[39m
|
||||
[36m [2m❯[22m tests/store/chatStore.test.ts:[2m338:66[22m[39m
|
||||
[90m336| [39m })[33m;[39m
|
||||
[90m337| [39m
|
||||
[90m338| [39m [35mconst[39m firstConvId [33m=[39m useChatStore[33m.[39m[34mgetState[39m()[33m.[39mconversations[[34m0[39m][33m.[39mid[33m;[39m
|
||||
[90m | [39m [31m^[39m
|
||||
[90m339| [39m
|
||||
[90m340| [39m [90m// Switch back to first conversation[39m
|
||||
|
||||
[31m[2m⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯[5/11]⎯[22m[39m
|
||||
|
||||
[31m[1m[7m FAIL [27m[22m[39m tests/store/chatStore.test.ts[2m > [22mchatStore[2m > [22mdeleteConversation[2m > [22mshould delete conversation by id
|
||||
[31m[1mTypeError[22m: Cannot read properties of undefined (reading 'id')[39m
|
||||
[36m [2m❯[22m tests/store/chatStore.test.ts:[2m362:61[22m[39m
|
||||
[90m360| [39m [34mnewConversation[39m()[33m;[39m
|
||||
[90m361| [39m
|
||||
[90m362| [39m [35mconst[39m convId [33m=[39m useChatStore[33m.[39m[34mgetState[39m()[33m.[39mconversations[[34m0[39m][33m.[39mid[33m;[39m
|
||||
[90m | [39m [31m^[39m
|
||||
[90m363| [39m [34mexpect[39m(useChatStore[33m.[39m[34mgetState[39m()[33m.[39mconversations)[33m.[39m[34mtoHaveLength[39m([34m1[39m)[33m;[39m
|
||||
[90m364| [39m
|
||||
|
||||
[31m[2m⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯[6/11]⎯[22m[39m
|
||||
|
||||
[31m[1m[7m FAIL [27m[22m[39m tests/store/chatStore.test.ts[2m > [22mchatStore[2m > [22mdeleteConversation[2m > [22mshould clear messages if deleting current conversation
|
||||
[31m[1mAssertionError[22m: expected [ { id: 'msg-1', role: 'user', …(2) } ] to deeply equal [][39m
|
||||
|
||||
[32m- Expected[39m
|
||||
[31m+ Received[39m
|
||||
|
||||
[32m- Array [][39m
|
||||
[31m+ Array [[39m
|
||||
[31m+ Object {[39m
|
||||
[31m+ "content": "Test",[39m
|
||||
[31m+ "id": "msg-1",[39m
|
||||
[31m+ "role": "user",[39m
|
||||
[31m+ "timestamp": 2026-04-05T09:57:37.097Z,[39m
|
||||
[31m+ },[39m
|
||||
[31m+ ][39m
|
||||
|
||||
[36m [2m❯[22m tests/store/chatStore.test.ts:[2m400:30[22m[39m
|
||||
[90m398| [39m
|
||||
[90m399| [39m [35mconst[39m state [33m=[39m useChatStore[33m.[39m[34mgetState[39m()[33m;[39m
|
||||
[90m400| [39m [34mexpect[39m(state[33m.[39mmessages)[33m.[39m[34mtoEqual[39m([])[33m;[39m
|
||||
[90m | [39m [31m^[39m
|
||||
[90m401| [39m [34mexpect[39m(state[33m.[39msessionKey)[33m.[39m[34mtoBeNull[39m()[33m;[39m
|
||||
[90m402| [39m [34mexpect[39m(state[33m.[39mcurrentConversationId)[33m.[39m[34mtoBeNull[39m()[33m;[39m
|
||||
|
||||
[31m[2m⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯[7/11]⎯[22m[39m
|
||||
|
||||
[31m[1m[7m FAIL [27m[22m[39m tests/store/chatStore.test.ts[2m > [22mchatStore[2m > [22msetCurrentAgent[2m > [22mshould update current agent
|
||||
[31m[1mAssertionError[22m: expected { id: '1', name: 'ZCLAW', …(4) } to deeply equal { id: 'agent-2', …(5) }[39m
|
||||
|
||||
[32m- Expected[39m
|
||||
[31m+ Received[39m
|
||||
|
||||
[2m Object {[22m
|
||||
[32m- "color": "bg-blue-500",[39m
|
||||
[32m- "icon": "A",[39m
|
||||
[32m- "id": "agent-2",[39m
|
||||
[32m- "lastMessage": "Hello",[39m
|
||||
[32m- "name": "New Agent",[39m
|
||||
[31m+ "color": "bg-gradient-to-br from-orange-500 to-red-500",[39m
|
||||
[31m+ "icon": "🦞",[39m
|
||||
[31m+ "id": "1",[39m
|
||||
[31m+ "lastMessage": "发送消息开始对话",[39m
|
||||
[31m+ "name": "ZCLAW",[39m
|
||||
[2m "time": "",[22m
|
||||
[2m }[22m
|
||||
|
||||
[36m [2m❯[22m tests/store/chatStore.test.ts:[2m421:34[22m[39m
|
||||
[90m419| [39m
|
||||
[90m420| [39m [35mconst[39m state [33m=[39m useChatStore[33m.[39m[34mgetState[39m()[33m;[39m
|
||||
[90m421| [39m [34mexpect[39m(state[33m.[39mcurrentAgent)[33m.[39m[34mtoEqual[39m(newAgent)[33m;[39m
|
||||
[90m | [39m [31m^[39m
|
||||
[90m422| [39m })[33m;[39m
|
||||
[90m423| [39m
|
||||
|
||||
[31m[2m⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯[8/11]⎯[22m[39m
|
||||
|
||||
[31m[1m[7m FAIL [27m[22m[39m tests/store/chatStore.test.ts[2m > [22mchatStore[2m > [22msetCurrentAgent[2m > [22mshould save current conversation when switching agents
|
||||
[31m[1mAssertionError[22m: expected [ { id: 'msg-1', role: 'user', …(2) } ] to deeply equal [][39m
|
||||
|
||||
[32m- Expected[39m
|
||||
[31m+ Received[39m
|
||||
|
||||
[32m- Array [][39m
|
||||
[31m+ Array [[39m
|
||||
[31m+ Object {[39m
|
||||
[31m+ "content": "Test message",[39m
|
||||
[31m+ "id": "msg-1",[39m
|
||||
[31m+ "role": "user",[39m
|
||||
[31m+ "timestamp": 2026-04-05T09:57:37.103Z,[39m
|
||||
[31m+ },[39m
|
||||
[31m+ ][39m
|
||||
|
||||
[36m [2m❯[22m tests/store/chatStore.test.ts:[2m447:48[22m[39m
|
||||
[90m445| [39m
|
||||
[90m446| [39m [90m// Messages should be cleared for new agent[39m
|
||||
[90m447| [39m [34mexpect[39m(useChatStore[33m.[39m[34mgetState[39m()[33m.[39mmessages)[33m.[39m[34mtoEqual[39m([])[33m;[39m
|
||||
[90m | [39m [31m^[39m
|
||||
[90m448| [39m })[33m;[39m
|
||||
[90m449| [39m })[33m;[39m
|
||||
|
||||
[31m[2m⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯[9/11]⎯[22m[39m
|
||||
|
||||
[31m[1m[7m FAIL [27m[22m[39m tests/store/chatStore.test.ts[2m > [22mchatStore[2m > [22msyncAgents[2m > [22mshould sync agents from profiles
|
||||
[31m[1mAssertionError[22m: expected [ { id: '1', name: 'ZCLAW', …(4) } ] to have a length of 2 but got 1[39m
|
||||
|
||||
[32m- Expected[39m
|
||||
[31m+ Received[39m
|
||||
|
||||
[32m- 2[39m
|
||||
[31m+ 1[39m
|
||||
|
||||
[36m [2m❯[22m tests/store/chatStore.test.ts:[2m461:28[22m[39m
|
||||
[90m459| [39m
|
||||
[90m460| [39m [35mconst[39m state [33m=[39m useChatStore[33m.[39m[34mgetState[39m()[33m;[39m
|
||||
[90m461| [39m [34mexpect[39m(state[33m.[39magents)[33m.[39m[34mtoHaveLength[39m([34m2[39m)[33m;[39m
|
||||
[90m | [39m [31m^[39m
|
||||
[90m462| [39m [34mexpect[39m(state[33m.[39magents[[34m0[39m][33m.[39mname)[33m.[39m[34mtoBe[39m([32m'Agent One'[39m)[33m;[39m
|
||||
[90m463| [39m [34mexpect[39m(state[33m.[39magents[[34m1[39m][33m.[39mname)[33m.[39m[34mtoBe[39m([32m'Agent Two'[39m)[33m;[39m
|
||||
|
||||
[31m[2m⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯[10/11]⎯[22m[39m
|
||||
|
||||
[31m[1m[7m FAIL [27m[22m[39m tests/store/chatStore.test.ts[2m > [22mchatStore[2m > [22mconversation persistence[2m > [22mshould derive title from first user message
|
||||
[31m[1mTypeError[22m: Cannot read properties of undefined (reading 'title')[39m
|
||||
[36m [2m❯[22m tests/store/chatStore.test.ts:[2m648:37[22m[39m
|
||||
[90m646| [39m
|
||||
[90m647| [39m [35mconst[39m state [33m=[39m useChatStore[33m.[39m[34mgetState[39m()[33m;[39m
|
||||
[90m648| [39m [34mexpect[39m(state[33m.[39mconversations[[34m0[39m][33m.[39mtitle)[33m.[39m[34mtoContain[39m([32m'This is a long m[39m…
|
||||
[90m | [39m [31m^[39m
|
||||
[90m649| [39m [34mexpect[39m(state[33m.[39mconversations[[34m0[39m][33m.[39mtitle[33m.[39mlength)[33m.[39m[34mtoBeLessThanOrEqual[39m(…
|
||||
[90m650| [39m })[33m;[39m
|
||||
|
||||
[31m[2m⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯[11/11]⎯[22m[39m
|
||||
|
||||
[2m Test Files [22m [1m[31m2 failed[39m[22m[2m | [22m[1m[32m7 passed[39m[22m[90m (9)[39m
|
||||
[2m Tests [22m [1m[31m10 failed[39m[22m[2m | [22m[1m[32m174 passed[39m[22m[2m | [22m[33m1 skipped[39m[90m (185)[39m
|
||||
[2m Start at [22m 17:56:49
|
||||
[2m Duration [22m 47.19s[2m (transform 1.84s, setup 57.03s, collect 16.08s, tests 1.32s, environment 222.17s, prepare 10.17s)[22m
|
||||
|
||||
Reference in New Issue
Block a user