mirror of
https://github.com/aljazceru/opencode.git
synced 2026-01-07 09:54:56 +01:00
wip: refactoring tui
This commit is contained in:
42
internal/tui/app/interfaces.go
Normal file
42
internal/tui/app/interfaces.go
Normal 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
|
||||
}
|
||||
Reference in New Issue
Block a user