@microsoft/typespec-msgraph 0.0.1-Preview.9 → 1.0.0-Preview.2

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 (542) hide show
  1. package/dist/src/components/acceptable-media-types-annotation.js.map +1 -1
  2. package/dist/src/components/alternate-keys-annotation.js +2 -1
  3. package/dist/src/components/alternate-keys-annotation.js.map +1 -1
  4. package/dist/src/components/annotations.d.ts +3 -3
  5. package/dist/src/components/annotations.d.ts.map +1 -1
  6. package/dist/src/components/annotations.js +51 -8
  7. package/dist/src/components/annotations.js.map +1 -1
  8. package/dist/src/components/common-elements.d.ts +7 -7
  9. package/dist/src/components/common-elements.d.ts.map +1 -1
  10. package/dist/src/components/common-elements.js.map +1 -1
  11. package/dist/src/components/delta-annotation.d.ts +6 -0
  12. package/dist/src/components/delta-annotation.d.ts.map +1 -0
  13. package/dist/src/components/delta-annotation.js +18 -0
  14. package/dist/src/components/delta-annotation.js.map +1 -0
  15. package/dist/src/components/entity-container-element.d.ts.map +1 -1
  16. package/dist/src/components/entity-container-element.js +16 -6
  17. package/dist/src/components/entity-container-element.js.map +1 -1
  18. package/dist/src/components/enum-type-element.d.ts.map +1 -1
  19. package/dist/src/components/enum-type-element.js +6 -3
  20. package/dist/src/components/enum-type-element.js.map +1 -1
  21. package/dist/src/components/filter-restrictions-annotation.js +1 -1
  22. package/dist/src/components/filter-restrictions-annotation.js.map +1 -1
  23. package/dist/src/components/is-url-annotation.d.ts +5 -0
  24. package/dist/src/components/is-url-annotation.d.ts.map +1 -0
  25. package/dist/src/components/is-url-annotation.js +6 -0
  26. package/dist/src/components/is-url-annotation.js.map +1 -0
  27. package/dist/src/components/open-property-type-constraint-annotation-element.d.ts +5 -0
  28. package/dist/src/components/open-property-type-constraint-annotation-element.d.ts.map +1 -0
  29. package/dist/src/components/open-property-type-constraint-annotation-element.js +7 -0
  30. package/dist/src/components/open-property-type-constraint-annotation-element.js.map +1 -0
  31. package/dist/src/components/operation-element.d.ts.map +1 -1
  32. package/dist/src/components/operation-element.js +30 -15
  33. package/dist/src/components/operation-element.js.map +1 -1
  34. package/dist/src/components/permissions-annotation.js.map +1 -1
  35. package/dist/src/components/property-element.d.ts.map +1 -1
  36. package/dist/src/components/property-element.js +8 -4
  37. package/dist/src/components/property-element.js.map +1 -1
  38. package/dist/src/components/reference-target-element.d.ts +9 -0
  39. package/dist/src/components/reference-target-element.d.ts.map +1 -0
  40. package/dist/src/components/reference-target-element.js +3 -0
  41. package/dist/src/components/reference-target-element.js.map +1 -0
  42. package/dist/src/components/revisions-annotation.d.ts.map +1 -1
  43. package/dist/src/components/revisions-annotation.js +2 -1
  44. package/dist/src/components/revisions-annotation.js.map +1 -1
  45. package/dist/src/components/schema-element.d.ts.map +1 -1
  46. package/dist/src/components/schema-element.js +8 -3
  47. package/dist/src/components/schema-element.js.map +1 -1
  48. package/dist/src/components/select-supported-annotation.d.ts +5 -0
  49. package/dist/src/components/select-supported-annotation.d.ts.map +1 -0
  50. package/dist/src/components/select-supported-annotation.js +6 -0
  51. package/dist/src/components/select-supported-annotation.js.map +1 -0
  52. package/dist/src/components/structured-type-element.d.ts.map +1 -1
  53. package/dist/src/components/structured-type-element.js +8 -6
  54. package/dist/src/components/structured-type-element.js.map +1 -1
  55. package/dist/src/components/term-element.d.ts +9 -0
  56. package/dist/src/components/term-element.d.ts.map +1 -0
  57. package/dist/src/components/term-element.js +8 -0
  58. package/dist/src/components/term-element.js.map +1 -0
  59. package/dist/src/components/top-supported-annotation.js +1 -1
  60. package/dist/src/components/top-supported-annotation.js.map +1 -1
  61. package/dist/src/components/update-restrictions-annotation.d.ts +2 -1
  62. package/dist/src/components/update-restrictions-annotation.d.ts.map +1 -1
  63. package/dist/src/components/update-restrictions-annotation.js +4 -4
  64. package/dist/src/components/update-restrictions-annotation.js.map +1 -1
  65. package/dist/src/decorators/abstract.d.ts +2 -0
  66. package/dist/src/decorators/abstract.d.ts.map +1 -1
  67. package/dist/src/decorators/abstract.js +2 -0
  68. package/dist/src/decorators/abstract.js.map +1 -1
  69. package/dist/src/decorators/action.d.ts +2 -0
  70. package/dist/src/decorators/action.d.ts.map +1 -1
  71. package/dist/src/decorators/action.js +2 -0
  72. package/dist/src/decorators/action.js.map +1 -1
  73. package/dist/src/decorators/additional-query-parameters.d.ts +2 -0
  74. package/dist/src/decorators/additional-query-parameters.d.ts.map +1 -1
  75. package/dist/src/decorators/additional-query-parameters.js +2 -0
  76. package/dist/src/decorators/additional-query-parameters.js.map +1 -1
  77. package/dist/src/decorators/address-url-msa.d.ts +14 -0
  78. package/dist/src/decorators/address-url-msa.d.ts.map +1 -0
  79. package/dist/src/decorators/address-url-msa.js +21 -0
  80. package/dist/src/decorators/address-url-msa.js.map +1 -0
  81. package/dist/src/decorators/address-url.d.ts +18 -0
  82. package/dist/src/decorators/address-url.d.ts.map +1 -0
  83. package/dist/src/decorators/address-url.js +21 -0
  84. package/dist/src/decorators/address-url.js.map +1 -0
  85. package/dist/src/decorators/ags-attribute.d.ts +7 -3
  86. package/dist/src/decorators/ags-attribute.d.ts.map +1 -1
  87. package/dist/src/decorators/ags-attribute.js +102 -3
  88. package/dist/src/decorators/ags-attribute.js.map +1 -1
  89. package/dist/src/decorators/allowed-values.d.ts +2 -0
  90. package/dist/src/decorators/allowed-values.d.ts.map +1 -1
  91. package/dist/src/decorators/allowed-values.js +2 -0
  92. package/dist/src/decorators/allowed-values.js.map +1 -1
  93. package/dist/src/decorators/complex.d.ts +2 -0
  94. package/dist/src/decorators/complex.d.ts.map +1 -1
  95. package/dist/src/decorators/complex.js +2 -0
  96. package/dist/src/decorators/complex.js.map +1 -1
  97. package/dist/src/decorators/computed.d.ts +2 -0
  98. package/dist/src/decorators/computed.d.ts.map +1 -1
  99. package/dist/src/decorators/computed.js +2 -0
  100. package/dist/src/decorators/computed.js.map +1 -1
  101. package/dist/src/decorators/contains.d.ts +2 -0
  102. package/dist/src/decorators/contains.d.ts.map +1 -1
  103. package/dist/src/decorators/contains.js +2 -0
  104. package/dist/src/decorators/contains.js.map +1 -1
  105. package/dist/src/decorators/count.d.ts +2 -0
  106. package/dist/src/decorators/count.d.ts.map +1 -1
  107. package/dist/src/decorators/count.js +2 -0
  108. package/dist/src/decorators/count.js.map +1 -1
  109. package/dist/src/decorators/delta.d.ts +10 -0
  110. package/dist/src/decorators/delta.d.ts.map +1 -0
  111. package/dist/src/decorators/delta.js +14 -0
  112. package/dist/src/decorators/delta.js.map +1 -0
  113. package/dist/src/decorators/deprecated-definition.d.ts +2 -0
  114. package/dist/src/decorators/deprecated-definition.d.ts.map +1 -1
  115. package/dist/src/decorators/deprecated-definition.js.map +1 -1
  116. package/dist/src/decorators/entity.d.ts +3 -0
  117. package/dist/src/decorators/entity.d.ts.map +1 -1
  118. package/dist/src/decorators/entity.js +7 -1
  119. package/dist/src/decorators/entity.js.map +1 -1
  120. package/dist/src/decorators/expand.d.ts +3 -0
  121. package/dist/src/decorators/expand.d.ts.map +1 -1
  122. package/dist/src/decorators/expand.js +7 -1
  123. package/dist/src/decorators/expand.js.map +1 -1
  124. package/dist/src/decorators/experimental.d.ts +11 -0
  125. package/dist/src/decorators/experimental.d.ts.map +1 -0
  126. package/dist/src/decorators/experimental.js +15 -0
  127. package/dist/src/decorators/experimental.js.map +1 -0
  128. package/dist/src/decorators/filter.d.ts +2 -0
  129. package/dist/src/decorators/filter.d.ts.map +1 -1
  130. package/dist/src/decorators/filter.js +6 -4
  131. package/dist/src/decorators/filter.js.map +1 -1
  132. package/dist/src/decorators/function.d.ts +9 -2
  133. package/dist/src/decorators/function.d.ts.map +1 -1
  134. package/dist/src/decorators/function.js +7 -2
  135. package/dist/src/decorators/function.js.map +1 -1
  136. package/dist/src/decorators/global-operation.d.ts +11 -0
  137. package/dist/src/decorators/global-operation.d.ts.map +1 -0
  138. package/dist/src/decorators/global-operation.js +15 -0
  139. package/dist/src/decorators/global-operation.js.map +1 -0
  140. package/dist/src/decorators/graph-deprecated.d.ts +13 -0
  141. package/dist/src/decorators/graph-deprecated.d.ts.map +1 -0
  142. package/dist/src/decorators/graph-deprecated.js +21 -0
  143. package/dist/src/decorators/graph-deprecated.js.map +1 -0
  144. package/dist/src/decorators/graph-partial.d.ts +12 -0
  145. package/dist/src/decorators/graph-partial.d.ts.map +1 -0
  146. package/dist/src/decorators/graph-partial.js +18 -0
  147. package/dist/src/decorators/graph-partial.js.map +1 -0
  148. package/dist/src/decorators/graph-route.d.ts +5 -1
  149. package/dist/src/decorators/graph-route.d.ts.map +1 -1
  150. package/dist/src/decorators/graph-route.js +62 -19
  151. package/dist/src/decorators/graph-route.js.map +1 -1
  152. package/dist/src/decorators/graphFlags.d.ts +11 -0
  153. package/dist/src/decorators/graphFlags.d.ts.map +1 -0
  154. package/dist/src/decorators/graphFlags.js +15 -0
  155. package/dist/src/decorators/graphFlags.js.map +1 -0
  156. package/dist/src/decorators/immutable.d.ts +2 -0
  157. package/dist/src/decorators/immutable.d.ts.map +1 -1
  158. package/dist/src/decorators/immutable.js +2 -0
  159. package/dist/src/decorators/immutable.js.map +1 -1
  160. package/dist/src/decorators/index.d.ts +22 -4
  161. package/dist/src/decorators/index.d.ts.map +1 -1
  162. package/dist/src/decorators/index.js +22 -4
  163. package/dist/src/decorators/index.js.map +1 -1
  164. package/dist/src/decorators/is-owner.d.ts +5 -2
  165. package/dist/src/decorators/is-owner.d.ts.map +1 -1
  166. package/dist/src/decorators/is-owner.js +9 -4
  167. package/dist/src/decorators/is-owner.js.map +1 -1
  168. package/dist/src/decorators/limited-charset.d.ts +11 -0
  169. package/dist/src/decorators/limited-charset.d.ts.map +1 -0
  170. package/dist/src/decorators/limited-charset.js +15 -0
  171. package/dist/src/decorators/limited-charset.js.map +1 -0
  172. package/dist/src/decorators/media.d.ts +12 -0
  173. package/dist/src/decorators/media.d.ts.map +1 -0
  174. package/dist/src/decorators/media.js +18 -0
  175. package/dist/src/decorators/media.js.map +1 -0
  176. package/dist/src/decorators/open.d.ts +2 -0
  177. package/dist/src/decorators/open.d.ts.map +1 -1
  178. package/dist/src/decorators/open.js +2 -0
  179. package/dist/src/decorators/open.js.map +1 -1
  180. package/dist/src/decorators/operation-parameters.d.ts +2 -0
  181. package/dist/src/decorators/operation-parameters.d.ts.map +1 -1
  182. package/dist/src/decorators/operation-parameters.js +2 -0
  183. package/dist/src/decorators/operation-parameters.js.map +1 -1
  184. package/dist/src/decorators/order-by.d.ts +2 -0
  185. package/dist/src/decorators/order-by.d.ts.map +1 -1
  186. package/dist/src/decorators/order-by.js +2 -0
  187. package/dist/src/decorators/order-by.js.map +1 -1
  188. package/dist/src/decorators/ownerless.d.ts +10 -0
  189. package/dist/src/decorators/ownerless.d.ts.map +1 -0
  190. package/dist/src/decorators/ownerless.js +14 -0
  191. package/dist/src/decorators/ownerless.js.map +1 -0
  192. package/dist/src/decorators/passthrough-address-url-msa.d.ts +14 -0
  193. package/dist/src/decorators/passthrough-address-url-msa.d.ts.map +1 -0
  194. package/dist/src/decorators/passthrough-address-url-msa.js +20 -0
  195. package/dist/src/decorators/passthrough-address-url-msa.js.map +1 -0
  196. package/dist/src/decorators/passthrough-address-url.d.ts +14 -0
  197. package/dist/src/decorators/passthrough-address-url.d.ts.map +1 -0
  198. package/dist/src/decorators/passthrough-address-url.js +20 -0
  199. package/dist/src/decorators/passthrough-address-url.js.map +1 -0
  200. package/dist/src/decorators/prefixed-graph-routes.d.ts +10 -0
  201. package/dist/src/decorators/prefixed-graph-routes.d.ts.map +1 -0
  202. package/dist/src/decorators/prefixed-graph-routes.js +27 -0
  203. package/dist/src/decorators/prefixed-graph-routes.js.map +1 -0
  204. package/dist/src/decorators/private-preview-definition.d.ts +2 -0
  205. package/dist/src/decorators/private-preview-definition.d.ts.map +1 -1
  206. package/dist/src/decorators/private-preview-definition.js +2 -0
  207. package/dist/src/decorators/private-preview-definition.js.map +1 -1
  208. package/dist/src/decorators/private-preview.d.ts +4 -2
  209. package/dist/src/decorators/private-preview.d.ts.map +1 -1
  210. package/dist/src/decorators/private-preview.js +2 -0
  211. package/dist/src/decorators/private-preview.js.map +1 -1
  212. package/dist/src/decorators/privileged.d.ts +2 -0
  213. package/dist/src/decorators/privileged.d.ts.map +1 -1
  214. package/dist/src/decorators/privileged.js +2 -0
  215. package/dist/src/decorators/privileged.js.map +1 -1
  216. package/dist/src/decorators/public-namespace.d.ts +2 -0
  217. package/dist/src/decorators/public-namespace.d.ts.map +1 -1
  218. package/dist/src/decorators/public-namespace.js +6 -1
  219. package/dist/src/decorators/public-namespace.js.map +1 -1
  220. package/dist/src/decorators/read-only.d.ts +2 -0
  221. package/dist/src/decorators/read-only.d.ts.map +1 -1
  222. package/dist/src/decorators/read-only.js +2 -0
  223. package/dist/src/decorators/read-only.js.map +1 -1
  224. package/dist/src/decorators/reference-target.d.ts +17 -0
  225. package/dist/src/decorators/reference-target.d.ts.map +1 -0
  226. package/dist/src/decorators/reference-target.js +59 -0
  227. package/dist/src/decorators/reference-target.js.map +1 -0
  228. package/dist/src/decorators/references.d.ts +2 -0
  229. package/dist/src/decorators/references.d.ts.map +1 -1
  230. package/dist/src/decorators/references.js +2 -0
  231. package/dist/src/decorators/references.js.map +1 -1
  232. package/dist/src/decorators/required-for-create.d.ts +2 -0
  233. package/dist/src/decorators/required-for-create.d.ts.map +1 -1
  234. package/dist/src/decorators/required-for-create.js +2 -0
  235. package/dist/src/decorators/required-for-create.js.map +1 -1
  236. package/dist/src/decorators/return-source.d.ts +11 -0
  237. package/dist/src/decorators/return-source.d.ts.map +1 -0
  238. package/dist/src/decorators/return-source.js +28 -0
  239. package/dist/src/decorators/return-source.js.map +1 -0
  240. package/dist/src/decorators/search.d.ts +2 -0
  241. package/dist/src/decorators/search.d.ts.map +1 -1
  242. package/dist/src/decorators/search.js +2 -0
  243. package/dist/src/decorators/search.js.map +1 -1
  244. package/dist/src/decorators/select.d.ts +11 -0
  245. package/dist/src/decorators/select.d.ts.map +1 -0
  246. package/dist/src/decorators/select.js +15 -0
  247. package/dist/src/decorators/select.js.map +1 -0
  248. package/dist/src/decorators/shared-entity.d.ts +9 -0
  249. package/dist/src/decorators/shared-entity.d.ts.map +1 -0
  250. package/dist/src/decorators/shared-entity.js +15 -0
  251. package/dist/src/decorators/shared-entity.js.map +1 -0
  252. package/dist/src/decorators/skip.d.ts +2 -0
  253. package/dist/src/decorators/skip.d.ts.map +1 -1
  254. package/dist/src/decorators/skip.js +2 -0
  255. package/dist/src/decorators/skip.js.map +1 -1
  256. package/dist/src/decorators/term.d.ts +13 -0
  257. package/dist/src/decorators/term.d.ts.map +1 -0
  258. package/dist/src/decorators/term.js +14 -0
  259. package/dist/src/decorators/term.js.map +1 -0
  260. package/dist/src/decorators/top.d.ts +2 -0
  261. package/dist/src/decorators/top.d.ts.map +1 -1
  262. package/dist/src/decorators/top.js +2 -0
  263. package/dist/src/decorators/top.js.map +1 -1
  264. package/dist/src/decorators/workload-name-msa.d.ts +2 -0
  265. package/dist/src/decorators/workload-name-msa.d.ts.map +1 -1
  266. package/dist/src/decorators/workload-name-msa.js +2 -0
  267. package/dist/src/decorators/workload-name-msa.js.map +1 -1
  268. package/dist/src/decorators/workload-name.d.ts +2 -0
  269. package/dist/src/decorators/workload-name.d.ts.map +1 -1
  270. package/dist/src/decorators/workload-name.js +2 -0
  271. package/dist/src/decorators/workload-name.js.map +1 -1
  272. package/dist/src/decorators/workload-namespace.d.ts +12 -0
  273. package/dist/src/decorators/workload-namespace.d.ts.map +1 -0
  274. package/dist/src/decorators/workload-namespace.js +21 -0
  275. package/dist/src/decorators/workload-namespace.js.map +1 -0
  276. package/dist/src/decorators/write-only.d.ts +2 -0
  277. package/dist/src/decorators/write-only.d.ts.map +1 -1
  278. package/dist/src/decorators/write-only.js +2 -0
  279. package/dist/src/decorators/write-only.js.map +1 -1
  280. package/dist/src/dom/error-interceptor.d.ts +2 -0
  281. package/dist/src/dom/error-interceptor.d.ts.map +1 -0
  282. package/dist/src/dom/error-interceptor.js +13 -0
  283. package/dist/src/dom/error-interceptor.js.map +1 -0
  284. package/dist/src/dom/reconciler.js.map +1 -1
  285. package/dist/src/dom/renderer.d.ts +1 -0
  286. package/dist/src/dom/renderer.d.ts.map +1 -1
  287. package/dist/src/dom/renderer.js +1 -0
  288. package/dist/src/dom/renderer.js.map +1 -1
  289. package/dist/src/emitter.d.ts.map +1 -1
  290. package/dist/src/emitter.js +30 -3
  291. package/dist/src/emitter.js.map +1 -1
  292. package/dist/src/entities/address-url.d.ts +8 -0
  293. package/dist/src/entities/address-url.d.ts.map +1 -0
  294. package/dist/src/entities/address-url.js +47 -0
  295. package/dist/src/entities/address-url.js.map +1 -0
  296. package/dist/src/entities/annotations.d.ts +17 -4
  297. package/dist/src/entities/annotations.d.ts.map +1 -1
  298. package/dist/src/entities/annotations.js +120 -74
  299. package/dist/src/entities/annotations.js.map +1 -1
  300. package/dist/src/entities/entity-container.d.ts +21 -0
  301. package/dist/src/entities/entity-container.d.ts.map +1 -1
  302. package/dist/src/entities/entity-container.js +33 -4
  303. package/dist/src/entities/entity-container.js.map +1 -1
  304. package/dist/src/entities/enum.d.ts +3 -1
  305. package/dist/src/entities/enum.d.ts.map +1 -1
  306. package/dist/src/entities/enum.js +10 -5
  307. package/dist/src/entities/enum.js.map +1 -1
  308. package/dist/src/entities/model.d.ts +34 -10
  309. package/dist/src/entities/model.d.ts.map +1 -1
  310. package/dist/src/entities/model.js +310 -14
  311. package/dist/src/entities/model.js.map +1 -1
  312. package/dist/src/entities/ms-graph-route.d.ts +13 -0
  313. package/dist/src/entities/ms-graph-route.d.ts.map +1 -0
  314. package/dist/src/entities/ms-graph-route.js +67 -0
  315. package/dist/src/entities/ms-graph-route.js.map +1 -0
  316. package/dist/src/entities/namespace.d.ts +25 -4
  317. package/dist/src/entities/namespace.d.ts.map +1 -1
  318. package/dist/src/entities/namespace.js +314 -18
  319. package/dist/src/entities/namespace.js.map +1 -1
  320. package/dist/src/entities/operation.d.ts +18 -0
  321. package/dist/src/entities/operation.d.ts.map +1 -1
  322. package/dist/src/entities/operation.js +142 -20
  323. package/dist/src/entities/operation.js.map +1 -1
  324. package/dist/src/entities/property.d.ts.map +1 -1
  325. package/dist/src/entities/property.js +7 -0
  326. package/dist/src/entities/property.js.map +1 -1
  327. package/dist/src/entities/revision-definition.d.ts +3 -2
  328. package/dist/src/entities/revision-definition.d.ts.map +1 -1
  329. package/dist/src/entities/revision-definition.js +17 -6
  330. package/dist/src/entities/revision-definition.js.map +1 -1
  331. package/dist/src/entities/term.d.ts +8 -0
  332. package/dist/src/entities/term.d.ts.map +1 -0
  333. package/dist/src/entities/term.js +14 -0
  334. package/dist/src/entities/term.js.map +1 -0
  335. package/dist/src/index.d.ts +2 -0
  336. package/dist/src/index.d.ts.map +1 -1
  337. package/dist/src/index.js +2 -0
  338. package/dist/src/index.js.map +1 -1
  339. package/dist/src/lib.d.ts +123 -109
  340. package/dist/src/lib.d.ts.map +1 -1
  341. package/dist/src/lib.js +72 -10
  342. package/dist/src/lib.js.map +1 -1
  343. package/dist/src/linter.d.ts +1 -2
  344. package/dist/src/linter.d.ts.map +1 -1
  345. package/dist/src/linter.js +32 -42
  346. package/dist/src/linter.js.map +1 -1
  347. package/dist/src/path-tree.d.ts +16 -0
  348. package/dist/src/path-tree.d.ts.map +1 -0
  349. package/dist/src/path-tree.js +76 -0
  350. package/dist/src/path-tree.js.map +1 -0
  351. package/dist/src/rules/abstract.d.ts +2 -1
  352. package/dist/src/rules/abstract.d.ts.map +1 -1
  353. package/dist/src/rules/abstract.js +8 -8
  354. package/dist/src/rules/abstract.js.map +1 -1
  355. package/dist/src/rules/address-url.d.ts +20 -0
  356. package/dist/src/rules/address-url.d.ts.map +1 -0
  357. package/dist/src/rules/address-url.js +248 -0
  358. package/dist/src/rules/address-url.js.map +1 -0
  359. package/dist/src/rules/allowed-values.d.ts +2 -1
  360. package/dist/src/rules/allowed-values.d.ts.map +1 -1
  361. package/dist/src/rules/allowed-values.js +7 -7
  362. package/dist/src/rules/allowed-values.js.map +1 -1
  363. package/dist/src/rules/alternate-key.d.ts +4 -3
  364. package/dist/src/rules/alternate-key.d.ts.map +1 -1
  365. package/dist/src/rules/alternate-key.js +23 -23
  366. package/dist/src/rules/alternate-key.js.map +1 -1
  367. package/dist/src/rules/collection-navigation-properties-not-nullable.d.ts +2 -1
  368. package/dist/src/rules/collection-navigation-properties-not-nullable.d.ts.map +1 -1
  369. package/dist/src/rules/collection-navigation-properties-not-nullable.js +9 -9
  370. package/dist/src/rules/collection-navigation-properties-not-nullable.js.map +1 -1
  371. package/dist/src/rules/complex.d.ts +3 -0
  372. package/dist/src/rules/complex.d.ts.map +1 -0
  373. package/dist/src/rules/complex.js +27 -0
  374. package/dist/src/rules/complex.js.map +1 -0
  375. package/dist/src/rules/computed.d.ts +2 -3
  376. package/dist/src/rules/computed.d.ts.map +1 -1
  377. package/dist/src/rules/computed.js +14 -16
  378. package/dist/src/rules/computed.js.map +1 -1
  379. package/dist/src/rules/contains.d.ts +2 -1
  380. package/dist/src/rules/contains.d.ts.map +1 -1
  381. package/dist/src/rules/contains.js +9 -8
  382. package/dist/src/rules/contains.js.map +1 -1
  383. package/dist/src/rules/count.d.ts +2 -1
  384. package/dist/src/rules/count.d.ts.map +1 -1
  385. package/dist/src/rules/count.js +9 -8
  386. package/dist/src/rules/count.js.map +1 -1
  387. package/dist/src/rules/delta.d.ts +8 -0
  388. package/dist/src/rules/delta.d.ts.map +1 -0
  389. package/dist/src/rules/delta.js +208 -0
  390. package/dist/src/rules/delta.js.map +1 -0
  391. package/dist/src/rules/disallowed-typespec-decorators.d.ts +2 -1
  392. package/dist/src/rules/disallowed-typespec-decorators.d.ts.map +1 -1
  393. package/dist/src/rules/disallowed-typespec-decorators.js +29 -25
  394. package/dist/src/rules/disallowed-typespec-decorators.js.map +1 -1
  395. package/dist/src/rules/documentation.d.ts +4 -0
  396. package/dist/src/rules/documentation.d.ts.map +1 -0
  397. package/dist/src/rules/documentation.js +91 -0
  398. package/dist/src/rules/documentation.js.map +1 -0
  399. package/dist/src/rules/entity.d.ts +9 -2
  400. package/dist/src/rules/entity.d.ts.map +1 -1
  401. package/dist/src/rules/entity.js +170 -17
  402. package/dist/src/rules/entity.js.map +1 -1
  403. package/dist/src/rules/enum.d.ts +5 -1
  404. package/dist/src/rules/enum.d.ts.map +1 -1
  405. package/dist/src/rules/enum.js +35 -6
  406. package/dist/src/rules/enum.js.map +1 -1
  407. package/dist/src/rules/expand.d.ts +3 -2
  408. package/dist/src/rules/expand.d.ts.map +1 -1
  409. package/dist/src/rules/expand.js +25 -20
  410. package/dist/src/rules/expand.js.map +1 -1
  411. package/dist/src/rules/extends-on-same-type.d.ts +2 -1
  412. package/dist/src/rules/extends-on-same-type.d.ts.map +1 -1
  413. package/dist/src/rules/extends-on-same-type.js +9 -8
  414. package/dist/src/rules/extends-on-same-type.js.map +1 -1
  415. package/dist/src/rules/filter.d.ts +6 -3
  416. package/dist/src/rules/filter.d.ts.map +1 -1
  417. package/dist/src/rules/filter.js +100 -32
  418. package/dist/src/rules/filter.js.map +1 -1
  419. package/dist/src/rules/function.d.ts +3 -1
  420. package/dist/src/rules/function.d.ts.map +1 -1
  421. package/dist/src/rules/function.js +48 -9
  422. package/dist/src/rules/function.js.map +1 -1
  423. package/dist/src/rules/global-operation.d.ts +4 -0
  424. package/dist/src/rules/global-operation.d.ts.map +1 -0
  425. package/dist/src/rules/global-operation.js +60 -0
  426. package/dist/src/rules/global-operation.js.map +1 -0
  427. package/dist/src/rules/graph-deprecated.d.ts +8 -0
  428. package/dist/src/rules/graph-deprecated.d.ts.map +1 -0
  429. package/dist/src/rules/graph-deprecated.js +152 -0
  430. package/dist/src/rules/graph-deprecated.js.map +1 -0
  431. package/dist/src/rules/graph-partial.d.ts +9 -0
  432. package/dist/src/rules/graph-partial.d.ts.map +1 -0
  433. package/dist/src/rules/graph-partial.js +84 -0
  434. package/dist/src/rules/graph-partial.js.map +1 -0
  435. package/dist/src/rules/graph-route.d.ts +13 -2
  436. package/dist/src/rules/graph-route.d.ts.map +1 -1
  437. package/dist/src/rules/graph-route.js +324 -17
  438. package/dist/src/rules/graph-route.js.map +1 -1
  439. package/dist/src/rules/index.d.ts +16 -3
  440. package/dist/src/rules/index.d.ts.map +1 -1
  441. package/dist/src/rules/index.js +16 -3
  442. package/dist/src/rules/index.js.map +1 -1
  443. package/dist/src/rules/limited-charset.d.ts +3 -0
  444. package/dist/src/rules/limited-charset.d.ts.map +1 -0
  445. package/dist/src/rules/limited-charset.js +42 -0
  446. package/dist/src/rules/limited-charset.js.map +1 -0
  447. package/dist/src/rules/media.d.ts +10 -0
  448. package/dist/src/rules/media.d.ts.map +1 -0
  449. package/dist/src/rules/media.js +122 -0
  450. package/dist/src/rules/media.js.map +1 -0
  451. package/dist/src/rules/model.d.ts +10 -0
  452. package/dist/src/rules/model.d.ts.map +1 -0
  453. package/dist/src/rules/model.js +131 -0
  454. package/dist/src/rules/model.js.map +1 -0
  455. package/dist/src/rules/namespace.d.ts +5 -2
  456. package/dist/src/rules/namespace.d.ts.map +1 -1
  457. package/dist/src/rules/namespace.js +87 -35
  458. package/dist/src/rules/namespace.js.map +1 -1
  459. package/dist/src/rules/open.d.ts +2 -1
  460. package/dist/src/rules/open.d.ts.map +1 -1
  461. package/dist/src/rules/open.js +9 -8
  462. package/dist/src/rules/open.js.map +1 -1
  463. package/dist/src/rules/operation-inside-interface.d.ts +6 -1
  464. package/dist/src/rules/operation-inside-interface.d.ts.map +1 -1
  465. package/dist/src/rules/operation-inside-interface.js +78 -7
  466. package/dist/src/rules/operation-inside-interface.js.map +1 -1
  467. package/dist/src/rules/order-by.d.ts +3 -2
  468. package/dist/src/rules/order-by.d.ts.map +1 -1
  469. package/dist/src/rules/order-by.js +19 -19
  470. package/dist/src/rules/order-by.js.map +1 -1
  471. package/dist/src/rules/ownerless.d.ts +11 -0
  472. package/dist/src/rules/ownerless.d.ts.map +1 -0
  473. package/dist/src/rules/ownerless.js +170 -0
  474. package/dist/src/rules/ownerless.js.map +1 -0
  475. package/dist/src/rules/record-t.d.ts +11 -0
  476. package/dist/src/rules/record-t.d.ts.map +1 -0
  477. package/dist/src/rules/record-t.js +129 -0
  478. package/dist/src/rules/record-t.js.map +1 -0
  479. package/dist/src/rules/reference-target.d.ts +6 -0
  480. package/dist/src/rules/reference-target.d.ts.map +1 -0
  481. package/dist/src/rules/reference-target.js +113 -0
  482. package/dist/src/rules/reference-target.js.map +1 -0
  483. package/dist/src/rules/references.d.ts +2 -1
  484. package/dist/src/rules/references.d.ts.map +1 -1
  485. package/dist/src/rules/references.js +9 -8
  486. package/dist/src/rules/references.js.map +1 -1
  487. package/dist/src/rules/required-for-create.d.ts +2 -1
  488. package/dist/src/rules/required-for-create.d.ts.map +1 -1
  489. package/dist/src/rules/required-for-create.js +11 -10
  490. package/dist/src/rules/required-for-create.js.map +1 -1
  491. package/dist/src/rules/return-source.d.ts +3 -0
  492. package/dist/src/rules/return-source.d.ts.map +1 -0
  493. package/dist/src/rules/return-source.js +27 -0
  494. package/dist/src/rules/return-source.js.map +1 -0
  495. package/dist/src/rules/search.d.ts +2 -1
  496. package/dist/src/rules/search.d.ts.map +1 -1
  497. package/dist/src/rules/search.js +9 -8
  498. package/dist/src/rules/search.js.map +1 -1
  499. package/dist/src/rules/shared-entity.d.ts +8 -0
  500. package/dist/src/rules/shared-entity.d.ts.map +1 -0
  501. package/dist/src/rules/shared-entity.js +176 -0
  502. package/dist/src/rules/shared-entity.js.map +1 -0
  503. package/dist/src/rules/skip.d.ts +2 -1
  504. package/dist/src/rules/skip.d.ts.map +1 -1
  505. package/dist/src/rules/skip.js +9 -8
  506. package/dist/src/rules/skip.js.map +1 -1
  507. package/dist/src/rules/top.d.ts +2 -1
  508. package/dist/src/rules/top.d.ts.map +1 -1
  509. package/dist/src/rules/top.js +9 -8
  510. package/dist/src/rules/top.js.map +1 -1
  511. package/dist/src/testing/index.d.ts +1 -0
  512. package/dist/src/testing/index.d.ts.map +1 -1
  513. package/dist/src/testing/index.js +21 -0
  514. package/dist/src/testing/index.js.map +1 -1
  515. package/dist/src/utils.d.ts +70 -4
  516. package/dist/src/utils.d.ts.map +1 -1
  517. package/dist/src/utils.js +609 -54
  518. package/dist/src/utils.js.map +1 -1
  519. package/dist/src/validate.d.ts +3 -0
  520. package/dist/src/validate.d.ts.map +1 -0
  521. package/dist/src/validate.js +98 -0
  522. package/dist/src/validate.js.map +1 -0
  523. package/lib/bodies.tsp +71 -0
  524. package/lib/decorators.tsp +222 -29
  525. package/lib/lib.tsp +3 -1
  526. package/lib/msgraph.tsp +1 -0
  527. package/lib/porcelain.tsp +78 -23
  528. package/lib/responses.tsp +17 -40
  529. package/lib/shared-models.tsp +6 -51
  530. package/package.json +24 -26
  531. package/dist/src/decorators/flags.d.ts +0 -9
  532. package/dist/src/decorators/flags.d.ts.map +0 -1
  533. package/dist/src/decorators/flags.js +0 -13
  534. package/dist/src/decorators/flags.js.map +0 -1
  535. package/dist/src/decorators/has-stream.d.ts +0 -10
  536. package/dist/src/decorators/has-stream.d.ts.map +0 -1
  537. package/dist/src/decorators/has-stream.js +0 -17
  538. package/dist/src/decorators/has-stream.js.map +0 -1
  539. package/dist/src/rules/has-stream.d.ts +0 -2
  540. package/dist/src/rules/has-stream.d.ts.map +0 -1
  541. package/dist/src/rules/has-stream.js +0 -29
  542. package/dist/src/rules/has-stream.js.map +0 -1
