nylas 7.8.0 → 7.9.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.
@@ -31,6 +31,7 @@ __exportStar(require("./freeBusy.js"), exports);
31
31
  __exportStar(require("./grants.js"), exports);
32
32
  __exportStar(require("./listQueryParams.js"), exports);
33
33
  __exportStar(require("./messages.js"), exports);
34
+ __exportStar(require("./notetakers.js"), exports);
34
35
  __exportStar(require("./redirectUri.js"), exports);
35
36
  __exportStar(require("./response.js"), exports);
36
37
  __exportStar(require("./scheduler.js"), exports);
@@ -0,0 +1,2 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
package/lib/cjs/nylas.js CHANGED
@@ -31,6 +31,7 @@ const grants_js_1 = require("./resources/grants.js");
31
31
  const contacts_js_1 = require("./resources/contacts.js");
32
32
  const attachments_js_1 = require("./resources/attachments.js");
33
33
  const scheduler_js_1 = require("./resources/scheduler.js");
34
+ const notetakers_js_1 = require("./resources/notetakers.js");
34
35
  /**
35
36
  * The entry point to the Node SDK
36
37
  *
@@ -56,6 +57,7 @@ class Nylas {
56
57
  this.events = new events_js_1.Events(this.apiClient);
57
58
  this.grants = new grants_js_1.Grants(this.apiClient);
58
59
  this.messages = new messages_js_1.Messages(this.apiClient);
60
+ this.notetakers = new notetakers_js_1.Notetakers(this.apiClient);
59
61
  this.threads = new threads_js_1.Threads(this.apiClient);
60
62
  this.webhooks = new webhooks_js_1.Webhooks(this.apiClient);
61
63
  this.folders = new folders_js_1.Folders(this.apiClient);
@@ -0,0 +1,108 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.Notetakers = void 0;
4
+ const resource_js_1 = require("./resource.js");
5
+ /**
6
+ * Nylas Notetakers API
7
+ *
8
+ * The Nylas Notetakers API allows you to invite a Notetaker bot to meetings.
9
+ */
10
+ class Notetakers extends resource_js_1.Resource {
11
+ /**
12
+ * Return all Notetakers
13
+ * @param params The parameters to list Notetakers with
14
+ * @return The list of Notetakers
15
+ */
16
+ list({ identifier, queryParams, overrides, }) {
17
+ return super._list({
18
+ path: identifier
19
+ ? `/v3/grants/${identifier}/notetakers`
20
+ : '/v3/notetakers',
21
+ queryParams,
22
+ overrides,
23
+ });
24
+ }
25
+ /**
26
+ * Invite a Notetaker to a meeting
27
+ * @param params The parameters to create the Notetaker with
28
+ * @returns Promise resolving to the created Notetaker
29
+ */
30
+ create({ identifier, requestBody, overrides, }) {
31
+ return this._create({
32
+ path: identifier
33
+ ? `/v3/grants/${identifier}/notetakers`
34
+ : '/v3/notetakers',
35
+ requestBody,
36
+ overrides,
37
+ });
38
+ }
39
+ /**
40
+ * Return a single Notetaker
41
+ * @param params The parameters to find the Notetaker with
42
+ * @returns Promise resolving to the Notetaker
43
+ */
44
+ find({ identifier, notetakerId, overrides, }) {
45
+ return this._find({
46
+ path: identifier
47
+ ? `/v3/grants/${identifier}/notetakers/${notetakerId}`
48
+ : `/v3/notetakers/${notetakerId}`,
49
+ overrides,
50
+ });
51
+ }
52
+ /**
53
+ * Update a Notetaker
54
+ * @param params The parameters to update the Notetaker with
55
+ * @returns Promise resolving to the updated Notetaker
56
+ */
57
+ update({ identifier, notetakerId, requestBody, overrides, }) {
58
+ return this._updatePatch({
59
+ path: identifier
60
+ ? `/v3/grants/${identifier}/notetakers/${notetakerId}`
61
+ : `/v3/notetakers/${notetakerId}`,
62
+ requestBody,
63
+ overrides,
64
+ });
65
+ }
66
+ /**
67
+ * Cancel a scheduled Notetaker
68
+ * @param params The parameters to cancel the Notetaker with
69
+ * @returns Promise resolving to the base response with request ID
70
+ */
71
+ cancel({ identifier, notetakerId, overrides, }) {
72
+ return this._destroy({
73
+ path: identifier
74
+ ? `/v3/grants/${identifier}/notetakers/${notetakerId}`
75
+ : `/v3/notetakers/${notetakerId}`,
76
+ overrides,
77
+ });
78
+ }
79
+ /**
80
+ * Remove a Notetaker from a meeting
81
+ * @param params The parameters to remove the Notetaker from the meeting
82
+ * @returns Promise resolving to a response containing the Notetaker ID and a message
83
+ */
84
+ leave({ identifier, notetakerId, overrides, }) {
85
+ return this.apiClient.request({
86
+ method: 'POST',
87
+ path: identifier
88
+ ? `/v3/grants/${identifier}/notetakers/${notetakerId}/leave`
89
+ : `/v3/notetakers/${notetakerId}/leave`,
90
+ overrides,
91
+ });
92
+ }
93
+ /**
94
+ * Download media (recording and transcript) from a Notetaker session
95
+ * @param params The parameters to download the Notetaker media
96
+ * @returns Promise resolving to the media download response with URLs and sizes
97
+ */
98
+ downloadMedia({ identifier, notetakerId, overrides, }) {
99
+ return this.apiClient.request({
100
+ method: 'GET',
101
+ path: identifier
102
+ ? `/v3/grants/${identifier}/notetakers/${notetakerId}/media`
103
+ : `/v3/notetakers/${notetakerId}/media`,
104
+ overrides,
105
+ });
106
+ }
107
+ }
108
+ exports.Notetakers = Notetakers;
@@ -2,4 +2,4 @@
2
2
  Object.defineProperty(exports, "__esModule", { value: true });
