@microsoft/typespec-msgraph 0.0.1-Preview.8 → 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 (546) 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 +6 -3
  5. package/dist/src/components/annotations.d.ts.map +1 -1
  6. package/dist/src/components/annotations.js +67 -7
  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/index.js +3 -3
  24. package/dist/src/components/index.js.map +1 -1
  25. package/dist/src/components/is-url-annotation.d.ts +5 -0
  26. package/dist/src/components/is-url-annotation.d.ts.map +1 -0
  27. package/dist/src/components/is-url-annotation.js +6 -0
  28. package/dist/src/components/is-url-annotation.js.map +1 -0
  29. package/dist/src/components/open-property-type-constraint-annotation-element.d.ts +5 -0
  30. package/dist/src/components/open-property-type-constraint-annotation-element.d.ts.map +1 -0
  31. package/dist/src/components/open-property-type-constraint-annotation-element.js +7 -0
  32. package/dist/src/components/open-property-type-constraint-annotation-element.js.map +1 -0
  33. package/dist/src/components/operation-element.d.ts.map +1 -1
  34. package/dist/src/components/operation-element.js +30 -15
  35. package/dist/src/components/operation-element.js.map +1 -1
  36. package/dist/src/components/permissions-annotation.js.map +1 -1
  37. package/dist/src/components/property-element.d.ts.map +1 -1
  38. package/dist/src/components/property-element.js +8 -4
  39. package/dist/src/components/property-element.js.map +1 -1
  40. package/dist/src/components/reference-target-element.d.ts +9 -0
  41. package/dist/src/components/reference-target-element.d.ts.map +1 -0
  42. package/dist/src/components/reference-target-element.js +3 -0
  43. package/dist/src/components/reference-target-element.js.map +1 -0
  44. package/dist/src/components/revisions-annotation.d.ts.map +1 -1
  45. package/dist/src/components/revisions-annotation.js +2 -1
  46. package/dist/src/components/revisions-annotation.js.map +1 -1
  47. package/dist/src/components/schema-element.d.ts.map +1 -1
  48. package/dist/src/components/schema-element.js +9 -3
  49. package/dist/src/components/schema-element.js.map +1 -1
  50. package/dist/src/components/select-supported-annotation.d.ts +5 -0
  51. package/dist/src/components/select-supported-annotation.d.ts.map +1 -0
  52. package/dist/src/components/select-supported-annotation.js +6 -0
  53. package/dist/src/components/select-supported-annotation.js.map +1 -0
  54. package/dist/src/components/structured-type-element.d.ts.map +1 -1
  55. package/dist/src/components/structured-type-element.js +8 -6
  56. package/dist/src/components/structured-type-element.js.map +1 -1
  57. package/dist/src/components/term-element.d.ts +9 -0
  58. package/dist/src/components/term-element.d.ts.map +1 -0
  59. package/dist/src/components/term-element.js +8 -0
  60. package/dist/src/components/term-element.js.map +1 -0
  61. package/dist/src/components/top-supported-annotation.js +1 -1
  62. package/dist/src/components/top-supported-annotation.js.map +1 -1
  63. package/dist/src/components/update-restrictions-annotation.d.ts +2 -1
  64. package/dist/src/components/update-restrictions-annotation.d.ts.map +1 -1
  65. package/dist/src/components/update-restrictions-annotation.js +4 -4
  66. package/dist/src/components/update-restrictions-annotation.js.map +1 -1
  67. package/dist/src/decorators/abstract.d.ts +2 -0
  68. package/dist/src/decorators/abstract.d.ts.map +1 -1
  69. package/dist/src/decorators/abstract.js +2 -0
  70. package/dist/src/decorators/abstract.js.map +1 -1
  71. package/dist/src/decorators/action.d.ts +2 -0
  72. package/dist/src/decorators/action.d.ts.map +1 -1
  73. package/dist/src/decorators/action.js +2 -0
  74. package/dist/src/decorators/action.js.map +1 -1
  75. package/dist/src/decorators/additional-query-parameters.d.ts +2 -0
  76. package/dist/src/decorators/additional-query-parameters.d.ts.map +1 -1
  77. package/dist/src/decorators/additional-query-parameters.js +2 -0
  78. package/dist/src/decorators/additional-query-parameters.js.map +1 -1
  79. package/dist/src/decorators/address-url-msa.d.ts +14 -0
  80. package/dist/src/decorators/address-url-msa.d.ts.map +1 -0
  81. package/dist/src/decorators/address-url-msa.js +21 -0
  82. package/dist/src/decorators/address-url-msa.js.map +1 -0
  83. package/dist/src/decorators/address-url.d.ts +18 -0
  84. package/dist/src/decorators/address-url.d.ts.map +1 -0
  85. package/dist/src/decorators/address-url.js +21 -0
  86. package/dist/src/decorators/address-url.js.map +1 -0
  87. package/dist/src/decorators/ags-attribute.d.ts +7 -3
  88. package/dist/src/decorators/ags-attribute.d.ts.map +1 -1
  89. package/dist/src/decorators/ags-attribute.js +102 -3
  90. package/dist/src/decorators/ags-attribute.js.map +1 -1
  91. package/dist/src/decorators/allowed-values.d.ts +15 -0
  92. package/dist/src/decorators/allowed-values.d.ts.map +1 -0
  93. package/dist/src/decorators/allowed-values.js +37 -0
  94. package/dist/src/decorators/allowed-values.js.map +1 -0
  95. package/dist/src/decorators/complex.d.ts +2 -0
  96. package/dist/src/decorators/complex.d.ts.map +1 -1
  97. package/dist/src/decorators/complex.js +2 -0
  98. package/dist/src/decorators/complex.js.map +1 -1
  99. package/dist/src/decorators/computed.d.ts +2 -0
  100. package/dist/src/decorators/computed.d.ts.map +1 -1
  101. package/dist/src/decorators/computed.js +2 -0
  102. package/dist/src/decorators/computed.js.map +1 -1
  103. package/dist/src/decorators/contains.d.ts +2 -0
  104. package/dist/src/decorators/contains.d.ts.map +1 -1
  105. package/dist/src/decorators/contains.js +2 -0
  106. package/dist/src/decorators/contains.js.map +1 -1
  107. package/dist/src/decorators/count.d.ts +2 -0
  108. package/dist/src/decorators/count.d.ts.map +1 -1
  109. package/dist/src/decorators/count.js +2 -0
  110. package/dist/src/decorators/count.js.map +1 -1
  111. package/dist/src/decorators/delta.d.ts +10 -0
  112. package/dist/src/decorators/delta.d.ts.map +1 -0
  113. package/dist/src/decorators/delta.js +14 -0
  114. package/dist/src/decorators/delta.js.map +1 -0
  115. package/dist/src/decorators/deprecated-definition.d.ts +2 -0
  116. package/dist/src/decorators/deprecated-definition.d.ts.map +1 -1
  117. package/dist/src/decorators/deprecated-definition.js.map +1 -1
  118. package/dist/src/decorators/entity.d.ts +3 -0
  119. package/dist/src/decorators/entity.d.ts.map +1 -1
  120. package/dist/src/decorators/entity.js +7 -1
  121. package/dist/src/decorators/entity.js.map +1 -1
  122. package/dist/src/decorators/expand.d.ts +3 -0
  123. package/dist/src/decorators/expand.d.ts.map +1 -1
  124. package/dist/src/decorators/expand.js +7 -1
  125. package/dist/src/decorators/expand.js.map +1 -1
  126. package/dist/src/decorators/experimental.d.ts +11 -0
  127. package/dist/src/decorators/experimental.d.ts.map +1 -0
  128. package/dist/src/decorators/experimental.js +15 -0
  129. package/dist/src/decorators/experimental.js.map +1 -0
  130. package/dist/src/decorators/filter.d.ts +3 -1
  131. package/dist/src/decorators/filter.d.ts.map +1 -1
  132. package/dist/src/decorators/filter.js +9 -7
  133. package/dist/src/decorators/filter.js.map +1 -1
  134. package/dist/src/decorators/function.d.ts +9 -2
  135. package/dist/src/decorators/function.d.ts.map +1 -1
  136. package/dist/src/decorators/function.js +7 -2
  137. package/dist/src/decorators/function.js.map +1 -1
  138. package/dist/src/decorators/global-operation.d.ts +11 -0
  139. package/dist/src/decorators/global-operation.d.ts.map +1 -0
  140. package/dist/src/decorators/global-operation.js +15 -0
  141. package/dist/src/decorators/global-operation.js.map +1 -0
  142. package/dist/src/decorators/graph-deprecated.d.ts +13 -0
  143. package/dist/src/decorators/graph-deprecated.d.ts.map +1 -0
  144. package/dist/src/decorators/graph-deprecated.js +21 -0
  145. package/dist/src/decorators/graph-deprecated.js.map +1 -0
  146. package/dist/src/decorators/graph-partial.d.ts +12 -0
  147. package/dist/src/decorators/graph-partial.d.ts.map +1 -0
  148. package/dist/src/decorators/graph-partial.js +18 -0
  149. package/dist/src/decorators/graph-partial.js.map +1 -0
  150. package/dist/src/decorators/graph-route.d.ts +13 -2
  151. package/dist/src/decorators/graph-route.d.ts.map +1 -1
  152. package/dist/src/decorators/graph-route.js +67 -15
  153. package/dist/src/decorators/graph-route.js.map +1 -1
  154. package/dist/src/decorators/graphFlags.d.ts +11 -0
  155. package/dist/src/decorators/graphFlags.d.ts.map +1 -0
  156. package/dist/src/decorators/graphFlags.js +15 -0
  157. package/dist/src/decorators/graphFlags.js.map +1 -0
  158. package/dist/src/decorators/immutable.d.ts +2 -0
  159. package/dist/src/decorators/immutable.d.ts.map +1 -1
  160. package/dist/src/decorators/immutable.js +2 -0
  161. package/dist/src/decorators/immutable.js.map +1 -1
  162. package/dist/src/decorators/index.d.ts +23 -3
  163. package/dist/src/decorators/index.d.ts.map +1 -1
  164. package/dist/src/decorators/index.js +23 -3
  165. package/dist/src/decorators/index.js.map +1 -1
  166. package/dist/src/decorators/is-owner.d.ts +5 -2
  167. package/dist/src/decorators/is-owner.d.ts.map +1 -1
  168. package/dist/src/decorators/is-owner.js +9 -4
  169. package/dist/src/decorators/is-owner.js.map +1 -1
  170. package/dist/src/decorators/limited-charset.d.ts +11 -0
  171. package/dist/src/decorators/limited-charset.d.ts.map +1 -0
  172. package/dist/src/decorators/limited-charset.js +15 -0
  173. package/dist/src/decorators/limited-charset.js.map +1 -0
  174. package/dist/src/decorators/media.d.ts +12 -0
  175. package/dist/src/decorators/media.d.ts.map +1 -0
  176. package/dist/src/decorators/media.js +18 -0
  177. package/dist/src/decorators/media.js.map +1 -0
  178. package/dist/src/decorators/open.d.ts +2 -0
  179. package/dist/src/decorators/open.d.ts.map +1 -1
  180. package/dist/src/decorators/open.js +2 -0
  181. package/dist/src/decorators/open.js.map +1 -1
  182. package/dist/src/decorators/operation-parameters.d.ts +2 -0
  183. package/dist/src/decorators/operation-parameters.d.ts.map +1 -1
  184. package/dist/src/decorators/operation-parameters.js +2 -0
  185. package/dist/src/decorators/operation-parameters.js.map +1 -1
  186. package/dist/src/decorators/order-by.d.ts +2 -0
  187. package/dist/src/decorators/order-by.d.ts.map +1 -1
  188. package/dist/src/decorators/order-by.js +2 -0
  189. package/dist/src/decorators/order-by.js.map +1 -1
  190. package/dist/src/decorators/ownerless.d.ts +10 -0
  191. package/dist/src/decorators/ownerless.d.ts.map +1 -0
  192. package/dist/src/decorators/ownerless.js +14 -0
  193. package/dist/src/decorators/ownerless.js.map +1 -0
  194. package/dist/src/decorators/passthrough-address-url-msa.d.ts +14 -0
  195. package/dist/src/decorators/passthrough-address-url-msa.d.ts.map +1 -0
  196. package/dist/src/decorators/passthrough-address-url-msa.js +20 -0
  197. package/dist/src/decorators/passthrough-address-url-msa.js.map +1 -0
  198. package/dist/src/decorators/passthrough-address-url.d.ts +14 -0
  199. package/dist/src/decorators/passthrough-address-url.d.ts.map +1 -0
  200. package/dist/src/decorators/passthrough-address-url.js +20 -0
  201. package/dist/src/decorators/passthrough-address-url.js.map +1 -0
  202. package/dist/src/decorators/prefixed-graph-routes.d.ts +10 -0
  203. package/dist/src/decorators/prefixed-graph-routes.d.ts.map +1 -0
  204. package/dist/src/decorators/prefixed-graph-routes.js +27 -0
  205. package/dist/src/decorators/prefixed-graph-routes.js.map +1 -0
  206. package/dist/src/decorators/private-preview-definition.d.ts +2 -0
  207. package/dist/src/decorators/private-preview-definition.d.ts.map +1 -1
  208. package/dist/src/decorators/private-preview-definition.js +2 -0
  209. package/dist/src/decorators/private-preview-definition.js.map +1 -1
  210. package/dist/src/decorators/private-preview.d.ts +4 -2
  211. package/dist/src/decorators/private-preview.d.ts.map +1 -1
  212. package/dist/src/decorators/private-preview.js +2 -0
  213. package/dist/src/decorators/private-preview.js.map +1 -1
  214. package/dist/src/decorators/privileged.d.ts +2 -0
  215. package/dist/src/decorators/privileged.d.ts.map +1 -1
  216. package/dist/src/decorators/privileged.js +2 -0
  217. package/dist/src/decorators/privileged.js.map +1 -1
  218. package/dist/src/decorators/public-namespace.d.ts +12 -0
  219. package/dist/src/decorators/public-namespace.d.ts.map +1 -0
  220. package/dist/src/decorators/public-namespace.js +21 -0
  221. package/dist/src/decorators/public-namespace.js.map +1 -0
  222. package/dist/src/decorators/read-only.d.ts +2 -0
  223. package/dist/src/decorators/read-only.d.ts.map +1 -1
  224. package/dist/src/decorators/read-only.js +2 -0
  225. package/dist/src/decorators/read-only.js.map +1 -1
  226. package/dist/src/decorators/reference-target.d.ts +17 -0
  227. package/dist/src/decorators/reference-target.d.ts.map +1 -0
  228. package/dist/src/decorators/reference-target.js +59 -0
  229. package/dist/src/decorators/reference-target.js.map +1 -0
  230. package/dist/src/decorators/references.d.ts +2 -0
  231. package/dist/src/decorators/references.d.ts.map +1 -1
  232. package/dist/src/decorators/references.js +2 -0
  233. package/dist/src/decorators/references.js.map +1 -1
  234. package/dist/src/decorators/required-for-create.d.ts +2 -0
  235. package/dist/src/decorators/required-for-create.d.ts.map +1 -1
  236. package/dist/src/decorators/required-for-create.js +2 -0
  237. package/dist/src/decorators/required-for-create.js.map +1 -1
  238. package/dist/src/decorators/return-source.d.ts +11 -0
  239. package/dist/src/decorators/return-source.d.ts.map +1 -0
  240. package/dist/src/decorators/return-source.js +28 -0
  241. package/dist/src/decorators/return-source.js.map +1 -0
  242. package/dist/src/decorators/search.d.ts +2 -0
  243. package/dist/src/decorators/search.d.ts.map +1 -1
  244. package/dist/src/decorators/search.js +2 -0
  245. package/dist/src/decorators/search.js.map +1 -1
  246. package/dist/src/decorators/select.d.ts +11 -0
  247. package/dist/src/decorators/select.d.ts.map +1 -0
  248. package/dist/src/decorators/select.js +15 -0
  249. package/dist/src/decorators/select.js.map +1 -0
  250. package/dist/src/decorators/shared-entity.d.ts +9 -0
  251. package/dist/src/decorators/shared-entity.d.ts.map +1 -0
  252. package/dist/src/decorators/shared-entity.js +15 -0
  253. package/dist/src/decorators/shared-entity.js.map +1 -0
  254. package/dist/src/decorators/skip.d.ts +2 -0
  255. package/dist/src/decorators/skip.d.ts.map +1 -1
  256. package/dist/src/decorators/skip.js +2 -0
  257. package/dist/src/decorators/skip.js.map +1 -1
  258. package/dist/src/decorators/term.d.ts +13 -0
  259. package/dist/src/decorators/term.d.ts.map +1 -0
  260. package/dist/src/decorators/term.js +14 -0
  261. package/dist/src/decorators/term.js.map +1 -0
  262. package/dist/src/decorators/top.d.ts +2 -0
  263. package/dist/src/decorators/top.d.ts.map +1 -1
  264. package/dist/src/decorators/top.js +2 -0
  265. package/dist/src/decorators/top.js.map +1 -1
  266. package/dist/src/decorators/workload-name-msa.d.ts +2 -0
  267. package/dist/src/decorators/workload-name-msa.d.ts.map +1 -1
  268. package/dist/src/decorators/workload-name-msa.js +2 -0
  269. package/dist/src/decorators/workload-name-msa.js.map +1 -1
  270. package/dist/src/decorators/workload-name.d.ts +2 -0
  271. package/dist/src/decorators/workload-name.d.ts.map +1 -1
  272. package/dist/src/decorators/workload-name.js +2 -0
  273. package/dist/src/decorators/workload-name.js.map +1 -1
  274. package/dist/src/decorators/workload-namespace.d.ts +12 -0
  275. package/dist/src/decorators/workload-namespace.d.ts.map +1 -0
  276. package/dist/src/decorators/workload-namespace.js +21 -0
  277. package/dist/src/decorators/workload-namespace.js.map +1 -0
  278. package/dist/src/decorators/write-only.d.ts +2 -0
  279. package/dist/src/decorators/write-only.d.ts.map +1 -1
  280. package/dist/src/decorators/write-only.js +2 -0
  281. package/dist/src/decorators/write-only.js.map +1 -1
  282. package/dist/src/dom/error-interceptor.d.ts +2 -0
  283. package/dist/src/dom/error-interceptor.d.ts.map +1 -0
  284. package/dist/src/dom/error-interceptor.js +13 -0
  285. package/dist/src/dom/error-interceptor.js.map +1 -0
  286. package/dist/src/dom/reconciler.js.map +1 -1
  287. package/dist/src/dom/renderer.d.ts +1 -0
  288. package/dist/src/dom/renderer.d.ts.map +1 -1
  289. package/dist/src/dom/renderer.js +1 -0
  290. package/dist/src/dom/renderer.js.map +1 -1
  291. package/dist/src/emitter.d.ts +2 -1
  292. package/dist/src/emitter.d.ts.map +1 -1
  293. package/dist/src/emitter.js +31 -2
  294. package/dist/src/emitter.js.map +1 -1
  295. package/dist/src/entities/address-url.d.ts +8 -0
  296. package/dist/src/entities/address-url.d.ts.map +1 -0
  297. package/dist/src/entities/address-url.js +47 -0
  298. package/dist/src/entities/address-url.js.map +1 -0
  299. package/dist/src/entities/annotations.d.ts +23 -4
  300. package/dist/src/entities/annotations.d.ts.map +1 -1
  301. package/dist/src/entities/annotations.js +137 -72
  302. package/dist/src/entities/annotations.js.map +1 -1
  303. package/dist/src/entities/entity-container.d.ts +21 -0
  304. package/dist/src/entities/entity-container.d.ts.map +1 -1
  305. package/dist/src/entities/entity-container.js +33 -4
  306. package/dist/src/entities/entity-container.js.map +1 -1
  307. package/dist/src/entities/enum.d.ts +3 -1
  308. package/dist/src/entities/enum.d.ts.map +1 -1
  309. package/dist/src/entities/enum.js +10 -5
  310. package/dist/src/entities/enum.js.map +1 -1
  311. package/dist/src/entities/model.d.ts +38 -9
  312. package/dist/src/entities/model.d.ts.map +1 -1
  313. package/dist/src/entities/model.js +311 -14
  314. package/dist/src/entities/model.js.map +1 -1
  315. package/dist/src/entities/ms-graph-route.d.ts +13 -0
  316. package/dist/src/entities/ms-graph-route.d.ts.map +1 -0
  317. package/dist/src/entities/ms-graph-route.js +67 -0
  318. package/dist/src/entities/ms-graph-route.js.map +1 -0
  319. package/dist/src/entities/namespace.d.ts +27 -4
  320. package/dist/src/entities/namespace.d.ts.map +1 -1
  321. package/dist/src/entities/namespace.js +321 -29
  322. package/dist/src/entities/namespace.js.map +1 -1
  323. package/dist/src/entities/operation.d.ts +18 -0
  324. package/dist/src/entities/operation.d.ts.map +1 -1
  325. package/dist/src/entities/operation.js +143 -21
  326. package/dist/src/entities/operation.js.map +1 -1
  327. package/dist/src/entities/property.d.ts.map +1 -1
  328. package/dist/src/entities/property.js +7 -0
  329. package/dist/src/entities/property.js.map +1 -1
  330. package/dist/src/entities/revision-definition.d.ts +3 -2
  331. package/dist/src/entities/revision-definition.d.ts.map +1 -1
  332. package/dist/src/entities/revision-definition.js +17 -6
  333. package/dist/src/entities/revision-definition.js.map +1 -1
  334. package/dist/src/entities/term.d.ts +8 -0
  335. package/dist/src/entities/term.d.ts.map +1 -0
  336. package/dist/src/entities/term.js +14 -0
  337. package/dist/src/entities/term.js.map +1 -0
  338. package/dist/src/index.d.ts +2 -0
  339. package/dist/src/index.d.ts.map +1 -1
  340. package/dist/src/index.js +2 -0
  341. package/dist/src/index.js.map +1 -1
  342. package/dist/src/lib.d.ts +139 -94
  343. package/dist/src/lib.d.ts.map +1 -1
  344. package/dist/src/lib.js +92 -11
  345. package/dist/src/lib.js.map +1 -1
  346. package/dist/src/linter.d.ts +1 -2
  347. package/dist/src/linter.d.ts.map +1 -1
  348. package/dist/src/linter.js +32 -38
  349. package/dist/src/linter.js.map +1 -1
  350. package/dist/src/path-tree.d.ts +16 -0
  351. package/dist/src/path-tree.d.ts.map +1 -0
  352. package/dist/src/path-tree.js +76 -0
  353. package/dist/src/path-tree.js.map +1 -0
  354. package/dist/src/rules/abstract.d.ts +2 -1
  355. package/dist/src/rules/abstract.d.ts.map +1 -1
  356. package/dist/src/rules/abstract.js +8 -8
  357. package/dist/src/rules/abstract.js.map +1 -1
  358. package/dist/src/rules/address-url.d.ts +20 -0
  359. package/dist/src/rules/address-url.d.ts.map +1 -0
  360. package/dist/src/rules/address-url.js +248 -0
  361. package/dist/src/rules/address-url.js.map +1 -0
  362. package/dist/src/rules/allowed-values.d.ts +7 -0
  363. package/dist/src/rules/allowed-values.d.ts.map +1 -0
  364. package/dist/src/rules/allowed-values.js +59 -0
  365. package/dist/src/rules/allowed-values.js.map +1 -0
  366. package/dist/src/rules/alternate-key.d.ts +4 -3
  367. package/dist/src/rules/alternate-key.d.ts.map +1 -1
  368. package/dist/src/rules/alternate-key.js +23 -23
  369. package/dist/src/rules/alternate-key.js.map +1 -1
  370. package/dist/src/rules/collection-navigation-properties-not-nullable.d.ts +2 -1
  371. package/dist/src/rules/collection-navigation-properties-not-nullable.d.ts.map +1 -1
  372. package/dist/src/rules/collection-navigation-properties-not-nullable.js +9 -9
  373. package/dist/src/rules/collection-navigation-properties-not-nullable.js.map +1 -1
  374. package/dist/src/rules/complex.d.ts +3 -0
  375. package/dist/src/rules/complex.d.ts.map +1 -0
  376. package/dist/src/rules/complex.js +27 -0
  377. package/dist/src/rules/complex.js.map +1 -0
  378. package/dist/src/rules/computed.d.ts +2 -3
  379. package/dist/src/rules/computed.d.ts.map +1 -1
  380. package/dist/src/rules/computed.js +14 -16
  381. package/dist/src/rules/computed.js.map +1 -1
  382. package/dist/src/rules/contains.d.ts +2 -1
  383. package/dist/src/rules/contains.d.ts.map +1 -1
  384. package/dist/src/rules/contains.js +9 -8
  385. package/dist/src/rules/contains.js.map +1 -1
  386. package/dist/src/rules/count.d.ts +2 -1
  387. package/dist/src/rules/count.d.ts.map +1 -1
  388. package/dist/src/rules/count.js +9 -8
  389. package/dist/src/rules/count.js.map +1 -1
  390. package/dist/src/rules/delta.d.ts +8 -0
  391. package/dist/src/rules/delta.d.ts.map +1 -0
  392. package/dist/src/rules/delta.js +208 -0
  393. package/dist/src/rules/delta.js.map +1 -0
  394. package/dist/src/rules/disallowed-typespec-decorators.d.ts +2 -1
  395. package/dist/src/rules/disallowed-typespec-decorators.d.ts.map +1 -1
  396. package/dist/src/rules/disallowed-typespec-decorators.js +29 -25
  397. package/dist/src/rules/disallowed-typespec-decorators.js.map +1 -1
  398. package/dist/src/rules/documentation.d.ts +4 -0
  399. package/dist/src/rules/documentation.d.ts.map +1 -0
  400. package/dist/src/rules/documentation.js +91 -0
  401. package/dist/src/rules/documentation.js.map +1 -0
  402. package/dist/src/rules/entity.d.ts +9 -2
  403. package/dist/src/rules/entity.d.ts.map +1 -1
  404. package/dist/src/rules/entity.js +170 -17
  405. package/dist/src/rules/entity.js.map +1 -1
  406. package/dist/src/rules/enum.d.ts +5 -1
  407. package/dist/src/rules/enum.d.ts.map +1 -1
  408. package/dist/src/rules/enum.js +35 -6
  409. package/dist/src/rules/enum.js.map +1 -1
  410. package/dist/src/rules/expand.d.ts +3 -2
  411. package/dist/src/rules/expand.d.ts.map +1 -1
  412. package/dist/src/rules/expand.js +25 -20
  413. package/dist/src/rules/expand.js.map +1 -1
  414. package/dist/src/rules/extends-on-same-type.d.ts +2 -1
  415. package/dist/src/rules/extends-on-same-type.d.ts.map +1 -1
  416. package/dist/src/rules/extends-on-same-type.js +9 -8
  417. package/dist/src/rules/extends-on-same-type.js.map +1 -1
  418. package/dist/src/rules/filter.d.ts +6 -3
  419. package/dist/src/rules/filter.d.ts.map +1 -1
  420. package/dist/src/rules/filter.js +100 -32
  421. package/dist/src/rules/filter.js.map +1 -1
  422. package/dist/src/rules/function.d.ts +3 -1
  423. package/dist/src/rules/function.d.ts.map +1 -1
  424. package/dist/src/rules/function.js +48 -9
  425. package/dist/src/rules/function.js.map +1 -1
  426. package/dist/src/rules/global-operation.d.ts +4 -0
  427. package/dist/src/rules/global-operation.d.ts.map +1 -0
  428. package/dist/src/rules/global-operation.js +60 -0
  429. package/dist/src/rules/global-operation.js.map +1 -0
  430. package/dist/src/rules/graph-deprecated.d.ts +8 -0
  431. package/dist/src/rules/graph-deprecated.d.ts.map +1 -0
  432. package/dist/src/rules/graph-deprecated.js +152 -0
  433. package/dist/src/rules/graph-deprecated.js.map +1 -0
  434. package/dist/src/rules/graph-partial.d.ts +9 -0
  435. package/dist/src/rules/graph-partial.d.ts.map +1 -0
  436. package/dist/src/rules/graph-partial.js +84 -0
  437. package/dist/src/rules/graph-partial.js.map +1 -0
  438. package/dist/src/rules/graph-route.d.ts +13 -1
  439. package/dist/src/rules/graph-route.d.ts.map +1 -1
  440. package/dist/src/rules/graph-route.js +375 -19
  441. package/dist/src/rules/graph-route.js.map +1 -1
  442. package/dist/src/rules/index.d.ts +18 -2
  443. package/dist/src/rules/index.d.ts.map +1 -1
  444. package/dist/src/rules/index.js +18 -2
  445. package/dist/src/rules/index.js.map +1 -1
  446. package/dist/src/rules/limited-charset.d.ts +3 -0
  447. package/dist/src/rules/limited-charset.d.ts.map +1 -0
  448. package/dist/src/rules/limited-charset.js +42 -0
  449. package/dist/src/rules/limited-charset.js.map +1 -0
  450. package/dist/src/rules/media.d.ts +10 -0
  451. package/dist/src/rules/media.d.ts.map +1 -0
  452. package/dist/src/rules/media.js +122 -0
  453. package/dist/src/rules/media.js.map +1 -0
  454. package/dist/src/rules/model.d.ts +10 -0
  455. package/dist/src/rules/model.d.ts.map +1 -0
  456. package/dist/src/rules/model.js +131 -0
  457. package/dist/src/rules/model.js.map +1 -0
  458. package/dist/src/rules/namespace.d.ts +6 -0
  459. package/dist/src/rules/namespace.d.ts.map +1 -0
  460. package/dist/src/rules/namespace.js +110 -0
  461. package/dist/src/rules/namespace.js.map +1 -0
  462. package/dist/src/rules/open.d.ts +2 -1
  463. package/dist/src/rules/open.d.ts.map +1 -1
  464. package/dist/src/rules/open.js +9 -8
  465. package/dist/src/rules/open.js.map +1 -1
  466. package/dist/src/rules/operation-inside-interface.d.ts +6 -1
  467. package/dist/src/rules/operation-inside-interface.d.ts.map +1 -1
  468. package/dist/src/rules/operation-inside-interface.js +78 -7
  469. package/dist/src/rules/operation-inside-interface.js.map +1 -1
  470. package/dist/src/rules/order-by.d.ts +3 -2
  471. package/dist/src/rules/order-by.d.ts.map +1 -1
  472. package/dist/src/rules/order-by.js +19 -19
  473. package/dist/src/rules/order-by.js.map +1 -1
  474. package/dist/src/rules/ownerless.d.ts +11 -0
  475. package/dist/src/rules/ownerless.d.ts.map +1 -0
  476. package/dist/src/rules/ownerless.js +170 -0
  477. package/dist/src/rules/ownerless.js.map +1 -0
  478. package/dist/src/rules/record-t.d.ts +11 -0
  479. package/dist/src/rules/record-t.d.ts.map +1 -0
  480. package/dist/src/rules/record-t.js +129 -0
  481. package/dist/src/rules/record-t.js.map +1 -0
  482. package/dist/src/rules/reference-target.d.ts +6 -0
  483. package/dist/src/rules/reference-target.d.ts.map +1 -0
  484. package/dist/src/rules/reference-target.js +113 -0
  485. package/dist/src/rules/reference-target.js.map +1 -0
  486. package/dist/src/rules/references.d.ts +2 -1
  487. package/dist/src/rules/references.d.ts.map +1 -1
  488. package/dist/src/rules/references.js +9 -8
  489. package/dist/src/rules/references.js.map +1 -1
  490. package/dist/src/rules/required-for-create.d.ts +2 -1
  491. package/dist/src/rules/required-for-create.d.ts.map +1 -1
  492. package/dist/src/rules/required-for-create.js +11 -10
  493. package/dist/src/rules/required-for-create.js.map +1 -1
  494. package/dist/src/rules/return-source.d.ts +3 -0
  495. package/dist/src/rules/return-source.d.ts.map +1 -0
  496. package/dist/src/rules/return-source.js +27 -0
  497. package/dist/src/rules/return-source.js.map +1 -0
  498. package/dist/src/rules/search.d.ts +2 -1
  499. package/dist/src/rules/search.d.ts.map +1 -1
  500. package/dist/src/rules/search.js +9 -8
  501. package/dist/src/rules/search.js.map +1 -1
  502. package/dist/src/rules/shared-entity.d.ts +8 -0
  503. package/dist/src/rules/shared-entity.d.ts.map +1 -0
  504. package/dist/src/rules/shared-entity.js +176 -0
  505. package/dist/src/rules/shared-entity.js.map +1 -0
  506. package/dist/src/rules/skip.d.ts +2 -1
  507. package/dist/src/rules/skip.d.ts.map +1 -1
  508. package/dist/src/rules/skip.js +9 -8
  509. package/dist/src/rules/skip.js.map +1 -1
  510. package/dist/src/rules/top.d.ts +2 -1
  511. package/dist/src/rules/top.d.ts.map +1 -1
  512. package/dist/src/rules/top.js +9 -8
  513. package/dist/src/rules/top.js.map +1 -1
  514. package/dist/src/testing/index.d.ts +1 -0
  515. package/dist/src/testing/index.d.ts.map +1 -1
  516. package/dist/src/testing/index.js +21 -0
  517. package/dist/src/testing/index.js.map +1 -1
  518. package/dist/src/utils.d.ts +69 -13
  519. package/dist/src/utils.d.ts.map +1 -1
  520. package/dist/src/utils.js +651 -76
  521. package/dist/src/utils.js.map +1 -1
  522. package/dist/src/validate.d.ts +3 -0
  523. package/dist/src/validate.d.ts.map +1 -0
  524. package/dist/src/validate.js +98 -0
  525. package/dist/src/validate.js.map +1 -0
  526. package/lib/bodies.tsp +71 -0
  527. package/lib/decorators.tsp +282 -75
  528. package/lib/deployment.tsp +1 -1
  529. package/lib/lib.tsp +4 -2
  530. package/lib/msgraph.tsp +1 -0
  531. package/lib/porcelain.tsp +82 -27
  532. package/lib/responses.tsp +20 -43
  533. package/lib/shared-models.tsp +10 -54
  534. package/package.json +24 -26
  535. package/dist/src/decorators/flags.d.ts +0 -9
  536. package/dist/src/decorators/flags.d.ts.map +0 -1
  537. package/dist/src/decorators/flags.js +0 -13
  538. package/dist/src/decorators/flags.js.map +0 -1
  539. package/dist/src/decorators/has-stream.d.ts +0 -10
  540. package/dist/src/decorators/has-stream.d.ts.map +0 -1
  541. package/dist/src/decorators/has-stream.js +0 -17
  542. package/dist/src/decorators/has-stream.js.map +0 -1
  543. package/dist/src/rules/has-stream.d.ts +0 -2
  544. package/dist/src/rules/has-stream.d.ts.map +0 -1
  545. package/dist/src/rules/has-stream.js +0 -29
  546. package/dist/src/rules/has-stream.js.map +0 -1