package/lib/lib.tsp CHANGED
@@ -4,7 +4,9 @@ import "@typespec/http";
4
4
  using TypeSpec.Http;
5
5
  namespace MsGraph;
6
6
 
7
- scalar date;
7
+ alias date=plainDate;
8
+ alias dateTimeOffset=offsetDateTime;
9
+ alias timeOfDay=plainTime;
8
10
 
9
11
  scalar stream;
10
12
 
package/lib/msgraph.tsp CHANGED
@@ -1,6 +1,7 @@
1
1
  import "./lib.tsp";
2
2
  import "./shared-models.tsp";
3
3
  // TODO: import "./deployment.tsp";
4
+ import "./bodies.tsp";
4
5
  import "./responses.tsp";
5
6
  import "./decorators.tsp";
6
7
  import "./porcelain.tsp";
package/lib/porcelain.tsp CHANGED
@@ -11,9 +11,14 @@ using TypeSpec.Http;
11
11
  using MsGraph;
12
12
  using MsGraph.SharedModels;
13
13
  using MsGraph.Responses;
14
+ using MsGraph.Bodies;
14
15
 
15
16
  namespace MsGraph;
16
17
 
18
+ model EntityRef<T extends MsGraph.SharedModels.entity> {
19
+ @requiredForCreate "@odata.id": SharedModels.graphUrl;
20
+ }
21
+
17
22
  namespace Foundations {
18
23
 
19
24
  @doc("Foundational operations for individual resources and collections.")
@@ -23,14 +28,14 @@ namespace MsGraph;
23
28
  ): TResponse | TErrorResponse;
