GCWing / GCWing/OpenBitFun

feat(session): add compact action to session control tool

Abierto
#2,469 0 comentarios 0 reacciones 0 asignados Ver en GitHub
Lenguaje dominante
Rust
Estrellas
2.2k
Forks
229
Merge medio
2 h 46 min
PR fusionados (30 d)
577

Descripción

## Summary

Add the `compact` action to the session control tool family so a caller can compact a session context to reduce its token footprint and surface the applied compaction statistics (tokens/ratio/summary).

## Plan

- Thread `ContextCompactionOutcome` through the manual compaction task so the finished outcome is returned instead of being discarded.
- Add `compact_session_with_outcome` returning `BitFunResult`; `compact_session_manually` delegates to it for the Desktop compatibility API.
- Extend `SessionControlAction` with a `Compact` variant and its `as_str` mapping.
- Allow compacting the caller's own session (the sole self-mutation exception) while keeping owner/creator/ancestor authorization inline.
- Wire the `Compact` dispatch to the compact engine and return the applied stats.
- Extend the tool input schema/description and add compact validation tests.

AI-assisted output. Test extent: **已测 (tested)**.

Guía de contribución

Abrir la guía de contribución

Línea de trabajo

Locate the manual compaction task and ContextCompactionOutcome flow first, then trace SessionControlAction, its string mapping, authorization checks, dispatch, and the tool input schema. Extend the compact path so the applied tokens, ratio, and summary are returned, and run the compact validation tests to confirm self-compaction and owner/creator/ancestor authorization behavior.

Escrito por el modelo de indexación a partir del texto del issue.

Evaluación

Stack tecnológico
rust
Área
backend-api-design, tooling
Tipo de issue
Nueva funcionalidad
Dificultad
4/5
Tiempo estimado
3-5 días
Estado de actividad
Activo
Claridad
Bastante claro
Aptitud para principiantes
68/100

Recibe los nuevos issues en tu correo

Un resumen breve de issues de GitHub para principiantes.