@scalar/workspace-store 0.40.2 → 0.40.4

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 (368) hide show
  1. package/CHANGELOG.md +13 -0
  2. package/dist/client.d.ts +7 -2
  3. package/dist/client.d.ts.map +1 -1
  4. package/dist/client.js +820 -681
  5. package/dist/entities/auth/index.js +96 -101
  6. package/dist/entities/auth/schema.d.ts +10 -0
  7. package/dist/entities/auth/schema.d.ts.map +1 -1
  8. package/dist/entities/auth/schema.js +42 -116
  9. package/dist/entities/history/index.js +80 -60
  10. package/dist/entities/history/schema.js +94 -88
  11. package/dist/events/bus.js +146 -93
  12. package/dist/events/definitions/analytics.js +1 -1
  13. package/dist/events/definitions/auth.js +1 -1
  14. package/dist/events/definitions/common.js +1 -1
  15. package/dist/events/definitions/cookie.js +1 -1
  16. package/dist/events/definitions/document.js +1 -1
  17. package/dist/events/definitions/environment.js +1 -1
  18. package/dist/events/definitions/hooks.js +1 -1
  19. package/dist/events/definitions/index.js +1 -1
  20. package/dist/events/definitions/meta.js +1 -1
  21. package/dist/events/definitions/operation.js +1 -1
  22. package/dist/events/definitions/server.js +1 -1
  23. package/dist/events/definitions/tabs.js +1 -1
  24. package/dist/events/definitions/tag.js +1 -1
  25. package/dist/events/definitions/ui.js +1 -1
  26. package/dist/events/definitions/workspace.js +1 -1
  27. package/dist/events/index.js +3 -9
  28. package/dist/events/listeners.js +20 -22
  29. package/dist/events/old-definitions.js +15 -12
  30. package/dist/helpers/deep-clone.js +33 -17
  31. package/dist/helpers/detect-changes-proxy.js +95 -57
  32. package/dist/helpers/general.js +78 -23
  33. package/dist/helpers/generate-unique-value.js +77 -45
  34. package/dist/helpers/get-fetch.js +12 -10
  35. package/dist/helpers/get-resolved-ref.js +11 -10
  36. package/dist/helpers/is-non-optional-security-requirement.js +3 -6
  37. package/dist/helpers/merge-object.js +71 -30
  38. package/dist/helpers/overrides-proxy.js +98 -58
  39. package/dist/helpers/unpack-proxy.js +60 -58
  40. package/dist/mutators/auth.js +358 -230
  41. package/dist/mutators/cookie.js +59 -42
  42. package/dist/mutators/document.js +104 -66
  43. package/dist/mutators/environment.js +97 -72
  44. package/dist/mutators/helpers.js +9 -13
  45. package/dist/mutators/index.js +62 -49
  46. package/dist/mutators/operation/body.js +88 -57
  47. package/dist/mutators/operation/extensions.js +20 -12
  48. package/dist/mutators/operation/helpers/fetch-request-to-har.js +144 -107
  49. package/dist/mutators/operation/helpers/fetch-response-to-har.js +143 -95
  50. package/dist/mutators/operation/helpers/get-parameter-position.js +12 -12
  51. package/dist/mutators/operation/helpers/har-to-operation.js +169 -132
  52. package/dist/mutators/operation/helpers/sync-path-parameters.js +109 -60
  53. package/dist/mutators/operation/history.js +60 -64
  54. package/dist/mutators/operation/index.js +25 -49
  55. package/dist/mutators/operation/operation.js +349 -240
  56. package/dist/mutators/operation/parameters.js +157 -93
  57. package/dist/mutators/server.js +213 -152
  58. package/dist/mutators/tabs.js +173 -130
  59. package/dist/mutators/tag.js +131 -97
  60. package/dist/mutators/workspace.js +72 -42
  61. package/dist/navigation/get-navigation-options.js +97 -84
  62. package/dist/navigation/helpers/get-openapi-object.js +46 -29
  63. package/dist/navigation/helpers/get-operation-entries.js +72 -32
  64. package/dist/navigation/helpers/get-parent-entry.js +16 -12
  65. package/dist/navigation/helpers/get-tag-entries.js +56 -29
  66. package/dist/navigation/helpers/get-tag.js +22 -23
  67. package/dist/navigation/helpers/get-x-keys.js +13 -9
  68. package/dist/navigation/helpers/traverse-description.js +90 -72
  69. package/dist/navigation/helpers/traverse-document.js +111 -98
  70. package/dist/navigation/helpers/traverse-examples.js +35 -31
  71. package/dist/navigation/helpers/traverse-paths.js +118 -106
  72. package/dist/navigation/helpers/traverse-schemas.js +65 -64
  73. package/dist/navigation/helpers/traverse-tags.js +158 -129
  74. package/dist/navigation/helpers/traverse-webhooks.js +96 -90
  75. package/dist/navigation/helpers/update-order-ids.js +59 -51
  76. package/dist/navigation/helpers/utils.js +71 -21
  77. package/dist/navigation/index.js +5 -13
  78. package/dist/navigation/types.js +1 -1
  79. package/dist/persistence/index.js +283 -285
  80. package/dist/persistence/indexdb.js +263 -126
  81. package/dist/plugins/bundler/helpers.js +21 -12
  82. package/dist/plugins/bundler/index.d.ts +7 -0
  83. package/dist/plugins/bundler/index.d.ts.map +1 -1
  84. package/dist/plugins/bundler/index.js +305 -171
  85. package/dist/plugins/client/index.js +1 -5
  86. package/dist/plugins/client/persistence.js +95 -90
  87. package/dist/resolve.js +18 -25
  88. package/dist/schemas/compose.js +6 -7
  89. package/dist/schemas/extensions/document/x-internal.js +3 -7
  90. package/dist/schemas/extensions/document/x-scalar-environments.js +16 -22
  91. package/dist/schemas/extensions/document/x-scalar-icon.js +3 -7
  92. package/dist/schemas/extensions/document/x-scalar-ignore.js +3 -7
  93. package/dist/schemas/extensions/document/x-scalar-is-dirty.js +21 -8
  94. package/dist/schemas/extensions/document/x-scalar-original-document-hash.js +17 -8
  95. package/dist/schemas/extensions/document/x-scalar-registry-meta.js +15 -21
  96. package/dist/schemas/extensions/document/x-scalar-sdk-installation.js +5 -13
  97. package/dist/schemas/extensions/document/x-scalar-watch-mode.js +4 -8
  98. package/dist/schemas/extensions/document/x-tags.js +3 -7
  99. package/dist/schemas/extensions/example/x-disabled.js +17 -7
  100. package/dist/schemas/extensions/general/x-scalar-active-environment.js +4 -7
  101. package/dist/schemas/extensions/general/x-scalar-cookies.js +9 -14
  102. package/dist/schemas/extensions/general/x-scalar-order.js +8 -7
  103. package/dist/schemas/extensions/operation/index.js +4 -23
  104. package/dist/schemas/extensions/operation/x-badge.js +42 -50
  105. package/dist/schemas/extensions/operation/x-code-samples.js +8 -12
  106. package/dist/schemas/extensions/operation/x-draft-examples.js +3 -7
  107. package/dist/schemas/extensions/operation/x-post-response.js +18 -7
  108. package/dist/schemas/extensions/operation/x-scalar-disable-parameters.js +57 -13
  109. package/dist/schemas/extensions/operation/x-scalar-selected-content-type.js +9 -7
  110. package/dist/schemas/extensions/operation/x-scalar-stability.js +15 -14
  111. package/dist/schemas/extensions/parameter/x-global.js +12 -7
  112. package/dist/schemas/extensions/schema/x-additional-properties-name.js +10 -7
  113. package/dist/schemas/extensions/schema/x-enum-descriptions.js +17 -12
  114. package/dist/schemas/extensions/schema/x-enum-varnames.js +21 -8
  115. package/dist/schemas/extensions/schema/x-examples.js +3 -7
  116. package/dist/schemas/extensions/schema/x-variable.js +3 -7
  117. package/dist/schemas/extensions/security/index.js +1 -1
  118. package/dist/schemas/extensions/security/x-default-scopes.js +16 -7
  119. package/dist/schemas/extensions/security/x-scalar-credentials-location.js +16 -7
  120. package/dist/schemas/extensions/security/x-scalar-security-body.js +14 -7
  121. package/dist/schemas/extensions/security/x-scalar-security-query.js +14 -7
  122. package/dist/schemas/extensions/security/x-scalar-security-secrets.js +66 -37
  123. package/dist/schemas/extensions/security/x-tokenName.js +11 -7
  124. package/dist/schemas/extensions/security/x-use-pkce.js +6 -10
  125. package/dist/schemas/extensions/server/x-scalar-selected-server.js +3 -7
  126. package/dist/schemas/extensions/tag/index.js +1 -1
  127. package/dist/schemas/extensions/tag/x-display-name.js +11 -7
  128. package/dist/schemas/extensions/tag/x-tag-groups.js +13 -15
  129. package/dist/schemas/extensions/workspace/index.js +2 -11
  130. package/dist/schemas/extensions/workspace/x-scalar-active-proxy.js +13 -7
  131. package/dist/schemas/extensions/workspace/x-scalar-tabs.js +15 -13
  132. package/dist/schemas/extensions.js +11 -15
  133. package/dist/schemas/inmemory-workspace.d.ts +6 -0
  134. package/dist/schemas/inmemory-workspace.d.ts.map +1 -1
  135. package/dist/schemas/inmemory-workspace.js +13 -21
  136. package/dist/schemas/navigation.js +48 -85
  137. package/dist/schemas/reference-config/appearance.js +15 -22
  138. package/dist/schemas/reference-config/features.js +14 -21
  139. package/dist/schemas/reference-config/index.d.ts +2 -0
  140. package/dist/schemas/reference-config/index.d.ts.map +1 -1
  141. package/dist/schemas/reference-config/index.js +42 -44
  142. package/dist/schemas/reference-config/meta.js +11 -18
  143. package/dist/schemas/reference-config/routing.js +7 -14
  144. package/dist/schemas/reference-config/settings.d.ts +2 -0
  145. package/dist/schemas/reference-config/settings.d.ts.map +1 -1
  146. package/dist/schemas/reference-config/settings.js +10 -17
  147. package/dist/schemas/typebox-coerce.js +23 -6
  148. package/dist/schemas/v3.1/strict/callback.js +6 -12
  149. package/dist/schemas/v3.1/strict/components.js +26 -48
  150. package/dist/schemas/v3.1/strict/contact.js +9 -12
  151. package/dist/schemas/v3.1/strict/discriminator.js +11 -10
  152. package/dist/schemas/v3.1/strict/encoding.js +15 -12
  153. package/dist/schemas/v3.1/strict/example.js +11 -13
  154. package/dist/schemas/v3.1/strict/external-documentation.js +7 -10
  155. package/dist/schemas/v3.1/strict/header.js +27 -28
  156. package/dist/schemas/v3.1/strict/info.js +10 -16
  157. package/dist/schemas/v3.1/strict/license.js +9 -12
  158. package/dist/schemas/v3.1/strict/link.js +22 -19
  159. package/dist/schemas/v3.1/strict/media-type.js +17 -16
  160. package/dist/schemas/v3.1/strict/oauth-flow.js +28 -62
  161. package/dist/schemas/v3.1/strict/oauthflows.js +14 -20
  162. package/dist/schemas/v3.1/strict/openapi-document.d.ts +70 -0
  163. package/dist/schemas/v3.1/strict/openapi-document.d.ts.map +1 -1
  164. package/dist/schemas/v3.1/strict/openapi-document.js +126 -210
  165. package/dist/schemas/v3.1/strict/operation.js +16 -43
  166. package/dist/schemas/v3.1/strict/parameter.d.ts +6 -0
  167. package/dist/schemas/v3.1/strict/parameter.d.ts.map +1 -1
  168. package/dist/schemas/v3.1/strict/parameter.js +29 -35
  169. package/dist/schemas/v3.1/strict/path-item.js +36 -40
  170. package/dist/schemas/v3.1/strict/paths.js +8 -11
  171. package/dist/schemas/v3.1/strict/ref-definitions.js +76 -100
  172. package/dist/schemas/v3.1/strict/reference.js +18 -21
  173. package/dist/schemas/v3.1/strict/request-body.js +8 -16
  174. package/dist/schemas/v3.1/strict/response.js +12 -16
  175. package/dist/schemas/v3.1/strict/responses.js +13 -11
  176. package/dist/schemas/v3.1/strict/schema.js +149 -157
  177. package/dist/schemas/v3.1/strict/security-requirement.js +13 -12
  178. package/dist/schemas/v3.1/strict/security-scheme.js +29 -41
  179. package/dist/schemas/v3.1/strict/server-variable.js +9 -12
  180. package/dist/schemas/v3.1/strict/server.js +10 -13
  181. package/dist/schemas/v3.1/strict/tag.js +11 -20
  182. package/dist/schemas/v3.1/strict/type-guards.js +20 -20
  183. package/dist/schemas/v3.1/strict/xml.js +17 -16
  184. package/dist/schemas/workspace-specification/index.js +11 -23
  185. package/dist/schemas/workspace-specification/info.js +4 -8
  186. package/dist/schemas/workspace.d.ts +6 -0
  187. package/dist/schemas/workspace.d.ts.map +1 -1
  188. package/dist/schemas/workspace.js +25 -51
  189. package/dist/schemas.js +2 -6
  190. package/dist/server.js +286 -176
  191. package/dist/workspace-plugin.js +1 -1
  192. package/package.json +13 -19
  193. package/dist/client.js.map +0 -7
  194. package/dist/entities/auth/index.js.map +0 -7
  195. package/dist/entities/auth/schema.js.map +0 -7
  196. package/dist/entities/history/index.js.map +0 -7
  197. package/dist/entities/history/schema.js.map +0 -7
  198. package/dist/events/bus.js.map +0 -7
  199. package/dist/events/definitions/analytics.js.map +0 -7
  200. package/dist/events/definitions/auth.js.map +0 -7
  201. package/dist/events/definitions/common.js.map +0 -7
  202. package/dist/events/definitions/cookie.js.map +0 -7
  203. package/dist/events/definitions/document.js.map +0 -7
  204. package/dist/events/definitions/environment.js.map +0 -7
  205. package/dist/events/definitions/hooks.js.map +0 -7
  206. package/dist/events/definitions/index.js.map +0 -7
  207. package/dist/events/definitions/meta.js.map +0 -7
  208. package/dist/events/definitions/operation.js.map +0 -7
  209. package/dist/events/definitions/server.js.map +0 -7
  210. package/dist/events/definitions/tabs.js.map +0 -7
  211. package/dist/events/definitions/tag.js.map +0 -7
  212. package/dist/events/definitions/ui.js.map +0 -7
  213. package/dist/events/definitions/workspace.js.map +0 -7
  214. package/dist/events/index.js.map +0 -7
  215. package/dist/events/listeners.js.map +0 -7
  216. package/dist/events/old-definitions.js.map +0 -7
  217. package/dist/helpers/apply-selective-updates.d.ts +0 -19
  218. package/dist/helpers/apply-selective-updates.d.ts.map +0 -1
  219. package/dist/helpers/apply-selective-updates.js +0 -37
  220. package/dist/helpers/apply-selective-updates.js.map +0 -7
  221. package/dist/helpers/deep-clone.js.map +0 -7
  222. package/dist/helpers/detect-changes-proxy.js.map +0 -7
  223. package/dist/helpers/general.js.map +0 -7
  224. package/dist/helpers/generate-unique-value.js.map +0 -7
  225. package/dist/helpers/get-fetch.js.map +0 -7
  226. package/dist/helpers/get-resolved-ref.js.map +0 -7
  227. package/dist/helpers/is-non-optional-security-requirement.js.map +0 -7
  228. package/dist/helpers/merge-object.js.map +0 -7
  229. package/dist/helpers/overrides-proxy.js.map +0 -7
  230. package/dist/helpers/unpack-proxy.js.map +0 -7
  231. package/dist/mutators/auth.js.map +0 -7
  232. package/dist/mutators/cookie.js.map +0 -7
  233. package/dist/mutators/document.js.map +0 -7
  234. package/dist/mutators/environment.js.map +0 -7
  235. package/dist/mutators/helpers.js.map +0 -7
  236. package/dist/mutators/index.js.map +0 -7
  237. package/dist/mutators/operation/body.js.map +0 -7
  238. package/dist/mutators/operation/extensions.js.map +0 -7
  239. package/dist/mutators/operation/helpers/fetch-request-to-har.js.map +0 -7
  240. package/dist/mutators/operation/helpers/fetch-response-to-har.js.map +0 -7
  241. package/dist/mutators/operation/helpers/get-parameter-position.js.map +0 -7
  242. package/dist/mutators/operation/helpers/har-to-operation.js.map +0 -7
  243. package/dist/mutators/operation/helpers/sync-path-parameters.js.map +0 -7
  244. package/dist/mutators/operation/history.js.map +0 -7
  245. package/dist/mutators/operation/index.js.map +0 -7
  246. package/dist/mutators/operation/operation.js.map +0 -7
  247. package/dist/mutators/operation/parameters.js.map +0 -7
  248. package/dist/mutators/server.js.map +0 -7
  249. package/dist/mutators/tabs.js.map +0 -7
  250. package/dist/mutators/tag.js.map +0 -7
  251. package/dist/mutators/workspace.js.map +0 -7
  252. package/dist/navigation/get-navigation-options.js.map +0 -7
  253. package/dist/navigation/helpers/get-openapi-object.js.map +0 -7
  254. package/dist/navigation/helpers/get-operation-entries.js.map +0 -7
  255. package/dist/navigation/helpers/get-parent-entry.js.map +0 -7
  256. package/dist/navigation/helpers/get-tag-entries.js.map +0 -7
  257. package/dist/navigation/helpers/get-tag.js.map +0 -7
  258. package/dist/navigation/helpers/get-x-keys.js.map +0 -7
  259. package/dist/navigation/helpers/traverse-description.js.map +0 -7
  260. package/dist/navigation/helpers/traverse-document.js.map +0 -7
  261. package/dist/navigation/helpers/traverse-examples.js.map +0 -7
  262. package/dist/navigation/helpers/traverse-paths.js.map +0 -7
  263. package/dist/navigation/helpers/traverse-schemas.js.map +0 -7
  264. package/dist/navigation/helpers/traverse-tags.js.map +0 -7
  265. package/dist/navigation/helpers/traverse-webhooks.js.map +0 -7
  266. package/dist/navigation/helpers/update-order-ids.js.map +0 -7
  267. package/dist/navigation/helpers/utils.js.map +0 -7
  268. package/dist/navigation/index.js.map +0 -7
  269. package/dist/navigation/types.js.map +0 -7
  270. package/dist/persistence/index.js.map +0 -7
  271. package/dist/persistence/indexdb.js.map +0 -7
  272. package/dist/plugins/bundler/helpers.js.map +0 -7
  273. package/dist/plugins/bundler/index.js.map +0 -7
  274. package/dist/plugins/client/index.js.map +0 -7
  275. package/dist/plugins/client/persistence.js.map +0 -7
  276. package/dist/resolve.js.map +0 -7
  277. package/dist/schemas/compose.js.map +0 -7
  278. package/dist/schemas/extensions/document/x-internal.js.map +0 -7
  279. package/dist/schemas/extensions/document/x-scalar-environments.js.map +0 -7
  280. package/dist/schemas/extensions/document/x-scalar-icon.js.map +0 -7
  281. package/dist/schemas/extensions/document/x-scalar-ignore.js.map +0 -7
  282. package/dist/schemas/extensions/document/x-scalar-is-dirty.js.map +0 -7
  283. package/dist/schemas/extensions/document/x-scalar-original-document-hash.js.map +0 -7
  284. package/dist/schemas/extensions/document/x-scalar-registry-meta.js.map +0 -7
  285. package/dist/schemas/extensions/document/x-scalar-sdk-installation.js.map +0 -7
  286. package/dist/schemas/extensions/document/x-scalar-watch-mode.js.map +0 -7
  287. package/dist/schemas/extensions/document/x-tags.js.map +0 -7
  288. package/dist/schemas/extensions/example/x-disabled.js.map +0 -7
  289. package/dist/schemas/extensions/general/x-scalar-active-environment.js.map +0 -7
  290. package/dist/schemas/extensions/general/x-scalar-cookies.js.map +0 -7
  291. package/dist/schemas/extensions/general/x-scalar-order.js.map +0 -7
  292. package/dist/schemas/extensions/operation/index.js.map +0 -7
  293. package/dist/schemas/extensions/operation/x-badge.js.map +0 -7
  294. package/dist/schemas/extensions/operation/x-code-samples.js.map +0 -7
  295. package/dist/schemas/extensions/operation/x-draft-examples.js.map +0 -7
  296. package/dist/schemas/extensions/operation/x-post-response.js.map +0 -7
  297. package/dist/schemas/extensions/operation/x-scalar-disable-parameters.js.map +0 -7
  298. package/dist/schemas/extensions/operation/x-scalar-selected-content-type.js.map +0 -7
  299. package/dist/schemas/extensions/operation/x-scalar-stability.js.map +0 -7
  300. package/dist/schemas/extensions/parameter/x-global.js.map +0 -7
  301. package/dist/schemas/extensions/schema/x-additional-properties-name.js.map +0 -7
  302. package/dist/schemas/extensions/schema/x-enum-descriptions.js.map +0 -7
  303. package/dist/schemas/extensions/schema/x-enum-varnames.js.map +0 -7
  304. package/dist/schemas/extensions/schema/x-examples.js.map +0 -7
  305. package/dist/schemas/extensions/schema/x-variable.js.map +0 -7
  306. package/dist/schemas/extensions/security/index.js.map +0 -7
  307. package/dist/schemas/extensions/security/x-default-scopes.js.map +0 -7
  308. package/dist/schemas/extensions/security/x-scalar-credentials-location.js.map +0 -7
  309. package/dist/schemas/extensions/security/x-scalar-security-body.js.map +0 -7
  310. package/dist/schemas/extensions/security/x-scalar-security-query.js.map +0 -7
  311. package/dist/schemas/extensions/security/x-scalar-security-secrets.js.map +0 -7
  312. package/dist/schemas/extensions/security/x-tokenName.js.map +0 -7
  313. package/dist/schemas/extensions/security/x-use-pkce.js.map +0 -7
  314. package/dist/schemas/extensions/server/x-scalar-selected-server.js.map +0 -7
  315. package/dist/schemas/extensions/tag/index.js.map +0 -7
  316. package/dist/schemas/extensions/tag/x-display-name.js.map +0 -7
  317. package/dist/schemas/extensions/tag/x-tag-groups.js.map +0 -7
  318. package/dist/schemas/extensions/workspace/index.js.map +0 -7
  319. package/dist/schemas/extensions/workspace/x-scalar-active-proxy.js.map +0 -7
  320. package/dist/schemas/extensions/workspace/x-scalar-tabs.js.map +0 -7
  321. package/dist/schemas/extensions.js.map +0 -7
  322. package/dist/schemas/inmemory-workspace.js.map +0 -7
  323. package/dist/schemas/navigation.js.map +0 -7
  324. package/dist/schemas/reference-config/appearance.js.map +0 -7
  325. package/dist/schemas/reference-config/features.js.map +0 -7
  326. package/dist/schemas/reference-config/index.js.map +0 -7
  327. package/dist/schemas/reference-config/meta.js.map +0 -7
  328. package/dist/schemas/reference-config/routing.js.map +0 -7
  329. package/dist/schemas/reference-config/settings.js.map +0 -7
  330. package/dist/schemas/typebox-coerce.js.map +0 -7
  331. package/dist/schemas/v3.1/strict/callback.js.map +0 -7
  332. package/dist/schemas/v3.1/strict/components.js.map +0 -7
  333. package/dist/schemas/v3.1/strict/contact.js.map +0 -7
  334. package/dist/schemas/v3.1/strict/discriminator.js.map +0 -7
  335. package/dist/schemas/v3.1/strict/encoding.js.map +0 -7
  336. package/dist/schemas/v3.1/strict/example.js.map +0 -7
  337. package/dist/schemas/v3.1/strict/external-documentation.js.map +0 -7
  338. package/dist/schemas/v3.1/strict/header.js.map +0 -7
  339. package/dist/schemas/v3.1/strict/info.js.map +0 -7
  340. package/dist/schemas/v3.1/strict/license.js.map +0 -7
  341. package/dist/schemas/v3.1/strict/link.js.map +0 -7
  342. package/dist/schemas/v3.1/strict/media-type.js.map +0 -7
  343. package/dist/schemas/v3.1/strict/oauth-flow.js.map +0 -7
  344. package/dist/schemas/v3.1/strict/oauthflows.js.map +0 -7
  345. package/dist/schemas/v3.1/strict/openapi-document.js.map +0 -7
  346. package/dist/schemas/v3.1/strict/operation.js.map +0 -7
  347. package/dist/schemas/v3.1/strict/parameter.js.map +0 -7
  348. package/dist/schemas/v3.1/strict/path-item.js.map +0 -7
  349. package/dist/schemas/v3.1/strict/paths.js.map +0 -7
  350. package/dist/schemas/v3.1/strict/ref-definitions.js.map +0 -7
  351. package/dist/schemas/v3.1/strict/reference.js.map +0 -7
  352. package/dist/schemas/v3.1/strict/request-body.js.map +0 -7
  353. package/dist/schemas/v3.1/strict/response.js.map +0 -7
  354. package/dist/schemas/v3.1/strict/responses.js.map +0 -7
  355. package/dist/schemas/v3.1/strict/schema.js.map +0 -7
  356. package/dist/schemas/v3.1/strict/security-requirement.js.map +0 -7
  357. package/dist/schemas/v3.1/strict/security-scheme.js.map +0 -7
  358. package/dist/schemas/v3.1/strict/server-variable.js.map +0 -7
  359. package/dist/schemas/v3.1/strict/server.js.map +0 -7
  360. package/dist/schemas/v3.1/strict/tag.js.map +0 -7
  361. package/dist/schemas/v3.1/strict/type-guards.js.map +0 -7
  362. package/dist/schemas/v3.1/strict/xml.js.map +0 -7
  363. package/dist/schemas/workspace-specification/index.js.map +0 -7
  364. package/dist/schemas/workspace-specification/info.js.map +0 -7
  365. package/dist/schemas/workspace.js.map +0 -7
  366. package/dist/schemas.js.map +0 -7
  367. package/dist/server.js.map +0 -7
  368. package/dist/workspace-plugin.js.map +0 -7