@@ -14,6 +14,61 @@ extern dec abstract(target: Model);
14
14
  */
15
15
  extern dec action(target: Operation, name?: valueof string);
16
16
 
17
+ /**
18
+ * `@additionalQueryParameters` - Appends a key=value pair to the query string of the mapped internal URL for all models defined within the namespace.
19
+ *
20
+ * `@additionalQueryParameters` can only be applied to namespaces
21
+ */
22
+ extern dec additionalQueryParameters(
23
+ target: Namespace,
24
+ name: valueof string,
25
+ value: valueof string
26
+ );
27
+
28
+ /**
29
+ * `@addressUrl` - Specifies the URL to which the operation request is forwarded when the request
30
+ * is authenticated with an AAD account.
31
+ *
32
+ * `@addressUrl` can only be applied to routed interfaces (entity sets, singletons and navigation properties) or action operations.
33
+ */
34
+ extern dec addressUrl(
35
+ target: Interface | Operation,
36
+ url: valueof string,
37
+ omitRootNavigationSegment?: valueof boolean,
38
+ appendSegmentNameToAddress?: valueof boolean
39
+ );
40
+
41
+ /**
42
+ * `@addressUrlMsa` - Specifies the URL to which the operation request is forwarded when the request
43
+ * is authenticated with a Microsoft Account.
44
+ *
45
+ * `@addressUrlMsa` can only be applied to routed interfaces (entity sets, singletons and navigation properties) or action operations.
46
+ */
47
+ extern dec addressUrlMsa(
48
+ target: Interface | Operation,
49
+ url: valueof string,
50
+ omitRootNavigationSegment?: valueof boolean,
51
+ appendSegmentNameToAddress?: valueof boolean
52
+ );
53
+
54
+ /**
55
+ * `@agsAttribute` - Allows all AGS CSDL extensions that are not yet modelled explicitly in TypeSpec to be maintained
56
+ *
57
+ * `@agsAttribute` - Applies to models.
58
+ */
59
+ extern dec agsAttribute(
60
+ target: Model | ModelProperty | Enum | EnumMember | Operation | Interface | Namespace,
61
+ name: valueof string,
62
+ value: valueof string
63
+ );
64
+
65
+ /**
66
+ * `@allowedValues` - mark model property with allowedValues.
67
+ *
68
+ * `@allowedValues` - can only be applied to model properties.
69
+ */
70
+ extern dec allowedValues(target: ModelProperty, ...values: valueof unknown[]);
71
+
17
72
  /**
18
73
  * `@alternateKey` - mark a model property as an alternateKey
19
74
  *
@@ -49,6 +104,21 @@ extern dec contains(target: ModelProperty);
49
104
  */
