microsoft-graph-client 1.0.17 → 1.0.19

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 CHANGED
@@ -1,6 +1,6 @@
1
1
  # Microsoft Graph Client
2
2
 
3
- TypeScript client for Microsoft Graph API with built-in authentication.
3
+ TypeScript client library for Microsoft Graph API. Thin wrapper providing typed domain APIs — no caching, no auto-pagination, no built-in auth flow. Requires a pre-obtained access token.
4
4
 
5
5
  ## Installation
6
6
 
@@ -13,12 +13,10 @@ npm install microsoft-graph-client
13
13
  ```typescript
14
14
  import { GraphClient } from 'microsoft-graph-client';
15
15
 
16
- // Create client with pre-seeded auth (for production/CI)
17
16
  const client = new GraphClient({
18
17
  clientId: process.env.MS_GRAPH_CLIENT_ID,
19
18
  tenantId: process.env.MS_GRAPH_TENANT_ID,
20
- authRecord: process.env.MS_GRAPH_AUTH_RECORD,
21
- tokenCache: process.env.MS_GRAPH_TOKEN_CACHE,
19
+ accessToken: 'eyJ...', // Pre-obtained access token (required)
22
20
  });
23
21
 
24
22
  await client.initialize();
@@ -48,6 +46,9 @@ await client.mail.send({
48
46
  body: { content: 'Message body', contentType: 'text' },
49
47
  });
50
48
 
49
+ // List mail (inbox by default)
50
+ const mails = await client.mail.list({ top: 10 });
51
+
51
52
  // Get calendar events
52
53
  const events = await client.calendar.getEvents({
53
54
  startDateTime: '2025-01-01T00:00:00Z',
@@ -72,7 +73,7 @@ const transcripts = await client.transcripts.list({ meetingId: 'xxx' });
72
73
  | `client.users` | `getCurrentUser`, `get`, `search`, `setPresence`, `setPreferredPresence` |
73
74
  | `client.chats` | `get`, `search`, `create` |
74
75
  | `client.messages` | `get`, `getChatMessages`, `sendChatMessage`, `updateChatMessage`, `search`, `setReaction`, `unsetReaction` |
75
- | `client.mail` | `list`, `send` |
76
+ | `client.mail` | `list`, `send`, `delete` |
76
77
  | `client.calendar` | `getEvents`, `createEvent`, `findMeetingTimes`, `cancelEvent` |
77
78
  | `client.files` | `download`, `upload`, `update`, `grantPermission` |
78
79
  | `client.transcripts` | `getMeetingByJoinUrl`, `list`, `getContent` |
@@ -80,59 +81,24 @@ const transcripts = await client.transcripts.list({ meetingId: 'xxx' });
80
81
 
81
82
  ## Authentication
82
83
 
83
- The client supports two authentication modes:
84
-
85
- ### 1. Device Code Auth (Interactive)
86
-
87
- For local development or first-time setup:
88
-
89
- ```typescript
90
- const client = new GraphClient({
91
- clientId: 'your-app-client-id',
92
- tenantId: 'your-tenant-id',
93
- });
94
-
95
- // This will prompt you to visit a URL and enter a code
96
- const result = await client.authenticate((info) => {
97
- console.log(info.message);
98
- });
99
-
100
- // Save these for later use
101
- console.log('Auth Record:', result.authRecord);
102
- console.log('Token Cache:', result.tokenCache);
103
- ```
104
-
105
- ### 2. Pre-seeded Auth (Non-interactive)
106
-
107
- For production deployments with credentials from environment:
84
+ The client requires a pre-obtained access token. There is no built-in OAuth or device code flow — the caller is responsible for obtaining and refreshing tokens.
108
85
 
109
86
  ```typescript
110
87
  const client = new GraphClient({
111
88
  clientId: process.env.MS_GRAPH_CLIENT_ID,
112
89
  tenantId: process.env.MS_GRAPH_TENANT_ID,
113
- authRecord: process.env.MS_GRAPH_AUTH_RECORD,
114
- tokenCache: process.env.MS_GRAPH_TOKEN_CACHE,
90
+ accessToken: token, // Required — obtained via OAuth proxy or other means
115
91
  });
