Program: implement InventoryExplorer #89
Reference in New Issue
Block a user
Delete Branch "%!s()"
Deleting a branch is permanent. Although the deleted branch may continue to exist for a short time before it actually gets removed, it CANNOT be undone in most cases. Continue?
Objective
Port InventoryExplorer using the real inventory manager/store APIs.
Deliverables
Validation
Prerequisite
The library behavior required by the program is implemented and its translated parity tests pass.
Project constraints
Implemented in commit
bb7f419. InventoryExplorer now logs in through the native GridClient, waits for the real InventoryManager store root, supports sorted top-level browsing, statistics, case-insensitive search, every native AssetType filter, link-target and parent details, and bounded deterministic hierarchical text export. Added a public object-safe InventoryItem view for all derived inventory entries so programs can inspect item metadata without concrete-type enumeration. Offline mode parses bounded LLSD JSON with the native InventoryAISClient and installs categories/items/links through the manager-owned Inventory store. It enforces entry/depth/output/export/path limits, detects cycles, rejects symlink exports, redacts sensitive text, handles filesystem errors, disconnects, login/readiness timeouts, Ctrl-C, logout, and disposal. Verified: 2 focused unit tests; 5/5 CLI/golden tests; 15/15 inventory_store_semantics; 10/10 inventory_ais_semantics; library and program Clippy with warnings denied; mapping and shim checks; full programs tests; workspace all-target check; workspace no-run build; and warning-denied rustdoc. No live grid or credentials were used.