Add per-file insight history endpoint and rate-by-id
Expose GET /insights/history?path=... returning every generated version of a photo's insight (current plus superseded), newest-first, backing the mobile per-file insight history view. - New get_insight_history_handler; reuses the existing get_insight_history DAO method (removed its dead_code allow). - impl From<PhotoInsight> for PhotoInsightResponse, collapsing the mapping that was duplicated across the single-get and all-insights handlers. - rate_insight_by_id DAO method + optional insight_id on RateInsightRequest so previously generated versions can be approved/rejected (the path-based rate only touches the current row). - DAO tests for history ordering/scoping and id-targeted rating. - cargo fmt normalized a multi-line assert in insight_chat.rs tests. Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>
This commit is contained in:
@@ -2473,7 +2473,10 @@ mod tests {
|
||||
let original_len = msgs.len();
|
||||
let dropped = apply_context_budget(&mut msgs, budget_bytes);
|
||||
|
||||
assert!(!dropped, "short conversation with one image must not truncate");
|
||||
assert!(
|
||||
!dropped,
|
||||
"short conversation with one image must not truncate"
|
||||
);
|
||||
assert_eq!(msgs.len(), original_len, "no messages should be dropped");
|
||||
// Sanity: the flat image charge is accounted for but stays well under budget.
|
||||
assert!(estimate_bytes(&msgs) <= budget_bytes);
|
||||
|
||||
Reference in New Issue
Block a user