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

102 lines
3.5 KiB
Go

package hostadapter
import (
agentruntime "github.com/tutti-os/tutti/packages/agent/daemon/runtime"
host "github.com/tutti-os/tutti/packages/agent/host"
)
func runtimeTuttiModeSnapshot(input *host.TuttiModeTurnSnapshot) *agentruntime.TuttiModeTurnSnapshot {
if input == nil {
return nil
}
legacyOrchestrationIntensity := input.OrchestrationIntensity //nolint:staticcheck // Compatibility bridge preserves version-zero snapshots.
return &agentruntime.TuttiModeTurnSnapshot{
ActivationID: input.ActivationID, RevisionID: input.RevisionID, Revision: input.Revision,
State: input.State, Source: input.Source,
PreferenceVersion: input.PreferenceVersion,
Effect: input.Effect,
Speed: input.Speed,
OrchestrationIntensity: legacyOrchestrationIntensity,
}
}
func runtimeSettings(settings host.ComposerSettings) *agentruntime.SessionSettings {
return &agentruntime.SessionSettings{
CodexSaverMode: settings.CodexSaverMode,
RTKSaverMode: settings.RTKSaverMode,
Model: settings.Model, ReasoningEffort: settings.ReasoningEffort, Speed: settings.Speed,
PlanMode: settings.PlanMode, BrowserUse: settings.BrowserUse, ComputerUse: settings.ComputerUse,
PermissionModeID: settings.PermissionModeID, ConversationDetailMode: settings.ConversationDetailMode,
}
}
func hostSettings(settings agentruntime.SessionSettings) host.ComposerSettings {
return host.ComposerSettings{
CodexSaverMode: settings.CodexSaverMode,
RTKSaverMode: settings.RTKSaverMode,
Model: settings.Model, ReasoningEffort: settings.ReasoningEffort, Speed: settings.Speed,
PlanMode: settings.PlanMode, BrowserUse: settings.BrowserUse, ComputerUse: settings.ComputerUse,
PermissionModeID: settings.PermissionModeID, ConversationDetailMode: settings.ConversationDetailMode,
}
}
func hostTurnLifecyclePointer(input *agentruntime.TurnLifecycle) *host.TurnLifecycle {
if input == nil {
return nil
}
value := hostTurnLifecycle(*input)
return &value
}
func hostTurnLifecycle(input agentruntime.TurnLifecycle) host.TurnLifecycle {
var completed *host.CompletedCommand
if input.CompletedCommand != nil {
completed = &host.CompletedCommand{Kind: input.CompletedCommand.Kind, Status: input.CompletedCommand.Status}
}
return host.TurnLifecycle{
ActiveTurnID: input.ActiveTurnID, Phase: input.Phase, Settling: input.Settling,
Outcome: input.Outcome, CompletedCommand: completed,
}
}
func runtimeTurnLifecyclePointer(input *host.TurnLifecycle) *agentruntime.TurnLifecycle {
if input == nil {
return nil
}
var completed *agentruntime.CompletedCommand
if input.CompletedCommand != nil {
completed = &agentruntime.CompletedCommand{
Kind: input.CompletedCommand.Kind, Status: input.CompletedCommand.Status,
}
}
return &agentruntime.TurnLifecycle{
ActiveTurnID: input.ActiveTurnID, Phase: input.Phase, Settling: input.Settling,
Outcome: input.Outcome, CompletedCommand: completed,
}
}
func hostSubmitAvailability(input *agentruntime.SubmitAvailability) *host.SubmitAvailability {
if input == nil {
return nil
}
return &host.SubmitAvailability{State: input.State, Reason: input.Reason}
}
func runtimeSubmitAvailability(input *host.SubmitAvailability) *agentruntime.SubmitAvailability {
if input == nil {
return nil
}
return &agentruntime.SubmitAvailability{State: input.State, Reason: input.Reason}
}
func cloneMap(input map[string]any) map[string]any {
if input == nil {
return nil
}
out := make(map[string]any, len(input))
for key, value := range input {
out[key] = value
}
return out
}