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
54 lines
2.0 KiB
Go
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
|
|
}
|