24
29
 
25
30
  op ResourceOperation<
26
- TResource extends {},
31
+ TResource,
27
32
  TParams,
28
33
  TResponse,
29
34
  TErrorResponse = ResourceErrorResponse
30
35
  > is GraphFoundations.Operation<TParams, TResponse, TErrorResponse>;
31
36
 
32
37
  op CollectionOperation<
33
- TResource extends {},
38
+ TResource,
34
39
  TParams,
35
40
  TResponse,
36
41
  TErrorResponse = CollectionErrorResponse
@@ -41,19 +46,16 @@ namespace MsGraph;
41
46
  @doc("Primary operation shapes for Microsoft Graph")
42
47
  interface GraphOps {
43
48
 
44
- // TODO: This is how we should make $select standard for Graph. Define a select decorator and use it here.
45
- // @select("*")
46
49
  @get op GetCollection<
47
- TResource extends {} = Automatic.CalculatedResourceType,
50
+ TResource = Automatic.CalculatedResourceType,
48
51
  TParams = {... Automatic.GraphRouteParams},
49
52
  TResponse = CollectionResponse<TResource>,
50
53
  TErrorResponse = CollectionErrorResponse
51
54
  > is Foundations.GraphFoundations.CollectionOperation<
52
55
  TResource, TParams, TResponse, TErrorResponse>;
53
56
 
54
- // @select("*")
55
57
  @get op GetPagedCollection<
56
- TResource extends {} = Automatic.CalculatedResourceType,
58
+ TResource = Automatic.CalculatedResourceType,
57
59
  TParams = {... Automatic.GraphRouteParams},
58
60
  TResponse = PagedCollectionResponse<TResource>,
59
61
  TErrorResponse = CollectionErrorResponse
@@ -62,26 +64,40 @@ namespace MsGraph;
62
64
 
63
65
  // TODO: GetDelta? FUnction etc.?
64
66
 
65
- // @select("*")
66
67
  @post op Post<
67
- TResource extends {} = Automatic.CalculatedResourceType,
68
+ TResource = Automatic.CalculatedResourceType,
68
69
  TParams = { ... Automatic.GraphRouteParams, @body body: TResource },
69
70
  TResponse = ResourceCreatedResponse<TResource>,
70
71
  TErrorResponse = CollectionErrorResponse
71
72
  > is Foundations.GraphFoundations.CollectionOperation<
72
73
  TResource, TParams, TResponse, TErrorResponse>;
73
74
 
74
- // @select("*")
75
+ @post op PostMediaValue<
76
+ TResource,
77
+ TParams = { ... Automatic.GraphRouteParams, ...TResource },
78
+ TResponse = ResourceCreatedResponse<TResource>,
79
+ TErrorResponse = CollectionErrorResponse
80
+ > is Foundations.GraphFoundations.CollectionOperation<
81
+ TResource, TParams, TResponse, TErrorResponse>;
82
+
75
83
  @get op GetResource<
76
- TResource extends {} = Automatic.CalculatedResourceType,
84
+ TResource = Automatic.CalculatedResourceType,
77
85
  TParams = {... Automatic.GraphRouteParams},
78
86
  TResponse = ResourceResponse<TResource>,
79
87
  TErrorResponse = ResourceErrorResponse
80
88
  > is Foundations.GraphFoundations.ResourceOperation<
81
89
  TResource, TParams, TResponse, TErrorResponse>;
82
90
 
91
+ @get op GetMediaValue<
92
+ TResource,
93
+ TParams = {... Automatic.GraphRouteParams, @path value:"$value"},
94
+ TResponse = ResourceResponse<TResource>,
95
+ TErrorResponse = ResourceErrorResponse
96
+ > is Foundations.GraphFoundations.ResourceOperation<
97
+ TResource, TParams, TResponse, TErrorResponse>;
98
+
83
99
  @delete op Delete<
84
- TResource extends {} = Automatic.CalculatedResourceType,
100
+ TResource = Automatic.CalculatedResourceType,
85
101
  TParams = {... Automatic.GraphRouteParams},
86
102
  TResponse = EmptyResponse,
87
103
  TErrorResponse = ResourceErrorResponse
@@ -89,44 +105,83 @@ namespace MsGraph;
89
105
  TResource, TParams, TResponse, TErrorResponse>;
90
106
 
91
107
  @patch op PatchNoResponse<
92
- TResource extends {} = Automatic.CalculatedResourceType,
93
- TParams = {... Automatic.GraphRouteParams},
108
+ TResource = Automatic.CalculatedResourceType,
109
+ TParams = {... Automatic.GraphRouteParams, @body body: TResource},
94
110
  TResponse = EmptyResponse,
95
111
  TErrorResponse = ResourceErrorResponse
96
112
  > is Foundations.GraphFoundations.ResourceOperation<
97
113
  TResource, TParams, TResponse, TErrorResponse>;
98
114
 
99
- // @select("*")
100
115
  @patch op PatchWithResponse<
101
- TResource extends {} = Automatic.CalculatedResourceType,
102
- TParams = {... Automatic.GraphRouteParams},
116
+ TResource = Automatic.CalculatedResourceType,
117
+ TParams = {... Automatic.GraphRouteParams, @body body: TResource},
103
118
  TResponse = ResourceResponse<TResource>,
104
119
  TErrorResponse = ResourceErrorResponse
105
120
  > is Foundations.GraphFoundations.ResourceOperation<
106
121
  TResource, TParams, TResponse, TErrorResponse>;
107
122
 
108
123
  @put op PutNoResponse<
109
- TResource extends {} = Automatic.CalculatedResourceType,
110
- TParams = {... Automatic.GraphRouteParams},
124
+ TResource = Automatic.CalculatedResourceType,
125
+ TParams = {... Automatic.GraphRouteParams, @body body: TResource},
111
126
  TResponse = EmptyResponse,
112
127
  TErrorResponse = ResourceErrorResponse
113
128
  > is Foundations.GraphFoundations.ResourceOperation<
114
129
  TResource, TParams, TResponse, TErrorResponse>;
115
130
 
116
- // @select("*")
117
131
  @put op PutWithResponse<
118
- TResource extends {} = Automatic.CalculatedResourceType,
119
- TParams = {... Automatic.GraphRouteParams},
132
+ TResource = Automatic.CalculatedResourceType,
133
+ TParams = {... Automatic.GraphRouteParams, @body body: TResource},
120
134
  TResponse = ResourceResponse<TResource>,
121
135
  TErrorResponse = ResourceErrorResponse
122
136
  > is Foundations.GraphFoundations.ResourceOperation<
123
137
  TResource, TParams, TResponse, TErrorResponse>;
124
138
 
139
+ @put op PutMediaValueNoResponse<
140
+ TResource,
141
+ TParams = {... Automatic.GraphRouteParams, @path value:"$value", ...TResource},
142
+ TResponse = EmptyResponse,
143
+ TErrorResponse = ResourceErrorResponse
144
+ > is Foundations.GraphFoundations.ResourceOperation<
145
+ TResource, TParams, TResponse, TErrorResponse>;
146
+
147
+
148
+ @action @returnSource(TSourceRoute) op Action<
149
+ TReturnType = void,
150
+ TActionParams extends {} = {},
151
+ TResource = Automatic.CalculatedResourceType,
152
+ TParams = {... Automatic.GraphRouteParams, ... TActionParams},
153
+ TResponse = TReturnType,
154
+ TErrorResponse = MsGraph.Responses.OperationErrorResponse,
155
+ TSourceRoute extends valueof string | null = null
156
+ >(...TParams): TResponse | TErrorResponse;
157
+
158
+ @function(TNameOverride, TComposable) @returnSource(TSourceRoute) op Function<
159
+ TReturnType,
160
+ TFunctionParams extends {} = {},
161
+ TResource = Automatic.CalculatedResourceType,
162
+ TParams = {... Automatic.GraphRouteParams, ... TFunctionParams},
163
+ TResponse = TReturnType,
164
+ TErrorResponse = MsGraph.Responses.OperationErrorResponse,
165
+ TComposable extends valueof boolean = false,
166
+ TNameOverride extends valueof string | null = null,
167
+ TSourceRoute extends valueof string | null = null
168
+ >(...TParams): TResponse | TErrorResponse;
169
+
170
+ @delta @function @returnSource(TSourceRoute) op Delta<
171
+ TReturnType=DeltaCollectionBody<Automatic.CalculatedResourceType>,
172
+ TFunctionParams extends {} = {},
173
+ TResource = Automatic.CalculatedResourceType,
174
+ TParams = {... Automatic.GraphRouteParams, ... TFunctionParams},
175
+ TResponse = TReturnType,
176
+ TErrorResponse = MsGraph.Responses.OperationErrorResponse,
177
+ TSourceRoute extends valueof string | null = null
178
+ >(...TParams): TResponse | TErrorResponse;
179
+
125
180
  }
