Documentation
¶
Overview ¶
Package claude provides Claude Code integration for Hive. It combines fork functionality and analytics in a single plugin.
Index ¶
- func DetectClaudeSessionID(projectPath string) string
- func GetClaudeJSONLPath(projectPath, claudeSessionID string) string
- type Plugin
- func (p *Plugin) Available() bool
- func (p *Plugin) Close() error
- func (p *Plugin) Commands() map[string]config.UserCommand
- func (p *Plugin) Init(_ context.Context) error
- func (p *Plugin) Name() string
- func (p *Plugin) RefreshStatus(ctx context.Context, sessions []*session.Session, pool *plugins.WorkerPool) (map[string]plugins.Status, error)
- func (p *Plugin) StatusCacheDuration() time.Duration
- func (p *Plugin) StatusProvider() plugins.StatusProvider
- type SessionAnalytics
- type ToolCall
Constants ¶
This section is empty.
Variables ¶
This section is empty.
Functions ¶
func DetectClaudeSessionID ¶
DetectClaudeSessionID attempts to find the most recent session ID for a project. Returns empty string if no session found.
func GetClaudeJSONLPath ¶
GetClaudeJSONLPath resolves the JSONL file path for a Claude session.
Types ¶
type Plugin ¶
type Plugin struct {
// contains filtered or unexported fields
}
Plugin implements Claude Code integration (fork + analytics).
func New ¶
func New(cfg config.ClaudePluginConfig, kvStore kv.KV) *Plugin
New creates a new claude plugin.
func (*Plugin) RefreshStatus ¶
func (p *Plugin) RefreshStatus(ctx context.Context, sessions []*session.Session, pool *plugins.WorkerPool) (map[string]plugins.Status, error)
RefreshStatus implements plugins.StatusProvider
func (*Plugin) StatusCacheDuration ¶
func (*Plugin) StatusProvider ¶
func (p *Plugin) StatusProvider() plugins.StatusProvider
type SessionAnalytics ¶
type SessionAnalytics struct {
CurrentContextTokens int // Last turn's input + cache read
InputTokens int // Cumulative input
OutputTokens int // Cumulative output
CacheReadTokens int // Cumulative cache reads
CacheWriteTokens int // Cumulative cache writes
TotalTurns int // Number of turns
Duration time.Duration // Session duration
ToolCalls []ToolCall // Tool usage counts
}
SessionAnalytics represents parsed Claude session data.
func ParseSessionJSONL ¶
func ParseSessionJSONL(path string) (*SessionAnalytics, error)
ParseSessionJSONL parses a Claude JSONL file and extracts analytics.
func (*SessionAnalytics) ContextPercent ¶
func (a *SessionAnalytics) ContextPercent(modelLimit int) float64
ContextPercent calculates context usage as percentage of model limit.