Documentation
¶
Index ¶
- Constants
- func ApplyCompaction(sess *Session, body string, at time.Time)
- func ApplyTurnUsageDisplayToLastAssistant(s *Session, ctxTok, usrTok int64, ctxEst bool, ...)
- func ApplyTurnUsageDisplayToLastSubAssistant(s *SubSession, ctxTok, usrTok int64, ctxEst bool, ...)
- func ArchiveUncompactedState(sess *Session, at time.Time)
- func AssistantDisplayParts(m Message) (reasoning string, visibleContent string)
- func BackfillAssistantUsageFromTextIfEmpty(m *Message, prior []Message)
- func BackfillSessionAssistantUsage(msgs []Message)
- func ChatIDHex(title string, ts time.Time) string
- func ChatsDir(projectHex string) (string, error)
- func DeleteResearchJob(projectHex, slug string) error
- func EnsureResearchDir(projectHex string) (string, error)
- func FinishSessionLoad(s *Session) (repaired bool)
- func IsPlaceholderChatID(id string) bool
- func ListResearchJobFiles(projectHex string) ([]string, error)
- func MessageCheckpointTagVisible(m Message) bool
- func MessageWireWeight(m Message, includeReasoning bool, model string) int64
- func MigrateImagePathsAfterChatRename(projectHex string, s *Session, oldChatID, newChatID string) error
- func MigrateLegacyCheckpointsToBase0(s *Session)
- func NeutralizeLiteralImgPlaceholders(content string) string
- func NewPlaceholderChatID(t time.Time) string
- func NormalizeSummaryWhitespace(content string) string
- func PlansDir(projectHex string) (string, error)
- func ProjectWelcomeStats(projectHex string) (chatCount int, userSum, reasonSum, respSum int64, err error)
- func PruneUnreferencedSessionImages(s *Session)
- func ReadResearchJobFile(projectHex, slug string, dest any) error
- func RebuildProjectStats(projectHex string) error
- func ReconcileCheckpointLast(s *Session)
- func RemoveBrokenSessionImageFiles(s *Session) int
- func RemoveSessionPath(projectHex, chatID string) error
- func RenameSessionFile(projectHex, oldID, newID string) (err error)
- func RepairSessionMalformedImages(s *Session) (brokenDropped int, userMsgsAdjusted int, emptyRewrites int, imgNeutralized int)
- func ResearchDir(projectHex string) (string, error)
- func ResearchHTMLPath(projectHex, slug string) (string, error)
- func ResearchJobPath(projectHex, slug string) (string, error)
- func RewriteEmptyUserMsgsAfterImageRepair(s *Session) int
- func ScrubCompactSummaryContent(content string) string
- func ScrubLiteralImgPlaceholdersForAPI(content string) string
- func ScrubSummaryImgWorkflowLines(content string) string
- func SessionImgFragmentCount(s *Session) int
- func SessionLockPath(projectHex, chatID string) (string, error)
- func SessionPath(projectHex, chatIDHex string) (string, error)
- func SessionRepairChanged(brokenDropped, userMsgsAdjusted, emptyRewrites, imgNeutralized int) bool
- func SessionValidImageTokenCount(s *Session) int
- func StoredUsageLineForTurnRange(msgs []Message, start, end int) (contextTok, lastUserTok, reasoningTok, responseTok, totalTok int64, ...)
- func StripAllImgPlaceholderLiterals(content string) string
- func StripFalseImgPlaceholdersFromNonUserSession(s *Session) int
- func StripStaleUserImgPlaceholdersFromSession(s *Session) int
- func StripUnresolvedImgPlaceholders(content string, imageFiles map[int]string) string
- func SubSessionPath(projectHex, origin, id string) (string, error)
- func SubSessionRunning(status string) bool
- func SubchatID(parentChatID string, tc ToolCall, spawn time.Time) string
- func SubchatPath(projectHex, idHex string) (string, error)
- func SubchatsDir(projectHex string) (string, error)
- func TempDir(projectHex string) (string, error)
- func TouchProjectStatsAfterRemove(projectHex, chatID string) error
- func TouchProjectStatsAfterRename(projectHex, oldID, newID string) error
- func WriteActiveSubagents(f *ActiveSubagentsFile) error
- func WriteResearchJobFile(projectHex string, slug string, v any) error
- func WriteSession(projectHex string, s *Session) (err error)
- func WriteSubSession(projectHex string, s *SubSession) (err error)
- type ActiveSubagentEntry
- type ActiveSubagentsFile
- type BranchSegment
- type Message
- type PendingSubagentSpawn
- type QueuedTask
- type Session
- type SessionFileLock
- type SubSession
- type ToolCall
- type UncompactedDump
Constants ¶
View Source
const ( SubOriginParent = "parent" SubOriginScheduled = "scheduled" )
View Source
const ( SubStatusRunning = "running" SubStatusPaused = "paused" SubStatusDone = "done" SubStatusCancelled = "cancelled" SubStatusQueued = "queued" )
Variables ¶
This section is empty.
Functions ¶
func ApplyCompaction ¶ added in v2026.608.0
func ApplyTurnUsageDisplayToLastSubAssistant ¶ added in v2026.615.0
func ApplyTurnUsageDisplayToLastSubAssistant(s *SubSession, ctxTok, usrTok int64, ctxEst bool, reasonTok, respTok, totalTok int64, outputTPS, ttftSecs, promptTPS, turnWallSecs float64)
func ArchiveUncompactedState ¶ added in v2026.608.0
func AssistantDisplayParts ¶
func BackfillSessionAssistantUsage ¶
func BackfillSessionAssistantUsage(msgs []Message)
func DeleteResearchJob ¶ added in v2026.617.0
func EnsureResearchDir ¶ added in v2026.617.0
func FinishSessionLoad ¶
func IsPlaceholderChatID ¶
func ListResearchJobFiles ¶ added in v2026.617.0
func MessageWireWeight ¶ added in v2026.611.1
func MigrateLegacyCheckpointsToBase0 ¶
func MigrateLegacyCheckpointsToBase0(s *Session)
func NeutralizeLiteralImgPlaceholders ¶ added in v2026.602.2
func NewPlaceholderChatID ¶
func NormalizeSummaryWhitespace ¶ added in v2026.602.2
func ProjectWelcomeStats ¶
func PruneUnreferencedSessionImages ¶
func PruneUnreferencedSessionImages(s *Session)
func ReadResearchJobFile ¶ added in v2026.617.0
func RebuildProjectStats ¶
func ReconcileCheckpointLast ¶
func ReconcileCheckpointLast(s *Session)
func RemoveSessionPath ¶
func RenameSessionFile ¶
func ResearchDir ¶ added in v2026.617.0
func ResearchHTMLPath ¶ added in v2026.617.0
func ResearchJobPath ¶ added in v2026.617.0
func ScrubCompactSummaryContent ¶ added in v2026.602.2
func ScrubLiteralImgPlaceholdersForAPI ¶ added in v2026.602.2
func ScrubSummaryImgWorkflowLines ¶ added in v2026.602.2
func SessionImgFragmentCount ¶ added in v2026.602.2
func SessionLockPath ¶ added in v2026.708.0
func SessionPath ¶
func SessionRepairChanged ¶ added in v2026.602.2
func SessionValidImageTokenCount ¶ added in v2026.602.2
func StripAllImgPlaceholderLiterals ¶ added in v2026.602.2
func StripFalseImgPlaceholdersFromNonUserSession ¶ added in v2026.602.2
func SubSessionPath ¶ added in v2026.615.0
func SubSessionRunning ¶ added in v2026.615.0
func SubchatPath ¶
func SubchatsDir ¶
func WriteActiveSubagents ¶ added in v2026.615.0
func WriteActiveSubagents(f *ActiveSubagentsFile) error
func WriteResearchJobFile ¶ added in v2026.617.0
func WriteSession ¶
func WriteSubSession ¶ added in v2026.615.0
func WriteSubSession(projectHex string, s *SubSession) (err error)
Types ¶
type ActiveSubagentEntry ¶ added in v2026.615.0
type ActiveSubagentsFile ¶ added in v2026.615.0
type ActiveSubagentsFile struct {
Agents []ActiveSubagentEntry `json:"agents"`
}
func ReadActiveSubagents ¶ added in v2026.615.0
func ReadActiveSubagents() (*ActiveSubagentsFile, error)
type BranchSegment ¶ added in v2026.621.0
type Message ¶
type Message struct {
Role string `json:"role"`
Content string `json:"content"`
APIContent string `json:"api_content,omitempty"`
ToolCallID string `json:"tool_call_id,omitempty"`
ToolCalls []ToolCall `json:"tool_calls,omitempty"`
ReasoningText string `json:"reasoning_text,omitempty"`
CheckpointSeq int `json:"cp_seq,omitempty"`
CpSeqSet bool `json:"cp_set,omitempty"`
CheckpointBranchKey string `json:"cp_branch,omitempty"`
CommitOID string `json:"commit_oid,omitempty"`
UserPromptTokens int64 `json:"user_prompt_tokens"`
ReasoningTokens int64 `json:"reasoning_tokens"`
ResponseTokens int64 `json:"response_tokens"`
TurnTotalTokens int64 `json:"turn_total_tokens"`
PromptTokens int64 `json:"prompt_tokens,omitempty"`
CachedPromptTokens int64 `json:"cached_prompt_tokens,omitempty"`
OutputTPS float64 `json:"output_tps,omitempty"`
TTFTSecs float64 `json:"ttft_secs,omitempty"`
PromptTPS float64 `json:"prompt_tps,omitempty"`
TurnWallSecs float64 `json:"turn_wall_secs,omitempty"`
TurnDisplaySaved bool `json:"turn_display_saved,omitempty"`
TurnContextTokens int64 `json:"turn_context_tokens,omitempty"`
TurnContextEst bool `json:"turn_context_est,omitempty"`
TurnUserTokens int64 `json:"turn_user_tokens,omitempty"`
TurnReasonTokens int64 `json:"turn_reason_tokens,omitempty"`
TurnRespTokens int64 `json:"turn_resp_tokens,omitempty"`
TurnTotalDisplay int64 `json:"turn_total_display,omitempty"`
TurnOutputTPS float64 `json:"turn_output_tps,omitempty"`
TurnTTFTSecs float64 `json:"turn_ttft_secs,omitempty"`
TurnPromptTPS float64 `json:"turn_prompt_tps,omitempty"`
TurnWallDisplay float64 `json:"turn_wall_display_secs,omitempty"`
}
type PendingSubagentSpawn ¶ added in v2026.615.0
type PendingSubagentSpawn struct {
RequesterSubchatID string `json:"requester_subchat_id"`
RequesterOrigin string `json:"requester_origin"`
ParentChatID string `json:"parent_chat_id,omitempty"`
ProjectHex string `json:"project_hex,omitempty"`
SysPromptPath string `json:"sys_prompt_path"`
Task string `json:"task"`
Resume string `json:"resume,omitempty"`
RunInBackground bool `json:"run_in_background,omitempty"`
ReasoningEffort string `json:"reasoning_effort,omitempty"`
RoleProvider string `json:"role_provider,omitempty"`
RoleModel string `json:"role_model,omitempty"`
ToolCall ToolCall `json:"tool_call"`
SpawnISO string `json:"spawn_iso"`
NotifyNewChat bool `json:"notify_new_chat,omitempty"`
CreatedAt time.Time `json:"created_at"`
}
type QueuedTask ¶ added in v2026.615.0
type Session ¶
type Session struct {
ID string `json:"id"`
Title string `json:"title"`
CreatedAt time.Time `json:"created_at"`
LastMessageAt time.Time `json:"last_message_at"`
LastUserMessageAt time.Time `json:"last_user_message_at,omitempty"`
Messages []Message `json:"messages"`
CheckpointLast int `json:"checkpoint_last"`
CheckpointCP0 bool `json:"cp0,omitempty"`
CheckpointBranchSuffix string `json:"cp_branch_suffix,omitempty"`
ForkChildCount map[int]int `json:"fork_child_count,omitempty"`
Branches []BranchSegment `json:"branches,omitempty"`
LastCommitOID string `json:"last_commit_oid,omitempty"`
ImageSeq int `json:"image_seq,omitempty"`
ImageFiles map[int]string `json:"image_files,omitempty"`
ActivatedInstructionDirs []string `json:"activated_instruction_dirs,omitempty"`
UncompactedRaw []UncompactedDump `json:"uncompactedRaw,omitempty"`
PlanningActive bool `json:"planning_active,omitempty"`
ActivePlanName string `json:"active_plan_name,omitempty"`
PlanImplementing bool `json:"plan_implementing,omitempty"`
}
func FindByTitle ¶
func ReadSession ¶
func (*Session) UnmarshalJSON ¶ added in v2026.621.0
type SessionFileLock ¶ added in v2026.708.0
type SessionFileLock struct {
// contains filtered or unexported fields
}
func TryAcquireSessionFileLock ¶ added in v2026.708.0
func TryAcquireSessionFileLock(projectHex, chatID string) (*SessionFileLock, error)
func (*SessionFileLock) Release ¶ added in v2026.708.0
func (l *SessionFileLock) Release()
type SubSession ¶ added in v2026.615.0
type SubSession struct {
ID string `json:"id"`
Title string `json:"title"`
CreatedAt time.Time `json:"created_at"`
LastMessageAt time.Time `json:"last_message_at"`
Messages []Message `json:"messages"`
ImageSeq int `json:"image_seq,omitempty"`
ImageFiles map[int]string `json:"image_files,omitempty"`
ParentChatID string `json:"parent_chat_id,omitempty"`
ParentToolCallID string `json:"parent_tool_call_id,omitempty"`
ProjectHex string `json:"project_hex,omitempty"`
SysPromptPath string `json:"sys_prompt_path,omitempty"`
Origin string `json:"origin"`
ScheduledAt *time.Time `json:"scheduled_at,omitempty"`
PersistContext bool `json:"persist_context,omitempty"`
Status string `json:"status"`
TaskQueue []QueuedTask `json:"task_queue,omitempty"`
ReasoningEffort string `json:"reasoning_effort,omitempty"`
RoleProvider string `json:"role_provider,omitempty"`
RoleModel string `json:"role_model,omitempty"`
PendingSpawns []PendingSubagentSpawn `json:"pending_spawns,omitempty"`
}
func FindSubSessionByID ¶ added in v2026.615.0
func FindSubSessionByID(projectHex, id string) (*SubSession, error)
func ListSubSessions ¶ added in v2026.615.0
func ListSubSessions(projectHex string) ([]*SubSession, error)
func ReadSubSession ¶ added in v2026.615.0
func ReadSubSession(projectHex, origin, id string) (*SubSession, error)
type UncompactedDump ¶ added in v2026.608.0
type UncompactedDump struct {
CompactAt time.Time `json:"compact_at"`
Messages []Message `json:"messages"`
CheckpointLast int `json:"checkpoint_last"`
CheckpointCP0 bool `json:"cp0,omitempty"`
CheckpointBranchSuffix string `json:"cp_branch_suffix,omitempty"`
ForkChildCount map[int]int `json:"fork_child_count,omitempty"`
Branches []BranchSegment `json:"branches,omitempty"`
LastCommitOID string `json:"last_commit_oid,omitempty"`
}
func (*UncompactedDump) UnmarshalJSON ¶ added in v2026.621.0
func (d *UncompactedDump) UnmarshalJSON(data []byte) error
Click to show internal directories.
Click to hide internal directories.