@azure-tools/typespec-go 0.14.3 → 0.15.0

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 (280) hide show
  1. package/CHANGELOG.md +676 -0
  2. package/README.md +6 -4
  3. package/dist/{codegen.go/src/core/clientFactory.d.ts → src/codegen/core/client-factory.d.ts} +2 -2
  4. package/dist/src/codegen/core/client-factory.d.ts.map +1 -0
  5. package/dist/{codegen.go/src/core/clientFactory.js → src/codegen/core/client-factory.js} +29 -24
  6. package/dist/src/codegen/core/client-factory.js.map +1 -0
  7. package/dist/{codegen.go/src/core/cloudConfig.d.ts → src/codegen/core/cloud-config.d.ts} +2 -2
  8. package/dist/src/codegen/core/cloud-config.d.ts.map +1 -0
  9. package/dist/{codegen.go/src/core/cloudConfig.js → src/codegen/core/cloud-config.js} +10 -9
  10. package/dist/src/codegen/core/cloud-config.js.map +1 -0
  11. package/dist/{codegen.go/src → src/codegen}/core/constants.d.ts +1 -1
  12. package/dist/src/codegen/core/constants.d.ts.map +1 -0
  13. package/dist/{codegen.go/src → src/codegen}/core/constants.js +9 -9
  14. package/dist/src/codegen/core/constants.js.map +1 -0
  15. package/dist/{codegen.go/src → src/codegen}/core/errors.d.ts +1 -1
  16. package/dist/src/codegen/core/errors.d.ts.map +1 -0
  17. package/dist/src/codegen/core/errors.js.map +1 -0
  18. package/dist/{codegen.go/src → src/codegen}/core/example.d.ts +1 -1
  19. package/dist/src/codegen/core/example.d.ts.map +1 -0
  20. package/dist/{codegen.go/src → src/codegen}/core/example.js +155 -140
  21. package/dist/src/codegen/core/example.js.map +1 -0
  22. package/dist/{codegen.go/src → src/codegen}/core/gomod.d.ts +1 -1
  23. package/dist/src/codegen/core/gomod.d.ts.map +1 -0
  24. package/dist/{codegen.go/src → src/codegen}/core/gomod.js +8 -8
  25. package/dist/src/codegen/core/gomod.js.map +1 -0
  26. package/dist/{codegen.go/src → src/codegen}/core/helpers.d.ts +5 -5
  27. package/dist/src/codegen/core/helpers.d.ts.map +1 -0
  28. package/dist/{codegen.go/src → src/codegen}/core/helpers.js +308 -284
  29. package/dist/src/codegen/core/helpers.js.map +1 -0
  30. package/dist/{codegen.go/src → src/codegen}/core/imports.d.ts +1 -1
  31. package/dist/src/codegen/core/imports.d.ts.map +1 -0
  32. package/dist/{codegen.go/src → src/codegen}/core/imports.js +19 -18
  33. package/dist/src/codegen/core/imports.js.map +1 -0
  34. package/dist/{codegen.go/src → src/codegen}/core/interfaces.d.ts +1 -1
  35. package/dist/src/codegen/core/interfaces.d.ts.map +1 -0
  36. package/dist/{codegen.go/src → src/codegen}/core/interfaces.js +5 -5
  37. package/dist/src/codegen/core/interfaces.js.map +1 -0
  38. package/dist/{codegen.go/src → src/codegen}/core/license.d.ts +1 -1
  39. package/dist/src/codegen/core/license.d.ts.map +1 -0
  40. package/dist/src/codegen/core/license.js.map +1 -0
  41. package/dist/src/codegen/core/metadata.d.ts +3 -0
  42. package/dist/src/codegen/core/metadata.d.ts.map +1 -0
  43. package/dist/{codegen.go/src → src/codegen}/core/metadata.js +1 -1
  44. package/dist/src/codegen/core/metadata.js.map +1 -0
  45. package/dist/{codegen.go/src → src/codegen}/core/models.d.ts +2 -2
  46. package/dist/src/codegen/core/models.d.ts.map +1 -0
  47. package/dist/{codegen.go/src → src/codegen}/core/models.js +212 -181
  48. package/dist/src/codegen/core/models.js.map +1 -0
  49. package/dist/{codegen.go/src → src/codegen}/core/operations.d.ts +1 -1
  50. package/dist/src/codegen/core/operations.d.ts.map +1 -0
  51. package/dist/{codegen.go/src → src/codegen}/core/operations.js +383 -360
  52. package/dist/src/codegen/core/operations.js.map +1 -0
  53. package/dist/{codegen.go/src → src/codegen}/core/options.d.ts +1 -1
  54. package/dist/src/codegen/core/options.d.ts.map +1 -0
  55. package/dist/{codegen.go/src → src/codegen}/core/options.js +11 -11
  56. package/dist/src/codegen/core/options.js.map +1 -0
  57. package/dist/{codegen.go/src → src/codegen}/core/polymorphics.d.ts +1 -1
  58. package/dist/src/codegen/core/polymorphics.d.ts.map +1 -0
  59. package/dist/{codegen.go/src → src/codegen}/core/polymorphics.js +30 -30
  60. package/dist/src/codegen/core/polymorphics.js.map +1 -0
  61. package/dist/{codegen.go/src → src/codegen}/core/responses.d.ts +1 -1
  62. package/dist/src/codegen/core/responses.d.ts.map +1 -0
  63. package/dist/{codegen.go/src → src/codegen}/core/responses.js +28 -28
  64. package/dist/src/codegen/core/responses.js.map +1 -0
  65. package/dist/{codegen.go/src → src/codegen}/core/version.d.ts +1 -1
  66. package/dist/src/codegen/core/version.d.ts.map +1 -0
  67. package/dist/{codegen.go/src → src/codegen}/core/version.js +4 -4
  68. package/dist/src/codegen/core/version.js.map +1 -0
  69. package/dist/{codegen.go/src/core/xmlAdditionalProps.d.ts → src/codegen/core/xml-additional-props.d.ts} +2 -2
  70. package/dist/src/codegen/core/xml-additional-props.d.ts.map +1 -0
  71. package/dist/{codegen.go/src/core/xmlAdditionalProps.js → src/codegen/core/xml-additional-props.js} +11 -11
  72. package/dist/src/codegen/core/xml-additional-props.js.map +1 -0
  73. package/dist/{codegen.go/src → src/codegen}/emitter.d.ts +2 -2
  74. package/dist/src/codegen/emitter.d.ts.map +1 -0
  75. package/dist/{codegen.go/src → src/codegen}/emitter.js +58 -54
  76. package/dist/src/codegen/emitter.js.map +1 -0
  77. package/dist/{codegen.go/src → src/codegen}/fake/factory.d.ts +1 -1
  78. package/dist/src/codegen/fake/factory.d.ts.map +1 -0
  79. package/dist/{codegen.go/src → src/codegen}/fake/factory.js +22 -21
  80. package/dist/src/codegen/fake/factory.js.map +1 -0
  81. package/dist/{codegen.go/src → src/codegen}/fake/internal.d.ts +1 -1
  82. package/dist/src/codegen/fake/internal.d.ts.map +1 -0
  83. package/dist/{codegen.go/src → src/codegen}/fake/internal.js +13 -13
  84. package/dist/src/codegen/fake/internal.js.map +1 -0
  85. package/dist/{codegen.go/src → src/codegen}/fake/servers.d.ts +1 -1
  86. package/dist/src/codegen/fake/servers.d.ts.map +1 -0
  87. package/dist/{codegen.go/src → src/codegen}/fake/servers.js +332 -300
  88. package/dist/src/codegen/fake/servers.js.map +1 -0
  89. package/dist/src/codegen/index.d.ts +4 -0
  90. package/dist/src/codegen/index.d.ts.map +1 -0
  91. package/dist/{codegen.go/src → src/codegen}/index.js +3 -3
  92. package/dist/src/codegen/index.js.map +1 -0
  93. package/dist/{codemodel.go/src → src/codemodel}/client.d.ts +25 -25
  94. package/dist/src/codemodel/client.d.ts.map +1 -0
  95. package/dist/{codemodel.go/src → src/codemodel}/client.js +32 -32
  96. package/dist/src/codemodel/client.js.map +1 -0
  97. package/dist/{codemodel.go/src/codeModel.d.ts → src/codemodel/code-model.d.ts} +3 -3
  98. package/dist/src/codemodel/code-model.d.ts.map +1 -0
  99. package/dist/{codemodel.go/src/codeModel.js → src/codemodel/code-model.js} +1 -1
  100. package/dist/src/codemodel/code-model.js.map +1 -0
  101. package/dist/{codemodel.go/src → src/codemodel}/errors.d.ts +5 -5
  102. package/dist/src/codemodel/errors.d.ts.map +1 -0
  103. package/dist/{codemodel.go/src → src/codemodel}/errors.js +1 -1
  104. package/dist/src/codemodel/errors.js.map +1 -0
  105. package/dist/{codemodel.go/src → src/codemodel}/examples.d.ts +13 -13
  106. package/dist/src/codemodel/examples.d.ts.map +1 -0
  107. package/dist/{codemodel.go/src → src/codemodel}/examples.js +10 -10
  108. package/dist/src/codemodel/examples.js.map +1 -0
  109. package/dist/src/codemodel/index.d.ts +9 -0
  110. package/dist/src/codemodel/index.d.ts.map +1 -0
  111. package/dist/{codemodel.go/src → src/codemodel}/index.js +8 -8
  112. package/dist/src/codemodel/index.js.map +1 -0
  113. package/dist/{codemodel.go/src → src/codemodel}/method.d.ts +1 -1
  114. package/dist/src/codemodel/method.d.ts.map +1 -0
  115. package/dist/src/codemodel/method.js.map +1 -0
  116. package/dist/{codemodel.go/src → src/codemodel}/module.d.ts +8 -8
  117. package/dist/src/codemodel/module.d.ts.map +1 -0
  118. package/dist/{codemodel.go/src → src/codemodel}/module.js +12 -11
  119. package/dist/src/codemodel/module.js.map +1 -0
  120. package/dist/{codemodel.go/src → src/codemodel}/param.d.ts +26 -26
  121. package/dist/src/codemodel/param.d.ts.map +1 -0
  122. package/dist/{codemodel.go/src → src/codemodel}/param.js +56 -53
  123. package/dist/src/codemodel/param.js.map +1 -0
  124. package/dist/{codemodel.go/src → src/codemodel}/result.d.ts +15 -15
  125. package/dist/src/codemodel/result.d.ts.map +1 -0
  126. package/dist/{codemodel.go/src → src/codemodel}/result.js +27 -27
  127. package/dist/src/codemodel/result.js.map +1 -0
  128. package/dist/{codemodel.go/src → src/codemodel}/type.d.ts +30 -30
  129. package/dist/src/codemodel/type.d.ts.map +1 -0
  130. package/dist/{codemodel.go/src → src/codemodel}/type.js +77 -76
  131. package/dist/src/codemodel/type.js.map +1 -0
  132. package/dist/{typespec-go/src → src}/emitter.d.ts +2 -3
  133. package/dist/src/emitter.d.ts.map +1 -0
  134. package/dist/{typespec-go/src → src}/emitter.js +56 -45
  135. package/dist/src/emitter.js.map +1 -0
  136. package/dist/src/index.d.ts +3 -0
  137. package/dist/src/index.d.ts.map +1 -0
  138. package/dist/{typespec-go/src → src}/index.js +2 -2
  139. package/dist/src/index.js.map +1 -0
  140. package/dist/{typespec-go/src → src}/lib.d.ts +16 -16
  141. package/dist/src/lib.d.ts.map +1 -0
  142. package/dist/{typespec-go/src → src}/lib.js +60 -61
  143. package/dist/src/lib.js.map +1 -0
  144. package/dist/src/naming/index.d.ts +3 -0
  145. package/dist/src/naming/index.d.ts.map +1 -0
  146. package/dist/{naming.go/src → src/naming}/index.js +2 -2
  147. package/dist/src/naming/index.js.map +1 -0
  148. package/dist/src/naming/mappings.d.ts.map +1 -0
  149. package/dist/src/naming/mappings.js +294 -0
  150. package/dist/src/naming/mappings.js.map +1 -0
  151. package/dist/src/naming/naming.d.ts.map +1 -0
  152. package/dist/{naming.go/src → src/naming}/naming.js +10 -10
  153. package/dist/src/naming/naming.js.map +1 -0
  154. package/dist/{typespec-go/src → src}/tcgcadapter/adapter.d.ts +3 -3
  155. package/dist/src/tcgcadapter/adapter.d.ts.map +1 -0
  156. package/dist/{typespec-go/src → src}/tcgcadapter/adapter.js +35 -31
  157. package/dist/src/tcgcadapter/adapter.js.map +1 -0
  158. package/dist/{typespec-go/src → src}/tcgcadapter/clients.d.ts +1 -1
  159. package/dist/src/tcgcadapter/clients.d.ts.map +1 -0
  160. package/dist/{typespec-go/src → src}/tcgcadapter/clients.js +360 -310
  161. package/dist/src/tcgcadapter/clients.js.map +1 -0
  162. package/dist/{typespec-go/src → src}/tcgcadapter/errors.d.ts +2 -2
  163. package/dist/src/tcgcadapter/errors.d.ts.map +1 -0
  164. package/dist/{typespec-go/src → src}/tcgcadapter/errors.js +1 -1
  165. package/dist/src/tcgcadapter/errors.js.map +1 -0
  166. package/dist/{typespec-go/src → src}/tcgcadapter/helpers.d.ts +3 -3
  167. package/dist/src/tcgcadapter/helpers.d.ts.map +1 -0
  168. package/dist/{typespec-go/src → src}/tcgcadapter/helpers.js +41 -30
  169. package/dist/src/tcgcadapter/helpers.js.map +1 -0
  170. package/dist/{typespec-go/src → src}/tcgcadapter/metadata.d.ts +2 -2
  171. package/dist/src/tcgcadapter/metadata.d.ts.map +1 -0
  172. package/dist/src/tcgcadapter/metadata.js +47 -0
  173. package/dist/src/tcgcadapter/metadata.js.map +1 -0
  174. package/dist/{typespec-go/src → src}/tcgcadapter/types.d.ts +2 -2
  175. package/dist/src/tcgcadapter/types.d.ts.map +1 -0
  176. package/dist/{typespec-go/src → src}/tcgcadapter/types.js +208 -191
  177. package/dist/src/tcgcadapter/types.js.map +1 -0
  178. package/package.json +77 -62
  179. package/dist/codegen.go/src/core/clientFactory.d.ts.map +0 -1
  180. package/dist/codegen.go/src/core/clientFactory.js.map +0 -1
  181. package/dist/codegen.go/src/core/cloudConfig.d.ts.map +0 -1
  182. package/dist/codegen.go/src/core/cloudConfig.js.map +0 -1
  183. package/dist/codegen.go/src/core/constants.d.ts.map +0 -1
  184. package/dist/codegen.go/src/core/constants.js.map +0 -1
  185. package/dist/codegen.go/src/core/errors.d.ts.map +0 -1
  186. package/dist/codegen.go/src/core/errors.js.map +0 -1
  187. package/dist/codegen.go/src/core/example.d.ts.map +0 -1
  188. package/dist/codegen.go/src/core/example.js.map +0 -1
  189. package/dist/codegen.go/src/core/gomod.d.ts.map +0 -1
  190. package/dist/codegen.go/src/core/gomod.js.map +0 -1
  191. package/dist/codegen.go/src/core/helpers.d.ts.map +0 -1
  192. package/dist/codegen.go/src/core/helpers.js.map +0 -1
  193. package/dist/codegen.go/src/core/imports.d.ts.map +0 -1
  194. package/dist/codegen.go/src/core/imports.js.map +0 -1
  195. package/dist/codegen.go/src/core/interfaces.d.ts.map +0 -1
  196. package/dist/codegen.go/src/core/interfaces.js.map +0 -1
  197. package/dist/codegen.go/src/core/license.d.ts.map +0 -1
  198. package/dist/codegen.go/src/core/license.js.map +0 -1
  199. package/dist/codegen.go/src/core/metadata.d.ts +0 -3
  200. package/dist/codegen.go/src/core/metadata.d.ts.map +0 -1
  201. package/dist/codegen.go/src/core/metadata.js.map +0 -1
  202. package/dist/codegen.go/src/core/models.d.ts.map +0 -1
  203. package/dist/codegen.go/src/core/models.js.map +0 -1
  204. package/dist/codegen.go/src/core/operations.d.ts.map +0 -1
  205. package/dist/codegen.go/src/core/operations.js.map +0 -1
  206. package/dist/codegen.go/src/core/options.d.ts.map +0 -1
  207. package/dist/codegen.go/src/core/options.js.map +0 -1
  208. package/dist/codegen.go/src/core/polymorphics.d.ts.map +0 -1
  209. package/dist/codegen.go/src/core/polymorphics.js.map +0 -1
  210. package/dist/codegen.go/src/core/responses.d.ts.map +0 -1
  211. package/dist/codegen.go/src/core/responses.js.map +0 -1
  212. package/dist/codegen.go/src/core/version.d.ts.map +0 -1
  213. package/dist/codegen.go/src/core/version.js.map +0 -1
  214. package/dist/codegen.go/src/core/xmlAdditionalProps.d.ts.map +0 -1
  215. package/dist/codegen.go/src/core/xmlAdditionalProps.js.map +0 -1
  216. package/dist/codegen.go/src/emitter.d.ts.map +0 -1
  217. package/dist/codegen.go/src/emitter.js.map +0 -1
  218. package/dist/codegen.go/src/fake/factory.d.ts.map +0 -1
  219. package/dist/codegen.go/src/fake/factory.js.map +0 -1
  220. package/dist/codegen.go/src/fake/internal.d.ts.map +0 -1
  221. package/dist/codegen.go/src/fake/internal.js.map +0 -1
  222. package/dist/codegen.go/src/fake/servers.d.ts.map +0 -1
  223. package/dist/codegen.go/src/fake/servers.js.map +0 -1
  224. package/dist/codegen.go/src/index.d.ts +0 -4
  225. package/dist/codegen.go/src/index.d.ts.map +0 -1
  226. package/dist/codegen.go/src/index.js.map +0 -1
  227. package/dist/codemodel.go/src/client.d.ts.map +0 -1
  228. package/dist/codemodel.go/src/client.js.map +0 -1
  229. package/dist/codemodel.go/src/codeModel.d.ts.map +0 -1
  230. package/dist/codemodel.go/src/codeModel.js.map +0 -1
  231. package/dist/codemodel.go/src/errors.d.ts.map +0 -1
  232. package/dist/codemodel.go/src/errors.js.map +0 -1
  233. package/dist/codemodel.go/src/examples.d.ts.map +0 -1
  234. package/dist/codemodel.go/src/examples.js.map +0 -1
  235. package/dist/codemodel.go/src/index.d.ts +0 -9
  236. package/dist/codemodel.go/src/index.d.ts.map +0 -1
  237. package/dist/codemodel.go/src/index.js.map +0 -1
  238. package/dist/codemodel.go/src/method.d.ts.map +0 -1
  239. package/dist/codemodel.go/src/method.js.map +0 -1
  240. package/dist/codemodel.go/src/module.d.ts.map +0 -1
  241. package/dist/codemodel.go/src/module.js.map +0 -1
  242. package/dist/codemodel.go/src/param.d.ts.map +0 -1
  243. package/dist/codemodel.go/src/param.js.map +0 -1
  244. package/dist/codemodel.go/src/result.d.ts.map +0 -1
  245. package/dist/codemodel.go/src/result.js.map +0 -1
  246. package/dist/codemodel.go/src/type.d.ts.map +0 -1
  247. package/dist/codemodel.go/src/type.js.map +0 -1
  248. package/dist/naming.go/src/index.d.ts +0 -3
  249. package/dist/naming.go/src/index.d.ts.map +0 -1
  250. package/dist/naming.go/src/index.js.map +0 -1
  251. package/dist/naming.go/src/mappings.d.ts.map +0 -1
  252. package/dist/naming.go/src/mappings.js +0 -294
  253. package/dist/naming.go/src/mappings.js.map +0 -1
  254. package/dist/naming.go/src/naming.d.ts.map +0 -1
  255. package/dist/naming.go/src/naming.js.map +0 -1
  256. package/dist/typespec-go/src/emitter.d.ts.map +0 -1
  257. package/dist/typespec-go/src/emitter.js.map +0 -1
  258. package/dist/typespec-go/src/index.d.ts +0 -3
  259. package/dist/typespec-go/src/index.d.ts.map +0 -1
  260. package/dist/typespec-go/src/index.js.map +0 -1
  261. package/dist/typespec-go/src/lib.d.ts.map +0 -1
  262. package/dist/typespec-go/src/lib.js.map +0 -1
  263. package/dist/typespec-go/src/tcgcadapter/adapter.d.ts.map +0 -1
  264. package/dist/typespec-go/src/tcgcadapter/adapter.js.map +0 -1
  265. package/dist/typespec-go/src/tcgcadapter/clients.d.ts.map +0 -1
  266. package/dist/typespec-go/src/tcgcadapter/clients.js.map +0 -1
  267. package/dist/typespec-go/src/tcgcadapter/errors.d.ts.map +0 -1
  268. package/dist/typespec-go/src/tcgcadapter/errors.js.map +0 -1
  269. package/dist/typespec-go/src/tcgcadapter/helpers.d.ts.map +0 -1
  270. package/dist/typespec-go/src/tcgcadapter/helpers.js.map +0 -1
  271. package/dist/typespec-go/src/tcgcadapter/metadata.d.ts.map +0 -1
  272. package/dist/typespec-go/src/tcgcadapter/metadata.js +0 -21
  273. package/dist/typespec-go/src/tcgcadapter/metadata.js.map +0 -1
  274. package/dist/typespec-go/src/tcgcadapter/types.d.ts.map +0 -1
  275. package/dist/typespec-go/src/tcgcadapter/types.js.map +0 -1
  276. /package/dist/{codegen.go/src → src/codegen}/core/errors.js +0 -0
  277. /package/dist/{codegen.go/src → src/codegen}/core/license.js +0 -0
  278. /package/dist/{codemodel.go/src → src/codemodel}/method.js +0 -0
  279. /package/dist/{naming.go/src → src/naming}/mappings.d.ts +0 -0
  280. /package/dist/{naming.go/src → src/naming}/naming.d.ts +0 -0
