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
34 lines
1.3 KiB
TypeScript
34 lines
1.3 KiB
TypeScript
import type { AgentActivityEphemeralConversationProjection } from "@tutti-os/agent-activity-core";
|
|
import type { AgentSideConversationState } from "./agentSideConversationRuntime";
|
|
import type { AgentConversationVM } from "./shared/agentConversation/contracts/agentConversationVM";
|
|
import { projectAgentActivitySessionToConversationVM } from "./shared/agentConversation/projection/workspaceAgentMessageProjection";
|
|
|
|
export interface AgentSideConversationViewState extends AgentSideConversationState {
|
|
conversation: AgentConversationVM | null;
|
|
}
|
|
|
|
export function projectAgentSideConversationVM(
|
|
projection: AgentActivityEphemeralConversationProjection
|
|
): AgentConversationVM | null {
|
|
const session = projection.activitySnapshot.sessions[0];
|
|
return session
|
|
? projectAgentActivitySessionToConversationVM({
|
|
activitySnapshot: projection.activitySnapshot,
|
|
agentSessionId: session.agentSessionId,
|
|
sessionTurns: projection.sessionTurns,
|
|
workspaceRoot: session.cwd || null
|
|
})
|
|
: null;
|
|
}
|
|
|
|
export function projectAgentSideConversationViewState(
|
|
state: AgentSideConversationState | null
|
|
): AgentSideConversationViewState | null {
|
|
return state
|
|
? {
|
|
...state,
|
|
conversation: projectAgentSideConversationVM(state.projection)
|
|
}
|
|
: null;
|
|
}
|