50
105
  extern dec count(target: Operation);
51
106
 
107
+ /**
108
+ * `@delta` - mark an operation as a delta operation
109
+ *
110
+ * `@delta` can only be applied to operations.
111
+ */
112
+
113
+ extern dec delta(target: Operation);
114
+
115
+ /**
116
+ * `@deltaCollection` - mark a model as representing a delta paged collection.
117
+ *
118
+ * `@deltaCollection` can only be applied to models.
119
+ */
120
+ extern dec deltaCollection(target: Model);
121
+
52
122
  /**
53
123
  * `@deprecatedDefinition` - Allow us create a reusable deprecation definition.
54
124
  * `@deprecatedDefinition` - Applies only to namespaces.
@@ -76,38 +146,127 @@ extern dec entity(target: Model);
76
146
  * `properties` - Property names in the model returned from the get that can be used in a $expand query parameter.
77
147
  * At least one property must be specified.
78
148
  */
79
- extern dec expand(target: Operation, property: valueof string, ...otherProperties: valueof string[]);
149
+ extern dec expand(
150
+ target: Operation,
151
+ property: valueof string,
152
+ ...otherProperties: valueof string[]
153
+ );
154
+
155
+ /**
156
+ * `@experimental` - mark the entity as experimental
157
+ *
158
+ * `@experimental` can be applied to Model, ModelProperty, Enum, EnumMember, Operation, Namespace, Interface.
159
+ */
160
+ extern dec experimental(
161
+ target:
162
+ | Model
163
+ | ModelProperty
164
+ | Enum
165
+ | EnumMember
166
+ | Operation
167
+ | Namespace
168
+ | Interface
169
+ );
80
170
 
