@softeria/ms-365-mcp-server 0.9.9 → 0.9.11

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.
@@ -106,6 +106,14 @@ function flattenComplexSchemasRecursively(schemas) {
106
106
  for (const subSchema of schema.allOf) {
107
107
  if (subSchema.$ref && subSchema.$ref.startsWith('#/components/schemas/')) {
108
108
  const refName = subSchema.$ref.replace('#/components/schemas/', '');
109
+ if (schemaName === 'microsoft.graph.attendee') {
110
+ console.log(
111
+ `Processing ref ${refName} for attendee, exists: ${!!schemas[refName]}, has properties: ${!!schemas[refName]?.properties}`
112
+ );
113
+ if (schemas[refName]?.properties) {
114
+ console.log(`Properties in ${refName}:`, Object.keys(schemas[refName].properties));
115
+ }
116
+ }
109
117
  if (schemas[refName] && schemas[refName].properties) {
110
118
  Object.assign(flattened.properties, schemas[refName].properties);
111
119
  if (schemas[refName].required) {
@@ -146,6 +154,21 @@ function flattenComplexSchemasRecursively(schemas) {
146
154
 
147
155
  schemas[schemaName] = flattened;
148
156
  flattenedCount++;
157
+
158
+ if (schemaName === 'microsoft.graph.attendee') {
159
+ console.log('Ensuring attendee has all required properties from attendeeBase');
160
+ const attendeeBase = schemas['microsoft.graph.attendeeBase'];
161
+ if (attendeeBase && attendeeBase.properties) {
162
+ if (!flattened.properties.emailAddress && attendeeBase.properties.emailAddress) {
163
+ flattened.properties.emailAddress = attendeeBase.properties.emailAddress;
164
+ console.log('Added emailAddress property to attendee');
165
+ }
166
+ if (!flattened.properties.type && attendeeBase.properties.type) {
167
+ flattened.properties.type = attendeeBase.properties.type;
168
+ console.log('Added type property to attendee');
169
+ }
170
+ }
171
+ }
149
172
  } catch (error) {
150
173
  console.warn(`Warning: Could not flatten schema ${schemaName}:`, error.message);
151
174
  }
@@ -252,6 +275,21 @@ function flattenComplexSchemasRecursively(schemas) {
252
275
  });
253
276
 
254
277
  console.log(`Flattened ${flattenedCount} complex schemas`);
278
+
279
+ console.log('Second pass: Fixing inheritance dependencies...');
280
+ if (schemas['microsoft.graph.attendee'] && schemas['microsoft.graph.attendeeBase']) {
281
+ const attendee = schemas['microsoft.graph.attendee'];
282
+ const attendeeBase = schemas['microsoft.graph.attendeeBase'];
283
+
284
+ if (!attendee.properties.emailAddress && attendeeBase.properties?.emailAddress) {
285
+ attendee.properties.emailAddress = attendeeBase.properties.emailAddress;
286
+ console.log('Fixed: Added emailAddress to attendee from attendeeBase');
287
+ }
288
+ if (!attendee.properties.type && attendeeBase.properties?.type) {
289
+ attendee.properties.type = attendeeBase.properties.type;
290
+ console.log('Fixed: Added type to attendee from attendeeBase');
291
+ }
292
+ }
255
293
  }
256
294
 
257
295
  function simplifyAnyOfInPaths(paths) {
@@ -131,12 +131,6 @@
131
131
  "toolName": "upload-file-content",
132
132
  "scopes": ["Files.ReadWrite"]
133
133
  },
134
- {
135
- "pathPattern": "/drives/{drive-id}/items/{driveItem-id}:/{filename}:/content",
136
- "method": "put",
137
- "toolName": "upload-new-file",
138
- "scopes": ["Files.ReadWrite"]
139
- },
140
134
  {
141
135
  "pathPattern": "/drives/{drive-id}/items/{driveItem-id}/workbook/worksheets/{workbookWorksheet-id}/charts/add",
142
136
  "method": "post",
@@ -1,5 +1,6 @@
1
1
  import { makeApi, Zodios } from './hack.js';
2
2
  import { z } from 'zod';
3
+ const microsoft_graph_attendeeType = z.enum(['required', 'optional', 'resource']);
3
4
  const microsoft_graph_chatType = z.enum(['oneOnOne', 'group', 'meeting', 'unknownFutureValue']);
4
5
  const microsoft_graph_teamworkUserIdentityType = z.enum([
5
6
  'aadUser',
@@ -2607,7 +2608,12 @@ const microsoft_graph_responseStatus = z
2607
2608
  .partial()
2608
2609
  .strict();
2609
2610
  const microsoft_graph_attendee = z
2610
- .object({ proposedNewTime: microsoft_graph_timeSlot, status: microsoft_graph_responseStatus })
2611
+ .object({
2612
+ proposedNewTime: microsoft_graph_timeSlot,
2613
+ status: microsoft_graph_responseStatus,
2614
+ emailAddress: microsoft_graph_emailAddress,
2615
+ type: microsoft_graph_attendeeType
2616
+ })
2611
2617
  .partial()
2612
2618
  .strict();
2613
2619
  const microsoft_graph_importance = z.enum(['low', 'normal', 'high']);
@@ -10976,6 +10982,7 @@ const microsoft_graph_conversationMemberCollectionResponse = z
10976
10982
  .partial()
10977
10983
  .strict();
10978
10984
  export const schemas = {
10985
+ microsoft_graph_attendeeType,
10979
10986
  microsoft_graph_chatType,
10980
10987
  microsoft_graph_teamworkUserIdentityType,
10981
10988
  microsoft_graph_teamworkUserIdentity,
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@softeria/ms-365-mcp-server",
3
- "version": "0.9.9",
3
+ "version": "0.9.11",
4
4
  "description": "Microsoft 365 MCP Server",
5
5
  "type": "module",
6
6
  "main": "dist/index.js",
@@ -131,12 +131,6 @@
131
131
  "toolName": "upload-file-content",
132
132
  "scopes": ["Files.ReadWrite"]
133
133
  },
134
- {
135
- "pathPattern": "/drives/{drive-id}/items/{driveItem-id}:/{filename}:/content",
136
- "method": "put",
137
- "toolName": "upload-new-file",
138
- "scopes": ["Files.ReadWrite"]
139
- },
140
134
  {
141
135
  "pathPattern": "/drives/{drive-id}/items/{driveItem-id}/workbook/worksheets/{workbookWorksheet-id}/charts/add",
142
136
  "method": "post",