@@ -1,99 +1,105 @@
1
- import { Type } from "@scalar/typebox";
1
+ import { Type } from '@scalar/typebox';
2
2
  const HeaderSchema = Type.Object({
3
- name: Type.String(),
4
- value: Type.String()
3
+ name: Type.String(),
4
+ value: Type.String(),
5
5
  });
6
+ /**
7
+ * This object contains detailed info about performed request.
8
+ */
6
9
  const RequestSchema = Type.Object({
7
- /** Absolute URL of the request (fragments are not included). */
8
- url: Type.String(),
9
- /** Request method (`GET`, `POST`, ...). */
10
- method: Type.String(),
11
- /** Request HTTP Version. */
12
- httpVersion: Type.String(),
13
- /** List of header objects. */
14
- headers: Type.Array(HeaderSchema),
15
- /** List of cookie objects. */
16
- cookies: Type.Array(HeaderSchema),
17
- /**
18
- * Total number of bytes from the start of the HTTP request message until
19
- * (and including) the double CRLF before the body.
20
- *
21
- * Set to `-1` if the info is not available.
22
- */
23
- headersSize: Type.Number(),
24
- /** List of query string objects. */
25
- queryString: Type.Array(HeaderSchema),
26
- /**
27
- * Size of the request body (POST data payload) in bytes.
28
- *
29
- * Set to `-1` if the info is not available.
30
- */
31
- bodySize: Type.Number(),
32
- /** Posted data info. */
33
- postData: Type.Optional(
34
- Type.Union([
35
- Type.Object({
36
- /** Mime type of posted data. */
37
- mimeType: Type.String(),
38
- text: Type.String()
39
- }),
40
- Type.Object({
41
- /** Mime type of posted data. */
42
- mimeType: Type.String(),
43
- params: Type.Array(Type.Object({ name: Type.String(), value: Type.Optional(Type.String()) }))
44
- })
45
- ])
46
- )
10
+ /** Absolute URL of the request (fragments are not included). */
11
+ url: Type.String(),
12
+ /** Request method (`GET`, `POST`, ...). */
13
+ method: Type.String(),
14
+ /** Request HTTP Version. */
15
+ httpVersion: Type.String(),
16
+ /** List of header objects. */
17
+ headers: Type.Array(HeaderSchema),
18
+ /** List of cookie objects. */
19
+ cookies: Type.Array(HeaderSchema),
20
+ /**
21
+ * Total number of bytes from the start of the HTTP request message until
22
+ * (and including) the double CRLF before the body.
23
+ *
24
+ * Set to `-1` if the info is not available.
25
+ */
26
+ headersSize: Type.Number(),
27
+ /** List of query string objects. */
28
+ queryString: Type.Array(HeaderSchema),
29
+ /**
30
+ * Size of the request body (POST data payload) in bytes.
31
+ *
32
+ * Set to `-1` if the info is not available.
33
+ */
34
+ bodySize: Type.Number(),
35
+ /** Posted data info. */
36
+ postData: Type.Optional(Type.Union([
37
+ Type.Object({
38
+ /** Mime type of posted data. */
39
+ mimeType: Type.String(),
40
+ text: Type.String(),
41
+ }),
42
+ Type.Object({
43
+ /** Mime type of posted data. */
44
+ mimeType: Type.String(),
45
+ params: Type.Array(Type.Object({ name: Type.String(), value: Type.Optional(Type.String()) })),
46
+ }),
47
+ ])),
47
48
  });