81
171
  /**
82
172
  * `@filter` - Applies to: get operations that return collections of @entity or @complex models.
83
173
  * Indicates that the get operation supports OData $filter query parameter.
84
174
  *
85
- * `properties` - string containing comma separated list of property names in the model returned
175
+ * `properties` - array of property names in the model returned
86
176
  * from the get operation that can be used in $filter query parameter.
87
177
  */
88
- extern dec filter(target: Operation, properties: valueof string);
178
+ extern dec filter(
179
+ target: Operation,
180
+ property: valueof string,
181
+ ...properties: valueof string[]
182
+ );
183
+
184
+
185
+ /**
186
+ * `@function` - mark an operation as a function
187
+ *
188
+ * `@function` can only be applied to operations.
189
+ */
190
+ extern dec function(target: Operation, name?: valueof string | null, isComposable?: valueof boolean);
191
+
192
+ /**
193
+ * `@globalOperation` - mark an operation as a globalOperation
194
+ *
195
+ * `@globalOperation` can only be applied to operations.
196
+ */
197
+ extern dec globalOperation(target: Operation);
198
+
199
+ /**
200
+ * `@graphDeprecated` - mark an entity as graphDeprecated.
201
+ *
202
+ * `@graphDeprecated` can be applied to Model, ModelProperty, Enum, EnumMember, Operation, Namespace, Interface.
203
+ */
204
+ extern dec graphDeprecated(
205
+ target:
206
+ | Model
207
+ | ModelProperty
208
+ | Enum
209
+ | EnumMember
210
+ | Operation
211
+ | Namespace
212
+ | Interface,
213
+ name: valueof string
214
+ );
215
+
216
+ /**
217
+ * `@graphFlags` - mark an enumeration type as a flag.
218
+ *
219
+ * `@graphFlags` can only be applied to enums.
220
+ */
221
+ extern dec graphFlags(target: Enum);
222
+
223
+ /**
224
+ * `@graphPartial` - Mark a model as partial.
225
+ *
226
+ * `@graphPartial` can only be applied to models.
227
+ */
228
+ extern dec graphPartial(target: Model, value: Model);
229
+
230
+ /**
231
+ * `@graphRoute` - mark an interface or operation with an HTTP route.
232
+ *
233
+ * `@graphRoute` - can only be applied to interfaces or operations.
234
+ */
235
+ // TODO: Using @graphRoute on an operation currently does not work due to the following TypeSpec core issue
236
+ // https://github.com/microsoft/typespec/issues/2106
237
+ // Disabling all related features while we await the outcome.
238
+ extern dec graphRoute(
239
+ target: Interface, /* | Operation */
240
+ path: valueof string
241
+ );
89
242
 