3
3
  exports.SDK_VERSION = void 0;
4
4
  // This file is generated by scripts/exportVersion.js
5
- exports.SDK_VERSION = '7.8.0';
5
+ exports.SDK_VERSION = '7.9.0';
@@ -15,6 +15,7 @@ export * from './freeBusy.js';
15
15
  export * from './grants.js';
16
16
  export * from './listQueryParams.js';
17
17
  export * from './messages.js';
18
+ export * from './notetakers.js';
18
19
  export * from './redirectUri.js';
19
20
  export * from './response.js';
20
21
  export * from './scheduler.js';
@@ -0,0 +1 @@
1
+ export {};
package/lib/esm/nylas.js CHANGED
@@ -15,6 +15,7 @@ import { Grants } from './resources/grants.js';
15
15
  import { Contacts } from './resources/contacts.js';
16
16
  import { Attachments } from './resources/attachments.js';
17
17
  import { Scheduler } from './resources/scheduler.js';
18
+ import { Notetakers } from './resources/notetakers.js';
18
19
  /**
19
20
  * The entry point to the Node SDK
20
21
  *
@@ -40,6 +41,7 @@ export default class Nylas {
40
41
  this.events = new Events(this.apiClient);
41
42
  this.grants = new Grants(this.apiClient);
42
43
  this.messages = new Messages(this.apiClient);
44
+ this.notetakers = new Notetakers(this.apiClient);
43
45
  this.threads = new Threads(this.apiClient);
44
46
  this.webhooks = new Webhooks(this.apiClient);
45
47
  this.folders = new Folders(this.apiClient);
@@ -0,0 +1,104 @@
1
+ import { Resource } from './resource.js';
2
+ /**
3
+ * Nylas Notetakers API
4
+ *
5
+ * The Nylas Notetakers API allows you to invite a Notetaker bot to meetings.
6
+ */
7
+ export class Notetakers extends Resource {
8
+ /**
9
+ * Return all Notetakers
10
+ * @param params The parameters to list Notetakers with
11
+ * @return The list of Notetakers
12
+ */
13
+ list({ identifier, queryParams, overrides, }) {
14
+ return super._list({
15
+ path: identifier
16
+ ? `/v3/grants/${identifier}/notetakers`
17
+ : '/v3/notetakers',
18
+ queryParams,
19
+ overrides,
20
+ });
21
+ }
22
+ /**
23
+ * Invite a Notetaker to a meeting
24
+ * @param params The parameters to create the Notetaker with
25
+ * @returns Promise resolving to the created Notetaker
26
+ */
27
+ create({ identifier, requestBody, overrides, }) {
28
+ return this._create({
29
+ path: identifier
30
+ ? `/v3/grants/${identifier}/notetakers`
31
+ : '/v3/notetakers',
32
+ requestBody,
33
+ overrides,
34
+ });
35
+ }
36
+ /**
37
+ * Return a single Notetaker
38
+ * @param params The parameters to find the Notetaker with
39
+ * @returns Promise resolving to the Notetaker
40
+ */
41
+ find({ identifier, notetakerId, overrides, }) {
42
+ return this._find({
43
+ path: identifier
44
+ ? `/v3/grants/${identifier}/notetakers/${notetakerId}`
45
+ : `/v3/notetakers/${notetakerId}`,
46
+ overrides,
47
+ });
48
+ }
49
+ /**
50
+ * Update a Notetaker
51
+ * @param params The parameters to update the Notetaker with
52
+ * @returns Promise resolving to the updated Notetaker
53
+ */
54
+ update({ identifier, notetakerId, requestBody, overrides, }) {
55
+ return this._updatePatch({
56
+ path: identifier
57
+ ? `/v3/grants/${identifier}/notetakers/${notetakerId}`
58
+ : `/v3/notetakers/${notetakerId}`,
59
+ requestBody,
60
+ overrides,
61
+ });
62
+ }
63
+ /**
64
+ * Cancel a scheduled Notetaker
65
+ * @param params The parameters to cancel the Notetaker with
66
+ * @returns Promise resolving to the base response with request ID
67
+ */
68
+ cancel({ identifier, notetakerId, overrides, }) {
69
+ return this._destroy({
70
+ path: identifier
71
+ ? `/v3/grants/${identifier}/notetakers/${notetakerId}`
72
+ : `/v3/notetakers/${notetakerId}`,
73
+ overrides,
74
+ });
75
+ }
76
+ /**
77
+ * Remove a Notetaker from a meeting
78
+ * @param params The parameters to remove the Notetaker from the meeting
79
+ * @returns Promise resolving to a response containing the Notetaker ID and a message
80
+ */
81
+ leave({ identifier, notetakerId, overrides, }) {
82
+ return this.apiClient.request({
83
+ method: 'POST',
84
+ path: identifier
85
+ ? `/v3/grants/${identifier}/notetakers/${notetakerId}/leave`
86
+ : `/v3/notetakers/${notetakerId}/leave`,
87
+ overrides,
88
+ });
89
+ }
90
+ /**
91
+ * Download media (recording and transcript) from a Notetaker session
92
+ * @param params The parameters to download the Notetaker media
93
+ * @returns Promise resolving to the media download response with URLs and sizes
94
+ */
95
+ downloadMedia({ identifier, notetakerId, overrides, }) {
96
+ return this.apiClient.request({
97
+ method: 'GET',
98
+ path: identifier
99
+ ? `/v3/grants/${identifier}/notetakers/${notetakerId}/media`
100
+ : `/v3/notetakers/${notetakerId}/media`,
101
+ overrides,
102
+ });
103
+ }
104
+ }
@@ -1,2 +1,2 @@
1
1
  // This file is generated by scripts/exportVersion.js
