@microsoft/typespec-msgraph 1.0.0-Preview.2 → 1.0.0-Preview.4

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 (109) hide show
  1. package/README.md +4 -0
  2. package/dist/src/components/common-elements.d.ts +2 -0
  3. package/dist/src/components/common-elements.d.ts.map +1 -1
  4. package/dist/src/components/common-elements.js +15 -1
  5. package/dist/src/components/common-elements.js.map +1 -1
  6. package/dist/src/components/entity-container-element.d.ts +1 -0
  7. package/dist/src/components/entity-container-element.d.ts.map +1 -1
  8. package/dist/src/components/entity-container-element.js +1 -1
  9. package/dist/src/components/entity-container-element.js.map +1 -1
  10. package/dist/src/components/reference-target-element.d.ts.map +1 -1
  11. package/dist/src/components/schema-element.d.ts.map +1 -1
  12. package/dist/src/components/schema-element.js +1 -1
  13. package/dist/src/components/schema-element.js.map +1 -1
  14. package/dist/src/decorators/allowed-values.d.ts.map +1 -1
  15. package/dist/src/decorators/allowed-values.js +20 -2
  16. package/dist/src/decorators/allowed-values.js.map +1 -1
  17. package/dist/src/decorators/container.d.ts +10 -0
  18. package/dist/src/decorators/container.d.ts.map +1 -0
  19. package/dist/src/decorators/container.js +29 -0
  20. package/dist/src/decorators/container.js.map +1 -0
  21. package/dist/src/decorators/graph-partial.d.ts.map +1 -1
  22. package/dist/src/decorators/graph-route.d.ts.map +1 -1
  23. package/dist/src/decorators/graph-route.js +1 -1
  24. package/dist/src/decorators/graph-route.js.map +1 -1
  25. package/dist/src/decorators/index.d.ts +1 -0
  26. package/dist/src/decorators/index.d.ts.map +1 -1
  27. package/dist/src/decorators/index.js +1 -0
  28. package/dist/src/decorators/index.js.map +1 -1
  29. package/dist/src/emitter.d.ts +1 -0
  30. package/dist/src/emitter.d.ts.map +1 -1
  31. package/dist/src/emitter.js +16 -8
  32. package/dist/src/emitter.js.map +1 -1
  33. package/dist/src/entities/annotations.d.ts.map +1 -1
  34. package/dist/src/entities/annotations.js +7 -5
  35. package/dist/src/entities/annotations.js.map +1 -1
  36. package/dist/src/entities/model.d.ts.map +1 -1
  37. package/dist/src/entities/model.js +7 -6
  38. package/dist/src/entities/model.js.map +1 -1
  39. package/dist/src/entities/namespace.d.ts +1 -0
  40. package/dist/src/entities/namespace.d.ts.map +1 -1
  41. package/dist/src/entities/namespace.js +5 -3
  42. package/dist/src/entities/namespace.js.map +1 -1
  43. package/dist/src/entities/operation.js +2 -2
  44. package/dist/src/entities/operation.js.map +1 -1
  45. package/dist/src/entities/property.d.ts +1 -1
  46. package/dist/src/entities/property.d.ts.map +1 -1
  47. package/dist/src/entities/property.js +6 -18
  48. package/dist/src/entities/property.js.map +1 -1
  49. package/dist/src/lib.d.ts +10 -1
  50. package/dist/src/lib.d.ts.map +1 -1
  51. package/dist/src/lib.js +18 -6
  52. package/dist/src/lib.js.map +1 -1
  53. package/dist/src/linter.d.ts.map +1 -1
  54. package/dist/src/linter.js +26 -2
  55. package/dist/src/linter.js.map +1 -1
  56. package/dist/src/rules/allowed-values.d.ts +3 -0
  57. package/dist/src/rules/allowed-values.d.ts.map +1 -1
  58. package/dist/src/rules/allowed-values.js +32 -1
  59. package/dist/src/rules/allowed-values.js.map +1 -1
  60. package/dist/src/rules/collections.d.ts +4 -0
  61. package/dist/src/rules/collections.d.ts.map +1 -0
  62. package/dist/src/rules/collections.js +32 -0
  63. package/dist/src/rules/collections.js.map +1 -0
  64. package/dist/src/rules/contains.d.ts +6 -0
  65. package/dist/src/rules/contains.d.ts.map +1 -1
  66. package/dist/src/rules/contains.js +64 -4
  67. package/dist/src/rules/contains.js.map +1 -1
  68. package/dist/src/rules/entity.d.ts +3 -0
  69. package/dist/src/rules/entity.d.ts.map +1 -1
  70. package/dist/src/rules/entity.js +48 -1
  71. package/dist/src/rules/entity.js.map +1 -1
  72. package/dist/src/rules/enum.d.ts +9 -0
  73. package/dist/src/rules/enum.d.ts.map +1 -1
  74. package/dist/src/rules/enum.js +79 -3
  75. package/dist/src/rules/enum.js.map +1 -1
  76. package/dist/src/rules/index.d.ts +2 -0
  77. package/dist/src/rules/index.d.ts.map +1 -1
  78. package/dist/src/rules/index.js +2 -0
  79. package/dist/src/rules/index.js.map +1 -1
  80. package/dist/src/rules/limited-charset.d.ts.map +1 -1
  81. package/dist/src/rules/model.d.ts +3 -0
  82. package/dist/src/rules/model.d.ts.map +1 -1
  83. package/dist/src/rules/model.js +62 -20
  84. package/dist/src/rules/model.js.map +1 -1
  85. package/dist/src/rules/namespace.js +1 -1
  86. package/dist/src/rules/namespace.js.map +1 -1
  87. package/dist/src/rules/properties.d.ts +10 -0
  88. package/dist/src/rules/properties.d.ts.map +1 -0
  89. package/dist/src/rules/properties.js +118 -0
  90. package/dist/src/rules/properties.js.map +1 -0
  91. package/dist/src/supressions/csdl-suppression-rules.d.ts +8 -0
  92. package/dist/src/supressions/csdl-suppression-rules.d.ts.map +1 -0
  93. package/dist/src/supressions/csdl-suppression-rules.js +28 -0
  94. package/dist/src/supressions/csdl-suppression-rules.js.map +1 -0
  95. package/dist/src/supressions/path-util.d.ts +17 -0
  96. package/dist/src/supressions/path-util.d.ts.map +1 -0
  97. package/dist/src/supressions/path-util.js +65 -0
  98. package/dist/src/supressions/path-util.js.map +1 -0
  99. package/dist/src/supressions/suppression-collector.d.ts +10 -0
  100. package/dist/src/supressions/suppression-collector.d.ts.map +1 -0
  101. package/dist/src/supressions/suppression-collector.js +158 -0
  102. package/dist/src/supressions/suppression-collector.js.map +1 -0
  103. package/dist/src/utils.d.ts +8 -2
  104. package/dist/src/utils.d.ts.map +1 -1
  105. package/dist/src/utils.js +61 -4
  106. package/dist/src/utils.js.map +1 -1
  107. package/lib/decorators.tsp +10 -0
  108. package/lib/schema-Prod-v1.0.tsp +312 -0
  109. package/package.json +23 -18