243
+ /**
244
+ * `@immutable` - mark a model property as immutable.
245
+ *
246
+ * `@immutable` can only be applied to model properties.
247
+ */
248
+ extern dec immutable(target: ModelProperty);
90
249
 
91
250
  /**
92
- * `@flags` - mark an enumeration type as a flag.
251
+ * `@limitedCharset` - indicates that the full unicode character set is not supported by the underlying back-end service that implements the API.
93
252
  *
94
- * `@flags` can only be applied to enums.
253
+ * `@limitedCharset` can only be applied to string models properties, string parameters or their collections.
95
254
  */
96
- extern dec flags(target: Enum);
255
+ extern dec limitedCharset(target: ModelProperty);
97
256
 
98
257
  /**
99
- * `@function` - mark an operation as a function
258
+ * `@media` - indicates that an `@entity` model is a media entity.
100
259
  *
101
- * `@function` can only be applied to operations.
260
+ * `mediaTypes` - list of media types supported by the entity. If not specified, the entity supports any media type.
102
261
  */
103
- extern dec function(target: Operation, name?: valueof string);
262
+ extern dec media(target: Model, ...mediaTypes: valueof string[]);
104
263
 
105
264
  /**
106
- * `@hasStream` - indicates that an `@entity` model has a stream.
265
+ * `@ownerless` - mark an interface as ownerless.
107
266
  *
108
- * `mediaTypes` - list of media types supported by the stream. If not specified, the stream supports any media type.
267
+ * `@ownerless` can only be applied to interfaces.
109
268
  */
