Persist issue thread interactions and board actions

This commit is contained in:
Dotta committed 2026-04-21 17:31:48 -05:00
1 parent 98dab55fe0
commit b23ac4fd79
22 files changed
+2305 -118

No files matched your search

+17
View File
@@ -1,4 +1,5 @@
import type {
AskUserQuestionsAnswer,
Approval,
DocumentRevision,
FeedbackTargetType,
@@ -9,7 +10,9 @@ import type {
IssueComment,
IssueDocument,
IssueLabel,
IssueThreadInteraction,
IssueWorkProduct,
SuggestTasksInteraction,
UpsertIssueDocument,
} from "@paperclipai/shared";
import { api } from "./client";
@@ -99,6 +102,20 @@ export const issuesApi = {
const qs = params.toString();
return api.get<IssueComment[]>(`/issues/${id}/comments${qs ? `?${qs}` : ""}`);
},
listInteractions: (id: string) =>
api.get<IssueThreadInteraction[]>(`/issues/${id}/interactions`),
createInteraction: (id: string, data: Record<string, unknown>) =>
api.post<IssueThreadInteraction>(`/issues/${id}/interactions`, data),
acceptInteraction: (id: string, interactionId: string) =>
api.post<SuggestTasksInteraction>(`/issues/${id}/interactions/${interactionId}/accept`, {}),
rejectInteraction: (id: string, interactionId: string, reason?: string) =>
api.post<SuggestTasksInteraction>(`/issues/${id}/interactions/${interactionId}/reject`, reason ? { reason } : {}),
respondToInteraction: (
id: string,
interactionId: string,
data: { answers: AskUserQuestionsAnswer[]; summaryMarkdown?: string | null },
) =>
api.post<IssueThreadInteraction>(`/issues/${id}/interactions/${interactionId}/respond`, data),
getComment: (id: string, commentId: string) =>
api.get<IssueComment>(`/issues/${id}/comments/${commentId}`),
listFeedbackVotes: (id: string) => api.get<FeedbackVote[]>(`/issues/${id}/feedback-votes`),