126
181
 
127
182
  namespace Automatic {
128
183
  @doc("Marker type to allow injection of parameters from @route decorator.")
129
- model GraphRouteParams { graphRouteParams: string }
184
+ model GraphRouteParams { @path graphRouteParams: string }
130
185
 
131
186
  // TODO: Needs direct support in the graphRoute decorator code to be able to make use of this.
132
187
  @doc("Marker type to indicate to emitter that it should calculate resource from the Resource type of the containing interface's extended interface.")
package/lib/responses.tsp CHANGED
@@ -5,72 +5,48 @@
5
5
  import "@typespec/http";
6
6
  import "@microsoft/typespec-msgraph";
7
7
  import "./shared-models.tsp";
8
+ import "./bodies.tsp";
8
9
 
9
10
  using TypeSpec.Http;
10
11
  using MsGraph;
11
12
  using MsGraph.SharedModels;
12
-
13
- // Raw body models represent the content of the response body, without any additional metadata.
14
- // Note that these are primarily marker types. CSDL has no notion of what actual body content is returned in such types,
15
- // but by passing markers through, HIDI can translate to OpenAPI.
16
- // The content of the types exists for other future emitters that run directly off TypeSpec.
17
- namespace MsGraph.Responses.Bodies {
18
-
19
- @error
20
- model ErrorBody {
21
- error: publicError;
22
- }
23
-
24
- model ResourceBody<TResource> {
25
- ...TResource;
26
- }
27
-
28
- model CollectionBody<TResource> {
29
- value: TResource[];
30
- `@odata.count`?: int64;
31
- }
32
-
33
- @pagedCollection
34
- model PagedCollectionBody<TResource> is CollectionBody<TResource> {
35
- `@odata.nextLink`?: MsGraph.SharedModels.url;
36
- }
37
-
38
- @pagedCollection
39
- @deltaCollection
40
- model DeltaCollectionBody<TResource> is PagedCollectionBody<TResource> {
41
- `@odata.deltaLink`?: MsGraph.SharedModels.url;
42
- }
43
- }
13
+ using MsGraph.Bodies;
44
14
 
45
15
  // Response models represent the response as a whole, including the status code, headers, and body.
46
16
  namespace MsGraph.Responses {
47
- @doc("Response to represent a Microsoft Graph collection response payload.")
17
+ /** Response to represent a Microsoft Graph collection response payload. */
48
18
  model CollectionResponse<TResource, TStatus = 200, TBody = Bodies.CollectionBody<TResource>>
49
19
  is Http.Response<TStatus> {
50
20
  ...Http.Body<TBody>;
51
21
  }
52
22
 
53
- @doc("Response to represent a Microsoft Graph paged collection response payload.")
23
+ /** Response to represent a Microsoft Graph paged collection response payload. */
54
24
  model PagedCollectionResponse<TResource, TStatus = 200, TBody = Bodies.PagedCollectionBody<TResource>>
55
25
  is CollectionResponse<TResource, TStatus, TBody>;
56
26
 
57
- @doc("Response to represent a Microsoft Graph individual resource response payload.")
58
- model ResourceResponse<TResource, TStatus = 200, TBody = Bodies.ResourceBody<TResource>>
27
+ /** Response to represent a Microsoft Graph individual resource response payload. */
28
+ model ResourceResponse<TResource, TStatus = 200, TBody = TResource>
29
+ is Http.Response<TStatus> {
30
+ ...Http.Body<TBody>;
31
+ }
32
+
33
+ /** Response to represent a Microsoft Graph individual resource response payload. */
34
+ model ScalarResponse<TScalar, TStatus = 200, TBody = TScalar>
59
35
  is Http.Response<TStatus> {
60
36
  ...Http.Body<TBody>;
61
37
  }
62
38
 
63
- @doc("Response to represent a Microsoft Graph resource creation response payload.")
64
- model ResourceCreatedResponse<TResource, TStatus = 201, TBody = Bodies.ResourceBody<TResource>>
39
+ /** Response to represent a Microsoft Graph resource creation response payload. */
40
+ model ResourceCreatedResponse<TResource, TStatus = 201, TBody = TResource>
65
41
  is ResourceResponse<TResource, TStatus, TBody> {
66
42
  ...Http.LocationHeader
67
43
  }
68
44
 
69
- @doc("Response to represent a Microsoft Graph empty response payload.")
45
+ /** Response to represent a Microsoft Graph empty response payload. */
70
46
  model EmptyResponse
71
47
  is Http.Response<204>;
72
48
 
73
- @doc("Response to represent a Microsoft Graph error response payload.")
49
+ /** Response to represent a Microsoft Graph error response payload. */
74
50
  model ErrorResponse<TStatus>
75
51
  is Http.Response<TStatus> {
76
52
  ...Http.Body<Bodies.ErrorBody>;
@@ -78,5 +54,6 @@ namespace MsGraph.Responses {
78
54
 
79
55
  alias ResourceErrorResponse = ErrorResponse<400 | 404 | 429>;
80
56
  alias CollectionErrorResponse = ErrorResponse<400 | 429>;
57
+ alias OperationErrorResponse = ErrorResponse<400 | 429>;
81
58
 
82
59
  }
@@ -10,66 +10,21 @@ using MsGraph;
10
10
  namespace MsGraph.SharedModels;
11
11
 
12
12
  // TODO: Spec how to deal with specified and unspecified ultimate base entities w.r.t. AGS runtime replacement policies. See #140
13
- @doc("The primary entity base model for Microsoft Graph.")
13
+ @doc("The primary entity base model.")
14
14
  @entity
15
15
  model entity {
16
16
  @key id: string;
17
17
  }
18
18
 
19
- @doc("Complex type to represent an identity principal by id, when a human-readable name is also useful.")
20
- @complex
21
- @open
22
- model identity {
23
- id: string;
24
- displayName: string;
25
- }
26
-
27
- @doc("Complex type to represent a group of identity principals used at a point in time, such as createdBy, lastModifiedBy.")
28
- @complex
29
- @open
30
- model identitySet {
31
- user: identity | null;
32
- device: identity | null;
33
- application: identity | null;
34
- }
35
-
36
- @doc("Enum for identifying the format of a text string.")
37
- enum bodyType {
38
- text,
39
- html
40
- }
41
-
42
- @doc("Complex type to represent a chunk of text that could be either plain text or html.")
43
- @complex
44
- model itemBody {
45
- contentType: bodyType;
46
- content: string;
47
- }
48
19
 
49
20
  @doc("Scalar type for URLs that would be expected to work in the browser address bar.")
50
- scalar webUrl extends string;
21
+ scalar webUrl extends url;
51
22
 
52
23
  @doc("Scalar type for URLs that represent Graph APIs.")
53
- scalar url extends string;
24
+ scalar graphUrl extends url;
54
25
 
55
- @doc("Complex type to represent a nested error that potentially has other recursive nested errors.")
56
- @complex
26
+ @doc("A dictionary of name-value pairs. Names must be valid property names, values may be restricted to a list of types via an annotation with term `Validation.OpenPropertyTypeConstraint")
57
27
  @open
58
- model innerError {
59
- code: string;
60
- innererror: innerError | null;
61
- }
62
-
63
- @doc("""
64
- Complex type to represent a standard Microsoft Graph error.
65
- {code}: The error code.
66
- """)
67
28
  @complex
68
- @error
69
- model publicError {
70
- code: string;
71
- message: string;
72
- target: string | null;
73
- innererror: innerError | null;
74
- details: publicError[];
75
- }
29
+ model Dictionary {}
30
+
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@microsoft/typespec-msgraph",
3
- "version": "0.0.1-Preview.9",
3
+ "version": "1.0.0-Preview.2",
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",
@@ -38,11 +38,11 @@
38
38
  },
39
39
  "scripts": {
40
40
  "clean": "rimraf ./dist ./temp",
41
- "build": "tsc -p .",
41
+ "build": "tsc -p . && tsp compile --noEmit lib/msgraph.tsp",
42
42
  "watch": "tsc -p . --watch",
43
- "test": "mocha",
44
- "buildntest": "tsc -p . && mocha",
45
- "test-official": "c8 mocha --forbid-only",
43
+ "test": "mocha --parallel",
44
+ "buildntest": "tsc -p . && mocha --parallel",
45
+ "test-official": "c8 mocha --forbid-only --parallel",
46
46
  "lint": "eslint . --ext .ts,.tsx --max-warnings=0",
47
47
  "lint:fix": "eslint . --fix --ext .ts,.tsx"
48
48
  },
@@ -52,28 +52,26 @@
52
52
  "!dist/test/**"
53
53
  ],
54
54
  "dependencies": {
55
- "@xmldom/xmldom": "~0.8.4",
56
- "@typespec/compiler": "~0.49.0",
57
- "@typespec/http": "~0.49.0",
58
- "@typespec/lint": "~0.49.0",
59
- "prettier": "~2.8.7",
60
- "react-dom": "~18.2.0",
61
- "react": "~18.2.0",
62
- "react-reconciler": "~0.27.0"
55
+ "@typespec/compiler": "~0.66.0",
56
+ "@typespec/http": "~0.66.0",
57
+ "@xmldom/xmldom": "~0.8.10",
58
+ "prettier": "~3.2.5",
59
+ "react": "~18.3.1",
60
+ "react-dom": "~18.3.1",
61
+ "react-reconciler": "~0.29.2"
63
62
  },
64
63
  "devDependencies": {
65
- "@types/mocha": "~10.0.1",
66
- "@types/node": "~18.11.9",
67
- "@types/prettier": "2.6.0",
68
- "@types/react": "~18.0.5",
69
- "@types/react-reconciler": "~0.28.0",
70
- "@typespec/eslint-config-typespec": "~0.49.0",
71
- "c8": "~8.0.1",
72
- "eslint": "^8.49.0",
73
- "mocha": "~10.2.0",
74
- "rimraf": "~5.0.1",
75
- "typescript": "~5.2.2",
76
- "xpath": "~0.0.32",
77
- "tsx": "~3.12.3"
64
+ "@types/mocha": "~10.0.10",
65
+ "@types/node": "~20.12.14",
66
+ "@types/react": "~18.3.18",
67
+ "@types/react-reconciler": "~0.28.9",
68
+ "c8": "~9.1.0",
69
+ "eslint": "^9.20.1",
70
+ "mocha": "~11.1.0",
71
+ "rimraf": "~5.0.10",
72
+ "source-map-support": "~0.5.21",
73
+ "tsx": "~4.19.3",
74
+ "typescript": "~5.7.3",
75
+ "xpath": "~0.0.34"
78
76
  }
79
77
  }