110
- extern dec hasStream(target: Model, ...mediaTypes: valueof string[]);
269
+ extern dec ownerless(target: Interface);
111
270
 
112
271
  /**
113
272
  * `@open` - mark a model type as open
@@ -132,7 +291,51 @@ extern dec operationParameters(target: Model);
132
291
  * `properties` - List of property names in the model returned from the get operation that can be used in a $orderBy query parameter.
133
292
  * At least one property must be specified.
134
293
  */
135
- extern dec orderBy(target: Operation, property: valueof string, ...otherProperties: valueof string[]);
294
+ extern dec orderBy(
295
+ target: Operation,
296
+ property: valueof string,
297
+ ...otherProperties: valueof string[]
298
+ );
299
+
300
+ /**
301
+ * `@pagedCollection` - mark a model as representing a paged collection.
302
+ *
303
+ * `@pagedCollection` can only be applied to models.
304
+ */
305
+ extern dec pagedCollection(target: Model);
306
+
307
+ /**
308
+ * `@passthroughAddressUrl` - Specifies the URL to which the operation request is forwarded when the request
309
+ * is authenticated with an AAD account and the request is eligible for response passthrough.
310
+ *
311
+ * `@passthroughAddressUrl` can only be applied to routed interfaces (entity sets, singletons and navigation properties) or action operations.
312
+ */
313
+ extern dec passthroughAddressUrl(
314
+ target: Interface | Operation,
315
+ url: valueof string
316
+ );
317
+
318
+ /**
319
+ * `@passthroughAddressUrlMsa` - Specifies the URL to which the operation request is forwarded when the request
320
+ * is authenticated with a Microsoft account and the request is eligible for response passthrough.
321
+ *
322
+ * `@passthroughAddressUrlMsa` can only be applied to routed interfaces (entity sets, singletons and navigation properties) or action operations.
323
+ */
324
+ extern dec passthroughAddressUrlMsa(
325
+ target: Interface | Operation,
326
+ url: valueof string
327
+ );
328
+
329
+ /**
330
+ * `@prefixedGraphRoutes` - mark an interface or operation with multiple HTTP routes based on catenating a set of prefixes to a path.
331
+ *
332
+ * `@prefixedGraphRoutes` - can only be applied to interfaces.
333
+ */
334
+ extern dec prefixedGraphRoutes(
335
+ target: Interface,
336
+ prefixes: string[],
337
+ path?: valueof string
338
+ );
136
339
 
