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
29 lines
898 B
TypeScript
29 lines
898 B
TypeScript
import {
|
|
agentComposerDraftFiles,
|
|
agentComposerDraftPrompt,
|
|
updateAgentComposerDraft
|
|
} from "./agentComposerDraft";
|
|
import type { AgentComposerDraft } from "./agentGuiNodeTypes";
|
|
import { agentComposerFileMentionReferences } from "../agentRichText/agentMentionMarkdown";
|
|
|
|
export function updateDraftPromptAndReconcileFiles(
|
|
draft: AgentComposerDraft,
|
|
prompt: string
|
|
): AgentComposerDraft {
|
|
const previousReferencedIds = new Set(
|
|
agentComposerFileMentionReferences(agentComposerDraftPrompt(draft)).map(
|
|
(reference) => reference.id
|
|
)
|
|
);
|
|
const nextReferencedIds = new Set(
|
|
agentComposerFileMentionReferences(prompt).map((reference) => reference.id)
|
|
);
|
|
return updateAgentComposerDraft(draft, {
|
|
prompt,
|
|
files: agentComposerDraftFiles(draft).filter(
|
|
(file) =>
|
|
!previousReferencedIds.has(file.id) || nextReferencedIds.has(file.id)
|
|
)
|
|
});
|
|
}
|