@@ -1,9 +0,0 @@
1
- import { DecoratorContext, Enum, Program } from "@typespec/compiler";
2
- /**
3
- * `@flags` - mark an enum as a flag.
4
- *
5
- * `@flags` can only be applied to enums.
6
- */
7
- export declare function $flags(context: DecoratorContext, target: Enum): void;
8
- export declare function isFlags(program: Program, target: Enum): boolean;
9
- //# sourceMappingURL=flags.d.ts.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"flags.d.ts","sourceRoot":"","sources":["../../../src/decorators/flags.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,gBAAgB,EAAE,IAAI,EAAE,OAAO,EAAE,MAAM,oBAAoB,CAAC;AAIrE;;;;GAIG;AACH,wBAAgB,MAAM,CAAC,OAAO,EAAE,gBAAgB,EAAE,MAAM,EAAE,IAAI,QAE7D;AAED,wBAAgB,OAAO,CAAC,OAAO,EAAE,OAAO,EAAE,MAAM,EAAE,IAAI,WAErD"}
@@ -1,13 +0,0 @@
1
- const flagsKey = Symbol("flags");
2
- /**
3
- * `@flags` - mark an enum as a flag.
4
- *
5
- * `@flags` can only be applied to enums.
6
- */
7
- export function $flags(context, target) {
8
- context.program.stateSet(flagsKey).add(target);
9
- }
10
- export function isFlags(program, target) {
11
- return program.stateSet(flagsKey).has(target);
12
- }
13
- //# sourceMappingURL=flags.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"flags.js","sourceRoot":"","sources":["../../../src/decorators/flags.ts"],"names":[],"mappings":"AAEA,MAAM,QAAQ,GAAG,MAAM,CAAC,OAAO,CAAC,CAAC;AAEjC;;;;GAIG;AACH,MAAM,UAAU,MAAM,CAAC,OAAyB,EAAE,MAAY;IAC5D,OAAO,CAAC,OAAO,CAAC,QAAQ,CAAC,QAAQ,CAAC,CAAC,GAAG,CAAC,MAAM,CAAC,CAAC;AACjD,CAAC;AAED,MAAM,UAAU,OAAO,CAAC,OAAgB,EAAE,MAAY;IACpD,OAAO,OAAO,CAAC,QAAQ,CAAC,QAAQ,CAAC,CAAC,GAAG,CAAC,MAAM,CAAC,CAAC;AAChD,CAAC"}
@@ -1,10 +0,0 @@
1
- import { DecoratorContext, Model, Program } from "@typespec/compiler";
2
- /**
3
- * `@hasStream` - indicates that an `@entity` model has a stream.
4
- *
5
- * `mediaTypes` - list of media types supported by the stream. If not specified, the stream supports any media type.
6
- */
7
- export declare function $hasStream(context: DecoratorContext, target: Model, args?: string, ...mediaTypes: string[]): void;
8
- export declare function hasStream(program: Program, target: Model): boolean;
9
- export declare function getStreamTypes(program: Program, target: Model): string[];
10
- //# sourceMappingURL=has-stream.d.ts.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"has-stream.d.ts","sourceRoot":"","sources":["../../../src/decorators/has-stream.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,gBAAgB,EAAE,KAAK,EAAE,OAAO,EAAE,MAAM,oBAAoB,CAAC;AAItE;;;;GAIG;AACH,wBAAgB,UAAU,CACxB,OAAO,EAAE,gBAAgB,EACzB,MAAM,EAAE,KAAK,EACb,IAAI,CAAC,EAAE,MAAM,EACb,GAAG,UAAU,EAAE,MAAM,EAAE,QAOxB;AAED,wBAAgB,SAAS,CAAC,OAAO,EAAE,OAAO,EAAE,MAAM,EAAE,KAAK,GAAG,OAAO,CAElE;AAED,wBAAgB,cAAc,CAAC,OAAO,EAAE,OAAO,EAAE,MAAM,EAAE,KAAK,GAAG,MAAM,EAAE,CAExE"}
@@ -1,17 +0,0 @@
1
- const hasStreamKey = Symbol("hasStream");
2
- /**
3
- * `@hasStream` - indicates that an `@entity` model has a stream.
4
- *
5
- * `mediaTypes` - list of media types supported by the stream. If not specified, the stream supports any media type.
6
- */
7
- export function $hasStream(context, target, args, ...mediaTypes) {
8
- const types = args ? [args, ...mediaTypes] : [];
9
- context.program.stateMap(hasStreamKey).set(target, types.filter((t) => t.trim()));
10
- }
11
- export function hasStream(program, target) {
12
- return program.stateMap(hasStreamKey).has(target);
13
- }
14
- export function getStreamTypes(program, target) {
15
- return program.stateMap(hasStreamKey).get(target) || [];
16
- }
17
- //# sourceMappingURL=has-stream.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"has-stream.js","sourceRoot":"","sources":["../../../src/decorators/has-stream.ts"],"names":[],"mappings":"AAEA,MAAM,YAAY,GAAG,MAAM,CAAC,WAAW,CAAC,CAAC;AAEzC;;;;GAIG;AACH,MAAM,UAAU,UAAU,CACxB,OAAyB,EACzB,MAAa,EACb,IAAa,EACb,GAAG,UAAoB;IAEvB,MAAM,KAAK,GAAG,IAAI,CAAC,CAAC,CAAC,CAAC,IAAI,EAAE,GAAG,UAAU,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC;IAChD,OAAO,CAAC,OAAO,CAAC,QAAQ,CAAC,YAAY,CAAC,CAAC,GAAG,CACxC,MAAM,EACN,KAAK,CAAC,MAAM,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,IAAI,EAAE,CAAC,CAC9B,CAAC;AACJ,CAAC;AAED,MAAM,UAAU,SAAS,CAAC,OAAgB,EAAE,MAAa;IACvD,OAAO,OAAO,CAAC,QAAQ,CAAC,YAAY,CAAC,CAAC,GAAG,CAAC,MAAM,CAAC,CAAC;AACpD,CAAC;AAED,MAAM,UAAU,cAAc,CAAC,OAAgB,EAAE,MAAa;IAC5D,OAAO,OAAO,CAAC,QAAQ,CAAC,YAAY,CAAC,CAAC,GAAG,CAAC,MAAM,CAAC,IAAI,EAAE,CAAC;AAC1D,CAAC"}
@@ -1,2 +0,0 @@
1
- export declare const hasStreamOnlyOnEntity: import("@typespec/lint").LintRule;
2
- //# sourceMappingURL=has-stream.d.ts.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"has-stream.d.ts","sourceRoot":"","sources":["../../../src/rules/has-stream.ts"],"names":[],"mappings":"AAKA,eAAO,MAAM,qBAAqB,mCAuBhC,CAAC"}
@@ -1,29 +0,0 @@
1
- import { createRule } from "@typespec/lint";
2
- import { hasStream } from "../decorators/has-stream.js";
3
- import { isEntity } from "../index.js";
4
- import { reportDiagnostic } from "../lib.js";
5
- export const hasStreamOnlyOnEntity = createRule({
6
- name: "has-stream-on-entity",
7
- create({ program }) {
8
- return {
9
- model: (model) => {
10
- if (!hasStream(program, model)) {
11
- return;
12
- }
13
- if (isEntity(program, model)) {
14
- return;
15
- }
16
- reportDiagnostic(program, {
17
- code: "decorator-invalid-use",
18
- target: model,
19
- messageId: "wrongType",
20
- format: {
21
- decorator: "@hasStream",
22
- target: "@entity model",
23
- },
24
- });
25
- },
26
- };
27
- },
28
- });
29
- //# sourceMappingURL=has-stream.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"has-stream.js","sourceRoot":"","sources":["../../../src/rules/has-stream.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,UAAU,EAAE,MAAM,gBAAgB,CAAC;AAC5C,OAAO,EAAE,SAAS,EAAE,MAAM,6BAA6B,CAAC;AACxD,OAAO,EAAE,QAAQ,EAAE,MAAM,aAAa,CAAC;AACvC,OAAO,EAAE,gBAAgB,EAAE,MAAM,WAAW,CAAC;AAE7C,MAAM,CAAC,MAAM,qBAAqB,GAAG,UAAU,CAAC;IAC9C,IAAI,EAAE,sBAAsB;IAC5B,MAAM,CAAC,EAAE,OAAO,EAAE;QAChB,OAAO;YACL,KAAK,EAAE,CAAC,KAAK,EAAE,EAAE;gBACf,IAAI,CAAC,SAAS,CAAC,OAAO,EAAE,KAAK,CAAC,EAAE;oBAC9B,OAAO;iBACR;gBACD,IAAI,QAAQ,CAAC,OAAO,EAAE,KAAK,CAAC,EAAE;oBAC5B,OAAO;iBACR;gBACD,gBAAgB,CAAC,OAAO,EAAE;oBACxB,IAAI,EAAE,uBAAuB;oBAC7B,MAAM,EAAE,KAAK;oBACb,SAAS,EAAE,WAAW;oBACtB,MAAM,EAAE;wBACN,SAAS,EAAE,YAAY;wBACvB,MAAM,EAAE,eAAe;qBACxB;iBACF,CAAC,CAAC;YACL,CAAC;SACF,CAAC;IACJ,CAAC;CACF,CAAC,CAAC"}