oxygen-cli 1.40.1 → 1.40.2-beta.1

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 (441) hide show
  1. package/CHANGELOG.md +1742 -1742
  2. package/LICENSE +672 -672
  3. package/README.md +37 -37
  4. package/build/core/OxygenCore.js +1 -1
  5. package/build/core/OxygenEvents.js +1 -1
  6. package/build/core/OxygenModule.js +1 -1
  7. package/build/core/OxygenService.js +1 -1
  8. package/build/core/OxygenSubModule.js +1 -1
  9. package/build/core/WebDriverModule.js +1 -1
  10. package/build/core/utils.js +1 -1
  11. package/build/errors/HookError.js +1 -1
  12. package/build/errors/ModuleError.js +1 -1
  13. package/build/errors/ModuleUnavailableError.js +1 -1
  14. package/build/errors/OxygenError.js +1 -1
  15. package/build/errors/ScriptNotFound.js +1 -1
  16. package/build/errors/helper.js +2 -1
  17. package/build/index.js +1 -1
  18. package/build/lib/cli-util.js +5 -1
  19. package/build/lib/debugger.js +1 -1
  20. package/build/lib/img-merge.js +1 -1
  21. package/build/lib/launcher.js +1 -1
  22. package/build/lib/logger.js +43 -43
  23. package/build/lib/moduleRequire.js +1 -1
  24. package/build/lib/parallel-launcher.js +1 -1
  25. package/build/lib/param-manager.js +1 -1
  26. package/build/lib/param-reader-csv.js +1 -1
  27. package/build/lib/param-reader-excel.js +1 -1
  28. package/build/lib/param-reader-json.js +1 -1
  29. package/build/lib/text-to-image.js +1 -1
  30. package/build/lib/util.js +1 -1
  31. package/build/model/case-result.js +1 -1
  32. package/build/model/failure.js +1 -1
  33. package/build/model/status.js +1 -1
  34. package/build/model/step-result.js +1 -1
  35. package/build/model/suite-result.js +1 -1
  36. package/build/model/test-result.js +1 -1
  37. package/build/model/testcase.js +1 -1
  38. package/build/model/testsuite.js +1 -1
  39. package/build/ox_modules/index.js +9 -1
  40. package/build/ox_modules/module-assert.js +37 -37
  41. package/build/ox_modules/module-date.js +24 -24
  42. package/build/ox_modules/module-db.js +52 -52
  43. package/build/ox_modules/module-email.js +59 -59
  44. package/build/ox_modules/module-eyes.js +34 -34
  45. package/build/ox_modules/module-http/ntlm-util.js +10 -10
  46. package/build/ox_modules/module-http/ntlm.js +15 -15
  47. package/build/ox_modules/module-http.js +132 -132
  48. package/build/ox_modules/module-log.js +27 -27
  49. package/build/ox_modules/module-mailinator.js +87 -87
  50. package/build/ox_modules/module-mob/commands/alertAccept.js +17 -17
  51. package/build/ox_modules/module-mob/commands/alertDismiss.js +17 -17
  52. package/build/ox_modules/module-mob/commands/assertAlert.js +20 -20
  53. package/build/ox_modules/module-mob/commands/assertText.js +21 -21
  54. package/build/ox_modules/module-mob/commands/assertTitle.js +19 -19
  55. package/build/ox_modules/module-mob/commands/assertValue.js +18 -18
  56. package/build/ox_modules/module-mob/commands/back.js +16 -16
  57. package/build/ox_modules/module-mob/commands/clear.js +19 -19
  58. package/build/ox_modules/module-mob/commands/click.js +17 -17
  59. package/build/ox_modules/module-mob/commands/clickHidden.js +17 -17
  60. package/build/ox_modules/module-mob/commands/clickLong.js +18 -18
  61. package/build/ox_modules/module-mob/commands/clickMultipleTimes.js +18 -18
  62. package/build/ox_modules/module-mob/commands/closeApp.js +16 -16
  63. package/build/ox_modules/module-mob/commands/debug.js +16 -16
  64. package/build/ox_modules/module-mob/commands/dragAndDrop.js +19 -19
  65. package/build/ox_modules/module-mob/commands/enableNetwork.js +27 -27
  66. package/build/ox_modules/module-mob/commands/execute.js +21 -21
  67. package/build/ox_modules/module-mob/commands/findElement.js +20 -20
  68. package/build/ox_modules/module-mob/commands/findElements.js +23 -23
  69. package/build/ox_modules/module-mob/commands/getAlertText.js +17 -17
  70. package/build/ox_modules/module-mob/commands/getAppiumLogs.js +16 -16
  71. package/build/ox_modules/module-mob/commands/getBrowserLogs.js +16 -16
  72. package/build/ox_modules/module-mob/commands/getCurrentActivity.js +15 -15
  73. package/build/ox_modules/module-mob/commands/getCurrentPackage.js +15 -15
  74. package/build/ox_modules/module-mob/commands/getDeviceLogs.js +16 -16
  75. package/build/ox_modules/module-mob/commands/getDeviceTime.js +16 -16
  76. package/build/ox_modules/module-mob/commands/getLocation.js +20 -20
  77. package/build/ox_modules/module-mob/commands/getSource.js +16 -16
  78. package/build/ox_modules/module-mob/commands/getText.js +18 -18
  79. package/build/ox_modules/module-mob/commands/getTitle.js +13 -13
  80. package/build/ox_modules/module-mob/commands/getUrl.js +17 -17
  81. package/build/ox_modules/module-mob/commands/getValue.js +18 -18
  82. package/build/ox_modules/module-mob/commands/getWindowHandles.js +17 -17
  83. package/build/ox_modules/module-mob/commands/hideKeyboard.js +21 -21
  84. package/build/ox_modules/module-mob/commands/index.js +1 -1
  85. package/build/ox_modules/module-mob/commands/installApp.js +16 -16
  86. package/build/ox_modules/module-mob/commands/isAppInstalled.js +16 -16
  87. package/build/ox_modules/module-mob/commands/isCheckable.js +18 -18
  88. package/build/ox_modules/module-mob/commands/isChecked.js +18 -18
  89. package/build/ox_modules/module-mob/commands/isClickable.js +18 -18
  90. package/build/ox_modules/module-mob/commands/isExist.js +19 -19
  91. package/build/ox_modules/module-mob/commands/isSelected.js +23 -23
  92. package/build/ox_modules/module-mob/commands/isVisible.js +19 -19
  93. package/build/ox_modules/module-mob/commands/isWebViewContext.js +16 -16
  94. package/build/ox_modules/module-mob/commands/launchApp.js +15 -15
  95. package/build/ox_modules/module-mob/commands/longPressKeyCode.js +18 -18
  96. package/build/ox_modules/module-mob/commands/open.js +17 -17
  97. package/build/ox_modules/module-mob/commands/pause.js +16 -16
  98. package/build/ox_modules/module-mob/commands/removeApp.js +16 -16
  99. package/build/ox_modules/module-mob/commands/resetApp.js +15 -15
  100. package/build/ox_modules/module-mob/commands/scrollIntoElement.js +22 -22
  101. package/build/ox_modules/module-mob/commands/scrollIntoView.js +27 -27
  102. package/build/ox_modules/module-mob/commands/select.js +24 -24
  103. package/build/ox_modules/module-mob/commands/selectFrame.js +23 -23
  104. package/build/ox_modules/module-mob/commands/selectWindow.js +28 -28
  105. package/build/ox_modules/module-mob/commands/sendKeys.js +29 -29
  106. package/build/ox_modules/module-mob/commands/setContext.js +16 -16
  107. package/build/ox_modules/module-mob/commands/setNativeContext.js +15 -15
  108. package/build/ox_modules/module-mob/commands/setTimeout.js +21 -21
  109. package/build/ox_modules/module-mob/commands/setWebViewContext.js +16 -16
  110. package/build/ox_modules/module-mob/commands/shake.js +16 -16
  111. package/build/ox_modules/module-mob/commands/smsClickLink.js +19 -19
  112. package/build/ox_modules/module-mob/commands/smsGetText.js +20 -20
  113. package/build/ox_modules/module-mob/commands/swipe.js +20 -20
  114. package/build/ox_modules/module-mob/commands/swipeElement.js +20 -20
  115. package/build/ox_modules/module-mob/commands/swipeScreen.js +20 -20
  116. package/build/ox_modules/module-mob/commands/takeScreenshot.js +17 -17
  117. package/build/ox_modules/module-mob/commands/tap.js +17 -17
  118. package/build/ox_modules/module-mob/commands/type.js +20 -20
  119. package/build/ox_modules/module-mob/commands/unlockPattern.js +22 -22
  120. package/build/ox_modules/module-mob/commands/waitForExist.js +18 -18
  121. package/build/ox_modules/module-mob/commands/waitForInteractable.js +17 -17
  122. package/build/ox_modules/module-mob/commands/waitForVisible.js +17 -17
  123. package/build/ox_modules/module-mob.js +74 -74
  124. package/build/ox_modules/module-mongo.js +302 -0
  125. package/build/ox_modules/module-pdf.js +35 -35
  126. package/build/ox_modules/module-proxy.js +77 -77
  127. package/build/ox_modules/module-serial.js +55 -55
  128. package/build/ox_modules/module-shell.js +25 -25
  129. package/build/ox_modules/module-soap.js +72 -72
  130. package/build/ox_modules/module-twilio.js +41 -41
  131. package/build/ox_modules/module-utils.js +91 -91
  132. package/build/ox_modules/module-web/commands/alertAccept.js +17 -17
  133. package/build/ox_modules/module-web/commands/alertDismiss.js +17 -17
  134. package/build/ox_modules/module-web/commands/assertAlert.js +20 -20
  135. package/build/ox_modules/module-web/commands/assertExist.js +17 -17
  136. package/build/ox_modules/module-web/commands/assertSelectedLabel.js +21 -21
  137. package/build/ox_modules/module-web/commands/assertSelectedValue.js +21 -21
  138. package/build/ox_modules/module-web/commands/assertText.js +21 -21
  139. package/build/ox_modules/module-web/commands/assertTextNotPresent.js +18 -18
  140. package/build/ox_modules/module-web/commands/assertTextPresent.js +18 -18
  141. package/build/ox_modules/module-web/commands/assertTitle.js +19 -19
  142. package/build/ox_modules/module-web/commands/assertValue.js +20 -20
  143. package/build/ox_modules/module-web/commands/back.js +16 -16
  144. package/build/ox_modules/module-web/commands/clear.js +18 -18
  145. package/build/ox_modules/module-web/commands/click.js +25 -25
  146. package/build/ox_modules/module-web/commands/clickHidden.js +23 -23
  147. package/build/ox_modules/module-web/commands/closeWindow.js +15 -15
  148. package/build/ox_modules/module-web/commands/debug.js +15 -15
  149. package/build/ox_modules/module-web/commands/deleteCookies.js +12 -12
  150. package/build/ox_modules/module-web/commands/deselect.js +22 -22
  151. package/build/ox_modules/module-web/commands/doubleClick.js +17 -17
  152. package/build/ox_modules/module-web/commands/dragAndDrop.js +20 -20
  153. package/build/ox_modules/module-web/commands/execute.js +24 -24
  154. package/build/ox_modules/module-web/commands/fileBrowse.js +18 -18
  155. package/build/ox_modules/module-web/commands/findElement.js +19 -19
  156. package/build/ox_modules/module-web/commands/findElements.js +22 -22
  157. package/build/ox_modules/module-web/commands/fullscreenWindow.js +14 -14
  158. package/build/ox_modules/module-web/commands/getAlertText.js +16 -16
  159. package/build/ox_modules/module-web/commands/getAttribute.js +19 -19
  160. package/build/ox_modules/module-web/commands/getBrowserLogs.js +17 -17
  161. package/build/ox_modules/module-web/commands/getCookies.js +13 -13
  162. package/build/ox_modules/module-web/commands/getCssValue.js +19 -19
  163. package/build/ox_modules/module-web/commands/getElementCount.js +17 -17
  164. package/build/ox_modules/module-web/commands/getHTML.js +17 -17
  165. package/build/ox_modules/module-web/commands/getSource.js +16 -16
  166. package/build/ox_modules/module-web/commands/getText.js +18 -18
  167. package/build/ox_modules/module-web/commands/getTitle.js +12 -12
  168. package/build/ox_modules/module-web/commands/getUrl.js +16 -16
  169. package/build/ox_modules/module-web/commands/getValue.js +18 -18
  170. package/build/ox_modules/module-web/commands/getWindowHandles.js +16 -16
  171. package/build/ox_modules/module-web/commands/getWindowSize.js +16 -16
  172. package/build/ox_modules/module-web/commands/getXMLPageSource.js +16 -16
  173. package/build/ox_modules/module-web/commands/index.js +1 -1
  174. package/build/ox_modules/module-web/commands/isAlertPresent.js +16 -16
  175. package/build/ox_modules/module-web/commands/isChecked.js +18 -18
  176. package/build/ox_modules/module-web/commands/isExist.js +19 -19
  177. package/build/ox_modules/module-web/commands/isInteractable.js +22 -22
  178. package/build/ox_modules/module-web/commands/isSelected.js +23 -23
  179. package/build/ox_modules/module-web/commands/isVisible.js +19 -19
  180. package/build/ox_modules/module-web/commands/makeVisible.js +25 -25
  181. package/build/ox_modules/module-web/commands/maximizeWindow.js +14 -14
  182. package/build/ox_modules/module-web/commands/minimizeWindow.js +14 -14
  183. package/build/ox_modules/module-web/commands/mock.js +20 -20
  184. package/build/ox_modules/module-web/commands/mockClearAll.js +12 -12
  185. package/build/ox_modules/module-web/commands/mockRestoreAll.js +12 -12
  186. package/build/ox_modules/module-web/commands/newWindow.js +16 -16
  187. package/build/ox_modules/module-web/commands/open.js +16 -16
  188. package/build/ox_modules/module-web/commands/pause.js +15 -15
  189. package/build/ox_modules/module-web/commands/point.js +21 -21
  190. package/build/ox_modules/module-web/commands/pointJS.js +15 -15
  191. package/build/ox_modules/module-web/commands/refresh.js +15 -15
  192. package/build/ox_modules/module-web/commands/rightClick.js +17 -17
  193. package/build/ox_modules/module-web/commands/rightClickActions.js +19 -19
  194. package/build/ox_modules/module-web/commands/scrollToElement.js +21 -21
  195. package/build/ox_modules/module-web/commands/select.js +23 -23
  196. package/build/ox_modules/module-web/commands/selectFrame.js +24 -24
  197. package/build/ox_modules/module-web/commands/selectWindow.js +27 -27
  198. package/build/ox_modules/module-web/commands/sendKeys.js +22 -22
  199. package/build/ox_modules/module-web/commands/setAutoWaitForAngular.js +20 -20
  200. package/build/ox_modules/module-web/commands/setTimeout.js +21 -21
  201. package/build/ox_modules/module-web/commands/setWindowSize.js +17 -17
  202. package/build/ox_modules/module-web/commands/takeScreenshot.js +17 -17
  203. package/build/ox_modules/module-web/commands/type.js +20 -20
  204. package/build/ox_modules/module-web/commands/verifyAlert.js +20 -20
  205. package/build/ox_modules/module-web/commands/verifyExist.js +17 -17
  206. package/build/ox_modules/module-web/commands/verifySelectedLabel.js +21 -21
  207. package/build/ox_modules/module-web/commands/verifySelectedValue.js +21 -21
  208. package/build/ox_modules/module-web/commands/verifyText.js +21 -21
  209. package/build/ox_modules/module-web/commands/verifyTextNotPresent.js +18 -18
  210. package/build/ox_modules/module-web/commands/verifyTextPresent.js +18 -18
  211. package/build/ox_modules/module-web/commands/verifyTitle.js +19 -19
  212. package/build/ox_modules/module-web/commands/verifyValue.js +20 -20
  213. package/build/ox_modules/module-web/commands/waitForAngular.js +19 -19
  214. package/build/ox_modules/module-web/commands/waitForExist.js +17 -17
  215. package/build/ox_modules/module-web/commands/waitForInteractable.js +17 -17
  216. package/build/ox_modules/module-web/commands/waitForNotExist.js +17 -17
  217. package/build/ox_modules/module-web/commands/waitForNotText.js +20 -20
  218. package/build/ox_modules/module-web/commands/waitForNotValue.js +20 -20
  219. package/build/ox_modules/module-web/commands/waitForText.js +20 -20
  220. package/build/ox_modules/module-web/commands/waitForValue.js +20 -20
  221. package/build/ox_modules/module-web/commands/waitForVisible.js +17 -17
  222. package/build/ox_modules/module-web/commands/waitForWindow.js +22 -22
  223. package/build/ox_modules/module-web.js +94 -94
  224. package/build/ox_modules/module-win/commands/assertText.js +17 -17
  225. package/build/ox_modules/module-win/commands/assertTitle.js +15 -15
  226. package/build/ox_modules/module-win/commands/assertValue.js +14 -14
  227. package/build/ox_modules/module-win/commands/back.js +11 -11
  228. package/build/ox_modules/module-win/commands/clear.js +13 -13
  229. package/build/ox_modules/module-win/commands/click.js +13 -13
  230. package/build/ox_modules/module-win/commands/clickLong.js +14 -14
  231. package/build/ox_modules/module-win/commands/clickMultipleTimes.js +14 -14
  232. package/build/ox_modules/module-win/commands/findElement.js +15 -15
  233. package/build/ox_modules/module-win/commands/findElements.js +15 -15
  234. package/build/ox_modules/module-win/commands/getAppiumLogs.js +12 -12
  235. package/build/ox_modules/module-win/commands/getCurrentWindowHandle.js +15 -15
  236. package/build/ox_modules/module-win/commands/getLocation.js +14 -14
  237. package/build/ox_modules/module-win/commands/getSource.js +12 -12
  238. package/build/ox_modules/module-win/commands/getText.js +14 -14
  239. package/build/ox_modules/module-win/commands/getValue.js +14 -14
  240. package/build/ox_modules/module-win/commands/getWindowHandles.js +15 -15
  241. package/build/ox_modules/module-win/commands/index.js +1 -1
  242. package/build/ox_modules/module-win/commands/isCheckable.js +14 -14
  243. package/build/ox_modules/module-win/commands/isChecked.js +14 -14
  244. package/build/ox_modules/module-win/commands/isClickable.js +14 -14
  245. package/build/ox_modules/module-win/commands/isExist.js +15 -15
  246. package/build/ox_modules/module-win/commands/isSelected.js +14 -14
  247. package/build/ox_modules/module-win/commands/isVisible.js +15 -15
  248. package/build/ox_modules/module-win/commands/open.js +13 -13
  249. package/build/ox_modules/module-win/commands/pause.js +12 -12
  250. package/build/ox_modules/module-win/commands/rightClick.js +13 -13
  251. package/build/ox_modules/module-win/commands/selectWindow.js +23 -23
  252. package/build/ox_modules/module-win/commands/sendKeys.js +22 -22
  253. package/build/ox_modules/module-win/commands/setTimeout.js +17 -17
  254. package/build/ox_modules/module-win/commands/takeScreenshot.js +16 -16
  255. package/build/ox_modules/module-win/commands/tap.js +13 -13
  256. package/build/ox_modules/module-win/commands/type.js +16 -16
  257. package/build/ox_modules/module-win/commands/waitForExist.js +14 -14
  258. package/build/ox_modules/module-win/commands/waitForInteractable.js +16 -16
  259. package/build/ox_modules/module-win/commands/waitForVisible.js +13 -13
  260. package/build/ox_modules/module-win.js +47 -47
  261. package/build/ox_modules/utils.js +8 -8
  262. package/build/ox_reporters/excel/template.json +48 -48
  263. package/build/ox_reporters/html/index.ejs +163 -163
  264. package/build/ox_reporters/html/summary.ejs +77 -77
  265. package/build/ox_reporters/html/tests-details.ejs +134 -134
  266. package/build/ox_reporters/html/tests-devices-browsers.ejs +83 -83
  267. package/build/ox_reporters/reporter-excel.js +1 -1
  268. package/build/ox_reporters/reporter-html.js +1 -1
  269. package/build/ox_reporters/reporter-json.js +1 -1
  270. package/build/ox_reporters/reporter-junit.js +1 -1
  271. package/build/ox_reporters/reporter-pdf.js +1 -1
  272. package/build/ox_reporters/reporter-rp.js +1 -1
  273. package/build/ox_reporters/reporter-xml.js +1 -1
  274. package/build/ox_services/service-devtools/submodule-network.js +1 -1
  275. package/build/ox_services/service-devtools.js +1 -1
  276. package/build/reporter/FileReporterBase.js +1 -1
  277. package/build/reporter/ReportAggregator.js +13 -5
  278. package/build/reporter/ReporterBase.js +1 -1
  279. package/build/reporter/WebSocketReporter.js +1 -1
  280. package/build/runners/WorkerProcess.js +1 -1
  281. package/build/runners/cucumber/CucumberEventListener.js +1 -1
  282. package/build/runners/cucumber/CucumberReporter.js +1 -1
  283. package/build/runners/cucumber/CucumberWorker.js +1 -1
  284. package/build/runners/cucumber/index.js +1 -1
  285. package/build/runners/cucumber/worker.js +1 -1
  286. package/build/runners/index.js +1 -1
  287. package/build/runners/oxygen/OxygenWorker.js +1 -1
  288. package/build/runners/oxygen/index.js +1 -1
  289. package/build/runners/oxygen/worker.js +1 -1
  290. package/config/default.json +6 -6
  291. package/log.txt +1614 -0
  292. package/package.json +139 -137
  293. package/reports/2025-06-08_231627/report.html +440 -0
  294. package/reports/2025-06-09_223615/report.html +440 -0
  295. package/transpiled/mongodb/etc/prepare.js +18 -0
  296. package/transpiled/mongodb/lib/admin.js +182 -0
  297. package/transpiled/mongodb/lib/beta.js +26 -0
  298. package/transpiled/mongodb/lib/bson.js +220 -0
  299. package/transpiled/mongodb/lib/bulk/common.js +1041 -0
  300. package/transpiled/mongodb/lib/bulk/ordered.js +76 -0
  301. package/transpiled/mongodb/lib/bulk/unordered.js +102 -0
  302. package/transpiled/mongodb/lib/change_stream.js +517 -0
  303. package/transpiled/mongodb/lib/client-side-encryption/auto_encrypter.js +329 -0
  304. package/transpiled/mongodb/lib/client-side-encryption/client_encryption.js +779 -0
  305. package/transpiled/mongodb/lib/client-side-encryption/crypto_callbacks.js +95 -0
  306. package/transpiled/mongodb/lib/client-side-encryption/errors.js +171 -0
  307. package/transpiled/mongodb/lib/client-side-encryption/mongocryptd_manager.js +98 -0
  308. package/transpiled/mongodb/lib/client-side-encryption/providers/aws.js +34 -0
  309. package/transpiled/mongodb/lib/client-side-encryption/providers/azure.js +186 -0
  310. package/transpiled/mongodb/lib/client-side-encryption/providers/gcp.js +29 -0
  311. package/transpiled/mongodb/lib/client-side-encryption/providers/index.js +58 -0
  312. package/transpiled/mongodb/lib/client-side-encryption/state_machine.js +505 -0
  313. package/transpiled/mongodb/lib/cmap/auth/auth_provider.js +63 -0
  314. package/transpiled/mongodb/lib/cmap/auth/aws_temporary_credentials.js +167 -0
  315. package/transpiled/mongodb/lib/cmap/auth/gssapi.js +207 -0
  316. package/transpiled/mongodb/lib/cmap/auth/mongo_credentials.js +193 -0
  317. package/transpiled/mongodb/lib/cmap/auth/mongodb_aws.js +181 -0
  318. package/transpiled/mongodb/lib/cmap/auth/mongodb_oidc/automated_callback_workflow.js +101 -0
  319. package/transpiled/mongodb/lib/cmap/auth/mongodb_oidc/azure_machine_workflow.js +81 -0
  320. package/transpiled/mongodb/lib/cmap/auth/mongodb_oidc/callback_workflow.js +174 -0
  321. package/transpiled/mongodb/lib/cmap/auth/mongodb_oidc/command_builders.js +59 -0
  322. package/transpiled/mongodb/lib/cmap/auth/mongodb_oidc/gcp_machine_workflow.js +58 -0
  323. package/transpiled/mongodb/lib/cmap/auth/mongodb_oidc/human_callback_workflow.js +138 -0
  324. package/transpiled/mongodb/lib/cmap/auth/mongodb_oidc/k8s_machine_workflow.js +42 -0
  325. package/transpiled/mongodb/lib/cmap/auth/mongodb_oidc/token_cache.js +71 -0
  326. package/transpiled/mongodb/lib/cmap/auth/mongodb_oidc/token_machine_workflow.js +34 -0
  327. package/transpiled/mongodb/lib/cmap/auth/mongodb_oidc.js +111 -0
  328. package/transpiled/mongodb/lib/cmap/auth/plain.js +43 -0
  329. package/transpiled/mongodb/lib/cmap/auth/providers.js +22 -0
  330. package/transpiled/mongodb/lib/cmap/auth/scram.js +318 -0
  331. package/transpiled/mongodb/lib/cmap/auth/x509.js +61 -0
  332. package/transpiled/mongodb/lib/cmap/command_monitoring_events.js +266 -0
  333. package/transpiled/mongodb/lib/cmap/commands.js +605 -0
  334. package/transpiled/mongodb/lib/cmap/connect.js +418 -0
  335. package/transpiled/mongodb/lib/cmap/connection.js +673 -0
  336. package/transpiled/mongodb/lib/cmap/connection_pool.js +688 -0
  337. package/transpiled/mongodb/lib/cmap/connection_pool_events.js +254 -0
  338. package/transpiled/mongodb/lib/cmap/errors.js +128 -0
  339. package/transpiled/mongodb/lib/cmap/handshake/client_metadata.js +278 -0
  340. package/transpiled/mongodb/lib/cmap/metrics.js +67 -0
  341. package/transpiled/mongodb/lib/cmap/stream_description.js +74 -0
  342. package/transpiled/mongodb/lib/cmap/wire_protocol/compression.js +196 -0
  343. package/transpiled/mongodb/lib/cmap/wire_protocol/constants.js +19 -0
  344. package/transpiled/mongodb/lib/cmap/wire_protocol/on_data.js +144 -0
  345. package/transpiled/mongodb/lib/cmap/wire_protocol/on_demand/document.js +278 -0
  346. package/transpiled/mongodb/lib/cmap/wire_protocol/responses.js +376 -0
  347. package/transpiled/mongodb/lib/cmap/wire_protocol/shared.js +49 -0
  348. package/transpiled/mongodb/lib/collection.js +852 -0
  349. package/transpiled/mongodb/lib/connection_string.js +1452 -0
  350. package/transpiled/mongodb/lib/constants.js +162 -0
  351. package/transpiled/mongodb/lib/cursor/abstract_cursor.js +1082 -0
  352. package/transpiled/mongodb/lib/cursor/aggregation_cursor.js +227 -0
  353. package/transpiled/mongodb/lib/cursor/change_stream_cursor.js +136 -0
  354. package/transpiled/mongodb/lib/cursor/client_bulk_write_cursor.js +69 -0
  355. package/transpiled/mongodb/lib/cursor/find_cursor.js +476 -0
  356. package/transpiled/mongodb/lib/cursor/list_collections_cursor.js +48 -0
  357. package/transpiled/mongodb/lib/cursor/list_indexes_cursor.js +46 -0
  358. package/transpiled/mongodb/lib/cursor/list_search_indexes_cursor.js +30 -0
  359. package/transpiled/mongodb/lib/cursor/run_command_cursor.js +125 -0
  360. package/transpiled/mongodb/lib/db.js +467 -0
  361. package/transpiled/mongodb/lib/deps.js +174 -0
  362. package/transpiled/mongodb/lib/encrypter.js +129 -0
  363. package/transpiled/mongodb/lib/error.js +1550 -0
  364. package/transpiled/mongodb/lib/explain.js +122 -0
  365. package/transpiled/mongodb/lib/gridfs/download.js +369 -0
  366. package/transpiled/mongodb/lib/gridfs/index.js +240 -0
  367. package/transpiled/mongodb/lib/gridfs/upload.js +446 -0
  368. package/transpiled/mongodb/lib/index.js +975 -0
  369. package/transpiled/mongodb/lib/mongo_client.js +626 -0
  370. package/transpiled/mongodb/lib/mongo_client_auth_providers.js +98 -0
  371. package/transpiled/mongodb/lib/mongo_logger.js +812 -0
  372. package/transpiled/mongodb/lib/mongo_types.js +71 -0
  373. package/transpiled/mongodb/lib/operations/aggregate.js +129 -0
  374. package/transpiled/mongodb/lib/operations/bulk_write.js +48 -0
  375. package/transpiled/mongodb/lib/operations/client_bulk_write/client_bulk_write.js +96 -0
  376. package/transpiled/mongodb/lib/operations/client_bulk_write/command_builder.js +409 -0
  377. package/transpiled/mongodb/lib/operations/client_bulk_write/common.js +5 -0
  378. package/transpiled/mongodb/lib/operations/client_bulk_write/executor.js +144 -0
  379. package/transpiled/mongodb/lib/operations/client_bulk_write/results_merger.js +228 -0
  380. package/transpiled/mongodb/lib/operations/collections.js +49 -0
  381. package/transpiled/mongodb/lib/operations/command.js +102 -0
  382. package/transpiled/mongodb/lib/operations/count.js +60 -0
  383. package/transpiled/mongodb/lib/operations/create_collection.js +109 -0
  384. package/transpiled/mongodb/lib/operations/delete.js +134 -0
  385. package/transpiled/mongodb/lib/operations/distinct.js +77 -0
  386. package/transpiled/mongodb/lib/operations/drop.js +102 -0
  387. package/transpiled/mongodb/lib/operations/estimated_document_count.js +47 -0
  388. package/transpiled/mongodb/lib/operations/execute_operation.js +251 -0
  389. package/transpiled/mongodb/lib/operations/find.js +197 -0
  390. package/transpiled/mongodb/lib/operations/find_and_modify.js +191 -0
  391. package/transpiled/mongodb/lib/operations/get_more.js +84 -0
  392. package/transpiled/mongodb/lib/operations/indexes.js +197 -0
  393. package/transpiled/mongodb/lib/operations/insert.js +138 -0
  394. package/transpiled/mongodb/lib/operations/is_capped.js +44 -0
  395. package/transpiled/mongodb/lib/operations/kill_cursors.js +58 -0
  396. package/transpiled/mongodb/lib/operations/list_collections.js +66 -0
  397. package/transpiled/mongodb/lib/operations/list_databases.js +56 -0
  398. package/transpiled/mongodb/lib/operations/operation.js +88 -0
  399. package/transpiled/mongodb/lib/operations/options_operation.js +44 -0
  400. package/transpiled/mongodb/lib/operations/profiling_level.js +42 -0
  401. package/transpiled/mongodb/lib/operations/remove_user.js +35 -0
  402. package/transpiled/mongodb/lib/operations/rename.js +48 -0
  403. package/transpiled/mongodb/lib/operations/run_command.js +64 -0
  404. package/transpiled/mongodb/lib/operations/search_indexes/create.js +41 -0
  405. package/transpiled/mongodb/lib/operations/search_indexes/drop.js +51 -0
  406. package/transpiled/mongodb/lib/operations/search_indexes/update.js +40 -0
  407. package/transpiled/mongodb/lib/operations/set_profiling_level.js +70 -0
  408. package/transpiled/mongodb/lib/operations/stats.js +39 -0
  409. package/transpiled/mongodb/lib/operations/update.js +218 -0
  410. package/transpiled/mongodb/lib/operations/validate_collection.js +49 -0
  411. package/transpiled/mongodb/lib/read_concern.js +92 -0
  412. package/transpiled/mongodb/lib/read_preference.js +215 -0
  413. package/transpiled/mongodb/lib/resource_management.js +74 -0
  414. package/transpiled/mongodb/lib/sdam/common.js +53 -0
  415. package/transpiled/mongodb/lib/sdam/events.js +177 -0
  416. package/transpiled/mongodb/lib/sdam/monitor.js +656 -0
  417. package/transpiled/mongodb/lib/sdam/server.js +463 -0
  418. package/transpiled/mongodb/lib/sdam/server_description.js +196 -0
  419. package/transpiled/mongodb/lib/sdam/server_selection.js +283 -0
  420. package/transpiled/mongodb/lib/sdam/server_selection_events.js +112 -0
  421. package/transpiled/mongodb/lib/sdam/srv_polling.js +139 -0
  422. package/transpiled/mongodb/lib/sdam/topology.js +833 -0
  423. package/transpiled/mongodb/lib/sdam/topology_description.js +447 -0
  424. package/transpiled/mongodb/lib/sessions.js +988 -0
  425. package/transpiled/mongodb/lib/sort.js +123 -0
  426. package/transpiled/mongodb/lib/timeout.js +349 -0
  427. package/transpiled/mongodb/lib/transactions.js +149 -0
  428. package/transpiled/mongodb/lib/utils.js +1502 -0
  429. package/transpiled/mongodb/lib/write_concern.js +115 -0
  430. package/types/index.d.ts +70 -70
  431. package/types/module-eyes.d.ts +39 -39
  432. package/types/module-http.d.ts +163 -163
  433. package/types/module-log.d.ts +34 -34
  434. package/types/module-mob.d.ts +966 -966
  435. package/types/module-pdf.d.ts +40 -40
  436. package/types/module-proxy.d.ts +100 -100
  437. package/types/module-shell.d.ts +24 -24
  438. package/types/module-utils.d.ts +99 -99
  439. package/types/module-web.d.ts +1053 -1053
  440. package/types/module-win.d.ts +352 -352
  441. package/types/oxygen.d.ts +53 -53
