picoclaw/web/frontend/src/api
LiusCraft 81bbef62b1 feat(session): add per-message created_at timestamps
- Persistence layer (jsonl.go addMsg/SetHistory) normalizes CreatedAt
  when missing so the invariant is guaranteed at the storage boundary
- API layer (session.go) exposes created_at on all transcript message
  types with session.updated fallback for legacy messages
- Frontend uses per-message timestamps when available
- messagesContentEqual ignores CreatedAt for tail-matching after
  JSONL roundtrip

Fixes #2787
2026-05-22 13:15:56 +08:00
..
channels.ts feat(frontend): add factory reset button with confirmation dialog 2026-05-18 13:53:34 +08:00
gateway.ts feat(web): protect launcher dashboard with token and SPA login (#1953) 2026-03-29 13:11:43 +08:00
http.ts feat(launcher): standard HTTP login/setup/logout flow for dashboard, frontend and backend impl. and fix windows pid lock for ws (#2339) 2026-04-08 21:43:51 +08:00
launcher-auth.ts refactor(web): switch dashboard auth from tokens to passwords (#2608) 2026-04-21 18:04:15 +08:00
models.ts fix(web): use stored API key when fetching models for saved providers (#2910) 2026-05-21 15:51:45 +08:00
oauth.ts feat(web): protect launcher dashboard with token and SPA login (#1953) 2026-03-29 13:11:43 +08:00
pico.ts refactor(web): secure Pico websocket access behind launcher auth 2026-04-20 10:11:03 +08:00
sessions.ts feat(session): add per-message created_at timestamps 2026-05-22 13:15:56 +08:00
skills.ts feat(web): add skill marketplace hub and registry install flow (#2246) 2026-04-01 19:25:31 +08:00
system.ts refactor(web): switch dashboard auth from tokens to passwords (#2608) 2026-04-21 18:04:15 +08:00
tools.ts feat(providers): add gemini web search provider (#2763) 2026-05-14 09:50:47 +08:00