mirror of
https://github.com/x1xhlol/system-prompts-and-models-of-ai-tools.git
synced 2026-06-17 14:59:35 +00:00
122 lines
3.6 KiB
TypeScript
122 lines
3.6 KiB
TypeScript
export type UserUrl = string
|
|
export type TeamspaceUrl = string
|
|
export type PageUrl = string
|
|
export type Cursor = string
|
|
|
|
export type WorkspaceAnalyticsDaysFilter =
|
|
| "last_7_days"
|
|
| "last_28_days"
|
|
| "last_90_days"
|
|
| "last_365_days"
|
|
| "all_time"
|
|
|
|
export type WorkspaceActiveWindow = "last_7_days" | "last_28_days" | "last_90_days"
|
|
|
|
export type PageAudience =
|
|
| "private"
|
|
| "shared_internally"
|
|
| "shared_externally"
|
|
| "shared_to_web"
|
|
|
|
export type SortDirection = "asc" | "desc"
|
|
|
|
export type WorkspaceTopTeamspace = { teamspaceUrl: TeamspaceUrl; pageViews: number }
|
|
export type WorkspaceTopViewer = { userUrl: UserUrl; pageViews: number }
|
|
export type WorkspaceTopEditor = { userUrl: UserUrl; pageEdits: number }
|
|
|
|
export type UserEngagementAnalytics = {
|
|
daysFilter: WorkspaceAnalyticsDaysFilter
|
|
activeMembersCount: number
|
|
previousActiveMembersCount?: number
|
|
activeGuestsCount: number
|
|
previousActiveGuestsCount?: number
|
|
topTeamspaces: WorkspaceTopTeamspace[]
|
|
topViewers: WorkspaceTopViewer[]
|
|
topEditors: WorkspaceTopEditor[]
|
|
}
|
|
|
|
export type GetUserEngagementAnalytics = (args: {
|
|
daysFilter: WorkspaceAnalyticsDaysFilter
|
|
}) => Promise<UserEngagementAnalytics>
|
|
|
|
export type WorkspaceTopPage = { pageUrl: PageUrl; pageViews: number }
|
|
|
|
export type ContentEngagementAnalytics = {
|
|
daysFilter: WorkspaceAnalyticsDaysFilter
|
|
pageViews: number
|
|
uniquePageViews: number
|
|
pagesCreated: number
|
|
pageEdits: number
|
|
topPages: WorkspaceTopPage[]
|
|
}
|
|
|
|
export type GetContentEngagementAnalytics = (args: {
|
|
daysFilter: WorkspaceAnalyticsDaysFilter
|
|
}) => Promise<ContentEngagementAnalytics>
|
|
|
|
export type DailyActiveMembersPoint = { ds: string; activeMembers: number }
|
|
|
|
export type GetDailyUsersAnalytics = (args: {
|
|
activeWindow: WorkspaceActiveWindow
|
|
days?: number
|
|
}) => Promise<{ points: DailyActiveMembersPoint[] }>
|
|
|
|
export type WorkspaceUsersSortField = "last_active" | "page_views" | "page_edits"
|
|
export type WorkspaceUsersSort = { field: WorkspaceUsersSortField; direction: SortDirection }
|
|
export type MemberPermissionRole = "editor" | "read_and_write" | "membership_admin"
|
|
|
|
export type UsersAnalyticsRow = {
|
|
userUrl: UserUrl
|
|
userSpaceRole: MemberPermissionRole
|
|
lastActiveMs?: number
|
|
pageViews?: number
|
|
pageEdits: number
|
|
}
|
|
|
|
export type ListUsersAnalytics = (args: {
|
|
timeRange: WorkspaceAnalyticsDaysFilter
|
|
sort?: WorkspaceUsersSort
|
|
}) => Promise<{ users: UsersAnalyticsRow[] }>
|
|
|
|
export type WorkspaceContentSortField = "pageViews" | "uniquePageViews"
|
|
export type WorkspaceContentSort = { field: WorkspaceContentSortField; direction: SortDirection }
|
|
export type DateRange = { starting?: string; ending?: string }
|
|
|
|
export type ContentAnalyticsFilters = {
|
|
titleQuery?: string
|
|
createdBy?: UserUrl[]
|
|
createdTime?: DateRange
|
|
lastEditedTime?: DateRange
|
|
inTeamspaces?: TeamspaceUrl[]
|
|
}
|
|
|
|
export type ContentAnalyticsRow = {
|
|
pageUrl: PageUrl
|
|
pageViews: number
|
|
uniquePageViews: number
|
|
audience: PageAudience
|
|
}
|
|
|
|
export type ListContentAnalytics = (args: {
|
|
timeRange: WorkspaceAnalyticsDaysFilter
|
|
sort: WorkspaceContentSort
|
|
filters?: ContentAnalyticsFilters
|
|
cursor?: Cursor
|
|
}) => Promise<{ results: ContentAnalyticsRow[]; nextCursor?: Cursor }>
|
|
|
|
export type PageViewsTimeSeriesPoint = { ds: string; totalViews: number; uniqueViews: number }
|
|
|
|
export type GetPageAnalyticsTimeSeries = (args: {
|
|
pageUrl: PageUrl
|
|
days?: number
|
|
}) => Promise<{ points: PageViewsTimeSeriesPoint[] }>
|
|
|
|
export type PageVisitor = { userUrl: UserUrl; visitedAtMs: number; onTrustedDomain?: boolean }
|
|
|
|
export type GetPageVisitors = (args: {
|
|
pageUrl: PageUrl
|
|
sinceTimestampMs?: number
|
|
limit: number
|
|
includeTotalCount?: boolean
|
|
}) => Promise<{ visitors: PageVisitor[]; totalCount?: number; hasMore?: boolean }>
|