Add a toolPolicy parameter to sessions_spawn that allows the parent agent
to restrict the tool set available to spawned sub-agents.
The new toolPolicy parameter accepts allow and deny arrays:
- allow: Narrows the sub-agent to only these tools (on top of default deny list)
- deny: Additional tools/groups to block (appended to default deny list)
Supports tool group syntax (group:web, group:fs, group:runtime, etc.)
Implementation:
- SessionEntry gains spawnToolPolicy field (persisted per-session)
- sessions.patch accepts spawnToolPolicy for subagent sessions
- Policy is immutable once set (cannot be changed after spawn)
- Merges with existing default subagent deny list
- Applied in both embedded agent path and HTTP tool invoke path
Read the final user/assistant message from session transcripts and display
it in the picker alongside the session update time. Allows quick previews
of what's in each session without opening it.
Server-side filtering backup for client-side session picker search.
Case-insensitive substring match on displayName, label, subject,
sessionId, and key.
Closes#1161
Enable meaningful session titles via priority-based derivation:
1. displayName (user-set)
2. subject (group name)
3. First user message (truncated to 60 chars)
4. sessionId prefix + date fallback
Opt-in via includeDerivedTitles param to avoid perf impact on
regular listing. Reads only first 10 lines of transcript files.
Closes#1161