@fourier-labs/harbour-contracts 0.85.0 → 0.86.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/README.md +3 -3
- package/contract-release.json +22 -22
- package/dist/gen-ts/app-integrations-declaration.d.ts +47 -2
- package/dist/gen-ts/contract-release.d.ts +6 -6
- package/dist/gen-ts/contract-release.js +6 -6
- package/dist/gen-ts/data-grant-v2.d.ts +4 -4
- package/dist/gen-ts/integration-execute-input-rules.d.ts +1194 -0
- package/dist/gen-ts/integration-execute-input-rules.js +392 -0
- package/dist/gen-ts/integration-execute-request.d.ts +150 -25
- package/dist/gen-ts/integration-execute-result.d.ts +237 -7
- package/dist/gen-ts/integration-operations.d.ts +315 -0
- package/dist/gen-ts/integration-operations.js +405 -0
- package/dist/gen-ts/saas-connection.d.ts +9 -9
- package/gen-ts/app-integrations-declaration.ts +47 -2
- package/gen-ts/contract-release.ts +6 -6
- package/gen-ts/data-grant-v2.ts +48 -3
- package/gen-ts/integration-execute-input-rules.ts +390 -1
- package/gen-ts/integration-execute-request.ts +194 -24
- package/gen-ts/integration-execute-result.ts +237 -7
- package/gen-ts/integration-operations.ts +405 -0
- package/gen-ts/saas-connection.ts +66 -8
- package/package.json +1 -1
- package/schema/app-integrations-declaration.schema.json +976 -36
- package/schema/data-grant-v2.schema.json +3 -3
- package/schema/integration-execute-request.schema.json +2320 -55
- package/schema/integration-execute-result.schema.json +934 -30
- package/schema/saas-connection.schema.json +139 -8
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
/**
|
|
2
|
-
* The `data` member of a successful execute response `{data, requestId}`; the SDK unwraps `data`. Exactly one of the operation results (
|
|
2
|
+
* The `data` member of a successful execute response `{data, requestId}`; the SDK unwraps `data`. Exactly one of the operation results (eighty-one operations since 0.86.0, ADR 0018, ADR 0022, ADR 0024, ADR 0028, ADR 0029 and ADR 0032): slack.channel.history -> {messages, hasMore, nextCursor?} (plain text/IDs/time, plus the display name and emoji icon a per-app-named app post carries — authorName/authorIcon, 0.55.0 — never the provider payload; `nextCursor` when hasMore, to pass as the next read's `cursor`); slack.message.post, slack.message.update, slack.message.delete -> {messageId} (the Slack ts); slack.dm.send -> {messageId, channelId} (the ts and the DM channel it went to); slack.user.lookup -> {userId, displayName}; gmail.thread.list -> {threads, hasMore, nextPageToken?} (newest matching threads; each `messageId` is the thread's newest message, what gmail.message.read takes; `nextPageToken` when hasMore); gmail.thread.read -> {id, emails} (every message of the thread, oldest first, each shaped like a gmail.message.read result); gmail.message.read -> {id, threadId, subject, from, to, date, text, truncated, attachments?} (headers plus the plain text with html stripped, cut at 16 KiB with `truncated` set; `attachments` lists the files without their bytes, which gmail.attachment.read fetches by id); gmail.attachment.read -> {filename, mimeType, size, dataBase64}; gmail.message.send -> {messageId, threadId} (the Gmail ids of the sent message and its thread); warehouse.view.read -> {rows, truncated} (rows keyed by the selected columns, or for an aggregate read by the groupBy columns then the aggregate aliases; decimal/64-bit values as strings, dates as ISO strings; since 0.70.0 every server sends `truncated`, true when more rows matched than `limit` — the server reads limit+1 rows to know — so the rows are incomplete and must not be totalled or averaged; a server before 0.70.0 omitted it). Basecamp (0.76.0, ADR 0022; every id a string of digits, every page at most 100 items, `nextPageToken` only when hasMore, text cut at 16 KiB like Gmail): basecamp.project.list -> {projects, hasMore, nextPageToken?}; basecamp.todolist.list -> {todolists, hasMore, nextPageToken?}; basecamp.todo.list -> {todos, hasMore, nextPageToken?}; basecamp.message.list -> {boardMessages, hasMore, nextPageToken?} (`boardMessages`, not `messages`, which is the Slack history shape); basecamp.comment.list -> {comments, hasMore, nextPageToken?}; basecamp.people.list -> {people, hasMore, nextPageToken?}; basecamp.todo.create, basecamp.message.post, basecamp.comment.post, basecamp.campfire.post -> {id, appUrl} (the new recording and its Basecamp page); basecamp.todo.complete -> {id, completed} with completed always true. SharePoint (0.78.0, ADR 0024; every id a Microsoft Graph id, `nextPageToken` only when hasMore and up to 2048 characters for a Graph `$skiptoken`): sharepoint.list.list -> {lists, hasMore, nextPageToken?} (at most 100, hidden lists dropped); sharepoint.item.list -> {items, hasMore, nextPageToken?} (at most 50; each item's `fields` are the column values as Graph returns them with the system columns dropped, the whole object cut at 16 KiB); sharepoint.drive.list -> {drives, hasMore, nextPageToken?}; sharepoint.file.list and sharepoint.file.search -> {files, hasMore, nextPageToken?} (at most 100 entries, folders included with isFolder); sharepoint.file.read -> {id, filename, mimeType, size, dataBase64} (the Gmail attachment shape plus the file's id; at most 2 MiB of bytes); sharepoint.item.create -> {id, webUrl} (the new item and its SharePoint page); sharepoint.item.update -> {id}; sharepoint.file.upload -> {id, filename, webUrl} (the stored file, under the name `conflict` rename may have given it). Google Workspace and Microsoft 365 (0.86.0, ADR 0032; every page at most 100 items, `nextPageToken` only when hasMore, up to 2048 characters): calendar.calendar.list -> {calendars, hasMore, nextPageToken?}; calendar.event.list and outlook.event.list -> {events, hasMore, nextPageToken?}; calendar.event.read and outlook.event.read -> the event itself, {id, title, start, end, allDay, timeZone?, location?, description?, attendees, organizer?, webUrl, eventStatus} (the CalendarEvent shape spread at the top level, the way gmail.message.read spreads GmailMessage; `eventStatus`, because `status` is the HTTP status of a service.request result); calendar.event.create and outlook.event.create -> {id, webUrl}; calendar.event.update, calendar.event.cancel, outlook.event.update, outlook.event.cancel -> {id}; drive.file.list, drive.file.search, onedrive.file.list, onedrive.file.search -> {files, hasMore, nextPageToken?} (the SharePoint entry shape); drive.file.read and onedrive.file.read -> {id, filename, mimeType, size, dataBase64} (the sharepoint.file.read shape; `filename` and `mimeType` are the stored or exported name and type); drive.file.upload and onedrive.file.upload -> {id, filename, webUrl}; drive.folder.create and onedrive.folder.create -> {id, webUrl}; docs.document.read -> {id, title, text, revisionId, webUrl, truncated} (the body as plain text cut at 64 KiB); docs.document.create -> {id, webUrl}; docs.document.append -> {id, revisionId}; docs.text.replace -> {id, replaced} (how many occurrences changed); sheets.spreadsheet.read -> {id, title, sheets, webUrl}; sheets.values.read -> {range, values} (the range Google answered with and the cells as rows; a trailing empty row or cell is dropped by Google); sheets.values.append -> {range, updatedRows}; sheets.values.update -> {range, updatedCells}; sheets.values.clear -> {range}; sheets.spreadsheet.create -> {id, webUrl}; outlook.message.list -> {mailMessages, hasMore, nextPageToken?} (`mailMessages`, not `messages`, which is the Slack history shape); outlook.message.read -> the gmail.message.read shape {id, threadId, subject, from, to, date, text, truncated, attachments?} with `threadId` the Graph conversationId; outlook.attachment.read -> {id, filename, mimeType, size, dataBase64}; outlook.message.send and outlook.message.reply -> {id} (the sent message's id, which Graph does not return for a send: governance's own internetMessageId); excel.worksheet.list -> {worksheets}; excel.range.read -> {address, values}; excel.range.update -> {address, updatedCells}; excel.table.list -> {tables}; excel.row.add -> {index, updatedRows} (the index of the first added row); excel.worksheet.add -> {id, name}; teams.message.list -> {teamsMessages, hasMore, nextPageToken?} (`teamsMessages`, apart from Slack's `messages`); teams.message.post and teams.reply.post -> {id, webUrl}. An unknown send outcome is never a result; it is an error with details.code SEND_OUTCOME_UNKNOWN. A whole result over 1 MiB is rejected, never cut down to fit — except a gmail.attachment.read, a sharepoint.file.read, a drive.file.read, an onedrive.file.read or an outlook.attachment.read, whose single file is bounded by its own 2 MiB.
|
|
3
3
|
*/
|
|
4
4
|
export type IntegrationExecuteResult = {
|
|
5
5
|
/**
|
|
@@ -29,21 +29,27 @@ export type IntegrationExecuteResult = {
|
|
|
29
29
|
*/
|
|
30
30
|
threads?: GmailThread[];
|
|
31
31
|
/**
|
|
32
|
-
* gmail.thread.list (0.71.0), the basecamp.* lists (0.76.0) and the paged sharepoint.* reads (0.78.0): the token of the next page, present only when hasMore; up to 2048 characters since 0.78.0 for a Graph $skiptoken.
|
|
32
|
+
* gmail.thread.list (0.71.0), the basecamp.* lists (0.76.0) and the paged sharepoint.* reads (0.78.0): the token of the next page, present only when hasMore; up to 2048 characters since 0.78.0 for a Graph $skiptoken. The paged 0.86.0 reads (calendars, events, files, mailMessages, teamsMessages) page the same way.
|
|
33
33
|
*/
|
|
34
34
|
nextPageToken?: string;
|
|
35
35
|
/**
|
|
36
|
-
* gmail.thread.read / gmail.message.read: the Gmail id; the Basecamp writes and complete (0.76.0): the recording's id; the SharePoint writes and sharepoint.file.read (0.78.0): the Graph id of the item or file (up to 256 characters since 0.78.0, the GraphId bound).
|
|
36
|
+
* gmail.thread.read / gmail.message.read: the Gmail id; the Basecamp writes and complete (0.76.0): the recording's id; the SharePoint writes and sharepoint.file.read (0.78.0): the Graph id of the item or file (up to 256 characters since 0.78.0, the GraphId bound). The Google Workspace and Microsoft 365 operations (0.86.0): the event, file, folder, document, spreadsheet, message or worksheet id (up to 1024 characters since 0.86.0, a Google event id's bound).
|
|
37
37
|
*/
|
|
38
38
|
id?: string;
|
|
39
|
+
/**
|
|
40
|
+
* gmail.message.read / gmail.message.send: the Gmail thread id. outlook.message.read (0.86.0): the Graph conversationId (up to 256 characters since 0.86.0).
|
|
41
|
+
*/
|
|
39
42
|
threadId?: string;
|
|
40
43
|
subject?: string;
|
|
41
44
|
from?: string;
|
|
42
45
|
to?: string;
|
|
43
46
|
date?: string;
|
|
47
|
+
/**
|
|
48
|
+
* gmail.message.read and outlook.message.read (0.86.0): the plain-text body, cut at 16 KiB with `truncated` set. docs.document.read (0.86.0): the document's body as plain text, cut at 64 KiB (the shared bound).
|
|
49
|
+
*/
|
|
44
50
|
text?: string;
|
|
45
51
|
/**
|
|
46
|
-
* gmail.message.read: the text was cut at 16 KiB. warehouse.view.read (0.70.0): more rows matched than the read's limit, so `rows` is incomplete.
|
|
52
|
+
* gmail.message.read: the text was cut at 16 KiB. warehouse.view.read (0.70.0): more rows matched than the read's limit, so `rows` is incomplete. docs.document.read (0.86.0): the text was cut at 64 KiB.
|
|
47
53
|
*/
|
|
48
54
|
truncated?: boolean;
|
|
49
55
|
/**
|
|
@@ -62,7 +68,13 @@ export type IntegrationExecuteResult = {
|
|
|
62
68
|
* @maxItems 100
|
|
63
69
|
*/
|
|
64
70
|
emails?: GmailMessage[];
|
|
71
|
+
/**
|
|
72
|
+
* gmail.attachment.read / sharepoint.file.read / sharepoint.file.upload: the file's name. drive.file.read / onedrive.file.read / outlook.attachment.read (0.86.0): the stored name, or for an exported Google file the name with the export's extension. drive.file.upload / onedrive.file.upload: the stored name, which `conflict` rename may have changed.
|
|
73
|
+
*/
|
|
65
74
|
filename?: string;
|
|
75
|
+
/**
|
|
76
|
+
* gmail.attachment.read / sharepoint.file.read / outlook.attachment.read (0.86.0): the file's MIME type. drive.file.read / onedrive.file.read (0.86.0): the stored type, or the export's (text/plain, text/csv, application/pdf).
|
|
77
|
+
*/
|
|
66
78
|
mimeType?: string;
|
|
67
79
|
/**
|
|
68
80
|
* gmail.attachment.read (0.71.0): the attachment's size in bytes.
|
|
@@ -141,21 +153,144 @@ export type IntegrationExecuteResult = {
|
|
|
141
153
|
*/
|
|
142
154
|
drives?: SharePointDrive[];
|
|
143
155
|
/**
|
|
144
|
-
* sharepoint.file.list / sharepoint.file.search (0.78.0): one page of a folder's entries (files and folders) or of the files matching the search.
|
|
156
|
+
* sharepoint.file.list / sharepoint.file.search (0.78.0): one page of a folder's entries (files and folders) or of the files matching the search. drive.file.list / drive.file.search / onedrive.file.list / onedrive.file.search (0.86.0): the same shape for a Google Drive folder or search and for a OneDrive one.
|
|
145
157
|
*
|
|
146
158
|
* @maxItems 100
|
|
147
159
|
*/
|
|
148
160
|
files?: SharePointFile[];
|
|
149
161
|
/**
|
|
150
|
-
* sharepoint.item.create / sharepoint.file.upload (0.78.0): the SharePoint page of the new item or file, for a person to open.
|
|
162
|
+
* sharepoint.item.create / sharepoint.file.upload (0.78.0): the SharePoint page of the new item or file, for a person to open. The Google Workspace and Microsoft 365 writes (0.86.0): the page of the new event, file, folder, document, spreadsheet or message, for a person to open.
|
|
151
163
|
*/
|
|
152
164
|
webUrl?: string;
|
|
165
|
+
/**
|
|
166
|
+
* calendar.calendar.list (0.86.0): one page of the calendars the signed-in person can see; `id` is what the calendar.event.* operations take as `calendarId`.
|
|
167
|
+
*
|
|
168
|
+
* @maxItems 100
|
|
169
|
+
*/
|
|
170
|
+
calendars?: CalendarListEntry[];
|
|
171
|
+
/**
|
|
172
|
+
* calendar.event.list / outlook.event.list (0.86.0): one page of the events in the window, recurring events expanded to instances, ordered by start.
|
|
173
|
+
*
|
|
174
|
+
* @maxItems 100
|
|
175
|
+
*/
|
|
176
|
+
events?: CalendarEvent[];
|
|
177
|
+
/**
|
|
178
|
+
* calendar.event.read / outlook.event.read (0.86.0): the event's title. docs.document.read: the document's title. sheets.spreadsheet.read: the spreadsheet's title.
|
|
179
|
+
*/
|
|
180
|
+
title?: string;
|
|
181
|
+
/**
|
|
182
|
+
* calendar.event.read / outlook.event.read (0.86.0): when the event starts, an RFC 3339 date-time, or a YYYY-MM-DD date for an all-day event.
|
|
183
|
+
*/
|
|
184
|
+
start?: string;
|
|
185
|
+
/**
|
|
186
|
+
* calendar.event.read / outlook.event.read (0.86.0): when the event ends, the same way (the day after the last day for an all-day event).
|
|
187
|
+
*/
|
|
188
|
+
end?: string;
|
|
189
|
+
/**
|
|
190
|
+
* calendar.event.read / outlook.event.read (0.86.0): whether the event spans whole days.
|
|
191
|
+
*/
|
|
192
|
+
allDay?: boolean;
|
|
193
|
+
/**
|
|
194
|
+
* calendar.event.read / outlook.event.read (0.86.0): the IANA zone the event is shown in, when the provider reports one.
|
|
195
|
+
*/
|
|
196
|
+
timeZone?: string;
|
|
197
|
+
/**
|
|
198
|
+
* calendar.event.read / outlook.event.read (0.86.0): where the event is, as free text, when set.
|
|
199
|
+
*/
|
|
200
|
+
location?: string;
|
|
201
|
+
/**
|
|
202
|
+
* calendar.event.read / outlook.event.read (0.86.0): the event's description as plain text, cut at 16 KiB, when set.
|
|
203
|
+
*/
|
|
204
|
+
description?: string;
|
|
205
|
+
/**
|
|
206
|
+
* calendar.event.read / outlook.event.read (0.86.0): who is invited and how they answered; empty when the event has no attendees.
|
|
207
|
+
*
|
|
208
|
+
* @maxItems 500
|
|
209
|
+
*/
|
|
210
|
+
attendees?: CalendarAttendee[];
|
|
211
|
+
organizer?: CalendarAttendee1;
|
|
212
|
+
/**
|
|
213
|
+
* An event's state (0.86.0): confirmed (Google `confirmed`, Graph not cancelled and not tentative), tentative, or cancelled.
|
|
214
|
+
*/
|
|
215
|
+
eventStatus?: 'confirmed' | 'tentative' | 'cancelled';
|
|
216
|
+
/**
|
|
217
|
+
* docs.document.read / docs.document.append (0.86.0): the document's revision after the read or the append, as Google names it.
|
|
218
|
+
*/
|
|
219
|
+
revisionId?: string;
|
|
220
|
+
/**
|
|
221
|
+
* docs.text.replace (0.86.0): how many occurrences were replaced over all the pairs.
|
|
222
|
+
*/
|
|
223
|
+
replaced?: number;
|
|
224
|
+
/**
|
|
225
|
+
* sheets.spreadsheet.read (0.86.0): the spreadsheet's sheets in tab order, with their grid sizes.
|
|
226
|
+
*
|
|
227
|
+
* @maxItems 200
|
|
228
|
+
*/
|
|
229
|
+
sheets?: SheetProperties[];
|
|
230
|
+
/**
|
|
231
|
+
* sheets.values.read / sheets.values.append / sheets.values.update / sheets.values.clear (0.86.0): the range Google answered with in A1 notation (for an append, the cells the rows went into).
|
|
232
|
+
*/
|
|
233
|
+
range?: string;
|
|
234
|
+
/**
|
|
235
|
+
* sheets.values.read / excel.range.read (0.86.0): the cells as rows, each cell a string, a number, a boolean or null (an empty cell); unformatted values (a date cell is its serial number at Google, its text at Excel). The whole object is cut at 1 MiB by the result cap, never trimmed.
|
|
236
|
+
*
|
|
237
|
+
* @maxItems 1000
|
|
238
|
+
*/
|
|
239
|
+
values?: (string | number | boolean | null)[][];
|
|
240
|
+
/**
|
|
241
|
+
* sheets.values.append / excel.row.add (0.86.0): how many rows were written.
|
|
242
|
+
*/
|
|
243
|
+
updatedRows?: number;
|
|
244
|
+
/**
|
|
245
|
+
* sheets.values.update / excel.range.update (0.86.0): how many cells were written.
|
|
246
|
+
*/
|
|
247
|
+
updatedCells?: number;
|
|
248
|
+
/**
|
|
249
|
+
* excel.worksheet.list (0.86.0): the workbook's worksheets in tab order.
|
|
250
|
+
*
|
|
251
|
+
* @maxItems 500
|
|
252
|
+
*/
|
|
253
|
+
worksheets?: ExcelWorksheet[];
|
|
254
|
+
/**
|
|
255
|
+
* excel.range.read / excel.range.update (0.86.0): the range Excel answered with, e.g. `Orders!A1:D10`.
|
|
256
|
+
*/
|
|
257
|
+
address?: string;
|
|
258
|
+
/**
|
|
259
|
+
* excel.table.list (0.86.0): the workbook's or the worksheet's tables; `name` is what excel.row.add takes as `tableName`.
|
|
260
|
+
*
|
|
261
|
+
* @maxItems 500
|
|
262
|
+
*/
|
|
263
|
+
tables?: ExcelTable[];
|
|
264
|
+
/**
|
|
265
|
+
* excel.row.add (0.86.0): the zero-based index, within the table, of the first row added.
|
|
266
|
+
*/
|
|
267
|
+
index?: number;
|
|
268
|
+
/**
|
|
269
|
+
* excel.worksheet.add (0.86.0): the new worksheet's name.
|
|
270
|
+
*/
|
|
271
|
+
name?: string;
|
|
272
|
+
/**
|
|
273
|
+
* outlook.message.list (0.86.0): one page of the folder's messages, newest first (or by relevance for a search), without their bodies; `id` is what outlook.message.read takes. Named apart from `messages`, the Slack history shape, and `emails`, the Gmail thread shape.
|
|
274
|
+
*
|
|
275
|
+
* @maxItems 100
|
|
276
|
+
*/
|
|
277
|
+
mailMessages?: OutlookMessageSummary[];
|
|
278
|
+
/**
|
|
279
|
+
* teams.message.list (0.86.0): one page of the channel's top-level messages, newest first; `id` is what teams.reply.post takes as `messageId`. Named apart from `messages`, the Slack history shape.
|
|
280
|
+
*
|
|
281
|
+
* @maxItems 100
|
|
282
|
+
*/
|
|
283
|
+
teamsMessages?: TeamsMessage[];
|
|
153
284
|
status?: number;
|
|
154
285
|
headers?: {
|
|
155
286
|
[k: string]: string;
|
|
156
287
|
};
|
|
157
288
|
body?: unknown;
|
|
158
289
|
};
|
|
290
|
+
/**
|
|
291
|
+
* An event's state (0.86.0): confirmed (Google `confirmed`, Graph not cancelled and not tentative), tentative, or cancelled.
|
|
292
|
+
*/
|
|
293
|
+
export type CalendarEventStatus = 'confirmed' | 'tentative' | 'cancelled';
|
|
159
294
|
export interface ChannelMessage {
|
|
160
295
|
id: string;
|
|
161
296
|
text: string;
|
|
@@ -366,7 +501,7 @@ export interface SharePointDrive {
|
|
|
366
501
|
webUrl: string;
|
|
367
502
|
}
|
|
368
503
|
/**
|
|
369
|
-
* One entry of a sharepoint.file.list or sharepoint.file.search result (0.78.0): a file (`mimeType` set, `id` is what sharepoint.file.read takes as `fileId`) or a folder (`isFolder`, `id` is what sharepoint.file.list and sharepoint.file.upload take as `folderId`). `size` is in bytes; a folder's is the total of its contents.
|
|
504
|
+
* One entry of a sharepoint.file.list or sharepoint.file.search result (0.78.0): a file (`mimeType` set, `id` is what sharepoint.file.read takes as `fileId`) or a folder (`isFolder`, `id` is what sharepoint.file.list and sharepoint.file.upload take as `folderId`). `size` is in bytes; a folder's is the total of its contents. drive.file.list / drive.file.search / onedrive.file.list / onedrive.file.search (0.86.0) answer the same entries: for Google Drive `mimeType` is the Drive type (a Google Docs file is application/vnd.google-apps.document) and `size` 0 for a Google-native file; `id` is what drive.file.read / onedrive.file.read take as `fileId`, a folder's what file.list, file.upload and folder.create take as `folderId`.
|
|
370
505
|
*/
|
|
371
506
|
export interface SharePointFile {
|
|
372
507
|
/**
|
|
@@ -380,3 +515,98 @@ export interface SharePointFile {
|
|
|
380
515
|
webUrl: string;
|
|
381
516
|
modifiedAt: string;
|
|
382
517
|
}
|
|
518
|
+
/**
|
|
519
|
+
* One calendar of a calendar.calendar.list result (0.86.0); `id` is what the calendar.event.* operations take as `calendarId`, `primary` marks the person's own calendar, `accessRole` is Google's (owner, writer, reader, freeBusyReader).
|
|
520
|
+
*/
|
|
521
|
+
export interface CalendarListEntry {
|
|
522
|
+
id: string;
|
|
523
|
+
name: string;
|
|
524
|
+
primary: boolean;
|
|
525
|
+
accessRole: string;
|
|
526
|
+
}
|
|
527
|
+
/**
|
|
528
|
+
* One event of a calendar.event.list or outlook.event.list result (0.86.0), and the shape calendar.event.read and outlook.event.read spread at the top level. `start` and `end` are RFC 3339 date-times, or YYYY-MM-DD dates when `allDay`; `description` is plain text cut at 16 KiB; `id` is what the event.read, event.update and event.cancel operations take as `eventId`.
|
|
529
|
+
*/
|
|
530
|
+
export interface CalendarEvent {
|
|
531
|
+
id: string;
|
|
532
|
+
title: string;
|
|
533
|
+
start: string;
|
|
534
|
+
end: string;
|
|
535
|
+
allDay: boolean;
|
|
536
|
+
timeZone?: string;
|
|
537
|
+
location?: string;
|
|
538
|
+
description?: string;
|
|
539
|
+
/**
|
|
540
|
+
* @maxItems 500
|
|
541
|
+
*/
|
|
542
|
+
attendees: CalendarAttendee[];
|
|
543
|
+
organizer?: CalendarAttendee;
|
|
544
|
+
webUrl: string;
|
|
545
|
+
eventStatus: CalendarEventStatus;
|
|
546
|
+
}
|
|
547
|
+
/**
|
|
548
|
+
* A person on an event (0.86.0): an attendee or the organizer. `response` is theirs when the provider reports it: accepted, declined, tentative or needsAction.
|
|
549
|
+
*/
|
|
550
|
+
export interface CalendarAttendee {
|
|
551
|
+
email: string;
|
|
552
|
+
name?: string;
|
|
553
|
+
response?: 'accepted' | 'declined' | 'tentative' | 'needsAction';
|
|
554
|
+
}
|
|
555
|
+
/**
|
|
556
|
+
* A person on an event (0.86.0): an attendee or the organizer. `response` is theirs when the provider reports it: accepted, declined, tentative or needsAction.
|
|
557
|
+
*/
|
|
558
|
+
export interface CalendarAttendee1 {
|
|
559
|
+
email: string;
|
|
560
|
+
name?: string;
|
|
561
|
+
response?: 'accepted' | 'declined' | 'tentative' | 'needsAction';
|
|
562
|
+
}
|
|
563
|
+
/**
|
|
564
|
+
* One sheet (tab) of a sheets.spreadsheet.read result (0.86.0): Google's numeric sheetId, its title (what a `range` names before the `!`) and its grid size.
|
|
565
|
+
*/
|
|
566
|
+
export interface SheetProperties {
|
|
567
|
+
id: number;
|
|
568
|
+
title: string;
|
|
569
|
+
rows: number;
|
|
570
|
+
columns: number;
|
|
571
|
+
}
|
|
572
|
+
/**
|
|
573
|
+
* One worksheet of an excel.worksheet.list result (0.86.0); `name` or `id` is what excel.range.read, excel.range.update and excel.table.list take as `worksheet`; `position` is its zero-based tab index.
|
|
574
|
+
*/
|
|
575
|
+
export interface ExcelWorksheet {
|
|
576
|
+
id: string;
|
|
577
|
+
name: string;
|
|
578
|
+
position: number;
|
|
579
|
+
}
|
|
580
|
+
/**
|
|
581
|
+
* One table of an excel.table.list result (0.86.0); `name` is what excel.row.add takes as `tableName`, `worksheet` the name of the sheet it lives on.
|
|
582
|
+
*/
|
|
583
|
+
export interface ExcelTable {
|
|
584
|
+
id: string;
|
|
585
|
+
name: string;
|
|
586
|
+
worksheet: string;
|
|
587
|
+
}
|
|
588
|
+
/**
|
|
589
|
+
* One message of an outlook.message.list result (0.86.0), without its body: `preview` is Graph's bodyPreview (at most 255 characters), `from` and `to` are addresses as text; `id` is what outlook.message.read, outlook.attachment.read and outlook.message.reply take as `messageId`.
|
|
590
|
+
*/
|
|
591
|
+
export interface OutlookMessageSummary {
|
|
592
|
+
id: string;
|
|
593
|
+
conversationId: string;
|
|
594
|
+
subject: string;
|
|
595
|
+
from: string;
|
|
596
|
+
to: string;
|
|
597
|
+
receivedAt: string;
|
|
598
|
+
preview: string;
|
|
599
|
+
hasAttachments: boolean;
|
|
600
|
+
webUrl: string;
|
|
601
|
+
}
|
|
602
|
+
/**
|
|
603
|
+
* One top-level message of a teams.message.list result (0.86.0): `from` is the sender's display name (or the app's), `text` the body as plain text with HTML stripped, cut at 16 KiB, `replyCount` how many replies it has when Graph reports it; `id` is what teams.reply.post takes as `messageId`.
|
|
604
|
+
*/
|
|
605
|
+
export interface TeamsMessage {
|
|
606
|
+
id: string;
|
|
607
|
+
from: string;
|
|
608
|
+
text: string;
|
|
609
|
+
createdAt: string;
|
|
610
|
+
webUrl: string;
|
|
611
|
+
replyCount?: number;
|
|
612
|
+
}
|
|
@@ -231,6 +231,321 @@ export declare const IntegrationOperations: {
|
|
|
231
231
|
readonly declaredMode: false;
|
|
232
232
|
readonly idempotencyKey: false;
|
|
233
233
|
};
|
|
234
|
+
readonly "calendar.calendar.list": {
|
|
235
|
+
readonly kind: "saas";
|
|
236
|
+
readonly identities: readonly ["user"];
|
|
237
|
+
readonly readOnly: true;
|
|
238
|
+
readonly declaredMode: false;
|
|
239
|
+
readonly idempotencyKey: false;
|
|
240
|
+
};
|
|
241
|
+
readonly "calendar.event.list": {
|
|
242
|
+
readonly kind: "saas";
|
|
243
|
+
readonly identities: readonly ["user"];
|
|
244
|
+
readonly readOnly: true;
|
|
245
|
+
readonly declaredMode: false;
|
|
246
|
+
readonly idempotencyKey: false;
|
|
247
|
+
};
|
|
248
|
+
readonly "calendar.event.read": {
|
|
249
|
+
readonly kind: "saas";
|
|
250
|
+
readonly identities: readonly ["user"];
|
|
251
|
+
readonly readOnly: true;
|
|
252
|
+
readonly declaredMode: false;
|
|
253
|
+
readonly idempotencyKey: false;
|
|
254
|
+
};
|
|
255
|
+
readonly "calendar.event.create": {
|
|
256
|
+
readonly kind: "saas";
|
|
257
|
+
readonly identities: readonly ["user"];
|
|
258
|
+
readonly readOnly: false;
|
|
259
|
+
readonly declaredMode: false;
|
|
260
|
+
readonly idempotencyKey: true;
|
|
261
|
+
};
|
|
262
|
+
readonly "calendar.event.update": {
|
|
263
|
+
readonly kind: "saas";
|
|
264
|
+
readonly identities: readonly ["user"];
|
|
265
|
+
readonly readOnly: false;
|
|
266
|
+
readonly declaredMode: false;
|
|
267
|
+
readonly idempotencyKey: false;
|
|
268
|
+
};
|
|
269
|
+
readonly "calendar.event.cancel": {
|
|
270
|
+
readonly kind: "saas";
|
|
271
|
+
readonly identities: readonly ["user"];
|
|
272
|
+
readonly readOnly: false;
|
|
273
|
+
readonly declaredMode: false;
|
|
274
|
+
readonly idempotencyKey: false;
|
|
275
|
+
};
|
|
276
|
+
readonly "drive.file.list": {
|
|
277
|
+
readonly kind: "saas";
|
|
278
|
+
readonly identities: readonly ["user"];
|
|
279
|
+
readonly readOnly: true;
|
|
280
|
+
readonly declaredMode: false;
|
|
281
|
+
readonly idempotencyKey: false;
|
|
282
|
+
};
|
|
283
|
+
readonly "drive.file.search": {
|
|
284
|
+
readonly kind: "saas";
|
|
285
|
+
readonly identities: readonly ["user"];
|
|
286
|
+
readonly readOnly: true;
|
|
287
|
+
readonly declaredMode: false;
|
|
288
|
+
readonly idempotencyKey: false;
|
|
289
|
+
};
|
|
290
|
+
readonly "drive.file.read": {
|
|
291
|
+
readonly kind: "saas";
|
|
292
|
+
readonly identities: readonly ["user"];
|
|
293
|
+
readonly readOnly: true;
|
|
294
|
+
readonly declaredMode: false;
|
|
295
|
+
readonly idempotencyKey: false;
|
|
296
|
+
};
|
|
297
|
+
readonly "drive.file.upload": {
|
|
298
|
+
readonly kind: "saas";
|
|
299
|
+
readonly identities: readonly ["user"];
|
|
300
|
+
readonly readOnly: false;
|
|
301
|
+
readonly declaredMode: false;
|
|
302
|
+
readonly idempotencyKey: true;
|
|
303
|
+
};
|
|
304
|
+
readonly "drive.folder.create": {
|
|
305
|
+
readonly kind: "saas";
|
|
306
|
+
readonly identities: readonly ["user"];
|
|
307
|
+
readonly readOnly: false;
|
|
308
|
+
readonly declaredMode: false;
|
|
309
|
+
readonly idempotencyKey: true;
|
|
310
|
+
};
|
|
311
|
+
readonly "docs.document.read": {
|
|
312
|
+
readonly kind: "saas";
|
|
313
|
+
readonly identities: readonly ["user"];
|
|
314
|
+
readonly readOnly: true;
|
|
315
|
+
readonly declaredMode: false;
|
|
316
|
+
readonly idempotencyKey: false;
|
|
317
|
+
};
|
|
318
|
+
readonly "docs.document.create": {
|
|
319
|
+
readonly kind: "saas";
|
|
320
|
+
readonly identities: readonly ["user"];
|
|
321
|
+
readonly readOnly: false;
|
|
322
|
+
readonly declaredMode: false;
|
|
323
|
+
readonly idempotencyKey: true;
|
|
324
|
+
};
|
|
325
|
+
readonly "docs.document.append": {
|
|
326
|
+
readonly kind: "saas";
|
|
327
|
+
readonly identities: readonly ["user"];
|
|
328
|
+
readonly readOnly: false;
|
|
329
|
+
readonly declaredMode: false;
|
|
330
|
+
readonly idempotencyKey: false;
|
|
331
|
+
};
|
|
332
|
+
readonly "docs.text.replace": {
|
|
333
|
+
readonly kind: "saas";
|
|
334
|
+
readonly identities: readonly ["user"];
|
|
335
|
+
readonly readOnly: false;
|
|
336
|
+
readonly declaredMode: false;
|
|
337
|
+
readonly idempotencyKey: false;
|
|
338
|
+
};
|
|
339
|
+
readonly "sheets.spreadsheet.read": {
|
|
340
|
+
readonly kind: "saas";
|
|
341
|
+
readonly identities: readonly ["user"];
|
|
342
|
+
readonly readOnly: true;
|
|
343
|
+
readonly declaredMode: false;
|
|
344
|
+
readonly idempotencyKey: false;
|
|
345
|
+
};
|
|
346
|
+
readonly "sheets.values.read": {
|
|
347
|
+
readonly kind: "saas";
|
|
348
|
+
readonly identities: readonly ["user"];
|
|
349
|
+
readonly readOnly: true;
|
|
350
|
+
readonly declaredMode: false;
|
|
351
|
+
readonly idempotencyKey: false;
|
|
352
|
+
};
|
|
353
|
+
readonly "sheets.values.append": {
|
|
354
|
+
readonly kind: "saas";
|
|
355
|
+
readonly identities: readonly ["user"];
|
|
356
|
+
readonly readOnly: false;
|
|
357
|
+
readonly declaredMode: false;
|
|
358
|
+
readonly idempotencyKey: true;
|
|
359
|
+
};
|
|
360
|
+
readonly "sheets.values.update": {
|
|
361
|
+
readonly kind: "saas";
|
|
362
|
+
readonly identities: readonly ["user"];
|
|
363
|
+
readonly readOnly: false;
|
|
364
|
+
readonly declaredMode: false;
|
|
365
|
+
readonly idempotencyKey: false;
|
|
366
|
+
};
|
|
367
|
+
readonly "sheets.values.clear": {
|
|
368
|
+
readonly kind: "saas";
|
|
369
|
+
readonly identities: readonly ["user"];
|
|
370
|
+
readonly readOnly: false;
|
|
371
|
+
readonly declaredMode: false;
|
|
372
|
+
readonly idempotencyKey: false;
|
|
373
|
+
};
|
|
374
|
+
readonly "sheets.spreadsheet.create": {
|
|
375
|
+
readonly kind: "saas";
|
|
376
|
+
readonly identities: readonly ["user"];
|
|
377
|
+
readonly readOnly: false;
|
|
378
|
+
readonly declaredMode: false;
|
|
379
|
+
readonly idempotencyKey: true;
|
|
380
|
+
};
|
|
381
|
+
readonly "outlook.message.list": {
|
|
382
|
+
readonly kind: "saas";
|
|
383
|
+
readonly identities: readonly ["user"];
|
|
384
|
+
readonly readOnly: true;
|
|
385
|
+
readonly declaredMode: false;
|
|
386
|
+
readonly idempotencyKey: false;
|
|
387
|
+
};
|
|
388
|
+
readonly "outlook.message.read": {
|
|
389
|
+
readonly kind: "saas";
|
|
390
|
+
readonly identities: readonly ["user"];
|
|
391
|
+
readonly readOnly: true;
|
|
392
|
+
readonly declaredMode: false;
|
|
393
|
+
readonly idempotencyKey: false;
|
|
394
|
+
};
|
|
395
|
+
readonly "outlook.attachment.read": {
|
|
396
|
+
readonly kind: "saas";
|
|
397
|
+
readonly identities: readonly ["user"];
|
|
398
|
+
readonly readOnly: true;
|
|
399
|
+
readonly declaredMode: false;
|
|
400
|
+
readonly idempotencyKey: false;
|
|
401
|
+
};
|
|
402
|
+
readonly "outlook.message.send": {
|
|
403
|
+
readonly kind: "saas";
|
|
404
|
+
readonly identities: readonly ["user"];
|
|
405
|
+
readonly readOnly: false;
|
|
406
|
+
readonly declaredMode: false;
|
|
407
|
+
readonly idempotencyKey: true;
|
|
408
|
+
};
|
|
409
|
+
readonly "outlook.message.reply": {
|
|
410
|
+
readonly kind: "saas";
|
|
411
|
+
readonly identities: readonly ["user"];
|
|
412
|
+
readonly readOnly: false;
|
|
413
|
+
readonly declaredMode: false;
|
|
414
|
+
readonly idempotencyKey: true;
|
|
415
|
+
};
|
|
416
|
+
readonly "outlook.event.list": {
|
|
417
|
+
readonly kind: "saas";
|
|
418
|
+
readonly identities: readonly ["user"];
|
|
419
|
+
readonly readOnly: true;
|
|
420
|
+
readonly declaredMode: false;
|
|
421
|
+
readonly idempotencyKey: false;
|
|
422
|
+
};
|
|
423
|
+
readonly "outlook.event.read": {
|
|
424
|
+
readonly kind: "saas";
|
|
425
|
+
readonly identities: readonly ["user"];
|
|
426
|
+
readonly readOnly: true;
|
|
427
|
+
readonly declaredMode: false;
|
|
428
|
+
readonly idempotencyKey: false;
|
|
429
|
+
};
|
|
430
|
+
readonly "outlook.event.create": {
|
|
431
|
+
readonly kind: "saas";
|
|
432
|
+
readonly identities: readonly ["user"];
|
|
433
|
+
readonly readOnly: false;
|
|
434
|
+
readonly declaredMode: false;
|
|
435
|
+
readonly idempotencyKey: true;
|
|
436
|
+
};
|
|
437
|
+
readonly "outlook.event.update": {
|
|
438
|
+
readonly kind: "saas";
|
|
439
|
+
readonly identities: readonly ["user"];
|
|
440
|
+
readonly readOnly: false;
|
|
441
|
+
readonly declaredMode: false;
|
|
442
|
+
readonly idempotencyKey: false;
|
|
443
|
+
};
|
|
444
|
+
readonly "outlook.event.cancel": {
|
|
445
|
+
readonly kind: "saas";
|
|
446
|
+
readonly identities: readonly ["user"];
|
|
447
|
+
readonly readOnly: false;
|
|
448
|
+
readonly declaredMode: false;
|
|
449
|
+
readonly idempotencyKey: false;
|
|
450
|
+
};
|
|
451
|
+
readonly "onedrive.file.list": {
|
|
452
|
+
readonly kind: "saas";
|
|
453
|
+
readonly identities: readonly ["user"];
|
|
454
|
+
readonly readOnly: true;
|
|
455
|
+
readonly declaredMode: false;
|
|
456
|
+
readonly idempotencyKey: false;
|
|
457
|
+
};
|
|
458
|
+
readonly "onedrive.file.search": {
|
|
459
|
+
readonly kind: "saas";
|
|
460
|
+
readonly identities: readonly ["user"];
|
|
461
|
+
readonly readOnly: true;
|
|
462
|
+
readonly declaredMode: false;
|
|
463
|
+
readonly idempotencyKey: false;
|
|
464
|
+
};
|
|
465
|
+
readonly "onedrive.file.read": {
|
|
466
|
+
readonly kind: "saas";
|
|
467
|
+
readonly identities: readonly ["user"];
|
|
468
|
+
readonly readOnly: true;
|
|
469
|
+
readonly declaredMode: false;
|
|
470
|
+
readonly idempotencyKey: false;
|
|
471
|
+
};
|
|
472
|
+
readonly "onedrive.file.upload": {
|
|
473
|
+
readonly kind: "saas";
|
|
474
|
+
readonly identities: readonly ["user"];
|
|
475
|
+
readonly readOnly: false;
|
|
476
|
+
readonly declaredMode: false;
|
|
477
|
+
readonly idempotencyKey: true;
|
|
478
|
+
};
|
|
479
|
+
readonly "onedrive.folder.create": {
|
|
480
|
+
readonly kind: "saas";
|
|
481
|
+
readonly identities: readonly ["user"];
|
|
482
|
+
readonly readOnly: false;
|
|
483
|
+
readonly declaredMode: false;
|
|
484
|
+
readonly idempotencyKey: true;
|
|
485
|
+
};
|
|
486
|
+
readonly "excel.worksheet.list": {
|
|
487
|
+
readonly kind: "saas";
|
|
488
|
+
readonly identities: readonly ["user"];
|
|
489
|
+
readonly readOnly: true;
|
|
490
|
+
readonly declaredMode: false;
|
|
491
|
+
readonly idempotencyKey: false;
|
|
492
|
+
};
|
|
493
|
+
readonly "excel.range.read": {
|
|
494
|
+
readonly kind: "saas";
|
|
495
|
+
readonly identities: readonly ["user"];
|
|
496
|
+
readonly readOnly: true;
|
|
497
|
+
readonly declaredMode: false;
|
|
498
|
+
readonly idempotencyKey: false;
|
|
499
|
+
};
|
|
500
|
+
readonly "excel.range.update": {
|
|
501
|
+
readonly kind: "saas";
|
|
502
|
+
readonly identities: readonly ["user"];
|
|
503
|
+
readonly readOnly: false;
|
|
504
|
+
readonly declaredMode: false;
|
|
505
|
+
readonly idempotencyKey: false;
|
|
506
|
+
};
|
|
507
|
+
readonly "excel.table.list": {
|
|
508
|
+
readonly kind: "saas";
|
|
509
|
+
readonly identities: readonly ["user"];
|
|
510
|
+
readonly readOnly: true;
|
|
511
|
+
readonly declaredMode: false;
|
|
512
|
+
readonly idempotencyKey: false;
|
|
513
|
+
};
|
|
514
|
+
readonly "excel.row.add": {
|
|
515
|
+
readonly kind: "saas";
|
|
516
|
+
readonly identities: readonly ["user"];
|
|
517
|
+
readonly readOnly: false;
|
|
518
|
+
readonly declaredMode: false;
|
|
519
|
+
readonly idempotencyKey: true;
|
|
520
|
+
};
|
|
521
|
+
readonly "excel.worksheet.add": {
|
|
522
|
+
readonly kind: "saas";
|
|
523
|
+
readonly identities: readonly ["user"];
|
|
524
|
+
readonly readOnly: false;
|
|
525
|
+
readonly declaredMode: false;
|
|
526
|
+
readonly idempotencyKey: true;
|
|
527
|
+
};
|
|
528
|
+
readonly "teams.message.list": {
|
|
529
|
+
readonly kind: "saas";
|
|
530
|
+
readonly identities: readonly ["user"];
|
|
531
|
+
readonly readOnly: true;
|
|
532
|
+
readonly declaredMode: false;
|
|
533
|
+
readonly idempotencyKey: false;
|
|
534
|
+
};
|
|
535
|
+
readonly "teams.message.post": {
|
|
536
|
+
readonly kind: "saas";
|
|
537
|
+
readonly identities: readonly ["user"];
|
|
538
|
+
readonly readOnly: false;
|
|
539
|
+
readonly declaredMode: false;
|
|
540
|
+
readonly idempotencyKey: true;
|
|
541
|
+
};
|
|
542
|
+
readonly "teams.reply.post": {
|
|
543
|
+
readonly kind: "saas";
|
|
544
|
+
readonly identities: readonly ["user"];
|
|
545
|
+
readonly readOnly: false;
|
|
546
|
+
readonly declaredMode: false;
|
|
547
|
+
readonly idempotencyKey: true;
|
|
548
|
+
};
|
|
234
549
|
readonly "warehouse.view.read": {
|
|
235
550
|
readonly kind: "database";
|
|
236
551
|
readonly identities: readonly ["app"];
|