Files
cc-connect/core/interfaces.go
T
chenhg5andClaude 92164b38fb feat(claudecode): add session management and persistence support
Add session listing capability via Agent interface
Implement session persistence in SessionManager
Improve Feishu markdown formatting support
Add verbose logging and error handling
Clean up session switching logic
Support session resume via --resume flag
Add agent session metadata scanning

generated by llmgit

Co-Authored-By: Claude <noreply@anthropic.com>
2026-02-28 12:53:43 +08:00

24 lines
775 B
Go

package core
import "context"
// Platform abstracts a messaging platform (Feishu, DingTalk, Slack, etc.).
type Platform interface {
Name() string
Start(handler MessageHandler) error
Reply(ctx context.Context, replyCtx any, content string) error
Stop() error
}
// MessageHandler is called by platforms when a new message arrives.
type MessageHandler func(p Platform, msg *Message)
// Agent abstracts an AI coding assistant (Claude Code, Cursor, Gemini CLI, etc.).
type Agent interface {
Name() string
Execute(ctx context.Context, sessionID string, prompt string) (<-chan Event, error)
// ListSessions returns sessions known to the agent backend (e.g. from Claude Code's session index).
ListSessions(ctx context.Context) ([]AgentSessionInfo, error)
Stop() error
}