package/CHANGELOG.md ADDED
@@ -0,0 +1,676 @@
1
+ # Release History
2
+
3
+ ## 0.15.0
4
+
5
+ ### Features
6
+
7
+ - [ce2380e](https://github.com/Azure/typespec-azure/commit/ce2380eaf2cb67dba69e2b5c9fa920eb0fdec71a) Upgrade dependency for `@azure-tools/typespec-go` package.
8
+
9
+
10
+ ## 0.14.3 (2026-07-08)
11
+
12
+ ### Bugs Fixed
13
+
14
+ * Fixed adapting `Access.internal` operations that return a polymorphic type.
15
+
16
+ ### Other Changes
17
+
18
+ * Updated to the latest tsp toolset.
19
+ * Generated JSON unmarshalling errors now use `%s` with `err.Error()` instead of `%v` to avoid linters such as `errorlint` from flagging the format string.
20
+
21
+ ## 0.14.2 (2026-06-08)
22
+
23
+ ### Features Added
24
+
25
+ * Honor `exact()` on `@clientName` targets: models, enums, model fields, parameters, response headers, client names, service method names, and individual enum value names. As before, when a name is marked as exact, it is preserved verbatim and not subjected to built-in naming canonization.
26
+ * Time in `RFC7231` format now uses the `datetime.RFC7231` type in `azcore/runtime`.
27
+
28
+ ### Bugs Fixed
29
+
30
+ * Fixed an issue where two fake server types whose names differed only by a trailing duplicate word (e.g. `AuthorizationServer` and `AuthorizationServerServer`) generated the same `TransportInterceptor` variable name, producing a duplicate declaration in the `fake` package.
31
+ * Fixed setting the `Content-Type` header from an explicit parameter for modeled body parameters.
32
+
33
+ ### Other Changes
34
+
35
+ * Updated to the latest TCGC.
36
+ * Updated the minimum version of `azcore` to `v1.22.0`.
37
+
38
+ ## 0.14.1 (2026-05-20)
39
+
40
+ ### Bugs Fixed
41
+
42
+ * Fixed example generation incorrectly passing required parameter group members as optional parameters instead of rendering them as struct literals.
43
+ * Generate a mock value for client parameters in examples when the operation doesn't use the parameter.
44
+ * Fixed error when an operation's example contained a literal `Content-Type` response header that was omitted from the response envelope.
45
+
46
+ ## 0.14.0 (2026-05-18)
47
+
48
+ ### Breaking Changes
49
+
50
+ * Omit the literal `Content-Type` response header value for modeled responses.
51
+ * Added `preserveContentTypeHeader` as a supported `@clientOption` to override this behavior per method.
52
+
53
+ ## 0.13.0 (2026-05-14)
54
+
55
+ ### Breaking Changes
56
+
57
+ * Fixed an issue causing client accessor methods to be emitted for certain ARM clients.
58
+
59
+ ### Bugs Fixed
60
+
61
+ * Fixed a regression introduced in `4bf93f9` that can cause some service methods to use the wrong API version.
62
+
63
+ ## 0.12.0 (2026-05-12)
64
+
65
+ ### Breaking Changes
66
+
67
+ * The minimum Node version has moved from `20.x` to `22.x`.
68
+
69
+ ### Bugs Fixed
70
+
71
+ * Fixed cleanup to remove legacy autorest-generated example files during regeneration.
72
+ * Fixed typed pointer generation for literal-typed values in generated examples (for example, `to.Ptr[int32](1)` instead of `to.Ptr(1)`).
73
+ * Fixed example generation adding unnecessary pointer (`&`) for method parameters typed as a concrete polymorphic model.
74
+ * Fixed example response using wrong field name and missing pointer for polymorphic result types.
75
+
76
+ ### Other Changes
77
+
78
+ * Updated to the latest tsp toolset.
79
+
80
+ ## 0.11.2 (2026-05-07)
81
+
82
+ ### Bugs Fixed
83
+
84
+ * Operations with a binary body and parameterized `Content-Type` correctly utilize the parameterized value.
85
+ * Improved detection for operations that consume `multipart` content.
86
+ * Encoding of query parameters replaces `+` with `%20` which is the correct URI encoding for space characters.
87
+
88
+ ## 0.11.1 (2026-04-29)
89
+
90
+ ### Bugs Fixed
91
+
92
+ * Fixed handling of `multipart/form` operations.
93
+ * Fake servers will correctly dispatch calls to all child servers, not just immediate ones.
94
+ * Client-side default values for extensible enums that aren't in the predefined set no longer cause a crash.
95
+ * Fixed incorrect codegen for operations that return scalar types as `text/plain`.
96
+
97
+ ### Other Changes
98
+
99
+ * Fixed sorting of case statements in polymorphic helpers.
100
+ * Client API version values are now emitted as a `const` instead of repeated per method.
101
+ * The API version doc string has been moved to the client definition instead of per method.
102
+ * Updated to the latest tsp toolset.
103
+
104
+ ## 0.11.0 (2026-04-24)
105
+
106
+ ### Breaking Changes
107
+
108
+ * Removed the `iso` acronym override from the naming conversion to avoid breaking changes during typespec migration (e.g. `Iso8601` no longer becomes `ISO8601`).
109
+
110
+ ### Bugs Fixed
111
+
112
+ * Fixed codegen for pageable operations that use a continuation token.
113
+ * Removed incorrect empty path check for path parameters that specify `@clientDefaultValue`.
114
+
115
+ ### Features Added
116
+
117
+ * Added support for the `@deserializeEmptyStringAsNull` decorator.
118
+ * Model properties with the `@clientDefaultValue` decorator will have a default value set in their marshaler.
119
+
120
+ ### Other Changes
121
+
122
+ * Updated to the latest tsp toolset.
123
+
124
+ ## 0.10.7 (2026-04-14)
125
+
126
+ ### Bugs Fixed
127
+
128
+ * Fixed typo in generated LRO example error message: "failed to pull the result" is now "failed to poll the result".
129
+ * Fixed incorrect pointer usage for model results in generated example response bodies.
130
+ * Fixed some incorrect un/marshaling for XML payloads.
131
+ * Fixed a race condition in fake servers.
132
+ * Fixed incorrect parameter name when it starts with an invalid identifier character.
133
+ * Fake servers no longer double-decode query parameters.
134
+
135
+ ### Other Changes
136
+
137
+ * Updated to the latest tsp toolset.
138
+
139
+ ## 0.10.6 (2026-04-08)
140
+
141
+ ### Other Changes
142
+
143
+ * Use `datetime` helpers when formatting `time.Time` parameters.
144
+ * Updated to the latest tsp toolset.
145
+ * Minor cleanup of generated code for fakes.
146
+
147
+ ## 0.10.5 (2026-04-01)
148
+
149
+ ### Bugs Fixed
150
+
151
+ * Fixed example generation for operations returning streaming binary responses (`Body io.ReadCloser`).
152
+ * Fixed incorrect field name resolution in example generation for non-model result types.
153
+ * Fixed incorrect handling of XML tags in some cases.
154
+
155
+ ### Features Added
156
+
157
+ * Added support for specific `@clientOption` decorators.
158
+ * `monomorphicResponseFieldName` on operations that return a monomorphic response to customize the response field name.
159
+ * `omitSerdeMethods` on models to skip emitting un/marshalers.
160
+ * `responseEnvelopeName` on operations to specify the name of the response envelope.
161
+
162
+ ### Other Changes
163
+
164
+ * Updated to the latest tsp toolset.
165
+
166
+ ## 0.10.4 (2026-03-26)
167
+
168
+ ### Bugs Fixed
169
+
170
+ * Fixed discriminated types without subtypes not being generated as polymorphic types.
171
+ * Fixed some corner-cases when (un)marshaling slices in XML format.
172
+ * Fixed missing XML unmarshaler for `map` helpers in some cases.
173
+
174
+ ### Other Changes
175
+
176
+ * Updated the minimum version of Go to `v1.25.0`.
177
+ * Updated to the latest tsp toolset.
178
+
179
+ ## 0.10.3 (2026-03-19)
180
+
181
+ ### Bugs Fixed
182
+
183
+ * Fixed missing propagation of parent client parameters to sub-clients created via client accessor methods.
184
+ * Fixed incorrect inclusion of literal parameters in generated example code.
185
+ * Fixed an issue that prevented `Azure.Core.eTag` types from being used in request/response headers.
186
+
187
+ ### Other Changes
188
+
189
+ * Updated to the latest tsp toolset.
190
+
191
+ ## 0.10.2 (2026-03-06)
192
+
193
+ ### Bugs Fixed
194
+
195
+ * Fixed incorrect inclusion of response headers in the response envelope for LROs
196
+ * Fixed generation of `x-ms-meta` and `x-ms-or` headers
197
+
198
+ ## 0.10.1 (2026-02-27)
199
+
200
+ ### Bugs Fixed
201
+
202
+ * Fixed duplicate definition of `fake.initServer` that can happen in some cases.
203
+ * Fixed incorrect propagation of parent client parameters that aren't applicable to the child client.
204
+
205
+ ### Features Added
206
+
207
+ * Added support for multiple response types for an operation.
208
+
209
+ ### Other Changes
210
+
211
+ * Updated to the latest tsp toolset.
212
+ * This includes the latest `TypeSpec.Http` lib that fixes reporting the `content-type` header for `HEAD` operations.
213
+
214
+ ## 0.10.0 (2026-02-12)
215
+
216
+ ### Breaking Changes
217
+
218
+ * Fixed incorrect naming for response headers.
219
+
220
+ ### Other Changes
221
+
222
+ * Improved diagnostic messages to include detail message for known issues.
223
+ * Adjust the parameter group generation logic to only emit parameter groups when there is at least one required parameter in the group.
224
+ * Allow customized datetime encoding format
225
+ * Updated to the latest tsp toolset.
226
+
227
+ ## 0.9.2 (2026-01-29)
228
+
229
+ ### Bugs Fixed
230
+
231
+ * Fixed incorrect example generation for unknown type.
232
+ * Fixed detection logic for streaming responses.
233
+
234
+ ### Other Changes
235
+
236
+ * Updated to the latest tsp toolset.
237
+
238
+ ## 0.9.1 (2026-01-15)
239
+
240
+ ### Bugs Fixed
241
+
242
+ * Fixed name collision issue when a union type and a model type have the same name after package prefix trimming.
243
+
244
+ ### Other Changes
245
+
246
+ * Updated to the latest tsp toolset.
247
+ * Move time helpers to azcore.
248
+ * Add new line at the end of metadata file.
249
+
250
+ ## 0.9.0 (2026-01-06)
251
+
252
+ ### Breaking Changes
253
+
254
+ * Optional streaming bodies are no longer forced to be required.
255
+
256
+ ### Bugs Fixed
257
+
258
+ * Fixed incorrect package name when module version is greater than v1.
259
+
260
+ ### Features Added
261
+
262
+ * Added support for client initializers with parameters.
263
+
264
+ ### Other Changes
265
+
266
+ * Updated to the latest TCGC to support multiple services and add related tests.
267
+
268
+ ## 0.8.8 (2025-12-17)
269
+
270
+ ### Bugs Fixed
271
+
272
+ * Fixed mismatch for LRO polling headers in example generation.
273
+
274
+ ### Features Added
275
+
276
+ * Added support for pageable LROs.
277
+
278
+ ## 0.8.7 (2025-12-10)
279
+
280
+ ### Bugs Fixed
281
+
282
+ * Generate fake values for required parameters when missing example values.
283
+
284
+ ### Other Changes
285
+
286
+ * Updated to the latest tsp toolset.
287
+
288
+ ## 0.8.6 (2025-11-25)
289
+
290
+ ### Bugs Fixed
291
+
292
+ * Fixed etag example generation for escape string.
293
+
294
+ ### Features Added
295
+
296
+ * Added support for grouped params via override.
297
+
298
+ ### Other Changes
299
+
300
+ * Updated the minimum version of Go to `v1.24.0`.
301
+ * Execute `gofmt -s -w .` instead of `gofmt -w .` to keep consistent with SDK repo's CI check.
302
+
303
+ ## 0.8.5 (2025-11-18)
304
+
305
+ ### Bugs Fixed
306
+
307
+ * Fixed improper handling of spread params in some cases which would cause code generation to fail.
308
+ * Fixed missing package prefix for types in spread params models used in fakes.
309
+ * Fixed handling of supplemental endpoint data that could cause an unused import of `strings` in some cases.
310
+
311
+ ## 0.8.4 (2025-11-13)
312
+
313
+ ### Bugs Fixed
314
+
315
+ * Omit client options type when `omit-constructors` is set to true
316
+
317
+ ### Features Added
318
+
319
+ * Emit `LICENSE.txt` file (defaults to MIT license with a Microsoft Copyright).
320
+ * Added support for `nextLinkVerb` for pageable operations.
321
+
322
+ ### Other Changes
323
+
324
+ * Updated the minimum version of `azcore` to `v1.20.0`.
325
+ * Updated to the latest tsp toolset.
326
+
327
+ ## 0.8.3 (2025-10-14)
328
+
329
+ ### Bugs Fixed
330
+
331
+ * Fixed missing empty path param check for unencoded path params.
332
+ * Emit empty path param check for path collection parameters.
333
+ * Fixed incorrect handling of optional path parameters.
334
+
335
+ ### Features Added
336
+
337
+ * Clean up all generated Go files before emitting any new files.
338
+
339
+ ### Other Changes
340
+
341
+ * Updated to the latest tsp toolset.
342
+ * Moved handling of templated endpoints to client constructors.
343
+
344
+ ## 0.8.2 (2025-09-10)
345
+
346
+ ### Bugs Fixed
347
+
348
+ * Fixed some edge cases where a method parameter's optionality wasn't correctly handled.
349
+
350
+ ### Other Changes
351
+
352
+ * Updated to the latest tsp toolset.
353
+
354
+ ## 0.8.1 (2025-09-04)
355
+
356
+ ### Bugs Fixed
357
+
358
+ * Fix polymorphic type result of response generation.
359
+
360
+ ### Features Added
361
+
362
+ * Emit client constructors and corresponding client options type.
363
+ * Note that when using switch `containing-module`, client constructors and options type are not emitted.
364
+ * Added switch `omit-constructors` to disable this feature.
365
+
366
+ ### Other Changes
367
+
368
+ * Updated the minimum version of `azcore` to `v1.19.0`.
369
+ * Report a `NameCollision` diagnostic if two `const` values have the same name.
370
+ * Updated to the latest tsp toolset.
371
+
372
+ ## 0.8.0 (2025-08-12)
373
+
374
+ ### Breaking Changes
375
+
376
+ * The `module-version` switch has been removed.
377
+ * For new modules, the `moduleVersion` constant will have an initial value of `v0.1.0`.
378
+ * For existing modules, the value of `moduleVersion` is externally maintained.
379
+
380
+ ### Features Added
381
+
382
+ * The `module` switch now accepts a major version suffix (e.g. `module=mymodule/v2`).
383
+ * Added switch `containing-module` for scenarios where the emitted code is a package within an existing module. No `go.mod` or `version.go` file is emitted for this scenario.
384
+ * Support multi-layer discriminator.
385
+
386
+ ### Bugs Fixed
387
+
388
+ * For internal enums, don't export the "possible values" helper function.
389
+ * Fixed missing import of the `io` package in fakes when `rawjson-as-bytes` is enabled.
390
+ * Fixed linter error in certain `UnmarshalJSON` implementations due to unused `var err error`.
391
+
392
+ ### Other Changes
393
+
394
+ * Non-ARM clients always have an `endpoint` field.
395
+ * Only rename the `options` parameter when it collides with another required parameter with the same name.
396
+ * Improve generic doc comment for clients when the name is simply `Client`.
397
+ * Updated to the latest version of TypeSpec libraries.
398
+
399
+ ## 0.7.0 (2025-07-17)
400
+
401
+ ### Breaking Changes
402
+
403
+ * The `module-version` switch is now used to seed the value for the `moduleVersion` constant. It will _not_ change an existing value.
404
+ * If not specified, it has a default value of `0.1.0`.
405
+
406
+ ### Other Changes
407
+
408
+ * Updated to the latest tsp toolset.
409
+ * The `moduleName` and `moduleVersion` constants have been moved out of `constants.go` and into `version.go`.
410
+ * The `version.go` file is emitted for all SDK flavors.
411
+
412
+ ## 0.6.0 (2025-07-15)
413
+
414
+ ### Breaking Changes
415
+
416
+ * Fixed some cases where a client name could stutter.
417
+ * Force the body paramter to be required for `PATCH` and `PUT` operations.
418
+
419
+ ### Features Added
420
+
421
+ * Added switch `go-generate` to invoke post-generation scripts.
422
+ * The value is an output-relative path to a `.go` file containing `//go:generate` directives.
423
+ * If Go tools are not on the path, and `go-generate` was specified, then an error is produced.
424
+
425
+ ### Other Changes
426
+
427
+ * When Go tools are found on the path, the following steps happen after successfully generating code and any `go-generate` script is invoked.
428
+ * Execute `gofmt -w .` followed by `go mod tidy` in the output directory.
429
+ * If Go tools are not found, the above steps are skipped and a warning is displayed.
430
+
431
+ ## 0.5.1 (2025-06-26)
432
+
433
+ ### Other Changes
434
+
435
+ * Updated to the latest tcgc.
436
+
437
+ ## 0.5.0 (2025-06-23)
438
+
439
+ ### Breaking Changes
440
+
441
+ * Fixed field names for optional parameters and monomorphic responses to align with `autorest.go` code generator.
442
+
443
+ ## 0.4.12 (2025-06-11)
444
+
445
+ ### Features Add
446
+
447
+ * Added support for qualified type in example mapping.
448
+
449
+ ### Bugs Fixed
450
+
451
+ * Fix wrong example mapping for discriminated type.
452
+
453
+ ### Other Changes
454
+
455
+ * Throw error when paging with re-injection parameters.
456
+ * Moved the `_metadata.json` file to the `testdata` subdirectory.
457
+ * Updated to the latest tsp toolset.
458
+
459
+ ## 0.4.11 (2025-06-09)
460
+
461
+ ### Other Changes
462
+
463
+ * Updated to latest tcgc.
464
+
465
+ ## 0.4.10 (2025-05-29)
466
+
467
+ ### Bugs Fixed
468
+
469
+ * Fix wrong example mapping for any type.
470
+
471
+ ## 0.4.9 (2025-05-29)
472
+
473
+ ### Other Changes
474
+
475
+ * Updated to the latest tsp toolset.
476
+ * Refine `NameCollision` diagnostic.
477
+
478
+ ## 0.4.8 (2025-05-20)
479
+
480
+ ### Other Changes
481
+
482
+ * Generate metadata file.
483
+
484
+ ## 0.4.7 (2025-05-13)
485
+
486
+ ### Bugs Fixed
487
+
488
+ * Fix wrong example type mapping for discriminated types.
489
+ - Fix wrong nullable response type handling logic.
490
+ - Fix example generation logic for optional method parameters.
491
+
492
+ ### Other Changes
493
+
494
+ * Updated to latest tcgc.
495
+
496
+ ## 0.4.6 (2025-05-07)
497
+
498
+ ### Bugs Fixed
499
+
500
+ * Fix dependencies
501
+
502
+ ### Other Changes
503
+
504
+ * Updated to latest tcgc.
505
+
506
+ ## 0.4.5 (2025-05-07)
507
+
508
+ ### Other Changes
509
+
510
+ * Updated to the latest tsp toolset.
511
+
512
+ ## 0.4.4 (2025-04-25)
513
+
514
+ ### Bugs Fixed
515
+
516
+ * For fakes, unnecessary time helper files are no longer generated.
517
+
518
+ ### Other Changes
519
+
520
+ * Length check for `regexp` matches includes full match.
521
+ * Updated to latest tcgc.
522
+
523
+ ## 0.4.3 (2025-04-09)
524
+
525
+ ### Bugs Fixed
526
+
527
+ * Add length check for method prameters to fix generated example test code.
528
+
529
+ ## 0.4.2 (2025-04-03)
530
+
531
+ ### Other Changes
532
+
533
+ * Updated to the latest tsp toolset.
534
+ * Changed the default value of the `--factory-gather-all-params` switch from `false` to `true`.
535
+
536
+ ## 0.4.1 (2025-03-25)
537
+
538
+ ### Bugs Fixed
539
+
540
+ * Unsupported tsp constructs and other errors are now reported as a diagnostic error instead of an unhandled exception.
541
+
542
+ ### Other Changes
543
+
544
+ * Updated to the latest tsp toolset.
545
+ * Upgraded default `azcore` version to `v1.17.1`.
546
+ * NOTE: this also requires updating the `go` directive in `go.mod` files to version `1.23.0`.
547
+
548
+ ## 0.4.0 (2025-03-12)
549
+
550
+ ### Breaking Changes
551
+
552
+ * The monomorphic response field will no longer have the name `Value` in some cases. This is to preserve compatibility with the behavior of the `autorest.go` code generator.
553
+
554
+ ## 0.3.11 (2025-03-07)
555
+
556
+ ### Other Changes
557
+
558
+ * Added switch `generate-samples` to control example code generation.
559
+ * Deprecated `generate-examples`, use `generate-samples` instead.
560
+
561
+ ## 0.3.10 (2025-03-06)
562
+
563
+ ### Other Changes
564
+
565
+ * Updated to the latest tsp toolset.
566
+
567
+ ## 0.3.9 (2025-02-25)
568
+
569
+ ### Other Changes
570
+
571
+ * Updated to the latest tsp toolset.
572
+
573
+ ## 0.3.8 (2025-02-21)
574
+
575
+ ### Bugs Fixed
576
+
577
+ * Don't export `NewPager` methods when their access is internal.
578
+ * Remove filtering Azure core model since some instances of template model is in `Azure.Core` namespace. Logic of filtering exception model could cover the filtering needs.
579
+
580
+ ### Other Changes
581
+
582
+ * Updated to the latest tsp toolset.
583
+ * Report tcgc diagnostics.
584
+ * Added switch `--factory-gather-all-params` to control the `NewClientFactory` constructor parameters. This switch allows gathering either only common parameters of clients or all parameters of clients.
585
+
586
+ ## 0.3.7 (2025-02-11)
587
+
588
+ ### Bugs Fixed
589
+
590
+ * When dealing with mapping of parameters, get operation's body parameter from method's parameter's property if the method's parameter is a model with property decorated with `@bodyRoot` or `@body`.
591
+
592
+ ## 0.3.6 (2025-01-23)
593
+
594
+ ### Bugs Fixed
595
+
596
+ * `Operation-Location` LROs will correctly set the `OperationLocationResultPath` when constructing a `Poller[T]`.
597
+
598
+ ### Other Changes
599
+
600
+ * Updated to the latest tsp toolset.
601
+ * Upgraded default `azcore` version to `v1.17.0`.
602
+
603
+ ## 0.3.5 (2024-12-18)
604
+
605
+ ### Other Fixes
606
+
607
+ * Updated dependencies (accounts for latest tsp toolset).
608
+
609
+ ## 0.3.4 (2024-12-03)
610
+
611
+ ### Other Fixes
612
+
613
+ * Updated dependencies (fixes missing parameters in some cases).
614
+
615
+ ## 0.3.3 (2024-11-19)
616
+
617
+ ### Other Fixes
618
+
619
+ * Updated dependencies (fixes incorrectly pruned base models).
620
+
621
+ ## 0.3.2 (2024-11-07)
622
+
623
+ ### Features Added
624
+
625
+ * Add support for XML payloads.
626
+ * Internal fake server request interceptor.
627
+
628
+ ### Bugs Fixed
629
+
630
+ * Fake servers will honor the caller's context in the `*http.Request`.
631
+ * Add missing error check when parsing multipart/form content in fakes.
632
+ * Optional request bodies will only set the `Content-Type` header when a body is specified.
633
+
634
+ ### Other Fixes
635
+
636
+ * Fake pollers will always include `http.StatusOK` as an acceptible status code, and `http.StatusNoContent` for operations that don't return a body.
637
+
638
+ ## 0.3.1 (2024-08-14)
639
+
640
+ ### Bugs Fixed
641
+
642
+ * Don't prune base models that have been marked as output.
643
+
644
+ ## 0.3.0 (2024-08-06)
645
+
646
+ ### Features Added
647
+
648
+ * Added example code generation.
649
+
650
+ ### Breaking Changes
651
+
652
+ * Fixes in TCGC for proper handling of `@clientName`.
653
+
654
+ ### Bump Dependencies
655
+
656
+ * TCGC 0.44.3
657
+ * TypeSpec compiler 0.58.1
658
+
659
+ ## 0.2.0 (2024-07-30)
660
+
661
+ ### Breaking Changes
662
+
663
+ * For spread params, the optional params are now placed in the options type.
664
+
665
+ ### Other Changes
666
+
667
+ * Upgraded default azcore version to v1.13.0
668
+
669
+ ### Bump Dependencies
670
+
671
+ * TCGC 0.44.1
672
+ * TypeSpec tools 0.58.0
673
+
674
+ ## 0.1.0 (2024-07-17)
675
+
676
+ * Initial release
package/README.md CHANGED
@@ -20,16 +20,16 @@ tsp compile . --emit=@azure-tools/typespec-go
20
20
 
21
21
  ```yaml
22
22
  emit:
23
- - '@azure-tools/typespec-go'
23
+ - "@azure-tools/typespec-go"
24
24
  ```
25
25
 
26
26
  The config can be extended with options as follows:
27
27
 
28
28
  ```yaml
29
29
  emit:
30
- - '@azure-tools/typespec-go'
30
+ - "@azure-tools/typespec-go"
31
31
  options:
32
- '@azure-tools/typespec-go':
32
+ "@azure-tools/typespec-go":
33
33
  option: value
34
34
  ```
35
35
 
@@ -148,4 +148,6 @@ When true, generate example tests. The default is false.
148
148
 
149
149
  **Type:** `boolean`
150
150
 
151
- When true, the `NewClientFactory` constructor gathers all parameters. When false, it only gathers common parameters of clients. The default is true.
151
+ **Default:** `true`
152
+
153
+ When true, the `NewClientFactory` constructor gathers all parameters. When false, it only gathers common parameters of clients. The default is true.
@@ -1,4 +1,4 @@
1
- import * as go from '../../../codemodel.go/src/index.js';
1
+ import * as go from "../../codemodel/index.js";
2
2
  /**
3
3
  * Creates the content for client_factory.go file.
4
4
  * For non-ARM targets, the empty string is returned.
@@ -9,4 +9,4 @@ import * as go from '../../../codemodel.go/src/index.js';
9
9
  * @returns the text for the file or the empty string
10
10
  */
11
11
  export declare function generateClientFactory(pkg: go.PackageContent, target: go.CodeModelType, options: go.Options): string;
12
- //# sourceMappingURL=clientFactory.d.ts.map
12
+ //# sourceMappingURL=client-factory.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"client-factory.d.ts","sourceRoot":"","sources":["../../../../src/codegen/core/client-factory.ts"],"names":[],"mappings":"AAKA,OAAO,KAAK,EAAE,MAAM,0BAA0B,CAAC;AAI/C;;;;;;;;GAQG;AACH,wBAAgB,qBAAqB,CACnC,GAAG,EAAE,EAAE,CAAC,cAAc,EACtB,MAAM,EAAE,EAAE,CAAC,aAAa,EACxB,OAAO,EAAE,EAAE,CAAC,OAAO,GAClB,MAAM,CAmIR"}