mirror of
https://github.com/paperclipai/paperclip.git
synced 2026-11-11 13:24:55 +01:00
Enrich attention feed and add snooze dismissals
Co-Authored-By: Paperclip <noreply@paperclip.ing>
This commit is contained in:
1 parent
8804ee9bba
commit
9dcdb3ce60
34 files changed
+1043
-78
No files matched your search
@@ -51,12 +51,17 @@ export {
|
||||
} from "./responsible-user-denial.js";
|
||||
export type {
|
||||
AttentionDecisionVerb,
|
||||
AttentionDetailImage,
|
||||
AttentionFeed,
|
||||
AttentionItem,
|
||||
AttentionItemDetail,
|
||||
AttentionItemDismissal,
|
||||
AttentionProjectRef,
|
||||
AttentionSeverity,
|
||||
AttentionSourceKind,
|
||||
AttentionSubject,
|
||||
AttentionSubjectKind,
|
||||
AttentionWorkspaceRef,
|
||||
} from "./types/attention.js";
|
||||
|
||||
export type {
|
||||
@@ -874,6 +879,7 @@ export type {
|
||||
SidebarBadges,
|
||||
SidebarOrderPreference,
|
||||
InboxDismissal,
|
||||
InboxDismissalKind,
|
||||
AccessUserProfile,
|
||||
CompanyMemberRecord,
|
||||
CompanyMembersResponse,
|
||||
|
||||
@@ -1,3 +1,5 @@
|
||||
import type { InboxDismissalKind } from "./inbox-dismissal.js";
|
||||
|
||||
export type AttentionSourceKind =
|
||||
| "approval"
|
||||
| "issue_thread_interaction"
|
||||
@@ -39,6 +41,107 @@ export interface AttentionDecisionVerb {
|
||||
description: string | null;
|
||||
}
|
||||
|
||||
export interface AttentionProjectRef {
|
||||
id: string;
|
||||
name: string;
|
||||
urlKey: string;
|
||||
}
|
||||
|
||||
export interface AttentionWorkspaceRef {
|
||||
id: string;
|
||||
name: string;
|
||||
}
|
||||
|
||||
export interface AttentionDetailImage {
|
||||
assetId: string;
|
||||
alt?: string | null;
|
||||
}
|
||||
|
||||
export interface AttentionItemDismissal {
|
||||
kind: InboxDismissalKind;
|
||||
dismissedAt: string;
|
||||
snoozedUntil: string | null;
|
||||
isActive: boolean;
|
||||
}
|
||||
|
||||
export type AttentionItemDetail =
|
||||
| {
|
||||
kind: "approval";
|
||||
approvalType: string;
|
||||
summaryExcerpt: string | null;
|
||||
images: AttentionDetailImage[];
|
||||
}
|
||||
| {
|
||||
kind: "plan_approval";
|
||||
issueTitle: string | null;
|
||||
planTitle: string | null;
|
||||
summaryExcerpt: string | null;
|
||||
images: AttentionDetailImage[];
|
||||
}
|
||||
| {
|
||||
kind: "confirmation";
|
||||
promptExcerpt: string | null;
|
||||
isPlanTarget: false;
|
||||
images: AttentionDetailImage[];
|
||||
}
|
||||
| {
|
||||
kind: "questions";
|
||||
questionCount: number;
|
||||
firstQuestionText: string | null;
|
||||
images: AttentionDetailImage[];
|
||||
}
|
||||
| {
|
||||
kind: "suggested_tasks";
|
||||
taskCount: number;
|
||||
firstTaskTitle: string | null;
|
||||
images: AttentionDetailImage[];
|
||||
}
|
||||
| {
|
||||
kind: "checkbox_confirmation";
|
||||
optionCount: number;
|
||||
promptExcerpt: string | null;
|
||||
images: AttentionDetailImage[];
|
||||
}
|
||||
| {
|
||||
kind: "item_verdicts";
|
||||
itemCount: number;
|
||||
promptExcerpt: string | null;
|
||||
images: AttentionDetailImage[];
|
||||
}
|
||||
| {
|
||||
kind: "failed_run";
|
||||
agentName: string | null;
|
||||
failureReasonExcerpt: string | null;
|
||||
images: AttentionDetailImage[];
|
||||
}
|
||||
| {
|
||||
kind: "blocker";
|
||||
blockingIssue: {
|
||||
id: string | null;
|
||||
identifier: string | null;
|
||||
title: string | null;
|
||||
} | null;
|
||||
images: AttentionDetailImage[];
|
||||
}
|
||||
| {
|
||||
kind: "budget";
|
||||
observedPercent: number;
|
||||
amountObserved: number;
|
||||
amountLimit: number;
|
||||
images: AttentionDetailImage[];
|
||||
}
|
||||
| {
|
||||
kind: "agent_error";
|
||||
agentName: string | null;
|
||||
failureReasonExcerpt: string | null;
|
||||
images: AttentionDetailImage[];
|
||||
}
|
||||
| {
|
||||
kind: "generic";
|
||||
summaryExcerpt: string | null;
|
||||
images: AttentionDetailImage[];
|
||||
};
|
||||
|
||||
export interface AttentionItem {
|
||||
id: string;
|
||||
companyId: string;
|
||||
@@ -51,12 +154,16 @@ export interface AttentionItem {
|
||||
exitRule: string;
|
||||
dedupKey: string;
|
||||
dismissalKey: string;
|
||||
dismissal: AttentionItemDismissal | null;
|
||||
severity: AttentionSeverity;
|
||||
rank: number;
|
||||
activityAt: string;
|
||||
createdAt: string;
|
||||
updatedAt: string;
|
||||
relatedIssue: AttentionSubject | null;
|
||||
project: AttentionProjectRef | null;
|
||||
workspace: AttentionWorkspaceRef | null;
|
||||
detail: AttentionItemDetail | null;
|
||||
}
|
||||
|
||||
export interface AttentionFeed {
|
||||
|
||||
@@ -1,9 +1,13 @@
|
||||
export type InboxDismissalKind = "dismiss" | "snooze";
|
||||
|
||||
export interface InboxDismissal {
|
||||
id: string;
|
||||
companyId: string;
|
||||
userId: string;
|
||||
itemKey: string;
|
||||
kind: InboxDismissalKind;
|
||||
dismissedAt: Date;
|
||||
snoozedUntil: Date | null;
|
||||
createdAt: Date;
|
||||
updatedAt: Date;
|
||||
}
|
||||
@@ -1,12 +1,17 @@
|
||||
export type { Company } from "./company.js";
|
||||
export type {
|
||||
AttentionDecisionVerb,
|
||||
AttentionDetailImage,
|
||||
AttentionFeed,
|
||||
AttentionItem,
|
||||
AttentionItemDetail,
|
||||
AttentionItemDismissal,
|
||||
AttentionProjectRef,
|
||||
AttentionSeverity,
|
||||
AttentionSourceKind,
|
||||
AttentionSubject,
|
||||
AttentionSubjectKind,
|
||||
AttentionWorkspaceRef,
|
||||
} from "./attention.js";
|
||||
export type {
|
||||
Environment,
|
||||
@@ -573,7 +578,7 @@ export type {
|
||||
UpdateResourceMembership,
|
||||
} from "./resource-memberships.js";
|
||||
export { RESOURCE_MEMBERSHIP_STATES } from "./resource-memberships.js";
|
||||
export type { InboxDismissal } from "./inbox-dismissal.js";
|
||||
export type { InboxDismissal, InboxDismissalKind } from "./inbox-dismissal.js";
|
||||
export type {
|
||||
AccessUserProfile,
|
||||
CompanyMemberRecord,
|
||||
|
||||
Reference in new issue
Block a user