pppakot 1.0.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 (1554) hide show
  1. package/backend/.env +1 -0
  2. package/backend/index.js +29 -0
  3. package/backend/models/feed.js +37 -0
  4. package/backend/node_modules/.package-lock.json +1103 -0
  5. package/backend/node_modules/@mongodb-js/saslprep/LICENSE +22 -0
  6. package/backend/node_modules/@mongodb-js/saslprep/dist/.esm-wrapper.mjs +4 -0
  7. package/backend/node_modules/@mongodb-js/saslprep/dist/browser.d.ts +5 -0
  8. package/backend/node_modules/@mongodb-js/saslprep/dist/browser.d.ts.map +1 -0
  9. package/backend/node_modules/@mongodb-js/saslprep/dist/browser.js +12 -0
  10. package/backend/node_modules/@mongodb-js/saslprep/dist/browser.js.map +1 -0
  11. package/backend/node_modules/@mongodb-js/saslprep/dist/code-points-data-browser.d.ts +3 -0
  12. package/backend/node_modules/@mongodb-js/saslprep/dist/code-points-data-browser.d.ts.map +1 -0
  13. package/backend/node_modules/@mongodb-js/saslprep/dist/code-points-data-browser.js +5 -0
  14. package/backend/node_modules/@mongodb-js/saslprep/dist/code-points-data-browser.js.map +1 -0
  15. package/backend/node_modules/@mongodb-js/saslprep/dist/code-points-data.d.ts +3 -0
  16. package/backend/node_modules/@mongodb-js/saslprep/dist/code-points-data.d.ts.map +1 -0
  17. package/backend/node_modules/@mongodb-js/saslprep/dist/code-points-data.js +5 -0
  18. package/backend/node_modules/@mongodb-js/saslprep/dist/code-points-data.js.map +1 -0
  19. package/backend/node_modules/@mongodb-js/saslprep/dist/code-points-src.d.ts +7 -0
  20. package/backend/node_modules/@mongodb-js/saslprep/dist/code-points-src.d.ts.map +1 -0
  21. package/backend/node_modules/@mongodb-js/saslprep/dist/code-points-src.js +881 -0
  22. package/backend/node_modules/@mongodb-js/saslprep/dist/code-points-src.js.map +1 -0
  23. package/backend/node_modules/@mongodb-js/saslprep/dist/generate-code-points.d.ts +2 -0
  24. package/backend/node_modules/@mongodb-js/saslprep/dist/generate-code-points.d.ts.map +1 -0
  25. package/backend/node_modules/@mongodb-js/saslprep/dist/generate-code-points.js +83 -0
  26. package/backend/node_modules/@mongodb-js/saslprep/dist/generate-code-points.js.map +1 -0
  27. package/backend/node_modules/@mongodb-js/saslprep/dist/index.d.ts +11 -0
  28. package/backend/node_modules/@mongodb-js/saslprep/dist/index.d.ts.map +1 -0
  29. package/backend/node_modules/@mongodb-js/saslprep/dist/index.js +65 -0
  30. package/backend/node_modules/@mongodb-js/saslprep/dist/index.js.map +1 -0
  31. package/backend/node_modules/@mongodb-js/saslprep/dist/memory-code-points.d.ts +10 -0
  32. package/backend/node_modules/@mongodb-js/saslprep/dist/memory-code-points.d.ts.map +1 -0
  33. package/backend/node_modules/@mongodb-js/saslprep/dist/memory-code-points.js +32 -0
  34. package/backend/node_modules/@mongodb-js/saslprep/dist/memory-code-points.js.map +1 -0
  35. package/backend/node_modules/@mongodb-js/saslprep/dist/node.d.ts +10 -0
  36. package/backend/node_modules/@mongodb-js/saslprep/dist/node.d.ts.map +1 -0
  37. package/backend/node_modules/@mongodb-js/saslprep/dist/node.js +15 -0
  38. package/backend/node_modules/@mongodb-js/saslprep/dist/node.js.map +1 -0
  39. package/backend/node_modules/@mongodb-js/saslprep/dist/util.d.ts +2 -0
  40. package/backend/node_modules/@mongodb-js/saslprep/dist/util.d.ts.map +1 -0
  41. package/backend/node_modules/@mongodb-js/saslprep/dist/util.js +11 -0
  42. package/backend/node_modules/@mongodb-js/saslprep/dist/util.js.map +1 -0
  43. package/backend/node_modules/@mongodb-js/saslprep/package.json +87 -0
  44. package/backend/node_modules/@mongodb-js/saslprep/readme.md +29 -0
  45. package/backend/node_modules/@standard-schema/spec/LICENSE +21 -0
  46. package/backend/node_modules/@standard-schema/spec/README.md +198 -0
  47. package/backend/node_modules/@standard-schema/spec/dist/index.cjs +18 -0
  48. package/backend/node_modules/@standard-schema/spec/dist/index.d.cts +119 -0
  49. package/backend/node_modules/@standard-schema/spec/dist/index.d.ts +119 -0
  50. package/backend/node_modules/@standard-schema/spec/dist/index.js +0 -0
  51. package/backend/node_modules/@standard-schema/spec/package.json +52 -0
  52. package/backend/node_modules/@types/webidl-conversions/LICENSE +21 -0
  53. package/backend/node_modules/@types/webidl-conversions/README.md +15 -0
  54. package/backend/node_modules/@types/webidl-conversions/index.d.ts +91 -0
  55. package/backend/node_modules/@types/webidl-conversions/package.json +30 -0
  56. package/backend/node_modules/@types/whatwg-url/LICENSE +21 -0
  57. package/backend/node_modules/@types/whatwg-url/README.md +15 -0
  58. package/backend/node_modules/@types/whatwg-url/index.d.ts +172 -0
  59. package/backend/node_modules/@types/whatwg-url/lib/URL-impl.d.ts +22 -0
  60. package/backend/node_modules/@types/whatwg-url/lib/URL.d.ts +66 -0
  61. package/backend/node_modules/@types/whatwg-url/lib/URLSearchParams-impl.d.ts +20 -0
  62. package/backend/node_modules/@types/whatwg-url/lib/URLSearchParams.d.ts +92 -0
  63. package/backend/node_modules/@types/whatwg-url/package.json +38 -0
  64. package/backend/node_modules/@types/whatwg-url/webidl2js-wrapper.d.ts +4 -0
  65. package/backend/node_modules/accepts/HISTORY.md +250 -0
  66. package/backend/node_modules/accepts/LICENSE +23 -0
  67. package/backend/node_modules/accepts/README.md +140 -0
  68. package/backend/node_modules/accepts/index.js +238 -0
  69. package/backend/node_modules/accepts/package.json +47 -0
  70. package/backend/node_modules/body-parser/LICENSE +23 -0
  71. package/backend/node_modules/body-parser/README.md +509 -0
  72. package/backend/node_modules/body-parser/index.js +55 -0
  73. package/backend/node_modules/body-parser/lib/read.js +247 -0
  74. package/backend/node_modules/body-parser/lib/types/json.js +186 -0
  75. package/backend/node_modules/body-parser/lib/types/raw.js +42 -0
  76. package/backend/node_modules/body-parser/lib/types/text.js +36 -0
  77. package/backend/node_modules/body-parser/lib/types/urlencoded.js +138 -0
  78. package/backend/node_modules/body-parser/lib/utils.js +100 -0
  79. package/backend/node_modules/body-parser/node_modules/content-type/LICENSE +22 -0
  80. package/backend/node_modules/body-parser/node_modules/content-type/README.md +69 -0
  81. package/backend/node_modules/body-parser/node_modules/content-type/dist/index.d.ts +26 -0
  82. package/backend/node_modules/body-parser/node_modules/content-type/dist/index.js +170 -0
  83. package/backend/node_modules/body-parser/node_modules/content-type/dist/index.js.map +1 -0
  84. package/backend/node_modules/body-parser/node_modules/content-type/package.json +52 -0
  85. package/backend/node_modules/body-parser/package.json +65 -0
  86. package/backend/node_modules/bson/LICENSE.md +201 -0
  87. package/backend/node_modules/bson/README.md +297 -0
  88. package/backend/node_modules/bson/bson.d.ts +1894 -0
  89. package/backend/node_modules/bson/etc/prepare.js +19 -0
  90. package/backend/node_modules/bson/lib/bson.bundle.js +4750 -0
  91. package/backend/node_modules/bson/lib/bson.bundle.js.map +1 -0
  92. package/backend/node_modules/bson/lib/bson.cjs +4745 -0
  93. package/backend/node_modules/bson/lib/bson.cjs.map +1 -0
  94. package/backend/node_modules/bson/lib/bson.mjs +4712 -0
  95. package/backend/node_modules/bson/lib/bson.mjs.map +1 -0
  96. package/backend/node_modules/bson/lib/bson.node.mjs +4712 -0
  97. package/backend/node_modules/bson/lib/bson.node.mjs.map +1 -0
  98. package/backend/node_modules/bson/lib/bson.rn.cjs +4753 -0
  99. package/backend/node_modules/bson/lib/bson.rn.cjs.map +1 -0
  100. package/backend/node_modules/bson/package.json +118 -0
  101. package/backend/node_modules/bson/src/binary.ts +751 -0
  102. package/backend/node_modules/bson/src/bson.ts +253 -0
  103. package/backend/node_modules/bson/src/bson_value.ts +55 -0
  104. package/backend/node_modules/bson/src/code.ts +69 -0
  105. package/backend/node_modules/bson/src/constants.ts +147 -0
  106. package/backend/node_modules/bson/src/db_ref.ts +128 -0
  107. package/backend/node_modules/bson/src/decimal128.ts +855 -0
  108. package/backend/node_modules/bson/src/double.ts +115 -0
  109. package/backend/node_modules/bson/src/error.ts +105 -0
  110. package/backend/node_modules/bson/src/extended_json.ts +554 -0
  111. package/backend/node_modules/bson/src/index.ts +19 -0
  112. package/backend/node_modules/bson/src/int_32.ts +101 -0
  113. package/backend/node_modules/bson/src/long.ts +1240 -0
  114. package/backend/node_modules/bson/src/max_key.ts +31 -0
  115. package/backend/node_modules/bson/src/min_key.ts +31 -0
  116. package/backend/node_modules/bson/src/objectid.ts +396 -0
  117. package/backend/node_modules/bson/src/parse_utf8.ts +35 -0
  118. package/backend/node_modules/bson/src/parser/calculate_size.ts +225 -0
  119. package/backend/node_modules/bson/src/parser/deserializer.ts +793 -0
  120. package/backend/node_modules/bson/src/parser/on_demand/index.ts +32 -0
  121. package/backend/node_modules/bson/src/parser/on_demand/parse_to_elements.ts +190 -0
  122. package/backend/node_modules/bson/src/parser/serializer.ts +748 -0
  123. package/backend/node_modules/bson/src/parser/utils.ts +69 -0
  124. package/backend/node_modules/bson/src/regexp.ts +114 -0
  125. package/backend/node_modules/bson/src/symbol.ts +55 -0
  126. package/backend/node_modules/bson/src/timestamp.ts +330 -0
  127. package/backend/node_modules/bson/src/utils/byte_utils.ts +80 -0
  128. package/backend/node_modules/bson/src/utils/latin.ts +104 -0
  129. package/backend/node_modules/bson/src/utils/node_byte_utils.ts +193 -0
  130. package/backend/node_modules/bson/src/utils/number_utils.ts +204 -0
  131. package/backend/node_modules/bson/src/utils/string_utils.ts +44 -0
  132. package/backend/node_modules/bson/src/utils/web_byte_utils.ts +304 -0
  133. package/backend/node_modules/bytes/History.md +97 -0
  134. package/backend/node_modules/bytes/LICENSE +23 -0
  135. package/backend/node_modules/bytes/Readme.md +152 -0
  136. package/backend/node_modules/bytes/index.js +170 -0
  137. package/backend/node_modules/bytes/package.json +42 -0
  138. package/backend/node_modules/call-bind-apply-helpers/.eslintrc +17 -0
  139. package/backend/node_modules/call-bind-apply-helpers/.github/FUNDING.yml +12 -0
  140. package/backend/node_modules/call-bind-apply-helpers/.nycrc +9 -0
  141. package/backend/node_modules/call-bind-apply-helpers/CHANGELOG.md +30 -0
  142. package/backend/node_modules/call-bind-apply-helpers/LICENSE +21 -0
  143. package/backend/node_modules/call-bind-apply-helpers/README.md +62 -0
  144. package/backend/node_modules/call-bind-apply-helpers/actualApply.d.ts +1 -0
  145. package/backend/node_modules/call-bind-apply-helpers/actualApply.js +10 -0
  146. package/backend/node_modules/call-bind-apply-helpers/applyBind.d.ts +19 -0
  147. package/backend/node_modules/call-bind-apply-helpers/applyBind.js +10 -0
  148. package/backend/node_modules/call-bind-apply-helpers/functionApply.d.ts +1 -0
  149. package/backend/node_modules/call-bind-apply-helpers/functionApply.js +4 -0
  150. package/backend/node_modules/call-bind-apply-helpers/functionCall.d.ts +1 -0
  151. package/backend/node_modules/call-bind-apply-helpers/functionCall.js +4 -0
  152. package/backend/node_modules/call-bind-apply-helpers/index.d.ts +64 -0
  153. package/backend/node_modules/call-bind-apply-helpers/index.js +15 -0
  154. package/backend/node_modules/call-bind-apply-helpers/package.json +85 -0
  155. package/backend/node_modules/call-bind-apply-helpers/reflectApply.d.ts +3 -0
  156. package/backend/node_modules/call-bind-apply-helpers/reflectApply.js +4 -0
  157. package/backend/node_modules/call-bind-apply-helpers/test/index.js +63 -0
  158. package/backend/node_modules/call-bind-apply-helpers/tsconfig.json +9 -0
  159. package/backend/node_modules/call-bound/.eslintrc +13 -0
  160. package/backend/node_modules/call-bound/.github/FUNDING.yml +12 -0
  161. package/backend/node_modules/call-bound/.nycrc +9 -0
  162. package/backend/node_modules/call-bound/CHANGELOG.md +42 -0
  163. package/backend/node_modules/call-bound/LICENSE +21 -0
  164. package/backend/node_modules/call-bound/README.md +53 -0
  165. package/backend/node_modules/call-bound/index.d.ts +94 -0
  166. package/backend/node_modules/call-bound/index.js +19 -0
  167. package/backend/node_modules/call-bound/package.json +99 -0
  168. package/backend/node_modules/call-bound/test/index.js +61 -0
  169. package/backend/node_modules/call-bound/tsconfig.json +10 -0
  170. package/backend/node_modules/content-disposition/LICENSE +22 -0
  171. package/backend/node_modules/content-disposition/README.md +141 -0
  172. package/backend/node_modules/content-disposition/index.js +536 -0
  173. package/backend/node_modules/content-disposition/package.json +40 -0
  174. package/backend/node_modules/content-type/HISTORY.md +29 -0
  175. package/backend/node_modules/content-type/LICENSE +22 -0
  176. package/backend/node_modules/content-type/README.md +94 -0
  177. package/backend/node_modules/content-type/index.js +225 -0
  178. package/backend/node_modules/content-type/package.json +42 -0
  179. package/backend/node_modules/cookie/LICENSE +24 -0
  180. package/backend/node_modules/cookie/README.md +317 -0
  181. package/backend/node_modules/cookie/SECURITY.md +25 -0
  182. package/backend/node_modules/cookie/index.js +335 -0
  183. package/backend/node_modules/cookie/package.json +44 -0
  184. package/backend/node_modules/cookie-signature/History.md +70 -0
  185. package/backend/node_modules/cookie-signature/LICENSE +22 -0
  186. package/backend/node_modules/cookie-signature/Readme.md +23 -0
  187. package/backend/node_modules/cookie-signature/index.js +47 -0
  188. package/backend/node_modules/cookie-signature/package.json +24 -0
  189. package/backend/node_modules/cors/LICENSE +22 -0
  190. package/backend/node_modules/cors/README.md +277 -0
  191. package/backend/node_modules/cors/lib/index.js +238 -0
  192. package/backend/node_modules/cors/package.json +42 -0
  193. package/backend/node_modules/debug/LICENSE +20 -0
  194. package/backend/node_modules/debug/README.md +481 -0
  195. package/backend/node_modules/debug/package.json +64 -0
  196. package/backend/node_modules/debug/src/browser.js +272 -0
  197. package/backend/node_modules/debug/src/common.js +292 -0
  198. package/backend/node_modules/debug/src/index.js +10 -0
  199. package/backend/node_modules/debug/src/node.js +263 -0
  200. package/backend/node_modules/depd/History.md +103 -0
  201. package/backend/node_modules/depd/LICENSE +22 -0
  202. package/backend/node_modules/depd/Readme.md +280 -0
  203. package/backend/node_modules/depd/index.js +538 -0
  204. package/backend/node_modules/depd/lib/browser/index.js +77 -0
  205. package/backend/node_modules/depd/package.json +45 -0
  206. package/backend/node_modules/dotenv/CHANGELOG.md +643 -0
  207. package/backend/node_modules/dotenv/LICENSE +23 -0
  208. package/backend/node_modules/dotenv/README-es.md +757 -0
  209. package/backend/node_modules/dotenv/README.md +812 -0
  210. package/backend/node_modules/dotenv/SECURITY.md +1 -0
  211. package/backend/node_modules/dotenv/config.d.ts +1 -0
  212. package/backend/node_modules/dotenv/config.js +9 -0
  213. package/backend/node_modules/dotenv/lib/cli-options.js +17 -0
  214. package/backend/node_modules/dotenv/lib/env-options.js +28 -0
  215. package/backend/node_modules/dotenv/lib/main.d.ts +179 -0
  216. package/backend/node_modules/dotenv/lib/main.js +423 -0
  217. package/backend/node_modules/dotenv/package.json +62 -0
  218. package/backend/node_modules/dotenv/skills/dotenv/SKILL.md +200 -0
  219. package/backend/node_modules/dotenv/skills/dotenvx/SKILL.md +118 -0
  220. package/backend/node_modules/dunder-proto/.eslintrc +5 -0
  221. package/backend/node_modules/dunder-proto/.github/FUNDING.yml +12 -0
  222. package/backend/node_modules/dunder-proto/.nycrc +13 -0
  223. package/backend/node_modules/dunder-proto/CHANGELOG.md +24 -0
  224. package/backend/node_modules/dunder-proto/LICENSE +21 -0
  225. package/backend/node_modules/dunder-proto/README.md +54 -0
  226. package/backend/node_modules/dunder-proto/get.d.ts +5 -0
  227. package/backend/node_modules/dunder-proto/get.js +30 -0
  228. package/backend/node_modules/dunder-proto/package.json +76 -0
  229. package/backend/node_modules/dunder-proto/set.d.ts +5 -0
  230. package/backend/node_modules/dunder-proto/set.js +35 -0
  231. package/backend/node_modules/dunder-proto/test/get.js +34 -0
  232. package/backend/node_modules/dunder-proto/test/index.js +4 -0
  233. package/backend/node_modules/dunder-proto/test/set.js +50 -0
  234. package/backend/node_modules/dunder-proto/tsconfig.json +9 -0
  235. package/backend/node_modules/ee-first/LICENSE +22 -0
  236. package/backend/node_modules/ee-first/README.md +80 -0
  237. package/backend/node_modules/ee-first/index.js +95 -0
  238. package/backend/node_modules/ee-first/package.json +29 -0
  239. package/backend/node_modules/encodeurl/LICENSE +22 -0
  240. package/backend/node_modules/encodeurl/README.md +109 -0
  241. package/backend/node_modules/encodeurl/index.js +60 -0
  242. package/backend/node_modules/encodeurl/package.json +40 -0
  243. package/backend/node_modules/es-define-property/.eslintrc +13 -0
  244. package/backend/node_modules/es-define-property/.github/FUNDING.yml +12 -0
  245. package/backend/node_modules/es-define-property/.nycrc +9 -0
  246. package/backend/node_modules/es-define-property/CHANGELOG.md +29 -0
  247. package/backend/node_modules/es-define-property/LICENSE +21 -0
  248. package/backend/node_modules/es-define-property/README.md +49 -0
  249. package/backend/node_modules/es-define-property/index.d.ts +3 -0
  250. package/backend/node_modules/es-define-property/index.js +14 -0
  251. package/backend/node_modules/es-define-property/package.json +81 -0
  252. package/backend/node_modules/es-define-property/test/index.js +56 -0
  253. package/backend/node_modules/es-define-property/tsconfig.json +10 -0
  254. package/backend/node_modules/es-errors/.eslintrc +5 -0
  255. package/backend/node_modules/es-errors/.github/FUNDING.yml +12 -0
  256. package/backend/node_modules/es-errors/CHANGELOG.md +40 -0
  257. package/backend/node_modules/es-errors/LICENSE +21 -0
  258. package/backend/node_modules/es-errors/README.md +55 -0
  259. package/backend/node_modules/es-errors/eval.d.ts +3 -0
  260. package/backend/node_modules/es-errors/eval.js +4 -0
  261. package/backend/node_modules/es-errors/index.d.ts +3 -0
  262. package/backend/node_modules/es-errors/index.js +4 -0
  263. package/backend/node_modules/es-errors/package.json +80 -0
  264. package/backend/node_modules/es-errors/range.d.ts +3 -0
  265. package/backend/node_modules/es-errors/range.js +4 -0
  266. package/backend/node_modules/es-errors/ref.d.ts +3 -0
  267. package/backend/node_modules/es-errors/ref.js +4 -0
  268. package/backend/node_modules/es-errors/syntax.d.ts +3 -0
  269. package/backend/node_modules/es-errors/syntax.js +4 -0
  270. package/backend/node_modules/es-errors/test/index.js +19 -0
  271. package/backend/node_modules/es-errors/tsconfig.json +49 -0
  272. package/backend/node_modules/es-errors/type.d.ts +3 -0
  273. package/backend/node_modules/es-errors/type.js +4 -0
  274. package/backend/node_modules/es-errors/uri.d.ts +3 -0
  275. package/backend/node_modules/es-errors/uri.js +4 -0
  276. package/backend/node_modules/es-object-atoms/.eslintrc +16 -0
  277. package/backend/node_modules/es-object-atoms/.github/FUNDING.yml +12 -0
  278. package/backend/node_modules/es-object-atoms/CHANGELOG.md +44 -0
  279. package/backend/node_modules/es-object-atoms/LICENSE +21 -0
  280. package/backend/node_modules/es-object-atoms/README.md +63 -0
  281. package/backend/node_modules/es-object-atoms/RequireObjectCoercible.d.ts +3 -0
  282. package/backend/node_modules/es-object-atoms/RequireObjectCoercible.js +11 -0
  283. package/backend/node_modules/es-object-atoms/ToObject.d.ts +7 -0
  284. package/backend/node_modules/es-object-atoms/ToObject.js +10 -0
  285. package/backend/node_modules/es-object-atoms/index.d.ts +3 -0
  286. package/backend/node_modules/es-object-atoms/index.js +4 -0
  287. package/backend/node_modules/es-object-atoms/isObject.d.ts +3 -0
  288. package/backend/node_modules/es-object-atoms/isObject.js +6 -0
  289. package/backend/node_modules/es-object-atoms/package.json +79 -0
  290. package/backend/node_modules/es-object-atoms/test/index.js +38 -0
  291. package/backend/node_modules/es-object-atoms/tsconfig.json +7 -0
  292. package/backend/node_modules/escape-html/LICENSE +24 -0
  293. package/backend/node_modules/escape-html/Readme.md +43 -0
  294. package/backend/node_modules/escape-html/index.js +78 -0
  295. package/backend/node_modules/escape-html/package.json +24 -0
  296. package/backend/node_modules/etag/HISTORY.md +83 -0
  297. package/backend/node_modules/etag/LICENSE +22 -0
  298. package/backend/node_modules/etag/README.md +159 -0
  299. package/backend/node_modules/etag/index.js +131 -0
  300. package/backend/node_modules/etag/package.json +47 -0
  301. package/backend/node_modules/express/LICENSE +24 -0
  302. package/backend/node_modules/express/Readme.md +276 -0
  303. package/backend/node_modules/express/index.js +11 -0
  304. package/backend/node_modules/express/lib/application.js +631 -0
  305. package/backend/node_modules/express/lib/express.js +81 -0
  306. package/backend/node_modules/express/lib/request.js +514 -0
  307. package/backend/node_modules/express/lib/response.js +1053 -0
  308. package/backend/node_modules/express/lib/utils.js +271 -0
  309. package/backend/node_modules/express/lib/view.js +205 -0
  310. package/backend/node_modules/express/package.json +99 -0
  311. package/backend/node_modules/finalhandler/HISTORY.md +239 -0
  312. package/backend/node_modules/finalhandler/LICENSE +22 -0
  313. package/backend/node_modules/finalhandler/README.md +150 -0
  314. package/backend/node_modules/finalhandler/index.js +293 -0
  315. package/backend/node_modules/finalhandler/package.json +47 -0
  316. package/backend/node_modules/forwarded/HISTORY.md +21 -0
  317. package/backend/node_modules/forwarded/LICENSE +22 -0
  318. package/backend/node_modules/forwarded/README.md +57 -0
  319. package/backend/node_modules/forwarded/index.js +90 -0
  320. package/backend/node_modules/forwarded/package.json +45 -0
  321. package/backend/node_modules/fresh/HISTORY.md +80 -0
  322. package/backend/node_modules/fresh/LICENSE +23 -0
  323. package/backend/node_modules/fresh/README.md +117 -0
  324. package/backend/node_modules/fresh/index.js +136 -0
  325. package/backend/node_modules/fresh/package.json +46 -0
  326. package/backend/node_modules/function-bind/.eslintrc +21 -0
  327. package/backend/node_modules/function-bind/.github/FUNDING.yml +12 -0
  328. package/backend/node_modules/function-bind/.github/SECURITY.md +3 -0
  329. package/backend/node_modules/function-bind/.nycrc +13 -0
  330. package/backend/node_modules/function-bind/CHANGELOG.md +136 -0
  331. package/backend/node_modules/function-bind/LICENSE +20 -0
  332. package/backend/node_modules/function-bind/README.md +46 -0
  333. package/backend/node_modules/function-bind/implementation.js +84 -0
  334. package/backend/node_modules/function-bind/index.js +5 -0
  335. package/backend/node_modules/function-bind/package.json +87 -0
  336. package/backend/node_modules/function-bind/test/.eslintrc +9 -0
  337. package/backend/node_modules/function-bind/test/index.js +252 -0
  338. package/backend/node_modules/get-intrinsic/.eslintrc +42 -0
  339. package/backend/node_modules/get-intrinsic/.github/FUNDING.yml +12 -0
  340. package/backend/node_modules/get-intrinsic/.nycrc +9 -0
  341. package/backend/node_modules/get-intrinsic/CHANGELOG.md +186 -0
  342. package/backend/node_modules/get-intrinsic/LICENSE +21 -0
  343. package/backend/node_modules/get-intrinsic/README.md +71 -0
  344. package/backend/node_modules/get-intrinsic/index.js +378 -0
  345. package/backend/node_modules/get-intrinsic/package.json +97 -0
  346. package/backend/node_modules/get-intrinsic/test/GetIntrinsic.js +274 -0
  347. package/backend/node_modules/get-proto/.eslintrc +10 -0
  348. package/backend/node_modules/get-proto/.github/FUNDING.yml +12 -0
  349. package/backend/node_modules/get-proto/.nycrc +9 -0
  350. package/backend/node_modules/get-proto/CHANGELOG.md +21 -0
  351. package/backend/node_modules/get-proto/LICENSE +21 -0
  352. package/backend/node_modules/get-proto/Object.getPrototypeOf.d.ts +5 -0
  353. package/backend/node_modules/get-proto/Object.getPrototypeOf.js +6 -0
  354. package/backend/node_modules/get-proto/README.md +50 -0
  355. package/backend/node_modules/get-proto/Reflect.getPrototypeOf.d.ts +3 -0
  356. package/backend/node_modules/get-proto/Reflect.getPrototypeOf.js +4 -0
  357. package/backend/node_modules/get-proto/index.d.ts +5 -0
  358. package/backend/node_modules/get-proto/index.js +27 -0
  359. package/backend/node_modules/get-proto/package.json +81 -0
  360. package/backend/node_modules/get-proto/test/index.js +68 -0
  361. package/backend/node_modules/get-proto/tsconfig.json +9 -0
  362. package/backend/node_modules/gopd/.eslintrc +16 -0
  363. package/backend/node_modules/gopd/.github/FUNDING.yml +12 -0
  364. package/backend/node_modules/gopd/CHANGELOG.md +45 -0
  365. package/backend/node_modules/gopd/LICENSE +21 -0
  366. package/backend/node_modules/gopd/README.md +40 -0
  367. package/backend/node_modules/gopd/gOPD.d.ts +1 -0
  368. package/backend/node_modules/gopd/gOPD.js +4 -0
  369. package/backend/node_modules/gopd/index.d.ts +5 -0
  370. package/backend/node_modules/gopd/index.js +15 -0
  371. package/backend/node_modules/gopd/package.json +77 -0
  372. package/backend/node_modules/gopd/test/index.js +36 -0
  373. package/backend/node_modules/gopd/tsconfig.json +9 -0
  374. package/backend/node_modules/has-symbols/.eslintrc +11 -0
  375. package/backend/node_modules/has-symbols/.github/FUNDING.yml +12 -0
  376. package/backend/node_modules/has-symbols/.nycrc +9 -0
  377. package/backend/node_modules/has-symbols/CHANGELOG.md +91 -0
  378. package/backend/node_modules/has-symbols/LICENSE +21 -0
  379. package/backend/node_modules/has-symbols/README.md +46 -0
  380. package/backend/node_modules/has-symbols/index.d.ts +3 -0
  381. package/backend/node_modules/has-symbols/index.js +14 -0
  382. package/backend/node_modules/has-symbols/package.json +111 -0
  383. package/backend/node_modules/has-symbols/shams.d.ts +3 -0
  384. package/backend/node_modules/has-symbols/shams.js +45 -0
  385. package/backend/node_modules/has-symbols/test/index.js +22 -0
  386. package/backend/node_modules/has-symbols/test/shams/core-js.js +29 -0
  387. package/backend/node_modules/has-symbols/test/shams/get-own-property-symbols.js +29 -0
  388. package/backend/node_modules/has-symbols/test/tests.js +58 -0
  389. package/backend/node_modules/has-symbols/tsconfig.json +10 -0
  390. package/backend/node_modules/hasown/.github/FUNDING.yml +12 -0
  391. package/backend/node_modules/hasown/.nycrc +13 -0
  392. package/backend/node_modules/hasown/CHANGELOG.md +58 -0
  393. package/backend/node_modules/hasown/LICENSE +21 -0
  394. package/backend/node_modules/hasown/README.md +40 -0
  395. package/backend/node_modules/hasown/eslint.config.mjs +6 -0
  396. package/backend/node_modules/hasown/index.d.ts +3 -0
  397. package/backend/node_modules/hasown/index.js +8 -0
  398. package/backend/node_modules/hasown/package.json +91 -0
  399. package/backend/node_modules/hasown/tsconfig.json +6 -0
  400. package/backend/node_modules/http-errors/HISTORY.md +186 -0
  401. package/backend/node_modules/http-errors/LICENSE +23 -0
  402. package/backend/node_modules/http-errors/README.md +169 -0
  403. package/backend/node_modules/http-errors/index.js +290 -0
  404. package/backend/node_modules/http-errors/package.json +54 -0
  405. package/backend/node_modules/iconv-lite/LICENSE +21 -0
  406. package/backend/node_modules/iconv-lite/README.md +138 -0
  407. package/backend/node_modules/iconv-lite/encodings/dbcs-codec.js +532 -0
  408. package/backend/node_modules/iconv-lite/encodings/dbcs-data.js +185 -0
  409. package/backend/node_modules/iconv-lite/encodings/index.js +23 -0
  410. package/backend/node_modules/iconv-lite/encodings/internal.js +218 -0
  411. package/backend/node_modules/iconv-lite/encodings/sbcs-codec.js +75 -0
  412. package/backend/node_modules/iconv-lite/encodings/sbcs-data-generated.js +451 -0
  413. package/backend/node_modules/iconv-lite/encodings/sbcs-data.js +180 -0
  414. package/backend/node_modules/iconv-lite/encodings/tables/big5-added.json +122 -0
  415. package/backend/node_modules/iconv-lite/encodings/tables/cp936.json +264 -0
  416. package/backend/node_modules/iconv-lite/encodings/tables/cp949.json +273 -0
  417. package/backend/node_modules/iconv-lite/encodings/tables/cp950.json +177 -0
  418. package/backend/node_modules/iconv-lite/encodings/tables/eucjp.json +182 -0
  419. package/backend/node_modules/iconv-lite/encodings/tables/gb18030-ranges.json +1 -0
  420. package/backend/node_modules/iconv-lite/encodings/tables/gbk-added.json +56 -0
  421. package/backend/node_modules/iconv-lite/encodings/tables/shiftjis.json +125 -0
  422. package/backend/node_modules/iconv-lite/encodings/utf16.js +187 -0
  423. package/backend/node_modules/iconv-lite/encodings/utf32.js +314 -0
  424. package/backend/node_modules/iconv-lite/encodings/utf7.js +283 -0
  425. package/backend/node_modules/iconv-lite/lib/bom-handling.js +48 -0
  426. package/backend/node_modules/iconv-lite/lib/helpers/merge-exports.js +13 -0
  427. package/backend/node_modules/iconv-lite/lib/index.d.ts +129 -0
  428. package/backend/node_modules/iconv-lite/lib/index.js +182 -0
  429. package/backend/node_modules/iconv-lite/lib/streams.js +105 -0
  430. package/backend/node_modules/iconv-lite/package.json +70 -0
  431. package/backend/node_modules/iconv-lite/types/encodings.d.ts +425 -0
  432. package/backend/node_modules/inherits/LICENSE +16 -0
  433. package/backend/node_modules/inherits/README.md +42 -0
  434. package/backend/node_modules/inherits/inherits.js +9 -0
  435. package/backend/node_modules/inherits/inherits_browser.js +27 -0
  436. package/backend/node_modules/inherits/package.json +29 -0
  437. package/backend/node_modules/ipaddr.js/LICENSE +19 -0
  438. package/backend/node_modules/ipaddr.js/README.md +233 -0
  439. package/backend/node_modules/ipaddr.js/ipaddr.min.js +1 -0
  440. package/backend/node_modules/ipaddr.js/lib/ipaddr.js +673 -0
  441. package/backend/node_modules/ipaddr.js/lib/ipaddr.js.d.ts +68 -0
  442. package/backend/node_modules/ipaddr.js/package.json +35 -0
  443. package/backend/node_modules/is-promise/LICENSE +19 -0
  444. package/backend/node_modules/is-promise/index.d.ts +2 -0
  445. package/backend/node_modules/is-promise/index.js +6 -0
  446. package/backend/node_modules/is-promise/index.mjs +3 -0
  447. package/backend/node_modules/is-promise/package.json +30 -0
  448. package/backend/node_modules/is-promise/readme.md +33 -0
  449. package/backend/node_modules/kareem/CHANGELOG.md +845 -0
  450. package/backend/node_modules/kareem/LICENSE +202 -0
  451. package/backend/node_modules/kareem/README.md +385 -0
  452. package/backend/node_modules/kareem/SECURITY.md +5 -0
  453. package/backend/node_modules/kareem/index.d.ts +31 -0
  454. package/backend/node_modules/kareem/index.js +553 -0
  455. package/backend/node_modules/kareem/package.json +28 -0
  456. package/backend/node_modules/math-intrinsics/.eslintrc +16 -0
  457. package/backend/node_modules/math-intrinsics/.github/FUNDING.yml +12 -0
  458. package/backend/node_modules/math-intrinsics/CHANGELOG.md +24 -0
  459. package/backend/node_modules/math-intrinsics/LICENSE +21 -0
  460. package/backend/node_modules/math-intrinsics/README.md +50 -0
  461. package/backend/node_modules/math-intrinsics/abs.d.ts +1 -0
  462. package/backend/node_modules/math-intrinsics/abs.js +4 -0
  463. package/backend/node_modules/math-intrinsics/constants/maxArrayLength.d.ts +3 -0
  464. package/backend/node_modules/math-intrinsics/constants/maxArrayLength.js +4 -0
  465. package/backend/node_modules/math-intrinsics/constants/maxSafeInteger.d.ts +3 -0
  466. package/backend/node_modules/math-intrinsics/constants/maxSafeInteger.js +5 -0
  467. package/backend/node_modules/math-intrinsics/constants/maxValue.d.ts +3 -0
  468. package/backend/node_modules/math-intrinsics/constants/maxValue.js +5 -0
  469. package/backend/node_modules/math-intrinsics/floor.d.ts +1 -0
  470. package/backend/node_modules/math-intrinsics/floor.js +4 -0
  471. package/backend/node_modules/math-intrinsics/isFinite.d.ts +3 -0
  472. package/backend/node_modules/math-intrinsics/isFinite.js +12 -0
  473. package/backend/node_modules/math-intrinsics/isInteger.d.ts +3 -0
  474. package/backend/node_modules/math-intrinsics/isInteger.js +16 -0
  475. package/backend/node_modules/math-intrinsics/isNaN.d.ts +1 -0
  476. package/backend/node_modules/math-intrinsics/isNaN.js +6 -0
  477. package/backend/node_modules/math-intrinsics/isNegativeZero.d.ts +3 -0
  478. package/backend/node_modules/math-intrinsics/isNegativeZero.js +6 -0
  479. package/backend/node_modules/math-intrinsics/max.d.ts +1 -0
  480. package/backend/node_modules/math-intrinsics/max.js +4 -0
  481. package/backend/node_modules/math-intrinsics/min.d.ts +1 -0
  482. package/backend/node_modules/math-intrinsics/min.js +4 -0
  483. package/backend/node_modules/math-intrinsics/mod.d.ts +3 -0
  484. package/backend/node_modules/math-intrinsics/mod.js +9 -0
  485. package/backend/node_modules/math-intrinsics/package.json +86 -0
  486. package/backend/node_modules/math-intrinsics/pow.d.ts +1 -0
  487. package/backend/node_modules/math-intrinsics/pow.js +4 -0
  488. package/backend/node_modules/math-intrinsics/round.d.ts +1 -0
  489. package/backend/node_modules/math-intrinsics/round.js +4 -0
  490. package/backend/node_modules/math-intrinsics/sign.d.ts +3 -0
  491. package/backend/node_modules/math-intrinsics/sign.js +11 -0
  492. package/backend/node_modules/math-intrinsics/test/index.js +192 -0
  493. package/backend/node_modules/math-intrinsics/tsconfig.json +3 -0
  494. package/backend/node_modules/media-typer/HISTORY.md +50 -0
  495. package/backend/node_modules/media-typer/LICENSE +22 -0
  496. package/backend/node_modules/media-typer/README.md +93 -0
  497. package/backend/node_modules/media-typer/index.js +143 -0
  498. package/backend/node_modules/media-typer/package.json +33 -0
  499. package/backend/node_modules/memory-pager/.travis.yml +4 -0
  500. package/backend/node_modules/memory-pager/LICENSE +21 -0
  501. package/backend/node_modules/memory-pager/README.md +65 -0
  502. package/backend/node_modules/memory-pager/index.js +160 -0
  503. package/backend/node_modules/memory-pager/package.json +24 -0
  504. package/backend/node_modules/memory-pager/test.js +80 -0
  505. package/backend/node_modules/merge-descriptors/index.d.ts +11 -0
  506. package/backend/node_modules/merge-descriptors/index.js +26 -0
  507. package/backend/node_modules/merge-descriptors/license +11 -0
  508. package/backend/node_modules/merge-descriptors/package.json +50 -0
  509. package/backend/node_modules/merge-descriptors/readme.md +55 -0
  510. package/backend/node_modules/mime-db/HISTORY.md +541 -0
  511. package/backend/node_modules/mime-db/LICENSE +23 -0
  512. package/backend/node_modules/mime-db/README.md +109 -0
  513. package/backend/node_modules/mime-db/db.json +9342 -0
  514. package/backend/node_modules/mime-db/index.js +12 -0
  515. package/backend/node_modules/mime-db/package.json +56 -0
  516. package/backend/node_modules/mime-types/HISTORY.md +428 -0
  517. package/backend/node_modules/mime-types/LICENSE +23 -0
  518. package/backend/node_modules/mime-types/README.md +126 -0
  519. package/backend/node_modules/mime-types/index.js +211 -0
  520. package/backend/node_modules/mime-types/mimeScore.js +57 -0
  521. package/backend/node_modules/mime-types/package.json +49 -0
  522. package/backend/node_modules/mongodb/LICENSE.md +201 -0
  523. package/backend/node_modules/mongodb/README.md +366 -0
  524. package/backend/node_modules/mongodb/etc/prepare.js +12 -0
  525. package/backend/node_modules/mongodb/lib/admin.js +136 -0
  526. package/backend/node_modules/mongodb/lib/admin.js.map +1 -0
  527. package/backend/node_modules/mongodb/lib/bson.js +106 -0
  528. package/backend/node_modules/mongodb/lib/bson.js.map +1 -0
  529. package/backend/node_modules/mongodb/lib/bulk/common.js +835 -0
  530. package/backend/node_modules/mongodb/lib/bulk/common.js.map +1 -0
  531. package/backend/node_modules/mongodb/lib/bulk/ordered.js +67 -0
  532. package/backend/node_modules/mongodb/lib/bulk/ordered.js.map +1 -0
  533. package/backend/node_modules/mongodb/lib/bulk/unordered.js +92 -0
  534. package/backend/node_modules/mongodb/lib/bulk/unordered.js.map +1 -0
  535. package/backend/node_modules/mongodb/lib/change_stream.js +517 -0
  536. package/backend/node_modules/mongodb/lib/change_stream.js.map +1 -0
  537. package/backend/node_modules/mongodb/lib/client-side-encryption/auto_encrypter.js +281 -0
  538. package/backend/node_modules/mongodb/lib/client-side-encryption/auto_encrypter.js.map +1 -0
  539. package/backend/node_modules/mongodb/lib/client-side-encryption/client_encryption.js +607 -0
  540. package/backend/node_modules/mongodb/lib/client-side-encryption/client_encryption.js.map +1 -0
  541. package/backend/node_modules/mongodb/lib/client-side-encryption/errors.js +138 -0
  542. package/backend/node_modules/mongodb/lib/client-side-encryption/errors.js.map +1 -0
  543. package/backend/node_modules/mongodb/lib/client-side-encryption/mongocryptd_manager.js +85 -0
  544. package/backend/node_modules/mongodb/lib/client-side-encryption/mongocryptd_manager.js.map +1 -0
  545. package/backend/node_modules/mongodb/lib/client-side-encryption/providers/aws.js +23 -0
  546. package/backend/node_modules/mongodb/lib/client-side-encryption/providers/aws.js.map +1 -0
  547. package/backend/node_modules/mongodb/lib/client-side-encryption/providers/azure.js +132 -0
  548. package/backend/node_modules/mongodb/lib/client-side-encryption/providers/azure.js.map +1 -0
  549. package/backend/node_modules/mongodb/lib/client-side-encryption/providers/gcp.js +16 -0
  550. package/backend/node_modules/mongodb/lib/client-side-encryption/providers/gcp.js.map +1 -0
  551. package/backend/node_modules/mongodb/lib/client-side-encryption/providers/index.js +43 -0
  552. package/backend/node_modules/mongodb/lib/client-side-encryption/providers/index.js.map +1 -0
  553. package/backend/node_modules/mongodb/lib/client-side-encryption/state_machine.js +427 -0
  554. package/backend/node_modules/mongodb/lib/client-side-encryption/state_machine.js.map +1 -0
  555. package/backend/node_modules/mongodb/lib/cmap/auth/auth_provider.js +51 -0
  556. package/backend/node_modules/mongodb/lib/cmap/auth/auth_provider.js.map +1 -0
  557. package/backend/node_modules/mongodb/lib/cmap/auth/aws4.js +161 -0
  558. package/backend/node_modules/mongodb/lib/cmap/auth/aws4.js.map +1 -0
  559. package/backend/node_modules/mongodb/lib/cmap/auth/aws_temporary_credentials.js +103 -0
  560. package/backend/node_modules/mongodb/lib/cmap/auth/aws_temporary_credentials.js.map +1 -0
  561. package/backend/node_modules/mongodb/lib/cmap/auth/gssapi.js +152 -0
  562. package/backend/node_modules/mongodb/lib/cmap/auth/gssapi.js.map +1 -0
  563. package/backend/node_modules/mongodb/lib/cmap/auth/mongo_credentials.js +169 -0
  564. package/backend/node_modules/mongodb/lib/cmap/auth/mongo_credentials.js.map +1 -0
  565. package/backend/node_modules/mongodb/lib/cmap/auth/mongodb_aws.js +129 -0
  566. package/backend/node_modules/mongodb/lib/cmap/auth/mongodb_aws.js.map +1 -0
  567. package/backend/node_modules/mongodb/lib/cmap/auth/mongodb_oidc/automated_callback_workflow.js +84 -0
  568. package/backend/node_modules/mongodb/lib/cmap/auth/mongodb_oidc/automated_callback_workflow.js.map +1 -0
  569. package/backend/node_modules/mongodb/lib/cmap/auth/mongodb_oidc/azure_machine_workflow.js +62 -0
  570. package/backend/node_modules/mongodb/lib/cmap/auth/mongodb_oidc/azure_machine_workflow.js.map +1 -0
  571. package/backend/node_modules/mongodb/lib/cmap/auth/mongodb_oidc/callback_workflow.js +141 -0
  572. package/backend/node_modules/mongodb/lib/cmap/auth/mongodb_oidc/callback_workflow.js.map +1 -0
  573. package/backend/node_modules/mongodb/lib/cmap/auth/mongodb_oidc/command_builders.js +44 -0
  574. package/backend/node_modules/mongodb/lib/cmap/auth/mongodb_oidc/command_builders.js.map +1 -0
  575. package/backend/node_modules/mongodb/lib/cmap/auth/mongodb_oidc/gcp_machine_workflow.js +39 -0
  576. package/backend/node_modules/mongodb/lib/cmap/auth/mongodb_oidc/gcp_machine_workflow.js.map +1 -0
  577. package/backend/node_modules/mongodb/lib/cmap/auth/mongodb_oidc/human_callback_workflow.js +122 -0
  578. package/backend/node_modules/mongodb/lib/cmap/auth/mongodb_oidc/human_callback_workflow.js.map +1 -0
  579. package/backend/node_modules/mongodb/lib/cmap/auth/mongodb_oidc/k8s_machine_workflow.js +32 -0
  580. package/backend/node_modules/mongodb/lib/cmap/auth/mongodb_oidc/k8s_machine_workflow.js.map +1 -0
  581. package/backend/node_modules/mongodb/lib/cmap/auth/mongodb_oidc/token_cache.js +52 -0
  582. package/backend/node_modules/mongodb/lib/cmap/auth/mongodb_oidc/token_cache.js.map +1 -0
  583. package/backend/node_modules/mongodb/lib/cmap/auth/mongodb_oidc/token_machine_workflow.js +23 -0
  584. package/backend/node_modules/mongodb/lib/cmap/auth/mongodb_oidc/token_machine_workflow.js.map +1 -0
  585. package/backend/node_modules/mongodb/lib/cmap/auth/mongodb_oidc.js +73 -0
  586. package/backend/node_modules/mongodb/lib/cmap/auth/mongodb_oidc.js.map +1 -0
  587. package/backend/node_modules/mongodb/lib/cmap/auth/plain.js +26 -0
  588. package/backend/node_modules/mongodb/lib/cmap/auth/plain.js.map +1 -0
  589. package/backend/node_modules/mongodb/lib/cmap/auth/providers.js +22 -0
  590. package/backend/node_modules/mongodb/lib/cmap/auth/providers.js.map +1 -0
  591. package/backend/node_modules/mongodb/lib/cmap/auth/scram.js +267 -0
  592. package/backend/node_modules/mongodb/lib/cmap/auth/scram.js.map +1 -0
  593. package/backend/node_modules/mongodb/lib/cmap/auth/x509.js +36 -0
  594. package/backend/node_modules/mongodb/lib/cmap/auth/x509.js.map +1 -0
  595. package/backend/node_modules/mongodb/lib/cmap/command_monitoring_events.js +223 -0
  596. package/backend/node_modules/mongodb/lib/cmap/command_monitoring_events.js.map +1 -0
  597. package/backend/node_modules/mongodb/lib/cmap/commands.js +542 -0
  598. package/backend/node_modules/mongodb/lib/cmap/commands.js.map +1 -0
  599. package/backend/node_modules/mongodb/lib/cmap/connect.js +398 -0
  600. package/backend/node_modules/mongodb/lib/cmap/connect.js.map +1 -0
  601. package/backend/node_modules/mongodb/lib/cmap/connection.js +574 -0
  602. package/backend/node_modules/mongodb/lib/cmap/connection.js.map +1 -0
  603. package/backend/node_modules/mongodb/lib/cmap/connection_pool.js +558 -0
  604. package/backend/node_modules/mongodb/lib/cmap/connection_pool.js.map +1 -0
  605. package/backend/node_modules/mongodb/lib/cmap/connection_pool_events.js +190 -0
  606. package/backend/node_modules/mongodb/lib/cmap/connection_pool_events.js.map +1 -0
  607. package/backend/node_modules/mongodb/lib/cmap/errors.js +108 -0
  608. package/backend/node_modules/mongodb/lib/cmap/errors.js.map +1 -0
  609. package/backend/node_modules/mongodb/lib/cmap/handshake/client_metadata.js +241 -0
  610. package/backend/node_modules/mongodb/lib/cmap/handshake/client_metadata.js.map +1 -0
  611. package/backend/node_modules/mongodb/lib/cmap/metrics.js +62 -0
  612. package/backend/node_modules/mongodb/lib/cmap/metrics.js.map +1 -0
  613. package/backend/node_modules/mongodb/lib/cmap/stream_description.js +70 -0
  614. package/backend/node_modules/mongodb/lib/cmap/stream_description.js.map +1 -0
  615. package/backend/node_modules/mongodb/lib/cmap/wire_protocol/compression.js +179 -0
  616. package/backend/node_modules/mongodb/lib/cmap/wire_protocol/compression.js.map +1 -0
  617. package/backend/node_modules/mongodb/lib/cmap/wire_protocol/constants.js +21 -0
  618. package/backend/node_modules/mongodb/lib/cmap/wire_protocol/constants.js.map +1 -0
  619. package/backend/node_modules/mongodb/lib/cmap/wire_protocol/on_data.js +111 -0
  620. package/backend/node_modules/mongodb/lib/cmap/wire_protocol/on_data.js.map +1 -0
  621. package/backend/node_modules/mongodb/lib/cmap/wire_protocol/on_demand/document.js +222 -0
  622. package/backend/node_modules/mongodb/lib/cmap/wire_protocol/on_demand/document.js.map +1 -0
  623. package/backend/node_modules/mongodb/lib/cmap/wire_protocol/responses.js +315 -0
  624. package/backend/node_modules/mongodb/lib/cmap/wire_protocol/responses.js.map +1 -0
  625. package/backend/node_modules/mongodb/lib/cmap/wire_protocol/shared.js +35 -0
  626. package/backend/node_modules/mongodb/lib/cmap/wire_protocol/shared.js.map +1 -0
  627. package/backend/node_modules/mongodb/lib/collection.js +751 -0
  628. package/backend/node_modules/mongodb/lib/collection.js.map +1 -0
  629. package/backend/node_modules/mongodb/lib/connection_string.js +1106 -0
  630. package/backend/node_modules/mongodb/lib/connection_string.js.map +1 -0
  631. package/backend/node_modules/mongodb/lib/constants.js +170 -0
  632. package/backend/node_modules/mongodb/lib/constants.js.map +1 -0
  633. package/backend/node_modules/mongodb/lib/cursor/abstract_cursor.js +924 -0
  634. package/backend/node_modules/mongodb/lib/cursor/abstract_cursor.js.map +1 -0
  635. package/backend/node_modules/mongodb/lib/cursor/aggregation_cursor.js +164 -0
  636. package/backend/node_modules/mongodb/lib/cursor/aggregation_cursor.js.map +1 -0
  637. package/backend/node_modules/mongodb/lib/cursor/change_stream_cursor.js +104 -0
  638. package/backend/node_modules/mongodb/lib/cursor/change_stream_cursor.js.map +1 -0
  639. package/backend/node_modules/mongodb/lib/cursor/client_bulk_write_cursor.js +52 -0
  640. package/backend/node_modules/mongodb/lib/cursor/client_bulk_write_cursor.js.map +1 -0
  641. package/backend/node_modules/mongodb/lib/cursor/explainable_cursor.js +36 -0
  642. package/backend/node_modules/mongodb/lib/cursor/explainable_cursor.js.map +1 -0
  643. package/backend/node_modules/mongodb/lib/cursor/find_cursor.js +399 -0
  644. package/backend/node_modules/mongodb/lib/cursor/find_cursor.js.map +1 -0
  645. package/backend/node_modules/mongodb/lib/cursor/list_collections_cursor.js +34 -0
  646. package/backend/node_modules/mongodb/lib/cursor/list_collections_cursor.js.map +1 -0
  647. package/backend/node_modules/mongodb/lib/cursor/list_indexes_cursor.js +32 -0
  648. package/backend/node_modules/mongodb/lib/cursor/list_indexes_cursor.js.map +1 -0
  649. package/backend/node_modules/mongodb/lib/cursor/list_search_indexes_cursor.js +14 -0
  650. package/backend/node_modules/mongodb/lib/cursor/list_search_indexes_cursor.js.map +1 -0
  651. package/backend/node_modules/mongodb/lib/cursor/run_command_cursor.js +94 -0
  652. package/backend/node_modules/mongodb/lib/cursor/run_command_cursor.js.map +1 -0
  653. package/backend/node_modules/mongodb/lib/db.js +419 -0
  654. package/backend/node_modules/mongodb/lib/db.js.map +1 -0
  655. package/backend/node_modules/mongodb/lib/deps.js +112 -0
  656. package/backend/node_modules/mongodb/lib/deps.js.map +1 -0
  657. package/backend/node_modules/mongodb/lib/encrypter.js +106 -0
  658. package/backend/node_modules/mongodb/lib/encrypter.js.map +1 -0
  659. package/backend/node_modules/mongodb/lib/error.js +1380 -0
  660. package/backend/node_modules/mongodb/lib/error.js.map +1 -0
  661. package/backend/node_modules/mongodb/lib/explain.js +59 -0
  662. package/backend/node_modules/mongodb/lib/explain.js.map +1 -0
  663. package/backend/node_modules/mongodb/lib/gridfs/download.js +306 -0
  664. package/backend/node_modules/mongodb/lib/gridfs/download.js.map +1 -0
  665. package/backend/node_modules/mongodb/lib/gridfs/index.js +164 -0
  666. package/backend/node_modules/mongodb/lib/gridfs/index.js.map +1 -0
  667. package/backend/node_modules/mongodb/lib/gridfs/upload.js +358 -0
  668. package/backend/node_modules/mongodb/lib/gridfs/upload.js.map +1 -0
  669. package/backend/node_modules/mongodb/lib/index.js +193 -0
  670. package/backend/node_modules/mongodb/lib/index.js.map +1 -0
  671. package/backend/node_modules/mongodb/lib/mongo_client.js +557 -0
  672. package/backend/node_modules/mongodb/lib/mongo_client.js.map +1 -0
  673. package/backend/node_modules/mongodb/lib/mongo_client_auth_providers.js +80 -0
  674. package/backend/node_modules/mongodb/lib/mongo_client_auth_providers.js.map +1 -0
  675. package/backend/node_modules/mongodb/lib/mongo_logger.js +655 -0
  676. package/backend/node_modules/mongodb/lib/mongo_logger.js.map +1 -0
  677. package/backend/node_modules/mongodb/lib/mongo_types.js +56 -0
  678. package/backend/node_modules/mongodb/lib/mongo_types.js.map +1 -0
  679. package/backend/node_modules/mongodb/lib/operations/aggregate.js +90 -0
  680. package/backend/node_modules/mongodb/lib/operations/aggregate.js.map +1 -0
  681. package/backend/node_modules/mongodb/lib/operations/client_bulk_write/client_bulk_write.js +51 -0
  682. package/backend/node_modules/mongodb/lib/operations/client_bulk_write/client_bulk_write.js.map +1 -0
  683. package/backend/node_modules/mongodb/lib/operations/client_bulk_write/command_builder.js +340 -0
  684. package/backend/node_modules/mongodb/lib/operations/client_bulk_write/command_builder.js.map +1 -0
  685. package/backend/node_modules/mongodb/lib/operations/client_bulk_write/common.js +3 -0
  686. package/backend/node_modules/mongodb/lib/operations/client_bulk_write/common.js.map +1 -0
  687. package/backend/node_modules/mongodb/lib/operations/client_bulk_write/executor.js +120 -0
  688. package/backend/node_modules/mongodb/lib/operations/client_bulk_write/executor.js.map +1 -0
  689. package/backend/node_modules/mongodb/lib/operations/client_bulk_write/results_merger.js +204 -0
  690. package/backend/node_modules/mongodb/lib/operations/client_bulk_write/results_merger.js.map +1 -0
  691. package/backend/node_modules/mongodb/lib/operations/command.js +83 -0
  692. package/backend/node_modules/mongodb/lib/operations/command.js.map +1 -0
  693. package/backend/node_modules/mongodb/lib/operations/count.js +45 -0
  694. package/backend/node_modules/mongodb/lib/operations/count.js.map +1 -0
  695. package/backend/node_modules/mongodb/lib/operations/create_collection.js +109 -0
  696. package/backend/node_modules/mongodb/lib/operations/create_collection.js.map +1 -0
  697. package/backend/node_modules/mongodb/lib/operations/delete.js +125 -0
  698. package/backend/node_modules/mongodb/lib/operations/delete.js.map +1 -0
  699. package/backend/node_modules/mongodb/lib/operations/distinct.js +61 -0
  700. package/backend/node_modules/mongodb/lib/operations/distinct.js.map +1 -0
  701. package/backend/node_modules/mongodb/lib/operations/drop.js +93 -0
  702. package/backend/node_modules/mongodb/lib/operations/drop.js.map +1 -0
  703. package/backend/node_modules/mongodb/lib/operations/end_sessions.js +34 -0
  704. package/backend/node_modules/mongodb/lib/operations/end_sessions.js.map +1 -0
  705. package/backend/node_modules/mongodb/lib/operations/estimated_document_count.js +41 -0
  706. package/backend/node_modules/mongodb/lib/operations/estimated_document_count.js.map +1 -0
  707. package/backend/node_modules/mongodb/lib/operations/execute_operation.js +312 -0
  708. package/backend/node_modules/mongodb/lib/operations/execute_operation.js.map +1 -0
  709. package/backend/node_modules/mongodb/lib/operations/find.js +148 -0
  710. package/backend/node_modules/mongodb/lib/operations/find.js.map +1 -0
  711. package/backend/node_modules/mongodb/lib/operations/find_and_modify.js +158 -0
  712. package/backend/node_modules/mongodb/lib/operations/find_and_modify.js.map +1 -0
  713. package/backend/node_modules/mongodb/lib/operations/get_more.js +62 -0
  714. package/backend/node_modules/mongodb/lib/operations/get_more.js.map +1 -0
  715. package/backend/node_modules/mongodb/lib/operations/indexes.js +186 -0
  716. package/backend/node_modules/mongodb/lib/operations/indexes.js.map +1 -0
  717. package/backend/node_modules/mongodb/lib/operations/insert.js +70 -0
  718. package/backend/node_modules/mongodb/lib/operations/insert.js.map +1 -0
  719. package/backend/node_modules/mongodb/lib/operations/kill_cursors.js +43 -0
  720. package/backend/node_modules/mongodb/lib/operations/kill_cursors.js.map +1 -0
  721. package/backend/node_modules/mongodb/lib/operations/list_collections.js +53 -0
  722. package/backend/node_modules/mongodb/lib/operations/list_collections.js.map +1 -0
  723. package/backend/node_modules/mongodb/lib/operations/list_databases.js +40 -0
  724. package/backend/node_modules/mongodb/lib/operations/list_databases.js.map +1 -0
  725. package/backend/node_modules/mongodb/lib/operations/operation.js +103 -0
  726. package/backend/node_modules/mongodb/lib/operations/operation.js.map +1 -0
  727. package/backend/node_modules/mongodb/lib/operations/profiling_level.js +43 -0
  728. package/backend/node_modules/mongodb/lib/operations/profiling_level.js.map +1 -0
  729. package/backend/node_modules/mongodb/lib/operations/remove_user.js +27 -0
  730. package/backend/node_modules/mongodb/lib/operations/remove_user.js.map +1 -0
  731. package/backend/node_modules/mongodb/lib/operations/rename.js +38 -0
  732. package/backend/node_modules/mongodb/lib/operations/rename.js.map +1 -0
  733. package/backend/node_modules/mongodb/lib/operations/run_command.js +47 -0
  734. package/backend/node_modules/mongodb/lib/operations/run_command.js.map +1 -0
  735. package/backend/node_modules/mongodb/lib/operations/search_indexes/create.js +33 -0
  736. package/backend/node_modules/mongodb/lib/operations/search_indexes/create.js.map +1 -0
  737. package/backend/node_modules/mongodb/lib/operations/search_indexes/drop.js +43 -0
  738. package/backend/node_modules/mongodb/lib/operations/search_indexes/drop.js.map +1 -0
  739. package/backend/node_modules/mongodb/lib/operations/search_indexes/update.js +35 -0
  740. package/backend/node_modules/mongodb/lib/operations/search_indexes/update.js.map +1 -0
  741. package/backend/node_modules/mongodb/lib/operations/set_profiling_level.js +53 -0
  742. package/backend/node_modules/mongodb/lib/operations/set_profiling_level.js.map +1 -0
  743. package/backend/node_modules/mongodb/lib/operations/stats.js +27 -0
  744. package/backend/node_modules/mongodb/lib/operations/stats.js.map +1 -0
  745. package/backend/node_modules/mongodb/lib/operations/update.js +188 -0
  746. package/backend/node_modules/mongodb/lib/operations/update.js.map +1 -0
  747. package/backend/node_modules/mongodb/lib/operations/validate_collection.js +37 -0
  748. package/backend/node_modules/mongodb/lib/operations/validate_collection.js.map +1 -0
  749. package/backend/node_modules/mongodb/lib/read_concern.js +73 -0
  750. package/backend/node_modules/mongodb/lib/read_concern.js.map +1 -0
  751. package/backend/node_modules/mongodb/lib/read_preference.js +191 -0
  752. package/backend/node_modules/mongodb/lib/read_preference.js.map +1 -0
  753. package/backend/node_modules/mongodb/lib/runtime_adapters.js +32 -0
  754. package/backend/node_modules/mongodb/lib/runtime_adapters.js.map +1 -0
  755. package/backend/node_modules/mongodb/lib/sdam/common.js +49 -0
  756. package/backend/node_modules/mongodb/lib/sdam/common.js.map +1 -0
  757. package/backend/node_modules/mongodb/lib/sdam/events.js +146 -0
  758. package/backend/node_modules/mongodb/lib/sdam/events.js.map +1 -0
  759. package/backend/node_modules/mongodb/lib/sdam/monitor.js +544 -0
  760. package/backend/node_modules/mongodb/lib/sdam/monitor.js.map +1 -0
  761. package/backend/node_modules/mongodb/lib/sdam/server.js +404 -0
  762. package/backend/node_modules/mongodb/lib/sdam/server.js.map +1 -0
  763. package/backend/node_modules/mongodb/lib/sdam/server_description.js +204 -0
  764. package/backend/node_modules/mongodb/lib/sdam/server_description.js.map +1 -0
  765. package/backend/node_modules/mongodb/lib/sdam/server_selection.js +294 -0
  766. package/backend/node_modules/mongodb/lib/sdam/server_selection.js.map +1 -0
  767. package/backend/node_modules/mongodb/lib/sdam/server_selection_events.js +85 -0
  768. package/backend/node_modules/mongodb/lib/sdam/server_selection_events.js.map +1 -0
  769. package/backend/node_modules/mongodb/lib/sdam/srv_polling.js +108 -0
  770. package/backend/node_modules/mongodb/lib/sdam/srv_polling.js.map +1 -0
  771. package/backend/node_modules/mongodb/lib/sdam/topology.js +654 -0
  772. package/backend/node_modules/mongodb/lib/sdam/topology.js.map +1 -0
  773. package/backend/node_modules/mongodb/lib/sdam/topology_description.js +383 -0
  774. package/backend/node_modules/mongodb/lib/sdam/topology_description.js.map +1 -0
  775. package/backend/node_modules/mongodb/lib/sessions.js +937 -0
  776. package/backend/node_modules/mongodb/lib/sessions.js.map +1 -0
  777. package/backend/node_modules/mongodb/lib/sort.js +103 -0
  778. package/backend/node_modules/mongodb/lib/sort.js.map +1 -0
  779. package/backend/node_modules/mongodb/lib/timeout.js +296 -0
  780. package/backend/node_modules/mongodb/lib/timeout.js.map +1 -0
  781. package/backend/node_modules/mongodb/lib/transactions.js +135 -0
  782. package/backend/node_modules/mongodb/lib/transactions.js.map +1 -0
  783. package/backend/node_modules/mongodb/lib/utils.js +1155 -0
  784. package/backend/node_modules/mongodb/lib/utils.js.map +1 -0
  785. package/backend/node_modules/mongodb/lib/write_concern.js +100 -0
  786. package/backend/node_modules/mongodb/lib/write_concern.js.map +1 -0
  787. package/backend/node_modules/mongodb/mongodb.d.ts +9061 -0
  788. package/backend/node_modules/mongodb/package.json +182 -0
  789. package/backend/node_modules/mongodb/src/admin.ts +173 -0
  790. package/backend/node_modules/mongodb/src/bson.ts +172 -0
  791. package/backend/node_modules/mongodb/src/bulk/common.ts +1251 -0
  792. package/backend/node_modules/mongodb/src/bulk/ordered.ts +83 -0
  793. package/backend/node_modules/mongodb/src/bulk/unordered.ts +115 -0
  794. package/backend/node_modules/mongodb/src/change_stream.ts +1165 -0
  795. package/backend/node_modules/mongodb/src/client-side-encryption/auto_encrypter.ts +475 -0
  796. package/backend/node_modules/mongodb/src/client-side-encryption/client_encryption.ts +1148 -0
  797. package/backend/node_modules/mongodb/src/client-side-encryption/errors.ts +144 -0
  798. package/backend/node_modules/mongodb/src/client-side-encryption/mongocryptd_manager.ts +100 -0
  799. package/backend/node_modules/mongodb/src/client-side-encryption/providers/aws.ts +33 -0
  800. package/backend/node_modules/mongodb/src/client-side-encryption/providers/azure.ts +181 -0
  801. package/backend/node_modules/mongodb/src/client-side-encryption/providers/gcp.ts +16 -0
  802. package/backend/node_modules/mongodb/src/client-side-encryption/providers/index.ts +207 -0
  803. package/backend/node_modules/mongodb/src/client-side-encryption/state_machine.ts +651 -0
  804. package/backend/node_modules/mongodb/src/cmap/auth/auth_provider.ts +77 -0
  805. package/backend/node_modules/mongodb/src/cmap/auth/aws4.ts +207 -0
  806. package/backend/node_modules/mongodb/src/cmap/auth/aws_temporary_credentials.ts +129 -0
  807. package/backend/node_modules/mongodb/src/cmap/auth/gssapi.ts +206 -0
  808. package/backend/node_modules/mongodb/src/cmap/auth/mongo_credentials.ts +292 -0
  809. package/backend/node_modules/mongodb/src/cmap/auth/mongodb_aws.ts +179 -0
  810. package/backend/node_modules/mongodb/src/cmap/auth/mongodb_oidc/automated_callback_workflow.ts +88 -0
  811. package/backend/node_modules/mongodb/src/cmap/auth/mongodb_oidc/azure_machine_workflow.ts +73 -0
  812. package/backend/node_modules/mongodb/src/cmap/auth/mongodb_oidc/callback_workflow.ts +188 -0
  813. package/backend/node_modules/mongodb/src/cmap/auth/mongodb_oidc/command_builders.ts +53 -0
  814. package/backend/node_modules/mongodb/src/cmap/auth/mongodb_oidc/gcp_machine_workflow.ts +46 -0
  815. package/backend/node_modules/mongodb/src/cmap/auth/mongodb_oidc/human_callback_workflow.ts +141 -0
  816. package/backend/node_modules/mongodb/src/cmap/auth/mongodb_oidc/k8s_machine_workflow.ts +31 -0
  817. package/backend/node_modules/mongodb/src/cmap/auth/mongodb_oidc/token_cache.ts +62 -0
  818. package/backend/node_modules/mongodb/src/cmap/auth/mongodb_oidc/token_machine_workflow.ts +22 -0
  819. package/backend/node_modules/mongodb/src/cmap/auth/mongodb_oidc.ts +185 -0
  820. package/backend/node_modules/mongodb/src/cmap/auth/plain.ts +25 -0
  821. package/backend/node_modules/mongodb/src/cmap/auth/providers.ts +22 -0
  822. package/backend/node_modules/mongodb/src/cmap/auth/scram.ts +371 -0
  823. package/backend/node_modules/mongodb/src/cmap/auth/x509.ts +43 -0
  824. package/backend/node_modules/mongodb/src/cmap/command_monitoring_events.ts +316 -0
  825. package/backend/node_modules/mongodb/src/cmap/commands.ts +807 -0
  826. package/backend/node_modules/mongodb/src/cmap/connect.ts +538 -0
  827. package/backend/node_modules/mongodb/src/cmap/connection.ts +938 -0
  828. package/backend/node_modules/mongodb/src/cmap/connection_pool.ts +831 -0
  829. package/backend/node_modules/mongodb/src/cmap/connection_pool_events.ts +300 -0
  830. package/backend/node_modules/mongodb/src/cmap/errors.ts +119 -0
  831. package/backend/node_modules/mongodb/src/cmap/handshake/client_metadata.ts +353 -0
  832. package/backend/node_modules/mongodb/src/cmap/metrics.ts +58 -0
  833. package/backend/node_modules/mongodb/src/cmap/stream_description.ts +96 -0
  834. package/backend/node_modules/mongodb/src/cmap/wire_protocol/compression.ts +215 -0
  835. package/backend/node_modules/mongodb/src/cmap/wire_protocol/constants.ts +17 -0
  836. package/backend/node_modules/mongodb/src/cmap/wire_protocol/on_data.ts +139 -0
  837. package/backend/node_modules/mongodb/src/cmap/wire_protocol/on_demand/document.ts +356 -0
  838. package/backend/node_modules/mongodb/src/cmap/wire_protocol/responses.ts +393 -0
  839. package/backend/node_modules/mongodb/src/cmap/wire_protocol/shared.ts +48 -0
  840. package/backend/node_modules/mongodb/src/collection.ts +1314 -0
  841. package/backend/node_modules/mongodb/src/connection_string.ts +1315 -0
  842. package/backend/node_modules/mongodb/src/constants.ts +176 -0
  843. package/backend/node_modules/mongodb/src/cursor/abstract_cursor.ts +1247 -0
  844. package/backend/node_modules/mongodb/src/cursor/aggregation_cursor.ts +245 -0
  845. package/backend/node_modules/mongodb/src/cursor/change_stream_cursor.ts +171 -0
  846. package/backend/node_modules/mongodb/src/cursor/client_bulk_write_cursor.ts +83 -0
  847. package/backend/node_modules/mongodb/src/cursor/explainable_cursor.ts +51 -0
  848. package/backend/node_modules/mongodb/src/cursor/find_cursor.ts +497 -0
  849. package/backend/node_modules/mongodb/src/cursor/list_collections_cursor.ts +50 -0
  850. package/backend/node_modules/mongodb/src/cursor/list_indexes_cursor.ts +37 -0
  851. package/backend/node_modules/mongodb/src/cursor/list_search_indexes_cursor.ts +20 -0
  852. package/backend/node_modules/mongodb/src/cursor/run_command_cursor.ts +178 -0
  853. package/backend/node_modules/mongodb/src/db.ts +621 -0
  854. package/backend/node_modules/mongodb/src/deps.ts +227 -0
  855. package/backend/node_modules/mongodb/src/encrypter.ts +127 -0
  856. package/backend/node_modules/mongodb/src/error.ts +1567 -0
  857. package/backend/node_modules/mongodb/src/explain.ts +124 -0
  858. package/backend/node_modules/mongodb/src/gridfs/download.ts +483 -0
  859. package/backend/node_modules/mongodb/src/gridfs/index.ts +264 -0
  860. package/backend/node_modules/mongodb/src/gridfs/upload.ts +538 -0
  861. package/backend/node_modules/mongodb/src/index.ts +634 -0
  862. package/backend/node_modules/mongodb/src/mongo_client.ts +1179 -0
  863. package/backend/node_modules/mongodb/src/mongo_client_auth_providers.ts +87 -0
  864. package/backend/node_modules/mongodb/src/mongo_logger.ts +1081 -0
  865. package/backend/node_modules/mongodb/src/mongo_types.ts +678 -0
  866. package/backend/node_modules/mongodb/src/operations/aggregate.ts +153 -0
  867. package/backend/node_modules/mongodb/src/operations/client_bulk_write/client_bulk_write.ts +72 -0
  868. package/backend/node_modules/mongodb/src/operations/client_bulk_write/command_builder.ts +487 -0
  869. package/backend/node_modules/mongodb/src/operations/client_bulk_write/common.ts +276 -0
  870. package/backend/node_modules/mongodb/src/operations/client_bulk_write/executor.ts +149 -0
  871. package/backend/node_modules/mongodb/src/operations/client_bulk_write/results_merger.ts +260 -0
  872. package/backend/node_modules/mongodb/src/operations/command.ts +171 -0
  873. package/backend/node_modules/mongodb/src/operations/count.ts +74 -0
  874. package/backend/node_modules/mongodb/src/operations/create_collection.ts +218 -0
  875. package/backend/node_modules/mongodb/src/operations/delete.ts +183 -0
  876. package/backend/node_modules/mongodb/src/operations/distinct.ts +92 -0
  877. package/backend/node_modules/mongodb/src/operations/drop.ts +130 -0
  878. package/backend/node_modules/mongodb/src/operations/end_sessions.ts +44 -0
  879. package/backend/node_modules/mongodb/src/operations/estimated_document_count.ts +61 -0
  880. package/backend/node_modules/mongodb/src/operations/execute_operation.ts +420 -0
  881. package/backend/node_modules/mongodb/src/operations/find.ts +254 -0
  882. package/backend/node_modules/mongodb/src/operations/find_and_modify.ts +319 -0
  883. package/backend/node_modules/mongodb/src/operations/get_more.ts +108 -0
  884. package/backend/node_modules/mongodb/src/operations/indexes.ts +418 -0
  885. package/backend/node_modules/mongodb/src/operations/insert.ts +108 -0
  886. package/backend/node_modules/mongodb/src/operations/kill_cursors.ts +64 -0
  887. package/backend/node_modules/mongodb/src/operations/list_collections.ts +108 -0
  888. package/backend/node_modules/mongodb/src/operations/list_databases.ts +68 -0
  889. package/backend/node_modules/mongodb/src/operations/operation.ts +189 -0
  890. package/backend/node_modules/mongodb/src/operations/profiling_level.ts +46 -0
  891. package/backend/node_modules/mongodb/src/operations/remove_user.ts +36 -0
  892. package/backend/node_modules/mongodb/src/operations/rename.ts +60 -0
  893. package/backend/node_modules/mongodb/src/operations/run_command.ts +79 -0
  894. package/backend/node_modules/mongodb/src/operations/search_indexes/create.ts +56 -0
  895. package/backend/node_modules/mongodb/src/operations/search_indexes/drop.ts +58 -0
  896. package/backend/node_modules/mongodb/src/operations/search_indexes/update.ts +45 -0
  897. package/backend/node_modules/mongodb/src/operations/set_profiling_level.ts +74 -0
  898. package/backend/node_modules/mongodb/src/operations/stats.ts +37 -0
  899. package/backend/node_modules/mongodb/src/operations/update.ts +318 -0
  900. package/backend/node_modules/mongodb/src/operations/validate_collection.ts +50 -0
  901. package/backend/node_modules/mongodb/src/read_concern.ts +88 -0
  902. package/backend/node_modules/mongodb/src/read_preference.ts +256 -0
  903. package/backend/node_modules/mongodb/src/runtime_adapters.ts +64 -0
  904. package/backend/node_modules/mongodb/src/sdam/common.ts +74 -0
  905. package/backend/node_modules/mongodb/src/sdam/events.ts +219 -0
  906. package/backend/node_modules/mongodb/src/sdam/monitor.ts +771 -0
  907. package/backend/node_modules/mongodb/src/sdam/server.ts +595 -0
  908. package/backend/node_modules/mongodb/src/sdam/server_description.ts +297 -0
  909. package/backend/node_modules/mongodb/src/sdam/server_selection.ts +415 -0
  910. package/backend/node_modules/mongodb/src/sdam/server_selection_events.ts +142 -0
  911. package/backend/node_modules/mongodb/src/sdam/srv_polling.ts +146 -0
  912. package/backend/node_modules/mongodb/src/sdam/topology.ts +1103 -0
  913. package/backend/node_modules/mongodb/src/sdam/topology_description.ts +548 -0
  914. package/backend/node_modules/mongodb/src/sessions.ts +1288 -0
  915. package/backend/node_modules/mongodb/src/sort.ts +141 -0
  916. package/backend/node_modules/mongodb/src/timeout.ts +405 -0
  917. package/backend/node_modules/mongodb/src/transactions.ts +181 -0
  918. package/backend/node_modules/mongodb/src/utils.ts +1429 -0
  919. package/backend/node_modules/mongodb/src/write_concern.ts +183 -0
  920. package/backend/node_modules/mongodb/tsconfig.json +46 -0
  921. package/backend/node_modules/mongodb-connection-string-url/.esm-wrapper.mjs +6 -0
  922. package/backend/node_modules/mongodb-connection-string-url/LICENSE +192 -0
  923. package/backend/node_modules/mongodb-connection-string-url/README.md +25 -0
  924. package/backend/node_modules/mongodb-connection-string-url/lib/index.d.ts +63 -0
  925. package/backend/node_modules/mongodb-connection-string-url/lib/index.js +239 -0
  926. package/backend/node_modules/mongodb-connection-string-url/lib/index.js.map +1 -0
  927. package/backend/node_modules/mongodb-connection-string-url/lib/redact.d.ts +7 -0
  928. package/backend/node_modules/mongodb-connection-string-url/lib/redact.js +97 -0
  929. package/backend/node_modules/mongodb-connection-string-url/lib/redact.js.map +1 -0
  930. package/backend/node_modules/mongodb-connection-string-url/package.json +71 -0
  931. package/backend/node_modules/mongoose/LICENSE.md +22 -0
  932. package/backend/node_modules/mongoose/README.md +397 -0
  933. package/backend/node_modules/mongoose/SECURITY.md +1 -0
  934. package/backend/node_modules/mongoose/eslint.config.mjs +201 -0
  935. package/backend/node_modules/mongoose/index.js +64 -0
  936. package/backend/node_modules/mongoose/lib/aggregate.js +1253 -0
  937. package/backend/node_modules/mongoose/lib/cast/bigint.js +46 -0
  938. package/backend/node_modules/mongoose/lib/cast/boolean.js +32 -0
  939. package/backend/node_modules/mongoose/lib/cast/date.js +41 -0
  940. package/backend/node_modules/mongoose/lib/cast/decimal128.js +39 -0
  941. package/backend/node_modules/mongoose/lib/cast/double.js +50 -0
  942. package/backend/node_modules/mongoose/lib/cast/int32.js +36 -0
  943. package/backend/node_modules/mongoose/lib/cast/number.js +42 -0
  944. package/backend/node_modules/mongoose/lib/cast/objectid.js +29 -0
  945. package/backend/node_modules/mongoose/lib/cast/string.js +37 -0
  946. package/backend/node_modules/mongoose/lib/cast/uuid.js +35 -0
  947. package/backend/node_modules/mongoose/lib/cast.js +436 -0
  948. package/backend/node_modules/mongoose/lib/collection.js +321 -0
  949. package/backend/node_modules/mongoose/lib/connection.js +1853 -0
  950. package/backend/node_modules/mongoose/lib/connectionState.js +26 -0
  951. package/backend/node_modules/mongoose/lib/constants.js +73 -0
  952. package/backend/node_modules/mongoose/lib/cursor/aggregationCursor.js +497 -0
  953. package/backend/node_modules/mongoose/lib/cursor/changeStream.js +218 -0
  954. package/backend/node_modules/mongoose/lib/cursor/queryCursor.js +641 -0
  955. package/backend/node_modules/mongoose/lib/document.js +5714 -0
  956. package/backend/node_modules/mongoose/lib/driver.js +15 -0
  957. package/backend/node_modules/mongoose/lib/drivers/SPEC.md +4 -0
  958. package/backend/node_modules/mongoose/lib/drivers/node-mongodb-native/bulkWriteResult.js +5 -0
  959. package/backend/node_modules/mongoose/lib/drivers/node-mongodb-native/collection.js +426 -0
  960. package/backend/node_modules/mongoose/lib/drivers/node-mongodb-native/connection.js +519 -0
  961. package/backend/node_modules/mongoose/lib/drivers/node-mongodb-native/index.js +10 -0
  962. package/backend/node_modules/mongoose/lib/error/browserMissingSchema.js +29 -0
  963. package/backend/node_modules/mongoose/lib/error/bulkSaveIncompleteError.js +44 -0
  964. package/backend/node_modules/mongoose/lib/error/bulkWriteError.js +41 -0
  965. package/backend/node_modules/mongoose/lib/error/cast.js +167 -0
  966. package/backend/node_modules/mongoose/lib/error/createCollectionsError.js +26 -0
  967. package/backend/node_modules/mongoose/lib/error/divergentArray.js +40 -0
  968. package/backend/node_modules/mongoose/lib/error/eachAsyncMultiError.js +41 -0
  969. package/backend/node_modules/mongoose/lib/error/index.js +237 -0
  970. package/backend/node_modules/mongoose/lib/error/invalidSchemaOption.js +32 -0
  971. package/backend/node_modules/mongoose/lib/error/messages.js +48 -0
  972. package/backend/node_modules/mongoose/lib/error/missingSchema.js +33 -0
  973. package/backend/node_modules/mongoose/lib/error/mongooseError.js +13 -0
  974. package/backend/node_modules/mongoose/lib/error/notFound.js +47 -0
  975. package/backend/node_modules/mongoose/lib/error/objectExpected.js +31 -0
  976. package/backend/node_modules/mongoose/lib/error/objectParameter.js +31 -0
  977. package/backend/node_modules/mongoose/lib/error/overwriteModel.js +31 -0
  978. package/backend/node_modules/mongoose/lib/error/parallelSave.js +33 -0
  979. package/backend/node_modules/mongoose/lib/error/parallelValidate.js +33 -0
  980. package/backend/node_modules/mongoose/lib/error/serverSelection.js +62 -0
  981. package/backend/node_modules/mongoose/lib/error/setOptionError.js +103 -0
  982. package/backend/node_modules/mongoose/lib/error/strict.js +35 -0
  983. package/backend/node_modules/mongoose/lib/error/strictPopulate.js +31 -0
  984. package/backend/node_modules/mongoose/lib/error/syncIndexes.js +30 -0
  985. package/backend/node_modules/mongoose/lib/error/validation.js +97 -0
  986. package/backend/node_modules/mongoose/lib/error/validator.js +100 -0
  987. package/backend/node_modules/mongoose/lib/error/version.js +38 -0
  988. package/backend/node_modules/mongoose/lib/helpers/aggregate/prepareDiscriminatorPipeline.js +39 -0
  989. package/backend/node_modules/mongoose/lib/helpers/aggregate/stringifyFunctionOperators.js +50 -0
  990. package/backend/node_modules/mongoose/lib/helpers/arrayDepth.js +33 -0
  991. package/backend/node_modules/mongoose/lib/helpers/buildMiddlewareFilter.js +24 -0
  992. package/backend/node_modules/mongoose/lib/helpers/clone.js +253 -0
  993. package/backend/node_modules/mongoose/lib/helpers/common.js +127 -0
  994. package/backend/node_modules/mongoose/lib/helpers/cursor/eachAsync.js +225 -0
  995. package/backend/node_modules/mongoose/lib/helpers/discriminator/applyEmbeddedDiscriminators.js +36 -0
  996. package/backend/node_modules/mongoose/lib/helpers/discriminator/areDiscriminatorValuesEqual.js +16 -0
  997. package/backend/node_modules/mongoose/lib/helpers/discriminator/checkEmbeddedDiscriminatorKeyProjection.js +12 -0
  998. package/backend/node_modules/mongoose/lib/helpers/discriminator/getConstructor.js +29 -0
  999. package/backend/node_modules/mongoose/lib/helpers/discriminator/getDiscriminatorByValue.js +28 -0
  1000. package/backend/node_modules/mongoose/lib/helpers/discriminator/getSchemaDiscriminatorByValue.js +27 -0
  1001. package/backend/node_modules/mongoose/lib/helpers/discriminator/mergeDiscriminatorSchema.js +96 -0
  1002. package/backend/node_modules/mongoose/lib/helpers/document/applyDefaults.js +137 -0
  1003. package/backend/node_modules/mongoose/lib/helpers/document/applyTimestamps.js +106 -0
  1004. package/backend/node_modules/mongoose/lib/helpers/document/applyVirtuals.js +147 -0
  1005. package/backend/node_modules/mongoose/lib/helpers/document/cleanModifiedSubpaths.js +45 -0
  1006. package/backend/node_modules/mongoose/lib/helpers/document/compile.js +241 -0
  1007. package/backend/node_modules/mongoose/lib/helpers/document/getDeepestSubdocumentForPath.js +38 -0
  1008. package/backend/node_modules/mongoose/lib/helpers/document/getEmbeddedDiscriminatorPath.js +53 -0
  1009. package/backend/node_modules/mongoose/lib/helpers/document/handleSpreadDoc.js +35 -0
  1010. package/backend/node_modules/mongoose/lib/helpers/document/isInPathsToSave.js +24 -0
  1011. package/backend/node_modules/mongoose/lib/helpers/each.js +25 -0
  1012. package/backend/node_modules/mongoose/lib/helpers/error/combinePathErrors.js +22 -0
  1013. package/backend/node_modules/mongoose/lib/helpers/firstKey.js +8 -0
  1014. package/backend/node_modules/mongoose/lib/helpers/get.js +65 -0
  1015. package/backend/node_modules/mongoose/lib/helpers/getConstructorName.js +16 -0
  1016. package/backend/node_modules/mongoose/lib/helpers/getDefaultBulkwriteResult.js +18 -0
  1017. package/backend/node_modules/mongoose/lib/helpers/getFunctionName.js +10 -0
  1018. package/backend/node_modules/mongoose/lib/helpers/immediate.js +16 -0
  1019. package/backend/node_modules/mongoose/lib/helpers/indexes/applySchemaCollation.js +13 -0
  1020. package/backend/node_modules/mongoose/lib/helpers/indexes/decorateDiscriminatorIndexOptions.js +14 -0
  1021. package/backend/node_modules/mongoose/lib/helpers/indexes/getRelatedIndexes.js +63 -0
  1022. package/backend/node_modules/mongoose/lib/helpers/indexes/isDefaultIdIndex.js +18 -0
  1023. package/backend/node_modules/mongoose/lib/helpers/indexes/isIndexEqual.js +95 -0
  1024. package/backend/node_modules/mongoose/lib/helpers/indexes/isIndexSpecEqual.js +32 -0
  1025. package/backend/node_modules/mongoose/lib/helpers/indexes/isTextIndex.js +16 -0
  1026. package/backend/node_modules/mongoose/lib/helpers/indexes/isTimeseriesIndex.js +16 -0
  1027. package/backend/node_modules/mongoose/lib/helpers/isAsyncFunction.js +9 -0
  1028. package/backend/node_modules/mongoose/lib/helpers/isBsonType.js +15 -0
  1029. package/backend/node_modules/mongoose/lib/helpers/isMongooseObject.js +22 -0
  1030. package/backend/node_modules/mongoose/lib/helpers/isObject.js +16 -0
  1031. package/backend/node_modules/mongoose/lib/helpers/isPOJO.js +12 -0
  1032. package/backend/node_modules/mongoose/lib/helpers/isPromise.js +6 -0
  1033. package/backend/node_modules/mongoose/lib/helpers/isSimpleValidator.js +22 -0
  1034. package/backend/node_modules/mongoose/lib/helpers/minimize.js +41 -0
  1035. package/backend/node_modules/mongoose/lib/helpers/model/applyDefaultsToPOJO.js +52 -0
  1036. package/backend/node_modules/mongoose/lib/helpers/model/applyHooks.js +151 -0
  1037. package/backend/node_modules/mongoose/lib/helpers/model/applyMethods.js +70 -0
  1038. package/backend/node_modules/mongoose/lib/helpers/model/applyStaticHooks.js +33 -0
  1039. package/backend/node_modules/mongoose/lib/helpers/model/applyStatics.js +13 -0
  1040. package/backend/node_modules/mongoose/lib/helpers/model/castBulkWrite.js +322 -0
  1041. package/backend/node_modules/mongoose/lib/helpers/model/decorateBulkWriteResult.js +8 -0
  1042. package/backend/node_modules/mongoose/lib/helpers/model/discriminator.js +265 -0
  1043. package/backend/node_modules/mongoose/lib/helpers/model/pushNestedArrayPaths.js +15 -0
  1044. package/backend/node_modules/mongoose/lib/helpers/omitUndefined.js +20 -0
  1045. package/backend/node_modules/mongoose/lib/helpers/once.js +12 -0
  1046. package/backend/node_modules/mongoose/lib/helpers/parallelLimit.js +37 -0
  1047. package/backend/node_modules/mongoose/lib/helpers/path/parentPaths.js +18 -0
  1048. package/backend/node_modules/mongoose/lib/helpers/path/setDottedPath.js +33 -0
  1049. package/backend/node_modules/mongoose/lib/helpers/pluralize.js +95 -0
  1050. package/backend/node_modules/mongoose/lib/helpers/populate/assignRawDocsToIdStructure.js +129 -0
  1051. package/backend/node_modules/mongoose/lib/helpers/populate/assignVals.js +360 -0
  1052. package/backend/node_modules/mongoose/lib/helpers/populate/createPopulateQueryFilter.js +105 -0
  1053. package/backend/node_modules/mongoose/lib/helpers/populate/getModelsMapForPopulate.js +896 -0
  1054. package/backend/node_modules/mongoose/lib/helpers/populate/getSchemaTypes.js +229 -0
  1055. package/backend/node_modules/mongoose/lib/helpers/populate/getVirtual.js +103 -0
  1056. package/backend/node_modules/mongoose/lib/helpers/populate/leanPopulateMap.js +7 -0
  1057. package/backend/node_modules/mongoose/lib/helpers/populate/lookupLocalFields.js +40 -0
  1058. package/backend/node_modules/mongoose/lib/helpers/populate/markArraySubdocsPopulated.js +49 -0
  1059. package/backend/node_modules/mongoose/lib/helpers/populate/modelNamesFromRefPath.js +74 -0
  1060. package/backend/node_modules/mongoose/lib/helpers/populate/removeDeselectedForeignField.js +31 -0
  1061. package/backend/node_modules/mongoose/lib/helpers/populate/setPopulatedVirtualValue.js +33 -0
  1062. package/backend/node_modules/mongoose/lib/helpers/populate/skipPopulateValue.js +10 -0
  1063. package/backend/node_modules/mongoose/lib/helpers/populate/splitPopulateQuery.js +81 -0
  1064. package/backend/node_modules/mongoose/lib/helpers/populate/validateRef.js +19 -0
  1065. package/backend/node_modules/mongoose/lib/helpers/printJestWarning.js +21 -0
  1066. package/backend/node_modules/mongoose/lib/helpers/processConnectionOptions.js +65 -0
  1067. package/backend/node_modules/mongoose/lib/helpers/projection/applyProjection.js +83 -0
  1068. package/backend/node_modules/mongoose/lib/helpers/projection/hasIncludedChildren.js +41 -0
  1069. package/backend/node_modules/mongoose/lib/helpers/projection/isDefiningProjection.js +18 -0
  1070. package/backend/node_modules/mongoose/lib/helpers/projection/isExclusive.js +37 -0
  1071. package/backend/node_modules/mongoose/lib/helpers/projection/isInclusive.js +39 -0
  1072. package/backend/node_modules/mongoose/lib/helpers/projection/isNestedProjection.js +8 -0
  1073. package/backend/node_modules/mongoose/lib/helpers/projection/isPathExcluded.js +40 -0
  1074. package/backend/node_modules/mongoose/lib/helpers/projection/isPathSelectedInclusive.js +28 -0
  1075. package/backend/node_modules/mongoose/lib/helpers/projection/isSubpath.js +14 -0
  1076. package/backend/node_modules/mongoose/lib/helpers/projection/parseProjection.js +38 -0
  1077. package/backend/node_modules/mongoose/lib/helpers/query/applyGlobalOption.js +29 -0
  1078. package/backend/node_modules/mongoose/lib/helpers/query/cast$expr.js +287 -0
  1079. package/backend/node_modules/mongoose/lib/helpers/query/castFilterPath.js +54 -0
  1080. package/backend/node_modules/mongoose/lib/helpers/query/castUpdate.js +647 -0
  1081. package/backend/node_modules/mongoose/lib/helpers/query/getEmbeddedDiscriminatorPath.js +103 -0
  1082. package/backend/node_modules/mongoose/lib/helpers/query/handleImmutable.js +44 -0
  1083. package/backend/node_modules/mongoose/lib/helpers/query/handleReadPreferenceAliases.js +23 -0
  1084. package/backend/node_modules/mongoose/lib/helpers/query/hasDollarKeys.js +23 -0
  1085. package/backend/node_modules/mongoose/lib/helpers/query/isOperator.js +14 -0
  1086. package/backend/node_modules/mongoose/lib/helpers/query/sanitizeFilter.js +41 -0
  1087. package/backend/node_modules/mongoose/lib/helpers/query/sanitizeProjection.js +14 -0
  1088. package/backend/node_modules/mongoose/lib/helpers/query/selectPopulatedFields.js +62 -0
  1089. package/backend/node_modules/mongoose/lib/helpers/query/trusted.js +13 -0
  1090. package/backend/node_modules/mongoose/lib/helpers/query/validOps.js +3 -0
  1091. package/backend/node_modules/mongoose/lib/helpers/schema/addAutoId.js +7 -0
  1092. package/backend/node_modules/mongoose/lib/helpers/schema/applyBuiltinPlugins.js +12 -0
  1093. package/backend/node_modules/mongoose/lib/helpers/schema/applyPlugins.js +55 -0
  1094. package/backend/node_modules/mongoose/lib/helpers/schema/applyReadConcern.js +20 -0
  1095. package/backend/node_modules/mongoose/lib/helpers/schema/applyWriteConcern.js +39 -0
  1096. package/backend/node_modules/mongoose/lib/helpers/schema/cleanPositionalOperators.js +12 -0
  1097. package/backend/node_modules/mongoose/lib/helpers/schema/getIndexes.js +171 -0
  1098. package/backend/node_modules/mongoose/lib/helpers/schema/getKeysInSchemaOrder.js +25 -0
  1099. package/backend/node_modules/mongoose/lib/helpers/schema/getPath.js +43 -0
  1100. package/backend/node_modules/mongoose/lib/helpers/schema/getSubdocumentStrictValue.js +32 -0
  1101. package/backend/node_modules/mongoose/lib/helpers/schema/handleIdOption.js +20 -0
  1102. package/backend/node_modules/mongoose/lib/helpers/schema/handleTimestampOption.js +24 -0
  1103. package/backend/node_modules/mongoose/lib/helpers/schema/idGetter.js +34 -0
  1104. package/backend/node_modules/mongoose/lib/helpers/schema/merge.js +36 -0
  1105. package/backend/node_modules/mongoose/lib/helpers/schematype/handleImmutable.js +50 -0
  1106. package/backend/node_modules/mongoose/lib/helpers/setDefaultsOnInsert.js +174 -0
  1107. package/backend/node_modules/mongoose/lib/helpers/specialProperties.js +3 -0
  1108. package/backend/node_modules/mongoose/lib/helpers/symbols.js +20 -0
  1109. package/backend/node_modules/mongoose/lib/helpers/timers.js +3 -0
  1110. package/backend/node_modules/mongoose/lib/helpers/timestamps/setDocumentTimestamps.js +26 -0
  1111. package/backend/node_modules/mongoose/lib/helpers/timestamps/setupTimestamps.js +132 -0
  1112. package/backend/node_modules/mongoose/lib/helpers/topology/allServersUnknown.js +12 -0
  1113. package/backend/node_modules/mongoose/lib/helpers/topology/isAtlas.js +31 -0
  1114. package/backend/node_modules/mongoose/lib/helpers/topology/isSSLError.js +16 -0
  1115. package/backend/node_modules/mongoose/lib/helpers/update/applyTimestampsToChildren.js +193 -0
  1116. package/backend/node_modules/mongoose/lib/helpers/update/applyTimestampsToUpdate.js +133 -0
  1117. package/backend/node_modules/mongoose/lib/helpers/update/castArrayFilters.js +113 -0
  1118. package/backend/node_modules/mongoose/lib/helpers/update/decorateUpdateWithVersionKey.js +35 -0
  1119. package/backend/node_modules/mongoose/lib/helpers/update/modifiedPaths.js +33 -0
  1120. package/backend/node_modules/mongoose/lib/helpers/update/moveImmutableProperties.js +53 -0
  1121. package/backend/node_modules/mongoose/lib/helpers/update/removeUnusedArrayFilters.js +37 -0
  1122. package/backend/node_modules/mongoose/lib/helpers/update/updatedPathsByArrayFilter.js +27 -0
  1123. package/backend/node_modules/mongoose/lib/helpers/updateValidators.js +186 -0
  1124. package/backend/node_modules/mongoose/lib/index.js +17 -0
  1125. package/backend/node_modules/mongoose/lib/internal.js +46 -0
  1126. package/backend/node_modules/mongoose/lib/model.js +5310 -0
  1127. package/backend/node_modules/mongoose/lib/modifiedPathsSnapshot.js +9 -0
  1128. package/backend/node_modules/mongoose/lib/mongoose.js +1435 -0
  1129. package/backend/node_modules/mongoose/lib/options/populateOptions.js +36 -0
  1130. package/backend/node_modules/mongoose/lib/options/propertyOptions.js +8 -0
  1131. package/backend/node_modules/mongoose/lib/options/saveOptions.js +16 -0
  1132. package/backend/node_modules/mongoose/lib/options/schemaArrayOptions.js +78 -0
  1133. package/backend/node_modules/mongoose/lib/options/schemaBufferOptions.js +38 -0
  1134. package/backend/node_modules/mongoose/lib/options/schemaDateOptions.js +71 -0
  1135. package/backend/node_modules/mongoose/lib/options/schemaDocumentArrayOptions.js +91 -0
  1136. package/backend/node_modules/mongoose/lib/options/schemaMapOptions.js +43 -0
  1137. package/backend/node_modules/mongoose/lib/options/schemaNumberOptions.js +101 -0
  1138. package/backend/node_modules/mongoose/lib/options/schemaObjectIdOptions.js +64 -0
  1139. package/backend/node_modules/mongoose/lib/options/schemaStringOptions.js +138 -0
  1140. package/backend/node_modules/mongoose/lib/options/schemaSubdocumentOptions.js +89 -0
  1141. package/backend/node_modules/mongoose/lib/options/schemaTypeOptions.js +258 -0
  1142. package/backend/node_modules/mongoose/lib/options/schemaUnionOptions.js +32 -0
  1143. package/backend/node_modules/mongoose/lib/options/virtualOptions.js +164 -0
  1144. package/backend/node_modules/mongoose/lib/options.js +18 -0
  1145. package/backend/node_modules/mongoose/lib/plugins/index.js +5 -0
  1146. package/backend/node_modules/mongoose/lib/plugins/saveSubdocs.js +97 -0
  1147. package/backend/node_modules/mongoose/lib/plugins/sharding.js +101 -0
  1148. package/backend/node_modules/mongoose/lib/plugins/trackTransaction.js +89 -0
  1149. package/backend/node_modules/mongoose/lib/query.js +5861 -0
  1150. package/backend/node_modules/mongoose/lib/queryHelpers.js +396 -0
  1151. package/backend/node_modules/mongoose/lib/schema/array.js +700 -0
  1152. package/backend/node_modules/mongoose/lib/schema/bigint.js +280 -0
  1153. package/backend/node_modules/mongoose/lib/schema/boolean.js +330 -0
  1154. package/backend/node_modules/mongoose/lib/schema/buffer.js +341 -0
  1155. package/backend/node_modules/mongoose/lib/schema/date.js +467 -0
  1156. package/backend/node_modules/mongoose/lib/schema/decimal128.js +261 -0
  1157. package/backend/node_modules/mongoose/lib/schema/documentArray.js +664 -0
  1158. package/backend/node_modules/mongoose/lib/schema/documentArrayElement.js +136 -0
  1159. package/backend/node_modules/mongoose/lib/schema/double.js +244 -0
  1160. package/backend/node_modules/mongoose/lib/schema/index.js +32 -0
  1161. package/backend/node_modules/mongoose/lib/schema/int32.js +287 -0
  1162. package/backend/node_modules/mongoose/lib/schema/map.js +194 -0
  1163. package/backend/node_modules/mongoose/lib/schema/mixed.js +146 -0
  1164. package/backend/node_modules/mongoose/lib/schema/number.js +508 -0
  1165. package/backend/node_modules/mongoose/lib/schema/objectId.js +337 -0
  1166. package/backend/node_modules/mongoose/lib/schema/operators/bitwise.js +38 -0
  1167. package/backend/node_modules/mongoose/lib/schema/operators/exists.js +12 -0
  1168. package/backend/node_modules/mongoose/lib/schema/operators/geospatial.js +107 -0
  1169. package/backend/node_modules/mongoose/lib/schema/operators/helpers.js +32 -0
  1170. package/backend/node_modules/mongoose/lib/schema/operators/text.js +39 -0
  1171. package/backend/node_modules/mongoose/lib/schema/operators/type.js +20 -0
  1172. package/backend/node_modules/mongoose/lib/schema/string.js +748 -0
  1173. package/backend/node_modules/mongoose/lib/schema/subdocument.js +434 -0
  1174. package/backend/node_modules/mongoose/lib/schema/symbols.js +5 -0
  1175. package/backend/node_modules/mongoose/lib/schema/union.js +163 -0
  1176. package/backend/node_modules/mongoose/lib/schema/uuid.js +303 -0
  1177. package/backend/node_modules/mongoose/lib/schema.js +3248 -0
  1178. package/backend/node_modules/mongoose/lib/schemaType.js +1923 -0
  1179. package/backend/node_modules/mongoose/lib/standardSchema/convertErrorToIssues.js +20 -0
  1180. package/backend/node_modules/mongoose/lib/stateMachine.js +234 -0
  1181. package/backend/node_modules/mongoose/lib/tracing.js +38 -0
  1182. package/backend/node_modules/mongoose/lib/types/array/index.js +119 -0
  1183. package/backend/node_modules/mongoose/lib/types/array/isMongooseArray.js +5 -0
  1184. package/backend/node_modules/mongoose/lib/types/array/methods/index.js +1095 -0
  1185. package/backend/node_modules/mongoose/lib/types/arraySubdocument.js +208 -0
  1186. package/backend/node_modules/mongoose/lib/types/buffer.js +294 -0
  1187. package/backend/node_modules/mongoose/lib/types/decimal128.js +13 -0
  1188. package/backend/node_modules/mongoose/lib/types/documentArray/index.js +113 -0
  1189. package/backend/node_modules/mongoose/lib/types/documentArray/isMongooseDocumentArray.js +5 -0
  1190. package/backend/node_modules/mongoose/lib/types/documentArray/methods/index.js +529 -0
  1191. package/backend/node_modules/mongoose/lib/types/double.js +13 -0
  1192. package/backend/node_modules/mongoose/lib/types/index.js +23 -0
  1193. package/backend/node_modules/mongoose/lib/types/map.js +368 -0
  1194. package/backend/node_modules/mongoose/lib/types/objectid.js +41 -0
  1195. package/backend/node_modules/mongoose/lib/types/subdocument.js +443 -0
  1196. package/backend/node_modules/mongoose/lib/types/uuid.js +13 -0
  1197. package/backend/node_modules/mongoose/lib/utils.js +1064 -0
  1198. package/backend/node_modules/mongoose/lib/validOptions.js +43 -0
  1199. package/backend/node_modules/mongoose/lib/virtualType.js +204 -0
  1200. package/backend/node_modules/mongoose/package.json +141 -0
  1201. package/backend/node_modules/mongoose/tstyche.json +7 -0
  1202. package/backend/node_modules/mongoose/types/aggregate.d.ts +185 -0
  1203. package/backend/node_modules/mongoose/types/augmentations.d.ts +9 -0
  1204. package/backend/node_modules/mongoose/types/callback.d.ts +8 -0
  1205. package/backend/node_modules/mongoose/types/collection.d.ts +49 -0
  1206. package/backend/node_modules/mongoose/types/connection.d.ts +297 -0
  1207. package/backend/node_modules/mongoose/types/cursor.d.ts +67 -0
  1208. package/backend/node_modules/mongoose/types/document.d.ts +345 -0
  1209. package/backend/node_modules/mongoose/types/error.d.ts +143 -0
  1210. package/backend/node_modules/mongoose/types/expressions.d.ts +3069 -0
  1211. package/backend/node_modules/mongoose/types/helpers.d.ts +32 -0
  1212. package/backend/node_modules/mongoose/types/index.d.ts +1162 -0
  1213. package/backend/node_modules/mongoose/types/indexes.d.ts +97 -0
  1214. package/backend/node_modules/mongoose/types/inferhydrateddoctype.d.ts +135 -0
  1215. package/backend/node_modules/mongoose/types/inferrawdoctype.d.ts +185 -0
  1216. package/backend/node_modules/mongoose/types/inferschematype.d.ts +387 -0
  1217. package/backend/node_modules/mongoose/types/middlewares.d.ts +66 -0
  1218. package/backend/node_modules/mongoose/types/models.d.ts +1272 -0
  1219. package/backend/node_modules/mongoose/types/mongooseoptions.d.ts +232 -0
  1220. package/backend/node_modules/mongoose/types/pipelinestage.d.ts +334 -0
  1221. package/backend/node_modules/mongoose/types/populate.d.ts +97 -0
  1222. package/backend/node_modules/mongoose/types/query.d.ts +982 -0
  1223. package/backend/node_modules/mongoose/types/schemaoptions.d.ts +284 -0
  1224. package/backend/node_modules/mongoose/types/schematypes.d.ts +667 -0
  1225. package/backend/node_modules/mongoose/types/session.d.ts +32 -0
  1226. package/backend/node_modules/mongoose/types/tracing.d.ts +10 -0
  1227. package/backend/node_modules/mongoose/types/types.d.ts +109 -0
  1228. package/backend/node_modules/mongoose/types/utility.d.ts +175 -0
  1229. package/backend/node_modules/mongoose/types/validation.d.ts +39 -0
  1230. package/backend/node_modules/mongoose/types/virtuals.d.ts +14 -0
  1231. package/backend/node_modules/mpath/.travis.yml +9 -0
  1232. package/backend/node_modules/mpath/History.md +88 -0
  1233. package/backend/node_modules/mpath/LICENSE +22 -0
  1234. package/backend/node_modules/mpath/README.md +278 -0
  1235. package/backend/node_modules/mpath/SECURITY.md +5 -0
  1236. package/backend/node_modules/mpath/index.js +3 -0
  1237. package/backend/node_modules/mpath/lib/index.js +336 -0
  1238. package/backend/node_modules/mpath/lib/stringToParts.js +48 -0
  1239. package/backend/node_modules/mpath/package.json +144 -0
  1240. package/backend/node_modules/mpath/test/.eslintrc.yml +4 -0
  1241. package/backend/node_modules/mpath/test/index.js +1879 -0
  1242. package/backend/node_modules/mpath/test/stringToParts.js +30 -0
  1243. package/backend/node_modules/mquery/.github/ISSUE_TEMPLATE.md +11 -0
  1244. package/backend/node_modules/mquery/.github/PULL_REQUEST_TEMPLATE.md +9 -0
  1245. package/backend/node_modules/mquery/History.md +393 -0
  1246. package/backend/node_modules/mquery/LICENSE +22 -0
  1247. package/backend/node_modules/mquery/README.md +1387 -0
  1248. package/backend/node_modules/mquery/SECURITY.md +1 -0
  1249. package/backend/node_modules/mquery/lib/collection/collection.js +47 -0
  1250. package/backend/node_modules/mquery/lib/collection/index.js +13 -0
  1251. package/backend/node_modules/mquery/lib/collection/node.js +128 -0
  1252. package/backend/node_modules/mquery/lib/env.js +22 -0
  1253. package/backend/node_modules/mquery/lib/mquery.js +2748 -0
  1254. package/backend/node_modules/mquery/lib/permissions.js +93 -0
  1255. package/backend/node_modules/mquery/lib/utils.js +297 -0
  1256. package/backend/node_modules/mquery/package.json +35 -0
  1257. package/backend/node_modules/ms/index.js +162 -0
  1258. package/backend/node_modules/ms/license.md +21 -0
  1259. package/backend/node_modules/ms/package.json +38 -0
  1260. package/backend/node_modules/ms/readme.md +59 -0
  1261. package/backend/node_modules/negotiator/HISTORY.md +114 -0
  1262. package/backend/node_modules/negotiator/LICENSE +24 -0
  1263. package/backend/node_modules/negotiator/README.md +212 -0
  1264. package/backend/node_modules/negotiator/index.js +83 -0
  1265. package/backend/node_modules/negotiator/lib/charset.js +169 -0
  1266. package/backend/node_modules/negotiator/lib/encoding.js +205 -0
  1267. package/backend/node_modules/negotiator/lib/language.js +179 -0
  1268. package/backend/node_modules/negotiator/lib/mediaType.js +294 -0
  1269. package/backend/node_modules/negotiator/package.json +43 -0
  1270. package/backend/node_modules/object-assign/index.js +90 -0
  1271. package/backend/node_modules/object-assign/license +21 -0
  1272. package/backend/node_modules/object-assign/package.json +42 -0
  1273. package/backend/node_modules/object-assign/readme.md +61 -0
  1274. package/backend/node_modules/object-inspect/.eslintrc +53 -0
  1275. package/backend/node_modules/object-inspect/.github/FUNDING.yml +12 -0
  1276. package/backend/node_modules/object-inspect/.nycrc +13 -0
  1277. package/backend/node_modules/object-inspect/CHANGELOG.md +424 -0
  1278. package/backend/node_modules/object-inspect/LICENSE +21 -0
  1279. package/backend/node_modules/object-inspect/example/all.js +23 -0
  1280. package/backend/node_modules/object-inspect/example/circular.js +6 -0
  1281. package/backend/node_modules/object-inspect/example/fn.js +5 -0
  1282. package/backend/node_modules/object-inspect/example/inspect.js +10 -0
  1283. package/backend/node_modules/object-inspect/index.js +544 -0
  1284. package/backend/node_modules/object-inspect/package-support.json +20 -0
  1285. package/backend/node_modules/object-inspect/package.json +105 -0
  1286. package/backend/node_modules/object-inspect/readme.markdown +84 -0
  1287. package/backend/node_modules/object-inspect/test/bigint.js +58 -0
  1288. package/backend/node_modules/object-inspect/test/browser/dom.js +15 -0
  1289. package/backend/node_modules/object-inspect/test/circular.js +16 -0
  1290. package/backend/node_modules/object-inspect/test/deep.js +12 -0
  1291. package/backend/node_modules/object-inspect/test/element.js +53 -0
  1292. package/backend/node_modules/object-inspect/test/err.js +48 -0
  1293. package/backend/node_modules/object-inspect/test/fakes.js +29 -0
  1294. package/backend/node_modules/object-inspect/test/fn.js +76 -0
  1295. package/backend/node_modules/object-inspect/test/global.js +17 -0
  1296. package/backend/node_modules/object-inspect/test/has.js +15 -0
  1297. package/backend/node_modules/object-inspect/test/holes.js +15 -0
  1298. package/backend/node_modules/object-inspect/test/indent-option.js +271 -0
  1299. package/backend/node_modules/object-inspect/test/inspect.js +139 -0
  1300. package/backend/node_modules/object-inspect/test/lowbyte.js +12 -0
  1301. package/backend/node_modules/object-inspect/test/number.js +58 -0
  1302. package/backend/node_modules/object-inspect/test/quoteStyle.js +26 -0
  1303. package/backend/node_modules/object-inspect/test/toStringTag.js +40 -0
  1304. package/backend/node_modules/object-inspect/test/undef.js +12 -0
  1305. package/backend/node_modules/object-inspect/test/values.js +261 -0
  1306. package/backend/node_modules/object-inspect/test-core-js.js +26 -0
  1307. package/backend/node_modules/object-inspect/util.inspect.js +1 -0
  1308. package/backend/node_modules/on-finished/HISTORY.md +98 -0
  1309. package/backend/node_modules/on-finished/LICENSE +23 -0
  1310. package/backend/node_modules/on-finished/README.md +162 -0
  1311. package/backend/node_modules/on-finished/index.js +234 -0
  1312. package/backend/node_modules/on-finished/package.json +39 -0
  1313. package/backend/node_modules/once/LICENSE +15 -0
  1314. package/backend/node_modules/once/README.md +79 -0
  1315. package/backend/node_modules/once/once.js +42 -0
  1316. package/backend/node_modules/once/package.json +33 -0
  1317. package/backend/node_modules/parseurl/HISTORY.md +58 -0
  1318. package/backend/node_modules/parseurl/LICENSE +24 -0
  1319. package/backend/node_modules/parseurl/README.md +133 -0
  1320. package/backend/node_modules/parseurl/index.js +158 -0
  1321. package/backend/node_modules/parseurl/package.json +40 -0
  1322. package/backend/node_modules/path-to-regexp/LICENSE +21 -0
  1323. package/backend/node_modules/path-to-regexp/Readme.md +224 -0
  1324. package/backend/node_modules/path-to-regexp/dist/index.d.ts +147 -0
  1325. package/backend/node_modules/path-to-regexp/dist/index.js +431 -0
  1326. package/backend/node_modules/path-to-regexp/dist/index.js.map +1 -0
  1327. package/backend/node_modules/path-to-regexp/package.json +64 -0
  1328. package/backend/node_modules/proxy-addr/HISTORY.md +161 -0
  1329. package/backend/node_modules/proxy-addr/LICENSE +22 -0
  1330. package/backend/node_modules/proxy-addr/README.md +139 -0
  1331. package/backend/node_modules/proxy-addr/index.js +327 -0
  1332. package/backend/node_modules/proxy-addr/package.json +47 -0
  1333. package/backend/node_modules/punycode/LICENSE-MIT.txt +20 -0
  1334. package/backend/node_modules/punycode/README.md +148 -0
  1335. package/backend/node_modules/punycode/package.json +58 -0
  1336. package/backend/node_modules/punycode/punycode.es6.js +444 -0
  1337. package/backend/node_modules/punycode/punycode.js +443 -0
  1338. package/backend/node_modules/qs/.editorconfig +46 -0
  1339. package/backend/node_modules/qs/.github/FUNDING.yml +12 -0
  1340. package/backend/node_modules/qs/.github/SECURITY.md +11 -0
  1341. package/backend/node_modules/qs/.github/THREAT_MODEL.md +78 -0
  1342. package/backend/node_modules/qs/.nycrc +13 -0
  1343. package/backend/node_modules/qs/CHANGELOG.md +833 -0
  1344. package/backend/node_modules/qs/LICENSE.md +29 -0
  1345. package/backend/node_modules/qs/README.md +758 -0
  1346. package/backend/node_modules/qs/dist/qs.js +141 -0
  1347. package/backend/node_modules/qs/eslint.config.mjs +57 -0
  1348. package/backend/node_modules/qs/lib/formats.js +23 -0
  1349. package/backend/node_modules/qs/lib/index.js +11 -0
  1350. package/backend/node_modules/qs/lib/parse.js +414 -0
  1351. package/backend/node_modules/qs/lib/stringify.js +363 -0
  1352. package/backend/node_modules/qs/lib/utils.js +381 -0
  1353. package/backend/node_modules/qs/package.json +95 -0
  1354. package/backend/node_modules/qs/test/empty-keys-cases.js +267 -0
  1355. package/backend/node_modules/qs/test/parse.js +1933 -0
  1356. package/backend/node_modules/qs/test/stringify.js +1448 -0
  1357. package/backend/node_modules/qs/test/utils.js +626 -0
  1358. package/backend/node_modules/range-parser/HISTORY.md +56 -0
  1359. package/backend/node_modules/range-parser/LICENSE +23 -0
  1360. package/backend/node_modules/range-parser/README.md +85 -0
  1361. package/backend/node_modules/range-parser/index.js +181 -0
  1362. package/backend/node_modules/range-parser/package.json +48 -0
  1363. package/backend/node_modules/raw-body/LICENSE +22 -0
  1364. package/backend/node_modules/raw-body/README.md +223 -0
  1365. package/backend/node_modules/raw-body/index.d.ts +85 -0
  1366. package/backend/node_modules/raw-body/index.js +336 -0
  1367. package/backend/node_modules/raw-body/package.json +46 -0
  1368. package/backend/node_modules/router/HISTORY.md +228 -0
  1369. package/backend/node_modules/router/LICENSE +23 -0
  1370. package/backend/node_modules/router/README.md +416 -0
  1371. package/backend/node_modules/router/index.js +748 -0
  1372. package/backend/node_modules/router/lib/layer.js +247 -0
  1373. package/backend/node_modules/router/lib/route.js +242 -0
  1374. package/backend/node_modules/router/package.json +44 -0
  1375. package/backend/node_modules/safer-buffer/LICENSE +21 -0
  1376. package/backend/node_modules/safer-buffer/Porting-Buffer.md +268 -0
  1377. package/backend/node_modules/safer-buffer/Readme.md +156 -0
  1378. package/backend/node_modules/safer-buffer/dangerous.js +58 -0
  1379. package/backend/node_modules/safer-buffer/package.json +34 -0
  1380. package/backend/node_modules/safer-buffer/safer.js +77 -0
  1381. package/backend/node_modules/safer-buffer/tests.js +406 -0
  1382. package/backend/node_modules/send/LICENSE +23 -0
  1383. package/backend/node_modules/send/README.md +317 -0
  1384. package/backend/node_modules/send/index.js +997 -0
  1385. package/backend/node_modules/send/package.json +63 -0
  1386. package/backend/node_modules/serve-static/LICENSE +25 -0
  1387. package/backend/node_modules/serve-static/README.md +253 -0
  1388. package/backend/node_modules/serve-static/index.js +208 -0
  1389. package/backend/node_modules/serve-static/package.json +44 -0
  1390. package/backend/node_modules/setprototypeof/LICENSE +13 -0
  1391. package/backend/node_modules/setprototypeof/README.md +31 -0
  1392. package/backend/node_modules/setprototypeof/index.d.ts +2 -0
  1393. package/backend/node_modules/setprototypeof/index.js +17 -0
  1394. package/backend/node_modules/setprototypeof/package.json +38 -0
  1395. package/backend/node_modules/setprototypeof/test/index.js +24 -0
  1396. package/backend/node_modules/side-channel/.editorconfig +9 -0
  1397. package/backend/node_modules/side-channel/.eslintrc +12 -0
  1398. package/backend/node_modules/side-channel/.github/FUNDING.yml +12 -0
  1399. package/backend/node_modules/side-channel/.nycrc +13 -0
  1400. package/backend/node_modules/side-channel/CHANGELOG.md +120 -0
  1401. package/backend/node_modules/side-channel/LICENSE +21 -0
  1402. package/backend/node_modules/side-channel/README.md +61 -0
  1403. package/backend/node_modules/side-channel/index.d.ts +14 -0
  1404. package/backend/node_modules/side-channel/index.js +46 -0
  1405. package/backend/node_modules/side-channel/package.json +85 -0
  1406. package/backend/node_modules/side-channel/test/index.js +120 -0
  1407. package/backend/node_modules/side-channel/tsconfig.json +9 -0
  1408. package/backend/node_modules/side-channel-list/.editorconfig +9 -0
  1409. package/backend/node_modules/side-channel-list/.eslintrc +11 -0
  1410. package/backend/node_modules/side-channel-list/.github/FUNDING.yml +12 -0
  1411. package/backend/node_modules/side-channel-list/.nycrc +13 -0
  1412. package/backend/node_modules/side-channel-list/CHANGELOG.md +36 -0
  1413. package/backend/node_modules/side-channel-list/LICENSE +21 -0
  1414. package/backend/node_modules/side-channel-list/README.md +62 -0
  1415. package/backend/node_modules/side-channel-list/index.d.ts +13 -0
  1416. package/backend/node_modules/side-channel-list/index.js +111 -0
  1417. package/backend/node_modules/side-channel-list/list.d.ts +14 -0
  1418. package/backend/node_modules/side-channel-list/package.json +77 -0
  1419. package/backend/node_modules/side-channel-list/test/index.js +154 -0
  1420. package/backend/node_modules/side-channel-list/tsconfig.json +9 -0
  1421. package/backend/node_modules/side-channel-map/.editorconfig +9 -0
  1422. package/backend/node_modules/side-channel-map/.eslintrc +11 -0
  1423. package/backend/node_modules/side-channel-map/.github/FUNDING.yml +12 -0
  1424. package/backend/node_modules/side-channel-map/.nycrc +13 -0
  1425. package/backend/node_modules/side-channel-map/CHANGELOG.md +22 -0
  1426. package/backend/node_modules/side-channel-map/LICENSE +21 -0
  1427. package/backend/node_modules/side-channel-map/README.md +62 -0
  1428. package/backend/node_modules/side-channel-map/index.d.ts +15 -0
  1429. package/backend/node_modules/side-channel-map/index.js +68 -0
  1430. package/backend/node_modules/side-channel-map/package.json +80 -0
  1431. package/backend/node_modules/side-channel-map/test/index.js +114 -0
  1432. package/backend/node_modules/side-channel-map/tsconfig.json +9 -0
  1433. package/backend/node_modules/side-channel-weakmap/.editorconfig +9 -0
  1434. package/backend/node_modules/side-channel-weakmap/.eslintrc +12 -0
  1435. package/backend/node_modules/side-channel-weakmap/.github/FUNDING.yml +12 -0
  1436. package/backend/node_modules/side-channel-weakmap/.nycrc +13 -0
  1437. package/backend/node_modules/side-channel-weakmap/CHANGELOG.md +28 -0
  1438. package/backend/node_modules/side-channel-weakmap/LICENSE +21 -0
  1439. package/backend/node_modules/side-channel-weakmap/README.md +62 -0
  1440. package/backend/node_modules/side-channel-weakmap/index.d.ts +15 -0
  1441. package/backend/node_modules/side-channel-weakmap/index.js +84 -0
  1442. package/backend/node_modules/side-channel-weakmap/package.json +87 -0
  1443. package/backend/node_modules/side-channel-weakmap/test/index.js +114 -0
  1444. package/backend/node_modules/side-channel-weakmap/tsconfig.json +9 -0
  1445. package/backend/node_modules/sift/MIT-LICENSE.txt +20 -0
  1446. package/backend/node_modules/sift/README.md +465 -0
  1447. package/backend/node_modules/sift/es/index.js +632 -0
  1448. package/backend/node_modules/sift/es/index.js.map +1 -0
  1449. package/backend/node_modules/sift/es5m/index.js +743 -0
  1450. package/backend/node_modules/sift/es5m/index.js.map +1 -0
  1451. package/backend/node_modules/sift/index.d.ts +4 -0
  1452. package/backend/node_modules/sift/index.js +4 -0
  1453. package/backend/node_modules/sift/lib/core.d.ts +116 -0
  1454. package/backend/node_modules/sift/lib/index.d.ts +6 -0
  1455. package/backend/node_modules/sift/lib/index.js +781 -0
  1456. package/backend/node_modules/sift/lib/index.js.map +1 -0
  1457. package/backend/node_modules/sift/lib/operations.d.ts +88 -0
  1458. package/backend/node_modules/sift/lib/utils.d.ts +11 -0
  1459. package/backend/node_modules/sift/package.json +61 -0
  1460. package/backend/node_modules/sift/sift.csp.min.js +778 -0
  1461. package/backend/node_modules/sift/sift.csp.min.js.map +1 -0
  1462. package/backend/node_modules/sift/sift.min.js +2 -0
  1463. package/backend/node_modules/sift/sift.min.js.map +1 -0
  1464. package/backend/node_modules/sift/src/core.ts +494 -0
  1465. package/backend/node_modules/sift/src/index.ts +54 -0
  1466. package/backend/node_modules/sift/src/operations.ts +422 -0
  1467. package/backend/node_modules/sift/src/utils.ts +74 -0
  1468. package/backend/node_modules/sparse-bitfield/.travis.yml +6 -0
  1469. package/backend/node_modules/sparse-bitfield/LICENSE +21 -0
  1470. package/backend/node_modules/sparse-bitfield/README.md +62 -0
  1471. package/backend/node_modules/sparse-bitfield/index.js +95 -0
  1472. package/backend/node_modules/sparse-bitfield/package.json +27 -0
  1473. package/backend/node_modules/sparse-bitfield/test.js +79 -0
  1474. package/backend/node_modules/statuses/HISTORY.md +87 -0
  1475. package/backend/node_modules/statuses/LICENSE +23 -0
  1476. package/backend/node_modules/statuses/README.md +139 -0
  1477. package/backend/node_modules/statuses/codes.json +65 -0
  1478. package/backend/node_modules/statuses/index.js +146 -0
  1479. package/backend/node_modules/statuses/package.json +49 -0
  1480. package/backend/node_modules/toidentifier/HISTORY.md +9 -0
  1481. package/backend/node_modules/toidentifier/LICENSE +21 -0
  1482. package/backend/node_modules/toidentifier/README.md +61 -0
  1483. package/backend/node_modules/toidentifier/index.js +32 -0
  1484. package/backend/node_modules/toidentifier/package.json +38 -0
  1485. package/backend/node_modules/tr46/LICENSE.md +21 -0
  1486. package/backend/node_modules/tr46/README.md +76 -0
  1487. package/backend/node_modules/tr46/index.js +344 -0
  1488. package/backend/node_modules/tr46/lib/mappingTable.json +1 -0
  1489. package/backend/node_modules/tr46/lib/regexes.js +29 -0
  1490. package/backend/node_modules/tr46/lib/statusMapping.js +9 -0
  1491. package/backend/node_modules/tr46/package.json +44 -0
  1492. package/backend/node_modules/type-is/HISTORY.md +292 -0
  1493. package/backend/node_modules/type-is/LICENSE +23 -0
  1494. package/backend/node_modules/type-is/README.md +198 -0
  1495. package/backend/node_modules/type-is/index.js +240 -0
  1496. package/backend/node_modules/type-is/node_modules/content-type/LICENSE +22 -0
  1497. package/backend/node_modules/type-is/node_modules/content-type/README.md +69 -0
  1498. package/backend/node_modules/type-is/node_modules/content-type/dist/index.d.ts +26 -0
  1499. package/backend/node_modules/type-is/node_modules/content-type/dist/index.js +170 -0
  1500. package/backend/node_modules/type-is/node_modules/content-type/dist/index.js.map +1 -0
  1501. package/backend/node_modules/type-is/node_modules/content-type/package.json +52 -0
  1502. package/backend/node_modules/type-is/package.json +51 -0
  1503. package/backend/node_modules/unpipe/HISTORY.md +4 -0
  1504. package/backend/node_modules/unpipe/LICENSE +22 -0
  1505. package/backend/node_modules/unpipe/README.md +43 -0
  1506. package/backend/node_modules/unpipe/index.js +69 -0
  1507. package/backend/node_modules/unpipe/package.json +27 -0
  1508. package/backend/node_modules/vary/HISTORY.md +39 -0
  1509. package/backend/node_modules/vary/LICENSE +22 -0
  1510. package/backend/node_modules/vary/README.md +101 -0
  1511. package/backend/node_modules/vary/index.js +149 -0
  1512. package/backend/node_modules/vary/package.json +43 -0
  1513. package/backend/node_modules/webidl-conversions/LICENSE.md +12 -0
  1514. package/backend/node_modules/webidl-conversions/README.md +99 -0
  1515. package/backend/node_modules/webidl-conversions/lib/index.js +450 -0
  1516. package/backend/node_modules/webidl-conversions/package.json +35 -0
  1517. package/backend/node_modules/whatwg-url/LICENSE.txt +21 -0
  1518. package/backend/node_modules/whatwg-url/README.md +106 -0
  1519. package/backend/node_modules/whatwg-url/index.js +27 -0
  1520. package/backend/node_modules/whatwg-url/lib/Function.js +42 -0
  1521. package/backend/node_modules/whatwg-url/lib/URL-impl.js +233 -0
  1522. package/backend/node_modules/whatwg-url/lib/URL.js +499 -0
  1523. package/backend/node_modules/whatwg-url/lib/URLSearchParams-impl.js +135 -0
  1524. package/backend/node_modules/whatwg-url/lib/URLSearchParams.js +505 -0
  1525. package/backend/node_modules/whatwg-url/lib/VoidFunction.js +26 -0
  1526. package/backend/node_modules/whatwg-url/lib/encoding.js +16 -0
  1527. package/backend/node_modules/whatwg-url/lib/infra.js +26 -0
  1528. package/backend/node_modules/whatwg-url/lib/percent-encoding.js +142 -0
  1529. package/backend/node_modules/whatwg-url/lib/url-state-machine.js +1274 -0
  1530. package/backend/node_modules/whatwg-url/lib/urlencoded.js +89 -0
  1531. package/backend/node_modules/whatwg-url/lib/utils.js +190 -0
  1532. package/backend/node_modules/whatwg-url/package.json +53 -0
  1533. package/backend/node_modules/whatwg-url/webidl2js-wrapper.js +7 -0
  1534. package/backend/node_modules/wrappy/LICENSE +15 -0
  1535. package/backend/node_modules/wrappy/README.md +36 -0
  1536. package/backend/node_modules/wrappy/package.json +29 -0
  1537. package/backend/node_modules/wrappy/wrappy.js +33 -0
  1538. package/backend/package-lock.json +1114 -0
  1539. package/backend/package.json +18 -0
  1540. package/backend/routes/feedsRoutes.js +134 -0
  1541. package/frontend/index.html +13 -0
  1542. package/frontend/package-lock.json +872 -0
  1543. package/frontend/package.json +14 -0
  1544. package/frontend/public/favicon.svg +1 -0
  1545. package/frontend/public/icons.svg +24 -0
  1546. package/frontend/src/App.css +0 -0
  1547. package/frontend/src/App.jsx +121 -0
  1548. package/frontend/src/FeedCard.jsx +0 -0
  1549. package/frontend/src/assets/hero.png +0 -0
  1550. package/frontend/src/assets/javascript.svg +1 -0
  1551. package/frontend/src/assets/vite.svg +1 -0
  1552. package/frontend/src/main.jsx +10 -0
  1553. package/frontend/src/style.css +296 -0
  1554. package/package.json +13 -0