48
49
  const ResponseSchema = Type.Object({
49
- status: Type.Number(),
50
- statusText: Type.String(),
51
- headers: Type.Array(HeaderSchema),
52
- cookies: Type.Array(HeaderSchema),
53
- httpVersion: Type.String(),
54
- redirectURL: Type.String(),
55
- headersSize: Type.Number(),
56
- bodySize: Type.Number(),
57
- content: Type.Object({
58
- size: Type.Number(),
59
- mimeType: Type.String(),
60
- encoding: Type.Optional(Type.String()),
61
- text: Type.Optional(Type.String())
62
- })
50
+ status: Type.Number(),
51
+ statusText: Type.String(),
52
+ headers: Type.Array(HeaderSchema),
53
+ cookies: Type.Array(HeaderSchema),
54
+ httpVersion: Type.String(),
55
+ redirectURL: Type.String(),
56
+ headersSize: Type.Number(),
57
+ bodySize: Type.Number(),
58
+ content: Type.Object({
59
+ size: Type.Number(),
60
+ mimeType: Type.String(),
61
+ encoding: Type.Optional(Type.String()),
62
+ text: Type.Optional(Type.String()),
63
+ }),
63
64
  });
64
65
  const HistoryEntrySchema = Type.Object({
65
- /**
66
- * Total elapsed time of the request in milliseconds.
67
- *
68
- * This is the sum of all timings available in the timings object
69
- * (i.e. not including `-1` values).
70
- */
71
- time: Type.Number(),
72
- /** Timestamp of the request. */
73
- timestamp: Type.Number(),
74
- /** Detailed info about the request. */
75
- request: RequestSchema,
76
- /** Detailed info about the response. */
77
- response: ResponseSchema,
78
- /** Meta data about the request. */
79
- meta: Type.Object({
80
- /** The example key for the request. */
81
- example: Type.String()
82
- }),
83
- requestMetadata: Type.Object({
84
- /** Variables used in the request.
66
+ /**
67
+ * Total elapsed time of the request in milliseconds.
85
68
  *
86
- * Since HAR format does not support variables, we need to store them here.
87
- * This way we can easily re-use the request with the same variables.
88
- * We don't need to do any server + variables matching and replacement.
69
+ * This is the sum of all timings available in the timings object
70
+ * (i.e. not including `-1` values).
89
71
  */
90
- variables: Type.Record(Type.String(), Type.String())
91
- // Other meta fields (e.g., server) can be added here in the future.
92
- })
72
+ time: Type.Number(),
73
+ /** Timestamp of the request. */
74
+ timestamp: Type.Number(),
75
+ /** Detailed info about the request. */
76
+ request: RequestSchema,
77
+ /** Detailed info about the response. */
78
+ response: ResponseSchema,
79
+ /** Meta data about the request. */
80
+ meta: Type.Object({
81
+ /** The example key for the request. */
82
+ example: Type.String(),
83
+ }),
84
+ requestMetadata: Type.Object({
85
+ /** Variables used in the request.
86
+ *
87
+ * Since HAR format does not support variables, we need to store them here.
88
+ * This way we can easily re-use the request with the same variables.
89
+ * We don't need to do any server + variables matching and replacement.
90
+ */
91
+ variables: Type.Record(Type.String(), Type.String()),
92
+ // Other meta fields (e.g., server) can be added here in the future.
93
+ }),
93
94
  });
