@scalar/api-client 3.13.7 → 3.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 (385) hide show
  1. package/CHANGELOG.md +55 -0
  2. package/README.md +2 -1
  3. package/dist/assets/computer.ascii.virtual.js.map +1 -1
  4. package/dist/components/HelpfulLink.vue.script.js +1 -1
  5. package/dist/components/HelpfulLink.vue.script.js.map +1 -1
  6. package/dist/components/HttpMethod/HttpMethod.vue.js +1 -1
  7. package/dist/components/HttpMethod/HttpMethod.vue.script.js +1 -1
  8. package/dist/components/HttpMethod/HttpMethod.vue.script.js.map +1 -1
  9. package/dist/components/ScalarAsciiArt/ScalarAsciiArt.vue.js +1 -1
  10. package/dist/components/ScalarAsciiArt/ScalarAsciiArt.vue.script.js +1 -1
  11. package/dist/components/ScalarAsciiArt/ScalarAsciiArt.vue.script.js.map +1 -1
  12. package/dist/components/SectionFilter.vue.d.ts +1 -1
  13. package/dist/components/SectionFilter.vue.d.ts.map +1 -1
  14. package/dist/components/SectionFilter.vue.js +1 -1
  15. package/dist/components/SectionFilter.vue.script.js +2 -2
  16. package/dist/components/SectionFilter.vue.script.js.map +1 -1
  17. package/dist/components/SectionFilterButton.vue.script.js +1 -1
  18. package/dist/components/SectionFilterButton.vue.script.js.map +1 -1
  19. package/dist/components/Server/ServerVariablesForm.vue.d.ts.map +1 -1
  20. package/dist/components/Server/ServerVariablesForm.vue.script.js +1 -1
  21. package/dist/components/Server/ServerVariablesForm.vue.script.js.map +1 -1
  22. package/dist/components/Server/ServerVariablesSelect.vue.script.js +1 -1
  23. package/dist/components/Server/ServerVariablesSelect.vue.script.js.map +1 -1
  24. package/dist/components/Server/ServerVariablesTextbox.vue.script.js +1 -1
  25. package/dist/components/Server/ServerVariablesTextbox.vue.script.js.map +1 -1
  26. package/dist/components/Sidebar/Actions/DeleteSidebarListElement.vue.d.ts.map +1 -1
  27. package/dist/components/Sidebar/Actions/DeleteSidebarListElement.vue.script.js +1 -1
  28. package/dist/components/Sidebar/Actions/DeleteSidebarListElement.vue.script.js.map +1 -1
  29. package/dist/components/Sidebar/Actions/SidebarListElementForm.vue.d.ts.map +1 -1
  30. package/dist/components/Sidebar/Actions/SidebarListElementForm.vue.script.js +1 -1
  31. package/dist/components/Sidebar/Actions/SidebarListElementForm.vue.script.js.map +1 -1
  32. package/dist/components/ViewLayout/ViewLayout.vue.script.js +1 -1
  33. package/dist/components/ViewLayout/ViewLayout.vue.script.js.map +1 -1
  34. package/dist/components/ViewLayout/ViewLayoutContent.vue.js +1 -1
  35. package/dist/components/ViewLayout/ViewLayoutContent.vue.js.map +1 -1
  36. package/dist/components/ViewLayout/ViewLayoutSection.vue.script.js +1 -1
  37. package/dist/components/ViewLayout/ViewLayoutSection.vue.script.js.map +1 -1
  38. package/dist/hooks/use-file-dialog.js +2 -1
  39. package/dist/hooks/use-file-dialog.js.map +1 -1
  40. package/dist/plugins/posthog/index.js.map +1 -1
  41. package/dist/plugins/posthog/sanitize-event-payload.js +1 -1
  42. package/dist/plugins/posthog/sanitize-event-payload.js.map +1 -1
  43. package/dist/style.css +420 -382
  44. package/dist/v2/blocks/operation-block/OperationBlock.vue.d.ts.map +1 -1
  45. package/dist/v2/blocks/operation-block/OperationBlock.vue.js.map +1 -1
  46. package/dist/v2/blocks/operation-block/OperationBlock.vue.script.js +4 -2
  47. package/dist/v2/blocks/operation-block/OperationBlock.vue.script.js.map +1 -1
  48. package/dist/v2/blocks/operation-block/components/Header.vue.d.ts.map +1 -1
  49. package/dist/v2/blocks/operation-block/components/Header.vue.js +1 -1
  50. package/dist/v2/blocks/operation-block/components/Header.vue.script.js +1 -1
  51. package/dist/v2/blocks/operation-block/components/Header.vue.script.js.map +1 -1
  52. package/dist/v2/blocks/operation-block/components/OpenApiClientButton.vue.js +1 -1
  53. package/dist/v2/blocks/operation-block/components/OpenApiClientButton.vue.script.js +1 -1
  54. package/dist/v2/blocks/operation-block/components/OpenApiClientButton.vue.script.js.map +1 -1
  55. package/dist/v2/blocks/operation-block/helpers/decode-buffer.js.map +1 -1
  56. package/dist/v2/blocks/operation-block/helpers/get-cookie-header-keys.js.map +1 -1
  57. package/dist/v2/blocks/operation-block/helpers/har-to-fetch-request.js.map +1 -1
  58. package/dist/v2/blocks/operation-block/helpers/har-to-fetch-response.js.map +1 -1
  59. package/dist/v2/blocks/operation-block/helpers/persist-response-cookies.js.map +1 -1
  60. package/dist/v2/blocks/operation-block/helpers/response-cache.js.map +1 -1
  61. package/dist/v2/blocks/operation-block/helpers/send-request.js.map +1 -1
  62. package/dist/v2/blocks/operation-block/helpers/validate-path-parameters.js.map +1 -1
  63. package/dist/v2/blocks/request-block/RequestBlock.vue.d.ts.map +1 -1
  64. package/dist/v2/blocks/request-block/RequestBlock.vue.js +1 -1
  65. package/dist/v2/blocks/request-block/RequestBlock.vue.js.map +1 -1
  66. package/dist/v2/blocks/request-block/RequestBlock.vue.script.js +58 -29
  67. package/dist/v2/blocks/request-block/RequestBlock.vue.script.js.map +1 -1
  68. package/dist/v2/blocks/request-block/components/RequestBody.vue.d.ts +6 -6
  69. package/dist/v2/blocks/request-block/components/RequestBody.vue.d.ts.map +1 -1
  70. package/dist/v2/blocks/request-block/components/RequestBody.vue.js +1 -1
  71. package/dist/v2/blocks/request-block/components/RequestBody.vue.js.map +1 -1
  72. package/dist/v2/blocks/request-block/components/RequestBody.vue.script.js +73 -12
  73. package/dist/v2/blocks/request-block/components/RequestBody.vue.script.js.map +1 -1
  74. package/dist/v2/blocks/request-block/components/RequestBodyForm.vue.d.ts.map +1 -1
  75. package/dist/v2/blocks/request-block/components/RequestBodyForm.vue.script.js +1 -1
  76. package/dist/v2/blocks/request-block/components/RequestBodyForm.vue.script.js.map +1 -1
  77. package/dist/v2/blocks/request-block/components/RequestBodyStructured.vue.d.ts +19 -0
  78. package/dist/v2/blocks/request-block/components/RequestBodyStructured.vue.d.ts.map +1 -0
  79. package/dist/v2/blocks/request-block/components/RequestBodyStructured.vue.js +7 -0
  80. package/dist/v2/blocks/request-block/components/RequestBodyStructured.vue.js.map +1 -0
  81. package/dist/v2/blocks/request-block/components/RequestBodyStructured.vue.script.js +81 -0
  82. package/dist/v2/blocks/request-block/components/RequestBodyStructured.vue.script.js.map +1 -0
  83. package/dist/v2/blocks/request-block/components/RequestBodyViewToggle.vue.d.ts +13 -0
  84. package/dist/v2/blocks/request-block/components/RequestBodyViewToggle.vue.d.ts.map +1 -0
  85. package/dist/v2/blocks/request-block/components/RequestBodyViewToggle.vue.js +7 -0
  86. package/dist/v2/blocks/request-block/components/RequestBodyViewToggle.vue.js.map +1 -0
  87. package/dist/v2/blocks/request-block/components/RequestBodyViewToggle.vue.script.js +34 -0
  88. package/dist/v2/blocks/request-block/components/RequestBodyViewToggle.vue.script.js.map +1 -0
  89. package/dist/v2/blocks/request-block/components/RequestCodeSnippet.vue.d.ts.map +1 -1
  90. package/dist/v2/blocks/request-block/components/RequestCodeSnippet.vue.script.js +1 -1
  91. package/dist/v2/blocks/request-block/components/RequestCodeSnippet.vue.script.js.map +1 -1
  92. package/dist/v2/blocks/request-block/components/RequestParams.vue.d.ts +2 -0
  93. package/dist/v2/blocks/request-block/components/RequestParams.vue.d.ts.map +1 -1
  94. package/dist/v2/blocks/request-block/components/RequestParams.vue.js.map +1 -1
  95. package/dist/v2/blocks/request-block/components/RequestParams.vue.script.js +5 -3
  96. package/dist/v2/blocks/request-block/components/RequestParams.vue.script.js.map +1 -1
  97. package/dist/v2/blocks/request-block/components/RequestTable.vue.d.ts +2 -0
  98. package/dist/v2/blocks/request-block/components/RequestTable.vue.d.ts.map +1 -1
  99. package/dist/v2/blocks/request-block/components/RequestTable.vue.js +1 -1
  100. package/dist/v2/blocks/request-block/components/RequestTable.vue.js.map +1 -1
  101. package/dist/v2/blocks/request-block/components/RequestTable.vue.script.js +6 -3
  102. package/dist/v2/blocks/request-block/components/RequestTable.vue.script.js.map +1 -1
  103. package/dist/v2/blocks/request-block/components/RequestTableRow.vue.d.ts +8 -0
  104. package/dist/v2/blocks/request-block/components/RequestTableRow.vue.d.ts.map +1 -1
  105. package/dist/v2/blocks/request-block/components/RequestTableRow.vue.js.map +1 -1
  106. package/dist/v2/blocks/request-block/components/RequestTableRow.vue.script.js +37 -18
  107. package/dist/v2/blocks/request-block/components/RequestTableRow.vue.script.js.map +1 -1
  108. package/dist/v2/blocks/request-block/components/RequestTableTooltip.vue.script.js +1 -1
  109. package/dist/v2/blocks/request-block/components/RequestTableTooltip.vue.script.js.map +1 -1
  110. package/dist/v2/blocks/request-block/helpers/create-parameter-handlers.js.map +1 -1
  111. package/dist/v2/blocks/request-block/helpers/create-parameter-rows.js +1 -1
  112. package/dist/v2/blocks/request-block/helpers/create-parameter-rows.js.map +1 -1
  113. package/dist/v2/blocks/request-block/helpers/files.js.map +1 -1
  114. package/dist/v2/blocks/request-block/helpers/fold-structured-body-rows.d.ts +17 -0
  115. package/dist/v2/blocks/request-block/helpers/fold-structured-body-rows.d.ts.map +1 -0
  116. package/dist/v2/blocks/request-block/helpers/fold-structured-body-rows.js +33 -0
  117. package/dist/v2/blocks/request-block/helpers/fold-structured-body-rows.js.map +1 -0
  118. package/dist/v2/blocks/request-block/helpers/get-form-body-rows.d.ts +28 -0
  119. package/dist/v2/blocks/request-block/helpers/get-form-body-rows.d.ts.map +1 -1
  120. package/dist/v2/blocks/request-block/helpers/get-form-body-rows.js +12 -7
  121. package/dist/v2/blocks/request-block/helpers/get-form-body-rows.js.map +1 -1
  122. package/dist/v2/blocks/request-block/helpers/get-parameter-content.js.map +1 -1
  123. package/dist/v2/blocks/request-block/helpers/get-parameter-schema.js.map +1 -1
  124. package/dist/v2/blocks/request-block/helpers/get-structured-body-rows.d.ts +13 -0
  125. package/dist/v2/blocks/request-block/helpers/get-structured-body-rows.d.ts.map +1 -0
  126. package/dist/v2/blocks/request-block/helpers/get-structured-body-rows.js +39 -0
  127. package/dist/v2/blocks/request-block/helpers/get-structured-body-rows.js.map +1 -0
  128. package/dist/v2/blocks/request-block/helpers/group-by.js.map +1 -1
  129. package/dist/v2/blocks/request-block/helpers/group-global-cookies.d.ts +54 -0
  130. package/dist/v2/blocks/request-block/helpers/group-global-cookies.d.ts.map +1 -0
  131. package/dist/v2/blocks/request-block/helpers/group-global-cookies.js +56 -0
  132. package/dist/v2/blocks/request-block/helpers/group-global-cookies.js.map +1 -0
  133. package/dist/v2/blocks/request-block/helpers/structured-body-codec.d.ts +15 -0
  134. package/dist/v2/blocks/request-block/helpers/structured-body-codec.d.ts.map +1 -0
  135. package/dist/v2/blocks/request-block/helpers/structured-body-codec.js +33 -0
  136. package/dist/v2/blocks/request-block/helpers/structured-body-codec.js.map +1 -0
  137. package/dist/v2/blocks/request-block/helpers/validate-parameter.js.map +1 -1
  138. package/dist/v2/blocks/response-block/ResponseBlock.vue.d.ts.map +1 -1
  139. package/dist/v2/blocks/response-block/ResponseBlock.vue.js +1 -1
  140. package/dist/v2/blocks/response-block/ResponseBlock.vue.script.js +1 -1
  141. package/dist/v2/blocks/response-block/ResponseBlock.vue.script.js.map +1 -1
  142. package/dist/v2/blocks/response-block/components/Headers.vue.script.js +1 -1
  143. package/dist/v2/blocks/response-block/components/Headers.vue.script.js.map +1 -1
  144. package/dist/v2/blocks/response-block/components/ResponseBody.vue.js +1 -1
  145. package/dist/v2/blocks/response-block/components/ResponseBody.vue.script.js +1 -1
  146. package/dist/v2/blocks/response-block/components/ResponseBody.vue.script.js.map +1 -1
  147. package/dist/v2/blocks/response-block/components/ResponseBodyDownload.vue.script.js +1 -1
  148. package/dist/v2/blocks/response-block/components/ResponseBodyDownload.vue.script.js.map +1 -1
  149. package/dist/v2/blocks/response-block/components/ResponseBodyInfo.vue.js +1 -1
  150. package/dist/v2/blocks/response-block/components/ResponseBodyInfo.vue.js.map +1 -1
  151. package/dist/v2/blocks/response-block/components/ResponseBodyPreview.vue.js +1 -1
  152. package/dist/v2/blocks/response-block/components/ResponseBodyPreview.vue.script.js +1 -1
  153. package/dist/v2/blocks/response-block/components/ResponseBodyPreview.vue.script.js.map +1 -1
  154. package/dist/v2/blocks/response-block/components/ResponseBodyRaw.vue.js +1 -1
  155. package/dist/v2/blocks/response-block/components/ResponseBodyRaw.vue.script.js +1 -1
  156. package/dist/v2/blocks/response-block/components/ResponseBodyRaw.vue.script.js.map +1 -1
  157. package/dist/v2/blocks/response-block/components/ResponseBodyStreaming.vue.d.ts.map +1 -1
  158. package/dist/v2/blocks/response-block/components/ResponseBodyStreaming.vue.script.js +1 -1
  159. package/dist/v2/blocks/response-block/components/ResponseBodyStreaming.vue.script.js.map +1 -1
  160. package/dist/v2/blocks/response-block/components/ResponseBodyToggle.vue.script.js +1 -1
  161. package/dist/v2/blocks/response-block/components/ResponseBodyToggle.vue.script.js.map +1 -1
  162. package/dist/v2/blocks/response-block/components/ResponseBodyVirtual.vue.script.js +1 -1
  163. package/dist/v2/blocks/response-block/components/ResponseBodyVirtual.vue.script.js.map +1 -1
  164. package/dist/v2/blocks/response-block/components/ResponseCookies.vue.script.js +1 -1
  165. package/dist/v2/blocks/response-block/components/ResponseCookies.vue.script.js.map +1 -1
  166. package/dist/v2/blocks/response-block/components/ResponseEmpty.vue.js +1 -1
  167. package/dist/v2/blocks/response-block/components/ResponseEmpty.vue.script.js +1 -1
  168. package/dist/v2/blocks/response-block/components/ResponseEmpty.vue.script.js.map +1 -1
  169. package/dist/v2/blocks/response-block/components/ResponseLoadingOverlay.vue.d.ts.map +1 -1
  170. package/dist/v2/blocks/response-block/components/ResponseLoadingOverlay.vue.js +1 -1
  171. package/dist/v2/blocks/response-block/components/ResponseLoadingOverlay.vue.script.js +1 -1
  172. package/dist/v2/blocks/response-block/components/ResponseLoadingOverlay.vue.script.js.map +1 -1
  173. package/dist/v2/blocks/response-block/components/ResponseMetaInformation.vue.script.js +1 -1
  174. package/dist/v2/blocks/response-block/components/ResponseMetaInformation.vue.script.js.map +1 -1
  175. package/dist/v2/blocks/response-block/helpers/extract-filename.js.map +1 -1
  176. package/dist/v2/blocks/response-block/helpers/get-content-length.js.map +1 -1
  177. package/dist/v2/blocks/response-block/helpers/media-types.js.map +1 -1
  178. package/dist/v2/blocks/response-block/helpers/parse-set-cookie.js.map +1 -1
  179. package/dist/v2/blocks/response-block/helpers/prettify-jsonc-string.js.map +1 -1
  180. package/dist/v2/blocks/response-block/helpers/process-response-body.js.map +1 -1
  181. package/dist/v2/blocks/response-block/helpers/resolve-response-body-handler.js.map +1 -1
  182. package/dist/v2/blocks/response-block/helpers/resolve-response-content-type.js +7 -1
  183. package/dist/v2/blocks/response-block/helpers/resolve-response-content-type.js.map +1 -1
  184. package/dist/v2/blocks/scalar-address-bar-block/components/AddressBar.vue.d.ts.map +1 -1
  185. package/dist/v2/blocks/scalar-address-bar-block/components/AddressBar.vue.js +1 -1
  186. package/dist/v2/blocks/scalar-address-bar-block/components/AddressBar.vue.script.js +1 -1
  187. package/dist/v2/blocks/scalar-address-bar-block/components/AddressBar.vue.script.js.map +1 -1
  188. package/dist/v2/blocks/scalar-address-bar-block/components/AddressBarHistory.vue.d.ts.map +1 -1
  189. package/dist/v2/blocks/scalar-address-bar-block/components/AddressBarHistory.vue.js +1 -1
  190. package/dist/v2/blocks/scalar-address-bar-block/components/AddressBarHistory.vue.script.js +1 -1
  191. package/dist/v2/blocks/scalar-address-bar-block/components/AddressBarHistory.vue.script.js.map +1 -1
  192. package/dist/v2/blocks/scalar-address-bar-block/components/EnvironmentSelector.vue.d.ts.map +1 -1
  193. package/dist/v2/blocks/scalar-address-bar-block/components/EnvironmentSelector.vue.script.js +1 -1
  194. package/dist/v2/blocks/scalar-address-bar-block/components/EnvironmentSelector.vue.script.js.map +1 -1
  195. package/dist/v2/blocks/scalar-address-bar-block/components/httpStatusCodeColors.js +3 -1
  196. package/dist/v2/blocks/scalar-address-bar-block/components/httpStatusCodeColors.js.map +1 -1
  197. package/dist/v2/blocks/scalar-address-bar-block/helpers/is-placeholder-path.js.map +1 -1
  198. package/dist/v2/blocks/scalar-address-bar-block/helpers/refocus-blur-target.js.map +1 -1
  199. package/dist/v2/blocks/scalar-address-bar-block/hooks/use-loading-animation.js.map +1 -1
  200. package/dist/v2/blocks/scalar-address-bar-block/hooks/use-path-masking.js.map +1 -1
  201. package/dist/v2/blocks/scalar-auth-selector-block/components/AuthSelector.vue.d.ts.map +1 -1
  202. package/dist/v2/blocks/scalar-auth-selector-block/components/AuthSelector.vue.script.js +1 -1
  203. package/dist/v2/blocks/scalar-auth-selector-block/components/AuthSelector.vue.script.js.map +1 -1
  204. package/dist/v2/blocks/scalar-auth-selector-block/components/DeleteRequestAuthModal.vue.d.ts.map +1 -1
  205. package/dist/v2/blocks/scalar-auth-selector-block/components/DeleteRequestAuthModal.vue.script.js +1 -1
  206. package/dist/v2/blocks/scalar-auth-selector-block/components/DeleteRequestAuthModal.vue.script.js.map +1 -1
  207. package/dist/v2/blocks/scalar-auth-selector-block/components/OAuth2.vue.d.ts +18 -2
  208. package/dist/v2/blocks/scalar-auth-selector-block/components/OAuth2.vue.d.ts.map +1 -1
  209. package/dist/v2/blocks/scalar-auth-selector-block/components/OAuth2.vue.js.map +1 -1
  210. package/dist/v2/blocks/scalar-auth-selector-block/components/OAuth2.vue.script.js +19 -14
  211. package/dist/v2/blocks/scalar-auth-selector-block/components/OAuth2.vue.script.js.map +1 -1
  212. package/dist/v2/blocks/scalar-auth-selector-block/components/OAuthScopesAddModal.vue.d.ts.map +1 -1
  213. package/dist/v2/blocks/scalar-auth-selector-block/components/OAuthScopesAddModal.vue.script.js +1 -1
  214. package/dist/v2/blocks/scalar-auth-selector-block/components/OAuthScopesAddModal.vue.script.js.map +1 -1
  215. package/dist/v2/blocks/scalar-auth-selector-block/components/OAuthScopesInput.vue.d.ts +6 -2
  216. package/dist/v2/blocks/scalar-auth-selector-block/components/OAuthScopesInput.vue.d.ts.map +1 -1
  217. package/dist/v2/blocks/scalar-auth-selector-block/components/OAuthScopesInput.vue.js.map +1 -1
  218. package/dist/v2/blocks/scalar-auth-selector-block/components/OAuthScopesInput.vue.script.js +17 -9
  219. package/dist/v2/blocks/scalar-auth-selector-block/components/OAuthScopesInput.vue.script.js.map +1 -1
  220. package/dist/v2/blocks/scalar-auth-selector-block/components/OpenIDConnect.vue.d.ts.map +1 -1
  221. package/dist/v2/blocks/scalar-auth-selector-block/components/OpenIDConnect.vue.script.js +1 -1
  222. package/dist/v2/blocks/scalar-auth-selector-block/components/OpenIDConnect.vue.script.js.map +1 -1
  223. package/dist/v2/blocks/scalar-auth-selector-block/components/RequestAuthDataTable.vue.d.ts.map +1 -1
  224. package/dist/v2/blocks/scalar-auth-selector-block/components/RequestAuthDataTable.vue.script.js +1 -1
  225. package/dist/v2/blocks/scalar-auth-selector-block/components/RequestAuthDataTable.vue.script.js.map +1 -1
  226. package/dist/v2/blocks/scalar-auth-selector-block/components/RequestAuthDataTableInput.vue.d.ts.map +1 -1
  227. package/dist/v2/blocks/scalar-auth-selector-block/components/RequestAuthDataTableInput.vue.script.js +3 -3
  228. package/dist/v2/blocks/scalar-auth-selector-block/components/RequestAuthDataTableInput.vue.script.js.map +1 -1
  229. package/dist/v2/blocks/scalar-auth-selector-block/components/RequestAuthTab.vue.d.ts +7 -3
  230. package/dist/v2/blocks/scalar-auth-selector-block/components/RequestAuthTab.vue.d.ts.map +1 -1
  231. package/dist/v2/blocks/scalar-auth-selector-block/components/RequestAuthTab.vue.js.map +1 -1
  232. package/dist/v2/blocks/scalar-auth-selector-block/components/RequestAuthTab.vue.script.js +339 -26
  233. package/dist/v2/blocks/scalar-auth-selector-block/components/RequestAuthTab.vue.script.js.map +1 -1
  234. package/dist/v2/blocks/scalar-auth-selector-block/helpers/auth-options.js.map +1 -1
  235. package/dist/v2/blocks/scalar-auth-selector-block/helpers/fetch-openid-connect-discovery.js +5 -0
  236. package/dist/v2/blocks/scalar-auth-selector-block/helpers/fetch-openid-connect-discovery.js.map +1 -1
  237. package/dist/v2/blocks/scalar-auth-selector-block/helpers/oauth-callback.js +1 -1
  238. package/dist/v2/blocks/scalar-auth-selector-block/helpers/oauth-callback.js.map +1 -1
  239. package/dist/v2/blocks/scalar-auth-selector-block/helpers/oauth.d.ts.map +1 -1
  240. package/dist/v2/blocks/scalar-auth-selector-block/helpers/oauth.js +9 -13
  241. package/dist/v2/blocks/scalar-auth-selector-block/helpers/oauth.js.map +1 -1
  242. package/dist/v2/blocks/scalar-auth-selector-block/helpers/openid-discovery-to-flows.js.map +1 -1
  243. package/dist/v2/blocks/scalar-auth-selector-block/helpers/resolve-default-oauth2-redirect-url.js.map +1 -1
  244. package/dist/v2/blocks/scalar-auth-selector-block/helpers/run-oauth2-authorize.d.ts +42 -0
  245. package/dist/v2/blocks/scalar-auth-selector-block/helpers/run-oauth2-authorize.d.ts.map +1 -0
  246. package/dist/v2/blocks/scalar-auth-selector-block/helpers/run-oauth2-authorize.js +60 -0
  247. package/dist/v2/blocks/scalar-auth-selector-block/helpers/run-oauth2-authorize.js.map +1 -0
  248. package/dist/v2/blocks/scalar-auth-selector-block/helpers/security-scheme.d.ts +17 -1
  249. package/dist/v2/blocks/scalar-auth-selector-block/helpers/security-scheme.d.ts.map +1 -1
  250. package/dist/v2/blocks/scalar-auth-selector-block/helpers/security-scheme.js +33 -1
  251. package/dist/v2/blocks/scalar-auth-selector-block/helpers/security-scheme.js.map +1 -1
  252. package/dist/v2/components/code-input/CodeInput.vue.d.ts.map +1 -1
  253. package/dist/v2/components/code-input/CodeInput.vue.js +1 -1
  254. package/dist/v2/components/code-input/CodeInput.vue.script.js +6 -1
  255. package/dist/v2/components/code-input/CodeInput.vue.script.js.map +1 -1
  256. package/dist/v2/components/code-input/CodeInputLite.vue.d.ts.map +1 -1
  257. package/dist/v2/components/code-input/CodeInputLite.vue.js +1 -1
  258. package/dist/v2/components/code-input/CodeInputLite.vue.script.js +5 -1
  259. package/dist/v2/components/code-input/CodeInputLite.vue.script.js.map +1 -1
  260. package/dist/v2/components/code-input/PillTooltipHost.vue.script.js +1 -1
  261. package/dist/v2/components/code-input/PillTooltipHost.vue.script.js.map +1 -1
  262. package/dist/v2/components/code-input/code-variable-widget.js +1 -0
  263. package/dist/v2/components/code-input/code-variable-widget.js.map +1 -1
  264. package/dist/v2/components/code-input/helpers/build-pill-context.js.map +1 -1
  265. package/dist/v2/components/code-input/helpers/lookup-variable-value.js.map +1 -1
  266. package/dist/v2/components/code-input/helpers/pill-signature.js.map +1 -1
  267. package/dist/v2/components/code-input/helpers/serialize-value.js.map +1 -1
  268. package/dist/v2/components/context-menu/ContextMenu.vue.script.js +1 -1
  269. package/dist/v2/components/context-menu/ContextMenu.vue.script.js.map +1 -1
  270. package/dist/v2/components/data-table/DataTable.vue.script.js +1 -1
  271. package/dist/v2/components/data-table/DataTable.vue.script.js.map +1 -1
  272. package/dist/v2/components/data-table/DataTableCell.vue.script.js +1 -1
  273. package/dist/v2/components/data-table/DataTableCell.vue.script.js.map +1 -1
  274. package/dist/v2/components/data-table/DataTableCheckbox.vue.d.ts +2 -0
  275. package/dist/v2/components/data-table/DataTableCheckbox.vue.d.ts.map +1 -1
  276. package/dist/v2/components/data-table/DataTableCheckbox.vue.js.map +1 -1
  277. package/dist/v2/components/data-table/DataTableCheckbox.vue.script.js +9 -3
  278. package/dist/v2/components/data-table/DataTableCheckbox.vue.script.js.map +1 -1
  279. package/dist/v2/components/data-table/DataTableHeader.vue.script.js +1 -1
  280. package/dist/v2/components/data-table/DataTableHeader.vue.script.js.map +1 -1
  281. package/dist/v2/components/data-table/DataTableInput.vue.d.ts.map +1 -1
  282. package/dist/v2/components/data-table/DataTableInput.vue.js +1 -1
  283. package/dist/v2/components/data-table/DataTableInput.vue.script.js +1 -1
  284. package/dist/v2/components/data-table/DataTableInput.vue.script.js.map +1 -1
  285. package/dist/v2/components/data-table/DataTableInputSelect.vue.d.ts.map +1 -1
  286. package/dist/v2/components/data-table/DataTableInputSelect.vue.script.js +3 -2
  287. package/dist/v2/components/data-table/DataTableInputSelect.vue.script.js.map +1 -1
  288. package/dist/v2/components/data-table/DataTableRow.vue.js +1 -1
  289. package/dist/v2/components/data-table/DataTableRow.vue.js.map +1 -1
  290. package/dist/v2/components/data-table/DataTableText.vue.script.js +1 -1
  291. package/dist/v2/components/data-table/DataTableText.vue.script.js.map +1 -1
  292. package/dist/v2/components/forms/ConfirmationForm.vue.d.ts.map +1 -1
  293. package/dist/v2/components/forms/ConfirmationForm.vue.script.js +1 -1
  294. package/dist/v2/components/forms/ConfirmationForm.vue.script.js.map +1 -1
  295. package/dist/v2/components/layout/CollapsibleSection.vue.d.ts.map +1 -1
  296. package/dist/v2/components/layout/CollapsibleSection.vue.script.js +1 -1
  297. package/dist/v2/components/layout/CollapsibleSection.vue.script.js.map +1 -1
  298. package/dist/v2/components/layout/ValueEmitter.vue.d.ts +1 -1
  299. package/dist/v2/components/layout/ValueEmitter.vue.d.ts.map +1 -1
  300. package/dist/v2/components/layout/ValueEmitter.vue.script.js +1 -1
  301. package/dist/v2/components/layout/ValueEmitter.vue.script.js.map +1 -1
  302. package/dist/v2/components/modals/DeleteModal.vue.d.ts.map +1 -1
  303. package/dist/v2/components/modals/DeleteModal.vue.script.js +1 -1
  304. package/dist/v2/components/modals/DeleteModal.vue.script.js.map +1 -1
  305. package/dist/v2/components/modals/ModalClientContainer.vue.js +1 -1
  306. package/dist/v2/components/modals/ModalClientContainer.vue.script.js +1 -1
  307. package/dist/v2/components/modals/ModalClientContainer.vue.script.js.map +1 -1
  308. package/dist/v2/components/resize/Resize.vue.js +1 -1
  309. package/dist/v2/components/resize/Resize.vue.script.js +1 -1
  310. package/dist/v2/components/resize/Resize.vue.script.js.map +1 -1
  311. package/dist/v2/components/resize/use-split-resize.js +4 -2
  312. package/dist/v2/components/resize/use-split-resize.js.map +1 -1
  313. package/dist/v2/components/server/ServerDropdown.vue.d.ts.map +1 -1
  314. package/dist/v2/components/server/ServerDropdown.vue.script.js +1 -1
  315. package/dist/v2/components/server/ServerDropdown.vue.script.js.map +1 -1
  316. package/dist/v2/components/server/ServerDropdownItem.vue.d.ts.map +1 -1
  317. package/dist/v2/components/server/ServerDropdownItem.vue.js +1 -1
  318. package/dist/v2/components/server/ServerDropdownItem.vue.script.js +1 -1
  319. package/dist/v2/components/server/ServerDropdownItem.vue.script.js.map +1 -1
  320. package/dist/v2/components/sidebar/Sidebar.vue.d.ts.map +1 -1
  321. package/dist/v2/components/sidebar/Sidebar.vue.script.js +3 -3
  322. package/dist/v2/components/sidebar/Sidebar.vue.script.js.map +1 -1
  323. package/dist/v2/components/sidebar/SidebarMenu.vue.d.ts.map +1 -1
  324. package/dist/v2/components/sidebar/SidebarMenu.vue.script.js +1 -1
  325. package/dist/v2/components/sidebar/SidebarMenu.vue.script.js.map +1 -1
  326. package/dist/v2/components/sidebar/SidebarToggle.vue.script.js +1 -1
  327. package/dist/v2/components/sidebar/SidebarToggle.vue.script.js.map +1 -1
  328. package/dist/v2/constants.js +1 -1
  329. package/dist/v2/features/command-palette/components/CommandActionForm.vue.script.js +1 -1
  330. package/dist/v2/features/command-palette/components/CommandActionForm.vue.script.js.map +1 -1
  331. package/dist/v2/features/command-palette/components/CommandActionInput.vue.script.js +1 -1
  332. package/dist/v2/features/command-palette/components/CommandActionInput.vue.script.js.map +1 -1
  333. package/dist/v2/features/environments/EnvironmentsList.vue.d.ts.map +1 -1
  334. package/dist/v2/features/environments/EnvironmentsList.vue.script.js +1 -1
  335. package/dist/v2/features/environments/EnvironmentsList.vue.script.js.map +1 -1
  336. package/dist/v2/features/environments/components/Environment.vue.d.ts.map +1 -1
  337. package/dist/v2/features/environments/components/Environment.vue.script.js +1 -1
  338. package/dist/v2/features/environments/components/Environment.vue.script.js.map +1 -1
  339. package/dist/v2/features/environments/components/EnvironmentColors.vue.script.js +3 -2
  340. package/dist/v2/features/environments/components/EnvironmentColors.vue.script.js.map +1 -1
  341. package/dist/v2/features/environments/components/EnvironmentCreateModal.vue.d.ts.map +1 -1
  342. package/dist/v2/features/environments/components/EnvironmentCreateModal.vue.script.js +1 -1
  343. package/dist/v2/features/environments/components/EnvironmentCreateModal.vue.script.js.map +1 -1
  344. package/dist/v2/features/environments/components/EnvironmentDeleteModal.vue.d.ts.map +1 -1
  345. package/dist/v2/features/environments/components/EnvironmentDeleteModal.vue.script.js +1 -1
  346. package/dist/v2/features/environments/components/EnvironmentDeleteModal.vue.script.js.map +1 -1
  347. package/dist/v2/features/environments/components/EnvironmentVariablesDropdown.vue.d.ts.map +1 -1
  348. package/dist/v2/features/environments/components/EnvironmentVariablesDropdown.vue.script.js +1 -1
  349. package/dist/v2/features/environments/components/EnvironmentVariablesDropdown.vue.script.js.map +1 -1
  350. package/dist/v2/features/environments/components/EnvironmentVariablesTable.vue.d.ts.map +1 -1
  351. package/dist/v2/features/environments/components/EnvironmentVariablesTable.vue.js +1 -1
  352. package/dist/v2/features/environments/components/EnvironmentVariablesTable.vue.script.js +1 -1
  353. package/dist/v2/features/environments/components/EnvironmentVariablesTable.vue.script.js.map +1 -1
  354. package/dist/v2/features/modal/Modal.vue.d.ts.map +1 -1
  355. package/dist/v2/features/modal/Modal.vue.script.js +1 -1
  356. package/dist/v2/features/modal/Modal.vue.script.js.map +1 -1
  357. package/dist/v2/features/modal/helpers/create-api-client-modal.js +11 -0
  358. package/dist/v2/features/modal/helpers/create-api-client-modal.js.map +1 -1
  359. package/dist/v2/features/modal/helpers/map-hidden-clients-config.js.map +1 -1
  360. package/dist/v2/features/modal/helpers/resolve-route-parameters.js +1 -1
  361. package/dist/v2/features/modal/helpers/resolve-route-parameters.js.map +1 -1
  362. package/dist/v2/features/modal/hooks/use-modal-sidebar.js.map +1 -1
  363. package/dist/v2/features/modal/modal-events.js.map +1 -1
  364. package/dist/v2/features/operation/Operation.vue.script.js +1 -1
  365. package/dist/v2/features/operation/Operation.vue.script.js.map +1 -1
  366. package/dist/v2/features/search/components/DocumentSearchModal.vue.d.ts.map +1 -1
  367. package/dist/v2/features/search/components/DocumentSearchModal.vue.js +1 -1
  368. package/dist/v2/features/search/components/DocumentSearchModal.vue.script.js +1 -1
  369. package/dist/v2/features/search/components/DocumentSearchModal.vue.script.js.map +1 -1
  370. package/dist/v2/features/search/components/SearchResult.vue.d.ts.map +1 -1
  371. package/dist/v2/features/search/components/SearchResult.vue.script.js +1 -1
  372. package/dist/v2/features/search/components/SearchResult.vue.script.js.map +1 -1
  373. package/dist/v2/features/search/helpers/create-fuse-instance.js.map +1 -1
  374. package/dist/v2/features/search/helpers/create-search-index.js.map +1 -1
  375. package/dist/v2/features/search/hooks/use-document-search.js.map +1 -1
  376. package/dist/v2/features/search/hooks/use-search-index.js.map +1 -1
  377. package/dist/v2/helpers/generate-location-id.js.map +1 -1
  378. package/dist/v2/helpers/handle-hotkeys.js +1 -1
  379. package/dist/v2/helpers/handle-hotkeys.js.map +1 -1
  380. package/dist/v2/helpers/test-utils.js.map +1 -1
  381. package/dist/v2/hooks/use-global-hot-keys.js.map +1 -1
  382. package/dist/v2/hooks/use-scroll-lock.js.map +1 -1
  383. package/dist/v2/workspace-events.js.map +1 -1
  384. package/dist/vue-styles.css +228 -235
  385. package/package.json +22 -22
