microsoft-graph-client 1.0.33 → 1.0.35

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.
Files changed (50) hide show
  1. package/dist/api/calendar.d.ts +6 -2
  2. package/dist/api/calendar.d.ts.map +1 -1
  3. package/dist/api/calendar.js +10 -3
  4. package/dist/api/calendar.js.map +1 -1
  5. package/dist/api/chats.d.ts +133 -4
  6. package/dist/api/chats.d.ts.map +1 -1
  7. package/dist/api/chats.js +194 -17
  8. package/dist/api/chats.js.map +1 -1
  9. package/dist/api/files.js +1 -1
  10. package/dist/api/files.js.map +1 -1
  11. package/dist/api/mail.d.ts.map +1 -1
  12. package/dist/api/mail.js +6 -0
  13. package/dist/api/mail.js.map +1 -1
  14. package/dist/api/messages.d.ts +122 -3
  15. package/dist/api/messages.d.ts.map +1 -1
  16. package/dist/api/messages.js +215 -50
  17. package/dist/api/messages.js.map +1 -1
  18. package/dist/api/users.d.ts +4 -3
  19. package/dist/api/users.d.ts.map +1 -1
  20. package/dist/api/users.js +13 -4
  21. package/dist/api/users.js.map +1 -1
  22. package/dist/types/calendar.d.ts +9 -0
  23. package/dist/types/calendar.d.ts.map +1 -1
  24. package/dist/types/calendar.js +14 -1
  25. package/dist/types/calendar.js.map +1 -1
  26. package/dist/types/chat.d.ts +42 -0
  27. package/dist/types/chat.d.ts.map +1 -1
  28. package/dist/types/file.d.ts +2 -0
  29. package/dist/types/file.d.ts.map +1 -1
  30. package/dist/types/index.d.ts +5 -3
  31. package/dist/types/index.d.ts.map +1 -1
  32. package/dist/types/index.js +2 -0
  33. package/dist/types/index.js.map +1 -1
  34. package/dist/types/mail.d.ts +4 -0
  35. package/dist/types/mail.d.ts.map +1 -1
  36. package/dist/types/message.d.ts +113 -8
  37. package/dist/types/message.d.ts.map +1 -1
  38. package/dist/types/user.d.ts +12 -0
  39. package/dist/types/user.d.ts.map +1 -1
  40. package/dist/types/user.js +4 -1
  41. package/dist/types/user.js.map +1 -1
  42. package/dist/utils/index.d.ts +1 -1
  43. package/dist/utils/index.d.ts.map +1 -1
  44. package/dist/utils/index.js +1 -1
  45. package/dist/utils/index.js.map +1 -1
  46. package/dist/utils/odata.d.ts +59 -8
  47. package/dist/utils/odata.d.ts.map +1 -1
  48. package/dist/utils/odata.js +64 -9
  49. package/dist/utils/odata.js.map +1 -1
  50. package/package.json +1 -1
