wip: refactoring tui

This commit is contained in:
adamdottv
2025-05-28 15:36:31 -05:00
parent 8863a499a9
commit 9d7c5efb9b
21 changed files with 136 additions and 1346 deletions

View File

@@ -0,0 +1,42 @@
package app
import (
"context"
"time"
"github.com/sst/opencode/internal/message"
"github.com/sst/opencode/internal/pubsub"
"github.com/sst/opencode/internal/session"
)
// SessionService defines the interface for session operations
type SessionService interface {
Create(ctx context.Context, title string) (session.Session, error)
Get(ctx context.Context, id string) (session.Session, error)
List(ctx context.Context) ([]session.Session, error)
Update(ctx context.Context, id, title string) error
Delete(ctx context.Context, id string) error
}
// MessageService defines the interface for message operations
type MessageService interface {
pubsub.Subscriber[message.Message]
GetBySession(ctx context.Context, sessionID string) ([]message.Message, error)
List(ctx context.Context, sessionID string) ([]message.Message, error)
Create(ctx context.Context, sessionID string, params message.CreateMessageParams) (message.Message, error)
Update(ctx context.Context, msg message.Message) (message.Message, error)
Delete(ctx context.Context, id string) error
DeleteSessionMessages(ctx context.Context, sessionID string) error
Get(ctx context.Context, id string) (message.Message, error)
ListAfter(ctx context.Context, sessionID string, timestamp time.Time) ([]message.Message, error)
}
// AgentService defines the interface for agent operations
type AgentService interface {
Run(ctx context.Context, sessionID string, text string, attachments ...message.Attachment) (string, error)
Cancel(sessionID string) error
IsBusy() bool
IsSessionBusy(sessionID string) bool
CompactSession(ctx context.Context, sessionID string, force bool) error
}