@@ -1 +1 @@
1
- {"version":3,"file":"sanitize-event-payload.js","names":[],"sources":["../../../src/plugins/posthog/sanitize-event-payload.ts"],"sourcesContent":["import { getValueAtPath } from '@scalar/helpers/object/get-value-at-path'\nimport type { ApiReferenceEvents } from '@scalar/workspace-store/events'\n\n/**\n * Builds an extractor that pulls a string from `payload` at `path` and emits\n * it under `{ [key]: value }`. Returns `{}` when the leaf is missing or is\n * not a string.\n *\n * `key` defaults to the dotted form of `path` (e.g. `['meta', 'type']` becomes\n * `'meta.type'`), matching the existing PostHog property names.\n *\n * Built on `getValueAtPath`, so null/undefined traversal and missing segments\n * are handled centrally.\n */\nconst stringAtPath = (path: string[], key: string = path.join('.')) => {\n return (payload: unknown): Record<string, unknown> => {\n const value = getValueAtPath(payload, path)\n return typeof value === 'string' ? { [key]: value } : {}\n }\n}\n\n/** Extractor for events whose only useful property is the fact they fired. */\nconst empty = (): Record<string, unknown> => ({})\n\n/**\n * Allowlist of events that should be forwarded to PostHog.\n *\n * Each key is an event name; its value is an extractor that pulls only the\n * safe, non-PII properties we want to track. Events not in this map are\n * silently dropped — this keeps the analytics surface explicit and auditable.\n */\ntype PayloadExtractor<K extends keyof ApiReferenceEvents = keyof ApiReferenceEvents> = (\n payload: ApiReferenceEvents[K],\n) => Record<string, unknown> | ApiReferenceEvents[K]\n\n/** Maps every event to either a typed extractor or `undefined` (opt-out) */\ntype TrackedEventsMap = {\n [K in keyof ApiReferenceEvents]: PayloadExtractor<K> | undefined\n}\n\nexport const TRACKED_EVENTS: TrackedEventsMap = {\n // Auth events — track the scheme type so we know which auth methods are popular\n 'auth:update:selected-security-schemes': stringAtPath(['meta', 'type']),\n 'auth:update:active-index': stringAtPath(['meta', 'type']),\n 'auth:update:security-scheme': stringAtPath(['payload', 'type']),\n 'auth:clear:selected-security-schemes': stringAtPath(['meta', 'type']),\n 'auth:update:selected-scopes': stringAtPath(['meta', 'type']),\n 'auth:delete:security-scheme': empty,\n 'auth:clear:security-scheme-secrets': empty,\n 'auth:upsert:scopes': empty,\n 'auth:delete:scopes': empty,\n\n // Cookie events — track whether it belongs to a document or workspace\n 'cookie:upsert:cookie': stringAtPath(['collectionType']),\n 'cookie:delete:cookie': stringAtPath(['collectionType']),\n\n // Environment events — same document-vs-workspace distinction\n 'environment:upsert:environment': stringAtPath(['collectionType']),\n 'environment:delete:environment': stringAtPath(['collectionType']),\n 'environment:upsert:environment-variable': stringAtPath(['collectionType']),\n 'environment:delete:environment-variable': stringAtPath(['collectionType']),\n\n // Document lifecycle\n 'document:create:empty-document': empty,\n 'document:delete:document': empty,\n 'document:update:info': empty,\n 'document:update:icon': empty,\n 'document:update:watch-mode': empty,\n\n // Operation events — contentType helps us understand payload format usage\n 'operation:send:request:hotkey': empty,\n 'operation:cancel:request': empty,\n 'operation:create:operation': empty,\n 'operation:delete:operation': empty,\n 'operation:create:draft-example': empty,\n 'operation:delete:example': empty,\n 'operation:update:requestBody:contentType': stringAtPath(['payload', 'contentType']),\n 'operation:update:pathMethod': empty,\n 'operation:rename:example': empty,\n 'operation:reload:history': empty,\n\n // UI events — track which surfaces users interact with\n 'ui:open:client-modal': empty,\n 'ui:open:command-palette': empty,\n 'ui:open:settings': empty,\n 'ui:download:document': stringAtPath(['format']),\n 'ui:toggle:sidebar': empty,\n 'ui:save:local-document': empty,\n 'copy-url:address-bar': empty,\n 'tabs:add:tab': empty,\n 'tabs:copy:url': empty,\n\n // Server events\n 'server:add:server': empty,\n 'server:delete:server': empty,\n\n // Tag events\n 'tag:create:tag': empty,\n 'tag:delete:tag': empty,\n\n // Request lifecycle hooks — lets us measure request volume without capturing bodies\n 'hooks:on:request:sent': empty,\n 'hooks:on:request:complete': empty,\n 'hooks:on:rebase:document:complete': empty,\n\n // Workspace preference events\n 'workspace:update:color-mode': empty,\n 'workspace:update:theme': empty,\n 'workspace:update:selected-client': empty,\n 'workspace:update:selected-example': empty,\n 'workspace:update:active-proxy': (payload) => ({ enabled: !!payload }),\n 'workspace:update:active-environment': empty,\n\n // Meta events\n 'update:dark-mode': empty,\n 'update:active-document': empty,\n 'update:selected-client': empty,\n\n // Account funnel events\n 'log:login-click': empty,\n 'log:register-click': empty,\n 'log:user-login': empty,\n 'log:user-logout': empty,\n\n // Document sync and save events\n 'log:save-document': empty,\n 'log:sync-pull-document': empty,\n 'log:sync-push-document': empty,\n\n // ---------------------------------------------------------------------------\n // Do not track — explicitly opted out so new events cause a type error\n // until they are consciously placed above with a payload\n // ---------------------------------------------------------------------------\n 'auth:update:security-scheme-secrets': undefined,\n 'analytics:on:show-more': undefined,\n 'analytics:on:loaded': undefined,\n 'document:update:extension': undefined,\n 'operation:update:meta': undefined,\n 'operation:update:extension': undefined,\n 'operation:upsert:parameter': undefined,\n 'operation:update:extra-parameters': undefined,\n 'operation:delete:parameter': undefined,\n 'operation:delete-all:parameters': undefined,\n 'operation:update:requestBody:value': undefined,\n 'operation:update:requestBody:formValue': undefined,\n 'server:initialize:servers': undefined,\n 'server:update:server': undefined,\n 'server:update:variables': undefined,\n 'server:update:selected': undefined,\n 'server:clear:servers': undefined,\n 'asyncapi-server:update:selected': undefined,\n 'asyncapi-server:update:variables': undefined,\n 'tabs:update:tabs': undefined,\n 'tabs:close:tab': undefined,\n 'tabs:close:other-tabs': undefined,\n 'tabs:navigate:previous': undefined,\n 'tabs:navigate:next': undefined,\n 'tabs:focus:tab': undefined,\n 'tabs:focus:tab-last': undefined,\n 'ui:focus:address-bar': undefined,\n 'ui:focus:send-button': undefined,\n 'ui:focus:search': undefined,\n 'ui:open:create-workspace': undefined,\n 'ui:close:client-modal': undefined,\n 'ui:navigate': undefined,\n 'toggle:nav-item': undefined,\n 'select:nav-item': undefined,\n 'intersecting:nav-item': undefined,\n 'scroll-to:nav-item': undefined,\n 'scroll-to:model-by-name': undefined,\n 'copy-url:nav-item': undefined,\n 'tag:edit:tag': undefined,\n 'workspace:update:name': undefined,\n}\n\n/**\n * Returns sanitized properties for a tracked event, or `null` if the event\n * should not be captured at all.\n *\n * This is the only function that the PostHog plugin needs to call — it\n * encapsulates both the \"should we track this?\" decision and the \"what\n * properties are safe to send?\" extraction in one step.\n */\nexport const sanitizeEventPayload = <K extends keyof ApiReferenceEvents>(\n event: K,\n payload: ApiReferenceEvents[K],\n): Record<string, unknown> | ApiReferenceEvents[K] | null => {\n const extractor = TRACKED_EVENTS[event]\n if (!extractor) {\n return null\n }\n return extractor(payload)\n}\n"],"mappings":"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"}
1
+ {"version":3,"file":"sanitize-event-payload.js","names":[],"sources":["../../../src/plugins/posthog/sanitize-event-payload.ts"],"sourcesContent":["import { getValueAtPath } from '@scalar/helpers/object/get-value-at-path'\nimport type { ApiReferenceEvents } from '@scalar/workspace-store/events'\n\n/**\n * Builds an extractor that pulls a string from `payload` at `path` and emits\n * it under `{ [key]: value }`. Returns `{}` when the leaf is missing or is\n * not a string.\n *\n * `key` defaults to the dotted form of `path` (e.g. `['meta', 'type']` becomes\n * `'meta.type'`), matching the existing PostHog property names.\n *\n * Built on `getValueAtPath`, so null/undefined traversal and missing segments\n * are handled centrally.\n */\nconst stringAtPath = (path: string[], key: string = path.join('.')) => {\n return (payload: unknown): Record<string, unknown> => {\n const value = getValueAtPath(payload, path)\n return typeof value === 'string' ? { [key]: value } : {}\n }\n}\n\n/** Extractor for events whose only useful property is the fact they fired. */\nconst empty = (): Record<string, unknown> => ({})\n\n/**\n * Allowlist of events that should be forwarded to PostHog.\n *\n * Each key is an event name; its value is an extractor that pulls only the\n * safe, non-PII properties we want to track. Events not in this map are\n * silently dropped — this keeps the analytics surface explicit and auditable.\n */\ntype PayloadExtractor<K extends keyof ApiReferenceEvents = keyof ApiReferenceEvents> = (\n payload: ApiReferenceEvents[K],\n) => Record<string, unknown> | ApiReferenceEvents[K]\n\n/** Maps every event to either a typed extractor or `undefined` (opt-out) */\ntype TrackedEventsMap = {\n [K in keyof ApiReferenceEvents]: PayloadExtractor<K> | undefined\n}\n\nexport const TRACKED_EVENTS: TrackedEventsMap = {\n // Auth events — track the scheme type so we know which auth methods are popular\n 'auth:update:selected-security-schemes': stringAtPath(['meta', 'type']),\n 'auth:update:active-index': stringAtPath(['meta', 'type']),\n 'auth:update:security-scheme': stringAtPath(['payload', 'type']),\n 'auth:clear:selected-security-schemes': stringAtPath(['meta', 'type']),\n 'auth:update:selected-scopes': stringAtPath(['meta', 'type']),\n 'auth:delete:security-scheme': empty,\n 'auth:clear:security-scheme-secrets': empty,\n 'auth:upsert:scopes': empty,\n 'auth:delete:scopes': empty,\n\n // Cookie events — track whether it belongs to a document or workspace\n 'cookie:upsert:cookie': stringAtPath(['collectionType']),\n 'cookie:delete:cookie': stringAtPath(['collectionType']),\n\n // Environment events — same document-vs-workspace distinction\n 'environment:upsert:environment': stringAtPath(['collectionType']),\n 'environment:delete:environment': stringAtPath(['collectionType']),\n 'environment:upsert:environment-variable': stringAtPath(['collectionType']),\n 'environment:delete:environment-variable': stringAtPath(['collectionType']),\n\n // Document lifecycle\n 'document:create:empty-document': empty,\n 'document:delete:document': empty,\n 'document:update:info': empty,\n 'document:update:icon': empty,\n 'document:update:watch-mode': empty,\n\n // Operation events — contentType helps us understand payload format usage\n 'operation:send:request:hotkey': empty,\n 'operation:cancel:request': empty,\n 'operation:create:operation': empty,\n 'operation:delete:operation': empty,\n 'operation:create:draft-example': empty,\n 'operation:delete:example': empty,\n 'operation:update:requestBody:contentType': stringAtPath(['payload', 'contentType']),\n 'operation:update:pathMethod': empty,\n 'operation:rename:example': empty,\n 'operation:reload:history': empty,\n\n // UI events — track which surfaces users interact with\n 'ui:open:client-modal': empty,\n 'ui:open:command-palette': empty,\n 'ui:open:settings': empty,\n 'ui:download:document': stringAtPath(['format']),\n 'ui:toggle:sidebar': empty,\n 'ui:save:local-document': empty,\n 'copy-url:address-bar': empty,\n 'tabs:add:tab': empty,\n 'tabs:copy:url': empty,\n\n // Server events\n 'server:add:server': empty,\n 'server:delete:server': empty,\n\n // Tag events\n 'tag:create:tag': empty,\n 'tag:delete:tag': empty,\n\n // Request lifecycle hooks — lets us measure request volume without capturing bodies\n 'hooks:on:request:sent': empty,\n 'hooks:on:request:complete': empty,\n 'hooks:on:rebase:document:complete': empty,\n\n // Workspace preference events\n 'workspace:update:color-mode': empty,\n 'workspace:update:theme': empty,\n 'workspace:update:selected-client': empty,\n 'workspace:update:selected-example': empty,\n 'workspace:update:active-proxy': (payload) => ({ enabled: !!payload }),\n 'workspace:update:active-environment': empty,\n\n // Meta events\n 'update:dark-mode': empty,\n 'update:active-document': empty,\n 'update:selected-client': empty,\n\n // Account funnel events\n 'log:login-click': empty,\n 'log:register-click': empty,\n 'log:user-login': empty,\n 'log:user-logout': empty,\n\n // Document sync and save events\n 'log:save-document': empty,\n 'log:sync-pull-document': empty,\n 'log:sync-push-document': empty,\n\n // ---------------------------------------------------------------------------\n // Do not track — explicitly opted out so new events cause a type error\n // until they are consciously placed above with a payload\n // ---------------------------------------------------------------------------\n 'auth:update:security-scheme-secrets': undefined,\n 'analytics:on:show-more': undefined,\n 'analytics:on:loaded': undefined,\n 'document:update:extension': undefined,\n 'operation:update:meta': undefined,\n 'operation:update:extension': undefined,\n 'operation:upsert:parameter': undefined,\n 'operation:update:extra-parameters': undefined,\n 'operation:delete:parameter': undefined,\n 'operation:delete-all:parameters': undefined,\n 'operation:update:requestBody:value': undefined,\n 'operation:update:requestBody:formValue': undefined,\n 'server:initialize:servers': undefined,\n 'server:update:server': undefined,\n 'server:update:variables': undefined,\n 'server:update:selected': undefined,\n 'server:clear:servers': undefined,\n 'asyncapi-server:update:selected': undefined,\n 'asyncapi-server:update:variables': undefined,\n 'tabs:update:tabs': undefined,\n 'tabs:close:tab': undefined,\n 'tabs:close:other-tabs': undefined,\n 'tabs:navigate:previous': undefined,\n 'tabs:navigate:next': undefined,\n 'tabs:focus:tab': undefined,\n 'tabs:focus:tab-last': undefined,\n 'ui:focus:address-bar': undefined,\n 'ui:focus:send-button': undefined,\n 'ui:focus:search': undefined,\n 'ui:open:create-workspace': undefined,\n 'ui:close:client-modal': undefined,\n 'ui:navigate': undefined,\n 'toggle:nav-item': undefined,\n 'select:nav-item': undefined,\n 'intersecting:nav-item': undefined,\n 'scroll-to:nav-item': undefined,\n 'scroll-to:model-by-name': undefined,\n 'copy-url:nav-item': undefined,\n 'tag:edit:tag': undefined,\n 'workspace:update:name': undefined,\n}\n\n/**\n * Returns sanitized properties for a tracked event, or `null` if the event\n * should not be captured at all.\n *\n * This is the only function that the PostHog plugin needs to call — it\n * encapsulates both the \"should we track this?\" decision and the \"what\n * properties are safe to send?\" extraction in one step.\n */\nexport const sanitizeEventPayload = <K extends keyof ApiReferenceEvents>(\n event: K,\n payload: ApiReferenceEvents[K],\n): Record<string, unknown> | ApiReferenceEvents[K] | null => {\n const extractor = TRACKED_EVENTS[event]\n if (!extractor) {\n return null\n }\n return extractor(payload)\n}\n"],"mappings":"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"}