sunsama-api 0.1.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/LICENSE +21 -0
- package/README.md +215 -0
- package/dist/cjs/client/index.js +347 -0
- package/dist/cjs/client/index.js.map +1 -0
- package/dist/cjs/errors/index.js +110 -0
- package/dist/cjs/errors/index.js.map +1 -0
- package/dist/cjs/index.js +21 -0
- package/dist/cjs/index.js.map +1 -0
- package/dist/cjs/queries/fragments/index.js +9 -0
- package/dist/cjs/queries/fragments/index.js.map +1 -0
- package/dist/cjs/queries/fragments/stream.js +74 -0
- package/dist/cjs/queries/fragments/stream.js.map +1 -0
- package/dist/cjs/queries/fragments/task.js +500 -0
- package/dist/cjs/queries/fragments/task.js.map +1 -0
- package/dist/cjs/queries/index.js +11 -0
- package/dist/cjs/queries/index.js.map +1 -0
- package/dist/cjs/queries/streams.js +19 -0
- package/dist/cjs/queries/streams.js.map +1 -0
- package/dist/cjs/queries/tasks.js +41 -0
- package/dist/cjs/queries/tasks.js.map +1 -0
- package/dist/cjs/queries/user.js +472 -0
- package/dist/cjs/queries/user.js.map +1 -0
- package/dist/cjs/types/api.js +9 -0
- package/dist/cjs/types/api.js.map +1 -0
- package/dist/cjs/types/client.js +6 -0
- package/dist/cjs/types/client.js.map +1 -0
- package/dist/cjs/types/common.js +6 -0
- package/dist/cjs/types/common.js.map +1 -0
- package/dist/cjs/types/index.js +8 -0
- package/dist/cjs/types/index.js.map +1 -0
- package/dist/cjs/utils/index.js +63 -0
- package/dist/cjs/utils/index.js.map +1 -0
- package/dist/esm/client/index.js +348 -0
- package/dist/esm/client/index.js.map +1 -0
- package/dist/esm/errors/index.js +105 -0
- package/dist/esm/errors/index.js.map +1 -0
- package/dist/esm/index.js +16 -0
- package/dist/esm/index.js.map +1 -0
- package/dist/esm/queries/fragments/index.js +6 -0
- package/dist/esm/queries/fragments/index.js.map +1 -0
- package/dist/esm/queries/fragments/stream.js +71 -0
- package/dist/esm/queries/fragments/stream.js.map +1 -0
- package/dist/esm/queries/fragments/task.js +497 -0
- package/dist/esm/queries/fragments/task.js.map +1 -0
- package/dist/esm/queries/index.js +8 -0
- package/dist/esm/queries/index.js.map +1 -0
- package/dist/esm/queries/streams.js +16 -0
- package/dist/esm/queries/streams.js.map +1 -0
- package/dist/esm/queries/tasks.js +38 -0
- package/dist/esm/queries/tasks.js.map +1 -0
- package/dist/esm/queries/user.js +469 -0
- package/dist/esm/queries/user.js.map +1 -0
- package/dist/esm/types/api.js +8 -0
- package/dist/esm/types/api.js.map +1 -0
- package/dist/esm/types/client.js +5 -0
- package/dist/esm/types/client.js.map +1 -0
- package/dist/esm/types/common.js +5 -0
- package/dist/esm/types/common.js.map +1 -0
- package/dist/esm/types/index.js +7 -0
- package/dist/esm/types/index.js.map +1 -0
- package/dist/esm/utils/index.js +57 -0
- package/dist/esm/utils/index.js.map +1 -0
- package/dist/types/client/index.d.ts +109 -0
- package/dist/types/client/index.d.ts.map +1 -0
- package/dist/types/errors/index.d.ts +67 -0
- package/dist/types/errors/index.d.ts.map +1 -0
- package/dist/types/index.d.ts +14 -0
- package/dist/types/index.d.ts.map +1 -0
- package/dist/types/queries/fragments/index.d.ts +6 -0
- package/dist/types/queries/fragments/index.d.ts.map +1 -0
- package/dist/types/queries/fragments/stream.d.ts +5 -0
- package/dist/types/queries/fragments/stream.d.ts.map +1 -0
- package/dist/types/queries/fragments/task.d.ts +8 -0
- package/dist/types/queries/fragments/task.d.ts.map +1 -0
- package/dist/types/queries/index.d.ts +8 -0
- package/dist/types/queries/index.d.ts.map +1 -0
- package/dist/types/queries/streams.d.ts +5 -0
- package/dist/types/queries/streams.d.ts.map +1 -0
- package/dist/types/queries/tasks.d.ts +6 -0
- package/dist/types/queries/tasks.d.ts.map +1 -0
- package/dist/types/queries/user.d.ts +5 -0
- package/dist/types/queries/user.d.ts.map +1 -0
- package/dist/types/types/api.d.ts +838 -0
- package/dist/types/types/api.d.ts.map +1 -0
- package/dist/types/types/client.d.ts +30 -0
- package/dist/types/types/client.d.ts.map +1 -0
- package/dist/types/types/common.d.ts +58 -0
- package/dist/types/types/common.d.ts.map +1 -0
- package/dist/types/types/index.d.ts +9 -0
- package/dist/types/types/index.d.ts.map +1 -0
- package/dist/types/utils/index.d.ts +35 -0
- package/dist/types/utils/index.d.ts.map +1 -0
- package/package.json +90 -0
|
@@ -0,0 +1,838 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* API response and data types
|
|
3
|
+
*
|
|
4
|
+
* These types represent the structure of data returned by the Sunsama API.
|
|
5
|
+
* They will be populated based on the actual API documentation.
|
|
6
|
+
*/
|
|
7
|
+
import type { DocumentNode } from 'graphql';
|
|
8
|
+
/**
|
|
9
|
+
* Base API response structure
|
|
10
|
+
*/
|
|
11
|
+
export interface ApiResponse<T = unknown> {
|
|
12
|
+
/** Response data */
|
|
13
|
+
data: T;
|
|
14
|
+
/** Response metadata */
|
|
15
|
+
meta?: {
|
|
16
|
+
/** Total number of items (for paginated responses) */
|
|
17
|
+
total?: number;
|
|
18
|
+
/** Current page (for paginated responses) */
|
|
19
|
+
page?: number;
|
|
20
|
+
/** Items per page (for paginated responses) */
|
|
21
|
+
limit?: number;
|
|
22
|
+
};
|
|
23
|
+
}
|
|
24
|
+
/**
|
|
25
|
+
* Error response structure
|
|
26
|
+
*/
|
|
27
|
+
export interface ApiErrorResponse {
|
|
28
|
+
/** Error message */
|
|
29
|
+
message: string;
|
|
30
|
+
/** Error code */
|
|
31
|
+
code?: string;
|
|
32
|
+
/** Additional error details */
|
|
33
|
+
details?: Record<string, unknown>;
|
|
34
|
+
}
|
|
35
|
+
/**
|
|
36
|
+
* Pagination parameters
|
|
37
|
+
*/
|
|
38
|
+
export interface PaginationParams {
|
|
39
|
+
/** Page number (1-based) */
|
|
40
|
+
page?: number;
|
|
41
|
+
/** Number of items per page */
|
|
42
|
+
limit?: number;
|
|
43
|
+
/** Sort field */
|
|
44
|
+
sort?: string;
|
|
45
|
+
/** Sort order */
|
|
46
|
+
order?: 'asc' | 'desc';
|
|
47
|
+
}
|
|
48
|
+
/**
|
|
49
|
+
* Common date range filter
|
|
50
|
+
*/
|
|
51
|
+
export interface DateRangeFilter {
|
|
52
|
+
/** Start date (ISO string) */
|
|
53
|
+
start?: string;
|
|
54
|
+
/** End date (ISO string) */
|
|
55
|
+
end?: string;
|
|
56
|
+
}
|
|
57
|
+
/**
|
|
58
|
+
* GraphQL response structure
|
|
59
|
+
*/
|
|
60
|
+
export interface GraphQLResponse<T = unknown> {
|
|
61
|
+
data?: T;
|
|
62
|
+
errors?: Array<{
|
|
63
|
+
message: string;
|
|
64
|
+
locations?: Array<{
|
|
65
|
+
line: number;
|
|
66
|
+
column: number;
|
|
67
|
+
}>;
|
|
68
|
+
path?: Array<string | number>;
|
|
69
|
+
}>;
|
|
70
|
+
}
|
|
71
|
+
/**
|
|
72
|
+
* GraphQL request structure
|
|
73
|
+
*/
|
|
74
|
+
export interface GraphQLRequest<TVariables = Record<string, unknown>> {
|
|
75
|
+
operationName: string;
|
|
76
|
+
variables: TVariables;
|
|
77
|
+
query: string | DocumentNode;
|
|
78
|
+
}
|
|
79
|
+
/**
|
|
80
|
+
* Calendar item structures
|
|
81
|
+
*/
|
|
82
|
+
export interface CalendarItemGoogle {
|
|
83
|
+
summary?: string;
|
|
84
|
+
summaryOverride?: string;
|
|
85
|
+
timeZone?: string;
|
|
86
|
+
selected?: boolean;
|
|
87
|
+
accessRole?: string;
|
|
88
|
+
accountId?: string;
|
|
89
|
+
__typename: 'CalendarItemGoogle';
|
|
90
|
+
}
|
|
91
|
+
export interface CalendarItemMicrosoftOwner {
|
|
92
|
+
address?: string;
|
|
93
|
+
name?: string;
|
|
94
|
+
__typename: 'CalendarItemMicrosoftOwner';
|
|
95
|
+
}
|
|
96
|
+
export interface CalendarItemMicrosoft {
|
|
97
|
+
id?: string;
|
|
98
|
+
name?: string;
|
|
99
|
+
color?: string;
|
|
100
|
+
hexColor?: string;
|
|
101
|
+
isDefaultCalendar?: boolean;
|
|
102
|
+
canShare?: boolean;
|
|
103
|
+
canViewPrivateItems?: boolean;
|
|
104
|
+
canEdit?: boolean;
|
|
105
|
+
isRemovable?: boolean;
|
|
106
|
+
allowedOnlineMeetingProviders?: string[];
|
|
107
|
+
defaultOnlineMeetingProvider?: string;
|
|
108
|
+
isTallyingResponse?: boolean;
|
|
109
|
+
owner?: CalendarItemMicrosoftOwner;
|
|
110
|
+
primary?: boolean;
|
|
111
|
+
accountId?: string;
|
|
112
|
+
__typename: 'CalendarItemMicrosoft';
|
|
113
|
+
}
|
|
114
|
+
export interface CalendarItem {
|
|
115
|
+
id: string;
|
|
116
|
+
accountId?: string;
|
|
117
|
+
google?: CalendarItemGoogle;
|
|
118
|
+
microsoft?: CalendarItemMicrosoft;
|
|
119
|
+
__typename: 'CalendarItem';
|
|
120
|
+
}
|
|
121
|
+
export interface Calendar {
|
|
122
|
+
items: CalendarItem[];
|
|
123
|
+
__typename: 'Calendar';
|
|
124
|
+
}
|
|
125
|
+
/**
|
|
126
|
+
* Services structures
|
|
127
|
+
*/
|
|
128
|
+
export interface ServiceGoogle {
|
|
129
|
+
scope?: string;
|
|
130
|
+
id?: string;
|
|
131
|
+
email?: string;
|
|
132
|
+
name?: string;
|
|
133
|
+
picture?: string;
|
|
134
|
+
locale?: string;
|
|
135
|
+
__typename: 'ServiceGoogle';
|
|
136
|
+
}
|
|
137
|
+
export interface ServiceMicrosoft {
|
|
138
|
+
scope?: string;
|
|
139
|
+
id?: string;
|
|
140
|
+
email?: string;
|
|
141
|
+
name?: string;
|
|
142
|
+
isPersonalAccount?: boolean;
|
|
143
|
+
__typename: 'ServiceMicrosoft';
|
|
144
|
+
}
|
|
145
|
+
export interface ServicePhoneNumber {
|
|
146
|
+
number?: string;
|
|
147
|
+
verified?: boolean;
|
|
148
|
+
otpExpiresAt?: string;
|
|
149
|
+
__typename: 'ServicePhoneNumber';
|
|
150
|
+
}
|
|
151
|
+
export interface Services {
|
|
152
|
+
google?: ServiceGoogle;
|
|
153
|
+
microsoft?: ServiceMicrosoft;
|
|
154
|
+
phoneNumber?: ServicePhoneNumber;
|
|
155
|
+
ssoEnforced?: boolean;
|
|
156
|
+
__typename: 'Services';
|
|
157
|
+
}
|
|
158
|
+
/**
|
|
159
|
+
* User preferences structures
|
|
160
|
+
*/
|
|
161
|
+
export interface TimeSlot {
|
|
162
|
+
hour: number;
|
|
163
|
+
minute: number;
|
|
164
|
+
__typename: 'TimeSlot';
|
|
165
|
+
}
|
|
166
|
+
export interface SchedulingHours {
|
|
167
|
+
start: TimeSlot;
|
|
168
|
+
end: TimeSlot;
|
|
169
|
+
__typename: 'SchedulingHours';
|
|
170
|
+
}
|
|
171
|
+
export interface CustomKeyboardShortcut {
|
|
172
|
+
id: string;
|
|
173
|
+
disabled?: boolean;
|
|
174
|
+
global?: boolean;
|
|
175
|
+
key?: string;
|
|
176
|
+
metaKey?: boolean;
|
|
177
|
+
ctrlKey?: boolean;
|
|
178
|
+
shiftKey?: boolean;
|
|
179
|
+
__typename: 'CustomKeyboardShortcut';
|
|
180
|
+
}
|
|
181
|
+
export interface UserPreferences {
|
|
182
|
+
clockStyle?: string;
|
|
183
|
+
defaultCalendarView?: string;
|
|
184
|
+
defaultHomeView?: string;
|
|
185
|
+
defaultMainPanel?: string;
|
|
186
|
+
defaultMobileCalendarView?: string;
|
|
187
|
+
defaultHideTasks?: boolean;
|
|
188
|
+
hideTeamEvtCopies?: boolean;
|
|
189
|
+
hideMessenger?: boolean;
|
|
190
|
+
disableSpellcheck?: boolean;
|
|
191
|
+
channelRecommendations?: boolean;
|
|
192
|
+
plannedTimeRecommendations?: boolean;
|
|
193
|
+
subtaskPlannedTimeRecommendations?: boolean;
|
|
194
|
+
startDayOfWeekOffset?: number;
|
|
195
|
+
workingSessionTransparency?: string;
|
|
196
|
+
workingSessionVisibility?: string;
|
|
197
|
+
workingSessionDuration?: number;
|
|
198
|
+
promptToUpdateStatus?: boolean;
|
|
199
|
+
darkMode?: boolean;
|
|
200
|
+
keyboardShortcuts?: boolean;
|
|
201
|
+
customKeyboardShortcuts?: CustomKeyboardShortcut[];
|
|
202
|
+
autoArchiveThreshold?: number;
|
|
203
|
+
showDeclinedEvents?: boolean;
|
|
204
|
+
usePlannedTimeAsActualTime?: boolean;
|
|
205
|
+
rollToTop?: boolean;
|
|
206
|
+
includeWeekendInReflection?: boolean;
|
|
207
|
+
planningAutoRollover?: boolean;
|
|
208
|
+
autoFocus?: boolean;
|
|
209
|
+
focusBarDisabledTriggers?: string[];
|
|
210
|
+
workloadThreshold?: number;
|
|
211
|
+
importEventFilters?: string[];
|
|
212
|
+
autoImportEvents?: boolean;
|
|
213
|
+
importEventCompletionSync?: boolean;
|
|
214
|
+
workingSessionCalendarReminder?: boolean;
|
|
215
|
+
workingSessionBuffer?: number;
|
|
216
|
+
focusModeNextUpReminder?: boolean;
|
|
217
|
+
autoRescheduleWorkingSessionConflicts?: boolean;
|
|
218
|
+
autoRescheduleWorkingSessionCompletions?: boolean;
|
|
219
|
+
schedulingHours?: SchedulingHours;
|
|
220
|
+
defaultEmailClient?: string;
|
|
221
|
+
timerNotificationsEnabled?: boolean;
|
|
222
|
+
timerNotificationsSoundId?: string;
|
|
223
|
+
timerPomodoroNotificationsSoundId?: string;
|
|
224
|
+
timerNotificationsVolume?: number;
|
|
225
|
+
timerNotificationsTimeRemainingTriggers?: number[];
|
|
226
|
+
endOfDayMessageId?: string;
|
|
227
|
+
endOfDayCustomMessage?: string;
|
|
228
|
+
autoBreak?: boolean;
|
|
229
|
+
defaultTargetFocusDuration?: number;
|
|
230
|
+
defaultTargetBreakDuration?: number;
|
|
231
|
+
defaultFocusTimerView?: string;
|
|
232
|
+
completedTaskCalendarPinStyle?: string;
|
|
233
|
+
hideCompletedTasks?: boolean;
|
|
234
|
+
insertTaskPosition?: string;
|
|
235
|
+
chatToolFocusSyncTrigger?: string;
|
|
236
|
+
chatToolFocusSyncUpdateStatus?: boolean;
|
|
237
|
+
chatToolFocusSyncUpdateDnd?: boolean;
|
|
238
|
+
chatToolFocusSyncPrivacy?: string;
|
|
239
|
+
chatToolFocusSyncStatusEmoji?: string;
|
|
240
|
+
navigationPanelStyle?: string;
|
|
241
|
+
preferredAILanguage?: string;
|
|
242
|
+
preferredLanguage?: string;
|
|
243
|
+
visualizeTaskProjectedTimeOnCalendar?: boolean;
|
|
244
|
+
visualizeTaskActualTimeOnCalendar?: boolean;
|
|
245
|
+
__typename: 'UserPreferences';
|
|
246
|
+
}
|
|
247
|
+
/**
|
|
248
|
+
* Notification settings
|
|
249
|
+
*/
|
|
250
|
+
export interface NotificationSetting {
|
|
251
|
+
subscribed: boolean;
|
|
252
|
+
channels: string[];
|
|
253
|
+
__typename: string;
|
|
254
|
+
}
|
|
255
|
+
export interface NotifySettings {
|
|
256
|
+
inviteeResponse?: NotificationSetting;
|
|
257
|
+
invitedToEvent?: NotificationSetting;
|
|
258
|
+
eventUpdated?: NotificationSetting;
|
|
259
|
+
eventCancelled?: NotificationSetting;
|
|
260
|
+
newComments?: NotificationSetting;
|
|
261
|
+
shareTasks?: NotificationSetting;
|
|
262
|
+
taskComment?: NotificationSetting;
|
|
263
|
+
taskStream?: NotificationSetting;
|
|
264
|
+
taskAssignee?: NotificationSetting;
|
|
265
|
+
taskCompletion?: NotificationSetting;
|
|
266
|
+
taskSchedule?: NotificationSetting;
|
|
267
|
+
taskCreation?: NotificationSetting;
|
|
268
|
+
eventReminders?: NotificationSetting;
|
|
269
|
+
dossier?: NotificationSetting;
|
|
270
|
+
planYourDay?: NotificationSetting;
|
|
271
|
+
weeklyStats?: NotificationSetting;
|
|
272
|
+
weekReview?: NotificationSetting;
|
|
273
|
+
systemUpdates?: NotificationSetting;
|
|
274
|
+
dailyWrapSeen?: NotificationSetting;
|
|
275
|
+
dailyWrapReply?: NotificationSetting;
|
|
276
|
+
__typename: 'NotifySettings';
|
|
277
|
+
}
|
|
278
|
+
/**
|
|
279
|
+
* App status structures
|
|
280
|
+
*/
|
|
281
|
+
export interface AppStatus {
|
|
282
|
+
status?: string;
|
|
283
|
+
deferralDate?: string;
|
|
284
|
+
__typename: string;
|
|
285
|
+
}
|
|
286
|
+
export interface DesktopApp {
|
|
287
|
+
darwin?: AppStatus;
|
|
288
|
+
win32?: AppStatus;
|
|
289
|
+
linux?: AppStatus;
|
|
290
|
+
__typename: 'DesktopApp';
|
|
291
|
+
}
|
|
292
|
+
export interface MobileApp {
|
|
293
|
+
status?: string;
|
|
294
|
+
os?: string;
|
|
295
|
+
lastModified?: string;
|
|
296
|
+
__typename: 'MobileApp';
|
|
297
|
+
}
|
|
298
|
+
/**
|
|
299
|
+
* Planning and scheduling structures
|
|
300
|
+
*/
|
|
301
|
+
export interface DayBoundary {
|
|
302
|
+
hour: number;
|
|
303
|
+
minute: number;
|
|
304
|
+
disabled?: boolean;
|
|
305
|
+
__typename: string;
|
|
306
|
+
}
|
|
307
|
+
export interface WeeklySchedule {
|
|
308
|
+
hour: number;
|
|
309
|
+
minute: number;
|
|
310
|
+
isoWeekday: number;
|
|
311
|
+
lastWeekPlanned?: string;
|
|
312
|
+
weeksPlanned?: number;
|
|
313
|
+
disabled?: boolean;
|
|
314
|
+
__typename: string;
|
|
315
|
+
}
|
|
316
|
+
export interface DailyPlanning {
|
|
317
|
+
snoozedUntilDate?: string;
|
|
318
|
+
lastDayPlanned?: string;
|
|
319
|
+
disabledSteps?: string[];
|
|
320
|
+
importEventsWithoutInvitees?: boolean;
|
|
321
|
+
__typename: 'DailyPlanning';
|
|
322
|
+
}
|
|
323
|
+
export interface DailyShutdown {
|
|
324
|
+
snoozedUntilDate?: string;
|
|
325
|
+
lastDayShutdown?: string;
|
|
326
|
+
__typename: 'DailyShutdown';
|
|
327
|
+
}
|
|
328
|
+
/**
|
|
329
|
+
* Other user data structures
|
|
330
|
+
*/
|
|
331
|
+
export interface PrimaryGroup {
|
|
332
|
+
groupId: string;
|
|
333
|
+
__typename: 'PrimaryGroup';
|
|
334
|
+
}
|
|
335
|
+
export interface UserProfile {
|
|
336
|
+
profilePictureURL?: string;
|
|
337
|
+
firstname?: string;
|
|
338
|
+
lastname?: string;
|
|
339
|
+
timezone?: string;
|
|
340
|
+
timezoneWarningDisabled?: boolean;
|
|
341
|
+
profileThumbs?: {
|
|
342
|
+
image_24?: string;
|
|
343
|
+
image_32?: string;
|
|
344
|
+
image_48?: string;
|
|
345
|
+
image_72?: string;
|
|
346
|
+
image_192?: string;
|
|
347
|
+
__typename: 'ProfileThumbs';
|
|
348
|
+
};
|
|
349
|
+
useCase?: string;
|
|
350
|
+
onboardingEventSent?: boolean;
|
|
351
|
+
__typename: 'UserProfile';
|
|
352
|
+
}
|
|
353
|
+
export interface UserEmail {
|
|
354
|
+
address: string;
|
|
355
|
+
verified: boolean;
|
|
356
|
+
__typename: 'UserEmail';
|
|
357
|
+
}
|
|
358
|
+
export interface Contacts {
|
|
359
|
+
integrationEnabled?: boolean;
|
|
360
|
+
usesNewPeopleApi?: boolean;
|
|
361
|
+
accountId?: string;
|
|
362
|
+
__typename: 'Contacts';
|
|
363
|
+
}
|
|
364
|
+
export interface EmailCourse {
|
|
365
|
+
id: string;
|
|
366
|
+
status: string;
|
|
367
|
+
__typename: 'EmailCourse';
|
|
368
|
+
}
|
|
369
|
+
export interface FacebookTracking {
|
|
370
|
+
_fbp?: string;
|
|
371
|
+
_fbc?: string;
|
|
372
|
+
__typename: 'FacebookTracking';
|
|
373
|
+
}
|
|
374
|
+
export interface Tracking {
|
|
375
|
+
facebook?: FacebookTracking;
|
|
376
|
+
chatSetupConfigId?: string;
|
|
377
|
+
__typename: 'Tracking';
|
|
378
|
+
}
|
|
379
|
+
export interface Proficiency {
|
|
380
|
+
id: string;
|
|
381
|
+
count: number;
|
|
382
|
+
proficient: boolean;
|
|
383
|
+
proficientAt?: string;
|
|
384
|
+
firstPerformedAt?: string;
|
|
385
|
+
__typename: 'Proficiency';
|
|
386
|
+
}
|
|
387
|
+
export interface ReminderSchedule {
|
|
388
|
+
enabled: boolean;
|
|
389
|
+
isoDayIndex: number;
|
|
390
|
+
time: TimeSlot;
|
|
391
|
+
__typename: 'ReminderSchedule';
|
|
392
|
+
}
|
|
393
|
+
export interface Reminder {
|
|
394
|
+
schedule: ReminderSchedule;
|
|
395
|
+
nextDeliveryAt?: string;
|
|
396
|
+
__typename: 'Reminder';
|
|
397
|
+
}
|
|
398
|
+
export interface ScheduledCall {
|
|
399
|
+
workflow: string;
|
|
400
|
+
reminder: Reminder;
|
|
401
|
+
__typename: 'ScheduledCall';
|
|
402
|
+
}
|
|
403
|
+
export interface Assistant {
|
|
404
|
+
scheduledCalls?: ScheduledCall[];
|
|
405
|
+
__typename: 'Assistant';
|
|
406
|
+
}
|
|
407
|
+
export interface DailyWrap {
|
|
408
|
+
reminder: Reminder;
|
|
409
|
+
__typename: 'DailyWrap';
|
|
410
|
+
}
|
|
411
|
+
export interface DailyCatchUp {
|
|
412
|
+
reminder: Reminder;
|
|
413
|
+
__typename: 'DailyCatchUp';
|
|
414
|
+
}
|
|
415
|
+
/**
|
|
416
|
+
* Complete User profile data
|
|
417
|
+
*/
|
|
418
|
+
export interface User {
|
|
419
|
+
_id: string;
|
|
420
|
+
activationDate?: string;
|
|
421
|
+
admin?: boolean;
|
|
422
|
+
aka?: string;
|
|
423
|
+
calendar?: Calendar;
|
|
424
|
+
services?: Services;
|
|
425
|
+
emails: UserEmail[];
|
|
426
|
+
primaryGroup?: PrimaryGroup;
|
|
427
|
+
onboarding?: unknown;
|
|
428
|
+
preferences: UserPreferences;
|
|
429
|
+
contacts?: Contacts;
|
|
430
|
+
createdAt?: string;
|
|
431
|
+
dailyPlanning?: DailyPlanning;
|
|
432
|
+
dailyShutdown?: DailyShutdown;
|
|
433
|
+
daysPlanned?: number;
|
|
434
|
+
daysShutdown?: number;
|
|
435
|
+
desktopApp?: DesktopApp;
|
|
436
|
+
mobileApp?: MobileApp;
|
|
437
|
+
lastAnnouncementCheckDate?: string;
|
|
438
|
+
lastModified?: string;
|
|
439
|
+
nodeId?: string;
|
|
440
|
+
notifySettings?: NotifySettings;
|
|
441
|
+
profile: UserProfile;
|
|
442
|
+
toursCompleted?: string[];
|
|
443
|
+
username?: string;
|
|
444
|
+
waitList?: unknown;
|
|
445
|
+
weeklyPlanning?: WeeklySchedule;
|
|
446
|
+
weeklyReview?: WeeklySchedule;
|
|
447
|
+
lastArchiveCheckDate?: string;
|
|
448
|
+
integrationRequests?: unknown;
|
|
449
|
+
dayStart?: DayBoundary;
|
|
450
|
+
plannedDayStart?: DayBoundary;
|
|
451
|
+
dayEnd?: DayBoundary;
|
|
452
|
+
waitlistId?: string;
|
|
453
|
+
trialPeriod?: unknown;
|
|
454
|
+
qualificationAssessment?: unknown;
|
|
455
|
+
disappointmentIndex?: unknown;
|
|
456
|
+
emailCourses?: EmailCourse[];
|
|
457
|
+
tracking?: Tracking;
|
|
458
|
+
proficiencies?: Proficiency[];
|
|
459
|
+
assistant?: Assistant;
|
|
460
|
+
dailyWrap?: DailyWrap;
|
|
461
|
+
dailyCatchUp?: DailyCatchUp;
|
|
462
|
+
__typename: 'User';
|
|
463
|
+
}
|
|
464
|
+
/**
|
|
465
|
+
* Response for getUser query
|
|
466
|
+
*/
|
|
467
|
+
export interface GetUserResponse {
|
|
468
|
+
currentUser: User;
|
|
469
|
+
}
|
|
470
|
+
/**
|
|
471
|
+
* Input for getTasksByDay query
|
|
472
|
+
*/
|
|
473
|
+
export interface GetTasksByDayInput {
|
|
474
|
+
day: string;
|
|
475
|
+
timezone: string;
|
|
476
|
+
userId: string;
|
|
477
|
+
groupId: string;
|
|
478
|
+
}
|
|
479
|
+
/**
|
|
480
|
+
* Task subtask structure
|
|
481
|
+
*/
|
|
482
|
+
export interface TaskSubtask {
|
|
483
|
+
_id: string;
|
|
484
|
+
title: string;
|
|
485
|
+
completedDate?: string | null;
|
|
486
|
+
completedBy?: string | null;
|
|
487
|
+
timeEstimate?: number | null;
|
|
488
|
+
actualTime?: TaskActualTime | null;
|
|
489
|
+
snooze?: TaskSnooze | null;
|
|
490
|
+
scheduledTime?: TaskScheduledTime | null;
|
|
491
|
+
integration?: TaskIntegration | null;
|
|
492
|
+
mergedTaskId?: string | null;
|
|
493
|
+
recommendedTimeEstimate?: number | null;
|
|
494
|
+
__typename: 'TaskSubtask';
|
|
495
|
+
}
|
|
496
|
+
/**
|
|
497
|
+
* Task snooze information
|
|
498
|
+
*/
|
|
499
|
+
export interface TaskSnooze {
|
|
500
|
+
userId: string;
|
|
501
|
+
date: string;
|
|
502
|
+
until: string;
|
|
503
|
+
__typename: 'TaskSnooze';
|
|
504
|
+
}
|
|
505
|
+
/**
|
|
506
|
+
* Task actual time tracking
|
|
507
|
+
*/
|
|
508
|
+
export interface TaskActualTime {
|
|
509
|
+
userId: string;
|
|
510
|
+
startDate: string;
|
|
511
|
+
endDate: string;
|
|
512
|
+
duration: number;
|
|
513
|
+
isTimerEntry: boolean;
|
|
514
|
+
__typename: 'TaskActualTime';
|
|
515
|
+
}
|
|
516
|
+
/**
|
|
517
|
+
* Task scheduled time information
|
|
518
|
+
*/
|
|
519
|
+
export interface TaskScheduledTime {
|
|
520
|
+
eventId: string;
|
|
521
|
+
serviceIds: {
|
|
522
|
+
google?: string | null;
|
|
523
|
+
microsoft?: string | null;
|
|
524
|
+
microsoftUniqueId?: string | null;
|
|
525
|
+
apple?: string | null;
|
|
526
|
+
appleRecurrenceId?: string | null;
|
|
527
|
+
sunsama?: string | null;
|
|
528
|
+
__typename: 'CalendarEventServiceIds';
|
|
529
|
+
};
|
|
530
|
+
calendarId: string;
|
|
531
|
+
userId: string;
|
|
532
|
+
startDate: string;
|
|
533
|
+
endDate: string;
|
|
534
|
+
isAllDay: boolean;
|
|
535
|
+
importedFromCalendar: boolean;
|
|
536
|
+
__typename: 'TaskScheduledTime';
|
|
537
|
+
}
|
|
538
|
+
/**
|
|
539
|
+
* Task event information
|
|
540
|
+
*/
|
|
541
|
+
export interface TaskEventInfo {
|
|
542
|
+
eventId: string;
|
|
543
|
+
clone: boolean;
|
|
544
|
+
__typename: 'TaskEventInfo';
|
|
545
|
+
}
|
|
546
|
+
/**
|
|
547
|
+
* Task ordering information
|
|
548
|
+
*/
|
|
549
|
+
export interface TaskOrdering {
|
|
550
|
+
ordinal: number;
|
|
551
|
+
panelDate: string;
|
|
552
|
+
channelId?: string | null;
|
|
553
|
+
userId: string;
|
|
554
|
+
__typename: 'TaskOrdering';
|
|
555
|
+
}
|
|
556
|
+
/**
|
|
557
|
+
* Task backlog ordering
|
|
558
|
+
*/
|
|
559
|
+
export interface TaskBacklogOrdering {
|
|
560
|
+
horizonType: string;
|
|
561
|
+
position: number;
|
|
562
|
+
streamId: string;
|
|
563
|
+
__typename: 'TaskBacklogOrdering';
|
|
564
|
+
}
|
|
565
|
+
/**
|
|
566
|
+
* Task sequence information for recurring tasks
|
|
567
|
+
*/
|
|
568
|
+
export interface TaskSequence {
|
|
569
|
+
date: string;
|
|
570
|
+
id: string;
|
|
571
|
+
expiresDate: string;
|
|
572
|
+
ruleString: string;
|
|
573
|
+
searchable: boolean;
|
|
574
|
+
forked: boolean;
|
|
575
|
+
final: boolean;
|
|
576
|
+
estimatedStart?: {
|
|
577
|
+
hour: number;
|
|
578
|
+
minute: number;
|
|
579
|
+
__typename: 'TaskSequenceEstimatedStart';
|
|
580
|
+
} | null;
|
|
581
|
+
master?: string | null;
|
|
582
|
+
finalDate?: string | null;
|
|
583
|
+
template?: unknown | null;
|
|
584
|
+
__typename: 'TaskSequence';
|
|
585
|
+
}
|
|
586
|
+
/**
|
|
587
|
+
* Task ritual information
|
|
588
|
+
*/
|
|
589
|
+
export interface TaskRitual {
|
|
590
|
+
id: string;
|
|
591
|
+
period: {
|
|
592
|
+
interval: string;
|
|
593
|
+
startCalendarDay: string;
|
|
594
|
+
endCalendarDay: string;
|
|
595
|
+
__typename: string;
|
|
596
|
+
};
|
|
597
|
+
__typename: 'TaskRitual';
|
|
598
|
+
}
|
|
599
|
+
/**
|
|
600
|
+
* Task run date information
|
|
601
|
+
*/
|
|
602
|
+
export interface TaskRunDate {
|
|
603
|
+
startDate: string;
|
|
604
|
+
endDate: string;
|
|
605
|
+
__typename: 'TaskRunDate';
|
|
606
|
+
}
|
|
607
|
+
/**
|
|
608
|
+
* Task time horizon
|
|
609
|
+
*/
|
|
610
|
+
export interface TaskTimeHorizon {
|
|
611
|
+
type: string;
|
|
612
|
+
relativeTo: string;
|
|
613
|
+
__typename: 'TaskTimeHorizon';
|
|
614
|
+
}
|
|
615
|
+
/**
|
|
616
|
+
* Task comment structure
|
|
617
|
+
*/
|
|
618
|
+
export interface TaskComment {
|
|
619
|
+
userId: string;
|
|
620
|
+
text: string;
|
|
621
|
+
markdown: string;
|
|
622
|
+
editorVersion: number;
|
|
623
|
+
groupId: string;
|
|
624
|
+
createdAt: string;
|
|
625
|
+
editedAt?: string;
|
|
626
|
+
deleted: boolean;
|
|
627
|
+
file?: string;
|
|
628
|
+
fileMetadata?: {
|
|
629
|
+
url: string;
|
|
630
|
+
filename: string;
|
|
631
|
+
mimetype: string;
|
|
632
|
+
size: number;
|
|
633
|
+
width?: number;
|
|
634
|
+
height?: number;
|
|
635
|
+
__typename: 'TaskFileMetadata';
|
|
636
|
+
};
|
|
637
|
+
__typename: 'TaskComment';
|
|
638
|
+
}
|
|
639
|
+
/**
|
|
640
|
+
* Base task integration interface
|
|
641
|
+
*/
|
|
642
|
+
export interface TaskIntegration {
|
|
643
|
+
service: string;
|
|
644
|
+
__typename: string;
|
|
645
|
+
}
|
|
646
|
+
/**
|
|
647
|
+
* Website integration for tasks
|
|
648
|
+
*/
|
|
649
|
+
export interface TaskWebsiteIntegration extends TaskIntegration {
|
|
650
|
+
service: 'website';
|
|
651
|
+
identifier: {
|
|
652
|
+
url: string;
|
|
653
|
+
private: boolean;
|
|
654
|
+
canonicalUrl?: string | null;
|
|
655
|
+
description?: string | null;
|
|
656
|
+
faviconUrl?: string | null;
|
|
657
|
+
imageUrl?: string | null;
|
|
658
|
+
siteName?: string | null;
|
|
659
|
+
title?: string | null;
|
|
660
|
+
__typename: 'TaskWebsiteIntegrationIdentifier';
|
|
661
|
+
};
|
|
662
|
+
__typename: 'TaskWebsiteIntegration';
|
|
663
|
+
}
|
|
664
|
+
/**
|
|
665
|
+
* Google Calendar integration for tasks
|
|
666
|
+
*/
|
|
667
|
+
export interface TaskGoogleCalendarIntegration extends TaskIntegration {
|
|
668
|
+
service: 'googleCalendar';
|
|
669
|
+
identifier: {
|
|
670
|
+
sunsamaId: string;
|
|
671
|
+
__typename: 'TaskGoogleCalendarIntegrationIdentifier';
|
|
672
|
+
};
|
|
673
|
+
__typename: 'TaskGoogleCalendarIntegration';
|
|
674
|
+
}
|
|
675
|
+
/**
|
|
676
|
+
* Main Task structure
|
|
677
|
+
*/
|
|
678
|
+
export interface Task {
|
|
679
|
+
_id: string;
|
|
680
|
+
groupId: string;
|
|
681
|
+
taskType: string;
|
|
682
|
+
streamIds: string[];
|
|
683
|
+
recommendedStreamId?: string | null;
|
|
684
|
+
eventInfo?: TaskEventInfo | null;
|
|
685
|
+
seededEventIds?: string[] | null;
|
|
686
|
+
private: boolean;
|
|
687
|
+
assigneeId: string;
|
|
688
|
+
createdBy: string;
|
|
689
|
+
integration?: TaskIntegration | null;
|
|
690
|
+
deleted: boolean;
|
|
691
|
+
text: string;
|
|
692
|
+
notes: string;
|
|
693
|
+
notesMarkdown?: string | null;
|
|
694
|
+
notesChecksum?: string | null;
|
|
695
|
+
editorVersion?: number | null;
|
|
696
|
+
collabSnapshot?: unknown | null;
|
|
697
|
+
completed: boolean;
|
|
698
|
+
completedBy?: string | null;
|
|
699
|
+
completeDate?: string | null;
|
|
700
|
+
completeOn?: string | null;
|
|
701
|
+
archivedAt?: string | null;
|
|
702
|
+
duration?: number | null;
|
|
703
|
+
runDate?: TaskRunDate | null;
|
|
704
|
+
snooze?: TaskSnooze | null;
|
|
705
|
+
timeHorizon?: TaskTimeHorizon | null;
|
|
706
|
+
dueDate?: string | null;
|
|
707
|
+
comments: TaskComment[];
|
|
708
|
+
orderings: TaskOrdering[];
|
|
709
|
+
backlogOrderings: TaskBacklogOrdering[];
|
|
710
|
+
subtasks: TaskSubtask[];
|
|
711
|
+
subtasksCollapsed?: boolean | null;
|
|
712
|
+
sequence?: TaskSequence | null;
|
|
713
|
+
followers: string[];
|
|
714
|
+
recommendedTimeEstimate?: number | null;
|
|
715
|
+
timeEstimate?: number | null;
|
|
716
|
+
actualTime: TaskActualTime[];
|
|
717
|
+
scheduledTime: TaskScheduledTime[];
|
|
718
|
+
createdAt: string;
|
|
719
|
+
lastModified: string;
|
|
720
|
+
objectiveId?: string | null;
|
|
721
|
+
ritual?: TaskRitual | null;
|
|
722
|
+
__typename: 'Task';
|
|
723
|
+
}
|
|
724
|
+
/**
|
|
725
|
+
* Response for getTasksByDay query
|
|
726
|
+
*/
|
|
727
|
+
export interface GetTasksByDayResponse {
|
|
728
|
+
tasksByDayV2: Task[];
|
|
729
|
+
}
|
|
730
|
+
/**
|
|
731
|
+
* Input for getTasksBacklog query
|
|
732
|
+
*/
|
|
733
|
+
export interface GetTasksBacklogInput {
|
|
734
|
+
userId: string;
|
|
735
|
+
groupId: string;
|
|
736
|
+
}
|
|
737
|
+
/**
|
|
738
|
+
* Response for getTasksBacklog query
|
|
739
|
+
*/
|
|
740
|
+
export interface GetTasksBacklogResponse {
|
|
741
|
+
tasksBacklog: Task[];
|
|
742
|
+
}
|
|
743
|
+
/**
|
|
744
|
+
* Stream standup rule structure
|
|
745
|
+
*/
|
|
746
|
+
export interface StreamStandupRule {
|
|
747
|
+
isoDays: string[];
|
|
748
|
+
hour: number;
|
|
749
|
+
minute: number;
|
|
750
|
+
__typename: 'StreamStandupRule';
|
|
751
|
+
}
|
|
752
|
+
/**
|
|
753
|
+
* Stream standup configuration
|
|
754
|
+
*/
|
|
755
|
+
export interface StreamStandup {
|
|
756
|
+
channel: string;
|
|
757
|
+
rule: StreamStandupRule;
|
|
758
|
+
nextStandupDate?: string | null;
|
|
759
|
+
lastStandupDate?: string | null;
|
|
760
|
+
timezone: string;
|
|
761
|
+
__typename: 'StreamStandup';
|
|
762
|
+
}
|
|
763
|
+
/**
|
|
764
|
+
* Stream edit trail entry
|
|
765
|
+
*/
|
|
766
|
+
export interface StreamEditTrail {
|
|
767
|
+
userId: string;
|
|
768
|
+
editDate: string;
|
|
769
|
+
__typename: 'StreamEditTrail';
|
|
770
|
+
}
|
|
771
|
+
/**
|
|
772
|
+
* Stream project integration
|
|
773
|
+
*/
|
|
774
|
+
export interface StreamProjectIntegration {
|
|
775
|
+
integration: string;
|
|
776
|
+
projectId: string;
|
|
777
|
+
accountId: string;
|
|
778
|
+
userId: string;
|
|
779
|
+
__typename: 'StreamProjectIntegration';
|
|
780
|
+
}
|
|
781
|
+
/**
|
|
782
|
+
* Stream schedule time slot
|
|
783
|
+
*/
|
|
784
|
+
export interface StreamScheduleTimeSlot {
|
|
785
|
+
id: string;
|
|
786
|
+
dayIndex: number;
|
|
787
|
+
start: TimeSlot;
|
|
788
|
+
end: TimeSlot;
|
|
789
|
+
__typename: 'StreamScheduleTimeSlot';
|
|
790
|
+
}
|
|
791
|
+
/**
|
|
792
|
+
* Stream schedule for a user
|
|
793
|
+
*/
|
|
794
|
+
export interface StreamSchedule {
|
|
795
|
+
userId: string;
|
|
796
|
+
timeSpans: StreamScheduleTimeSlot[];
|
|
797
|
+
__typename: 'StreamSchedule';
|
|
798
|
+
}
|
|
799
|
+
/**
|
|
800
|
+
* Stream structure
|
|
801
|
+
*/
|
|
802
|
+
export interface Stream {
|
|
803
|
+
_id: string;
|
|
804
|
+
groupId: string;
|
|
805
|
+
createdAt: string;
|
|
806
|
+
createdBy: string;
|
|
807
|
+
streamName: string;
|
|
808
|
+
category?: string | null;
|
|
809
|
+
categoryStreamId?: string | null;
|
|
810
|
+
personal?: boolean | null;
|
|
811
|
+
description: string;
|
|
812
|
+
status: string;
|
|
813
|
+
lastModified: string;
|
|
814
|
+
slackChannelId?: string | null;
|
|
815
|
+
slackAccountId?: string | null;
|
|
816
|
+
standup?: StreamStandup | null;
|
|
817
|
+
editTrail: StreamEditTrail[];
|
|
818
|
+
color: string;
|
|
819
|
+
memberIds: string[];
|
|
820
|
+
private: boolean;
|
|
821
|
+
projectIntegrations: StreamProjectIntegration[];
|
|
822
|
+
schedules: StreamSchedule[];
|
|
823
|
+
deleted: boolean;
|
|
824
|
+
__typename: 'Stream';
|
|
825
|
+
}
|
|
826
|
+
/**
|
|
827
|
+
* Input for getStreamsByGroupId query
|
|
828
|
+
*/
|
|
829
|
+
export interface GetStreamsByGroupIdInput {
|
|
830
|
+
groupId: string;
|
|
831
|
+
}
|
|
832
|
+
/**
|
|
833
|
+
* Response for getStreamsByGroupId query
|
|
834
|
+
*/
|
|
835
|
+
export interface GetStreamsByGroupIdResponse {
|
|
836
|
+
streamsByGroupId: Stream[];
|
|
837
|
+
}
|
|
838
|
+
//# sourceMappingURL=api.d.ts.map
|