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
42 lines
1.2 KiB
TypeScript
42 lines
1.2 KiB
TypeScript
import {
|
|
agentComposerDraftHasContent,
|
|
emptyAgentComposerDraft,
|
|
snapshotAgentComposerDraft
|
|
} from "../model/agentComposerDraft";
|
|
import type { AgentComposerDraft } from "../model/agentGuiNodeTypes";
|
|
import { shouldClearSubmittedDraft } from "./agentGuiController.draftMessageHelpers";
|
|
|
|
export function clearSubmittedAgentGUIHomeDraft(input: {
|
|
draftKey: string;
|
|
drafts: Record<string, AgentComposerDraft>;
|
|
submittedDraft: AgentComposerDraft;
|
|
}): Record<string, AgentComposerDraft> {
|
|
if (
|
|
!shouldClearSubmittedDraft({
|
|
currentDraft: input.drafts[input.draftKey],
|
|
submittedDraft: input.submittedDraft
|
|
})
|
|
) {
|
|
return input.drafts;
|
|
}
|
|
return {
|
|
...input.drafts,
|
|
[input.draftKey]: emptyAgentComposerDraft()
|
|
};
|
|
}
|
|
|
|
export function restoreFailedAgentGUIHomeDraft(input: {
|
|
draftKey: string;
|
|
drafts: Record<string, AgentComposerDraft>;
|
|
submittedDraft: AgentComposerDraft;
|
|
}): Record<string, AgentComposerDraft> {
|
|
const currentDraft = input.drafts[input.draftKey];
|
|
if (currentDraft && agentComposerDraftHasContent(currentDraft)) {
|
|
return input.drafts;
|
|
}
|
|
return {
|
|
...input.drafts,
|
|
[input.draftKey]: snapshotAgentComposerDraft(input.submittedDraft)
|
|
};
|
|
}
|