116
92
 
117
93
  await client.initialize();
118
94
  ```
119
95
 
120
- ### Environment Variables
121
-
122
- ```bash
123
- MS_GRAPH_CLIENT_ID=your-azure-app-client-id
124
- MS_GRAPH_TENANT_ID=your-azure-tenant-id
125
- MS_GRAPH_AUTH_RECORD={"homeAccountId":"...","environment":"..."}
126
- MS_GRAPH_TOKEN_CACHE={"Account":{"..."},"RefreshToken":{"..."}}
127
- ```
128
-
129
96
  ### Azure App Registration
130
97
 
131
98
  1. Go to [Azure Portal](https://portal.azure.com) > Azure Active Directory > App registrations
132
99
  2. Create a new registration with "Accounts in this organizational directory only"
133
- 3. Add a Mobile/Desktop redirect URI: `http://localhost`
134
- 4. Under API permissions, add Microsoft Graph delegated permissions as needed
135
- 5. Copy the Application (client) ID and Directory (tenant) ID
100
+ 3. Under API permissions, add Microsoft Graph delegated permissions as needed
101
+ 4. Copy the Application (client) ID and Directory (tenant) ID
136
102
 
137
103
  ## Raw SDK Access
138
104
 
@@ -1,5 +1,5 @@
1
1
  import { BaseApi } from './base.js';
2
- import type { DeleteMailParams, GraphApiResponse, ListMailsParams, Message, SendMailParams } from '../types/index.js';
2
+ import type { DeleteMailParams, GraphApiResponse, ListMailsParams, Message, SearchMailsParams, SendMailParams } from '../types/index.js';
3
3
  /**
4
4
  * API for mail operations.
5
5
  */