137
340
  /**
138
341
  * `@privatePreview` - Allow us define a privatePreview element.
@@ -152,20 +355,24 @@ extern dec privatePreviewDefinition(
152
355
  name: valueof string,
153
356
  announcementDate: valueof string,
154
357
  removalDate: valueof string,
155
- owner: valueof string
358
+ owner?: valueof string
156
359
  );
157
360
 
158
361
  /**
159
- * `@search` - Applies to: get operations that return collections.
160
- * Indicates that the get operation supports the OData $search query parameter.
362
+ * `@privileged` - mark the entity as privileged
363
+ *
364
+ * `@privileged` can be applied to Model, ModelProperty, Enum, EnumMember, Operation, Namespace.
161
365
  */
162
- extern dec search(target: Operation);
366
+ extern dec privileged(
367
+ target: Model | ModelProperty | Enum | EnumMember | Operation | Namespace
368
+ );
163
369
 
164
370
  /**
165
- * `@skip` - Applies to: get operations that return collections.
166
- * Indicates that the get operation supports the OData $skip query parameter.
371
+ * `@publicNamespace` - defines the namespace to be used in generating CSDL output for all elements contained within the namespace
372
+ *
373
+ * `@publicNamespace` can only be applied to namespaces.
167
374
  */
168
- extern dec skip(target: Operation);
375
+ extern dec publicNamespace(target: Namespace, name: valueof string);
169
376
 
170
377
  /**
171
378
  * `@readOnly` - mark a model property as readOnly property
@@ -181,6 +388,13 @@ extern dec readOnly(target: ModelProperty);
181
388
  */
182
389
  extern dec references(target: ModelProperty);
183
390
 
391
+ /**
392
+ * `@referenceTarget` - mark an interface with referenceTarget
393
+ *
394
+ * `@references` can only be applied to interfaces.
395
+ */
396
+ extern dec referenceTarget(target: Interface, value: valueof string);
397
+
184
398
  /**
185
399
  * `@requiredForCreate` - mark a model property as required when a request is made to
186
400
  * Graph to create or update a resource.
@@ -190,49 +404,73 @@ extern dec references(target: ModelProperty);
190
404
  extern dec requiredForCreate(target: ModelProperty);
191
405
 
192
406
  /**
193
- * `@top` - Applies to: get operations that return collections.
194
- * Indicates that the get operation supports the OData $top query parameter.
407
+ * '@returnSource' - mark an action or a function as having an entitysetpath.
408
+ * '@returnSource' - can only be applied to action and function operations.
195
409
  */