@@ -0,0 +1,312 @@
1
+ // Generated to target TypeSpec 0.64.0
2
+ import "@microsoft/typespec-msgraph";
3
+
4
+ using TypeSpec.Http;
5
+ using MsGraph;
6
+ using MsGraph.Responses;
7
+ using MsGraph.SharedModels;
8
+ using microsoft.graph;
9
+
10
+ // Define a local utility interface to make workload-wide choices
11
+ namespace MsGraph {
12
+ interface LocalOps {
13
+ // All collection operations support select, skip, and top and are paged collections
14
+ @select @top @skip GetCollection is GraphOps.GetPagedCollection;
15
+ @select GetResource is GraphOps.GetResource;
16
+ PatchResource is GraphOps.PatchNoResponse;
17
+ DeleteResource is GraphOps.Delete;
18
+ // Require POSTs to specify their errors.{
19
+ Post<TErrorCodes extends int16> is GraphOps.Post<TErrorResponse = ErrorResponse<TErrorCodes>>;
20
+ }
21
+ }
22
+
23
+ // First, shared elements that are owned by other teams which have already shipped so cannot be hidden as part of our private preview tag
24
+ #suppress "@microsoft/typespec-msgraph/require-documentation-for-core-elements" "TBD finish documentation"
25
+ @publicNamespace("microsoft.graph")
26
+ namespace microsoft.graphnothidden {
27
+ @ownerless
28
+ @addressUrl("https://substrate.office.com/m365Copilot/api/beta/copilot", true)
29
+ @graphRoute("copilot")
30
+ interface copilotSingleton extends Resource<copilotRoot> {} // Empty interface denotes no HTTP operations possible.
31
+
32
+ /** Standard way to represent a Json blob on Graph.*/
33
+ @complex model Json {} // Note capital J for JSON is correct in this instance.
34
+
35
+ /** Root singleton for all Copilot APIs on Microsoft Graph.
36
+ * @prop conversations The users conversations with Copilot Chat.
37
+ */
38
+ @entity model copilotRoot {
39
+ @contains conversations: copilotConversation[];
40
+ }
41
+
42
+ /** Represents a sensitivityLabel.
43
+ * This model is shared with the CCS retrieval API and search where it is already unhidden.
44
+ */
45
+ @complex model searchSensitivityLabelInfo {
46
+ @computed @readOnly sensitivityLabelId: string|null;
47
+ @computed @readOnly displayName: string|null;
48
+ @computed @readOnly tooltip: string | null;
49
+ @computed @readOnly priority: int32|null;
50
+ @computed @readOnly color: string|null;
51
+ @privileged @computed @readOnly isEncrypted: boolean|null;
52
+ }
53
+ }
54
+
55
+ // Teams has already taken the OData Action name microsoft.graph.chat, so we have to put our actions in a subnamespace.
56
+ // This won't affect customers much, but we will need to adjust odata routes in our controllers to match.
57
+ #suppress "@microsoft/typespec-msgraph/require-documentation-for-core-elements" "TBD finish documentation"
58
+ #suppress "@microsoft/typespec-msgraph/use-evolvable-enum"
59
+ @publicNamespace("microsoft.graph.copilot")
60
+ @privatePreview("copilotChatPrivatePreview1")
61
+ namespace microsoft.graph.copilot {
62
+
63
+ #suppress "@microsoft/typespec-msgraph/use-evolvable-enum"
64
+ enum TestType {
65
+ TestOne,
66
+ TestTwo,
67
+ TestThree
68
+ }
69
+
70
+ /** This extra interface is temporary until we resolve a bug in Hidi that operations using RequiresExplicitBinding
71
+ * don't appear in the output YAML.
72
+ * Once that is fixed, move the operations back under copilotConversationsById and remove the
73
+ * @globalOperation decorator.
74
+ */
75
+ interface globalOperations extends Resource<copilotConversation> {
76
+ /** Chat with Copilot in this conversation. This synchronous endpoint may be quite slow. */
77
+ @globalOperation
78
+ chat is GraphOps.Action<TActionParams=copilotChatRequestParameters,
79
+ TReturnType=copilotConversation,
80
+ TErrorResponse=ErrorResponse<400|402|403|429|500>>;
81
+
82
+ /** Chat with Copilot in this conversation. This endpoint streams its results over Server-Sent Events (SSE). */
83
+ @globalOperation
84
+ chatOverStream is GraphOps.Action<TActionParams=copilotChatRequestParameters,
85
+ TReturnType=stream,
86
+ TErrorResponse=ErrorResponse<400|402|403|429|500>>;
87
+
88
+ }
89
+
90
+ // We need at least one model in the namespace otherwise it does not get generated.
91
+
92
+ /** Represents the request body content of the chat action.
93
+ This allows the CSDL to carry a complex representation of the body of the Chat Action to make C# code gen easier.
94
+ NOTE: Ensure this type ALWAYS stays @hidden even when the rest of the API is public as it for internal consumption. */
95
+ @complex model copilotConversationRequest {
96
+ ...copilotChatRequestParameters; // Use the spread operator to make its content the same as the request parameters.
97
+ }
98
+ }
99
+
100
+ #suppress "@microsoft/typespec-msgraph/require-documentation-for-core-elements" "TBD finish documentation"
101
+ @privatePreviewDefinition("copilotChatPrivatePreview1", "2025-03-27", "2025-08-28", "compliantsydney")
102
+ @publicNamespace("microsoft.graph")
103
+ @privatePreview("copilotChatPrivatePreview1")
104
+ @additionalQueryParameters("variants", "feature.EnableCopilotChatControllerEndpoint")
105
+ namespace microsoft.graph {
106
+
107
+ // -------------------------- Routes -------------------------
108
+ // Full list of the URLs supported by the 'crawl' version of the CCS Chat API
109
+ // This is the set to implement controllers for.
110
+
111
+ @graphRoute("copilot/conversations")
112
+ interface copilotConversations extends Collection<copilotConversation> {
113
+ #suppress "@microsoft/typespec-msgraph/get-put-post-patch-operations-should-have-select-decorator" "Really no reason to expect to need $select on this create op."
114
+ post is LocalOps.Post<400|402|403|429|500>;
115
+ }
116
+
117
+ @graphRoute("copilot/conversations/{conversationId}")
118
+ interface copilotConversationsById extends Resource<copilotConversation> {
119
+ }
120
+
121
+ // Because there is an @contains relationship between two entities in the model, we need to
122
+ // be explicit that no calls to that URL are yet supported
123
+ @graphRoute("copilot/conversations/{conversationId}/messages")
124
+ interface copilotConversationsByIdHasMessages extends Collection<copilotConversationMessage> {
125
+ }
126
+
127
+ @graphRoute("copilot/conversations/{conversationId}/messages/{messageId}")
128
+ interface copilotConversationsByIdHasMessagesById extends Resource<copilotConversationMessage> {
129
+ }
130
+
131
+ // -------------------------- Standard Headers -------------------------
132
+ /** Standard headers for request/response. Currently just documentation. */
133
+ namespace headers {
134
+ /**
135
+ * Standard headers for all requests to the Copilot Chat API.
136
+ * Note: camelCase properties are converted to snake-case headers
137
+ * @prop xAnchormailbox CAFE header to route to correct shard passed as userId@TenantId from Microsoft Graph.
138
+ * @prop xRoutingparameterSessionkey CAFE header to route to stable pod passed as oid of user from Microsoft Graph.
139
+ * @prop authorization Standard Graph bearer token authorization.
140
+ * @prop requestId Unique identifier for the request passed from Microsoft Graph.
141
+ * @prop clientRequestId Unique identifier passed optionally from the client application.
142
+ * @prop acceptLanguage The natural language (e.g. en-gb) to use for the response per RFC 3282.
143
+ * @prop accept The type of response to accept. Currently must be "text/event-stream" for _chatOverStream_ and "application/json" for all other calls.
144
+ * @prop xScenario The scenario for the request.
145
+ */
146
+ #suppress "@microsoft/typespec-msgraph/model-should-be-entity-or-complex-type" "Infrastructure"
147
+ @operationParameters
148
+ model standardRequestHeaders {
149
+ @header xAnchormailbox: string;
150
+ @header xRoutingparameterSessionkey: string;
151
+ @header authorization: string;
152
+ @header requestId: string;
153
+ @header clientRequestId: string;
154
+ @header acceptLanguage: string;
155
+ @header accept: string;
156
+ @header xScenario: string;
157
+ }
158
+
159
+ /**
160
+ * Standard headers for all responses from the Copilot Chat API.
161
+ * Note: camelCase properties are converted to snake-case headers
162
+ * @prop retryAfter The time to wait before retrying the request after a 429.
163
+ * @prop contentType The type of content returned. Either application/json or text/event-stream as appropriate.
164
+ * @prop cacheControl The cache control header. Set with a value of 'no-cache' for streams.
165
+ */
166
+ #suppress "@microsoft/typespec-msgraph/model-should-be-entity-or-complex-type" "Infrastructure"
167
+ @operationParameters
168
+ model standardResponseHeaders {
169
+ @header retryAfter: string;
170
+ @header contentType: string;
171
+ @header cacheControl: string;
172
+ }
173
+ }
174
+
175
+ // -------------------------- Models -------------------------
176
+
177
+ /** Conversation is a first class object in the system, and consists of persistent metadata plus a stream of messages,
178
+ * typically alternating request/response, implicitly forming a turn.
179
+ */
180
+
181
+ /** Represents a conversation with Copilot Chat.
182
+ * @prop id The unique identifier of the conversation.
183
+ * @prop createdDateTime The date and time when the conversation was created.
184
+ * @prop capabilityParameters Parameters to modify the behavior of the well-known capabilities of Copilot Chat.
185
+ * @prop displayName The display name of the conversation.
186
+ * @prop state The state of the conversation.
187
+ * @prop turnCount The number of turns in the conversation.
188
+ * @prop messages The ordered list of messages in the conversation.
189
+ */
190
+ @entity model copilotConversation {
191
+ @readOnly @computed @key id: string;
192
+ @readOnly @computed createdDateTime: dateTimeOffset;
193
+ @computed displayName: string;
194
+ @readOnly @computed state: copilotConversationState;
195
+ @readOnly @computed turnCount: int32;
196
+ @readOnly @contains messages: copilotConversationMessage[];
197
+ }
198
+
199
+ /** The state of a Copilot conversation. */
200
+ enum copilotConversationState {
201
+ /** The conversation is active and can accept requests to chat. */
202
+ active,
203
+ /** Copilot has disengaged from the conversation due to a RAI issue and will reject further requests to chat. */
204
+ disengagedForRai,
205
+ unknownFutureValue
206
+ }
207
+
208
+ // ---------------------- Request Models ----------------------
209
+
210
+ /** Represents the parameters in the body of the chat action.
211
+ * @prop message The message of the chat call.
212
+ * @prop additionalContext Extra context data for a chat call.
213
+ * @prop locationHint Location hint for a chat call.
214
+ */
215
+ @operationParameters model copilotChatRequestParameters {
216
+ message: copilotConversationRequestMessageParameter;
217
+ locationHint: copilotConversationLocation;
218
+ additionalContext?: copilotContextMessage[];
219
+ }
220
+
221
+ /** Abstract entity representing a chat message in a request or response.
222
+ * @prop id The unique identifier of the message.
223
+ * @prop text The text of the message.
224
+ */
225
+ @abstract @entity model copilotConversationMessage {
226
+ @readOnly @computed @key id: string;
227
+ ... copilotConversationMessageNonIdProperties;
228
+ }
229
+
230
+ /** Entity representing a chat message in a request. */
231
+ @entity model copilotConversationRequestMessage extends copilotConversationMessage {
232
+ ... copilotConversationRequestMessageNonIdProperties;
233
+ }
234
+
235
+ // Out of the box, the OData libraries appear not to support using an ephemeral entity as a parameter to an OData Action.
236
+ // So we will create an extra complex type that has all of the RequuestMessage's properties except 'id' just for the Action.
237
+ // Then we will spread that complex type back into the original RequestMessageEntity to stay DRY and ensure each property is only defined once.
238
+ @complex model copilotConversationMessageParameter {
239
+ ... copilotConversationMessageNonIdProperties;
240
+ }
241
+
242
+ @complex model copilotConversationRequestMessageParameter extends copilotConversationMessageParameter {
243
+ ...copilotConversationRequestMessageNonIdProperties;
244
+ }
245
+
246
+ @operationParameters model copilotConversationMessageNonIdProperties {
247
+ @requiredForCreate @immutable text: string;
248
+ }
249
+
250
+ @operationParameters model copilotConversationRequestMessageNonIdProperties {
251
+ }
252
+
253
+
254
+ /** Extra context data for a request supplied in the form of a message.
255
+ * @prop text The text of the message.
256
+ * @prop description The description of the message.
257
+ */
258
+ @complex model copilotContextMessage{
259
+ @requiredForCreate @immutable text: string;
260
+ @requiredForCreate @immutable description: string;
261
+ }
262
+
263
+ /** Represents a location.
264
+ * @prop latitude The latitude of the location.
265
+ * @prop longitude The longitude of the location.
266
+ * @prop countryOrRegion The country or region of the location.
267
+ * @prop countryOrRegionConfidence The confidence level of the country or region.
268
+ * @prop timeZone The IANA timezone of the location.
269
+ */
270
+ @complex model copilotConversationLocation {
271
+ @immutable latitude: float64 | null = null;
272
+ @immutable longitude: float64 | null = null;
273
+ @immutable countryOrRegion: string | null = null;
274
+ @immutable countryOrRegionConfidence: float64 | null = null;
275
+ @requiredForCreate @immutable timeZone: string;
276
+ }
277
+
278
+ // ---------------------- Response Models ----------------------
279
+
280
+ /** Represents a response message in a chat. */
281
+ @entity model copilotConversationResponseMessage extends copilotConversationMessage {
282
+ @computed @readOnly createdDateTime: dateTimeOffset;
283
+ @computed @readOnly adaptiveCards: microsoft.graphnothidden.Json[];
284
+ @computed @readOnly attributions: copilotConversationAttribution[];
285
+ @computed @readOnly sensitivityLabel: microsoft.graphnothidden.searchSensitivityLabelInfo | null;
286
+ }
287
+
288
+ @complex model copilotConversationAttribution {
289
+ @computed @readOnly attributionType: copilotConversationAttributionType;
290
+ @computed @readOnly providerDisplayName: string;
291
+ @computed @readOnly attributionSource: copilotConversationAttributionSource;
292
+ @computed @readOnly seeMoreWebUrl: webUrl;
293
+ @computed @readOnly imageWebUrl: webUrl;
294
+ @computed @readOnly imageFavIcon: string;
295
+ @computed @readOnly imageWidth: int32;
296
+ @computed @readOnly imageHeight: int32;
297
+ }
298
+
299
+ /** The type of attribution. */
300
+ enum copilotConversationAttributionType {
301
+ citation,
302
+ annotation,
303
+ unknownFutureValue
304
+ }
305
+
306
+ /** The source of the attribution. */
307
+ enum copilotConversationAttributionSource {
308
+ grounding,
309
+ `model`,
310
+ unknownFutureValue
311
+ }
312
+ }
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@microsoft/typespec-msgraph",
3
- "version": "1.0.0-Preview.2",
3
+ "version": "1.0.0-Preview.4",
4
4
  "author": "Microsoft Corporation",