@@ -0,0 +1,58 @@
1
+ "use strict";
2
+
3
+ Object.defineProperty(exports, "__esModule", {
4
+ value: true
5
+ });
6
+ exports.KillCursorsOperation = void 0;
7
+
8
+ const error_1 = require("../error");
9
+
10
+ const utils_1 = require("../utils");
11
+
12
+ const operation_1 = require("./operation");
13
+
14
+ class KillCursorsOperation extends operation_1.AbstractOperation {
15
+ constructor(cursorId, ns, server, options) {
16
+ super(options);
17
+ this.ns = ns;
18
+ this.cursorId = cursorId;
19
+ this.server = server;
20
+ }
21
+
22
+ get commandName() {
23
+ return 'killCursors';
24
+ }
25
+
26
+ async execute(server, session, timeoutContext) {
27
+ if (server !== this.server) {
28
+ throw new error_1.MongoRuntimeError('Killcursor must run on the same server operation began on');
29
+ }
30
+
31
+ const killCursors = this.ns.collection;
32
+
33
+ if (killCursors == null) {
34
+ // Cursors should have adopted the namespace returned by MongoDB
35
+ // which should always defined a collection name (even a pseudo one, ex. db.aggregate())
36
+ throw new error_1.MongoRuntimeError('A collection name must be determined before killCursors');
37
+ }
38
+
39
+ const killCursorsCommand = {
40
+ killCursors,
41
+ cursors: [this.cursorId]
42
+ };
43
+
44
+ try {
45
+ await server.command(this.ns, killCursorsCommand, {
46
+ session,
47
+ timeoutContext
48
+ });
49
+ } catch (error) {
50
+ // The driver should never emit errors from killCursors, this is spec-ed behavior
51
+ (0, utils_1.squashError)(error);
52
+ }
53
+ }
54
+
55
+ }
56
+
57
+ exports.KillCursorsOperation = KillCursorsOperation;
58
+ (0, operation_1.defineAspects)(KillCursorsOperation, [operation_1.Aspect.MUST_SELECT_SAME_SERVER]);
@@ -0,0 +1,66 @@
1
+ "use strict";
2
+
3
+ Object.defineProperty(exports, "__esModule", {
4
+ value: true
5
+ });
6
+ exports.ListCollectionsOperation = void 0;
7
+
8
+ const responses_1 = require("../cmap/wire_protocol/responses");
9
+
10
+ const utils_1 = require("../utils");
11
+
12
+ const command_1 = require("./command");
13
+
14
+ const operation_1 = require("./operation");
15
+ /** @internal */
16
+
17
+
18
+ class ListCollectionsOperation extends command_1.CommandOperation {
19
+ constructor(db, filter, options) {
20
+ super(db, options);
21
+ this.options = { ...options
22
+ };
23
+ delete this.options.writeConcern;
24
+ this.db = db;
25
+ this.filter = filter;
26
+ this.nameOnly = !!this.options.nameOnly;
27
+ this.authorizedCollections = !!this.options.authorizedCollections;
28
+
29
+ if (typeof this.options.batchSize === 'number') {
30
+ this.batchSize = this.options.batchSize;
31
+ }
32
+ }
33
+
34
+ get commandName() {
35
+ return 'listCollections';
36
+ }
37
+
38
+ async execute(server, session, timeoutContext) {
39
+ return await super.executeCommand(server, session, this.generateCommand((0, utils_1.maxWireVersion)(server)), timeoutContext, responses_1.CursorResponse);
40
+ }
41
+ /* This is here for the purpose of unit testing the final command that gets sent. */
42
+
43
+
44
+ generateCommand(wireVersion) {
45
+ const command = {
46
+ listCollections: 1,
47
+ filter: this.filter,
48
+ cursor: this.batchSize ? {
49
+ batchSize: this.batchSize
50
+ } : {},
51
+ nameOnly: this.nameOnly,
52
+ authorizedCollections: this.authorizedCollections
53
+ }; // we check for undefined specifically here to allow falsy values
54
+ // eslint-disable-next-line no-restricted-syntax
55
+
56
+ if (wireVersion >= 9 && this.options.comment !== undefined) {
57
+ command.comment = this.options.comment;
58
+ }
59
+
60
+ return command;
61
+ }
62
+
63
+ }
64
+
65
+ exports.ListCollectionsOperation = ListCollectionsOperation;
66
+ (0, operation_1.defineAspects)(ListCollectionsOperation, [operation_1.Aspect.READ_OPERATION, operation_1.Aspect.RETRYABLE, operation_1.Aspect.CURSOR_CREATING]);
@@ -0,0 +1,56 @@
1
+ "use strict";
2
+
3
+ Object.defineProperty(exports, "__esModule", {
4
+ value: true
5
+ });
6
+ exports.ListDatabasesOperation = void 0;
7
+
8
+ const utils_1 = require("../utils");
9
+
10
+ const command_1 = require("./command");
11
+
12
+ const operation_1 = require("./operation");
13
+ /** @internal */
14
+
15
+
16
+ class ListDatabasesOperation extends command_1.CommandOperation {
17
+ constructor(db, options) {
18
+ super(db, options);
19
+ this.options = options ?? {};
20
+ this.ns = new utils_1.MongoDBNamespace('admin', '$cmd');
21
+ }
22
+
23
+ get commandName() {
24
+ return 'listDatabases';
25
+ }
26
+
27
+ async execute(server, session, timeoutContext) {
28
+ const cmd = {
29
+ listDatabases: 1
30
+ };
31
+
32
+ if (typeof this.options.nameOnly === 'boolean') {
33
+ cmd.nameOnly = this.options.nameOnly;
34
+ }
35
+
36
+ if (this.options.filter) {
37
+ cmd.filter = this.options.filter;
38
+ }
39
+
40
+ if (typeof this.options.authorizedDatabases === 'boolean') {
41
+ cmd.authorizedDatabases = this.options.authorizedDatabases;
42
+ } // we check for undefined specifically here to allow falsy values
43
+ // eslint-disable-next-line no-restricted-syntax
44
+
45
+
46
+ if ((0, utils_1.maxWireVersion)(server) >= 9 && this.options.comment !== undefined) {
47
+ cmd.comment = this.options.comment;
48
+ }
49
+
50
+ return await super.executeCommand(server, session, cmd, timeoutContext);
51
+ }
52
+
53
+ }
54
+
55
+ exports.ListDatabasesOperation = ListDatabasesOperation;
56
+ (0, operation_1.defineAspects)(ListDatabasesOperation, [operation_1.Aspect.READ_OPERATION, operation_1.Aspect.RETRYABLE]);
@@ -0,0 +1,88 @@
1
+ "use strict";
2
+
3
+ Object.defineProperty(exports, "__esModule", {
4
+ value: true
5
+ });
6
+ exports.AbstractOperation = exports.Aspect = void 0;
7
+ exports.defineAspects = defineAspects;
8
+
9
+ const bson_1 = require("../bson");
10
+
11
+ const read_preference_1 = require("../read_preference");
12
+
13
+ exports.Aspect = {
14
+ READ_OPERATION: Symbol('READ_OPERATION'),
15
+ WRITE_OPERATION: Symbol('WRITE_OPERATION'),
16
+ RETRYABLE: Symbol('RETRYABLE'),
17
+ EXPLAINABLE: Symbol('EXPLAINABLE'),
18
+ SKIP_COLLATION: Symbol('SKIP_COLLATION'),
19
+ CURSOR_CREATING: Symbol('CURSOR_CREATING'),
20
+ MUST_SELECT_SAME_SERVER: Symbol('MUST_SELECT_SAME_SERVER'),
21
+ COMMAND_BATCHING: Symbol('COMMAND_BATCHING')
22
+ };
23
+ /**
24
+ * This class acts as a parent class for any operation and is responsible for setting this.options,
25
+ * as well as setting and getting a session.
26
+ * Additionally, this class implements `hasAspect`, which determines whether an operation has
27
+ * a specific aspect.
28
+ * @internal
29
+ */
30
+
31
+ class AbstractOperation {
32
+ constructor(options = {}) {
33
+ this.readPreference = this.hasAspect(exports.Aspect.WRITE_OPERATION) ? read_preference_1.ReadPreference.primary : read_preference_1.ReadPreference.fromOptions(options) ?? read_preference_1.ReadPreference.primary; // Pull the BSON serialize options from the already-resolved options
34
+
35
+ this.bsonOptions = (0, bson_1.resolveBSONOptions)(options);
36
+ this._session = options.session != null ? options.session : undefined;
37
+ this.options = options;
38
+ this.bypassPinningCheck = !!options.bypassPinningCheck;
39
+ this.trySecondaryWrite = false;
40
+ }
41
+
42
+ hasAspect(aspect) {
43
+ const ctor = this.constructor;
44
+
45
+ if (ctor.aspects == null) {
46
+ return false;
47
+ }
48
+
49
+ return ctor.aspects.has(aspect);
50
+ } // Make sure the session is not writable from outside this class.
51
+
52
+
53
+ get session() {
54
+ return this._session;
55
+ }
56
+
57
+ clearSession() {
58
+ this._session = undefined;
59
+ }
60
+
61
+ resetBatch() {
62
+ return true;
63
+ }
64
+
65
+ get canRetryRead() {
66
+ return this.hasAspect(exports.Aspect.RETRYABLE) && this.hasAspect(exports.Aspect.READ_OPERATION);
67
+ }
68
+
69
+ get canRetryWrite() {
70
+ return this.hasAspect(exports.Aspect.RETRYABLE) && this.hasAspect(exports.Aspect.WRITE_OPERATION);
71
+ }
72
+
73
+ }
74
+
75
+ exports.AbstractOperation = AbstractOperation;
76
+
77
+ function defineAspects(operation, aspects) {
78
+ if (!Array.isArray(aspects) && !(aspects instanceof Set)) {
79
+ aspects = [aspects];
80
+ }
81
+
82
+ aspects = new Set(aspects);
83
+ Object.defineProperty(operation, 'aspects', {
84
+ value: aspects,
85
+ writable: false
86
+ });
87
+ return aspects;
88
+ }
@@ -0,0 +1,44 @@
1
+ "use strict";
2
+
3
+ Object.defineProperty(exports, "__esModule", {
4
+ value: true
5
+ });
6
+ exports.OptionsOperation = void 0;
7
+
8
+ const error_1 = require("../error");
9
+
10
+ const operation_1 = require("./operation");
11
+ /** @internal */
12
+
13
+
14
+ class OptionsOperation extends operation_1.AbstractOperation {
15
+ constructor(collection, options) {
16
+ super(options);
17
+ this.options = options;
18
+ this.collection = collection;
19
+ }
20
+
21
+ get commandName() {
22
+ return 'listCollections';
23
+ }
24
+
25
+ async execute(server, session) {
26
+ const coll = this.collection;
27
+ const [collection] = await coll.s.db.listCollections({
28
+ name: coll.collectionName
29
+ }, { ...this.options,
30
+ nameOnly: false,
31
+ readPreference: this.readPreference,
32
+ session
33
+ }).toArray();
34
+
35
+ if (collection == null || collection.options == null) {
36
+ throw new error_1.MongoAPIError(`collection ${coll.namespace} not found`);
37
+ }
38
+
39
+ return collection.options;
40
+ }
41
+
42
+ }
43
+
44
+ exports.OptionsOperation = OptionsOperation;
@@ -0,0 +1,42 @@
1
+ "use strict";
2
+
3
+ Object.defineProperty(exports, "__esModule", {
4
+ value: true
5
+ });
6
+ exports.ProfilingLevelOperation = void 0;
7
+
8
+ const error_1 = require("../error");
9
+
10
+ const command_1 = require("./command");
11
+ /** @internal */
12
+
13
+
14
+ class ProfilingLevelOperation extends command_1.CommandOperation {
15
+ constructor(db, options) {
16
+ super(db, options);
17
+ this.options = options;
18
+ }
19
+
20
+ get commandName() {
21
+ return 'profile';
22
+ }
23
+
24
+ async execute(server, session, timeoutContext) {
25
+ const doc = await super.executeCommand(server, session, {
26
+ profile: -1
27
+ }, timeoutContext);
28
+
29
+ if (doc.ok === 1) {
30
+ const was = doc.was;
31
+ if (was === 0) return 'off';
32
+ if (was === 1) return 'slow_only';
33
+ if (was === 2) return 'all';
34
+ throw new error_1.MongoUnexpectedServerResponseError(`Illegal profiling level value ${was}`);
35
+ } else {
36
+ throw new error_1.MongoUnexpectedServerResponseError('Error with profile command');
37
+ }
38
+ }
39
+
40
+ }
41
+
42
+ exports.ProfilingLevelOperation = ProfilingLevelOperation;
@@ -0,0 +1,35 @@
1
+ "use strict";
2
+
3
+ Object.defineProperty(exports, "__esModule", {
4
+ value: true
5
+ });
6
+ exports.RemoveUserOperation = void 0;
7
+
8
+ const command_1 = require("./command");
9
+
10
+ const operation_1 = require("./operation");
11
+ /** @internal */
12
+
13
+
14
+ class RemoveUserOperation extends command_1.CommandOperation {
15
+ constructor(db, username, options) {
16
+ super(db, options);
17
+ this.options = options;
18
+ this.username = username;
19
+ }
20
+
21
+ get commandName() {
22
+ return 'dropUser';
23
+ }
24
+
25
+ async execute(server, session, timeoutContext) {
26
+ await super.executeCommand(server, session, {
27
+ dropUser: this.username
28
+ }, timeoutContext);
29
+ return true;
30
+ }
31
+
32
+ }
33
+
34
+ exports.RemoveUserOperation = RemoveUserOperation;
35
+ (0, operation_1.defineAspects)(RemoveUserOperation, [operation_1.Aspect.WRITE_OPERATION]);
@@ -0,0 +1,48 @@
1
+ "use strict";
2
+
3
+ Object.defineProperty(exports, "__esModule", {
4
+ value: true
5
+ });
6
+ exports.RenameOperation = void 0;
7
+
8
+ const collection_1 = require("../collection");
9
+
10
+ const utils_1 = require("../utils");
11
+
12
+ const command_1 = require("./command");
13
+
14
+ const operation_1 = require("./operation");
15
+ /** @internal */
16
+
17
+
18
+ class RenameOperation extends command_1.CommandOperation {
19
+ constructor(collection, newName, options) {
20
+ super(collection, options);
21
+ this.collection = collection;
22
+ this.newName = newName;
23
+ this.options = options;
24
+ this.ns = new utils_1.MongoDBNamespace('admin', '$cmd');
25
+ }
26
+
27
+ get commandName() {
28
+ return 'renameCollection';
29
+ }
30
+
31
+ async execute(server, session, timeoutContext) {
32
+ // Build the command
33
+ const renameCollection = this.collection.namespace;
34
+ const toCollection = this.collection.s.namespace.withCollection(this.newName).toString();
35
+ const dropTarget = typeof this.options.dropTarget === 'boolean' ? this.options.dropTarget : false;
36
+ const command = {
37
+ renameCollection: renameCollection,
38
+ to: toCollection,
39
+ dropTarget: dropTarget
40
+ };
41
+ await super.executeCommand(server, session, command, timeoutContext);
42
+ return new collection_1.Collection(this.collection.s.db, this.newName, this.collection.s.options);
43
+ }
44
+
45
+ }
46
+
47
+ exports.RenameOperation = RenameOperation;
48
+ (0, operation_1.defineAspects)(RenameOperation, [operation_1.Aspect.WRITE_OPERATION]);
@@ -0,0 +1,64 @@
1
+ "use strict";
2
+
3
+ Object.defineProperty(exports, "__esModule", {
4
+ value: true
5
+ });
6
+ exports.RunAdminCommandOperation = exports.RunCommandOperation = void 0;
7
+
8
+ const utils_1 = require("../utils");
9
+
10
+ const operation_1 = require("./operation");
11
+ /** @internal */
12
+
13
+
14
+ class RunCommandOperation extends operation_1.AbstractOperation {
15
+ constructor(parent, command, options) {
16
+ super(options);
17
+ this.command = command;
18
+ this.options = options;
19
+ this.ns = parent.s.namespace.withCollection('$cmd');
20
+ }
21
+
22
+ get commandName() {
23
+ return 'runCommand';
24
+ }
25
+
26
+ async execute(server, session, timeoutContext) {
27
+ this.server = server;
28
+ const res = await server.command(this.ns, this.command, { ...this.options,
29
+ readPreference: this.readPreference,
30
+ session,
31
+ timeoutContext
32
+ }, this.options.responseType);
33
+ return res;
34
+ }
35
+
36
+ }
37
+
38
+ exports.RunCommandOperation = RunCommandOperation;
39
+
40
+ class RunAdminCommandOperation extends operation_1.AbstractOperation {
41
+ constructor(command, options) {
42
+ super(options);
43
+ this.command = command;
44
+ this.options = options;
45
+ this.ns = new utils_1.MongoDBNamespace('admin', '$cmd');
46
+ }
47
+
48
+ get commandName() {
49
+ return 'runCommand';
50
+ }
51
+
52
+ async execute(server, session, timeoutContext) {
53
+ this.server = server;
54
+ const res = await server.command(this.ns, this.command, { ...this.options,
55
+ readPreference: this.readPreference,
56
+ session,
57
+ timeoutContext
58
+ });
59
+ return res;
60
+ }
61
+
62
+ }
63
+
64
+ exports.RunAdminCommandOperation = RunAdminCommandOperation;
@@ -0,0 +1,41 @@
1
+ "use strict";
2
+
3
+ Object.defineProperty(exports, "__esModule", {
4
+ value: true
5
+ });
6
+ exports.CreateSearchIndexesOperation = void 0;
7
+
8
+ const operation_1 = require("../operation");
9
+ /** @internal */
10
+
11
+
12
+ class CreateSearchIndexesOperation extends operation_1.AbstractOperation {
13
+ constructor(collection, descriptions) {
14
+ super();
15
+ this.collection = collection;
16
+ this.descriptions = descriptions;
17
+ }
18
+
19
+ get commandName() {
20
+ return 'createSearchIndexes';
21
+ }
22
+
23
+ async execute(server, session, timeoutContext) {
24
+ const namespace = this.collection.fullNamespace;
25
+ const command = {
26
+ createSearchIndexes: namespace.collection,
27
+ indexes: this.descriptions
28
+ };
29
+ const res = await server.command(namespace, command, {
30
+ session,
31
+ timeoutContext
32
+ });
33
+ const indexesCreated = res?.indexesCreated ?? [];
34
+ return indexesCreated.map(({
35
+ name
36
+ }) => name);
37
+ }
38
+
39
+ }
40
+
41
+ exports.CreateSearchIndexesOperation = CreateSearchIndexesOperation;
@@ -0,0 +1,51 @@
1
+ "use strict";
2
+
3
+ Object.defineProperty(exports, "__esModule", {
4
+ value: true
5
+ });
6
+ exports.DropSearchIndexOperation = void 0;
7
+
8
+ const error_1 = require("../../error");
9
+
10
+ const operation_1 = require("../operation");
11
+ /** @internal */
12
+
13
+
14
+ class DropSearchIndexOperation extends operation_1.AbstractOperation {
15
+ constructor(collection, name) {
16
+ super();
17
+ this.collection = collection;
18
+ this.name = name;
19
+ }
20
+
21
+ get commandName() {
22
+ return 'dropSearchIndex';
23
+ }
24
+
25
+ async execute(server, session, timeoutContext) {
26
+ const namespace = this.collection.fullNamespace;
27
+ const command = {
28
+ dropSearchIndex: namespace.collection
29
+ };
30
+
31
+ if (typeof this.name === 'string') {
32
+ command.name = this.name;
33
+ }
34
+
35
+ try {
36
+ await server.command(namespace, command, {
37
+ session,
38
+ timeoutContext
39
+ });
40
+ } catch (error) {
41
+ const isNamespaceNotFoundError = error instanceof error_1.MongoServerError && error.code === error_1.MONGODB_ERROR_CODES.NamespaceNotFound;
42
+
43
+ if (!isNamespaceNotFoundError) {
44
+ throw error;
45
+ }
46
+ }
47
+ }
48
+
49
+ }
50
+
51
+ exports.DropSearchIndexOperation = DropSearchIndexOperation;
@@ -0,0 +1,40 @@
1
+ "use strict";
2
+
3
+ Object.defineProperty(exports, "__esModule", {
4
+ value: true
5
+ });
6
+ exports.UpdateSearchIndexOperation = void 0;
7
+
8
+ const operation_1 = require("../operation");
9
+ /** @internal */
10
+
11
+
12
+ class UpdateSearchIndexOperation extends operation_1.AbstractOperation {
13
+ constructor(collection, name, definition) {
14
+ super();
15
+ this.collection = collection;
16
+ this.name = name;
17
+ this.definition = definition;
18
+ }
19
+
20
+ get commandName() {
21
+ return 'updateSearchIndex';
22
+ }
23
+
24
+ async execute(server, session, timeoutContext) {
25
+ const namespace = this.collection.fullNamespace;
26
+ const command = {
27
+ updateSearchIndex: namespace.collection,
28
+ name: this.name,
29
+ definition: this.definition
30
+ };
31
+ await server.command(namespace, command, {
32
+ session,
33
+ timeoutContext
34
+ });
35
+ return;
36
+ }
37
+
38
+ }
39
+
40
+ exports.UpdateSearchIndexOperation = UpdateSearchIndexOperation;