2
- export const SDK_VERSION = '7.8.0';
2
+ export const SDK_VERSION = '7.9.0';
@@ -96,6 +96,12 @@ export interface AvailabilityRules {
96
96
  * This is used for both max-fairness and max-availability methods.
97
97
  */
98
98
  roundRobinEventId?: string;
99
+ /**
100
+ * tentative_as_busy: Controls whether tentative calendar events should be treated as busy time.
101
+ * When set to false, tentative events will be considered as free in availability calculations.
102
+ * Defaults to true. Only applicable for Microsoft and EWS calendar providers.
103
+ */
104
+ tentativeAsBusy?: boolean;
99
105
  }
100
106
  /**
101
107
  * Interface for the meeting buffer object within an availability request.
@@ -1,4 +1,55 @@
1
1
  import { ListQueryParams } from './listQueryParams.js';
2
+ import { NotetakerMeetingSettings } from './notetakers.js';
3
+ /**
4
+ * Interface for Calendar Notetaker participant filter
5
+ */
6
+ export interface CalendarNotetakerParticipantFilter {
7
+ /**
8
+ * Only have meeting bot join meetings with greater than or equal to this number of participants
9
+ */
10
+ participantsGte?: number;
11
+ /**
12
+ * Only have meeting bot join meetings with less than or equal to this number of participants
13
+ */
14
+ participantsLte?: number;
15
+ }
16
+ /**
17
+ * Interface for Calendar Notetaker rules
18
+ */
19
+ export interface CalendarNotetakerRules {
20
+ /**
21
+ * Types of events to include for notetaking. This is a union of events that should have a Notetaker sent to them.
22
+ * "internal": Events where the host domain matches all participants' domain names
23
+ * "external": Events where the host domain differs from any participant's domain name
24
+ * "own_events": Events where the host is the same as the user's grant
25
+ * "participant_only": Events where the user's grant is a participant but not the host
26
+ * "all": When all options are included, all events with meeting links will have Notetakers
27
+ */
28
+ eventSelection?: Array<'internal' | 'external' | 'all' | 'ownEvents' | 'participantOnly'>;
29
+ /**
30
+ * Filters to apply based on the number of participants. This is an intersection with the event_selection.
31
+ * When null, there are no restrictions on the number of participants for notetaker events.
32
+ */
33
+ participantFilter?: CalendarNotetakerParticipantFilter;
34
+ }
35
+ /**
36
+ * Interface for Calendar Notetaker settings
37
+ */
38
+ export interface CalendarNotetaker {
39
+ /**
40
+ * The display name for the Notetaker bot.
41
+ * @default "Nylas Notetaker"
42
+ */
43
+ name?: string;
44
+ /**
45
+ * Notetaker Meeting Settings
46
+ */
47
+ meetingSettings?: NotetakerMeetingSettings;
48
+ /**
49
+ * Rules for when the Notetaker should join a meeting.
50
+ */
51
+ rules?: CalendarNotetakerRules;
52
+ }
2
53
  /**
3
54
  * Interface of the query parameters for listing calendars.
4
55
  */