5
5
  "description": "TypeSpec for Microsoft Graph provides a description of the Microsoft Graph APIs. It is used for generating API description languages, client and service code, documentation, and other assets.",
6
6
  "homepage": "https://github.com/microsoftgraph/typespec-msgraph",
@@ -34,17 +34,7 @@
34
34
  }
35
35
  },
36
36
  "engines": {
37
- "node": ">=14.0.0"
38
- },
39
- "scripts": {
40
- "clean": "rimraf ./dist ./temp",
41
- "build": "tsc -p . && tsp compile --noEmit lib/msgraph.tsp",
42
- "watch": "tsc -p . --watch",
43
- "test": "mocha --parallel",
44
- "buildntest": "tsc -p . && mocha --parallel",
45
- "test-official": "c8 mocha --forbid-only --parallel",
46
- "lint": "eslint . --ext .ts,.tsx --max-warnings=0",
47
- "lint:fix": "eslint . --fix --ext .ts,.tsx"
37
+ "node": ">=18.0.0"
48
38
  },
49
39
  "files": [
50
40
  "lib/*.tsp",
@@ -52,17 +42,22 @@
52
42
  "!dist/test/**"
53
43
  ],
54
44
  "dependencies": {
55
- "@typespec/compiler": "~0.66.0",
56
- "@typespec/http": "~0.66.0",
45
+ "@typespec/compiler": "~1.4.0",
46
+ "@typespec/http": "~1.4.0",
57
47
  "@xmldom/xmldom": "~0.8.10",
58
48
  "prettier": "~3.2.5",
59
49
  "react": "~18.3.1",
60
50
  "react-dom": "~18.3.1",
61
- "react-reconciler": "~0.29.2"
51
+ "react-reconciler": "~0.29.2",
52
+ "@alloy-js/core": "^0.20.0",
53
+ "@alloy-js/json": "^0.20.0",
54
+ "@alloy-js/typescript": "^0.20.0",
55
+ "@alloy-js/csharp": "^0.20.0",
56
+ "@typespec/emitter-framework": "^0.11.0"
62
57
  },
