feat(#1217): add compacted-session timeline navigation (#1227)

This commit is contained in:
m57 authored and GitHub committed 2026-09-22 18:29:06 +03:00
1 parent 2e6ae95fe0
commit 16967c7e91
12 files changed
+1124 -34

No files matched your search

@@ -102,10 +102,12 @@ import com.m57.hermescontrol.data.model.ScanStatus
import com.m57.hermescontrol.data.model.SessionDetailResponse
import com.m57.hermescontrol.data.model.SessionInfo
import com.m57.hermescontrol.data.model.SessionListResponse
import com.m57.hermescontrol.data.model.SessionMessagesAroundResponse
import com.m57.hermescontrol.data.model.SessionMessagesResponse
import com.m57.hermescontrol.data.model.SessionRenameRequest
import com.m57.hermescontrol.data.model.SessionSearchResponse
import com.m57.hermescontrol.data.model.SessionStatsResponse
import com.m57.hermescontrol.data.model.SessionTimelineResponse
import com.m57.hermescontrol.data.model.SetActiveProfileRequest
import com.m57.hermescontrol.data.model.Skill
import com.m57.hermescontrol.data.model.SkillContentResponse
@@ -209,6 +211,22 @@ interface HermesApiService : KanbanApiService {
@Query("profile") profile: String? = null,
): Response<SessionMessagesResponse>
@GET("api/sessions/{id}/timeline")
suspend fun getSessionTimeline(
@Path("id", encoded = true) sessionId: String,
@Query("profile") profile: String? = null,
@Query("limit") limit: Int = 500,
@Query("after_row_id") afterRowId: Int = 0,
): Response<SessionTimelineResponse>
@GET("api/sessions/{id}/messages/around")
suspend fun getSessionMessagesAround(
@Path("id", encoded = true) sessionId: String,
@Query("row_id") rowId: Int,
@Query("profile") profile: String? = null,
@Query("limit") limit: Int = 120,
): Response<SessionMessagesAroundResponse>
@GET("api/sessions/stats")
suspend fun getSessionStats(): Response<SessionStatsResponse>