@@ -43,6 +94,10 @@ export interface CreateCalenderRequest {
43
94
  * A list of key-value pairs storing additional data.
44
95
  */
45
96
  metadata?: Record<string, string>;
97
+ /**
98
+ * Notetaker meeting bot settings
99
+ */
100
+ notetaker?: CalendarNotetaker;
46
101
  }
47
102
  /**
48
103
  * Interface of a Nylas update calendar request
@@ -118,4 +173,8 @@ export interface Calendar {
118
173
  * A list of key-value pairs storing additional data.
119
174
  */
120
175
  metadata?: Record<string, unknown>;
176
+ /**
177
+ * Notetaker meeting bot settings
178
+ */
179
+ notetaker?: CalendarNotetaker;
121
180
  }
@@ -2,6 +2,21 @@ import { Subset } from '../utils.js';
2
2
  import { NylasApiErrorResponseData } from './error.js';
3
3
  import { ListQueryParams } from './listQueryParams.js';
4
4
  import { NylasBaseResponse } from './response.js';
5
+ import { NotetakerMeetingSettings } from './notetakers.js';
6
+ /**
7
+ * Interface representing Notetaker settings
8
+ */
9
+ export interface NotetakerSettings {
10
+ /**
11
+ * The display name for the Notetaker bot.
12
+ * Default: Nylas Notetaker
13
+ */
14
+ name?: string;
15
+ /**
16
+ * Notetaker Meeting Settings
17
+ */
18
+ meetingSettings?: NotetakerMeetingSettings;
19
+ }
5
20
  /**
6
21
  * Interface representing a Nylas Event object.
7
22
  */
@@ -115,6 +130,10 @@ export interface Event {
115
130
  * Master event id if recurring events.
116
131
  */
117
132
  masterEventId?: string;
133
+ /**
134
+ * Notetaker meeting bot settings
135
+ */
136
+ notetaker?: NotetakerSettings;
118
137
  }
119
138
  /**
120
139
  * Interface representing a request to create an event.
@@ -187,6 +206,10 @@ export interface CreateEventRequest {
187
206
  * Whether participants of the event should be hidden.
188
207
  */
189
208
  hideParticipants?: boolean;
209
+ /**
210
+ * Notetaker meeting bot settings
211
+ */
212
+ notetaker?: NotetakerSettings;
190
213
  }
