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,1148 @@
1
+ import type {
2
+ ExplicitEncryptionContextOptions,
3
+ MongoCrypt,
4
+ MongoCryptOptions
5
+ } from 'mongodb-client-encryption';
6
+
7
+ import {
8
+ type Binary,
9
+ deserialize,
10
+ type Document,
11
+ type Int32,
12
+ type Long,
13
+ serialize,
14
+ type UUID
15
+ } from '../bson';
16
+ import { type AnyBulkWriteOperation, type BulkWriteResult } from '../bulk/common';
17
+ import { type ProxyOptions } from '../cmap/connection';
18
+ import { type Collection } from '../collection';
19
+ import { type FindCursor } from '../cursor/find_cursor';
20
+ import { type Db } from '../db';
21
+ import { getMongoDBClientEncryption } from '../deps';
22
+ import { type MongoClient, type MongoClientOptions } from '../mongo_client';
23
+ import { type Filter, type WithId } from '../mongo_types';
24
+ import { type CreateCollectionOptions } from '../operations/create_collection';
25
+ import { type DeleteResult } from '../operations/delete';
26
+ import { type CSOTTimeoutContext, TimeoutContext } from '../timeout';
27
+ import { MongoDBCollectionNamespace, resolveTimeoutOptions } from '../utils';
28
+ import {
29
+ defaultErrorWrapper,
30
+ MongoCryptCreateDataKeyError,
31
+ MongoCryptCreateEncryptedCollectionError,
32
+ MongoCryptInvalidArgumentError
33
+ } from './errors';
34
+ import {
35
+ type ClientEncryptionDataKeyProvider,
36
+ type CredentialProviders,
37
+ isEmptyCredentials,
38
+ type KMSProviders,
39
+ refreshKMSCredentials
40
+ } from './providers/index';
41
+ import {
42
+ type ClientEncryptionSocketOptions,
43
+ type CSFLEKMSTlsOptions,
44
+ StateMachine
45
+ } from './state_machine';
46
+
47
+ /**
48
+ * @public
49
+ * The schema for a DataKey in the key vault collection.
50
+ */
51
+ export interface DataKey {
52
+ _id: UUID;
53
+ version?: number;
54
+ keyAltNames?: string[];
55
+ keyMaterial: Binary;
56
+ creationDate: Date;
57
+ updateDate: Date;
58
+ status: number;
59
+ masterKey: Document;
60
+ }
61
+
62
+ /**
63
+ * @public
64
+ * The public interface for explicit in-use encryption
65
+ */
66
+ export class ClientEncryption {
67
+ /** @internal */
68
+ _client: MongoClient;
69
+ /** @internal */
70
+ _keyVaultNamespace: string;
71
+ /** @internal */
72
+ _keyVaultClient: MongoClient;
73
+ /** @internal */
74
+ _proxyOptions: ProxyOptions;
75
+ /** @internal */
76
+ _tlsOptions: CSFLEKMSTlsOptions;
77
+ /** @internal */
78
+ _kmsProviders: KMSProviders;
79
+ /** @internal */
80
+ _timeoutMS?: number;
81
+
82
+ /** @internal */
83
+ _mongoCrypt: MongoCrypt;
84
+
85
+ /** @internal */
86
+ _credentialProviders?: CredentialProviders;
87
+
88
+ /** @internal */
89
+ static getMongoCrypt(): typeof MongoCrypt {
90
+ const encryption = getMongoDBClientEncryption();
91
+ if ('kModuleError' in encryption) {
92
+ throw encryption.kModuleError;
93
+ }
94
+ return encryption.MongoCrypt;
95
+ }
96
+
97
+ /**
98
+ * Create a new encryption instance
99
+ *
100
+ * @example
101
+ * ```ts
102
+ * new ClientEncryption(mongoClient, {
103
+ * keyVaultNamespace: 'client.encryption',
104
+ * kmsProviders: {
105
+ * local: {
106
+ * key: masterKey // The master key used for encryption/decryption. A 96-byte long Buffer
107
+ * }
108
+ * }
109
+ * });
110
+ * ```
111
+ *
112
+ * @example
113
+ * ```ts
114
+ * new ClientEncryption(mongoClient, {
115
+ * keyVaultNamespace: 'client.encryption',
116
+ * kmsProviders: {
117
+ * aws: {
118
+ * accessKeyId: AWS_ACCESS_KEY,
119
+ * secretAccessKey: AWS_SECRET_KEY
120
+ * }
121
+ * }
122
+ * });
123
+ * ```
124
+ */
125
+ constructor(client: MongoClient, options: ClientEncryptionOptions) {
126
+ this._client = client;
127
+ this._proxyOptions = options.proxyOptions ?? {};
128
+ this._tlsOptions = options.tlsOptions ?? {};
129
+ this._kmsProviders = options.kmsProviders || {};
130
+ const { timeoutMS } = resolveTimeoutOptions(client, options);
131
+ this._timeoutMS = timeoutMS;
132
+ this._credentialProviders = options.credentialProviders;
133
+
134
+ if (options.credentialProviders?.aws && !isEmptyCredentials('aws', this._kmsProviders)) {
135
+ throw new MongoCryptInvalidArgumentError(
136
+ 'Can only provide a custom AWS credential provider when the state machine is configured for automatic AWS credential fetching'
137
+ );
138
+ }
139
+
140
+ if (options.keyVaultNamespace == null) {
141
+ throw new MongoCryptInvalidArgumentError('Missing required option `keyVaultNamespace`');
142
+ }
143
+
144
+ const mongoCryptOptions: MongoCryptOptions = {
145
+ ...options,
146
+ kmsProviders: serialize(this._kmsProviders),
147
+ errorWrapper: defaultErrorWrapper
148
+ };
149
+
150
+ this._keyVaultNamespace = options.keyVaultNamespace;
151
+ this._keyVaultClient = options.keyVaultClient || client;
152
+ const MongoCrypt = ClientEncryption.getMongoCrypt();
153
+ this._mongoCrypt = new MongoCrypt(mongoCryptOptions);
154
+ }
155
+
156
+ /**
157
+ * Creates a data key used for explicit encryption and inserts it into the key vault namespace
158
+ *
159
+ * @example
160
+ * ```ts
161
+ * // Using async/await to create a local key
162
+ * const dataKeyId = await clientEncryption.createDataKey('local');
163
+ * ```
164
+ *
165
+ * @example
166
+ * ```ts
167
+ * // Using async/await to create an aws key
168
+ * const dataKeyId = await clientEncryption.createDataKey('aws', {
169
+ * masterKey: {
170
+ * region: 'us-east-1',
171
+ * key: 'xxxxxxxxxxxxxx' // CMK ARN here
172
+ * }
173
+ * });
174
+ * ```
175
+ *
176
+ * @example
177
+ * ```ts
178
+ * // Using async/await to create an aws key with a keyAltName
179
+ * const dataKeyId = await clientEncryption.createDataKey('aws', {
180
+ * masterKey: {
181
+ * region: 'us-east-1',
182
+ * key: 'xxxxxxxxxxxxxx' // CMK ARN here
183
+ * },
184
+ * keyAltNames: [ 'mySpecialKey' ]
185
+ * });
186
+ * ```
187
+ */
188
+ async createDataKey(
189
+ provider: ClientEncryptionDataKeyProvider,
190
+ options: ClientEncryptionCreateDataKeyProviderOptions = {}
191
+ ): Promise<UUID> {
192
+ if (options.keyAltNames && !Array.isArray(options.keyAltNames)) {
193
+ throw new MongoCryptInvalidArgumentError(
194
+ `Option "keyAltNames" must be an array of strings, but was of type ${typeof options.keyAltNames}.`
195
+ );
196
+ }
197
+
198
+ let keyAltNames = undefined;
199
+ if (options.keyAltNames && options.keyAltNames.length > 0) {
200
+ keyAltNames = options.keyAltNames.map((keyAltName, i) => {
201
+ if (typeof keyAltName !== 'string') {
202
+ throw new MongoCryptInvalidArgumentError(
203
+ `Option "keyAltNames" must be an array of strings, but item at index ${i} was of type ${typeof keyAltName}`
204
+ );
205
+ }
206
+
207
+ return serialize({ keyAltName });
208
+ });
209
+ }
210
+
211
+ let keyMaterial = undefined;
212
+ if (options.keyMaterial) {
213
+ keyMaterial = serialize({ keyMaterial: options.keyMaterial });
214
+ }
215
+
216
+ const dataKeyBson = serialize({
217
+ provider,
218
+ ...options.masterKey
219
+ });
220
+
221
+ const context = this._mongoCrypt.makeDataKeyContext(dataKeyBson, {
222
+ keyAltNames,
223
+ keyMaterial
224
+ });
225
+
226
+ const stateMachine = new StateMachine({
227
+ proxyOptions: this._proxyOptions,
228
+ tlsOptions: this._tlsOptions,
229
+ socketOptions: autoSelectSocketOptions(this._client.s.options)
230
+ });
231
+
232
+ const timeoutContext =
233
+ options?.timeoutContext ??
234
+ TimeoutContext.create(resolveTimeoutOptions(this._client, { timeoutMS: this._timeoutMS }));
235
+
236
+ const dataKey = deserialize(
237
+ await stateMachine.execute(this, context, { timeoutContext })
238
+ ) as DataKey;
239
+
240
+ const { db: dbName, collection: collectionName } = MongoDBCollectionNamespace.fromString(
241
+ this._keyVaultNamespace
242
+ );
243
+
244
+ const { insertedId } = await this._keyVaultClient
245
+ .db(dbName)
246
+ .collection<DataKey>(collectionName)
247
+ .insertOne(dataKey, {
248
+ writeConcern: { w: 'majority' },
249
+ timeoutMS: timeoutContext?.csotEnabled()
250
+ ? timeoutContext?.getRemainingTimeMSOrThrow()
251
+ : undefined
252
+ });
253
+
254
+ return insertedId;
255
+ }
256
+
257
+ /**
258
+ * Searches the keyvault for any data keys matching the provided filter. If there are matches, rewrapManyDataKey then attempts to re-wrap the data keys using the provided options.
259
+ *
260
+ * If no matches are found, then no bulk write is performed.
261
+ *
262
+ * @example
263
+ * ```ts
264
+ * // rewrapping all data data keys (using a filter that matches all documents)
265
+ * const filter = {};
266
+ *
267
+ * const result = await clientEncryption.rewrapManyDataKey(filter);
268
+ * if (result.bulkWriteResult != null) {
269
+ * // keys were re-wrapped, results will be available in the bulkWrite object.
270
+ * }
271
+ * ```
272
+ *
273
+ * @example
274
+ * ```ts
275
+ * // attempting to rewrap all data keys with no matches
276
+ * const filter = { _id: new Binary() } // assume _id matches no documents in the database
277
+ * const result = await clientEncryption.rewrapManyDataKey(filter);
278
+ *
279
+ * if (result.bulkWriteResult == null) {
280
+ * // no keys matched, `bulkWriteResult` does not exist on the result object
281
+ * }
282
+ * ```
283
+ */
284
+ async rewrapManyDataKey(
285
+ filter: Filter<DataKey>,
286
+ options?: ClientEncryptionRewrapManyDataKeyProviderOptions
287
+ ): Promise<{ bulkWriteResult?: BulkWriteResult }> {
288
+ let keyEncryptionKeyBson = undefined;
289
+ if (options) {
290
+ const keyEncryptionKey = Object.assign({ provider: options.provider }, options.masterKey);
291
+ keyEncryptionKeyBson = serialize(keyEncryptionKey);
292
+ }
293
+ const filterBson = serialize(filter);
294
+ const context = this._mongoCrypt.makeRewrapManyDataKeyContext(filterBson, keyEncryptionKeyBson);
295
+ const stateMachine = new StateMachine({
296
+ proxyOptions: this._proxyOptions,
297
+ tlsOptions: this._tlsOptions,
298
+ socketOptions: autoSelectSocketOptions(this._client.s.options)
299
+ });
300
+
301
+ const timeoutContext = TimeoutContext.create(
302
+ resolveTimeoutOptions(this._client, { timeoutMS: this._timeoutMS })
303
+ );
304
+
305
+ const { v: dataKeys } = deserialize(
306
+ await stateMachine.execute(this, context, { timeoutContext })
307
+ );
308
+ if (dataKeys.length === 0) {
309
+ return {};
310
+ }
311
+
312
+ const { db: dbName, collection: collectionName } = MongoDBCollectionNamespace.fromString(
313
+ this._keyVaultNamespace
314
+ );
315
+
316
+ const replacements = dataKeys.map(
317
+ (key: DataKey): AnyBulkWriteOperation<DataKey> => ({
318
+ updateOne: {
319
+ filter: { _id: key._id },
320
+ update: {
321
+ $set: {
322
+ masterKey: key.masterKey,
323
+ keyMaterial: key.keyMaterial
324
+ },
325
+ $currentDate: {
326
+ updateDate: true
327
+ }
328
+ }
329
+ }
330
+ })
331
+ );
332
+
333
+ const result = await this._keyVaultClient
334
+ .db(dbName)
335
+ .collection<DataKey>(collectionName)
336
+ .bulkWrite(replacements, {
337
+ writeConcern: { w: 'majority' },
338
+ timeoutMS: timeoutContext.csotEnabled() ? timeoutContext?.remainingTimeMS : undefined
339
+ });
340
+
341
+ return { bulkWriteResult: result };
342
+ }
343
+
344
+ /**
345
+ * Deletes the key with the provided id from the keyvault, if it exists.
346
+ *
347
+ * @example
348
+ * ```ts
349
+ * // delete a key by _id
350
+ * const id = new Binary(); // id is a bson binary subtype 4 object
351
+ * const { deletedCount } = await clientEncryption.deleteKey(id);
352
+ *
353
+ * if (deletedCount != null && deletedCount > 0) {
354
+ * // successful deletion
355
+ * }
356
+ * ```
357
+ *
358
+ */
359
+ async deleteKey(_id: Binary): Promise<DeleteResult> {
360
+ const { db: dbName, collection: collectionName } = MongoDBCollectionNamespace.fromString(
361
+ this._keyVaultNamespace
362
+ );
363
+
364
+ return await this._keyVaultClient
365
+ .db(dbName)
366
+ .collection<DataKey>(collectionName)
367
+ .deleteOne({ _id }, { writeConcern: { w: 'majority' }, timeoutMS: this._timeoutMS });
368
+ }
369
+
370
+ /**
371
+ * Finds all the keys currently stored in the keyvault.
372
+ *
373
+ * This method will not throw.
374
+ *
375
+ * @returns a FindCursor over all keys in the keyvault.
376
+ * @example
377
+ * ```ts
378
+ * // fetching all keys
379
+ * const keys = await clientEncryption.getKeys().toArray();
380
+ * ```
381
+ */
382
+ getKeys(): FindCursor<DataKey> {
383
+ const { db: dbName, collection: collectionName } = MongoDBCollectionNamespace.fromString(
384
+ this._keyVaultNamespace
385
+ );
386
+
387
+ return this._keyVaultClient
388
+ .db(dbName)
389
+ .collection<DataKey>(collectionName)
390
+ .find({}, { readConcern: { level: 'majority' }, timeoutMS: this._timeoutMS });
391
+ }
392
+
393
+ /**
394
+ * Finds a key in the keyvault with the specified _id.
395
+ *
396
+ * Returns a promise that either resolves to a {@link DataKey} if a document matches the key or null if no documents
397
+ * match the id. The promise rejects with an error if an error is thrown.
398
+ * @example
399
+ * ```ts
400
+ * // getting a key by id
401
+ * const id = new Binary(); // id is a bson binary subtype 4 object
402
+ * const key = await clientEncryption.getKey(id);
403
+ * if (!key) {
404
+ * // key is null if there was no matching key
405
+ * }
406
+ * ```
407
+ */
408
+ async getKey(_id: Binary): Promise<DataKey | null> {
409
+ const { db: dbName, collection: collectionName } = MongoDBCollectionNamespace.fromString(
410
+ this._keyVaultNamespace
411
+ );
412
+
413
+ return await this._keyVaultClient
414
+ .db(dbName)
415
+ .collection<DataKey>(collectionName)
416
+ .findOne({ _id }, { readConcern: { level: 'majority' }, timeoutMS: this._timeoutMS });
417
+ }
418
+
419
+ /**
420
+ * Finds a key in the keyvault which has the specified keyAltName.
421
+ *
422
+ * @param keyAltName - a keyAltName to search for a key
423
+ * @returns Returns a promise that either resolves to a {@link DataKey} if a document matches the key or null if no documents
424
+ * match the keyAltName. The promise rejects with an error if an error is thrown.
425
+ * @example
426
+ * ```ts
427
+ * // get a key by alt name
428
+ * const keyAltName = 'keyAltName';
429
+ * const key = await clientEncryption.getKeyByAltName(keyAltName);
430
+ * if (!key) {
431
+ * // key is null if there is no matching key
432
+ * }
433
+ * ```
434
+ */
435
+ async getKeyByAltName(keyAltName: string): Promise<WithId<DataKey> | null> {
436
+ const { db: dbName, collection: collectionName } = MongoDBCollectionNamespace.fromString(
437
+ this._keyVaultNamespace
438
+ );
439
+
440
+ return await this._keyVaultClient
441
+ .db(dbName)
442
+ .collection<DataKey>(collectionName)
443
+ .findOne(
444
+ { keyAltNames: keyAltName },
445
+ { readConcern: { level: 'majority' }, timeoutMS: this._timeoutMS }
446
+ );
447
+ }
448
+
449
+ /**
450
+ * Adds a keyAltName to a key identified by the provided _id.
451
+ *
452
+ * This method resolves to/returns the *old* key value (prior to adding the new altKeyName).
453
+ *
454
+ * @param _id - The id of the document to update.
455
+ * @param keyAltName - a keyAltName to search for a key
456
+ * @returns Returns a promise that either resolves to a {@link DataKey} if a document matches the key or null if no documents
457
+ * match the id. The promise rejects with an error if an error is thrown.
458
+ * @example
459
+ * ```ts
460
+ * // adding an keyAltName to a data key
461
+ * const id = new Binary(); // id is a bson binary subtype 4 object
462
+ * const keyAltName = 'keyAltName';
463
+ * const oldKey = await clientEncryption.addKeyAltName(id, keyAltName);
464
+ * if (!oldKey) {
465
+ * // null is returned if there is no matching document with an id matching the supplied id
466
+ * }
467
+ * ```
468
+ */
469
+ async addKeyAltName(_id: Binary, keyAltName: string): Promise<WithId<DataKey> | null> {
470
+ const { db: dbName, collection: collectionName } = MongoDBCollectionNamespace.fromString(
471
+ this._keyVaultNamespace
472
+ );
473
+
474
+ const value = await this._keyVaultClient
475
+ .db(dbName)
476
+ .collection<DataKey>(collectionName)
477
+ .findOneAndUpdate(
478
+ { _id },
479
+ { $addToSet: { keyAltNames: keyAltName } },
480
+ { writeConcern: { w: 'majority' }, returnDocument: 'before', timeoutMS: this._timeoutMS }
481
+ );
482
+
483
+ return value;
484
+ }
485
+
486
+ /**
487
+ * Adds a keyAltName to a key identified by the provided _id.
488
+ *
489
+ * This method resolves to/returns the *old* key value (prior to removing the new altKeyName).
490
+ *
491
+ * If the removed keyAltName is the last keyAltName for that key, the `altKeyNames` property is unset from the document.
492
+ *
493
+ * @param _id - The id of the document to update.
494
+ * @param keyAltName - a keyAltName to search for a key
495
+ * @returns Returns a promise that either resolves to a {@link DataKey} if a document matches the key or null if no documents
496
+ * match the id. The promise rejects with an error if an error is thrown.
497
+ * @example
498
+ * ```ts
499
+ * // removing a key alt name from a data key
500
+ * const id = new Binary(); // id is a bson binary subtype 4 object
501
+ * const keyAltName = 'keyAltName';
502
+ * const oldKey = await clientEncryption.removeKeyAltName(id, keyAltName);
503
+ *
504
+ * if (!oldKey) {
505
+ * // null is returned if there is no matching document with an id matching the supplied id
506
+ * }
507
+ * ```
508
+ */
509
+ async removeKeyAltName(_id: Binary, keyAltName: string): Promise<WithId<DataKey> | null> {
510
+ const { db: dbName, collection: collectionName } = MongoDBCollectionNamespace.fromString(
511
+ this._keyVaultNamespace
512
+ );
513
+
514
+ const pipeline = [
515
+ {
516
+ $set: {
517
+ keyAltNames: {
518
+ $cond: [
519
+ {
520
+ $eq: ['$keyAltNames', [keyAltName]]
521
+ },
522
+ '$$REMOVE',
523
+ {
524
+ $filter: {
525
+ input: '$keyAltNames',
526
+ cond: {
527
+ $ne: ['$$this', keyAltName]
528
+ }
529
+ }
530
+ }
531
+ ]
532
+ }
533
+ }
534
+ }
535
+ ];
536
+
537
+ const value = await this._keyVaultClient
538
+ .db(dbName)
539
+ .collection<DataKey>(collectionName)
540
+ .findOneAndUpdate({ _id }, pipeline, {
541
+ writeConcern: { w: 'majority' },
542
+ returnDocument: 'before',
543
+ timeoutMS: this._timeoutMS
544
+ });
545
+
546
+ return value;
547
+ }
548
+
549
+ /**
550
+ * A convenience method for creating an encrypted collection.
551
+ * This method will create data keys for any encryptedFields that do not have a `keyId` defined
552
+ * and then create a new collection with the full set of encryptedFields.
553
+ *
554
+ * @param db - A Node.js driver Db object with which to create the collection
555
+ * @param name - The name of the collection to be created
556
+ * @param options - Options for createDataKey and for createCollection
557
+ * @returns created collection and generated encryptedFields
558
+ * @throws MongoCryptCreateDataKeyError - If part way through the process a createDataKey invocation fails, an error will be rejected that has the partial `encryptedFields` that were created.
559
+ * @throws MongoCryptCreateEncryptedCollectionError - If creating the collection fails, an error will be rejected that has the entire `encryptedFields` that were created.
560
+ */
561
+ async createEncryptedCollection<TSchema extends Document = Document>(
562
+ db: Db,
563
+ name: string,
564
+ options: {
565
+ provider: ClientEncryptionDataKeyProvider;
566
+ createCollectionOptions: Omit<CreateCollectionOptions, 'encryptedFields'> & {
567
+ encryptedFields: Document;
568
+ };
569
+ masterKey?: AWSEncryptionKeyOptions | AzureEncryptionKeyOptions | GCPEncryptionKeyOptions;
570
+ }
571
+ ): Promise<{ collection: Collection<TSchema>; encryptedFields: Document }> {
572
+ const {
573
+ provider,
574
+ masterKey,
575
+ createCollectionOptions: {
576
+ encryptedFields: { ...encryptedFields },
577
+ ...createCollectionOptions
578
+ }
579
+ } = options;
580
+
581
+ const timeoutContext =
582
+ this._timeoutMS != null
583
+ ? TimeoutContext.create(resolveTimeoutOptions(this._client, { timeoutMS: this._timeoutMS }))
584
+ : undefined;
585
+
586
+ if (Array.isArray(encryptedFields.fields)) {
587
+ const createDataKeyPromises = encryptedFields.fields.map(async field =>
588
+ field == null || typeof field !== 'object' || field.keyId != null
589
+ ? field
590
+ : {
591
+ ...field,
592
+ keyId: await this.createDataKey(provider, {
593
+ masterKey,
594
+ // clone the timeoutContext
595
+ // in order to avoid sharing the same timeout for server selection and connection checkout across different concurrent operations
596
+ timeoutContext: timeoutContext?.csotEnabled() ? timeoutContext?.clone() : undefined
597
+ })
598
+ }
599
+ );
600
+ const createDataKeyResolutions = await Promise.allSettled(createDataKeyPromises);
601
+
602
+ encryptedFields.fields = createDataKeyResolutions.map((resolution, index) =>
603
+ resolution.status === 'fulfilled' ? resolution.value : encryptedFields.fields[index]
604
+ );
605
+
606
+ const rejection = createDataKeyResolutions.find(
607
+ (result): result is PromiseRejectedResult => result.status === 'rejected'
608
+ );
609
+ if (rejection != null) {
610
+ throw new MongoCryptCreateDataKeyError(encryptedFields, { cause: rejection.reason });
611
+ }
612
+ }
613
+
614
+ try {
615
+ const collection = await db.createCollection<TSchema>(name, {
616
+ ...createCollectionOptions,
617
+ encryptedFields,
618
+ timeoutMS: timeoutContext?.csotEnabled()
619
+ ? timeoutContext?.getRemainingTimeMSOrThrow()
620
+ : undefined
621
+ });
622
+ return { collection, encryptedFields };
623
+ } catch (cause) {
624
+ throw new MongoCryptCreateEncryptedCollectionError(encryptedFields, { cause });
625
+ }
626
+ }
627
+
628
+ /**
629
+ * Explicitly encrypt a provided value. Note that either `options.keyId` or `options.keyAltName` must
630
+ * be specified. Specifying both `options.keyId` and `options.keyAltName` is considered an error.
631
+ *
632
+ * @param value - The value that you wish to serialize. Must be of a type that can be serialized into BSON
633
+ * @param options -
634
+ * @returns a Promise that either resolves with the encrypted value, or rejects with an error.
635
+ *
636
+ * @example
637
+ * ```ts
638
+ * // Encryption with async/await api
639
+ * async function encryptMyData(value) {
640
+ * const keyId = await clientEncryption.createDataKey('local');
641
+ * return clientEncryption.encrypt(value, { keyId, algorithm: 'AEAD_AES_256_CBC_HMAC_SHA_512-Deterministic' });
642
+ * }
643
+ * ```
644
+ *
645
+ * @example
646
+ * ```ts
647
+ * // Encryption using a keyAltName
648
+ * async function encryptMyData(value) {
649
+ * await clientEncryption.createDataKey('local', { keyAltNames: 'mySpecialKey' });
650
+ * return clientEncryption.encrypt(value, { keyAltName: 'mySpecialKey', algorithm: 'AEAD_AES_256_CBC_HMAC_SHA_512-Deterministic' });
651
+ * }
652
+ * ```
653
+ */
654
+ async encrypt(value: unknown, options: ClientEncryptionEncryptOptions): Promise<Binary> {
655
+ return await this._encrypt(value, false, options);
656
+ }
657
+
658
+ /**
659
+ * Encrypts a Match Expression or Aggregate Expression to query a range index.
660
+ *
661
+ * Only supported when queryType is "range" and algorithm is "Range".
662
+ *
663
+ * @param expression - a BSON document of one of the following forms:
664
+ * 1. A Match Expression of this form:
665
+ * `{$and: [{<field>: {$gt: <value1>}}, {<field>: {$lt: <value2> }}]}`
666
+ * 2. An Aggregate Expression of this form:
667
+ * `{$and: [{$gt: [<fieldpath>, <value1>]}, {$lt: [<fieldpath>, <value2>]}]}`
668
+ *
669
+ * `$gt` may also be `$gte`. `$lt` may also be `$lte`.
670
+ *
671
+ * @param options -
672
+ * @returns Returns a Promise that either resolves with the encrypted value or rejects with an error.
673
+ */
674
+ async encryptExpression(
675
+ expression: Document,
676
+ options: ClientEncryptionEncryptOptions
677
+ ): Promise<Binary> {
678
+ return await this._encrypt(expression, true, options);
679
+ }
680
+
681
+ /**
682
+ * Explicitly decrypt a provided encrypted value
683
+ *
684
+ * @param value - An encrypted value
685
+ * @returns a Promise that either resolves with the decrypted value, or rejects with an error
686
+ *
687
+ * @example
688
+ * ```ts
689
+ * // Decrypting value with async/await API
690
+ * async function decryptMyValue(value) {
691
+ * return clientEncryption.decrypt(value);
692
+ * }
693
+ * ```
694
+ */
695
+ async decrypt<T = any>(value: Binary): Promise<T> {
696
+ const valueBuffer = serialize({ v: value });
697
+ const context = this._mongoCrypt.makeExplicitDecryptionContext(valueBuffer);
698
+
699
+ const stateMachine = new StateMachine({
700
+ proxyOptions: this._proxyOptions,
701
+ tlsOptions: this._tlsOptions,
702
+ socketOptions: autoSelectSocketOptions(this._client.s.options)
703
+ });
704
+
705
+ const timeoutContext =
706
+ this._timeoutMS != null
707
+ ? TimeoutContext.create(resolveTimeoutOptions(this._client, { timeoutMS: this._timeoutMS }))
708
+ : undefined;
709
+
710
+ const { v } = deserialize(await stateMachine.execute(this, context, { timeoutContext }));
711
+
712
+ return v;
713
+ }
714
+
715
+ /**
716
+ * @internal
717
+ * Ask the user for KMS credentials.
718
+ *
719
+ * This returns anything that looks like the kmsProviders original input
720
+ * option. It can be empty, and any provider specified here will override
721
+ * the original ones.
722
+ */
723
+ async askForKMSCredentials(): Promise<KMSProviders> {
724
+ return await refreshKMSCredentials(this._kmsProviders, this._credentialProviders);
725
+ }
726
+
727
+ static get libmongocryptVersion() {
728
+ return ClientEncryption.getMongoCrypt().libmongocryptVersion;
729
+ }
730
+
731
+ /**
732
+ * @internal
733
+ * A helper that perform explicit encryption of values and expressions.
734
+ * Explicitly encrypt a provided value. Note that either `options.keyId` or `options.keyAltName` must
735
+ * be specified. Specifying both `options.keyId` and `options.keyAltName` is considered an error.
736
+ *
737
+ * @param value - The value that you wish to encrypt. Must be of a type that can be serialized into BSON
738
+ * @param expressionMode - a boolean that indicates whether or not to encrypt the value as an expression
739
+ * @param options - options to pass to encrypt
740
+ * @returns the raw result of the call to stateMachine.execute(). When expressionMode is set to true, the return
741
+ * value will be a bson document. When false, the value will be a BSON Binary.
742
+ *
743
+ */
744
+ private async _encrypt(
745
+ value: unknown,
746
+ expressionMode: boolean,
747
+ options: ClientEncryptionEncryptOptions
748
+ ): Promise<Binary> {
749
+ const { algorithm, keyId, keyAltName, contentionFactor, queryType, rangeOptions, textOptions } =
750
+ options;
751
+ const contextOptions: ExplicitEncryptionContextOptions = {
752
+ expressionMode,
753
+ algorithm
754
+ };
755
+ if (keyId) {
756
+ contextOptions.keyId = keyId.buffer;
757
+ }
758
+ if (keyAltName) {
759
+ if (keyId) {
760
+ throw new MongoCryptInvalidArgumentError(
761
+ `"options" cannot contain both "keyId" and "keyAltName"`
762
+ );
763
+ }
764
+ if (typeof keyAltName !== 'string') {
765
+ throw new MongoCryptInvalidArgumentError(
766
+ `"options.keyAltName" must be of type string, but was of type ${typeof keyAltName}`
767
+ );
768
+ }
769
+
770
+ contextOptions.keyAltName = serialize({ keyAltName });
771
+ }
772
+ if (typeof contentionFactor === 'number' || typeof contentionFactor === 'bigint') {
773
+ contextOptions.contentionFactor = contentionFactor;
774
+ }
775
+ if (typeof queryType === 'string') {
776
+ contextOptions.queryType = queryType;
777
+ }
778
+
779
+ if (typeof rangeOptions === 'object') {
780
+ contextOptions.rangeOptions = serialize(rangeOptions);
781
+ }
782
+
783
+ if (typeof textOptions === 'object') {
784
+ contextOptions.textOptions = serialize(textOptions);
785
+ }
786
+
787
+ const valueBuffer = serialize({ v: value });
788
+ const stateMachine = new StateMachine({
789
+ proxyOptions: this._proxyOptions,
790
+ tlsOptions: this._tlsOptions,
791
+ socketOptions: autoSelectSocketOptions(this._client.s.options)
792
+ });
793
+ const context = this._mongoCrypt.makeExplicitEncryptionContext(valueBuffer, contextOptions);
794
+
795
+ const timeoutContext =
796
+ this._timeoutMS != null
797
+ ? TimeoutContext.create(resolveTimeoutOptions(this._client, { timeoutMS: this._timeoutMS }))
798
+ : undefined;
799
+ const { v } = deserialize(await stateMachine.execute(this, context, { timeoutContext }));
800
+ return v;
801
+ }
802
+ }
803
+
804
+ /**
805
+ * @public
806
+ * Options to provide when encrypting data.
807
+ */
808
+ export interface ClientEncryptionEncryptOptions {
809
+ /**
810
+ * The algorithm to use for encryption.
811
+ */
812
+ algorithm:
813
+ | 'AEAD_AES_256_CBC_HMAC_SHA_512-Deterministic'
814
+ | 'AEAD_AES_256_CBC_HMAC_SHA_512-Random'
815
+ | 'Indexed'
816
+ | 'Unindexed'
817
+ | 'Range'
818
+ | 'TextPreview';
819
+
820
+ /**
821
+ * The id of the Binary dataKey to use for encryption
822
+ */
823
+ keyId?: Binary;
824
+
825
+ /**
826
+ * A unique string name corresponding to an already existing dataKey.
827
+ */
828
+ keyAltName?: string;
829
+
830
+ /** The contention factor. */
831
+ contentionFactor?: bigint | number;
832
+
833
+ /**
834
+ * The query type.
835
+ */
836
+ queryType?: 'equality' | 'range' | 'prefixPreview' | 'suffixPreview' | 'substringPreview';
837
+
838
+ /** The index options for a Queryable Encryption field supporting "range" queries.*/
839
+ rangeOptions?: RangeOptions;
840
+
841
+ /**
842
+ * Options for a Queryable Encryption field supporting text queries. Only valid when `algorithm` is `TextPreview`.
843
+ *
844
+ * @experimental Public Technical Preview: `textPreview` is an experimental feature and may break at any time.
845
+ */
846
+ textOptions?: TextQueryOptions;
847
+ }
848
+
849
+ /**
850
+ * Options for a Queryable Encryption field supporting text queries.
851
+ *
852
+ * @public
853
+ * @experimental Public Technical Preview: `textPreview` is an experimental feature and may break at any time.
854
+ */
855
+ export interface TextQueryOptions {
856
+ /** Indicates that text indexes for this field are case sensitive */
857
+ caseSensitive: boolean;
858
+ /** Indicates that text indexes for this field are diacritic sensitive. */
859
+ diacriticSensitive: boolean;
860
+
861
+ prefix?: {
862
+ /** The maximum allowed query length. */
863
+ strMaxQueryLength: Int32 | number;
864
+ /** The minimum allowed query length. */
865
+ strMinQueryLength: Int32 | number;
866
+ };
867
+
868
+ suffix?: {
869
+ /** The maximum allowed query length. */
870
+ strMaxQueryLength: Int32 | number;
871
+ /** The minimum allowed query length. */
872
+ strMinQueryLength: Int32 | number;
873
+ };
874
+
875
+ substring?: {
876
+ /** The maximum allowed length to insert. */
877
+ strMaxLength: Int32 | number;
878
+ /** The maximum allowed query length. */
879
+ strMaxQueryLength: Int32 | number;
880
+ /** The minimum allowed query length. */
881
+ strMinQueryLength: Int32 | number;
882
+ };
883
+ }
884
+
885
+ /**
886
+ * @public
887
+ * @experimental
888
+ */
889
+ export interface ClientEncryptionRewrapManyDataKeyProviderOptions {
890
+ provider: ClientEncryptionDataKeyProvider;
891
+ masterKey?:
892
+ | AWSEncryptionKeyOptions
893
+ | AzureEncryptionKeyOptions
894
+ | GCPEncryptionKeyOptions
895
+ | KMIPEncryptionKeyOptions
896
+ | undefined;
897
+ }
898
+
899
+ /**
900
+ * @public
901
+ * Additional settings to provide when creating a new `ClientEncryption` instance.
902
+ */
903
+ export interface ClientEncryptionOptions {
904
+ /**
905
+ * The namespace of the key vault, used to store encryption keys
906
+ */
907
+ keyVaultNamespace: string;
908
+
909
+ /**
910
+ * A MongoClient used to fetch keys from a key vault. Defaults to client.
911
+ */
912
+ keyVaultClient?: MongoClient | undefined;
913
+
914
+ /**
915
+ * Options for specific KMS providers to use
916
+ */
917
+ kmsProviders?: KMSProviders;
918
+
919
+ /**
920
+ * Options for user provided custom credential providers.
921
+ */
922
+ credentialProviders?: CredentialProviders;
923
+
924
+ /**
925
+ * Options for specifying a Socks5 proxy to use for connecting to the KMS.
926
+ */
927
+ proxyOptions?: ProxyOptions;
928
+
929
+ /**
930
+ * TLS options for kms providers to use.
931
+ */
932
+ tlsOptions?: CSFLEKMSTlsOptions;
933
+
934
+ /**
935
+ * Sets the expiration time for the DEK in the cache in milliseconds. Defaults to 60000. 0 means no timeout.
936
+ */
937
+ keyExpirationMS?: number;
938
+
939
+ /**
940
+ * @experimental
941
+ *
942
+ * The timeout setting to be used for all the operations on ClientEncryption.
943
+ *
944
+ * When provided, `timeoutMS` is used as the timeout for each operation executed on
945
+ * the ClientEncryption object. For example:
946
+ *
947
+ * ```typescript
948
+ * const clientEncryption = new ClientEncryption(client, {
949
+ * timeoutMS: 1_000
950
+ * kmsProviders: { local: { key: '<KEY>' } }
951
+ * });
952
+ *
953
+ * // `1_000` is used as the timeout for createDataKey call
954
+ * await clientEncryption.createDataKey('local');
955
+ * ```
956
+ *
957
+ * If `timeoutMS` is configured on the provided client, the client's `timeoutMS` value
958
+ * will be used unless `timeoutMS` is also provided as a client encryption option.
959
+ *
960
+ * ```typescript
961
+ * const client = new MongoClient('<uri>', { timeoutMS: 2_000 });
962
+ *
963
+ * // timeoutMS is set to 1_000 on clientEncryption
964
+ * const clientEncryption = new ClientEncryption(client, {
965
+ * timeoutMS: 1_000
966
+ * kmsProviders: { local: { key: '<KEY>' } }
967
+ * });
968
+ * ```
969
+ */
970
+ timeoutMS?: number;
971
+ }
972
+
973
+ /**
974
+ * @public
975
+ * Configuration options for making an AWS encryption key
976
+ */
977
+ export interface AWSEncryptionKeyOptions {
978
+ /**
979
+ * The AWS region of the KMS
980
+ */
981
+ region: string;
982
+
983
+ /**
984
+ * The Amazon Resource Name (ARN) to the AWS customer master key (CMK)
985
+ */
986
+ key: string;
987
+
988
+ /**
989
+ * An alternate host to send KMS requests to. May include port number.
990
+ */
991
+ endpoint?: string | undefined;
992
+ }
993
+
994
+ /**
995
+ * @public
996
+ * Configuration options for making an AWS encryption key
997
+ */
998
+ export interface GCPEncryptionKeyOptions {
999
+ /**
1000
+ * GCP project ID
1001
+ */
1002
+ projectId: string;
1003
+
1004
+ /**
1005
+ * Location name (e.g. "global")
1006
+ */
1007
+ location: string;
1008
+
1009
+ /**
1010
+ * Key ring name
1011
+ */
1012
+ keyRing: string;
1013
+
1014
+ /**
1015
+ * Key name
1016
+ */
1017
+ keyName: string;
1018
+
1019
+ /**
1020
+ * Key version
1021
+ */
1022
+ keyVersion?: string | undefined;
1023
+
1024
+ /**
1025
+ * KMS URL, defaults to `https://www.googleapis.com/auth/cloudkms`
1026
+ */
1027
+ endpoint?: string | undefined;
1028
+ }
1029
+
1030
+ /**
1031
+ * @public
1032
+ * Configuration options for making an Azure encryption key
1033
+ */
1034
+ export interface AzureEncryptionKeyOptions {
1035
+ /**
1036
+ * Key name
1037
+ */
1038
+ keyName: string;
1039
+
1040
+ /**
1041
+ * Key vault URL, typically `<name>.vault.azure.net`
1042
+ */
1043
+ keyVaultEndpoint: string;
1044
+
1045
+ /**
1046
+ * Key version
1047
+ */
1048
+ keyVersion?: string | undefined;
1049
+ }
1050
+
1051
+ /**
1052
+ * @public
1053
+ * Configuration options for making a KMIP encryption key
1054
+ */
1055
+ export interface KMIPEncryptionKeyOptions {
1056
+ /**
1057
+ * keyId is the KMIP Unique Identifier to a 96 byte KMIP Secret Data managed object.
1058
+ *
1059
+ * If keyId is omitted, a random 96 byte KMIP Secret Data managed object will be created.
1060
+ */
1061
+ keyId?: string;
1062
+
1063
+ /**
1064
+ * Host with optional port.
1065
+ */
1066
+ endpoint?: string;
1067
+
1068
+ /**
1069
+ * If true, this key should be decrypted by the KMIP server.
1070
+ *
1071
+ * Requires `mongodb-client-encryption>=6.0.1`.
1072
+ */
1073
+ delegated?: boolean;
1074
+ }
1075
+
1076
+ /**
1077
+ * @public
1078
+ * Options to provide when creating a new data key.
1079
+ */
1080
+ export interface ClientEncryptionCreateDataKeyProviderOptions {
1081
+ /**
1082
+ * Identifies a new KMS-specific key used to encrypt the new data key
1083
+ */
1084
+ masterKey?:
1085
+ | AWSEncryptionKeyOptions
1086
+ | AzureEncryptionKeyOptions
1087
+ | GCPEncryptionKeyOptions
1088
+ | KMIPEncryptionKeyOptions
1089
+ | undefined;
1090
+
1091
+ /**
1092
+ * An optional list of string alternate names used to reference a key.
1093
+ * If a key is created with alternate names, then encryption may refer to the key by the unique alternate name instead of by _id.
1094
+ */
1095
+ keyAltNames?: string[] | undefined;
1096
+
1097
+ /** @experimental */
1098
+ keyMaterial?: Buffer | Binary;
1099
+
1100
+ /** @internal */
1101
+ timeoutContext?: CSOTTimeoutContext;
1102
+ }
1103
+
1104
+ /**
1105
+ * @public
1106
+ * @experimental
1107
+ */
1108
+ export interface ClientEncryptionRewrapManyDataKeyResult {
1109
+ /** The result of rewrapping data keys. If unset, no keys matched the filter. */
1110
+ bulkWriteResult?: BulkWriteResult;
1111
+ }
1112
+
1113
+ /**
1114
+ * @public
1115
+ * RangeOptions specifies index options for a Queryable Encryption field supporting "range" queries.
1116
+ * min, max, sparsity, trimFactor and range must match the values set in the encryptedFields of the destination collection.
1117
+ * For double and decimal128, min/max/precision must all be set, or all be unset.
1118
+ */
1119
+ export interface RangeOptions {
1120
+ /** min is the minimum value for the encrypted index. Required if precision is set. */
1121
+ min?: any;
1122
+ /** max is the minimum value for the encrypted index. Required if precision is set. */
1123
+ max?: any;
1124
+ /** sparsity may be used to tune performance. must be non-negative. When omitted, a default value is used. */
1125
+ sparsity?: Long | bigint;
1126
+ /** trimFactor may be used to tune performance. must be non-negative. When omitted, a default value is used. */
1127
+ trimFactor?: Int32 | number;
1128
+ /* precision determines the number of significant digits after the decimal point. May only be set for double or decimal128. */
1129
+ precision?: number;
1130
+ }
1131
+
1132
+ /**
1133
+ * Get the socket options from the client.
1134
+ * @param baseOptions - The mongo client options.
1135
+ * @returns ClientEncryptionSocketOptions
1136
+ */
1137
+ export function autoSelectSocketOptions(
1138
+ baseOptions: MongoClientOptions
1139
+ ): ClientEncryptionSocketOptions {
1140
+ const options: ClientEncryptionSocketOptions = { autoSelectFamily: true };
1141
+ if ('autoSelectFamily' in baseOptions) {
1142
+ options.autoSelectFamily = baseOptions.autoSelectFamily;
1143
+ }
1144
+ if ('autoSelectFamilyAttemptTimeout' in baseOptions) {
1145
+ options.autoSelectFamilyAttemptTimeout = baseOptions.autoSelectFamilyAttemptTimeout;
1146
+ }
1147
+ return options;
1148
+ }