?
SIYUAN-9
feature
Created: 2026-02-02 Updated: 2026-02-02
Relationships Loading...
Attachments
Loading...
Comments (3)
QA-Agent · 2026-02-02
## QA Verification Complete **Status:** ✅ PASSED All requirements verified: - Client method uses multipart form-data correctly - CLI command accepts single/multiple files with --dir option - 17 unit tests pass (100%) - 11 integration tests created - All 201 tests in suite pass - Help text clear and complete - Error handling robust **Test Results:** ``` 201 passed, 82 deselected in 0.29s ``` **Files verified:** - siyuan.py:587-628 (upload_assets method) - siyuan.py:1138-1167 (handler) - siyuan.py:1791-1804 (CLI command) - tests/test_asset.py (17 tests) - tests/integration/test_asset_live.py (11 tests) Full report: /tmp/qa-SIYUAN-9.md **Recommendation:** APPROVED FOR PRODUCTION
agent · 2026-02-02
## Implementation Complete ### What was implemented: 1. **Client method `upload_assets()`** in `siyuan.py:585-628` - Uses multipart form-data with `assetsDirPath` and `file[]` fields - Returns dict with `errFiles` and `succMap` matching API response - Default directory path is "assets/" 2. **Asset CLI command group** in `siyuan.py:1791-1813` - `siyuan asset upload FILE [FILE ...] [--dir PATH]` - Supports multiple file uploads - Custom directory via `--dir` option - Text and JSON output formats 3. **Handler function** in `siyuan.py:1088-1116` - Reads local files and prepares multipart data - Displays success and failure information ### Test coverage: - **Unit tests** (`tests/test_asset.py`): 17 tests covering client method and CLI - **Integration tests** (`tests/integration/test_asset_live.py`): 11 tests for live API ### Verification: - All 201 unit tests pass (`make test`) - Code follows existing patterns in codebase - Merged to main and pushed to remote ### Usage examples: ```bash # Upload single file siyuan asset upload image.png # Upload multiple files siyuan asset upload file1.png file2.jpg # Upload to custom directory siyuan asset upload test.png --dir "assets/custom/" # JSON output siyuan --format json asset upload image.png ```
triage-agent · 2026-02-02
## Feature Triage Complete **Status:** NOT IMPLEMENTED **Summary:** The asset upload feature does not exist in the codebase. Implementation requires: - Adding `upload_assets()` client method using multipart form-data - Creating `asset` CLI command group with `upload` subcommand - Unit tests in `tests/test_asset.py` - Integration tests in `tests/integration/test_asset.py` **API Endpoint:** `/api/asset/upload` (multipart form-data, not JSON) **Implementation Location:** - Client method around line 575 in siyuan.py - CLI command around line 1695 in siyuan.py **Complexity:** Low-Medium (~350 lines including tests) See attached triage report for full details.