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

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