63
58
  "devDependencies": {
64
59
  "@types/mocha": "~10.0.10",
65
- "@types/node": "~20.12.14",
60
+ "@types/node": "~22.0.0",
66
61
  "@types/react": "~18.3.18",
67
62
  "@types/react-reconciler": "~0.28.9",
68
63
  "c8": "~9.1.0",
@@ -71,7 +66,17 @@
71
66
  "rimraf": "~5.0.10",
72
67
  "source-map-support": "~0.5.21",
73
68
  "tsx": "~4.19.3",
74
- "typescript": "~5.7.3",
69
+ "typescript": "~5.9.2",
75
70
  "xpath": "~0.0.34"
71
+ },
72
+ "scripts": {
73
+ "clean": "rimraf ./dist ./temp",
74
+ "build": "tsc -p . && tsp compile --noEmit lib/msgraph.tsp",
75
+ "watch": "tsc -p . --watch",
76
+ "test": "mocha --parallel",
77
+ "buildntest": "tsc -p . && mocha --parallel",
78
+ "test-official": "c8 mocha --forbid-only --parallel",
79
+ "lint": "eslint . --ext .ts,.tsx --max-warnings=0",
80
+ "lint:fix": "eslint . --fix --ext .ts,.tsx"
76
81
  }
77
- }
82
+ }