@softeria/ms-365-mcp-server 0.95.0 → 0.97.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.
@@ -788,8 +788,8 @@ const microsoft_graph_sharePointGroupIdentity = z.object({
788
788
  id: z.string().describe(
789
789
  "Unique identifier for the identity or actor. For example, in the access reviews decisions API, this property might record the id of the principal, that is, the group, user, or application that's subject to review."
790
790
  ).nullish(),
791
- principalId: z.string().nullish(),
792
- title: z.string().nullish()
791
+ principalId: z.string().describe("The principal ID of the SharePoint group in the tenant. Read-only.").nullish(),
792
+ title: z.string().describe("The title of the SharePoint group. Read-only.").nullish()
793
793
  }).passthrough();
794
794
  const microsoft_graph_sharePointIdentity = z.object({
795
795
  displayName: z.string().describe(
@@ -1320,6 +1320,7 @@ const microsoft_graph_workbookWorksheetCollectionResponse = z.object({
1320
1320
  value: z.array(microsoft_graph_workbookWorksheet)
1321
1321
  }).partial().passthrough();
1322
1322
  const create_excel_chart_Body = z.object({ type: z.string(), sourceData: z.unknown(), seriesBy: z.string() }).partial().passthrough();
1323
+ const microsoft_graph_workbookRangeSort = z.object({ id: z.string().describe("The unique identifier for an entity. Read-only.").optional() }).passthrough();
1323
1324
  const microsoft_graph_workbookRangeBorder = z.object({
1324
1325
  id: z.string().describe("The unique identifier for an entity. Read-only.").optional(),
1325
1326
  color: z.string().describe(
@@ -1385,7 +1386,6 @@ const microsoft_graph_workbookRangeFormat = z.object({
1385
1386
  font: microsoft_graph_workbookRangeFont.optional(),
1386
1387
  protection: microsoft_graph_workbookFormatProtection.optional()
1387
1388
  }).passthrough();
1388
- const microsoft_graph_workbookRangeSort = z.object({ id: z.string().describe("The unique identifier for an entity. Read-only.").optional() }).passthrough();
1389
1389
  const microsoft_graph_workbookRange = z.object({
1390
1390
  id: z.string().describe("The unique identifier for an entity. Read-only.").optional(),
1391
1391
  address: z.string().describe(
@@ -4646,12 +4646,12 @@ const schemas = {
4646
4646
  microsoft_graph_workbookTableRowCollectionResponse,
4647
4647
  microsoft_graph_workbookWorksheetCollectionResponse,
4648
4648
  create_excel_chart_Body,
4649
+ microsoft_graph_workbookRangeSort,
4649
4650
  microsoft_graph_workbookRangeBorder,
4650
4651
  microsoft_graph_workbookRangeFill,
4651
4652
  microsoft_graph_workbookRangeFont,
4652
4653
  microsoft_graph_workbookFormatProtection,
4653
4654
  microsoft_graph_workbookRangeFormat,
4654
- microsoft_graph_workbookRangeSort,
4655
4655
  microsoft_graph_workbookRange,
4656
4656
  create_excel_table_Body,
4657
4657
  microsoft_graph_assignedLabel,
@@ -4962,6 +4962,22 @@ const schemas = {
4962
4962
  microsoft_graph_userCollectionResponse
4963
4963
  };
4964
4964
  const endpoints = makeApi([
4965
+ {
4966
+ method: "post",
4967
+ path: "/$batch",
4968
+ alias: "graph-batch",
4969
+ description: `Combine up to 20 Graph requests into a single HTTP call. Body: { requests: [{ id: '1', method: 'GET'|'POST'|'PATCH'|'DELETE', url: '/me/messages?$top=5', headers?: {...}, body?: {...}, dependsOn?: ['1'] }, ...] }. Returns { responses: [{ id, status, body, headers }] } in arbitrary order \u2014 match by id. Use cases: (1) parallelize many small reads (e.g. fetch 15 mail messages by id in one round-trip); (2) sequence dependent writes via dependsOn; (3) batch many Excel range writes into one call to dramatically reduce latency on large workbook builds. Note: each sub-request URL is relative to the Graph version root (/me/..., /drives/..., NOT https://graph.microsoft.com/v1.0/...).`,
4970
+ requestFormat: "json",
4971
+ parameters: [
4972
+ {
4973
+ name: "body",
4974
+ description: `Operation payload`,
4975
+ type: "Body",
4976
+ schema: z.object({}).partial().passthrough().passthrough()
4977
+ }
4978
+ ],
4979
+ response: z.void()
4980
+ },
4965
4981
  {
4966
4982
  method: "post",
4967
4983
  path: "/chats",
@@ -5184,14 +5200,6 @@ const endpoints = makeApi([
5184
5200
  ],
5185
5201
  response: z.void()
5186
5202
  },
5187
- {
5188
- method: "get",
5189
- path: "/chats/:chatId/messages/:chatMessageId/hostedContents/:chatMessageHostedContentId/$value",
5190
- alias: "get-chat-message-hosted-content",
5191
- description: `Retrieve the list of chatMessageHostedContent objects from a message. This API only lists the hosted content objects. To get the content bytes, see get chatmessage hosted content.`,
5192
- requestFormat: "json",
5193
- response: z.void()
5194
- },
5195
5203
  {
5196
5204
  method: "get",
5197
5205
  path: "/chats/:chatId/messages/:chatMessageId/replies",
@@ -5572,21 +5580,6 @@ const endpoints = makeApi([
5572
5580
  ],
5573
5581
  response: z.void()
5574
5582
  },
5575
- {
5576
- method: "get",
5577
- path: "/drives/:driveId/items/:driveItemId/content",
5578
- alias: "download-onedrive-file-content",
5579
- description: `The content stream, if the item represents a file.`,
5580
- requestFormat: "json",
5581
- parameters: [
5582
- {
5583
- name: "$format",
5584
- type: "Query",
5585
- schema: z.string().describe("Format of the content").optional()
5586
- }
5587
- ],
5588
- response: z.void()
5589
- },
5590
5583
  {
5591
5584
  method: "put",
5592
5585
  path: "/drives/:driveId/items/:driveItemId/content",
@@ -5598,7 +5591,7 @@ const endpoints = makeApi([
5598
5591
  name: "body",
5599
5592
  description: `New media content.`,
5600
5593
  type: "Body",
5601
- schema: z.instanceof(File)
5594
+ schema: z.string().describe("Base64-encoded file content. The server decodes it and PUTs the raw bytes to Microsoft Graph.")
5602
5595
  }
5603
5596
  ],
5604
5597
  response: z.void()
@@ -6059,6 +6052,26 @@ Items with this property set should be removed from your local state.`,
6059
6052
  description: `Operation payload`,
6060
6053
  type: "Body",
6061
6054
  schema: z.object({}).partial().passthrough().passthrough()
6055
+ },
6056
+ {
6057
+ name: "driveId",
6058
+ type: "Path",
6059
+ schema: z.string().describe("Path parameter: drive-id")
6060
+ },
6061
+ {
6062
+ name: "driveItemId",
6063
+ type: "Path",
6064
+ schema: z.string().describe("Path parameter: driveItem-id")
6065
+ },
6066
+ {
6067
+ name: "workbookTableId",
6068
+ type: "Path",
6069
+ schema: z.string().describe("Path parameter: workbookTable-id")
6070
+ },
6071
+ {
6072
+ name: "index",
6073
+ type: "Path",
6074
+ schema: z.string().describe("Path parameter: index")
6062
6075
  }
6063
6076
  ],
6064
6077
  response: z.void()
@@ -6069,6 +6082,28 @@ Items with this property set should be removed from your local state.`,
6069
6082
  alias: "delete-excel-table-row",
6070
6083
  description: `Delete a single row from a formal Excel table by zero-based row index.`,
6071
6084
  requestFormat: "json",
6085
+ parameters: [
6086
+ {
6087
+ name: "driveId",
6088
+ type: "Path",
6089
+ schema: z.string().describe("Path parameter: drive-id")
6090
+ },
6091
+ {
6092
+ name: "driveItemId",
6093
+ type: "Path",
6094
+ schema: z.string().describe("Path parameter: driveItem-id")
6095
+ },
6096
+ {
6097
+ name: "workbookTableId",
6098
+ type: "Path",
6099
+ schema: z.string().describe("Path parameter: workbookTable-id")
6100
+ },
6101
+ {
6102
+ name: "index",
6103
+ type: "Path",
6104
+ schema: z.string().describe("Path parameter: index")
6105
+ }
6106
+ ],
6072
6107
  response: z.void()
6073
6108
  },
6074
6109
  {
@@ -6137,22 +6172,6 @@ Items with this property set should be removed from your local state.`,
6137
6172
  ],
6138
6173
  response: z.void()
6139
6174
  },
6140
- {
6141
- method: "patch",
6142
- path: "/drives/:driveId/items/:driveItemId/workbook/worksheets/:workbookWorksheetId/range()/format",
6143
- alias: "format-excel-range",
6144
- description: `Update the navigation property format in drives`,
6145
- requestFormat: "json",
6146
- parameters: [
6147
- {
6148
- name: "body",
6149
- description: `New navigation property values`,
6150
- type: "Body",
6151
- schema: microsoft_graph_workbookRangeFormat
6152
- }
6153
- ],
6154
- response: z.void()
6155
- },
6156
6175
  {
6157
6176
  method: "patch",
6158
6177
  path: "/drives/:driveId/items/:driveItemId/workbook/worksheets/:workbookWorksheetId/range()/sort",
@@ -6191,6 +6210,42 @@ Items with this property set should be removed from your local state.`,
6191
6210
  description: `Operation payload`,
6192
6211
  type: "Body",
6193
6212
  schema: z.object({}).partial().passthrough().passthrough()
6213
+ },
6214
+ {
6215
+ name: "driveId",
6216
+ type: "Path",
6217
+ schema: z.string().describe("Path parameter: drive-id")
6218
+ },
6219
+ {
6220
+ name: "driveItemId",
6221
+ type: "Path",
6222
+ schema: z.string().describe("Path parameter: driveItem-id")
6223
+ },
6224
+ {
6225
+ name: "workbookWorksheetId",
6226
+ type: "Path",
6227
+ schema: z.string().describe("Path parameter: workbookWorksheet-id")
6228
+ },
6229
+ {
6230
+ name: "address",
6231
+ type: "Path",
6232
+ schema: z.string().describe("Path parameter: address")
6233
+ }
6234
+ ],
6235
+ response: z.void()
6236
+ },
6237
+ {
6238
+ method: "post",
6239
+ path: `/drives/:driveId/items/:driveItemId/workbook/worksheets/:workbookWorksheetId/range(address=':address')/clear`,
6240
+ alias: "clear-excel-range",
6241
+ description: `Invoke action clear`,
6242
+ requestFormat: "json",
6243
+ parameters: [
6244
+ {
6245
+ name: "body",
6246
+ description: `Action parameters`,
6247
+ type: "Body",
6248
+ schema: z.object({ applyTo: z.string() }).partial().passthrough()
6194
6249
  }
6195
6250
  ],
6196
6251
  response: z.void()
@@ -6211,6 +6266,22 @@ Items with this property set should be removed from your local state.`,
6211
6266
  ],
6212
6267
  response: z.void()
6213
6268
  },
6269
+ {
6270
+ method: "patch",
6271
+ path: `/drives/:driveId/items/:driveItemId/workbook/worksheets/:workbookWorksheetId/range(address=':address')/format`,
6272
+ alias: "format-excel-range",
6273
+ description: `Update the navigation property format in drives`,
6274
+ requestFormat: "json",
6275
+ parameters: [
6276
+ {
6277
+ name: "body",
6278
+ description: `New navigation property values`,
6279
+ type: "Body",
6280
+ schema: microsoft_graph_workbookRangeFormat
6281
+ }
6282
+ ],
6283
+ response: z.void()
6284
+ },
6214
6285
  {
6215
6286
  method: "post",
6216
6287
  path: `/drives/:driveId/items/:driveItemId/workbook/worksheets/:workbookWorksheetId/range(address=':address')/insert`,
@@ -6227,6 +6298,30 @@ Items with this property set should be removed from your local state.`,
6227
6298
  ],
6228
6299
  response: z.void()
6229
6300
  },
6301
+ {
6302
+ method: "post",
6303
+ path: `/drives/:driveId/items/:driveItemId/workbook/worksheets/:workbookWorksheetId/range(address=':address')/merge`,
6304
+ alias: "merge-excel-range",
6305
+ description: `Invoke action merge`,
6306
+ requestFormat: "json",
6307
+ parameters: [
6308
+ {
6309
+ name: "body",
6310
+ description: `Action parameters`,
6311
+ type: "Body",
6312
+ schema: z.object({ across: z.boolean().default(false) }).partial().passthrough()
6313
+ }
6314
+ ],
6315
+ response: z.void()
6316
+ },
6317
+ {
6318
+ method: "post",
6319
+ path: `/drives/:driveId/items/:driveItemId/workbook/worksheets/:workbookWorksheetId/range(address=':address')/unmerge`,
6320
+ alias: "unmerge-excel-range",
6321
+ description: `Invoke action unmerge`,
6322
+ requestFormat: "json",
6323
+ response: z.void()
6324
+ },
6230
6325
  {
6231
6326
  method: "post",
6232
6327
  path: "/drives/:driveId/items/:driveItemId/workbook/worksheets/:workbookWorksheetId/tables/add",
@@ -6243,6 +6338,14 @@ Items with this property set should be removed from your local state.`,
6243
6338
  ],
6244
6339
  response: z.void()
6245
6340
  },
6341
+ {
6342
+ method: "get",
6343
+ path: "/drives/:driveId/items/:driveItemId/workbook/worksheets/:workbookWorksheetId/usedRange()",
6344
+ alias: "get-excel-used-range",
6345
+ description: `Invoke function usedRange`,
6346
+ requestFormat: "json",
6347
+ response: z.void()
6348
+ },
6246
6349
  {
6247
6350
  method: "get",
6248
6351
  path: "/drives/:driveId/root",
@@ -9385,6 +9488,21 @@ having to fetch the entire set of messages from the server every time.`,
9385
9488
  ],
9386
9489
  response: z.void()
9387
9490
  },
9491
+ {
9492
+ method: "get",
9493
+ path: "/me/messages/:messageId/$value",
9494
+ alias: "get-mail-message-mime",
9495
+ description: `Get an open extension (openTypeExtension object) identified by name or fully qualified name. The table in the Permissions section lists the resources that support open extensions. The following table lists the three scenarios where you can get an open extension from a supported resource instance.`,
9496
+ requestFormat: "json",
9497
+ parameters: [
9498
+ {
9499
+ name: "includeHiddenMessages",
9500
+ type: "Query",
9501
+ schema: z.string().describe("Include Hidden Messages").optional()
9502
+ }
9503
+ ],
9504
+ response: z.void()
9505
+ },
9388
9506
  {
9389
9507
  method: "get",
9390
9508
  path: "/me/messages/:messageId/attachments",
@@ -9452,26 +9570,6 @@ resource.`,
9452
9570
  ],
9453
9571
  response: z.void()
9454
9572
  },
9455
- {
9456
- method: "get",
9457
- path: "/me/messages/:messageId/attachments/:attachmentId",
9458
- alias: "get-mail-attachment",
9459
- description: `Read the properties, relationships, or raw contents of an attachment that is attached to a user event, message, or group post. An attachment can be one of the following types: All these types of attachments are derived from the attachment resource.`,
9460
- requestFormat: "json",
9461
- parameters: [
9462
- {
9463
- name: "$select",
9464
- type: "Query",
9465
- schema: z.array(z.string()).describe("Select properties to be returned").optional()
9466
- },
9467
- {
9468
- name: "$expand",
9469
- type: "Query",
9470
- schema: z.array(z.string()).describe("Expand related entities").optional()
9471
- }
9472
- ],
9473
- response: z.void()
9474
- },
9475
9573
  {
9476
9574
  method: "delete",
9477
9575
  path: "/me/messages/:messageId/attachments/:attachmentId",
@@ -10529,17 +10627,6 @@ resource.`,
10529
10627
  ],
10530
10628
  response: z.void()
10531
10629
  },
10532
- {
10533
- method: "get",
10534
- path: "/me/photo/$value",
10535
- alias: "get-my-profile-photo",
10536
- description: `Get the specified profilePhoto or its metadata (profilePhoto properties). The supported sizes of HD photos on Microsoft 365 are as follows: 48x48, 64x64, 96x96, 120x120, 240x240,
10537
- 360x360, 432x432, 504x504, and 648x648. Photos can be any dimension if they're stored in Microsoft Entra ID. You can get the metadata of the largest available photo or specify a size to get the metadata for that photo size.
10538
- If the size you request is unavailable, you can still get a smaller size that the user has uploaded and made available.
10539
- For example, if the user uploads a photo that is 504x504 pixels, all but the 648x648 size of the photo is available for download.`,
10540
- requestFormat: "json",
10541
- response: z.void()
10542
- },
10543
10630
  {
10544
10631
  method: "get",
10545
10632
  path: "/me/planner/tasks",
@@ -12738,14 +12825,6 @@ To monitor future changes, call the delta API by using the @odata.deltaLink in t
12738
12825
  ],
12739
12826
  response: z.void()
12740
12827
  },
12741
- {
12742
- method: "get",
12743
- path: "/teams/:teamId/channels/:channelId/messages/:chatMessageId/hostedContents/:chatMessageHostedContentId/$value",
12744
- alias: "get-channel-message-hosted-content",
12745
- description: `Retrieve the list of chatMessageHostedContent objects from a message. This API only lists the hosted content objects. To get the content bytes, see get chatmessage hosted content.`,
12746
- requestFormat: "json",
12747
- response: z.void()
12748
- },
12749
12828
  {
12750
12829
  method: "get",
12751
12830
  path: "/teams/:teamId/channels/:channelId/messages/:chatMessageId/replies",
@@ -13145,7 +13224,7 @@ To monitor future changes, call the delta API by using the @odata.deltaLink in t
13145
13224
  method: "get",
13146
13225
  path: "/users/:userId/directReports",
13147
13226
  alias: "list-user-direct-reports",
13148
- description: `The users and contacts that report to the user. (The users and contacts that have their manager property set to this user.) Read-only. Nullable. Supports $expand.`,
13227
+ description: `Get an agentUser's direct reports. Returns the users and contacts for whom this agent user is assigned as manager.`,
13149
13228
  requestFormat: "json",
13150
13229
  parameters: [
13151
13230
  {
@@ -13252,7 +13331,7 @@ To monitor future changes, call the delta API by using the @odata.deltaLink in t
13252
13331
  method: "get",
13253
13332
  path: "/users/:userId/manager",
13254
13333
  alias: "get-user-manager",
13255
- description: `Returns the user or organizational contact assigned as the user's manager. Optionally, you can expand the manager's chain up to the root node.`,
13334
+ description: `Returns the user or organizational contact assigned as the agentUser's manager.`,
13256
13335
  requestFormat: "json",
13257
13336
  parameters: [
13258
13337
  {
@@ -13355,14 +13434,6 @@ To monitor future changes, call the delta API by using the @odata.deltaLink in t
13355
13434
  ],
13356
13435
  response: z.void()
13357
13436
  },
13358
- {
13359
- method: "get",
13360
- path: "/users/:userId/photo/$value",
13361
- alias: "get-user-profile-photo",
13362
- description: `The user's profile photo. Read-only.`,
13363
- requestFormat: "json",
13364
- response: z.void()
13365
- },
13366
13437
  {
13367
13438
  method: "get",
13368
13439
  path: "/users/:userId/presence",
@@ -105,6 +105,7 @@ class GraphClient {
105
105
  return fetch(url, {
106
106
  method: options.method || "GET",
107
107
  headers,
108
+ // Node's fetch accepts Buffer/Uint8Array; TS BodyInit doesn't.
108
109
  body: options.body
109
110
  });
110
111
  }