@@ -5,9 +5,13 @@ import type { CancelCalendarEventParams, CreateCalendarEventParams, Event, FindM
5
5
  */
6
6
  export declare class CalendarApi extends BaseApi {
7
7
  /**
8
- * Get calendar events within a time range.
8
+ * Get calendar events within a time range. Returns `{ events, nextLink }`
9
+ * for caller-driven pagination.
9
10
  */
10
- getEvents(params?: GetCalendarEventsParams): Promise<Event[]>;
11
+ getEvents(params?: GetCalendarEventsParams): Promise<{
12
+ events: Event[];
13
+ nextLink?: string;
14
+ }>;
11
15
  /**
12
16
  * Create a calendar event.
13
17
  */
@@ -1 +1 @@
1
- {"version":3,"file":"calendar.d.ts","sourceRoot":"","sources":["../../src/api/calendar.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,OAAO,EAAE,MAAM,WAAW,CAAC;AACpC,OAAO,KAAK,EACV,yBAAyB,EACzB,yBAAyB,EACzB,KAAK,EACL,sBAAsB,EACtB,uBAAuB,EACvB,iBAAiB,EAEjB,4BAA4B,EAC5B,oBAAoB,EACpB,YAAY,EACZ,yBAAyB,EAC1B,MAAM,mBAAmB,CAAC;AAE3B;;GAEG;AACH,qBAAa,WAAY,SAAQ,OAAO;IACtC;;OAEG;IACU,SAAS,CAAC,MAAM,GAAE,uBAA4B,GAAG,OAAO,CAAC,KAAK,EAAE,CAAC;IAyB9E;;OAEG;IACU,WAAW,CAAC,MAAM,EAAE,yBAAyB,GAAG,OAAO,CAAC,KAAK,CAAC;IAmD3E;;OAEG;IACU,gBAAgB,CAAC,MAAM,EAAE,sBAAsB,GAAG,OAAO,CAAC,4BAA4B,CAAC;IAoCpG;;OAEG;IACU,WAAW,CAAC,MAAM,EAAE,iBAAiB,GAAG,OAAO,CAAC,YAAY,EAAE,CAAC;IAU5E;;OAEG;IACU,WAAW,CAAC,MAAM,EAAE,yBAAyB,GAAG,OAAO,CAAC,KAAK,CAAC;IAgD3E;;OAEG;IACU,cAAc,CAAC,MAAM,EAAE,oBAAoB,GAAG,OAAO,CAAC,IAAI,CAAC;IAcxE;;OAEG;IACU,WAAW,CAAC,MAAM,EAAE,yBAAyB,GAAG,OAAO,CAAC,IAAI,CAAC;CAI3E"}
1
+ {"version":3,"file":"calendar.d.ts","sourceRoot":"","sources":["../../src/api/calendar.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,OAAO,EAAE,MAAM,WAAW,CAAC;AAEpC,OAAO,KAAK,EACV,yBAAyB,EACzB,yBAAyB,EACzB,KAAK,EACL,sBAAsB,EACtB,uBAAuB,EACvB,iBAAiB,EAEjB,4BAA4B,EAC5B,oBAAoB,EACpB,YAAY,EACZ,yBAAyB,EAC1B,MAAM,mBAAmB,CAAC;AAE3B;;GAEG;AACH,qBAAa,WAAY,SAAQ,OAAO;IACtC;;;OAGG;IACU,SAAS,CAAC,MAAM,GAAE,uBAA4B,GAAG,OAAO,CAAC;QAAE,MAAM,EAAE,KAAK,EAAE,CAAC;QAAC,QAAQ,CAAC,EAAE,MAAM,CAAA;KAAE,CAAC;IA+B7G;;OAEG;IACU,WAAW,CAAC,MAAM,EAAE,yBAAyB,GAAG,OAAO,CAAC,KAAK,CAAC;IAmD3E;;OAEG;IACU,gBAAgB,CAAC,MAAM,EAAE,sBAAsB,GAAG,OAAO,CAAC,4BAA4B,CAAC;IAoCpG;;OAEG;IACU,WAAW,CAAC,MAAM,EAAE,iBAAiB,GAAG,OAAO,CAAC,YAAY,EAAE,CAAC;IAU5E;;OAEG;IACU,WAAW,CAAC,MAAM,EAAE,yBAAyB,GAAG,OAAO,CAAC,KAAK,CAAC;IAgD3E;;OAEG;IACU,cAAc,CAAC,MAAM,EAAE,oBAAoB,GAAG,OAAO,CAAC,IAAI,CAAC;IAcxE;;OAEG;IACU,WAAW,CAAC,MAAM,EAAE,yBAAyB,GAAG,OAAO,CAAC,IAAI,CAAC;CAI3E"}
@@ -1,12 +1,18 @@
1
1
  import { BaseApi } from './base.js';
2
+ import { DEFAULT_EVENT_SELECT } from '../types/index.js';
2
3
  /**
3
4
  * API for calendar operations.
4
5
  */
5
6
  export class CalendarApi extends BaseApi {
6
7
  /**
7
- * Get calendar events within a time range.
8
+ * Get calendar events within a time range. Returns `{ events, nextLink }`
9
+ * for caller-driven pagination.
8
10
  */
9
11
  async getEvents(params = {}) {
12
+ if (params.nextLink) {
13
+ const response = (await this.client.api(params.nextLink).get());
14
+ return { events: response.value || [], nextLink: response['@odata.nextLink'] };
15
+ }
10
16
  const limit = params.limit || 50;
11
17
  const startOfToday = new Date(new Date().setUTCHours(0, 0, 0, 0)).toISOString();
12
18
  const thirtyDaysFromNow = new Date(Date.now() + 30 * 24 * 60 * 60 * 1000).toISOString();
@@ -19,12 +25,13 @@ export class CalendarApi extends BaseApi {
19
25
  endDateTime,
20
26
  })
21
27
  .top(limit)
22
- .orderby('start/dateTime');
28
+ .orderby('start/dateTime')
29
+ .select((params.select ?? DEFAULT_EVENT_SELECT).join(','));
23
30
  if (params.subject) {
24
31
  query = query.filter(`contains(subject, '${params.subject}')`);
25
32
  }
26
33
  const response = (await query.get());
27
- return response.value || [];
34
+ return { events: response.value || [], nextLink: response['@odata.nextLink'] };
28
35
  }
29
36
  /**
30
37
  * Create a calendar event.
@@ -1 +1 @@
1
- {"version":3,"file":"calendar.js","sourceRoot":"","sources":["../../src/api/calendar.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"calendar.js","sourceRoot":"","sources":["../../src/api/calendar.ts"],"names":[],"mappings":"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"}
@@ -1,21 +1,149 @@
1
1
  import { BaseApi } from './base.js';
2
- import type { AddChatMemberParams, Chat, CreateChatParams, GetChatParams, ListChatsParams, ListChatsResult, RemoveChatMemberParams, UpdateChatParams } from '../types/index.js';
2
+ import type { AddChatMemberParams, Chat, CreateChatParams, FindDmParams, GetChatParams, ListChatsParams, ListChatsResult, RemoveChatMemberParams, UpdateChatParams } from '../types/index.js';
3
3
  /**
4
4
  * API for chat operations.
5
+ *
6
+ * Microsoft Graph's `/me/chats` is unusually limited compared to other Graph
7
+ * resources. Several quirks documented below shape every method here:
8
+ *
9
+ * - **`$top` is hard-capped at 50.** Values above 50 return HTTP 400.
10
+ * Source: https://learn.microsoft.com/en-us/graph/api/chat-list (Optional
11
+ * query parameters table).
12
+ *
13
+ * - **All `$filter` predicates are post-filtered, not indexed lookups.**
14
+ * Graph applies `$filter` AFTER taking the next `$top` chats from the
15
+ * recency-ordered chat list. So a single page returns "matches found
16
+ * within the next 50 chats by recency", and `@odata.nextLink` advances
17
+ * the scan window. Even `chatType eq 'oneOnOne'` behaves this way:
18
+ * measured `$top=5 → 2 matches`, `$top=50 → 13 matches`. This means you
19
+ * cannot rely on `$filter` to find old chats without paginating.
20
+ * Confirmed by Microsoft on
21
+ * https://learn.microsoft.com/en-us/answers/questions/1660492 :
22
+ * "the API selects top records first and then applies the given filter".
23
+ *
24
+ * - **`$orderby` only accepts ONE value:**
25
+ * `lastMessagePreview/createdDateTime desc`. Ascending order is rejected,
26
+ * every other field (`lastUpdatedDateTime`, `createdDateTime`, `topic`,
27
+ * `chatType`, `id`) is rejected. WITHOUT explicit `$orderby` the default
28
+ * order is approximately recency-based but has many monotonicity
29
+ * violations (verified empirically). Always pass `$orderby` if you care
30
+ * about ordering.
31
+ *
32
+ * - **`members/any(o: contains(tolower(o/displayname), 'X')) + chatType eq
33
+ * 'oneOnOne'` returns 0 results.** This is a Graph bug specific to the
34
+ * displayName predicate. Combining `memberUserId` (the `userId eq …` form)
35
+ * with `chatType eq 'oneOnOne'` works correctly. Use `memberUserId` if
36
+ * you have an AAD ID; resolve names to IDs first.
37
+ *
38
+ * - **`$expand=members` silently truncates at 25 members per chat,**
39
+ * regardless of `$top`. The server still evaluates `members/any()` against
40
+ * the full membership list, but the returned `members` array is capped.
41
+ * Documented as a "known issue" on the official chat-list page.
42
+ *
43
+ * - **`$search` is not allowed** on `/me/chats`.
44
+ * - **`$count=true` is not allowed** on `/me/chats`.
45
+ *
46
+ * For deep background and all the empirical measurements, see
47
+ * `packages/clis/msgraph-cli/CHAT_SEARCH_INVESTIGATION.md` in this repo.
5
48
  */
6
49
  export declare class ChatsApi extends BaseApi {
50
+ private mePromise;
7
51
  /**
8
- * Get a chat by ID with members expanded.
52
+ * Get a chat by ID. Set `expand: ['members']` to include the participant
53
+ * list (truncated server-side at 25 per documented Graph quirk).
9
54
  */
10
55
  get(params: GetChatParams): Promise<Chat>;
56
+ /**
57
+ * Find the 1:1 chat between the signed-in user and another user.
58
+ *
59
+ * Why this exists as a primitive: Microsoft Graph has no `/me/chats/with/
60
+ * {userId}` endpoint, and the obvious workaround
61
+ * (`/me/chats?$filter=members/any(...) and chatType eq 'oneOnOne'`) is
62
+ * subject to the recency-window post-filter described in the class doc —
63
+ * older 1:1 chats are unreachable without paginating the entire chat list.
64
+ *
65
+ * Workaround: 1:1 chat IDs follow the deterministic format
66
+ *
67
+ * 19:{userA-guid}_{userB-guid}@unq.gbl.spaces
68
+ *
69
+ * but the order of the two GUIDs is **not** deterministic. Verified
70
+ * empirically against ~12 1:1 chats in an active account: about 75% have
71
+ * the signed-in user's GUID first, the rest have the other user's GUID
72
+ * first. The order likely depends on who initiated the conversation, but
73
+ * we can't tell without trying.
74
+ *
75
+ * So we issue both candidate URLs in parallel. Exactly one returns 200,
76
+ * the other returns 404. Round-trip latency is ~250-700ms total because
77
+ * the calls go in parallel.
78
+ *
79
+ * **This sidesteps `/me/chats` entirely.** It works for any 1:1 chat
80
+ * regardless of how long ago the last message was sent — there is no
81
+ * recency window. It is also strictly read-only with no side effects on
82
+ * Teams (unlike `POST /chats` which would create a new thread if the
83
+ * chat didn't already exist).
84
+ *
85
+ * Returns the existing 1:1 chat, or `null` if no DM exists between the
86
+ * signed-in user and the target user.
87
+ *
88
+ * @example
89
+ * const chat = await client.chats.findDmByUserId({ userId: 'de720d1a-...' });
90
+ * if (chat) console.log(`DM exists: ${chat.id}`);
91
+ * else console.log('No DM with this user yet');
92
+ */
93
+ findDmByUserId(params: FindDmParams): Promise<Chat | null>;
11
94
  /**
12
95
  * List chats for the current user.
13
- * Builds OData $filter from searchTerm, chatTypes, and memberName.
14
- * Returns a single page of results with nextLink for pagination.
96
+ *
97
+ * Builds an OData query from the typed params. Returns a single page of
98
+ * results with `nextLink` for caller-driven pagination — this method does
99
+ * NOT loop through pages.
100
+ *
101
+ * **Important caveats** (see also the class-level doc above):
102
+ *
103
+ * - Filters are post-filtered by Graph against a recency window of
104
+ * `$top` chats. Pagination via `nextLink` advances the window forward.
105
+ * A single page returns `0..top` matches. Pagination ends only when
106
+ * the window has scanned every chat the user has — for power users
107
+ * that may be 50+ pages.
108
+ *
109
+ * - Always pass `orderByLastMessage: true` for monotonic recency order.
110
+ * The default order has gaps and violations.
111
+ *
112
+ * - For finding 1:1 chats with a specific person, prefer
113
+ * {@link findDmByUserId} which sidesteps this whole mess.
114
+ *
115
+ * - For combining a member predicate with `chatType eq 'oneOnOne'`, use
116
+ * the `memberUserId` param (not `memberName` / `memberEmail`) — the
117
+ * displayName form hits a known Graph bug.
118
+ *
119
+ * @example
120
+ * // Active named chats with "morning" in the topic, recency-sorted:
121
+ * const result = await client.chats.list({
122
+ * searchTerm: 'morning',
123
+ * orderByLastMessage: true,
124
+ * top: 50,
125
+ * });
126
+ *
127
+ * @example
128
+ * // Group/meeting chats containing a specific user, recency-sorted:
129
+ * const result = await client.chats.list({
130
+ * memberUserId: '0379926e-96c3-4c2a-800e-45d1b2a9b06c',
131
+ * chatTypes: ['group', 'meeting'],
132
+ * orderByLastMessage: true,
133
+ * top: 50,
134
+ * });
15
135
  */
16
136
  list(params?: ListChatsParams): Promise<ListChatsResult>;
17
137
  /**
18
138
  * Create a new chat (1:1 or group).
139
+ *
140
+ * For 1:1 chats, Microsoft documents that "if a one-on-one chat already
141
+ * exists between the specified members, the existing chat is returned
142
+ * instead of creating a new one." However we still treat this as a
143
+ * write operation because (a) it has visible side effects on the Teams
144
+ * UI when the chat doesn't exist, and (b) the dedup behavior isn't
145
+ * something we want to rely on for read paths. For "find an existing
146
+ * 1:1", use {@link findDmByUserId} instead.
19
147
  */
20
148
  create(params: CreateChatParams): Promise<Chat>;
21
149
  /**
@@ -30,5 +158,6 @@ export declare class ChatsApi extends BaseApi {
30
158
  * Remove a member from a chat.
31
159
  */
32
160
  removeMember(params: RemoveChatMemberParams): Promise<void>;
161
+ private getMyId;
33
162
  }
34
163
  //# sourceMappingURL=chats.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"chats.d.ts","sourceRoot":"","sources":["../../src/api/chats.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,OAAO,EAAE,MAAM,WAAW,CAAC;AAEpC,OAAO,KAAK,EACV,mBAAmB,EACnB,IAAI,EACJ,gBAAgB,EAChB,aAAa,EAEb,eAAe,EACf,eAAe,EACf,sBAAsB,EACtB,gBAAgB,EACjB,MAAM,mBAAmB,CAAC;AAE3B;;GAEG;AACH,qBAAa,QAAS,SAAQ,OAAO;IACnC;;OAEG;IACU,GAAG,CAAC,MAAM,EAAE,aAAa,GAAG,OAAO,CAAC,IAAI,CAAC;IAItD;;;;OAIG;IACU,IAAI,CAAC,MAAM,CAAC,EAAE,eAAe,GAAG,OAAO,CAAC,eAAe,CAAC;IAuDrE;;OAEG;IACU,MAAM,CAAC,MAAM,EAAE,gBAAgB,GAAG,OAAO,CAAC,IAAI,CAAC;IAU5D;;OAEG;IACU,WAAW,CAAC,MAAM,EAAE,gBAAgB,GAAG,OAAO,CAAC,IAAI,CAAC;IAIjE;;OAEG;IACU,SAAS,CAAC,MAAM,EAAE,mBAAmB,GAAG,OAAO,CAAC,IAAI,CAAC;IAUlE;;OAEG;IACU,YAAY,CAAC,MAAM,EAAE,sBAAsB,GAAG,OAAO,CAAC,IAAI,CAAC;CAGzE"}
1
+ {"version":3,"file":"chats.d.ts","sourceRoot":"","sources":["../../src/api/chats.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,OAAO,EAAE,MAAM,WAAW,CAAC;AAEpC,OAAO,KAAK,EACV,mBAAmB,EACnB,IAAI,EACJ,gBAAgB,EAChB,YAAY,EACZ,aAAa,EAEb,eAAe,EACf,eAAe,EACf,sBAAsB,EACtB,gBAAgB,EACjB,MAAM,mBAAmB,CAAC;AAE3B;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GA6CG;AACH,qBAAa,QAAS,SAAQ,OAAO;IAInC,OAAO,CAAC,SAAS,CAAgC;IAEjD;;;OAGG;IACU,GAAG,CAAC,MAAM,EAAE,aAAa,GAAG,OAAO,CAAC,IAAI,CAAC;IAQtD;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;OAoCG;IACU,cAAc,CAAC,MAAM,EAAE,YAAY,GAAG,OAAO,CAAC,IAAI,GAAG,IAAI,CAAC;IAqBvE;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;OAyCG;IACU,IAAI,CAAC,MAAM,CAAC,EAAE,eAAe,GAAG,OAAO,CAAC,eAAe,CAAC;IA6ErE;;;;;;;;;;OAUG;IACU,MAAM,CAAC,MAAM,EAAE,gBAAgB,GAAG,OAAO,CAAC,IAAI,CAAC;IAU5D;;OAEG;IACU,WAAW,CAAC,MAAM,EAAE,gBAAgB,GAAG,OAAO,CAAC,IAAI,CAAC;IAIjE;;OAEG;IACU,SAAS,CAAC,MAAM,EAAE,mBAAmB,GAAG,OAAO,CAAC,IAAI,CAAC;IAUlE;;OAEG;IACU,YAAY,CAAC,MAAM,EAAE,sBAAsB,GAAG,OAAO,CAAC,IAAI,CAAC;YAI1D,OAAO;CAMtB"}
package/dist/api/chats.js CHANGED
@@ -1,53 +1,216 @@
1
1
  import { BaseApi } from './base.js';
2
- import { escapeODataString } from '../utils/odata.js';
2
+ import { odataFilterValue } from '../utils/odata.js';
3
3
  /**
4
4
  * API for chat operations.
5
+ *
6
+ * Microsoft Graph's `/me/chats` is unusually limited compared to other Graph
7
+ * resources. Several quirks documented below shape every method here:
8
+ *
9
+ * - **`$top` is hard-capped at 50.** Values above 50 return HTTP 400.
10
+ * Source: https://learn.microsoft.com/en-us/graph/api/chat-list (Optional
11
+ * query parameters table).
12
+ *
13
+ * - **All `$filter` predicates are post-filtered, not indexed lookups.**
14
+ * Graph applies `$filter` AFTER taking the next `$top` chats from the
15
+ * recency-ordered chat list. So a single page returns "matches found
16
+ * within the next 50 chats by recency", and `@odata.nextLink` advances
17
+ * the scan window. Even `chatType eq 'oneOnOne'` behaves this way:
18
+ * measured `$top=5 → 2 matches`, `$top=50 → 13 matches`. This means you
19
+ * cannot rely on `$filter` to find old chats without paginating.
20
+ * Confirmed by Microsoft on
21
+ * https://learn.microsoft.com/en-us/answers/questions/1660492 :
22
+ * "the API selects top records first and then applies the given filter".
23
+ *
24
+ * - **`$orderby` only accepts ONE value:**
25
+ * `lastMessagePreview/createdDateTime desc`. Ascending order is rejected,
26
+ * every other field (`lastUpdatedDateTime`, `createdDateTime`, `topic`,
27
+ * `chatType`, `id`) is rejected. WITHOUT explicit `$orderby` the default
28
+ * order is approximately recency-based but has many monotonicity
29
+ * violations (verified empirically). Always pass `$orderby` if you care
30
+ * about ordering.
31
+ *
32
+ * - **`members/any(o: contains(tolower(o/displayname), 'X')) + chatType eq
33
+ * 'oneOnOne'` returns 0 results.** This is a Graph bug specific to the
34
+ * displayName predicate. Combining `memberUserId` (the `userId eq …` form)
35
+ * with `chatType eq 'oneOnOne'` works correctly. Use `memberUserId` if
36
+ * you have an AAD ID; resolve names to IDs first.
37
+ *
38
+ * - **`$expand=members` silently truncates at 25 members per chat,**
39
+ * regardless of `$top`. The server still evaluates `members/any()` against
40
+ * the full membership list, but the returned `members` array is capped.
41
+ * Documented as a "known issue" on the official chat-list page.
42
+ *
43
+ * - **`$search` is not allowed** on `/me/chats`.
44
+ * - **`$count=true` is not allowed** on `/me/chats`.
45
+ *
46
+ * For deep background and all the empirical measurements, see
47
+ * `packages/clis/msgraph-cli/CHAT_SEARCH_INVESTIGATION.md` in this repo.
5
48
  */
6
49
  export class ChatsApi extends BaseApi {
50
+ // Memoized signed-in user id. Single-flight: concurrent callers share one
51
+ // in-flight `/me` request. The id is immutable for the process lifetime.
52
+ // Definition lives at the bottom of the class to satisfy member-ordering.
53
+ mePromise = null;
7
54
  /**
8
- * Get a chat by ID with members expanded.
55
+ * Get a chat by ID. Set `expand: ['members']` to include the participant
56
+ * list (truncated server-side at 25 per documented Graph quirk).
9
57
  */
10
58
  async get(params) {
11
- return this.client.api(`/chats/${params.chatId}`).expand('members').get();
59
+ let query = this.client.api(`/chats/${params.chatId}`);
60
+ if (params.expand && params.expand.length > 0) {
61
+ query = query.expand(params.expand.join(','));
62
+ }
63
+ return query.get();
64
+ }
65
+ /**
66
+ * Find the 1:1 chat between the signed-in user and another user.
67
+ *
68
+ * Why this exists as a primitive: Microsoft Graph has no `/me/chats/with/
69
+ * {userId}` endpoint, and the obvious workaround
70
+ * (`/me/chats?$filter=members/any(...) and chatType eq 'oneOnOne'`) is
71
+ * subject to the recency-window post-filter described in the class doc —
72
+ * older 1:1 chats are unreachable without paginating the entire chat list.
73
+ *
74
+ * Workaround: 1:1 chat IDs follow the deterministic format
75
+ *
76
+ * 19:{userA-guid}_{userB-guid}@unq.gbl.spaces
77
+ *
78
+ * but the order of the two GUIDs is **not** deterministic. Verified
79
+ * empirically against ~12 1:1 chats in an active account: about 75% have
80
+ * the signed-in user's GUID first, the rest have the other user's GUID
81
+ * first. The order likely depends on who initiated the conversation, but
82
+ * we can't tell without trying.
83
+ *
84
+ * So we issue both candidate URLs in parallel. Exactly one returns 200,
85
+ * the other returns 404. Round-trip latency is ~250-700ms total because
86
+ * the calls go in parallel.
87
+ *
88
+ * **This sidesteps `/me/chats` entirely.** It works for any 1:1 chat
89
+ * regardless of how long ago the last message was sent — there is no
90
+ * recency window. It is also strictly read-only with no side effects on
91
+ * Teams (unlike `POST /chats` which would create a new thread if the
92
+ * chat didn't already exist).
93
+ *
94
+ * Returns the existing 1:1 chat, or `null` if no DM exists between the
95
+ * signed-in user and the target user.
96
+ *
97
+ * @example
98
+ * const chat = await client.chats.findDmByUserId({ userId: 'de720d1a-...' });
99
+ * if (chat) console.log(`DM exists: ${chat.id}`);
100
+ * else console.log('No DM with this user yet');
101
+ */
102
+ async findDmByUserId(params) {
103
+ // The signed-in user's id is memoized — repeated calls within one process
104
+ // (e.g. ambiguous-name disambiguation across N candidates) share one /me.
105
+ const meId = await this.getMyId();
106
+ const candidates = [`19:${meId}_${params.userId}@unq.gbl.spaces`, `19:${params.userId}_${meId}@unq.gbl.spaces`];
107
+ // Issue both GETs in parallel. Exactly one will succeed (or zero, if no
108
+ // DM exists). We don't care which order — the first fulfilled wins.
109
+ // Expand `lastMessagePreview` so callers get recency info without an
110
+ // extra round trip.
111
+ const results = await Promise.allSettled(candidates.map((cid) => this.client.api(`/chats/${cid}`).expand('members,lastMessagePreview').get()));
112
+ const winner = results.find((r) => r.status === 'fulfilled');
113
+ return winner ? winner.value : null;
12
114
  }
13
115
  /**
14
116
  * List chats for the current user.
15
- * Builds OData $filter from searchTerm, chatTypes, and memberName.
16
- * Returns a single page of results with nextLink for pagination.
117
+ *
118
+ * Builds an OData query from the typed params. Returns a single page of
119
+ * results with `nextLink` for caller-driven pagination — this method does
120
+ * NOT loop through pages.
121
+ *
122
+ * **Important caveats** (see also the class-level doc above):
123
+ *
124
+ * - Filters are post-filtered by Graph against a recency window of
125
+ * `$top` chats. Pagination via `nextLink` advances the window forward.
126
+ * A single page returns `0..top` matches. Pagination ends only when
127
+ * the window has scanned every chat the user has — for power users
128
+ * that may be 50+ pages.
129
+ *
130
+ * - Always pass `orderByLastMessage: true` for monotonic recency order.
131
+ * The default order has gaps and violations.
132
+ *
133
+ * - For finding 1:1 chats with a specific person, prefer
134
+ * {@link findDmByUserId} which sidesteps this whole mess.
135
+ *
136
+ * - For combining a member predicate with `chatType eq 'oneOnOne'`, use
137
+ * the `memberUserId` param (not `memberName` / `memberEmail`) — the
138
+ * displayName form hits a known Graph bug.
139
+ *
140
+ * @example
141
+ * // Active named chats with "morning" in the topic, recency-sorted:
142
+ * const result = await client.chats.list({
143
+ * searchTerm: 'morning',
144
+ * orderByLastMessage: true,
145
+ * top: 50,
146
+ * });
147
+ *
148
+ * @example
149
+ * // Group/meeting chats containing a specific user, recency-sorted:
150
+ * const result = await client.chats.list({
151
+ * memberUserId: '0379926e-96c3-4c2a-800e-45d1b2a9b06c',
152
+ * chatTypes: ['group', 'meeting'],
153
+ * orderByLastMessage: true,
154
+ * top: 50,
155
+ * });
17
156
  */
18
157
  async list(params) {
19
158
  let query;
20
159
  if (params?.nextLink) {
160
+ // When following a nextLink, all query params are already baked in.
161
+ // Just GET it directly.
21
162
  query = this.client.api(params.nextLink);
22
163
  }
23
164
  else {
24
165
  const top = params?.top ?? 50;
25
166
  query = this.client.api('/me/chats').top(top);
26
167
  const filters = [];
168
+ const expand = new Set(params?.expand ?? []);
27
169
  if (params?.searchTerm) {
28
- filters.push(`contains(tolower(topic), '${escapeODataString(params.searchTerm.toLowerCase())}')`);
170
+ // We must URL-encode the value here because the SDK's `.filter()` builder
171
+ // URL-encodes the parameter NAME but not the VALUE. Reserved characters
172
+ // in topics like "FM & FD" would otherwise be parsed as query param
173
+ // separators on the server. odataFilterValue() does both layers:
174
+ // OData literal escape (' → '') AND URL encode. The OData syntax around
175
+ // the value (`contains(...)`, the surrounding quotes) is NOT encoded —
176
+ // it's part of the filter expression that the SDK passes through.
177
+ // Verified empirically with `test/probe-encoding.mts`.
178
+ const value = odataFilterValue(params.searchTerm.toLowerCase());
179
+ filters.push(`contains(tolower(topic), '${value}')`);
29
180
  }
30
181
  if (params?.chatTypes && params.chatTypes.length > 0) {
31
182
  const typeFilters = params.chatTypes.map((t) => `chatType eq '${t}'`);
32
- filters.push(`(${typeFilters.join(' or ')})`);
183
+ filters.push(typeFilters.length === 1 ? typeFilters[0] : `(${typeFilters.join(' or ')})`);
33
184
  }
34
185
  if (params?.memberName) {
35
- filters.push(`members/any(o: contains(tolower(o/displayname), '${escapeODataString(params.memberName.toLowerCase())}'))`);
36
- if (!params.expand?.includes('members')) {
37
- params.expand = [...(params.expand || []), 'members'];
38
- }
186
+ // KNOWN GRAPH BUG: this combined with `chatType eq 'oneOnOne'` returns
187
+ // 0. Caller is responsible for not passing that combination, OR for
188
+ // using `memberUserId` instead (which is bug-free).
189
+ const value = odataFilterValue(params.memberName.toLowerCase());
190
+ filters.push(`members/any(o: contains(tolower(o/displayname), '${value}'))`);
191
+ // members/any() silently returns false unless members are expanded.
192
+ // Documented in this package's CLAUDE.md.
193
+ expand.add('members');
39
194
  }
40
195
  if (params?.memberEmail) {
41
- filters.push(`members/any(o: o/microsoft.graph.aadUserConversationMember/email eq '${escapeODataString(params.memberEmail)}')`);
42
- if (!params.expand?.includes('members')) {
43
- params.expand = [...(params.expand || []), 'members'];
44
- }
196
+ const value = odataFilterValue(params.memberEmail);
197
+ filters.push(`members/any(o: o/microsoft.graph.aadUserConversationMember/email eq '${value}')`);
198
+ expand.add('members');
199
+ }
200
+ if (params?.memberUserId) {
201
+ // Equality on userId is the bug-free form. Combining this with
202
+ // `chatType eq 'oneOnOne'` works correctly server-side.
203
+ filters.push(`members/any(o: o/microsoft.graph.aadUserConversationMember/userId eq '${params.memberUserId}')`);
204
+ expand.add('members');
45
205
  }
46
206
  if (filters.length > 0) {
47
207
  query = query.filter(filters.join(' and '));
48
208
  }
49
- if (params?.expand && params.expand.length > 0) {
50
- query = query.expand(params.expand.join(','));
209
+ if (expand.size > 0) {
210
+ query = query.expand([...expand].join(','));
211
+ }
212
+ if (params?.orderByLastMessage) {
213
+ query = query.orderby('lastMessagePreview/createdDateTime desc');
51
214
  }
52
215
  }
53
216
  const response = (await query.get());
@@ -58,6 +221,14 @@ export class ChatsApi extends BaseApi {
58
221
  }
59
222
  /**
60
223
  * Create a new chat (1:1 or group).
224
+ *
225
+ * For 1:1 chats, Microsoft documents that "if a one-on-one chat already
226
+ * exists between the specified members, the existing chat is returned
227
+ * instead of creating a new one." However we still treat this as a
228
+ * write operation because (a) it has visible side effects on the Teams
229
+ * UI when the chat doesn't exist, and (b) the dedup behavior isn't
230
+ * something we want to rely on for read paths. For "find an existing
231
+ * 1:1", use {@link findDmByUserId} instead.
61
232
  */
62
233
  async create(params) {
63
234
  const payload = {
@@ -90,5 +261,11 @@ export class ChatsApi extends BaseApi {
90
261
  async removeMember(params) {
91
262
  await this.client.api(`/chats/${params.chatId}/members/${params.membershipId}`).delete();
92
263
  }
264
+ async getMyId() {
265
+ if (!this.mePromise) {
266
+ this.mePromise = this.client.api('/me').select('id').get().then((me) => me.id);
267
+ }
268
+ return this.mePromise;
269
+ }
93
270
  }
94
271
  //# sourceMappingURL=chats.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"chats.js","sourceRoot":"","sources":["../../src/api/chats.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"chats.js","sourceRoot":"","sources":["../../src/api/chats.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,OAAO,EAAE,MAAM,WAAW,CAAC;AACpC,OAAO,EAAE,gBAAgB,EAAE,MAAM,mBAAmB,CAAC;AAcrD;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GA6CG;AACH,MAAM,OAAO,QAAS,SAAQ,OAAO;IACnC,0EAA0E;IAC1E,yEAAyE;IACzE,0EAA0E;IAClE,SAAS,GAA2B,IAAI,CAAC;IAEjD;;;OAGG;IACI,KAAK,CAAC,GAAG,CAAC,MAAqB;QACpC,IAAI,KAAK,GAAG,IAAI,CAAC,MAAM,CAAC,GAAG,CAAC,UAAU,MAAM,CAAC,MAAM,EAAE,CAAC,CAAC;QACvD,IAAI,MAAM,CAAC,MAAM,IAAI,MAAM,CAAC,MAAM,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;YAC9C,KAAK,GAAG,KAAK,CAAC,MAAM,CAAC,MAAM,CAAC,MAAM,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC,CAAC;QAChD,CAAC;QACD,OAAO,KAAK,CAAC,GAAG,EAAmB,CAAC;IACtC,CAAC;IAED;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;OAoCG;IACI,KAAK,CAAC,cAAc,CAAC,MAAoB;QAC9C,0EAA0E;QAC1E,0EAA0E;QAC1E,MAAM,IAAI,GAAG,MAAM,IAAI,CAAC,OAAO,EAAE,CAAC;QAElC,MAAM,UAAU,GAAG,CAAC,MAAM,IAAI,IAAI,MAAM,CAAC,MAAM,iBAAiB,EAAE,MAAM,MAAM,CAAC,MAAM,IAAI,IAAI,iBAAiB,CAAC,CAAC;QAEhH,wEAAwE;QACxE,oEAAoE;QACpE,qEAAqE;QACrE,oBAAoB;QACpB,MAAM,OAAO,GAAG,MAAM,OAAO,CAAC,UAAU,CACtC,UAAU,CAAC,GAAG,CACZ,CAAC,GAAG,EAAE,EAAE,CAAC,IAAI,CAAC,MAAM,CAAC,GAAG,CAAC,UAAU,GAAG,EAAE,CAAC,CAAC,MAAM,CAAC,4BAA4B,CAAC,CAAC,GAAG,EAAmB,CACtG,CACF,CAAC;QAEF,MAAM,MAAM,GAAG,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,MAAM,KAAK,WAAW,CAAC,CAAC;QAC7D,OAAO,MAAM,CAAC,CAAC,CAAC,MAAM,CAAC,KAAK,CAAC,CAAC,CAAC,IAAI,CAAC;IACtC,CAAC;IAED;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;OAyCG;IACI,KAAK,CAAC,IAAI,CAAC,MAAwB;QACxC,IAAI,KAAK,CAAC;QAEV,IAAI,MAAM,EAAE,QAAQ,EAAE,CAAC;YACrB,oEAAoE;YACpE,wBAAwB;YACxB,KAAK,GAAG,IAAI,CAAC,MAAM,CAAC,GAAG,CAAC,MAAM,CAAC,QAAQ,CAAC,CAAC;QAC3C,CAAC;aAAM,CAAC;YACN,MAAM,GAAG,GAAG,MAAM,EAAE,GAAG,IAAI,EAAE,CAAC;YAC9B,KAAK,GAAG,IAAI,CAAC,MAAM,CAAC,GAAG,CAAC,WAAW,CAAC,CAAC,GAAG,CAAC,GAAG,CAAC,CAAC;YAE9C,MAAM,OAAO,GAAa,EAAE,CAAC;YAC7B,MAAM,MAAM,GAAG,IAAI,GAAG,CAAC,MAAM,EAAE,MAAM,IAAI,EAAE,CAAC,CAAC;YAE7C,IAAI,MAAM,EAAE,UAAU,EAAE,CAAC;gBACvB,0EAA0E;gBAC1E,wEAAwE;gBACxE,oEAAoE;gBACpE,iEAAiE;gBACjE,wEAAwE;gBACxE,uEAAuE;gBACvE,kEAAkE;gBAClE,uDAAuD;gBACvD,MAAM,KAAK,GAAG,gBAAgB,CAAC,MAAM,CAAC,UAAU,CAAC,WAAW,EAAE,CAAC,CAAC;gBAChE,OAAO,CAAC,IAAI,CAAC,6BAA6B,KAAK,IAAI,CAAC,CAAC;YACvD,CAAC;YAED,IAAI,MAAM,EAAE,SAAS,IAAI,MAAM,CAAC,SAAS,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;gBACrD,MAAM,WAAW,GAAG,MAAM,CAAC,SAAS,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,gBAAgB,CAAC,GAAG,CAAC,CAAC;gBACtE,OAAO,CAAC,IAAI,CAAC,WAAW,CAAC,MAAM,KAAK,CAAC,CAAC,CAAC,CAAC,WAAW,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,IAAI,WAAW,CAAC,IAAI,CAAC,MAAM,CAAC,GAAG,CAAC,CAAC;YAC5F,CAAC;YAED,IAAI,MAAM,EAAE,UAAU,EAAE,CAAC;gBACvB,uEAAuE;gBACvE,oEAAoE;gBACpE,oDAAoD;gBACpD,MAAM,KAAK,GAAG,gBAAgB,CAAC,MAAM,CAAC,UAAU,CAAC,WAAW,EAAE,CAAC,CAAC;gBAChE,OAAO,CAAC,IAAI,CAAC,oDAAoD,KAAK,KAAK,CAAC,CAAC;gBAC7E,oEAAoE;gBACpE,0CAA0C;gBAC1C,MAAM,CAAC,GAAG,CAAC,SAAS,CAAC,CAAC;YACxB,CAAC;YAED,IAAI,MAAM,EAAE,WAAW,EAAE,CAAC;gBACxB,MAAM,KAAK,GAAG,gBAAgB,CAAC,MAAM,CAAC,WAAW,CAAC,CAAC;gBACnD,OAAO,CAAC,IAAI,CAAC,wEAAwE,KAAK,IAAI,CAAC,CAAC;gBAChG,MAAM,CAAC,GAAG,CAAC,SAAS,CAAC,CAAC;YACxB,CAAC;YAED,IAAI,MAAM,EAAE,YAAY,EAAE,CAAC;gBACzB,+DAA+D;gBAC/D,wDAAwD;gBACxD,OAAO,CAAC,IAAI,CAAC,yEAAyE,MAAM,CAAC,YAAY,IAAI,CAAC,CAAC;gBAC/G,MAAM,CAAC,GAAG,CAAC,SAAS,CAAC,CAAC;YACxB,CAAC;YAED,IAAI,OAAO,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;gBACvB,KAAK,GAAG,KAAK,CAAC,MAAM,CAAC,OAAO,CAAC,IAAI,CAAC,OAAO,CAAC,CAAC,CAAC;YAC9C,CAAC;YAED,IAAI,MAAM,CAAC,IAAI,GAAG,CAAC,EAAE,CAAC;gBACpB,KAAK,GAAG,KAAK,CAAC,MAAM,CAAC,CAAC,GAAG,MAAM,CAAC,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC,CAAC;YAC9C,CAAC;YAED,IAAI,MAAM,EAAE,kBAAkB,EAAE,CAAC;gBAC/B,KAAK,GAAG,KAAK,CAAC,OAAO,CAAC,yCAAyC,CAAC,CAAC;YACnE,CAAC;QACH,CAAC;QAED,MAAM,QAAQ,GAAG,CAAC,MAAM,KAAK,CAAC,GAAG,EAAE,CAA2B,CAAC;QAE/D,OAAO;YACL,KAAK,EAAE,QAAQ,CAAC,KAAK,IAAI,EAAE;YAC3B,QAAQ,EAAE,QAAQ,CAAC,iBAAiB,CAAC;SACtC,CAAC;IACJ,CAAC;IAED;;;;;;;;;;OAUG;IACI,KAAK,CAAC,MAAM,CAAC,MAAwB;QAC1C,MAAM,OAAO,GAAG;YACd,QAAQ,EAAE,MAAM,CAAC,QAAQ;YACzB,OAAO,EAAE,MAAM,CAAC,OAAO;YACvB,GAAG,CAAC,MAAM,CAAC,KAAK,IAAI,EAAE,KAAK,EAAE,MAAM,CAAC,KAAK,EAAE,CAAC;SAC7C,CAAC;QAEF,OAAO,IAAI,CAAC,MAAM,CAAC,GAAG,CAAC,QAAQ,CAAC,CAAC,IAAI,CAAC,OAAO,CAAkB,CAAC;IAClE,CAAC;IAED;;OAEG;IACI,KAAK,CAAC,WAAW,CAAC,MAAwB;QAC/C,MAAM,IAAI,CAAC,MAAM,CAAC,GAAG,CAAC,UAAU,MAAM,CAAC,MAAM,EAAE,CAAC,CAAC,KAAK,CAAC,EAAE,KAAK,EAAE,MAAM,CAAC,KAAK,EAAE,CAAC,CAAC;IAClF,CAAC;IAED;;OAEG;IACI,KAAK,CAAC,SAAS,CAAC,MAA2B;QAChD,MAAM,MAAM,GAAG;YACb,aAAa,EAAE,4CAA4C;YAC3D,iBAAiB,EAAE,2CAA2C,MAAM,CAAC,MAAM,IAAI;YAC/E,KAAK,EAAE,CAAC,MAAM,CAAC,IAAI,IAAI,OAAO,CAAC;SAChC,CAAC;QAEF,MAAM,IAAI,CAAC,MAAM,CAAC,GAAG,CAAC,UAAU,MAAM,CAAC,MAAM,UAAU,CAAC,CAAC,IAAI,CAAC,MAAM,CAAC,CAAC;IACxE,CAAC;IAED;;OAEG;IACI,KAAK,CAAC,YAAY,CAAC,MAA8B;QACtD,MAAM,IAAI,CAAC,MAAM,CAAC,GAAG,CAAC,UAAU,MAAM,CAAC,MAAM,YAAY,MAAM,CAAC,YAAY,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC;IAC3F,CAAC;IAEO,KAAK,CAAC,OAAO;QACnB,IAAI,CAAC,IAAI,CAAC,SAAS,EAAE,CAAC;YACpB,IAAI,CAAC,SAAS,GAAI,IAAI,CAAC,MAAM,CAAC,GAAG,CAAC,KAAK,CAAC,CAAC,MAAM,CAAC,IAAI,CAAC,CAAC,GAAG,EAA8B,CAAC,IAAI,CAAC,CAAC,EAAE,EAAE,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,CAAC;QAC9G,CAAC;QACD,OAAO,IAAI,CAAC,SAAS,CAAC;IACxB,CAAC;CACF"}
package/dist/api/files.js CHANGED
@@ -79,7 +79,7 @@ export class FilesApi extends BaseApi {
79
79
  query: {
80
80
  queryString: params.query,
81
81
  },
82
- from: 0,
82
+ from: params.from_offset ?? 0,
83
83
  size: params.limit || 25,
84
84
  };
85
85
  return this.client.api('/search/query').post({ requests: [searchRequest] });
@@ -1 +1 @@
1
- {"version":3,"file":"files.js","sourceRoot":"","sources":["../../src/api/files.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"files.js","sourceRoot":"","sources":["../../src/api/files.ts"],"names":[],"mappings":"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"}
@@ -1 +1 @@
1
- {"version":3,"file":"mail.d.ts","sourceRoot":"","sources":["../../src/api/mail.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,OAAO,EAAE,MAAM,WAAW,CAAC;AACpC,OAAO,KAAK,EACV,gBAAgB,EAChB,iBAAiB,EACjB,aAAa,EACb,gBAAgB,EAChB,yBAAyB,EACzB,eAAe,EACf,kBAAkB,EAClB,OAAO,EACP,eAAe,EACf,iBAAiB,EACjB,cAAc,EACf,MAAM,mBAAmB,CAAC;AAE3B;;GAEG;AACH,qBAAa,OAAQ,SAAQ,OAAO;IAClC;;OAEG;IACU,IAAI,CAAC,MAAM,GAAE,eAAoB,GAAG,OAAO,CAAC,gBAAgB,CAAC,OAAO,CAAC,CAAC;IAmDnF;;;;OAIG;IACU,MAAM,CAAC,MAAM,EAAE,iBAAiB,GAAG,OAAO,CAAC,gBAAgB,CAAC,OAAO,CAAC,CAAC;IAoBlF;;OAEG;IACU,IAAI,CAAC,MAAM,EAAE,cAAc,GAAG,OAAO,CAAC,IAAI,CAAC;IA2CxD;;OAEG;IACU,GAAG,CAAC,MAAM,EAAE,aAAa,GAAG,OAAO,CAAC,OAAO,CAAC;IAiBzD;;OAEG;IACU,KAAK,CAAC,MAAM,EAAE,eAAe,GAAG,OAAO,CAAC,IAAI,CAAC;IAmB1D;;OAEG;IACU,OAAO,CAAC,MAAM,EAAE,iBAAiB,GAAG,OAAO,CAAC,IAAI,CAAC;IAO9D;;OAEG;IACU,QAAQ,CAAC,MAAM,EAAE,kBAAkB,GAAG,OAAO,CAAC,IAAI,CAAC;IAIhE;;OAEG;IACU,eAAe,CAAC,MAAM,EAAE,yBAAyB,GAAG,OAAO,CAAC,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,EAAE,CAAC;IAQnG;;OAEG;IACU,MAAM,CAAC,MAAM,EAAE,gBAAgB,GAAG,OAAO,CAAC,IAAI,CAAC;CAG7D"}
1
+ {"version":3,"file":"mail.d.ts","sourceRoot":"","sources":["../../src/api/mail.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,OAAO,EAAE,MAAM,WAAW,CAAC;AACpC,OAAO,KAAK,EACV,gBAAgB,EAChB,iBAAiB,EACjB,aAAa,EACb,gBAAgB,EAChB,yBAAyB,EACzB,eAAe,EACf,kBAAkB,EAClB,OAAO,EACP,eAAe,EACf,iBAAiB,EACjB,cAAc,EACf,MAAM,mBAAmB,CAAC;AAE3B;;GAEG;AACH,qBAAa,OAAQ,SAAQ,OAAO;IAClC;;OAEG;IACU,IAAI,CAAC,MAAM,GAAE,eAAoB,GAAG,OAAO,CAAC,gBAAgB,CAAC,OAAO,CAAC,CAAC;IAuDnF;;;;OAIG;IACU,MAAM,CAAC,MAAM,EAAE,iBAAiB,GAAG,OAAO,CAAC,gBAAgB,CAAC,OAAO,CAAC,CAAC;IAwBlF;;OAEG;IACU,IAAI,CAAC,MAAM,EAAE,cAAc,GAAG,OAAO,CAAC,IAAI,CAAC;IA2CxD;;OAEG;IACU,GAAG,CAAC,MAAM,EAAE,aAAa,GAAG,OAAO,CAAC,OAAO,CAAC;IAiBzD;;OAEG;IACU,KAAK,CAAC,MAAM,EAAE,eAAe,GAAG,OAAO,CAAC,IAAI,CAAC;IAmB1D;;OAEG;IACU,OAAO,CAAC,MAAM,EAAE,iBAAiB,GAAG,OAAO,CAAC,IAAI,CAAC;IAO9D;;OAEG;IACU,QAAQ,CAAC,MAAM,EAAE,kBAAkB,GAAG,OAAO,CAAC,IAAI,CAAC;IAIhE;;OAEG;IACU,eAAe,CAAC,MAAM,EAAE,yBAAyB,GAAG,OAAO,CAAC,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,EAAE,CAAC;IAQnG;;OAEG;IACU,MAAM,CAAC,MAAM,EAAE,gBAAgB,GAAG,OAAO,CAAC,IAAI,CAAC;CAG7D"}
package/dist/api/mail.js CHANGED
@@ -7,6 +7,9 @@ export class MailApi extends BaseApi {
7
7
  * List emails from the user's mailbox.
8
8
  */
9
9
  async list(params = {}) {
10
+ if (params.nextLink) {
11
+ return this.client.api(params.nextLink).get();
12
+ }
10
13
  const limit = params.limit || 20;
11
14
  const includeBody = params.includeBody || false;
12
15
  const bodyFormat = params.bodyFormat || 'html';
@@ -51,6 +54,9 @@ export class MailApi extends BaseApi {
51
54
  * Returns up to 1,000 results sorted by sent date.
52
55
  */
53
56
  async search(params) {
57
+ if (params.nextLink) {
58
+ return this.client.api(params.nextLink).get();
59
+ }
54
60
  const limit = params.limit || 25;
55
61
  const includeBody = params.includeBody || false;
56
62
  const bodyFormat = params.bodyFormat || 'html';
@@ -1 +1 @@
1
- {"version":3,"file":"mail.js","sourceRoot":"","sources":["../../src/api/mail.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"mail.js","sourceRoot":"","sources":["../../src/api/mail.ts"],"names":[],"mappings":"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"}