191
214
  /**
192
215
  * Interface representing a request to update an event.
@@ -286,6 +309,11 @@ export interface ListEventQueryParams extends ListQueryParams {
286
309
  * Master event id if recurring events.
287
310
  */
288
311
  masterEventId?: string;
312
+ /**
313
+ * When set to false, treats tentative calendar events as busy:false.
314
+ * Only applicable for Microsoft and EWS calendar providers. Defaults to true.
315
+ */
316
+ tentativeAsBusy?: boolean;
289
317
  }
290
318
  /**
291
319
  * Interface representing of the query parameters for creating an event.
@@ -299,6 +327,11 @@ export interface CreateEventQueryParams {
299
327
  * Email notifications containing the calendar event is sent to all event participants.
300
328
  */
301
329
  notifyParticipants?: boolean;
330
+ /**
331
+ * When set to false, treats tentative calendar events as busy:false.
332
+ * Only applicable for Microsoft and EWS calendar providers. Defaults to true.
333
+ */
334
+ tentativeAsBusy?: boolean;
302
335
  }
303
336
  /**
304
337
  * Interface representing of the query parameters for finding an event.
@@ -308,6 +341,11 @@ export interface FindEventQueryParams {
308
341
  * Calendar ID to find the event in. "primary" is a supported value indicating the user's primary calendar.
309
342
  */
310
343
  calendarId: string;
344
+ /**
345
+ * When set to false, treats tentative calendar events as busy:false.
346
+ * Only applicable for Microsoft and EWS calendar providers. Defaults to true.
347
+ */
348
+ tentativeAsBusy?: boolean;
311
349
  }
