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
52 lines
1.7 KiB
TypeScript
52 lines
1.7 KiB
TypeScript
import type { ReactNode } from "react";
|
|
import type { AgentSessionEngine } from "@tutti-os/agent-activity-core";
|
|
import type { AgentGUIAgentDirectoryPort } from "../types.ts";
|
|
import { AgentGuiWorkbenchReactiveHeader } from "./AgentGuiWorkbenchReactiveHeader.tsx";
|
|
import type { AgentGuiWorkbenchRailLayoutStore } from "./agentGuiWorkbenchRailLayout.ts";
|
|
import { AgentGuiWorkbenchHeader } from "./header.ts";
|
|
import type { AgentGuiWorkbenchHeaderProps } from "./header.ts";
|
|
import type {
|
|
AgentGuiWorkbenchProvider,
|
|
AgentGuiWorkbenchState
|
|
} from "./types.ts";
|
|
|
|
interface AgentGuiWorkbenchRailAlignedHeaderProps extends AgentGuiWorkbenchHeaderProps {
|
|
agentDirectory: AgentGUIAgentDirectoryPort;
|
|
dockIconUrls?: Partial<Record<AgentGuiWorkbenchProvider, string>>;
|
|
railLayoutStore: AgentGuiWorkbenchRailLayoutStore;
|
|
sessionEngine?: AgentSessionEngine;
|
|
workbenchState: AgentGuiWorkbenchState | null;
|
|
}
|
|
|
|
export function AgentGuiWorkbenchRailAlignedHeader({
|
|
agentDirectory,
|
|
conversationRailWidthPx,
|
|
dockIconUrls,
|
|
nodeId,
|
|
providerRailWidthPx,
|
|
railLayoutStore,
|
|
sessionEngine,
|
|
workbenchState,
|
|
...headerProps
|
|
}: AgentGuiWorkbenchRailAlignedHeaderProps): ReactNode {
|
|
const liveHeaderProps = {
|
|
...headerProps,
|
|
conversationRailWidthPx,
|
|
nodeId,
|
|
onHeaderElementChange: railLayoutStore.getHeaderElementRef(nodeId),
|
|
providerRailWidthPx
|
|
} satisfies AgentGuiWorkbenchHeaderProps;
|
|
|
|
return sessionEngine ? (
|
|
<AgentGuiWorkbenchReactiveHeader
|
|
{...liveHeaderProps}
|
|
agentDirectory={agentDirectory}
|
|
dockIconUrls={dockIconUrls}
|
|
sessionEngine={sessionEngine}
|
|
workbenchState={workbenchState}
|
|
/>
|
|
) : (
|
|
<AgentGuiWorkbenchHeader {...liveHeaderProps} />
|
|
);
|
|
}
|