95
+ /**
96
+ * Schema for the path method history.
97
+ *
98
+ * {
99
+ * "path": {
100
+ * "method": [Entry]
101
+ * }
102
+ * }
103
+ */
94
104
  const PathMethodHistorySchema = Type.Record(Type.String(), Type.Record(Type.String(), Type.Array(HistoryEntrySchema)));
95
- const DocumentHistorySchema = Type.Record(Type.String(), PathMethodHistorySchema);
96
- export {
97
- DocumentHistorySchema
98
- };
99
- //# sourceMappingURL=schema.js.map
105
+ export const DocumentHistorySchema = Type.Record(Type.String(), PathMethodHistorySchema);
@@ -1,96 +1,149 @@
1
- import { debounce } from "@scalar/helpers/general/debounce";
2
- import { unpackProxyObject } from "../helpers/unpack-proxy.js";
3
- const createWorkspaceEventBus = (options = {}) => {
4
- const { debug = false } = options;
5
- const events = /* @__PURE__ */ new Map();
6
- const pendingLogs = [];
7
- let logTimeout = null;
8
- const { execute: debouncedEmitter } = debounce({ delay: 328 });
9
- const getListeners = (event) => {
10
- const listeners = events.get(event) ?? /* @__PURE__ */ new Set();
11
- events.set(event, listeners);
12
- return listeners;
13
- };
14
- const flushLogs = () => {
15
- if (pendingLogs.length === 0) {
16
- return;
17
- }
18
- if (debug) {
19
- if (pendingLogs.length === 1) {
20
- const firstLog = pendingLogs[0];
21
- if (firstLog) {
22
- console.log(`[EventBus] ${firstLog.message}`, ...firstLog.args);
1
+ import { debounce } from '@scalar/helpers/general/debounce';
2
+ import { unpackProxyObject } from '../helpers/unpack-proxy.js';
3
+ /**
4
+ * Creates a type-safe event bus for workspace events
5
+ *
6
+ * This implementation uses a Map for O(1) lookups and maintains
7
+ * a separate Set for each event type to efficiently manage listeners.
8
+ *
9
+ * Create this once per application instance.
10
+ *
11
+ * @param options - Configuration options
12
+ * @returns A fully type-safe event bus instance
13
+ *
14
+ * @example
15
+ * const bus = createWorkspaceEventBus()
16
+ *
17
+ * // Subscribe to events
18
+ * const unsubscribe = bus.on('scalar-update-sidebar', (detail) => {
19
+ * console.log('Sidebar:', detail.value)
20
+ * })
21
+ *
22
+ * // Emit events
23
+ * bus.emit('scalar-update-sidebar', { value: true })
24
+ *
25
+ * // Clean up
26
+ * unsubscribe()
27
+ */
28
+ export const createWorkspaceEventBus = (options = {}) => {
29
+ const { debug = false } = options;
30
+ const events = new Map();
31
+ const pendingLogs = [];
32
+ let logTimeout = null;
33
+ /**
34
+ * Single debounce instance for all debounced emits
35
+ * Uses keys to separate different event + debounceKey combinations
36
+ */
37
+ const { execute: debouncedEmitter } = debounce({ delay: 328 });
38
+ /**
39
+ * Get or create a listener set for an event
40
+ */
41
+ const getListeners = (event) => {
42
+ const listeners = events.get(event) ?? new Set();
43
+ events.set(event, listeners);
44
+ return listeners;
45
+ };
46
+ /**
47
+ * Flush batched logs using console.groupCollapsed
48
+ */
49
+ const flushLogs = () => {
50
+ if (pendingLogs.length === 0) {
51
+ return;
23
52
  }
24
- } else {
25
- console.groupCollapsed(`[EventBus] ${pendingLogs.length} operations`);
26
- for (const { message, args } of pendingLogs) {
27
- console.log(message, ...args);
53
+ if (debug) {
54
+ if (pendingLogs.length === 1) {
55
+ // Only one log, output it normally without grouping
56
+ const firstLog = pendingLogs[0];
57
+ if (firstLog) {
58
+ console.log(`[EventBus] ${firstLog.message}`, ...firstLog.args);
59
+ }
60
+ }
61
+ else {
62
+ // Multiple logs, use a collapsed group
63
+ console.groupCollapsed(`[EventBus] ${pendingLogs.length} operations`);
64
+ for (const { message, args } of pendingLogs) {
65
+ console.log(message, ...args);
66
+ }
67
+ console.groupEnd();
68
+ }
28
69
  }
29
- console.groupEnd();
30
- }
31
- }
32
- pendingLogs.length = 0;
33
- logTimeout = null;
34
- };
35
- const log = (message, ...args) => {
36
- if (debug) {
37
- pendingLogs.push({ message, args });
38
- if (logTimeout) {
39
- clearTimeout(logTimeout);
40
- }
41
- logTimeout = setTimeout(flushLogs, 500);
42
- }
43
- };
44
- const on = (event, listener) => {
45
- const listeners = getListeners(event);
46
- listeners.add(listener);
47
- log(`Added listener for "${String(event)}" (${listeners.size} total)`);
48
- return () => off(event, listener);
49
- };
50
- const off = (event, listener) => {
51
- const listeners = events.get(event);
52
- if (!listeners) {
53
- return;
54
- }
55
- listeners.delete(listener);
56
- log(`Removed listener for "${String(event)}" (${listeners.size} remaining)`);
57
- if (listeners.size === 0) {
58
- events.delete(event);
59
- }
60
- };
61
- const performEmit = (event, payload, options2) => {
62
- const unpackedPayload = options2?.skipUnpackProxy ? payload : unpackProxyObject(payload, { depth: 5 });
63
- const listeners = events.get(event);
64
- if (!listeners || listeners.size === 0) {
65
- log(`\u{1F6D1} No listeners for "${String(event)}"`);
66
- return;
67
- }
68
- log(`Emitting "${String(event)}" to ${listeners.size} listener(s)`, payload);
69
- const listenersArray = Array.from(listeners);
70
- for (const listener of listenersArray) {
71
- try {
72
- listener(unpackedPayload);
73
- } catch (error) {
74
- console.error(`[EventBus] Error in listener for "${String(event)}":`, error);
75
- }
76
- }
77
- };
78
- const emit = (...args) => {
79
- const [event, payload, options2] = args;
80
- if (!options2?.debounceKey) {
81
- performEmit(event, payload, options2);
82
- return;
83
- }
84
- const debounceMapKey = `${event}-${options2.debounceKey}`;
85
- debouncedEmitter(debounceMapKey, () => performEmit(event, payload, options2));
86
- };
87
- return {
88
- on,
89
- off,
90
- emit
91
- };
92
- };
93
- export {
94
- createWorkspaceEventBus
70
+ pendingLogs.length = 0;
71
+ logTimeout = null;
72
+ };
73
+ /**
74
+ * Log debug information if debug mode is enabled
75
+ * Batches multiple logs together using console.groupCollapsed
76
+ */
77
+ const log = (message, ...args) => {
78
+ if (debug) {
79
+ pendingLogs.push({ message, args });
80
+ // Clear existing timeout and set a new one to batch logs
81
+ if (logTimeout) {
82
+ clearTimeout(logTimeout);
83
+ }
84
+ logTimeout = setTimeout(flushLogs, 500);
85
+ }
86
+ };
87
+ const on = (event, listener) => {
88
+ const listeners = getListeners(event);
89
+ listeners.add(listener);
90
+ log(`Added listener for "${String(event)}" (${listeners.size} total)`);
91
+ return () => off(event, listener);
92
+ };
93
+ const off = (event, listener) => {
94
+ const listeners = events.get(event);
95
+ if (!listeners) {
96
+ return;
97
+ }
98
+ listeners.delete(listener);
99
+ log(`Removed listener for "${String(event)}" (${listeners.size} remaining)`);
100
+ // Clean up empty listener sets to avoid memory leaks
101
+ if (listeners.size === 0) {
102
+ events.delete(event);
103
+ }
104
+ };
105
+ /**
106
+ * Internal function that performs the actual emission logic
107
+ * This is extracted so it can be wrapped with debouncing
108
+ */
109
+ const performEmit = (event, payload, options) => {
110
+ // We unpack the payload here to ensure that, within mutators, we are not assigning proxies directly,
111
+ // but are always assigning plain objects 5 level depth.
112
+ const unpackedPayload = options?.skipUnpackProxy ? payload : unpackProxyObject(payload, { depth: 5 });
113
+ const listeners = events.get(event);
114
+ if (!listeners || listeners.size === 0) {
115
+ log(`🛑 No listeners for "${String(event)}"`);
116
+ return;
117
+ }
118
+ log(`Emitting "${String(event)}" to ${listeners.size} listener(s)`, payload);
119
+ // Convert to array to avoid issues if listeners modify the set during iteration
120
+ const listenersArray = Array.from(listeners);
121
+ // Execute all listeners
122
+ for (const listener of listenersArray) {
123
+ try {
124
+ listener(unpackedPayload);
125
+ }
126
+ catch (error) {
127
+ // Do not let one listener error break other listeners
128
+ console.error(`[EventBus] Error in listener for "${String(event)}":`, error);
129
+ }
130
+ }
131
+ };
132
+ const emit = (...args) => {
133
+ const [event, payload, options] = args;
134
+ // If no debounce key is provided, emit immediately
135
+ if (!options?.debounceKey) {
136
+ performEmit(event, payload, options);
137
+ return;
138
+ }
139
+ // Create a unique key for this event + debounce key combination
140
+ const debounceMapKey = `${event}-${options.debounceKey}`;
141
+ // Pass the closure directly - debounce will store the latest version
142
+ debouncedEmitter(debounceMapKey, () => performEmit(event, payload, options));
143
+ };
144
+ return {
145
+ on,
146
+ off,
147
+ emit,
148
+ };
95
149
  };
96
- //# sourceMappingURL=bus.js.map
@@ -1 +1 @@
1
- //# sourceMappingURL=analytics.js.map
1
+ export {};
@@ -1 +1 @@
1
- //# sourceMappingURL=auth.js.map
1
+ export {};
@@ -1 +1 @@
1
- //# sourceMappingURL=common.js.map
1
+ export {};
@@ -1 +1 @@
1
- //# sourceMappingURL=cookie.js.map
1
+ export {};
@@ -1 +1 @@
1
- //# sourceMappingURL=document.js.map
1
+ export {};
@@ -1 +1 @@
1
- //# sourceMappingURL=environment.js.map
1
+ export {};
@@ -1 +1 @@
1
- //# sourceMappingURL=hooks.js.map
1
+ export {};
@@ -1 +1 @@
1
- //# sourceMappingURL=index.js.map
1
+ export {};
@@ -1 +1 @@
1
- //# sourceMappingURL=meta.js.map
1
+ export {};
@@ -1 +1 @@
1
- //# sourceMappingURL=operation.js.map
1
+ export {};
@@ -1 +1 @@
1
- //# sourceMappingURL=server.js.map
1
+ export {};
@@ -1 +1 @@
1
- //# sourceMappingURL=tabs.js.map
1
+ export {};
@@ -1 +1 @@
1
- //# sourceMappingURL=tag.js.map
1
+ export {};
@@ -1 +1 @@
1
- //# sourceMappingURL=ui.js.map
1
+ export {};
@@ -1 +1 @@
1
- //# sourceMappingURL=workspace.js.map
1
+ export {};
@@ -1,9 +1,3 @@
1
- import { createWorkspaceEventBus } from "./bus.js";
2
- import { onCustomEvent } from "./listeners.js";
3
- import { emitCustomEvent } from "./old-definitions.js";
4
- export {
5
- createWorkspaceEventBus,
6
- emitCustomEvent,
7
- onCustomEvent
8
- };
9
- //# sourceMappingURL=index.js.map
1
+ export { createWorkspaceEventBus } from './bus.js';
2
+ export { onCustomEvent } from './listeners.js';
3
+ export { emitCustomEvent } from './old-definitions.js';
@@ -1,23 +1,21 @@
1
- import { onBeforeUnmount, watch } from "vue";
2
- function onCustomEvent(el, event, handler) {
3
- watch(
4
- () => el.value,
5
- (element) => {
6
- if (!element) {
7
- return;
8
- }
9
- element.addEventListener(event, handler);
10
- },
11
- { immediate: true }
12
- );
13
- onBeforeUnmount(() => {
14
- if (!el.value) {
15
- return;
16
- }
17
- el.value.removeEventListener(event, handler);
18
- });
1
+ import { onBeforeUnmount, watch } from 'vue';
2
+ /**
3
+ * Vue wrapper for attaching and removing event listeners
4
+ *
5
+ * @deprecated Use the the event bus instead
6
+ */
7
+ export function onCustomEvent(el, event, handler) {
8
+ // Any time the element reference changes, we need to add the event listener
9
+ watch(() => el.value, (element) => {
10
+ if (!element) {
11
+ return;
12
+ }
13
+ element.addEventListener(event, handler);
14
+ }, { immediate: true });
15
+ onBeforeUnmount(() => {
16
+ if (!el.value) {
17
+ return;
18
+ }
19
+ el.value.removeEventListener(event, handler);
20
+ });
19
21
  }
20
- export {
21
- onCustomEvent
22
- };
23
- //# sourceMappingURL=listeners.js.map
@@ -1,13 +1,16 @@
1
- function emitCustomEvent(target, event, detail) {
2
- const instance = new CustomEvent(event, {
3
- detail,
4
- bubbles: true,
5
- composed: true,
6
- cancelable: true
7
- });
8
- target?.dispatchEvent(instance);
1
+ /**
2
+ * Scalar blocks will use vanilla events to allow more flexibility in integrations
3
+ *
4
+ * Event can include typed payloads using the `data` property. A target for the dispatch must be provided.
5
+ *
6
+ * @deprecated Use the the event bus instead
7
+ */
8
+ export function emitCustomEvent(target, event, detail) {
9
+ const instance = new CustomEvent(event, {
10
+ detail: detail,
11
+ bubbles: true,
12
+ composed: true,
13
+ cancelable: true,
14
+ });
15
+ target?.dispatchEvent(instance);
9
16
  }
10
- export {
11
- emitCustomEvent
12
- };
13
- //# sourceMappingURL=old-definitions.js.map
@@ -1,18 +1,34 @@
1
- const deepClone = (value, hash = /* @__PURE__ */ new WeakMap()) => {
2
- if (typeof value !== "object" || value === null) {
3
- return value;
4
- }
5
- if (hash.has(value)) {
6
- return hash.get(value);
7
- }
8
- const result = Array.isArray(value) ? [] : {};
9
- hash.set(value, result);
10
- Object.keys(value).forEach((key) => {
11
- result[key] = deepClone(value[key], hash);
12
- });
13
- return result;
1
+ /**
2
+ * Deeply clones an object or array, handling circular references.
3
+ *
4
+ * This function recursively copies all properties of the input value,
5
+ * creating a new object or array. If the input contains circular references,
6
+ * they are preserved in the clone using a WeakMap to track already-cloned objects.
7
+ *
8
+ * @param value - The value to deep clone (object, array, or primitive)
9
+ * @param hash - (internal) WeakMap for tracking circular references
10
+ * @returns A deep clone of the input value
11
+ *
12
+ * @example
13
+ * const obj: any = { a: 1 }
14
+ * obj.self = obj
15
+ * const clone = deepClone(obj)
16
+ * console.log(clone) // { a: 1, self: [Circular] }
17
+ * console.log(clone !== obj) // true
18
+ * console.log(clone.self === clone) // true
19
+ */
20
+ export const deepClone = (value, hash = new WeakMap()) => {
21
+ if (typeof value !== 'object' || value === null) {
22
+ return value;
23
+ }
24
+ if (hash.has(value)) {
25
+ return hash.get(value);
26
+ }
27
+ const result = Array.isArray(value) ? [] : {};
28
+ hash.set(value, result);
29
+ Object.keys(value).forEach((key) => {
30
+ // @ts-expect-error: Index signature for generic object
31
+ result[key] = deepClone(value[key], hash);
32
+ });
33
+ return result;
14
34
  };
15
- export {
16
- deepClone
17
- };
18
- //# sourceMappingURL=deep-clone.js.map