312
350
  /**
313
351
  * Interface representing of the query parameters for updating events.
@@ -14,6 +14,7 @@ export * from './freeBusy.js';
14
14
  export * from './grants.js';
15
15
  export * from './listQueryParams.js';
16
16
  export * from './messages.js';
17
+ export * from './notetakers.js';
17
18
  export * from './redirectUri.js';
18
19
  export * from './response.js';
19
20
  export * from './scheduler.js';
@@ -0,0 +1,249 @@
1
+ import { NylasListResponse } from './response.js';
2
+ import { ListQueryParams } from './listQueryParams.js';
3
+ /**
4
+ * Enum representing the supported meeting providers.
5
+ */
6
+ export type NotetakerMeetingProvider = 'Google Meet' | 'Microsoft Teams' | 'Zoom Meeting';
7
+ /**
8
+ * Enum representing the current state of the Notetaker bot.
9
+ */
10
+ export type NotetakerState = 'scheduled' | 'connecting' | 'waiting_for_entry' | 'failed_entry' | 'attending' | 'media_processing' | 'media_available' | 'media_error' | 'media_deleted';
11
+ /**
12
+ * Interface representing Notetaker Meeting Settings
13
+ */
14
+ export interface NotetakerMeetingSettings {
15
+ /**
16
+ * When true, Notetaker records the meeting's video.
17
+ */
18
+ videoRecording: boolean;
19
+ /**
20
+ * When true, Notetaker records the meeting's audio.
21
+ */
22
+ audioRecording: boolean;
23
+ /**
24
+ * When true, Notetaker transcribes the meeting's audio.
25
+ * If transcription is true, audioRecording must also be true.
26
+ */
27
+ transcription: boolean;
28
+ }
29
+ /**
30
+ * Interface representing a Nylas Notetaker object.
31
+ */
32
+ export interface Notetaker {
33
+ /**
34
+ * The Notetaker ID.
35
+ */
36
+ id: string;
37
+ /**
38
+ * The display name for the Notetaker bot.
39
+ */
40
+ name: string;
41
+ /**
42
+ * When Notetaker joined the meeting, in Unix timestamp format.
43
+ */
44
+ joinTime: number;
45
+ /**
46
+ * The meeting link.
47
+ */
48
+ meetingLink: string;
49
+ /**
50
+ * The meeting provider.
51
+ */
52
+ meetingProvider: NotetakerMeetingProvider;
53
+ /**
54
+ * The current state of the Notetaker bot.
55
+ */
56
+ state: NotetakerState;
57
+ /**
58
+ * Notetaker Meeting Settings
59
+ */
60
+ meetingSettings: NotetakerMeetingSettings;
61
+ }
62
+ /**
63
+ * Interface representing Notetaker media recording information
64
+ */
65
+ export interface NotetakerRecording {
66
+ /**
67
+ * A link to the meeting recording.
68
+ */
69
+ url: string;
70
+ /**
71
+ * The size of the file, in bytes.
72
+ */
73
+ size: number;
74
+ /**
75
+ * The name of the recording file.
76
+ */
77
+ name: string;
78
+ /**
79
+ * The MIME type of the recording file.
80
+ */
81
+ type: string;
82
+ /**
83
+ * When the recording file was uploaded to the storage server, in Unix timestamp format.
84
+ */
85
+ createdAt: number;
86
+ /**
87
+ * When the recording file will be deleted from the storage server, in Unix timestamp format.
88
+ */
89
+ expiresAt: number;
90
+ /**
91
+ * Time-to-live in seconds until the recording file will be deleted from Nylas' storage server.
92
+ */
93
+ ttl: number;
94
+ }
95
+ /**
96
+ * Interface representing Notetaker media transcript information
97
+ */
98
+ export interface NotetakerTranscript {
99
+ /**
100
+ * A link to the meeting transcript.
101
+ */
102
+ url: string;
103
+ /**
104
+ * The size of the file, in bytes.
105
+ */
106
+ size: number;
107
+ /**
108
+ * The name of the transcript file.
109
+ */
110
+ name: string;
111
+ /**
112
+ * The MIME type of the transcript file.
113
+ */
114
+ type: string;
115
+ /**
116
+ * When the transcript file was uploaded to the storage server, in Unix timestamp format.
117
+ */
118
+ createdAt: number;
119
+ /**
120
+ * When the transcript file will be deleted from the storage server, in Unix timestamp format.
121
+ */
122
+ expiresAt: number;
123
+ /**
124
+ * Time-to-live in seconds until the transcript file will be deleted from Nylas' storage server.
125
+ */
126
+ ttl: number;
127
+ }
128
+ /**
129
+ * Interface representing Notetaker media data
130
+ */
131
+ export interface NotetakerMedia {
132
+ /**
133
+ * The meeting recording.
134
+ */
135
+ recording: NotetakerRecording;
136
+ /**
137
+ * The meeting transcript.
138
+ */
139
+ transcript: NotetakerTranscript;
140
+ }
141
+ /**
142
+ * Interface representing the request body for creating a Notetaker.
143
+ */
144
+ export interface CreateNotetakerRequest {
145
+ /**
146
+ * A meeting invitation link that Notetaker uses to join the meeting.
147
+ */
148
+ meetingLink: string;
149
+ /**
150
+ * When Notetaker should join the meeting, in Unix timestamp format.
151
+ * If empty, Notetaker joins the meeting immediately.
152
+ * If you provide a time that's in the past, Nylas returns an error.
153
+ */
154
+ joinTime?: number;
155
+ /**
156
+ * The display name for the Notetaker bot.
157
+ * Default: Nylas Notetaker
158
+ */
159
+ name?: string;
160
+ /**
161
+ * Notetaker Meeting Settings
162
+ */
163
+ meetingSettings?: Partial<NotetakerMeetingSettings>;
164
+ }
165
+ /**
166
+ * Interface representing the request body for updating a Notetaker.
167
+ */
168
+ export interface UpdateNotetakerRequest {
169
+ /**
170
+ * When Notetaker should join the meeting, in Unix timestamp format.
171
+ * If empty, Notetaker joins the meeting immediately.
172
+ * If you provide a time that's in the past, Nylas returns an error.
173
+ */
174
+ joinTime?: number;
175
+ /**
176
+ * The display name for the Notetaker bot.
177
+ * Default: Nylas Notetaker
178
+ */
179
+ name?: string;
180
+ /**
181
+ * Notetaker Meeting Settings
182
+ */
183
+ meetingSettings?: Partial<NotetakerMeetingSettings>;
184
+ }
185
+ export interface ListNotetakersResponse extends NylasListResponse<Notetaker> {
186
+ /**
187
+ * A cursor pointing to the previous page of results for the request.
188
+ */
189
+ prevCursor?: string;
190
+ /**
191
+ * A cursor pointing to the next page of results for the request.
192
+ */
193
+ nextCursor?: string;
194
+ }
195
+ /**
196
+ * Interface representing the query parameters for listing notetakers.
197
+ */
198
+ export interface ListNotetakersQueryParams extends ListQueryParams {
199
+ /**
200
+ * Filter for Notetaker bots with the specified meeting state.
201
+ */
202
+ state?: NotetakerState;
203
+ /**
204
+ * Filter for Notetaker bots that have join times that start at or after a specific time, in Unix timestamp format.
205
+ */
206
+ joinTimeStart?: number;
207
+ /**
208
+ * Filter for Notetaker bots that have join times that end at or are before a specific time, in Unix timestamp format.
209
+ */
210
+ joinTimeEnd?: number;
211
+ /**
212
+ * The maximum number of objects to return.
213
+ * This field defaults to 50. The maximum allowed value is 200.
214
+ */
215
+ limit?: number;
216
+ /**
217
+ * An identifier that specifies which page of data to return.
218
+ * This value should be taken from the next_cursor response field.
219
+ */
220
+ pageToken?: string;
221
+ /**
222
+ * An identifier that specifies which page of data to return.
223
+ * This value should be taken from the prev_cursor response field.
224
+ */
225
+ prevPageToken?: string;
226
+ /**
227
+ * The field to order the Notetaker bots by.
228
+ * @default created_at
229
+ */
230
+ orderBy?: 'name' | 'join_time' | 'created_at';
231
+ /**
232
+ * The direction to order the Notetaker bots by.
233
+ * @default asc
234
+ */
235
+ orderDirection?: 'asc' | 'desc';
236
+ }
237
+ /**
238
+ * Interface representing the response from leaving a Notetaker session
239
+ */
240
+ export interface NotetakerLeaveResponse {
241
+ /**
242
+ * The Notetaker ID.
243
+ */
244
+ id: string;
245
+ /**
246
+ * A message describing the API response.
247
+ */
248
+ message: string;
249
+ }
@@ -15,6 +15,7 @@ import { Grants } from './resources/grants.js';
15
15
  import { Contacts } from './resources/contacts.js';