@@ -8,6 +8,12 @@ export declare class MailApi extends BaseApi {
8
8
  * List emails from the user's mailbox.
9
9
  */
10
10
  list(params?: ListMailsParams): Promise<GraphApiResponse<Message>>;
11
+ /**
12
+ * Search emails using $search query parameter.
13
+ * Searches across subject, body, and participant fields.
14
+ * Returns up to 1,000 results sorted by sent date.
15
+ */
16
+ search(params: SearchMailsParams): Promise<GraphApiResponse<Message>>;
11
17
  /**
12
18
  * Send an email.
13
19
  */
@@ -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,EAAE,gBAAgB,EAAE,gBAAgB,EAAE,eAAe,EAAE,OAAO,EAAE,cAAc,EAAE,MAAM,mBAAmB,CAAC;AAEtH;;GAEG;AACH,qBAAa,OAAQ,SAAQ,OAAO;IAClC;;OAEG;IACU,IAAI,CAAC,MAAM,GAAE,eAAoB,GAAG,OAAO,CAAC,gBAAgB,CAAC,OAAO,CAAC,CAAC;IAiDnF;;OAEG;IACU,IAAI,CAAC,MAAM,EAAE,cAAc,GAAG,OAAO,CAAC,IAAI,CAAC;IA2CxD;;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,gBAAgB,EAChB,eAAe,EACf,OAAO,EACP,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;IAqDnF;;;;OAIG;IACU,MAAM,CAAC,MAAM,EAAE,iBAAiB,GAAG,OAAO,CAAC,gBAAgB,CAAC,OAAO,CAAC,CAAC;IAsBlF;;OAEG;IACU,IAAI,CAAC,MAAM,EAAE,cAAc,GAAG,OAAO,CAAC,IAAI,CAAC;IA2CxD;;OAEG;IACU,MAAM,CAAC,MAAM,EAAE,gBAAgB,GAAG,OAAO,CAAC,IAAI,CAAC;CAG7D"}
package/dist/api/mail.js CHANGED
@@ -14,7 +14,10 @@ export class MailApi extends BaseApi {
14
14
  const selectFields = includeBody
15
15
  ? 'id,subject,from,receivedDateTime,body,bodyPreview,isRead,hasAttachments'
16
16
  : 'id,subject,from,receivedDateTime,bodyPreview,isRead,hasAttachments';
17
- let query = this.client.api('/me/messages').top(limit).orderby('receivedDateTime desc').select(selectFields);
17
+ const endpoint = params.folder
18
+ ? `/me/mailFolders/${params.folder}/messages`
19
+ : '/me/messages';
20
+ let query = this.client.api(endpoint).top(limit).orderby('receivedDateTime desc').select(selectFields);
18
21
  // Set body content format preference (only applies when body is included in select)
19
22
  if (includeBody && bodyFormat === 'text') {
20
23
  query = query.header('Prefer', 'outlook.body-content-type="text"');
@@ -44,6 +47,27 @@ export class MailApi extends BaseApi {
44
47
  query = query.filter(filters.join(' and '));
45
48
  return query.get();
46
49
  }
50
+ /**
51
+ * Search emails using $search query parameter.
52
+ * Searches across subject, body, and participant fields.
53
+ * Returns up to 1,000 results sorted by sent date.
54
+ */
55
+ async search(params) {
56
+ const limit = params.limit || 25;
57
+ const includeBody = params.includeBody || false;
58
+ const bodyFormat = params.bodyFormat || 'html';
59
+ const selectFields = includeBody
60
+ ? 'id,subject,from,toRecipients,receivedDateTime,sentDateTime,body,bodyPreview,isRead,hasAttachments,parentFolderId'
61
+ : 'id,subject,from,toRecipients,receivedDateTime,sentDateTime,bodyPreview,isRead,hasAttachments,parentFolderId';
62
+ const endpoint = params.folder
63
+ ? `/me/mailFolders/${params.folder}/messages`
64
+ : '/me/messages';
65
+ let query = this.client.api(endpoint).top(limit).select(selectFields).search(`"${params.query}"`);
66
+ if (includeBody && bodyFormat === 'text') {
67
+ query = query.header('Prefer', 'outlook.body-content-type="text"');
68
+ }
69
+ return query.get();
70
+ }
47
71
  /**
48
72
  * Send an email.
49
73
  */
@@ -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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"}
@@ -4,7 +4,7 @@ export type { GetUserParams, SearchUsersParams, User } from './user.js';
4
4
  export type { PreferredPresenceAvailability, PresenceAvailability, SetPreferredPresenceParams, SetPresenceParams, } from './presence.js';
5
5
  export type { Chat, ChatType, ConversationMember, CreateChatParams, GetChatParams, ListChatsParams, ListChatsResult, } from './chat.js';
6
6
  export type { ChatMessage, ChatMessageAttachment, ChatMessageImportance, ChatMessageInfo, ChatMessageMention, GetChatMessagesParams, GetMessageParams, ItemBody, SearchHit, SearchHitsContainer, SearchMessagesParams, SearchRequest, SearchResponse, SearchResult, SendChatMessageParams, SetMessageReactionParams, DeleteChatMessageParams, UnsetMessageReactionParams, UpdateChatMessageParams, } from './message.js';
7
- export type { DeleteMailParams, EmailAddress, FileAttachment, ListMailsParams, Message, SendMailParams } from './mail.js';
7
+ export type { DeleteMailParams, EmailAddress, FileAttachment, ListMailsParams, Message, SearchMailsParams, SendMailParams } from './mail.js';
8
8
  export type { Attendee, CancelCalendarEventParams, CreateCalendarEventParams, DateTimeTimeZone, Event, FindMeetingTimesParams, GetCalendarEventsParams, Location, MeetingTimeSuggestion, MeetingTimeSuggestionsResult, NullableOption, } from './calendar.js';
9
9
  export type { DownloadSharePointFileParams, DownloadSharePointFileResult, GrantFilePermissionParams, UpdateSharePointFileParams, UpdateSharePointFileResult, UploadToSharePointParams, UploadToSharePointResult, } from './file.js';
10
10
  export type { CallTranscript, GetMeetingByJoinUrlParams, GetTranscriptContentParams, ListTranscriptsParams, OnlineMeeting, } from './transcript.js';
@@ -1 +1 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/types/index.ts"],"names":[],"mappings":"AACA,YAAY,EAAE,gBAAgB,EAAE,iBAAiB,EAAE,UAAU,EAAE,MAAM,aAAa,CAAC;AACnF,OAAO,EAAE,cAAc,EAAE,MAAM,aAAa,CAAC;AAG7C,YAAY,EAAE,aAAa,EAAE,iBAAiB,EAAE,IAAI,EAAE,MAAM,WAAW,CAAC;AAGxE,YAAY,EACV,6BAA6B,EAC7B,oBAAoB,EACpB,0BAA0B,EAC1B,iBAAiB,GAClB,MAAM,eAAe,CAAC;AAGvB,YAAY,EACV,IAAI,EACJ,QAAQ,EACR,kBAAkB,EAClB,gBAAgB,EAChB,aAAa,EACb,eAAe,EACf,eAAe,GAChB,MAAM,WAAW,CAAC;AAGnB,YAAY,EACV,WAAW,EACX,qBAAqB,EACrB,qBAAqB,EACrB,eAAe,EACf,kBAAkB,EAClB,qBAAqB,EACrB,gBAAgB,EAChB,QAAQ,EACR,SAAS,EACT,mBAAmB,EACnB,oBAAoB,EACpB,aAAa,EACb,cAAc,EACd,YAAY,EACZ,qBAAqB,EACrB,wBAAwB,EACxB,uBAAuB,EACvB,0BAA0B,EAC1B,uBAAuB,GACxB,MAAM,cAAc,CAAC;AAGtB,YAAY,EAAE,gBAAgB,EAAE,YAAY,EAAE,cAAc,EAAE,eAAe,EAAE,OAAO,EAAE,cAAc,EAAE,MAAM,WAAW,CAAC;AAG1H,YAAY,EACV,QAAQ,EACR,yBAAyB,EACzB,yBAAyB,EACzB,gBAAgB,EAChB,KAAK,EACL,sBAAsB,EACtB,uBAAuB,EACvB,QAAQ,EACR,qBAAqB,EACrB,4BAA4B,EAC5B,cAAc,GACf,MAAM,eAAe,CAAC;AAGvB,YAAY,EACV,4BAA4B,EAC5B,4BAA4B,EAC5B,yBAAyB,EACzB,0BAA0B,EAC1B,0BAA0B,EAC1B,wBAAwB,EACxB,wBAAwB,GACzB,MAAM,WAAW,CAAC;AAGnB,YAAY,EACV,cAAc,EACd,yBAAyB,EACzB,0BAA0B,EAC1B,qBAAqB,EACrB,aAAa,GACd,MAAM,iBAAiB,CAAC;AAGzB,YAAY,EAAE,wBAAwB,EAAE,uBAAuB,EAAE,YAAY,EAAE,MAAM,mBAAmB,CAAC"}
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/types/index.ts"],"names":[],"mappings":"AACA,YAAY,EAAE,gBAAgB,EAAE,iBAAiB,EAAE,UAAU,EAAE,MAAM,aAAa,CAAC;AACnF,OAAO,EAAE,cAAc,EAAE,MAAM,aAAa,CAAC;AAG7C,YAAY,EAAE,aAAa,EAAE,iBAAiB,EAAE,IAAI,EAAE,MAAM,WAAW,CAAC;AAGxE,YAAY,EACV,6BAA6B,EAC7B,oBAAoB,EACpB,0BAA0B,EAC1B,iBAAiB,GAClB,MAAM,eAAe,CAAC;AAGvB,YAAY,EACV,IAAI,EACJ,QAAQ,EACR,kBAAkB,EAClB,gBAAgB,EAChB,aAAa,EACb,eAAe,EACf,eAAe,GAChB,MAAM,WAAW,CAAC;AAGnB,YAAY,EACV,WAAW,EACX,qBAAqB,EACrB,qBAAqB,EACrB,eAAe,EACf,kBAAkB,EAClB,qBAAqB,EACrB,gBAAgB,EAChB,QAAQ,EACR,SAAS,EACT,mBAAmB,EACnB,oBAAoB,EACpB,aAAa,EACb,cAAc,EACd,YAAY,EACZ,qBAAqB,EACrB,wBAAwB,EACxB,uBAAuB,EACvB,0BAA0B,EAC1B,uBAAuB,GACxB,MAAM,cAAc,CAAC;AAGtB,YAAY,EAAE,gBAAgB,EAAE,YAAY,EAAE,cAAc,EAAE,eAAe,EAAE,OAAO,EAAE,iBAAiB,EAAE,cAAc,EAAE,MAAM,WAAW,CAAC;AAG7I,YAAY,EACV,QAAQ,EACR,yBAAyB,EACzB,yBAAyB,EACzB,gBAAgB,EAChB,KAAK,EACL,sBAAsB,EACtB,uBAAuB,EACvB,QAAQ,EACR,qBAAqB,EACrB,4BAA4B,EAC5B,cAAc,GACf,MAAM,eAAe,CAAC;AAGvB,YAAY,EACV,4BAA4B,EAC5B,4BAA4B,EAC5B,yBAAyB,EACzB,0BAA0B,EAC1B,0BAA0B,EAC1B,wBAAwB,EACxB,wBAAwB,GACzB,MAAM,WAAW,CAAC;AAGnB,YAAY,EACV,cAAc,EACd,yBAAyB,EACzB,0BAA0B,EAC1B,qBAAqB,EACrB,aAAa,GACd,MAAM,iBAAiB,CAAC;AAGzB,YAAY,EAAE,wBAAwB,EAAE,uBAAuB,EAAE,YAAY,EAAE,MAAM,mBAAmB,CAAC"}
@@ -1,6 +1,8 @@
1
1
  export type { Message, EmailAddress } from '@microsoft/microsoft-graph-types';
2
2
  export interface ListMailsParams {
3
3
  limit?: number;
4
+ /** Well-known folder name or folder ID. Defaults to inbox. Well-known names: inbox, sentitems, drafts, deleteditems, junkemail, archive */
5
+ folder?: string;
4
6
  /** ISO datetime - messages received after this time */
5
7
  since?: string;
6
8
  /** ISO datetime - messages received before this time */
@@ -14,6 +16,18 @@ export interface ListMailsParams {
14
16
  /** Format for the body: 'text' or 'html' (default: 'html') */
15
17
  bodyFormat?: 'text' | 'html';
16
18
  }
19
+ export interface SearchMailsParams {
20
+ /** Search query string. Searches across subject, body, and participant fields. */
21
+ query: string;
22
+ /** Well-known folder name or folder ID. Searches all folders if omitted. Well-known names: inbox, sentitems, drafts, deleteditems, junkemail, archive */
23
+ folder?: string;
24
+ /** Max results to return (default: 25, max: 1000) */
25
+ limit?: number;
26
+ /** Include full message body in response */
27
+ includeBody?: boolean;
28
+ /** Format for the body: 'text' or 'html' (default: 'html') */
29
+ bodyFormat?: 'text' | 'html';
30
+ }
17
31
  export interface FileAttachment {
18
32
  name: string;
19
33
  contentType: string;
@@ -1 +1 @@
1
- {"version":3,"file":"mail.d.ts","sourceRoot":"","sources":["../../src/types/mail.ts"],"names":[],"mappings":"AACA,YAAY,EAAE,OAAO,EAAE,YAAY,EAAE,MAAM,kCAAkC,CAAC;AAM9E,MAAM,WAAW,eAAe;IAC9B,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,uDAAuD;IACvD,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,wDAAwD;IACxD,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,UAAU,CAAC,EAAE,OAAO,CAAC;IACrB,cAAc,CAAC,EAAE,OAAO,CAAC;IACzB,qCAAqC;IACrC,IAAI,CAAC,EAAE,MAAM,CAAC;IACd,4CAA4C;IAC5C,WAAW,CAAC,EAAE,OAAO,CAAC;IACtB,8DAA8D;IAC9D,UAAU,CAAC,EAAE,MAAM,GAAG,MAAM,CAAC;CAC9B;AAED,MAAM,WAAW,cAAc;IAC7B,IAAI,EAAE,MAAM,CAAC;IACb,WAAW,EAAE,MAAM,CAAC;IACpB,kCAAkC;IAClC,YAAY,EAAE,MAAM,CAAC;CACtB;AAED,MAAM,WAAW,cAAc;IAC7B,EAAE,EAAE,MAAM,EAAE,CAAC;IACb,OAAO,EAAE,MAAM,CAAC;IAChB,IAAI,EAAE,MAAM,CAAC;IACb,QAAQ,CAAC,EAAE,MAAM,GAAG,MAAM,CAAC;IAC3B,EAAE,CAAC,EAAE,MAAM,EAAE,CAAC;IACd,GAAG,CAAC,EAAE,MAAM,EAAE,CAAC;IACf,WAAW,CAAC,EAAE,cAAc,EAAE,CAAC;CAChC;AAED,MAAM,WAAW,gBAAgB;IAC/B,SAAS,EAAE,MAAM,CAAC;CACnB"}
1
+ {"version":3,"file":"mail.d.ts","sourceRoot":"","sources":["../../src/types/mail.ts"],"names":[],"mappings":"AACA,YAAY,EAAE,OAAO,EAAE,YAAY,EAAE,MAAM,kCAAkC,CAAC;AAM9E,MAAM,WAAW,eAAe;IAC9B,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,2IAA2I;IAC3I,MAAM,CAAC,EAAE,MAAM,CAAC;IAChB,uDAAuD;IACvD,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,wDAAwD;IACxD,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,UAAU,CAAC,EAAE,OAAO,CAAC;IACrB,cAAc,CAAC,EAAE,OAAO,CAAC;IACzB,qCAAqC;IACrC,IAAI,CAAC,EAAE,MAAM,CAAC;IACd,4CAA4C;IAC5C,WAAW,CAAC,EAAE,OAAO,CAAC;IACtB,8DAA8D;IAC9D,UAAU,CAAC,EAAE,MAAM,GAAG,MAAM,CAAC;CAC9B;AAED,MAAM,WAAW,iBAAiB;IAChC,kFAAkF;IAClF,KAAK,EAAE,MAAM,CAAC;IACd,yJAAyJ;IACzJ,MAAM,CAAC,EAAE,MAAM,CAAC;IAChB,qDAAqD;IACrD,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,4CAA4C;IAC5C,WAAW,CAAC,EAAE,OAAO,CAAC;IACtB,8DAA8D;IAC9D,UAAU,CAAC,EAAE,MAAM,GAAG,MAAM,CAAC;CAC9B;AAED,MAAM,WAAW,cAAc;IAC7B,IAAI,EAAE,MAAM,CAAC;IACb,WAAW,EAAE,MAAM,CAAC;IACpB,kCAAkC;IAClC,YAAY,EAAE,MAAM,CAAC;CACtB;AAED,MAAM,WAAW,cAAc;IAC7B,EAAE,EAAE,MAAM,EAAE,CAAC;IACb,OAAO,EAAE,MAAM,CAAC;IAChB,IAAI,EAAE,MAAM,CAAC;IACb,QAAQ,CAAC,EAAE,MAAM,GAAG,MAAM,CAAC;IAC3B,EAAE,CAAC,EAAE,MAAM,EAAE,CAAC;IACd,GAAG,CAAC,EAAE,MAAM,EAAE,CAAC;IACf,WAAW,CAAC,EAAE,cAAc,EAAE,CAAC;CAChC;AAED,MAAM,WAAW,gBAAgB;IAC/B,SAAS,EAAE,MAAM,CAAC;CACnB"}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "microsoft-graph-client",
3
- "version": "1.0.17",
3
+ "version": "1.0.19",
4
4
  "publish": true,
5
5
  "description": "TypeScript client library for Microsoft Graph API with built-in authentication",
6
6
  "type": "module",