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
45 lines
1.4 KiB
TypeScript
45 lines
1.4 KiB
TypeScript
import type {
|
|
AgentComposerDraftConnector,
|
|
AgentComposerDraftContent,
|
|
AgentComposerDraftFile,
|
|
AgentComposerDraftImage,
|
|
AgentComposerDraftLargeText,
|
|
AgentComposerQuoteBlock
|
|
} from "./agentGuiNodeTypes";
|
|
import {
|
|
agentComposerDraftFiles,
|
|
agentComposerDraftImages,
|
|
agentComposerDraftLargeTexts
|
|
} from "./agentComposerDraft";
|
|
import { agentComposerDraftConnectors } from "./agentComposerDraftConnectors";
|
|
import { agentComposerDraftQuotes } from "./agentComposerDraftQuotes";
|
|
|
|
interface AgentComposerDraftAttachmentProjection {
|
|
images: AgentComposerDraftImage[];
|
|
files: AgentComposerDraftFile[];
|
|
largeTexts: AgentComposerDraftLargeText[];
|
|
quotes: AgentComposerQuoteBlock[];
|
|
connectors: AgentComposerDraftConnector[];
|
|
}
|
|
|
|
const projectionByDraft = new WeakMap<
|
|
AgentComposerDraftContent,
|
|
AgentComposerDraftAttachmentProjection
|
|
>();
|
|
|
|
export function agentComposerDraftAttachmentProjection(
|
|
draft: AgentComposerDraftContent
|
|
): AgentComposerDraftAttachmentProjection {
|
|
const cached = projectionByDraft.get(draft);
|
|
if (cached) return cached;
|
|
const projection = {
|
|
images: agentComposerDraftImages(draft),
|
|
files: agentComposerDraftFiles(draft),
|
|
largeTexts: agentComposerDraftLargeTexts(draft),
|
|
quotes: agentComposerDraftQuotes(draft),
|
|
connectors: agentComposerDraftConnectors(draft)
|
|
};
|
|
projectionByDraft.set(draft, projection);
|
|
return projection;
|
|
}
|