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
41 lines
1.0 KiB
TypeScript
41 lines
1.0 KiB
TypeScript
import type { JSX } from "react";
|
|
import {
|
|
ToolMarkdownBlock,
|
|
type AgentToolRendererProps
|
|
} from "./agentToolContentShared";
|
|
import { getPlanModeRenderData } from "./render-data/agentToolRenderData";
|
|
import { AgentPlanCard } from "../AgentPlanCard";
|
|
|
|
export function AgentPlanModeContent({
|
|
call,
|
|
onLinkClick
|
|
}: AgentToolRendererProps): JSX.Element | null {
|
|
"use memo";
|
|
const planMode = getPlanModeRenderData(call);
|
|
if (call.rendererKind === "plan-enter") {
|
|
if (!planMode.enterText) {
|
|
return null;
|
|
}
|
|
return (
|
|
<div className="rounded-[8px] bg-[var(--transparency-block)] px-3 py-2 text-[11px] text-[var(--text-secondary)]">
|
|
<ToolMarkdownBlock
|
|
content={planMode.enterText}
|
|
onLinkClick={onLinkClick}
|
|
/>
|
|
</div>
|
|
);
|
|
}
|
|
|
|
if (!planMode.plan) {
|
|
return null;
|
|
}
|
|
return (
|
|
<AgentPlanCard
|
|
title={planMode.fileName ?? undefined}
|
|
copyText={planMode.plan}
|
|
>
|
|
<ToolMarkdownBlock content={planMode.plan} onLinkClick={onLinkClick} />
|
|
</AgentPlanCard>
|
|
);
|
|
}
|