@@ -0,0 +1,1165 @@
1
+ import type { Readable } from 'stream';
2
+
3
+ import type { Binary, Document, Timestamp } from './bson';
4
+ import { Collection } from './collection';
5
+ import { CHANGE, CLOSE, END, ERROR, INIT, MORE, RESPONSE, RESUME_TOKEN_CHANGED } from './constants';
6
+ import { CursorTimeoutContext } from './cursor/abstract_cursor';
7
+ import { ChangeStreamCursor, type ChangeStreamCursorOptions } from './cursor/change_stream_cursor';
8
+ import { Db } from './db';
9
+ import {
10
+ type AnyError,
11
+ isResumableError,
12
+ MongoAPIError,
13
+ MongoChangeStreamError,
14
+ MongoOperationTimeoutError,
15
+ MongoRuntimeError
16
+ } from './error';
17
+ import { MongoClient } from './mongo_client';
18
+ import { type InferIdType, TypedEventEmitter } from './mongo_types';
19
+ import type { AggregateOptions } from './operations/aggregate';
20
+ import type { OperationParent } from './operations/command';
21
+ import { DeprioritizedServers } from './sdam/server_selection';
22
+ import type { ServerSessionId } from './sessions';
23
+ import { CSOTTimeoutContext, type TimeoutContext } from './timeout';
24
+ import { type AnyOptions, getTopology, type MongoDBNamespace, squashError } from './utils';
25
+
26
+ const CHANGE_DOMAIN_TYPES = {
27
+ COLLECTION: Symbol('Collection'),
28
+ DATABASE: Symbol('Database'),
29
+ CLUSTER: Symbol('Cluster')
30
+ };
31
+
32
+ const CHANGE_STREAM_EVENTS = [RESUME_TOKEN_CHANGED, END, CLOSE] as const;
33
+
34
+ const NO_RESUME_TOKEN_ERROR =
35
+ 'A change stream document has been received that lacks a resume token (_id).';
36
+ const CHANGESTREAM_CLOSED_ERROR = 'ChangeStream is closed';
37
+
38
+ const INVALID_STAGE_OPTIONS = buildDisallowedChangeStreamOptions();
39
+
40
+ export function filterOutOptions(options: AnyOptions): AnyOptions {
41
+ return Object.fromEntries(
42
+ Object.entries(options).filter(([k, _]) => !INVALID_STAGE_OPTIONS.has(k))
43
+ );
44
+ }
45
+
46
+ /**
47
+ * Represents the logical starting point for a new ChangeStream or resuming a ChangeStream on the server.
48
+ * @see https://www.mongodb.com/docs/manual/changeStreams/#std-label-change-stream-resume
49
+ * @public
50
+ */
51
+ export type ResumeToken = unknown;
52
+
53
+ /**
54
+ * Represents a specific point in time on a server. Can be retrieved by using `db.command()`
55
+ * @public
56
+ * @see https://www.mongodb.com/docs/manual/reference/method/db.runCommand/#response
57
+ */
58
+ export type OperationTime = Timestamp;
59
+
60
+ /**
61
+ * Options that can be passed to a ChangeStream. Note that startAfter, resumeAfter, and startAtOperationTime are all mutually exclusive, and the server will error if more than one is specified.
62
+ * @public
63
+ */
64
+ export interface ChangeStreamOptions extends Omit<AggregateOptions, 'writeConcern'> {
65
+ /**
66
+ * Allowed values: 'updateLookup', 'whenAvailable', 'required'.
67
+ *
68
+ * When set to 'updateLookup', the change notification for partial updates
69
+ * will include both a delta describing the changes to the document as well
70
+ * as a copy of the entire document that was changed from some time after
71
+ * the change occurred.
72
+ *
73
+ * When set to 'whenAvailable', configures the change stream to return the
74
+ * post-image of the modified document for replace and update change events
75
+ * if the post-image for this event is available.
76
+ *
77
+ * When set to 'required', the same behavior as 'whenAvailable' except that
78
+ * an error is raised if the post-image is not available.
79
+ */
80
+ fullDocument?: string;
81
+
82
+ /**
83
+ * Allowed values: 'whenAvailable', 'required', 'off'.
84
+ *
85
+ * The default is to not send a value, which is equivalent to 'off'.
86
+ *
87
+ * When set to 'whenAvailable', configures the change stream to return the
88
+ * pre-image of the modified document for replace, update, and delete change
89
+ * events if it is available.
90
+ *
91
+ * When set to 'required', the same behavior as 'whenAvailable' except that
92
+ * an error is raised if the pre-image is not available.
93
+ */
94
+ fullDocumentBeforeChange?: string;
95
+ /** The maximum amount of time for the server to wait on new documents to satisfy a change stream query. */
96
+ maxAwaitTimeMS?: number;
97
+ /**
98
+ * Allows you to start a changeStream after a specified event.
99
+ * @see https://www.mongodb.com/docs/manual/changeStreams/#resumeafter-for-change-streams
100
+ */
101
+ resumeAfter?: ResumeToken;
102
+ /**
103
+ * Similar to resumeAfter, but will allow you to start after an invalidated event.
104
+ * @see https://www.mongodb.com/docs/manual/changeStreams/#startafter-for-change-streams
105
+ */
106
+ startAfter?: ResumeToken;
107
+ /** Will start the changeStream after the specified operationTime. */
108
+ startAtOperationTime?: OperationTime;
109
+ /**
110
+ * The number of documents to return per batch.
111
+ * @see https://www.mongodb.com/docs/manual/reference/command/aggregate
112
+ */
113
+ batchSize?: number;
114
+
115
+ /**
116
+ * When enabled, configures the change stream to include extra change events.
117
+ *
118
+ * - createIndexes
119
+ * - dropIndexes
120
+ * - modify
121
+ * - create
122
+ * - shardCollection
123
+ * - reshardCollection
124
+ * - refineCollectionShardKey
125
+ */
126
+ showExpandedEvents?: boolean;
127
+ }
128
+
129
+ /** @public */
130
+ export interface ChangeStreamNameSpace {
131
+ db: string;
132
+ coll: string;
133
+ }
134
+
135
+ /** @public */
136
+ export interface ChangeStreamDocumentKey<TSchema extends Document = Document> {
137
+ /**
138
+ * For unsharded collections this contains a single field `_id`.
139
+ * For sharded collections, this will contain all the components of the shard key
140
+ */
141
+ documentKey: { _id: InferIdType<TSchema>; [shardKey: string]: any };
142
+ }
143
+
144
+ /** @public */
145
+ export interface ChangeStreamSplitEvent {
146
+ /** Which fragment of the change this is. */
147
+ fragment: number;
148
+ /** The total number of fragments. */
149
+ of: number;
150
+ }
151
+
152
+ /** @public */
153
+ export interface ChangeStreamDocumentCommon {
154
+ /**
155
+ * The id functions as an opaque token for use when resuming an interrupted
156
+ * change stream.
157
+ */
158
+ _id: ResumeToken;
159
+ /**
160
+ * The timestamp from the oplog entry associated with the event.
161
+ * For events that happened as part of a multi-document transaction, the associated change stream
162
+ * notifications will have the same clusterTime value, namely the time when the transaction was committed.
163
+ * On a sharded cluster, events that occur on different shards can have the same clusterTime but be
164
+ * associated with different transactions or even not be associated with any transaction.
165
+ * To identify events for a single transaction, you can use the combination of lsid and txnNumber in the change stream event document.
166
+ */
167
+ clusterTime?: Timestamp;
168
+
169
+ /**
170
+ * The transaction number.
171
+ * Only present if the operation is part of a multi-document transaction.
172
+ *
173
+ * **NOTE:** txnNumber can be a Long if promoteLongs is set to false
174
+ */
175
+ txnNumber?: number;
176
+
177
+ /**
178
+ * The identifier for the session associated with the transaction.
179
+ * Only present if the operation is part of a multi-document transaction.
180
+ */
181
+ lsid?: ServerSessionId;
182
+
183
+ /**
184
+ * When the change stream's backing aggregation pipeline contains the $changeStreamSplitLargeEvent
185
+ * stage, events larger than 16MB will be split into multiple events and contain the
186
+ * following information about which fragment the current event is.
187
+ */
188
+ splitEvent?: ChangeStreamSplitEvent;
189
+ }
190
+
191
+ /** @public */
192
+ export interface ChangeStreamDocumentWallTime {
193
+ /**
194
+ * The server date and time of the database operation.
195
+ * wallTime differs from clusterTime in that clusterTime is a timestamp taken from the oplog entry associated with the database operation event.
196
+ * @sinceServerVersion 6.0.0
197
+ */
198
+ wallTime?: Date;
199
+ }
200
+
201
+ /** @public */
202
+ export interface ChangeStreamDocumentCollectionUUID {
203
+ /**
204
+ * The UUID (Binary subtype 4) of the collection that the operation was performed on.
205
+ *
206
+ * Only present when the `showExpandedEvents` flag is enabled.
207
+ *
208
+ * **NOTE:** collectionUUID will be converted to a NodeJS Buffer if the promoteBuffers
209
+ * flag is enabled.
210
+ *
211
+ * @sinceServerVersion 6.1.0
212
+ */
213
+ collectionUUID: Binary;
214
+ }
215
+
216
+ /** @public */
217
+ export interface ChangeStreamDocumentOperationDescription {
218
+ /**
219
+ * An description of the operation.
220
+ *
221
+ * Only present when the `showExpandedEvents` flag is enabled.
222
+ *
223
+ * @sinceServerVersion 6.1.0
224
+ */
225
+ operationDescription?: Document;
226
+ }
227
+
228
+ /**
229
+ * @public
230
+ * @see https://www.mongodb.com/docs/manual/reference/change-events/#insert-event
231
+ */
232
+ export interface ChangeStreamInsertDocument<TSchema extends Document = Document>
233
+ extends ChangeStreamDocumentCommon,
234
+ ChangeStreamDocumentKey<TSchema>,
235
+ ChangeStreamDocumentCollectionUUID,
236
+ ChangeStreamDocumentWallTime {
237
+ /** Describes the type of operation represented in this change notification */
238
+ operationType: 'insert';
239
+ /** This key will contain the document being inserted */
240
+ fullDocument: TSchema;
241
+ /** Namespace the insert event occurred on */
242
+ ns: ChangeStreamNameSpace;
243
+ }
244
+
245
+ /**
246
+ * @public
247
+ * @see https://www.mongodb.com/docs/manual/reference/change-events/#update-event
248
+ */
249
+ export interface ChangeStreamUpdateDocument<TSchema extends Document = Document>
250
+ extends ChangeStreamDocumentCommon,
251
+ ChangeStreamDocumentKey<TSchema>,
252
+ ChangeStreamDocumentCollectionUUID,
253
+ ChangeStreamDocumentWallTime {
254
+ /** Describes the type of operation represented in this change notification */
255
+ operationType: 'update';
256
+ /**
257
+ * This is only set if `fullDocument` is set to `'updateLookup'`
258
+ * Contains the point-in-time post-image of the modified document if the
259
+ * post-image is available and either 'required' or 'whenAvailable' was
260
+ * specified for the 'fullDocument' option when creating the change stream.
261
+ */
262
+ fullDocument?: TSchema;
263
+ /** Contains a description of updated and removed fields in this operation */
264
+ updateDescription: UpdateDescription<TSchema>;
265
+ /** Namespace the update event occurred on */
266
+ ns: ChangeStreamNameSpace;
267
+ /**
268
+ * Contains the pre-image of the modified or deleted document if the
269
+ * pre-image is available for the change event and either 'required' or
270
+ * 'whenAvailable' was specified for the 'fullDocumentBeforeChange' option
271
+ * when creating the change stream. If 'whenAvailable' was specified but the
272
+ * pre-image is unavailable, this will be explicitly set to null.
273
+ */
274
+ fullDocumentBeforeChange?: TSchema;
275
+ }
276
+
277
+ /**
278
+ * @public
279
+ * @see https://www.mongodb.com/docs/manual/reference/change-events/#replace-event
280
+ */
281
+ export interface ChangeStreamReplaceDocument<TSchema extends Document = Document>
282
+ extends ChangeStreamDocumentCommon,
283
+ ChangeStreamDocumentKey<TSchema>,
284
+ ChangeStreamDocumentWallTime {
285
+ /** Describes the type of operation represented in this change notification */
286
+ operationType: 'replace';
287
+ /** The fullDocument of a replace event represents the document after the insert of the replacement document */
288
+ fullDocument: TSchema;
289
+ /** Namespace the replace event occurred on */
290
+ ns: ChangeStreamNameSpace;
291
+ /**
292
+ * Contains the pre-image of the modified or deleted document if the
293
+ * pre-image is available for the change event and either 'required' or
294
+ * 'whenAvailable' was specified for the 'fullDocumentBeforeChange' option
295
+ * when creating the change stream. If 'whenAvailable' was specified but the
296
+ * pre-image is unavailable, this will be explicitly set to null.
297
+ */
298
+ fullDocumentBeforeChange?: TSchema;
299
+ }
300
+
301
+ /**
302
+ * @public
303
+ * @see https://www.mongodb.com/docs/manual/reference/change-events/#delete-event
304
+ */
305
+ export interface ChangeStreamDeleteDocument<TSchema extends Document = Document>
306
+ extends ChangeStreamDocumentCommon,
307
+ ChangeStreamDocumentKey<TSchema>,
308
+ ChangeStreamDocumentCollectionUUID,
309
+ ChangeStreamDocumentWallTime {
310
+ /** Describes the type of operation represented in this change notification */
311
+ operationType: 'delete';
312
+ /** Namespace the delete event occurred on */
313
+ ns: ChangeStreamNameSpace;
314
+ /**
315
+ * Contains the pre-image of the modified or deleted document if the
316
+ * pre-image is available for the change event and either 'required' or
317
+ * 'whenAvailable' was specified for the 'fullDocumentBeforeChange' option
318
+ * when creating the change stream. If 'whenAvailable' was specified but the
319
+ * pre-image is unavailable, this will be explicitly set to null.
320
+ */
321
+ fullDocumentBeforeChange?: TSchema;
322
+ }
323
+
324
+ /**
325
+ * @public
326
+ * @see https://www.mongodb.com/docs/manual/reference/change-events/#drop-event
327
+ */
328
+ export interface ChangeStreamDropDocument
329
+ extends ChangeStreamDocumentCommon,
330
+ ChangeStreamDocumentCollectionUUID,
331
+ ChangeStreamDocumentWallTime {
332
+ /** Describes the type of operation represented in this change notification */
333
+ operationType: 'drop';
334
+ /** Namespace the drop event occurred on */
335
+ ns: ChangeStreamNameSpace;
336
+ }
337
+
338
+ /**
339
+ * @public
340
+ * @see https://www.mongodb.com/docs/manual/reference/change-events/#rename-event
341
+ */
342
+ export interface ChangeStreamRenameDocument
343
+ extends ChangeStreamDocumentCommon,
344
+ ChangeStreamDocumentCollectionUUID,
345
+ ChangeStreamDocumentWallTime {
346
+ /** Describes the type of operation represented in this change notification */
347
+ operationType: 'rename';
348
+ /** The new name for the `ns.coll` collection */
349
+ to: { db: string; coll: string };
350
+ /** The "from" namespace that the rename occurred on */
351
+ ns: ChangeStreamNameSpace;
352
+ }
353
+
354
+ /**
355
+ * @public
356
+ * @see https://www.mongodb.com/docs/manual/reference/change-events/#dropdatabase-event
357
+ */
358
+ export interface ChangeStreamDropDatabaseDocument
359
+ extends ChangeStreamDocumentCommon,
360
+ ChangeStreamDocumentWallTime {
361
+ /** Describes the type of operation represented in this change notification */
362
+ operationType: 'dropDatabase';
363
+ /** The database dropped */
364
+ ns: { db: string };
365
+ }
366
+
367
+ /**
368
+ * @public
369
+ * @see https://www.mongodb.com/docs/manual/reference/change-events/#invalidate-event
370
+ */
371
+ export interface ChangeStreamInvalidateDocument
372
+ extends ChangeStreamDocumentCommon,
373
+ ChangeStreamDocumentWallTime {
374
+ /** Describes the type of operation represented in this change notification */
375
+ operationType: 'invalidate';
376
+ }
377
+
378
+ /**
379
+ * Only present when the `showExpandedEvents` flag is enabled.
380
+ * @public
381
+ * @see https://www.mongodb.com/docs/manual/reference/change-events/createIndexes/#mongodb-data-createIndexes
382
+ */
383
+ export interface ChangeStreamCreateIndexDocument
384
+ extends ChangeStreamDocumentCommon,
385
+ ChangeStreamDocumentCollectionUUID,
386
+ ChangeStreamDocumentOperationDescription,
387
+ ChangeStreamDocumentWallTime {
388
+ /** Describes the type of operation represented in this change notification */
389
+ operationType: 'createIndexes';
390
+ }
391
+
392
+ /**
393
+ * Only present when the `showExpandedEvents` flag is enabled.
394
+ * @public
395
+ * @see https://www.mongodb.com/docs/manual/reference/change-events/dropIndexes/#mongodb-data-dropIndexes
396
+ */
397
+ export interface ChangeStreamDropIndexDocument
398
+ extends ChangeStreamDocumentCommon,
399
+ ChangeStreamDocumentCollectionUUID,
400
+ ChangeStreamDocumentOperationDescription,
401
+ ChangeStreamDocumentWallTime {
402
+ /** Describes the type of operation represented in this change notification */
403
+ operationType: 'dropIndexes';
404
+ }
405
+
406
+ /**
407
+ * Only present when the `showExpandedEvents` flag is enabled.
408
+ * @public
409
+ * @see https://www.mongodb.com/docs/manual/reference/change-events/modify/#mongodb-data-modify
410
+ */
411
+ export interface ChangeStreamCollModDocument
412
+ extends ChangeStreamDocumentCommon,
413
+ ChangeStreamDocumentCollectionUUID,
414
+ ChangeStreamDocumentWallTime {
415
+ /** Describes the type of operation represented in this change notification */
416
+ operationType: 'modify';
417
+ }
418
+
419
+ /**
420
+ * @public
421
+ * @see https://www.mongodb.com/docs/manual/reference/change-events/create/#mongodb-data-create
422
+ */
423
+ export interface ChangeStreamCreateDocument
424
+ extends ChangeStreamDocumentCommon,
425
+ ChangeStreamDocumentCollectionUUID,
426
+ ChangeStreamDocumentWallTime {
427
+ /** Describes the type of operation represented in this change notification */
428
+ operationType: 'create';
429
+
430
+ /**
431
+ * The type of the newly created object.
432
+ *
433
+ * @sinceServerVersion 8.1.0
434
+ */
435
+ nsType?: 'collection' | 'timeseries' | 'view';
436
+ }
437
+
438
+ /**
439
+ * @public
440
+ * @see https://www.mongodb.com/docs/manual/reference/change-events/shardCollection/#mongodb-data-shardCollection
441
+ */
442
+ export interface ChangeStreamShardCollectionDocument
443
+ extends ChangeStreamDocumentCommon,
444
+ ChangeStreamDocumentCollectionUUID,
445
+ ChangeStreamDocumentOperationDescription,
446
+ ChangeStreamDocumentWallTime {
447
+ /** Describes the type of operation represented in this change notification */
448
+ operationType: 'shardCollection';
449
+ }
450
+
451
+ /**
452
+ * @public
453
+ * @see https://www.mongodb.com/docs/manual/reference/change-events/reshardCollection/#mongodb-data-reshardCollection
454
+ */
455
+ export interface ChangeStreamReshardCollectionDocument
456
+ extends ChangeStreamDocumentCommon,
457
+ ChangeStreamDocumentCollectionUUID,
458
+ ChangeStreamDocumentOperationDescription {
459
+ /** Describes the type of operation represented in this change notification */
460
+ operationType: 'reshardCollection';
461
+ }
462
+
463
+ /**
464
+ * @public
465
+ * @see https://www.mongodb.com/docs/manual/reference/change-events/refineCollectionShardKey/#mongodb-data-refineCollectionShardKey
466
+ */
467
+ export interface ChangeStreamRefineCollectionShardKeyDocument
468
+ extends ChangeStreamDocumentCommon,
469
+ ChangeStreamDocumentCollectionUUID,
470
+ ChangeStreamDocumentOperationDescription {
471
+ /** Describes the type of operation represented in this change notification */
472
+ operationType: 'refineCollectionShardKey';
473
+ }
474
+
475
+ /** @public */
476
+ export type ChangeStreamDocument<TSchema extends Document = Document> =
477
+ | ChangeStreamInsertDocument<TSchema>
478
+ | ChangeStreamUpdateDocument<TSchema>
479
+ | ChangeStreamReplaceDocument<TSchema>
480
+ | ChangeStreamDeleteDocument<TSchema>
481
+ | ChangeStreamDropDocument
482
+ | ChangeStreamRenameDocument
483
+ | ChangeStreamDropDatabaseDocument
484
+ | ChangeStreamInvalidateDocument
485
+ | ChangeStreamCreateIndexDocument
486
+ | ChangeStreamCreateDocument
487
+ | ChangeStreamCollModDocument
488
+ | ChangeStreamDropIndexDocument
489
+ | ChangeStreamShardCollectionDocument
490
+ | ChangeStreamReshardCollectionDocument
491
+ | ChangeStreamRefineCollectionShardKeyDocument;
492
+
493
+ /** @public */
494
+ export interface UpdateDescription<TSchema extends Document = Document> {
495
+ /**
496
+ * A document containing key:value pairs of names of the fields that were
497
+ * changed, and the new value for those fields.
498
+ */
499
+ updatedFields?: Partial<TSchema>;
500
+
501
+ /**
502
+ * An array of field names that were removed from the document.
503
+ */
504
+ removedFields?: string[];
505
+
506
+ /**
507
+ * An array of documents which record array truncations performed with pipeline-based updates using one or more of the following stages:
508
+ * - $addFields
509
+ * - $set
510
+ * - $replaceRoot
511
+ * - $replaceWith
512
+ */
513
+ truncatedArrays?: Array<{
514
+ /** The name of the truncated field. */
515
+ field: string;
516
+ /** The number of elements in the truncated array. */
517
+ newSize: number;
518
+ }>;
519
+
520
+ /**
521
+ * A document containing additional information about any ambiguous update paths from the update event. The document
522
+ * maps the full ambiguous update path to an array containing the actual resolved components of the path. For example,
523
+ * given a document shaped like `{ a: { '0': 0 } }`, and an update of `{ $inc: 'a.0' }`, disambiguated paths would look like
524
+ * the following:
525
+ *
526
+ * ```
527
+ * {
528
+ * 'a.0': ['a', '0']
529
+ * }
530
+ * ```
531
+ *
532
+ * This field is only present when there are ambiguous paths that are updated as a part of the update event.
533
+ *
534
+ * On \<8.2.0 servers, this field is only present when `showExpandedEvents` is set to true.
535
+ * is enabled for the change stream.
536
+ *
537
+ * On 8.2.0+ servers, this field is present for update events regardless of whether `showExpandedEvents` is enabled.
538
+ * @sinceServerVersion 6.1.0
539
+ */
540
+ disambiguatedPaths?: Document;
541
+ }
542
+
543
+ /** @public */
544
+ export type ChangeStreamEvents<
545
+ TSchema extends Document = Document,
546
+ TChange extends Document = ChangeStreamDocument<TSchema>
547
+ > = {
548
+ resumeTokenChanged(token: ResumeToken): void;
549
+ init(response: any): void;
550
+ more(response?: any): void;
551
+ response(): void;
552
+ end(): void;
553
+ error(error: Error): void;
554
+ change(change: TChange): void;
555
+ /**
556
+ * @remarks Note that the `close` event is currently emitted whenever the internal `ChangeStreamCursor`
557
+ * instance is closed, which can occur multiple times for a given `ChangeStream` instance.
558
+ *
559
+ * TODO(NODE-6434): address this issue in NODE-6434
560
+ */
561
+ close(): void;
562
+ };
563
+
564
+ /**
565
+ * Creates a new Change Stream instance. Normally created using {@link Collection#watch|Collection.watch()}.
566
+ * @public
567
+ */
568
+ export class ChangeStream<
569
+ TSchema extends Document = Document,
570
+ TChange extends Document = ChangeStreamDocument<TSchema>
571
+ >
572
+ extends TypedEventEmitter<ChangeStreamEvents<TSchema, TChange>>
573
+ implements AsyncDisposable
574
+ {
575
+ /**
576
+ * @experimental
577
+ * An alias for {@link ChangeStream.close|ChangeStream.close()}.
578
+ */
579
+ async [Symbol.asyncDispose]() {
580
+ await this.close();
581
+ }
582
+
583
+ pipeline: Document[];
584
+ /**
585
+ * @remarks WriteConcern can still be present on the options because
586
+ * we inherit options from the client/db/collection. The
587
+ * key must be present on the options in order to delete it.
588
+ * This allows typescript to delete the key but will
589
+ * not allow a writeConcern to be assigned as a property on options.
590
+ */
591
+ options: ChangeStreamOptions & { writeConcern?: never };
592
+ parent: MongoClient | Db | Collection;
593
+ namespace: MongoDBNamespace;
594
+ type: symbol;
595
+ /** @internal */
596
+ private cursor: ChangeStreamCursor<TSchema, TChange>;
597
+ /** @internal */
598
+ private cursorStream?: Readable & AsyncIterable<TChange>;
599
+ /** @internal */
600
+ private isClosed: boolean;
601
+ /** @internal */
602
+ private mode: false | 'iterator' | 'emitter';
603
+
604
+ /** @event */
605
+ static readonly RESPONSE = RESPONSE;
606
+ /** @event */
607
+ static readonly MORE = MORE;
608
+ /** @event */
609
+ static readonly INIT = INIT;
610
+ /** @event */
611
+ static readonly CLOSE = CLOSE;
612
+ /**
613
+ * Fired for each new matching change in the specified namespace. Attaching a `change`
614
+ * event listener to a Change Stream will switch the stream into flowing mode. Data will
615
+ * then be passed as soon as it is available.
616
+ * @event
617
+ */
618
+ static readonly CHANGE = CHANGE;
619
+ /** @event */
620
+ static readonly END = END;
621
+ /** @event */
622
+ static readonly ERROR = ERROR;
623
+ /**
624
+ * Emitted each time the change stream stores a new resume token.
625
+ * @event
626
+ */
627
+ static readonly RESUME_TOKEN_CHANGED = RESUME_TOKEN_CHANGED;
628
+
629
+ private timeoutContext?: TimeoutContext;
630
+ /**
631
+ * Note that this property is here to uniquely identify a ChangeStream instance as the owner of
632
+ * the {@link CursorTimeoutContext} instance (see {@link ChangeStream._createChangeStreamCursor}) to ensure
633
+ * that {@link AbstractCursor.close} does not mutate the timeoutContext.
634
+ */
635
+ private contextOwner: symbol;
636
+ /**
637
+ * @internal
638
+ *
639
+ * @param parent - The parent object that created this change stream
640
+ * @param pipeline - An array of {@link https://www.mongodb.com/docs/manual/reference/operator/aggregation-pipeline/|aggregation pipeline stages} through which to pass change stream documents
641
+ */
642
+ constructor(
643
+ parent: OperationParent,
644
+ pipeline: Document[] = [],
645
+ options: ChangeStreamOptions = {}
646
+ ) {
647
+ super();
648
+
649
+ this.pipeline = pipeline;
650
+ this.options = { ...options };
651
+ let serverSelectionTimeoutMS: number;
652
+ delete this.options.writeConcern;
653
+
654
+ if (parent instanceof Collection) {
655
+ this.type = CHANGE_DOMAIN_TYPES.COLLECTION;
656
+ serverSelectionTimeoutMS = parent.s.db.client.options.serverSelectionTimeoutMS;
657
+ } else if (parent instanceof Db) {
658
+ this.type = CHANGE_DOMAIN_TYPES.DATABASE;
659
+ serverSelectionTimeoutMS = parent.client.options.serverSelectionTimeoutMS;
660
+ } else if (parent instanceof MongoClient) {
661
+ this.type = CHANGE_DOMAIN_TYPES.CLUSTER;
662
+ serverSelectionTimeoutMS = parent.options.serverSelectionTimeoutMS;
663
+ } else {
664
+ throw new MongoChangeStreamError(
665
+ 'Parent provided to ChangeStream constructor must be an instance of Collection, Db, or MongoClient'
666
+ );
667
+ }
668
+
669
+ this.contextOwner = Symbol();
670
+ this.parent = parent;
671
+ this.namespace = parent.s.namespace;
672
+ if (!this.options.readPreference && parent.readPreference) {
673
+ this.options.readPreference = parent.readPreference;
674
+ }
675
+
676
+ // Create contained Change Stream cursor
677
+ this.cursor = this._createChangeStreamCursor(options);
678
+
679
+ this.isClosed = false;
680
+ this.mode = false;
681
+
682
+ // Listen for any `change` listeners being added to ChangeStream
683
+ this.on('newListener', eventName => {
684
+ if (eventName === 'change' && this.cursor && this.listenerCount('change') === 0) {
685
+ this._streamEvents(this.cursor);
686
+ }
687
+ });
688
+
689
+ this.on('removeListener', eventName => {
690
+ if (eventName === 'change' && this.listenerCount('change') === 0 && this.cursor) {
691
+ this.cursorStream?.removeAllListeners('data');
692
+ }
693
+ });
694
+
695
+ if (this.options.timeoutMS != null) {
696
+ this.timeoutContext = new CSOTTimeoutContext({
697
+ timeoutMS: this.options.timeoutMS,
698
+ serverSelectionTimeoutMS
699
+ });
700
+ }
701
+ }
702
+
703
+ /** The cached resume token that is used to resume after the most recently returned change. */
704
+ get resumeToken(): ResumeToken {
705
+ return this.cursor?.resumeToken;
706
+ }
707
+
708
+ /** Returns the currently buffered documents length of the underlying cursor. */
709
+ bufferedCount(): number {
710
+ return this.cursor?.bufferedCount() ?? 0;
711
+ }
712
+
713
+ /** Check if there is any document still available in the Change Stream */
714
+ async hasNext(): Promise<boolean> {
715
+ this._setIsIterator();
716
+ // Change streams must resume indefinitely while each resume event succeeds.
717
+ // This loop continues until either a change event is received or until a resume attempt
718
+ // fails.
719
+
720
+ this.timeoutContext?.refresh();
721
+ try {
722
+ while (true) {
723
+ try {
724
+ const hasNext = await this.cursor.hasNext();
725
+ return hasNext;
726
+ } catch (error) {
727
+ try {
728
+ await this._processErrorIteratorMode(error, this.cursor.id != null);
729
+ } catch (error) {
730
+ if (error instanceof MongoOperationTimeoutError && this.cursor.id == null) {
731
+ throw error;
732
+ }
733
+ try {
734
+ await this.close();
735
+ } catch (error) {
736
+ squashError(error);
737
+ }
738
+ throw error;
739
+ }
740
+ }
741
+ }
742
+ } finally {
743
+ this.timeoutContext?.clear();
744
+ }
745
+ }
746
+
747
+ /** Get the next available document from the Change Stream. */
748
+ async next(): Promise<TChange> {
749
+ this._setIsIterator();
750
+ // Change streams must resume indefinitely while each resume event succeeds.
751
+ // This loop continues until either a change event is received or until a resume attempt
752
+ // fails.
753
+ this.timeoutContext?.refresh();
754
+
755
+ try {
756
+ while (true) {
757
+ try {
758
+ const change = await this.cursor.next();
759
+ const processedChange = this._processChange(change ?? null);
760
+ return processedChange;
761
+ } catch (error) {
762
+ try {
763
+ await this._processErrorIteratorMode(error, this.cursor.id != null);
764
+ } catch (error) {
765
+ if (error instanceof MongoOperationTimeoutError && this.cursor.id == null) {
766
+ throw error;
767
+ }
768
+ try {
769
+ await this.close();
770
+ } catch (error) {
771
+ squashError(error);
772
+ }
773
+ throw error;
774
+ }
775
+ }
776
+ }
777
+ } finally {
778
+ this.timeoutContext?.clear();
779
+ }
780
+ }
781
+
782
+ /**
783
+ * Try to get the next available document from the Change Stream's cursor or `null` if an empty batch is returned
784
+ */
785
+ async tryNext(): Promise<TChange | null> {
786
+ this._setIsIterator();
787
+ // Change streams must resume indefinitely while each resume event succeeds.
788
+ // This loop continues until either a change event is received or until a resume attempt
789
+ // fails.
790
+ this.timeoutContext?.refresh();
791
+
792
+ try {
793
+ while (true) {
794
+ try {
795
+ const change = await this.cursor.tryNext();
796
+ if (!change) {
797
+ return null;
798
+ }
799
+ const processedChange = this._processChange(change);
800
+ return processedChange;
801
+ } catch (error) {
802
+ try {
803
+ await this._processErrorIteratorMode(error, this.cursor.id != null);
804
+ } catch (error) {
805
+ if (error instanceof MongoOperationTimeoutError && this.cursor.id == null) throw error;
806
+ try {
807
+ await this.close();
808
+ } catch (error) {
809
+ squashError(error);
810
+ }
811
+ throw error;
812
+ }
813
+ }
814
+ }
815
+ } finally {
816
+ this.timeoutContext?.clear();
817
+ }
818
+ }
819
+
820
+ async *[Symbol.asyncIterator](): AsyncGenerator<TChange, void, void> {
821
+ if (this.closed) {
822
+ return;
823
+ }
824
+
825
+ try {
826
+ // Change streams run indefinitely as long as errors are resumable
827
+ // So the only loop breaking condition is if `next()` throws
828
+ while (true) {
829
+ yield await this.next();
830
+ }
831
+ } finally {
832
+ try {
833
+ await this.close();
834
+ } catch (error) {
835
+ squashError(error);
836
+ }
837
+ }
838
+ }
839
+
840
+ /** Is the cursor closed */
841
+ public get closed(): boolean {
842
+ return this.isClosed || this.cursor.closed;
843
+ }
844
+
845
+ /**
846
+ * Frees the internal resources used by the change stream.
847
+ */
848
+ async close(): Promise<void> {
849
+ this.timeoutContext?.clear();
850
+ this.timeoutContext = undefined;
851
+ this.isClosed = true;
852
+
853
+ const cursor = this.cursor;
854
+ try {
855
+ await cursor.close();
856
+ } finally {
857
+ this._endStream();
858
+ }
859
+ }
860
+
861
+ /**
862
+ * Return a modified Readable stream including a possible transform method.
863
+ *
864
+ * NOTE: When using a Stream to process change stream events, the stream will
865
+ * NOT automatically resume in the case a resumable error is encountered.
866
+ *
867
+ * @throws MongoChangeStreamError if the underlying cursor or the change stream is closed
868
+ */
869
+ stream(): Readable & AsyncIterable<TChange> {
870
+ if (this.closed) {
871
+ throw new MongoChangeStreamError(CHANGESTREAM_CLOSED_ERROR);
872
+ }
873
+
874
+ return this.cursor.stream();
875
+ }
876
+
877
+ /** @internal */
878
+ private _setIsEmitter(): void {
879
+ if (this.mode === 'iterator') {
880
+ // TODO(NODE-3485): Replace with MongoChangeStreamModeError
881
+ throw new MongoAPIError(
882
+ 'ChangeStream cannot be used as an EventEmitter after being used as an iterator'
883
+ );
884
+ }
885
+ this.mode = 'emitter';
886
+ }
887
+
888
+ /** @internal */
889
+ private _setIsIterator(): void {
890
+ if (this.mode === 'emitter') {
891
+ // TODO(NODE-3485): Replace with MongoChangeStreamModeError
892
+ throw new MongoAPIError(
893
+ 'ChangeStream cannot be used as an iterator after being used as an EventEmitter'
894
+ );
895
+ }
896
+ this.mode = 'iterator';
897
+ }
898
+
899
+ /**
900
+ * Create a new change stream cursor based on self's configuration
901
+ * @internal
902
+ */
903
+ private _createChangeStreamCursor(
904
+ options: ChangeStreamOptions | ChangeStreamCursorOptions
905
+ ): ChangeStreamCursor<TSchema, TChange> {
906
+ const changeStreamStageOptions: Document = filterOutOptions(options);
907
+ if (this.type === CHANGE_DOMAIN_TYPES.CLUSTER) {
908
+ changeStreamStageOptions.allChangesForCluster = true;
909
+ }
910
+ const pipeline = [{ $changeStream: changeStreamStageOptions }, ...this.pipeline];
911
+
912
+ const client: MongoClient | null =
913
+ this.type === CHANGE_DOMAIN_TYPES.CLUSTER
914
+ ? (this.parent as MongoClient)
915
+ : this.type === CHANGE_DOMAIN_TYPES.DATABASE
916
+ ? (this.parent as Db).client
917
+ : this.type === CHANGE_DOMAIN_TYPES.COLLECTION
918
+ ? (this.parent as Collection).client
919
+ : null;
920
+
921
+ if (client == null) {
922
+ // This should never happen because of the assertion in the constructor
923
+ throw new MongoRuntimeError(
924
+ `Changestream type should only be one of cluster, database, collection. Found ${this.type.toString()}`
925
+ );
926
+ }
927
+
928
+ const changeStreamCursor = new ChangeStreamCursor<TSchema, TChange>(
929
+ client,
930
+ this.namespace,
931
+ pipeline,
932
+ {
933
+ ...options,
934
+ timeoutContext: this.timeoutContext
935
+ ? new CursorTimeoutContext(this.timeoutContext, this.contextOwner)
936
+ : undefined
937
+ }
938
+ );
939
+
940
+ for (const event of CHANGE_STREAM_EVENTS) {
941
+ changeStreamCursor.on(event, e => this.emit(event, e));
942
+ }
943
+
944
+ if (this.listenerCount(ChangeStream.CHANGE) > 0) {
945
+ this._streamEvents(changeStreamCursor);
946
+ }
947
+
948
+ return changeStreamCursor;
949
+ }
950
+
951
+ /** @internal */
952
+ private _closeEmitterModeWithError(error: AnyError): void {
953
+ this.emit(ChangeStream.ERROR, error);
954
+
955
+ this.close().then(undefined, squashError);
956
+ }
957
+
958
+ /** @internal */
959
+ private _streamEvents(cursor: ChangeStreamCursor<TSchema, TChange>): void {
960
+ this._setIsEmitter();
961
+ const stream = this.cursorStream ?? cursor.stream();
962
+ this.cursorStream = stream;
963
+ stream.on('data', change => {
964
+ try {
965
+ const processedChange = this._processChange(change);
966
+ this.emit(ChangeStream.CHANGE, processedChange);
967
+ } catch (error) {
968
+ this.emit(ChangeStream.ERROR, error);
969
+ }
970
+ this.timeoutContext?.refresh();
971
+ });
972
+ stream.on('error', error => this._processErrorStreamMode(error, this.cursor.id != null));
973
+ }
974
+
975
+ /** @internal */
976
+ private _endStream(): void {
977
+ this.cursorStream?.removeAllListeners('data');
978
+ this.cursorStream?.removeAllListeners('close');
979
+ this.cursorStream?.removeAllListeners('end');
980
+ this.cursorStream?.destroy();
981
+ this.cursorStream = undefined;
982
+ }
983
+
984
+ /** @internal */
985
+ private _processChange(change: TChange | null): TChange {
986
+ if (this.isClosed) {
987
+ // TODO(NODE-3485): Replace with MongoChangeStreamClosedError
988
+ throw new MongoAPIError(CHANGESTREAM_CLOSED_ERROR);
989
+ }
990
+
991
+ // a null change means the cursor has been notified, implicitly closing the change stream
992
+ if (change == null) {
993
+ // TODO(NODE-3485): Replace with MongoChangeStreamClosedError
994
+ throw new MongoRuntimeError(CHANGESTREAM_CLOSED_ERROR);
995
+ }
996
+
997
+ if (change && !change._id) {
998
+ throw new MongoChangeStreamError(NO_RESUME_TOKEN_ERROR);
999
+ }
1000
+
1001
+ // cache the resume token
1002
+ this.cursor.cacheResumeToken(change._id);
1003
+
1004
+ // wipe the startAtOperationTime if there was one so that there won't be a conflict
1005
+ // between resumeToken and startAtOperationTime if we need to reconnect the cursor
1006
+ this.options.startAtOperationTime = undefined;
1007
+
1008
+ return change;
1009
+ }
1010
+
1011
+ /** @internal */
1012
+ private _processErrorStreamMode(changeStreamError: AnyError, cursorInitialized: boolean) {
1013
+ // If the change stream has been closed explicitly, do not process error.
1014
+ if (this.isClosed) return;
1015
+
1016
+ if (
1017
+ cursorInitialized &&
1018
+ (isResumableError(changeStreamError, this.cursor.maxWireVersion) ||
1019
+ changeStreamError instanceof MongoOperationTimeoutError)
1020
+ ) {
1021
+ this._endStream();
1022
+
1023
+ this.cursor
1024
+ .close()
1025
+ .then(
1026
+ () => this._resume(changeStreamError),
1027
+ e => {
1028
+ squashError(e);
1029
+ return this._resume(changeStreamError);
1030
+ }
1031
+ )
1032
+ .then(
1033
+ () => {
1034
+ if (changeStreamError instanceof MongoOperationTimeoutError)
1035
+ this.emit(ChangeStream.ERROR, changeStreamError);
1036
+ },
1037
+ () => this._closeEmitterModeWithError(changeStreamError)
1038
+ );
1039
+ } else {
1040
+ this._closeEmitterModeWithError(changeStreamError);
1041
+ }
1042
+ }
1043
+
1044
+ /** @internal */
1045
+ private async _processErrorIteratorMode(changeStreamError: AnyError, cursorInitialized: boolean) {
1046
+ if (this.isClosed) {
1047
+ // TODO(NODE-3485): Replace with MongoChangeStreamClosedError
1048
+ throw new MongoAPIError(CHANGESTREAM_CLOSED_ERROR);
1049
+ }
1050
+
1051
+ if (
1052
+ cursorInitialized &&
1053
+ (isResumableError(changeStreamError, this.cursor.maxWireVersion) ||
1054
+ changeStreamError instanceof MongoOperationTimeoutError)
1055
+ ) {
1056
+ try {
1057
+ await this.cursor.close();
1058
+ } catch (error) {
1059
+ squashError(error);
1060
+ }
1061
+
1062
+ await this._resume(changeStreamError);
1063
+
1064
+ if (changeStreamError instanceof MongoOperationTimeoutError) throw changeStreamError;
1065
+ } else {
1066
+ try {
1067
+ await this.close();
1068
+ } catch (error) {
1069
+ squashError(error);
1070
+ }
1071
+
1072
+ throw changeStreamError;
1073
+ }
1074
+ }
1075
+
1076
+ private async _resume(changeStreamError: AnyError) {
1077
+ this.timeoutContext?.refresh();
1078
+ const topology = getTopology(this.parent);
1079
+ try {
1080
+ await topology.selectServer(this.cursor.readPreference, {
1081
+ operationName: 'reconnect topology in change stream',
1082
+ timeoutContext: this.timeoutContext,
1083
+ deprioritizedServers: new DeprioritizedServers()
1084
+ });
1085
+ this.cursor = this._createChangeStreamCursor(this.cursor.resumeOptions);
1086
+ } catch {
1087
+ // if the topology can't reconnect, close the stream
1088
+ await this.close();
1089
+ throw changeStreamError;
1090
+ }
1091
+ }
1092
+ }
1093
+
1094
+ /**
1095
+ * This function returns a list of options that are *not* supported by the $changeStream
1096
+ * aggregation stage. This is best-effort - it uses the options "officially supported" by the driver
1097
+ * to derive a list of known, unsupported options for the $changeStream stage.
1098
+ *
1099
+ * Notably, at runtime, users can still provide options unknown to the driver and the driver will
1100
+ * *not* filter them out of the options object (see NODE-5510).
1101
+ */
1102
+ function buildDisallowedChangeStreamOptions(): Set<string> {
1103
+ /** hard-coded list of allowed ChangeStream options */
1104
+ type CSOptions =
1105
+ | 'resumeAfter'
1106
+ | 'startAfter'
1107
+ | 'startAtOperationTime'
1108
+ | 'fullDocument'
1109
+ | 'fullDocumentBeforeChange'
1110
+ | 'showExpandedEvents';
1111
+
1112
+ /**
1113
+ * a type representing all known options that the driver supports that are *not* change stream stage options.
1114
+ *
1115
+ * each known key is mapped to a non-optional string, so that if new driver-specific options are added, the
1116
+ * instantiation of `denyList` below results in a TS error.
1117
+ */
1118
+ type DisallowedOptions = {
1119
+ [k in Exclude<
1120
+ keyof ChangeStreamOptions & { timeoutContext: TimeoutContext },
1121
+ CSOptions
1122
+ >]: string;
1123
+ };
1124
+
1125
+ const denyList: DisallowedOptions = {
1126
+ allowDiskUse: '',
1127
+ authdb: '',
1128
+ batchSize: '',
1129
+ bsonRegExp: '',
1130
+ bypassDocumentValidation: '',
1131
+ bypassPinningCheck: '',
1132
+ checkKeys: '',
1133
+ collation: '',
1134
+ comment: '',
1135
+ cursor: '',
1136
+ dbName: '',
1137
+ enableUtf8Validation: '',
1138
+ explain: '',
1139
+ fieldsAsRaw: '',
1140
+ hint: '',
1141
+ ignoreUndefined: '',
1142
+ let: '',
1143
+ maxAwaitTimeMS: '',
1144
+ maxTimeMS: '',
1145
+ omitMaxTimeMS: '',
1146
+ out: '',
1147
+ promoteBuffers: '',
1148
+ promoteLongs: '',
1149
+ promoteValues: '',
1150
+ raw: '',
1151
+ rawData: '',
1152
+ readConcern: '',
1153
+ readPreference: '',
1154
+ serializeFunctions: '',
1155
+ session: '',
1156
+ timeoutContext: '',
1157
+ timeoutMS: '',
1158
+ timeoutMode: '',
1159
+ useBigInt64: '',
1160
+ willRetryWrite: '',
1161
+ writeConcern: ''
1162
+ };
1163
+
1164
+ return new Set(Object.keys(denyList));
1165
+ }