mirror of
https://github.com/memohai/Memoh.git
synced 2026-04-27 07:16:19 +09:00
feat: add immediate context compaction API, UI button, and /compact slash command
- Add POST /bots/:bot_id/sessions/:session_id/compact endpoint for synchronous context compaction with fallback to chat model when no dedicated compaction model is configured - Add "Compact Now" button to session info panel in the web UI - Add /compact slash command for triggering compaction from chat - Regenerate OpenAPI spec and TypeScript SDK
This commit is contained in:
@@ -8,6 +8,8 @@ import (
|
||||
|
||||
"github.com/memohai/memoh/internal/bots"
|
||||
"github.com/memohai/memoh/internal/browsercontexts"
|
||||
"github.com/memohai/memoh/internal/compaction"
|
||||
"github.com/memohai/memoh/internal/db/sqlc"
|
||||
emailpkg "github.com/memohai/memoh/internal/email"
|
||||
"github.com/memohai/memoh/internal/heartbeat"
|
||||
"github.com/memohai/memoh/internal/mcp"
|
||||
@@ -56,7 +58,9 @@ type Handler struct {
|
||||
emailService *emailpkg.Service
|
||||
emailOutboxService *emailpkg.OutboxService
|
||||
heartbeatService *heartbeat.Service
|
||||
compactionService *compaction.Service
|
||||
queries CommandQueries
|
||||
sqlcQueries *sqlc.Queries
|
||||
aclEvaluator AccessEvaluator
|
||||
skillLoader SkillLoader
|
||||
containerFS ContainerFS
|
||||
@@ -124,6 +128,12 @@ func NewHandler(
|
||||
return h
|
||||
}
|
||||
|
||||
// SetCompactionService configures the compaction service for the /compact command.
|
||||
func (h *Handler) SetCompactionService(s *compaction.Service, q *sqlc.Queries) {
|
||||
h.compactionService = s
|
||||
h.sqlcQueries = q
|
||||
}
|
||||
|
||||
// topLevelCommands are standalone commands (no sub-actions) that are
|
||||
// recognised by IsCommand and listed in /help. They are handled outside
|
||||
// the regular resource-group dispatch (e.g. in the channel inbound
|
||||
|
||||
Reference in New Issue
Block a user