16
16
  import { Attachments } from './resources/attachments.js';
17
17
  import { Scheduler } from './resources/scheduler.js';
18
+ import { Notetakers } from './resources/notetakers.js';
18
19
  /**
19
20
  * The entry point to the Node SDK
20
21
  *
@@ -62,6 +63,10 @@ export default class Nylas {
62
63
  * Access the Messages API
63
64
  */
64
65
  messages: Messages;
66
+ /**
67
+ * Access the Notetakers API
68
+ */
69
+ notetakers: Notetakers;
65
70
  /**
66
71
  * Access the Threads API
67
72
  */
@@ -0,0 +1,111 @@
1
+ import { Overrides } from '../config.js';
2
+ import { CreateNotetakerRequest, ListNotetakersResponse, Notetaker, NotetakerMedia, UpdateNotetakerRequest, ListNotetakersQueryParams, NotetakerLeaveResponse } from '../models/notetakers.js';
3
+ import { NylasBaseResponse, NylasResponse } from '../models/response.js';
4
+ import { AsyncListResponse, Resource } from './resource.js';
5
+ /**
6
+ * @property identifier The identifier of the grant to act upon
7
+ * @property queryParams The query parameters to filter the list of Notetakers
8
+ */
9
+ export interface ListNotetakersParams {
10
+ identifier?: string;
11
+ queryParams?: ListNotetakersQueryParams;
12
+ }
13
+ /**
14
+ * @property identifier The identifier of the grant to act upon
15
+ * @property requestBody The request body to create the Notetaker with
16
+ */
17
+ export interface CreateNotetakerParams {
18
+ identifier?: string;
19
+ requestBody: CreateNotetakerRequest;
20
+ }
21
+ /**
22
+ * @property identifier The identifier of the grant to act upon
23
+ * @property notetakerId The ID of the Notetaker to find
24
+ */
25
+ export interface FindNotetakerParams {
26
+ identifier?: string;
27
+ notetakerId: string;
28
+ }
29
+ /**
30
+ * @property identifier The identifier of the grant to act upon
31
+ * @property notetakerId The ID of the Notetaker to update
32
+ * @property requestBody The request body to update the Notetaker with
33
+ */
34
+ export interface UpdateNotetakerParams {
35
+ identifier?: string;
36
+ notetakerId: string;
37
+ requestBody: UpdateNotetakerRequest;
38
+ }
39
+ /**
40
+ * @property identifier The identifier of the grant to act upon
41
+ * @property notetakerId The ID of the Notetaker to cancel
42
+ */
43
+ export interface CancelNotetakerParams {
44
+ identifier?: string;
45
+ notetakerId: string;
46
+ }
47
+ /**
48
+ * @property identifier The identifier of the grant to act upon
49
+ * @property notetakerId The ID of the Notetaker to leave
50
+ */
51
+ export interface LeaveNotetakerParams {
52
+ identifier?: string;
53
+ notetakerId: string;
54
+ }
55
+ /**
56
+ * @property identifier The identifier of the grant to act upon
57
+ * @property notetakerId The ID of the Notetaker to download media from
58
+ */
59
+ export interface DownloadNotetakerMediaParams {
60
+ identifier?: string;
61
+ notetakerId: string;
62
+ }
63
+ /**
64
+ * Nylas Notetakers API
65
+ *
66
+ * The Nylas Notetakers API allows you to invite a Notetaker bot to meetings.
67
+ */
68
+ export declare class Notetakers extends Resource {
69
+ /**
70
+ * Return all Notetakers
71
+ * @param params The parameters to list Notetakers with
72
+ * @return The list of Notetakers
73
+ */
74
+ list({ identifier, queryParams, overrides, }: ListNotetakersParams & Overrides): AsyncListResponse<ListNotetakersResponse>;
75
+ /**
76
+ * Invite a Notetaker to a meeting
77
+ * @param params The parameters to create the Notetaker with
78
+ * @returns Promise resolving to the created Notetaker
79
+ */
80
+ create({ identifier, requestBody, overrides, }: CreateNotetakerParams & Overrides): Promise<NylasResponse<Notetaker>>;
81
+ /**
82
+ * Return a single Notetaker
83
+ * @param params The parameters to find the Notetaker with
84
+ * @returns Promise resolving to the Notetaker
85
+ */
86
+ find({ identifier, notetakerId, overrides, }: FindNotetakerParams & Overrides): Promise<NylasResponse<Notetaker>>;
87
+ /**
88
+ * Update a Notetaker
89
+ * @param params The parameters to update the Notetaker with
90
+ * @returns Promise resolving to the updated Notetaker
91
+ */
92
+ update({ identifier, notetakerId, requestBody, overrides, }: UpdateNotetakerParams & Overrides): Promise<NylasResponse<Notetaker>>;
93
+ /**
94
+ * Cancel a scheduled Notetaker
95
+ * @param params The parameters to cancel the Notetaker with
96
+ * @returns Promise resolving to the base response with request ID
97
+ */
98
+ cancel({ identifier, notetakerId, overrides, }: CancelNotetakerParams & Overrides): Promise<NylasBaseResponse>;
99
+ /**
100
+ * Remove a Notetaker from a meeting
101
+ * @param params The parameters to remove the Notetaker from the meeting
102
+ * @returns Promise resolving to a response containing the Notetaker ID and a message
103
+ */
104
+ leave({ identifier, notetakerId, overrides, }: LeaveNotetakerParams & Overrides): Promise<NylasResponse<NotetakerLeaveResponse>>;
105
+ /**
106
+ * Download media (recording and transcript) from a Notetaker session
107
+ * @param params The parameters to download the Notetaker media
108
+ * @returns Promise resolving to the media download response with URLs and sizes
109
+ */
110
+ downloadMedia({ identifier, notetakerId, overrides, }: DownloadNotetakerMediaParams & Overrides): Promise<NylasResponse<NotetakerMedia>>;
111
+ }
@@ -1 +1 @@
1
- export declare const SDK_VERSION = "7.8.0";
1
+ export declare const SDK_VERSION = "7.9.0";
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "nylas",
3
- "version": "7.8.0",
3
+ "version": "7.9.0",
4
4
  "description": "A NodeJS wrapper for the Nylas REST API for email, contacts, and calendar.",
5
5
  "main": "lib/cjs/nylas.js",
6
6
  "types": "lib/types/nylas.d.ts",