196
- extern dec top(target: Operation);
410
+ extern dec returnSource(target: Operation, path : valueof string | null);
197
411
 
198
412
  /**
199
- * `@writeOnly` - mark a model property as writeOnly property
413
+ * `@search` - Applies to: get operations that return collections.
414
+ * Indicates that the get operation supports the OData $search query parameter.
415
+ */
416
+ extern dec search(target: Operation);
417
+
418
+ /**
419
+ * `@select` - Applies to operations
420
+ * Indicates that the operation supports the OData $select query parameter
421
+ */
422
+ extern dec select(target: Operation);
423
+
424
+ /**
425
+ * `@sharedEntity` - mark a model as a shared entity type
200
426
  *
201
- * `@writeOnly` can only be applied to model properties.
427
+ * `@sharedEntity` can only be applied to models.
202
428
  */
203
- extern dec writeOnly(target: ModelProperty);
429
+ extern dec sharedEntity(target: Model);
204
430
 
205
431
  /**
206
- * `@additionalQueryParameters` - Appends a key=value pair to the query string of the mapped internal URL for all models defined within the namespace.
207
- *
208
- * `@additionalQueryParameters` can only be applied to namespaces
432
+ * `@skip` - Applies to: get operations that return collections.
433
+ * Indicates that the get operation supports the OData $skip query parameter.
209
434
  */
210
- extern dec additionalQueryParameters(target: Namespace, name: valueof string, value: valueof string);
435
+ extern dec skip(target: Operation);
211
436
 
212
437
  /**
213
- * `@agsAttribute` - Allows all AGS CSDL extensions that are not yet modelled explicitly in TypeSpec to be maintained
214
- *
215
- * `@agsAttribute` - Applies to models.
438
+ * `@term` - Applies to: namespaces.
439
+ * Indicates that a workload wishes to require or return instance annotations in their request / response packets at runtime.
216
440
  */
217
- extern dec agsAttribute(
218
- target: Model | ModelProperty | Enum | EnumMember | Operation | Interface,
441
+ extern dec term(
442
+ target: Namespace,
219
443
  name: valueof string,
220
- value: valueof string
444
+ type: Scalar,
445
+ description: valueof string
221
446
  );
222
447
 
223
448
  /**
224
- * `@isOwner` - specify that this workload is the primary owner of this entity model
225
- *
226
- * `@isOwner` can be applied to Model where the model also has an @entity decorator or a ModelProperty where it has either an @contains or @references decorator.
227
- */
228
- extern dec isOwner(target: Model | ModelProperty);
449
+ * `@top` - Applies to: get operations that return collections.
450
+ * Indicates that the get operation supports the OData $top query parameter.
451
+ */
452
+ extern dec top(target: Operation);
229
453
 
230
454
  /**
231
- * `@privileged` - mark the entity as privileged
455
+ * `@workloadNamespace` - overrideds the namespace to be used in generating CSDL output for all elements contained within the namespace
456
+ *
457
+ * `@workloadNamespace` can only be applied to namespaces.
458
+ */
459
+ extern dec workloadNamespace(target: Namespace, name: valueof string);
460
+
461
+ /**
462
+ * `@writeOnly` - mark a model property as writeOnly property
232
463
  *
233
- * `@privileged` can be applied to Model, ModelProperty, Enum, EnumMember, Operation, Namespace.
464
+ * `@writeOnly` can only be applied to model properties.
234
465
  */
235
- extern dec privileged(target: Model | ModelProperty | Enum | EnumMember | Operation | Namespace);
466
+ extern dec writeOnly(target: ModelProperty);
467
+
468
+ /**
469
+ * `@isOwner` - specify that this workload is the primary owner of this entity model
470
+ *
471
+ * `@isOwner` can be applied to Model where the model also has an @entity decorator or a ModelProperty where it has either an @contains or @references decorator.
472
+ */
473
+ extern dec isOwner(target: Model | ModelProperty, value?: valueof boolean);
236
474
 
237
475
  /**
238
476
  * `@workloadName` - specifies the name used by the underlying workload
@@ -253,34 +491,3 @@ extern dec workloadNameMsa(
253
491
  target: Model | ModelProperty | Enum | EnumMember,
254
492
  workloadNameMsa: valueof string
255
493
  );
256
-
257
- /**
258
- * `@pagedCollection` - mark a model as representing a paged collection.
259
- *
260
- * `@pagedCollection` can only be applied to models.
261
- */
262
- extern dec pagedCollection(target: Model);
263
-
264
- /**
265
- * `@deltaCollection` - mark a model as representing a delta paged collection.
266
- *
267
- * `@deltaCollection` can only be applied to models.
268
- */
269
- extern dec deltaCollection(target: Model);
270
-
271
- /**
272
- * `@graphRoute` - mark an interface or operation with an HTTP route.
273
- *
274
- * `@graphRoute` - can only be applied to interfaces or operations.
275
- */
276
- // TODO: Using @graphRoute on an operation currently does not work due to the following TypeSpec core issue
277
- // https://github.com/microsoft/typespec/issues/2106
278
- // Disabling all related features while we await the outcome.
279
- extern dec graphRoute(target: Interface /* | Operation */, path: valueof string);
280
-
281
- /**
282
- * `@immutable` - mark a model property as immutable.
283
- *
284
- * `@immutable` can only be applied to model properties.
285
- */
286
- extern dec immutable(target: ModelProperty);
@@ -1,4 +1,4 @@
1
- namespace TypeSpec.MsGraph.Deployment;
1
+ namespace MsGraph.Deployment;
2
2
 
3
3
  enum deploymentTargets {
4
4
  prodBeta,
package/lib/lib.tsp CHANGED
@@ -2,9 +2,11 @@ import "../dist/src/index.js";
2
2
  import "@typespec/http";
3
3
 
4
4
  using TypeSpec.Http;
5
- namespace TypeSpec.MsGraph;
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
@@ -8,11 +8,16 @@ import "./shared-models.tsp";
8
8
  import "./responses.tsp";
9
9
 
10
10
  using TypeSpec.Http;
11
- using TypeSpec.MsGraph;
12
- using TypeSpec.MsGraph.SharedModels;
13
- using TypeSpec.MsGraph.Responses;
11
+ using MsGraph;
12
+ using MsGraph.SharedModels;
13
+ using MsGraph.Responses;
14
+ using MsGraph.Bodies;
14
15
 
15
- namespace TypeSpec.MsGraph;
16
+ namespace MsGraph;
17
+
18
+ model EntityRef<T extends MsGraph.SharedModels.entity> {
19
+ @requiredForCreate "@odata.id": SharedModels.graphUrl;
20
+ }
16
21
 
17
22
  namespace Foundations {
18
23
 
@@ -23,14 +28,14 @@ namespace TypeSpec.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 TypeSpec.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 TypeSpec.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 TypeSpec.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.")