Documentation
¶
Index ¶
- func ClearUserInputState(sessionsDir, sessionID string) error
- func DetectGitBranch(cwd string) string
- func FindSessionPathByID(sessionsDir, sessionID string) string
- func FirstVisibleUserMessage(sessionsDir, sessionID string) (string, error)
- func SaveModeState(sessionsDir, sessionID string, mode Mode) error
- func SaveSessionMeta(sessionsDir, sessionID string, st SessionMeta) error
- func SaveTodoState(sessionsDir, sessionID string, st TodoState) error
- func SaveUserInputState(sessionsDir, sessionID string, st UserInputState) error
- func SessionConversationTitle(sessionsDir, sessionID string, meta SessionMeta) string
- type Mode
- type ModeState
- type SessionMeta
- type SessionMetaPatch
- type SessionSummary
- type TodoItem
- type TodoState
- type UserInputState
Constants ¶
This section is empty.
Variables ¶
This section is empty.
Functions ¶
func ClearUserInputState ¶
func DetectGitBranch ¶
func FindSessionPathByID ¶
func FirstVisibleUserMessage ¶ added in v0.1.4
func SaveModeState ¶
func SaveSessionMeta ¶
func SaveSessionMeta(sessionsDir, sessionID string, st SessionMeta) error
func SaveTodoState ¶
func SaveUserInputState ¶
func SaveUserInputState(sessionsDir, sessionID string, st UserInputState) error
func SessionConversationTitle ¶ added in v0.1.4
func SessionConversationTitle(sessionsDir, sessionID string, meta SessionMeta) string
Types ¶
type ModeState ¶
func LoadModeState ¶
type SessionMeta ¶
type SessionMeta struct {
Branch string `json:"branch,omitempty"`
Title string `json:"title,omitempty"`
Summary string `json:"summary,omitempty"`
TotalCostUSD float64 `json:"total_cost_usd,omitempty"`
TurnCount int `json:"turn_count,omitempty"`
Workspace string `json:"workspace,omitempty"`
WorktreeName string `json:"worktree_name,omitempty"`
WorktreePath string `json:"worktree_path,omitempty"`
WorktreeBranch string `json:"worktree_branch,omitempty"`
OriginalWorkspace string `json:"original_workspace,omitempty"`
OriginalBranch string `json:"original_branch,omitempty"`
OriginalHeadCommit string `json:"original_head_commit,omitempty"`
Kind string `json:"kind,omitempty"`
ParentSessionID string `json:"parent_session_id,omitempty"`
Role string `json:"role,omitempty"`
Model string `json:"model,omitempty"`
Task string `json:"task,omitempty"`
Status string `json:"status,omitempty"`
Error string `json:"error,omitempty"`
StartedAt time.Time `json:"started_at,omitempty"`
CompletedAt time.Time `json:"completed_at,omitempty"`
UpdatedAt time.Time `json:"updated_at"`
}
func LoadSessionMeta ¶
func LoadSessionMeta(sessionsDir, sessionID string) (SessionMeta, error)
func PatchSessionMeta ¶
func PatchSessionMeta(sessionsDir, sessionID string, patch SessionMetaPatch) (SessionMeta, error)
func UpdateSessionMeta ¶ added in v0.1.17
func UpdateSessionMeta(sessionsDir, sessionID string, mutate func(*SessionMeta)) (SessionMeta, error)
UpdateSessionMeta atomically loads, mutates, and saves session meta under a per-file lock so concurrent writers cannot lose each other's updates.
type SessionMetaPatch ¶ added in v0.1.19
type SessionMetaPatch struct {
Branch string
Title string
Summary string
TotalCostUSD *float64
TurnCount *int
Workspace string
WorktreeName string
WorktreePath string
WorktreeBranch string
OriginalWorkspace string
OriginalBranch string
OriginalHeadCommit string
Kind string
ParentSessionID string
Role string
Model string
Task string
Status string
Error string
StartedAt time.Time
CompletedAt time.Time
}
func SessionMetaPatchFromMeta ¶ added in v0.1.19
func SessionMetaPatchFromMeta(meta SessionMeta) SessionMetaPatch
type SessionSummary ¶
type SessionSummary struct {
ID string
ModTime time.Time
Size int64
Meta SessionMeta
Conversation string
}
func ListSessions ¶
func ListSessions(sessionsDir string, limit int) ([]SessionSummary, error)
type UserInputState ¶
type UserInputState struct {
Pending bool `json:"pending"`
ToolCallID string `json:"tool_call_id,omitempty"`
Questions []core.UserInputQuestion `json:"questions,omitempty"`
CreatedAt time.Time `json:"created_at,omitempty"`
UpdatedAt time.Time `json:"updated_at,omitempty"`
}
func LoadUserInputState ¶
func LoadUserInputState(sessionsDir, sessionID string) (UserInputState, error)
Click to show internal directories.
Click to hide internal directories.