Files
agent-radar 2ed3415fb7
Publish Claude Code Binaries / Stage and publish binaries (push) Canceled after 0s
Publish Tutti App Runtime / Build darwin-arm64 (push) Canceled after 0s
Publish Tutti App Runtime / Build darwin-amd64 (push) Canceled after 0s
Publish Tutti App Runtime / Build linux-amd64 (push) Canceled after 0s
Publish Tutti App Runtime / Build windows-amd64 (push) Canceled after 0s
Sync Tutti Agent Skills / sync (push) Canceled after 0s
Windows Agent Adapters / Test Windows agent adapters (push) Canceled after 0s
Windows Daemon Adapters / Test Windows daemon adapters (push) Canceled after 0s
Publish Tutti App Runtime / Publish runtime catalog (push) Canceled after 0s
源码快照 @ 2026-09-01 (source-only, 剔除非源码素材)
2026-09-01 20:17:27 +08:00

54 lines
2.0 KiB
Go

package storesqlite
import (
agentactivityprojection "github.com/tutti-os/tutti/packages/agent/store-sqlite/canonical"
)
func sessionStateReportApplied(input SessionStateReport, session agentactivityprojection.SessionSnapshot) bool {
if input.OccurredAtUnixMS > 0 &&
session.LastEventUnixMS > 0 &&
input.OccurredAtUnixMS < session.LastEventUnixMS {
return false
}
return true
}
func projectionSessionToDTO(session agentactivityprojection.SessionSnapshot) (Session, error) {
metadata, legacyCapabilities, internal, err := splitSessionRuntimeContext(session.RuntimeContext)
if err != nil {
return Session{}, err
}
capabilities := session.Capabilities
if capabilities == nil {
capabilities = legacyCapabilities
}
return Session{
ID: session.AgentSessionID,
WorkspaceID: session.WorkspaceID,
Kind: session.Kind,
RootAgentSessionID: session.RootAgentSessionID,
RootTurnID: session.RootTurnID,
ParentAgentSessionID: session.ParentAgentSessionID,
ParentTurnID: session.ParentTurnID,
ParentToolCallID: session.ParentToolCallID,
Origin: session.Origin,
UserID: session.UserID,
AgentTargetID: session.AgentTargetID,
Provider: session.Provider,
ProviderSessionID: session.ProviderSessionID,
Model: session.Model,
Settings: cloneJSONMap(session.Settings),
Capabilities: agentactivityprojection.CloneCapabilitySnapshot(capabilities),
Metadata: metadata,
InternalRuntimeContext: internal,
Cwd: session.CWD,
Title: session.Title,
MessageVersion: session.MessageVersion,
LastEventUnixMS: session.LastEventUnixMS,
StartedAtUnixMS: session.StartedAtUnixMS,
EndedAtUnixMS: session.EndedAtUnixMS,
CreatedAtUnixMS: session.CreatedAtUnixMS,
UpdatedAtUnixMS: session.UpdatedAtUnixMS,
}, nil
}