@corva/ui 3.54.0-1 → 3.54.0-10

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 (253) hide show
  1. package/cjs-bundle/clients/api/apiCore.js +1 -1
  2. package/cjs-bundle/clients/api/apiCore.js.map +1 -1
  3. package/cjs-bundle/clients/api/constants.js +2 -0
  4. package/cjs-bundle/clients/api/constants.js.map +1 -0
  5. package/cjs-bundle/clients/api/rateLimiter.js +2 -0
  6. package/cjs-bundle/clients/api/rateLimiter.js.map +1 -0
  7. package/cjs-bundle/clients/index.js +1 -1
  8. package/cjs-bundle/clients/utils.js +1 -1
  9. package/cjs-bundle/clients/utils.js.map +1 -1
  10. package/cjs-bundle/components/AddComment/Popover.js +1 -1
  11. package/cjs-bundle/components/AddComment/components/Content.js +1 -1
  12. package/cjs-bundle/components/Attachment/index.js +1 -1
  13. package/cjs-bundle/components/Attachment/index.js.map +1 -1
  14. package/cjs-bundle/components/BICOffsetPickerDialog/index.js +1 -1
  15. package/cjs-bundle/components/Casing/CasingTableV2/components/CasingJoints/Editor.js +1 -1
  16. package/cjs-bundle/components/Casing/CasingTableV2/components/Component.js +1 -1
  17. package/cjs-bundle/components/Casing/CasingTableV2/components/DrillPipe/Editor.js +1 -1
  18. package/cjs-bundle/components/CollapsableSidebar.js +1 -1
  19. package/cjs-bundle/components/DevCenter/DevCenterAppContainer/DevCenterAppContainer.js +1 -1
  20. package/cjs-bundle/components/DevCenter/DevCenterAppContainer/components/CommentsSwitch/CommentsSwitchButton.js +1 -1
  21. package/cjs-bundle/components/DevCenter/DevCenterAppContainer/components/NonPriorityMenus/NonPriorityMenus.js +1 -1
  22. package/cjs-bundle/components/DevCenter/DevCenterAppContainer/components/PriorityMenus/PriorityMenus.js +1 -1
  23. package/cjs-bundle/components/DevCenter/IsolatedDevCenterAppContainer/DevCenterIsolatedApp.js +1 -1
  24. package/cjs-bundle/components/DevCenter/IsolatedDevCenterAppContainer/DevCenterIsolatedApp.js.map +1 -1
  25. package/cjs-bundle/components/DevCenter/IsolatedDevCenterAppContainer/DevCenterIsolatedAppPage.js +1 -1
  26. package/cjs-bundle/components/DevCenter/IsolatedDevCenterAppContainer/DevCenterIsolatedAppPage.js.map +1 -1
  27. package/cjs-bundle/components/DocumentViewer/DocumentViewer.js +1 -1
  28. package/cjs-bundle/components/Drillstring/BHAComponentsTable/components/Agitator/Editor.js +1 -1
  29. package/cjs-bundle/components/Drillstring/BHAComponentsTable/components/Bit/Editor.js +1 -1
  30. package/cjs-bundle/components/Drillstring/BHAComponentsTable/components/Component.js +1 -1
  31. package/cjs-bundle/components/Drillstring/BHAComponentsTable/components/DrillCollar/Editor.js +1 -1
  32. package/cjs-bundle/components/Drillstring/BHAComponentsTable/components/DrillPipe/Editor.js +1 -1
  33. package/cjs-bundle/components/Drillstring/BHAComponentsTable/components/Jar/Editor.js +1 -1
  34. package/cjs-bundle/components/Drillstring/BHAComponentsTable/components/Lwd/Editor.js +1 -1
  35. package/cjs-bundle/components/Drillstring/BHAComponentsTable/components/Mwd/Editor.js +1 -1
  36. package/cjs-bundle/components/Drillstring/BHAComponentsTable/components/Pdm/Editor.js +1 -1
  37. package/cjs-bundle/components/Drillstring/BHAComponentsTable/components/Rss/Editor.js +1 -1
  38. package/cjs-bundle/components/Drillstring/BHAComponentsTable/components/Stabilizer/Editor.js +1 -1
  39. package/cjs-bundle/components/Drillstring/BHAComponentsTable/components/Sub/Editor.js +1 -1
  40. package/cjs-bundle/components/Drillstring/BHAComponentsTable/components/Ur/Editor.js +1 -1
  41. package/cjs-bundle/components/Drillstring/BHAComponentsTable/components/shared/ConfirmationPopup.js +1 -1
  42. package/cjs-bundle/components/FeedItem/FeedItem.js +1 -1
  43. package/cjs-bundle/components/FeedItem/components/FeedComments.js +1 -1
  44. package/cjs-bundle/components/ImageViewer/index.js +1 -1
  45. package/cjs-bundle/components/OffsetWellPickerV2/OffsetWellPickerDialog.js +1 -1
  46. package/cjs-bundle/components/OffsetWellPickerV2/OffsetWellPickerDialog.js.map +1 -1
  47. package/cjs-bundle/components/OffsetWellPickerV2/components/Filter/ToggleMapButton.js +1 -1
  48. package/cjs-bundle/components/OffsetWellPickerV2/components/Table/MetricsAddMenu.js +1 -1
  49. package/cjs-bundle/components/OffsetWellPickerV3/components/CustomSelectionView/components/Table/MetricsAddMenu.js +1 -1
  50. package/cjs-bundle/components/OffsetWellPickerV3/components/CustomSelectionView/index.js +1 -1
  51. package/cjs-bundle/components/OffsetWellPickerV3/components/OffsetWellSelectionView/index.js +1 -1
  52. package/cjs-bundle/components/OffsetWellPickerV3/components/TabSelection/ToggleMapButton.js +1 -1
  53. package/cjs-bundle/components/OffsetWellPickerV3/components/TabSelection/index.js +1 -1
  54. package/cjs-bundle/components/OffsetWellPickerV3/components/WellHubView/index.js +1 -1
  55. package/cjs-bundle/components/OffsetWellPickerV3/components/shared/OffsetWellTableHead.js +1 -1
  56. package/cjs-bundle/components/OffsetWellPickerV5/components/AppHeader/components/HeaderActions/HeaderActions.js +1 -1
  57. package/cjs-bundle/components/OffsetWellPickerV5/components/AppHeader/components/LoadAllWellsToggle/LoadAllWellsToggle.js +1 -1
  58. package/cjs-bundle/components/OffsetWellPickerV5/components/Filter/Filter.js +1 -1
  59. package/cjs-bundle/components/OffsetWellPickerV5/components/Filter/components/CustomDateFields/CustomDateFields.js +1 -1
  60. package/cjs-bundle/components/OffsetWellPickerV5/components/Filter/components/PeriodFilterSelect/PeriodFilterSelect.js +1 -1
  61. package/cjs-bundle/components/OffsetWellPickerV5/components/Filter/components/SingleFilterSelect/SingleFilterSelect.js +1 -1
  62. package/cjs-bundle/components/OffsetWellPickerV5/components/Map/OffsetWellMap/components/ClusterTooltip/ClusterTooltip.js +1 -1
  63. package/cjs-bundle/components/OffsetWellPickerV5/components/Map/OffsetWellMap/components/LayerSwitcher/LayerSwitcher.js +1 -1
  64. package/cjs-bundle/components/OffsetWellPickerV5/components/Map/OffsetWellMap/components/MapControls/MapControls.js +1 -1
  65. package/cjs-bundle/components/OffsetWellPickerV5/components/OffsetWellPickerContent/OffsetWellPickerContent.js +1 -1
  66. package/cjs-bundle/components/OffsetWellPickerV5/components/OffsetWellPickerV5WithStore/components/CompanySafeguardWrapper/CompanySafeguardWrapper.js +1 -1
  67. package/cjs-bundle/components/OffsetWellPickerV5/components/OffsetWellsTable/AdvancedSearch/components/AssetResultSection/AssetResultSection.js +1 -1
  68. package/cjs-bundle/components/OffsetWellPickerV5/components/OffsetWellsTable/components/MetricsSettingMenu/MetricsSettingMenu.js +1 -1
  69. package/cjs-bundle/components/OffsetWellPickerV5/components/PickerModalActions/PickerModalActions.js +1 -1
  70. package/cjs-bundle/components/OffsetWellPickerV5/hooks/use-well-data-pipeline/useWellDataPipeline.js +1 -1
  71. package/cjs-bundle/components/PadOffsetsPicker/StagesSelector.js +1 -1
  72. package/cjs-bundle/components/PadOffsetsPickerV2/PadOffsetsPickerV2.js +1 -1
  73. package/cjs-bundle/components/Popover/Popover.js +1 -1
  74. package/cjs-bundle/components/Popper/Popper.js +1 -1
  75. package/cjs-bundle/components/RealTimeValuesSidebar/SidebarFooter.js +1 -1
  76. package/cjs-bundle/componentsV2/AppContainer/AppContainer.js +1 -1
  77. package/cjs-bundle/componentsV2/AppFooter/DqPopover/DqPopover.js +1 -1
  78. package/cjs-bundle/componentsV2/AppHeader/AppAssets/utils.js +1 -1
  79. package/cjs-bundle/componentsV2/AppHeader/AppHeader.js +1 -1
  80. package/cjs-bundle/componentsV2/AppHeader/V3/Actions/Actions.js +1 -1
  81. package/cjs-bundle/componentsV2/AppHeader/V3/AppHeaderV3.js +1 -1
  82. package/cjs-bundle/componentsV2/AppHeader/V3/AppTitle/AppTitle.js +1 -1
  83. package/cjs-bundle/componentsV2/AppHeader/V3/AssetSelector/AssetSelector.js +1 -1
  84. package/cjs-bundle/componentsV2/AppHeader/V3/VersionSelect/VersionSelect.js +1 -1
  85. package/cjs-bundle/componentsV2/AppSettings/AppSettings.js +1 -1
  86. package/cjs-bundle/componentsV2/AppSettings/AppSettingsPinningContext.js +1 -1
  87. package/cjs-bundle/componentsV2/CompletionsOffsetWellPicker/Map/Map.js +1 -1
  88. package/cjs-bundle/componentsV2/PadModeSelect/PadModeSelect.js +1 -1
  89. package/cjs-bundle/componentsV2/TemplatesControl/PublishModal/PublishModal.js +1 -1
  90. package/cjs-bundle/componentsV2/TemplatesControl/ShareModal/ShareModal.js +1 -1
  91. package/cjs-bundle/componentsV2/TemplatesControl/Toggle/Toggle.js +1 -1
  92. package/cjs-bundle/componentsV2/TextInputNext/TextInputNext.js +1 -1
  93. package/cjs-bundle/componentsV2/Tooltip/Tooltip.js +1 -1
  94. package/cjs-bundle/componentsV2/WellArchivedMessage/WellArchivedMessage.js +1 -1
  95. package/cjs-bundle/effects/index.js +1 -1
  96. package/cjs-bundle/effects/subscriptions/useSubscriptions.v1.js +1 -1
  97. package/cjs-bundle/effects/subscriptions/useSubscriptions.v1.js.map +1 -1
  98. package/cjs-bundle/effects/subscriptions/useSubscriptions.v2.js +1 -1
  99. package/cjs-bundle/effects/useGlobalOffsetWellsSync.js +1 -1
  100. package/cjs-bundle/effects/useGlobalOffsetWellsSync.js.map +1 -1
  101. package/cjs-bundle/testing/AppTestWrapper/AppTestWrapper.js +1 -1
  102. package/cjs-bundle/utils/devcenter.js +1 -1
  103. package/cjs-bundle/utils/devcenter.js.map +1 -1
  104. package/cjs-bundle/utils/goalsConfig/goalsConfig.js +1 -1
  105. package/cjs-bundle/utils/metrics/interventionMetricsConfig.js +1 -1
  106. package/cjs-bundle/utils/metrics/metricsConfig.js +1 -1
  107. package/cjs-bundle/utils/metrics/metricsConfig.js.map +1 -1
  108. package/clients/api/apiCore.d.ts.map +1 -1
  109. package/clients/api/apiCore.js +1 -1
  110. package/clients/api/apiCore.js.map +1 -1
  111. package/clients/api/constants.d.ts +37 -0
  112. package/clients/api/constants.d.ts.map +1 -0
  113. package/clients/api/constants.js +2 -0
  114. package/clients/api/constants.js.map +1 -0
  115. package/clients/api/rateLimiter.d.ts +24 -0
  116. package/clients/api/rateLimiter.d.ts.map +1 -0
  117. package/clients/api/rateLimiter.js +2 -0
  118. package/clients/api/rateLimiter.js.map +1 -0
  119. package/clients/index.js +1 -1
  120. package/clients/index.js.map +1 -1
  121. package/clients/utils.d.ts +4 -2
  122. package/clients/utils.d.ts.map +1 -1
  123. package/clients/utils.js +1 -1
  124. package/clients/utils.js.map +1 -1
  125. package/components/AddComment/Popover.js +1 -1
  126. package/components/AddComment/components/Content.js +1 -1
  127. package/components/Attachment/index.js +1 -1
  128. package/components/Attachment/index.js.map +1 -1
  129. package/components/BICOffsetPickerDialog/index.js +1 -1
  130. package/components/Casing/CasingTableV2/components/CasingJoints/Editor.js +1 -1
  131. package/components/Casing/CasingTableV2/components/Component.js +1 -1
  132. package/components/Casing/CasingTableV2/components/DrillPipe/Editor.js +1 -1
  133. package/components/CollapsableSidebar.js +1 -1
  134. package/components/DevCenter/DevCenterAppContainer/DevCenterAppContainer.js +1 -1
  135. package/components/DevCenter/DevCenterAppContainer/components/CommentsSwitch/CommentsSwitchButton.js +1 -1
  136. package/components/DevCenter/DevCenterAppContainer/components/NonPriorityMenus/NonPriorityMenus.js +1 -1
  137. package/components/DevCenter/DevCenterAppContainer/components/PriorityMenus/PriorityMenus.js +1 -1
  138. package/components/DevCenter/IsolatedDevCenterAppContainer/DevCenterIsolatedApp.d.ts.map +1 -1
  139. package/components/DevCenter/IsolatedDevCenterAppContainer/DevCenterIsolatedApp.js +1 -1
  140. package/components/DevCenter/IsolatedDevCenterAppContainer/DevCenterIsolatedApp.js.map +1 -1
  141. package/components/DevCenter/IsolatedDevCenterAppContainer/DevCenterIsolatedAppPage.d.ts.map +1 -1
  142. package/components/DevCenter/IsolatedDevCenterAppContainer/DevCenterIsolatedAppPage.js +1 -1
  143. package/components/DevCenter/IsolatedDevCenterAppContainer/DevCenterIsolatedAppPage.js.map +1 -1
  144. package/components/DocumentViewer/DocumentViewer.js +1 -1
  145. package/components/Drillstring/BHAComponentsTable/components/Agitator/Editor.js +1 -1
  146. package/components/Drillstring/BHAComponentsTable/components/Bit/Editor.js +1 -1
  147. package/components/Drillstring/BHAComponentsTable/components/Component.js +1 -1
  148. package/components/Drillstring/BHAComponentsTable/components/DrillCollar/Editor.js +1 -1
  149. package/components/Drillstring/BHAComponentsTable/components/DrillPipe/Editor.js +1 -1
  150. package/components/Drillstring/BHAComponentsTable/components/Jar/Editor.js +1 -1
  151. package/components/Drillstring/BHAComponentsTable/components/Lwd/Editor.js +1 -1
  152. package/components/Drillstring/BHAComponentsTable/components/Mwd/Editor.js +1 -1
  153. package/components/Drillstring/BHAComponentsTable/components/Pdm/Editor.js +1 -1
  154. package/components/Drillstring/BHAComponentsTable/components/Rss/Editor.js +1 -1
  155. package/components/Drillstring/BHAComponentsTable/components/Stabilizer/Editor.js +1 -1
  156. package/components/Drillstring/BHAComponentsTable/components/Sub/Editor.js +1 -1
  157. package/components/Drillstring/BHAComponentsTable/components/Ur/Editor.js +1 -1
  158. package/components/Drillstring/BHAComponentsTable/components/shared/ConfirmationPopup.js +1 -1
  159. package/components/FeedItem/FeedItem.js +1 -1
  160. package/components/FeedItem/components/FeedComments.js +1 -1
  161. package/components/ImageViewer/index.js +1 -1
  162. package/components/OffsetWellPickerV2/OffsetWellPickerDialog.js +1 -1
  163. package/components/OffsetWellPickerV2/OffsetWellPickerDialog.js.map +1 -1
  164. package/components/OffsetWellPickerV2/components/Filter/ToggleMapButton.js +1 -1
  165. package/components/OffsetWellPickerV2/components/Table/MetricsAddMenu.js +1 -1
  166. package/components/OffsetWellPickerV3/components/CustomSelectionView/components/Table/MetricsAddMenu.js +1 -1
  167. package/components/OffsetWellPickerV3/components/CustomSelectionView/index.js +1 -1
  168. package/components/OffsetWellPickerV3/components/OffsetWellSelectionView/index.js +1 -1
  169. package/components/OffsetWellPickerV3/components/TabSelection/ToggleMapButton.js +1 -1
  170. package/components/OffsetWellPickerV3/components/TabSelection/index.js +1 -1
  171. package/components/OffsetWellPickerV3/components/WellHubView/index.js +1 -1
  172. package/components/OffsetWellPickerV3/components/shared/OffsetWellTableHead.js +1 -1
  173. package/components/OffsetWellPickerV5/components/AppHeader/components/HeaderActions/HeaderActions.js +1 -1
  174. package/components/OffsetWellPickerV5/components/AppHeader/components/LoadAllWellsToggle/LoadAllWellsToggle.js +1 -1
  175. package/components/OffsetWellPickerV5/components/Filter/Filter.js +1 -1
  176. package/components/OffsetWellPickerV5/components/Filter/components/CustomDateFields/CustomDateFields.js +1 -1
  177. package/components/OffsetWellPickerV5/components/Filter/components/PeriodFilterSelect/PeriodFilterSelect.js +1 -1
  178. package/components/OffsetWellPickerV5/components/Filter/components/SingleFilterSelect/SingleFilterSelect.js +1 -1
  179. package/components/OffsetWellPickerV5/components/Map/OffsetWellMap/components/ClusterTooltip/ClusterTooltip.js +1 -1
  180. package/components/OffsetWellPickerV5/components/Map/OffsetWellMap/components/LayerSwitcher/LayerSwitcher.js +1 -1
  181. package/components/OffsetWellPickerV5/components/Map/OffsetWellMap/components/MapControls/MapControls.js +1 -1
  182. package/components/OffsetWellPickerV5/components/OffsetWellPickerContent/OffsetWellPickerContent.js +1 -1
  183. package/components/OffsetWellPickerV5/components/OffsetWellPickerV5WithStore/components/CompanySafeguardWrapper/CompanySafeguardWrapper.js +1 -1
  184. package/components/OffsetWellPickerV5/components/OffsetWellsTable/AdvancedSearch/components/AssetResultSection/AssetResultSection.js +1 -1
  185. package/components/OffsetWellPickerV5/components/OffsetWellsTable/components/MetricsSettingMenu/MetricsSettingMenu.js +1 -1
  186. package/components/OffsetWellPickerV5/components/PickerModalActions/PickerModalActions.js +1 -1
  187. package/components/OffsetWellPickerV5/hooks/use-well-data-pipeline/useWellDataPipeline.js +1 -1
  188. package/components/PadOffsetsPicker/StagesSelector.js +1 -1
  189. package/components/PadOffsetsPickerV2/PadOffsetsPickerV2.js +1 -1
  190. package/components/Popover/Popover.js +1 -1
  191. package/components/Popper/Popper.js +1 -1
  192. package/components/RealTimeValuesSidebar/SidebarFooter.js +1 -1
  193. package/componentsV2/AppContainer/AppContainer.d.ts +2 -0
  194. package/componentsV2/AppContainer/AppContainer.d.ts.map +1 -1
  195. package/componentsV2/AppContainer/AppContainer.js +1 -1
  196. package/componentsV2/AppFooter/DqPopover/DqPopover.js +1 -1
  197. package/componentsV2/AppHeader/AppAssets/utils.js +1 -1
  198. package/componentsV2/AppHeader/AppHeader.d.ts +1 -5
  199. package/componentsV2/AppHeader/AppHeader.d.ts.map +1 -1
  200. package/componentsV2/AppHeader/AppHeader.js +1 -1
  201. package/componentsV2/AppHeader/V3/Actions/Actions.d.ts +1 -2
  202. package/componentsV2/AppHeader/V3/Actions/Actions.d.ts.map +1 -1
  203. package/componentsV2/AppHeader/V3/Actions/Actions.js +1 -1
  204. package/componentsV2/AppHeader/V3/AppHeaderV3.d.ts +0 -1
  205. package/componentsV2/AppHeader/V3/AppHeaderV3.d.ts.map +1 -1
  206. package/componentsV2/AppHeader/V3/AppHeaderV3.js +1 -1
  207. package/componentsV2/AppHeader/V3/AppHeaderV3.stories.d.ts +2 -1
  208. package/componentsV2/AppHeader/V3/AppHeaderV3.stories.d.ts.map +1 -1
  209. package/componentsV2/AppHeader/V3/AppTitle/AppTitle.js +1 -1
  210. package/componentsV2/AppHeader/V3/AssetSelector/AssetSelector.js +1 -1
  211. package/componentsV2/AppHeader/V3/VersionSelect/VersionSelect.js +1 -1
  212. package/componentsV2/AppSettings/AppSettings.d.ts +0 -1
  213. package/componentsV2/AppSettings/AppSettings.d.ts.map +1 -1
  214. package/componentsV2/AppSettings/AppSettings.js +1 -1
  215. package/componentsV2/AppSettings/AppSettingsPinningContext.d.ts +3 -1
  216. package/componentsV2/AppSettings/AppSettingsPinningContext.d.ts.map +1 -1
  217. package/componentsV2/AppSettings/AppSettingsPinningContext.js +1 -1
  218. package/componentsV2/CompletionsOffsetWellPicker/Map/Map.js +1 -1
  219. package/componentsV2/PadModeSelect/PadModeSelect.js +1 -1
  220. package/componentsV2/TemplatesControl/PublishModal/PublishModal.js +1 -1
  221. package/componentsV2/TemplatesControl/ShareModal/ShareModal.js +1 -1
  222. package/componentsV2/TemplatesControl/Toggle/Toggle.js +1 -1
  223. package/componentsV2/TextInputNext/TextInputNext.js +1 -1
  224. package/componentsV2/Tooltip/Tooltip.d.ts.map +1 -1
  225. package/componentsV2/Tooltip/Tooltip.js +1 -1
  226. package/componentsV2/WellArchivedMessage/WellArchivedMessage.js +1 -1
  227. package/effects/index.d.ts +1 -0
  228. package/effects/index.d.ts.map +1 -1
  229. package/effects/index.js +1 -1
  230. package/effects/subscriptions/useSubscriptions.v1.js +1 -1
  231. package/effects/subscriptions/useSubscriptions.v1.js.map +1 -1
  232. package/effects/subscriptions/useSubscriptions.v2.d.ts.map +1 -1
  233. package/effects/subscriptions/useSubscriptions.v2.js +1 -1
  234. package/effects/useGlobalOffsetWellsSync.js +1 -1
  235. package/effects/useGlobalOffsetWellsSync.js.map +1 -1
  236. package/effects/useSubscriptions.d.ts.map +1 -1
  237. package/mcp-server/server.mjs +45 -14
  238. package/package.json +1 -1
  239. package/testing/AppTestWrapper/AppTestWrapper.js +1 -1
  240. package/tsconfig.tsbuildinfo +1 -1
  241. package/utils/devcenter.d.ts.map +1 -1
  242. package/utils/devcenter.js +1 -1
  243. package/utils/devcenter.js.map +1 -1
  244. package/utils/goalsConfig/goalsConfig.d.ts.map +1 -1
  245. package/utils/goalsConfig/goalsConfig.js +1 -1
  246. package/utils/metrics/interventionMetricsConfig.d.ts +2 -0
  247. package/utils/metrics/interventionMetricsConfig.d.ts.map +1 -1
  248. package/utils/metrics/interventionMetricsConfig.js +1 -1
  249. package/utils/metrics/metricsConfig.d.ts +13 -0
  250. package/utils/metrics/metricsConfig.d.ts.map +1 -1
  251. package/utils/metrics/metricsConfig.js +1 -1
  252. package/utils/metrics/metricsConfig.js.map +1 -1
  253. package/mcp-server/server.mjs.map +0 -1
@@ -1 +1 @@
1
- {"version":3,"file":"metricsConfig.js","sources":["../../../../src/utils/metrics/metricsConfig.js"],"sourcesContent":["/* eslint-disable camelcase */\n\n/*\n These are base configs for all metrics\n Any app can overwrite and extend any config\n Config specs: https://www.notion.so/corva/Drilling-Metrics-31de1dc4b7b448ec9e91ad4b61a941a2\n\n Fields:\n Required:\n label: UI metric name\n key: api key for metric\n\n Optional:\n unitType: the class of unit such as volume, length, mass, etc, used in convert.js\n from: the specific unit such as m, gal, lb, etc according to api\n to: the unit that we want to convert the value to (on UI)\n precision: rounding api metric value, default is 2\n isBiggestBest: some metrics should be maximized, other - minimized\n customScale: function for scaling metrics, for example percents\n formatUnitDisplay: takes unitDisplay as argument\n allowNegativeValue: only a few metrics can be negative\n unitDisplay: the unit that we want to display on UI (for non-convertible metrics)\n\n*/\nimport { getUnitPreference, getUnitDescription, convertValue } from '../convert';\n\nimport { convertPercentageMetrics, getSum, getAverage, getMax } from './utils';\nimport { metricsCategories } from './metricsCategories';\n\nexport const hole_depth = {\n label: 'Hole Depth',\n key: 'hole_depth',\n isBiggestBest: true,\n unitType: 'length',\n from: 'ft',\n convertForMultiRigs: getMax,\n category: metricsCategories.drilling_group,\n};\n\nexport const hole_depth_change = {\n label: 'Total Distance Drilled',\n key: 'hole_depth_change',\n unitType: 'length',\n from: 'ft',\n isBiggestBest: true,\n convertForMultiRigs: getSum,\n category: metricsCategories.drilling_group,\n};\n\nexport const hole_depth_change_lateral = {\n label: 'Lateral Length',\n key: 'hole_depth_change_lateral',\n unitType: 'length',\n from: 'ft',\n isBiggestBest: true,\n convertForMultiRigs: getSum,\n category: metricsCategories.drilling_group,\n};\n\nexport const drilled_feet_rotary = {\n label: 'Rotary Distance Drilled',\n key: 'drilled_feet_rotary',\n unitType: 'length',\n from: 'ft',\n isBiggestBest: true,\n convertForMultiRigs: getSum,\n category: metricsCategories.drilling_group,\n};\n\nexport const drilled_feet_slide = {\n label: 'Slide Distance Drilled',\n key: 'drilled_feet_slide',\n unitType: 'length',\n from: 'ft',\n convertForMultiRigs: getSum,\n category: metricsCategories.drilling_group,\n};\n\nexport const drilled_feet_rotary_percentage = {\n label: 'Rotary %',\n key: 'drilled_feet_rotary_percentage',\n to: '%',\n customConvert: convertPercentageMetrics,\n isBiggestBest: true,\n convertForMultiRigs: getAverage,\n category: metricsCategories.percent_group,\n};\nexport const drilled_feet_slide_percentage = {\n label: 'Slide %',\n key: 'drilled_feet_slide_percentage',\n to: '%',\n customConvert: convertPercentageMetrics,\n convertForMultiRigs: getAverage,\n category: metricsCategories.percent_group,\n};\nexport const drilling_percentage = {\n label: 'Drilling %',\n key: 'drilling_percentage',\n to: '%',\n customConvert: convertPercentageMetrics,\n isBiggestBest: true,\n};\nexport const rop = {\n label: 'On-Bottom ROP',\n key: 'rop',\n unitType: 'velocity',\n from: 'ft/h',\n isBiggestBest: true,\n convertForMultiRigs: getAverage,\n category: metricsCategories.rop_group,\n};\nexport const rop_rotary = {\n label: 'Rotary ROP',\n key: 'rop_rotary',\n unitType: 'velocity',\n from: 'ft/h',\n isBiggestBest: true,\n convertForMultiRigs: getAverage,\n category: metricsCategories.rop_group,\n};\nexport const rop_slide = {\n label: 'Slide ROP',\n key: 'rop_slide',\n unitType: 'velocity',\n from: 'ft/h',\n isBiggestBest: true,\n convertForMultiRigs: getAverage,\n category: metricsCategories.rop_group,\n};\nexport const rop_net = {\n label: 'Net ROP',\n key: 'rop_net',\n unitType: 'velocity',\n from: 'ft/h',\n isBiggestBest: true,\n convertForMultiRigs: getAverage,\n category: metricsCategories.rop_group,\n};\nexport const rop_gross = {\n label: 'Gross ROP',\n key: 'rop_gross',\n unitType: 'velocity',\n from: 'ft/h',\n isBiggestBest: true,\n convertForMultiRigs: getAverage,\n category: metricsCategories.rop_group,\n};\nexport const feet_per_day = {\n label: 'Drilled Distance/Day',\n key: 'feet_per_day',\n unitType: 'length',\n from: 'ft',\n formatUnitDisplay: unitDisplay => `${unitDisplay}/day`,\n isBiggestBest: true,\n convertForMultiRigs: getAverage,\n category: metricsCategories.drilling_group,\n};\nexport const drilling_time_rotary = {\n label: 'Rotary Drilling Time',\n key: 'drilling_time_rotary',\n unitType: 'time',\n to: 'h',\n isBiggestBest: true,\n};\nexport const drilling_time_slide = {\n label: 'Slide Drilling Time',\n key: 'drilling_time_slide',\n unitType: 'time',\n to: 'h',\n};\nexport const on_bottom_time = {\n label: 'On Bottom Time',\n key: 'on_bottom_time',\n to: 'h',\n unitType: 'time',\n convertForMultiRigs: getSum,\n category: metricsCategories.drilling_group,\n};\nexport const on_bottom_percentage = {\n label: 'On Bottom %',\n key: 'on_bottom_percentage',\n to: '%',\n customConvert: convertPercentageMetrics,\n isBiggestBest: true,\n convertForMultiRigs: getAverage,\n category: metricsCategories.percent_group,\n};\nexport const drilling_connection_average = {\n label: 'Slips to Slips',\n key: 'drilling_connection_average',\n to: 'min',\n unitType: 'time',\n from: 's',\n convertForMultiRigs: getAverage,\n category: metricsCategories.drilling_connection_group,\n};\nexport const weight_to_weight_average = {\n label: 'Weight to Weight',\n key: 'weight_to_weight_average',\n to: 'min',\n from: 's',\n unitType: 'time',\n convertForMultiRigs: getAverage,\n category: metricsCategories.drilling_connection_group,\n};\n\nexport const bottom_to_slips_average = {\n label: 'Bottom to Slips',\n key: 'bottom_to_slips_average',\n to: 'min',\n from: 's',\n unitType: 'time',\n convertForMultiRigs: getAverage,\n category: metricsCategories.drilling_connection_group,\n};\nexport const slips_to_bottom_average = {\n label: 'Slips to Bottom',\n key: 'slips_to_bottom_average',\n to: 'min',\n from: 's',\n unitType: 'time',\n convertForMultiRigs: getAverage,\n category: metricsCategories.drilling_connection_group,\n};\n\nexport const pumps_on_to_bottom_average = {\n label: 'Pumps on to Bottom',\n key: 'pumps_on_to_bottom_average',\n to: 'min',\n from: 's',\n unitType: 'time',\n convertForMultiRigs: getAverage,\n category: metricsCategories.drilling_connection_group,\n};\n\nexport const tripping_in_speed = {\n label: 'Entire Hole Tripping In Speed',\n key: 'tripping_in_speed',\n unitType: 'velocity',\n from: 'ft/h',\n isBiggestBest: true,\n convertForMultiRigs: getAverage,\n category: metricsCategories.tripping_in_speed_group,\n};\nexport const tripping_out_speed = {\n label: 'Entire Hole Tripping Out Speed',\n key: 'tripping_out_speed',\n unitType: 'velocity',\n from: 'ft/h',\n isBiggestBest: true,\n convertForMultiRigs: getAverage,\n category: metricsCategories.tripping_out_speed_group,\n};\nexport const tripping_in_speed_cased = {\n label: 'Cased Hole Tripping In Speed',\n key: 'tripping_in_speed_cased',\n unitType: 'velocity',\n from: 'ft/h',\n isBiggestBest: true,\n convertForMultiRigs: getAverage,\n category: metricsCategories.tripping_in_speed_group,\n};\nexport const tripping_out_speed_cased = {\n label: 'Cased Hole Tripping Out Speed',\n key: 'tripping_out_speed_cased',\n unitType: 'velocity',\n from: 'ft/h',\n isBiggestBest: true,\n convertForMultiRigs: getAverage,\n category: metricsCategories.tripping_out_speed_group,\n};\nexport const tripping_in_speed_open = {\n label: 'Open Hole Tripping In Speed',\n key: 'tripping_in_speed_open',\n unitType: 'velocity',\n from: 'ft/h',\n isBiggestBest: true,\n convertForMultiRigs: getAverage,\n category: metricsCategories.tripping_in_speed_group,\n};\nexport const tripping_out_speed_open = {\n label: 'Open Hole Tripping Out Speed',\n key: 'tripping_out_speed_open',\n unitType: 'velocity',\n from: 'ft/h',\n isBiggestBest: true,\n convertForMultiRigs: getAverage,\n category: metricsCategories.tripping_out_speed_group,\n};\nexport const tripping_in_time_cased = {\n label: 'Casing Tripping In Cased Hole',\n key: 'tripping_in_time_cased',\n to: 'min',\n from: 's',\n unitType: 'time',\n};\nexport const tripping_in_time_open = {\n label: 'Casing Tripping In Open Hole',\n key: 'tripping_in_time_open',\n to: 'min',\n from: 's',\n unitType: 'time',\n};\nexport const tripping_in_time = {\n label: 'Casing Tripping In Entire Hole',\n key: 'tripping_in_time',\n to: 'min',\n from: 's',\n unitType: 'time',\n};\nexport const tripping_in_connection_time_cased = {\n label: 'Connection Time in Cased Hole',\n key: 'tripping_in_connection_time_cased',\n to: 'min',\n from: 's',\n unitType: 'time',\n};\nexport const tripping_in_time_with_connection_open = {\n label: 'Casing Tripping In Open Hole + Connection Time in Open Hole',\n key: 'tripping_in_time_with_connection_open',\n to: 'min',\n from: 'h',\n unitType: 'time',\n};\nexport const tripping_in_time_with_connection = {\n label: 'Casing Tripping In Entire Hole + Connection Time in Entire Hole',\n key: 'tripping_in_time_with_connection',\n to: 'min',\n from: 'h',\n unitType: 'time',\n};\nexport const slips_to_slips = {\n label: 'Casing Slips to Slips',\n key: 'slips_to_slips_average',\n to: 'min',\n from: 's',\n unitType: 'time',\n convertForMultiRigs: getAverage,\n category: metricsCategories.casing_group,\n};\nexport const gross_tripping_in_speed_cased = {\n label: 'Casing - Cased Hole Tripping In Speed (With Connection)',\n key: 'gross_tripping_in_speed_cased',\n unitType: 'velocity',\n from: 'ft/h',\n convertForMultiRigs: getAverage,\n category: metricsCategories.casing_group,\n};\nexport const gross_tripping_in_speed_cased_std_hr = {\n label: 'Casing - Cased Hole Tripping In Speed (Joints/Hr, With Connection)',\n key: 'gross_tripping_in_speed_cased_std/hr',\n unitType: null,\n unitDisplay: 'joints/h',\n convertForMultiRigs: getAverage,\n category: metricsCategories.casing_group,\n};\nexport const gross_tripping_in_speed_open = {\n label: 'Casing - Open Hole Tripping In Speed (With Connection)',\n key: 'gross_tripping_in_speed_open',\n unitType: 'velocity',\n from: 'ft/h',\n convertForMultiRigs: getAverage,\n category: metricsCategories.casing_group,\n};\nexport const gross_tripping_in_speed_open_std_hr = {\n label: 'Casing - Open Hole Tripping In Speed (Joints/Hr, With Connection)',\n key: 'gross_tripping_in_speed_open_std/hr',\n unitType: null,\n unitDisplay: 'joints/h',\n convertForMultiRigs: getAverage,\n category: metricsCategories.casing_group,\n};\nexport const gross_tripping_in_speed = {\n label: 'Casing - Entire Hole Tripping In Speed (With Connection)',\n key: 'gross_tripping_in_speed',\n unitType: 'velocity',\n from: 'ft/h',\n convertForMultiRigs: getAverage,\n category: metricsCategories.casing_group,\n};\nexport const gross_tripping_in_speed_std_hr = {\n label: 'Casing - Entire Hole Tripping In Speed (Joints/Hr, With Connection)',\n key: 'gross_tripping_in_speed_std/hr',\n unitType: null,\n unitDisplay: 'joints/h',\n convertForMultiRigs: getAverage,\n category: metricsCategories.casing_group,\n};\nexport const gross_tripping_in_speed_bha = {\n label: 'Entire Hole Tripping In Speed (With Connection)',\n key: 'gross_tripping_in_speed_bha',\n unitType: 'velocity',\n from: 'ft/h',\n convertForMultiRigs: getAverage,\n category: metricsCategories.tripping_in_speed_group,\n};\nexport const gross_tripping_in_speed_open_bha = {\n label: 'Open Hole Tripping In Speed (With Connection)',\n key: 'gross_tripping_in_speed_open_bha',\n unitType: 'velocity',\n from: 'ft/h',\n convertForMultiRigs: getAverage,\n category: metricsCategories.tripping_in_speed_group,\n};\nexport const gross_tripping_in_speed_cased_bha = {\n label: 'Cased Hole Tripping In Speed (With Connection)',\n key: 'gross_tripping_in_speed_cased_bha',\n unitType: 'velocity',\n from: 'ft/h',\n convertForMultiRigs: getAverage,\n category: metricsCategories.tripping_in_speed_group,\n};\nexport const gross_tripping_out_speed_bha = {\n label: 'Entire Hole Tripping Out Speed (With Connection)',\n key: 'gross_tripping_out_speed_bha',\n unitType: 'velocity',\n from: 'ft/h',\n convertForMultiRigs: getAverage,\n category: metricsCategories.tripping_out_speed_group,\n};\nexport const gross_tripping_out_speed_open_bha = {\n label: 'Open Hole Tripping Out Speed (With Connection)',\n key: 'gross_tripping_out_speed_open_bha',\n unitType: 'velocity',\n from: 'ft/h',\n convertForMultiRigs: getAverage,\n category: metricsCategories.tripping_out_speed_group,\n};\nexport const gross_tripping_out_speed_cased_bha = {\n label: 'Cased Hole Tripping Out Speed (With Connection)',\n key: 'gross_tripping_out_speed_cased_bha',\n unitType: 'velocity',\n from: 'ft/h',\n convertForMultiRigs: getAverage,\n category: metricsCategories.tripping_out_speed_group,\n};\n\nexport const gross_tripping_in_speed_total = {\n label: 'Gross Tripping In Speed',\n key: 'gross_tripping_in_speed_total',\n unitType: 'velocity',\n from: 'ft/h',\n convertForMultiRigs: getAverage,\n};\n\nexport const gross_tripping_out_speed_total = {\n label: 'Gross Tripping Out Speed',\n key: 'gross_tripping_out_speed_total',\n unitType: 'velocity',\n from: 'ft/h',\n convertForMultiRigs: getAverage,\n category: metricsCategories.tripping_out_speed_group,\n};\n\nexport const cost_per_ft = {\n label: `Cost/${getUnitDescription(getUnitPreference('length')).singular}`,\n labelFunc: () => `Cost/${getUnitDescription(getUnitPreference('length')).singular}`,\n key: 'cost_per_ft',\n customConvert: value => value / convertValue(1, 'length', 'ft'),\n convertForMultiRigs: getAverage,\n category: metricsCategories.cost_group,\n};\n\nexport const cost_per_lat_ft = {\n label: `Lateral Cost/${getUnitDescription(getUnitPreference('length')).singular}`,\n labelFunc: () => `Lateral Cost/${getUnitDescription(getUnitPreference('length')).singular}`,\n key: 'cost_per_lat_ft',\n customConvert: value => value / convertValue(1, 'length', 'ft'),\n convertForMultiRigs: getAverage,\n category: metricsCategories.cost_group,\n};\n\nexport const npt = {\n label: 'NPT',\n key: 'npt',\n unitType: 'time',\n from: 'h',\n to: 'h',\n convertForMultiRigs: getSum,\n category: metricsCategories.drilling_group,\n};\n\nexport const circulating_time = {\n label: 'Circulating Time',\n key: 'circulating_time',\n unitType: 'time',\n from: 'h',\n to: 'h',\n convertForMultiRigs: getSum,\n category: metricsCategories.drilling_group,\n};\n\nexport const spud_to_rig_release_time = {\n label: 'Spud to Rig Release',\n key: 'spud_to_rig_release_time',\n unitType: 'time',\n from: 'h',\n to: 'd',\n convertForMultiRigs: getMax,\n category: metricsCategories.spud_time_group,\n};\n\nexport const spud_to_target = {\n label: 'Spud to Target',\n key: 'spud_to_target',\n unitType: 'time',\n from: 'h',\n to: 'd',\n convertForMultiRigs: getMax,\n category: metricsCategories.spud_time_group,\n};\n\nexport const spud_to_total_depth_time = {\n label: 'Spud to Total Depth',\n key: 'spud_to_total_depth_time',\n unitType: 'time',\n from: 'h',\n to: 'd',\n convertForMultiRigs: getMax,\n category: metricsCategories.spud_time_group,\n};\n\nexport const spud_to_landing_point = {\n label: 'Spud to Landing Point',\n key: 'spud_to_landing_point',\n unitType: 'time',\n from: 'h',\n to: 'd',\n convertForMultiRigs: getMax,\n category: metricsCategories.spud_time_group,\n};\n\nexport const total_time = {\n label: 'Total Time',\n key: 'total_time',\n unitType: 'time',\n from: 'h',\n to: 'd',\n};\n\nexport const drilling_time = {\n label: 'Drilling Time',\n key: 'drilling_time',\n unitType: 'time',\n from: 's',\n to: 'h',\n};\n\nexport const tripping_time = {\n label: 'Tripping Time',\n key: 'tripping_time',\n unitType: 'time',\n from: 's',\n to: 'h',\n};\n\nexport const gross_time = {\n label: 'Gross Time',\n key: 'gross_time',\n unitType: 'time',\n from: 's',\n to: 'h',\n};\n\nexport const turn_rate = {\n label: 'Turn Rate',\n key: 'turn_rate',\n unitType: 'anglePerLength',\n from: 'dp100f',\n allowNegativeValue: true,\n};\n\nexport const build_rate = {\n label: 'Build Rate',\n key: 'build_rate',\n unitType: 'anglePerLength',\n from: 'dp100f',\n allowNegativeValue: true,\n};\n\n// NOTE: Has no unit\nexport const cumulative_tortuosity = {\n label: 'Cumulative Tortuosity',\n key: 'cumulative_tortuosity',\n convertForMultiRigs: getAverage,\n category: metricsCategories.drilling_group,\n};\n\nexport const weight_to_weight_count = {\n label: 'Drilling Stand Count',\n key: 'weight_to_weight_count',\n convertForMultiRigs: getSum,\n category: metricsCategories.drilling_connection_group,\n};\n\nexport const tripping_connection_count = {\n label: 'Tripping Connection Count',\n key: 'tripping_connection_count',\n convertForMultiRigs: getSum,\n category: metricsCategories.tripping_connection_group,\n};\n\nexport const tripping_in_connection_count = {\n label: 'Tripping In Connection Count',\n key: 'tripping_in_connection_count',\n convertForMultiRigs: getSum,\n category: metricsCategories.tripping_connection_group,\n};\n\nexport const tripping_out_connection_count = {\n label: 'Tripping Out Connection Count',\n key: 'tripping_out_connection_count',\n convertForMultiRigs: getSum,\n category: metricsCategories.tripping_connection_group,\n};\n\nexport const tripping_in_speed_with_connection = {\n label: 'Tripping In Speed (With Connection)',\n key: 'tripping_in_speed_with_connection',\n unitType: 'velocity',\n from: 'ft/h',\n convertForMultiRigs: getAverage,\n category: metricsCategories.tripping_in_speed_group,\n};\n\nexport const tripping_out_speed_with_connection = {\n label: 'Tripping Out Speed (With Connection)',\n key: 'tripping_out_speed_with_connection',\n unitType: 'velocity',\n from: 'ft/h',\n convertForMultiRigs: getAverage,\n category: metricsCategories.tripping_out_speed_group,\n};\n\nexport const slips_to_slips_count = {\n label: 'Casing Stand Count',\n key: 'slips_to_slips_count',\n convertForMultiRigs: getSum,\n category: metricsCategories.casing_group,\n};\n\nexport const bha_count = {\n label: \"Total BHA's\",\n key: 'bha_count',\n category: metricsCategories.drilling_group,\n};\n\nexport const gross_tripping_in_time_cased = {\n label: 'Cased Hole Tripping In Time (With Connection)',\n key: 'gross_tripping_in_time_cased',\n unitType: 'time',\n from: 'min',\n};\n\nexport const gross_tripping_in_time_open = {\n label: 'Open Hole Tripping In Time (With Connection)',\n key: 'gross_tripping_in_time_open',\n unitType: 'time',\n from: 'min',\n};\n\nexport const tripping_in_connection_time = {\n label: 'Tripping in (Connection)',\n key: 'tripping_in_connection_time',\n unitType: 'time',\n from: 'min',\n};\n\nexport const tripping_out_connection_time = {\n label: 'Tripping out (Connection)',\n key: 'tripping_out_connection_time',\n unitType: 'time',\n from: 'min',\n};\n\nexport const nu_nd_diverter_timelog_hal = {\n label: 'NU/ND Diverter',\n key: 'nu_nd_diverter_timelog_hal',\n unitType: 'time',\n from: 's',\n to: 'h',\n};\nexport const ru_rd_casing_handling_equip_timelog_hal = {\n label: 'RU/RD Casing Handling Equip',\n key: 'ru_rd_casing_handling_equip_timelog_hal',\n unitType: 'time',\n from: 's',\n to: 'h',\n};\n\nexport const bop_wellhead_xmt_nu_nd_timelog_hal = {\n label: 'BOP/Wellhead/XMT NU/ND',\n key: 'bop_wellhead_xmt_nu_nd_timelog_hal',\n unitType: 'time',\n from: 's',\n to: 'h',\n};\n\nexport const bop_pressure_function_test_timelog_hal = {\n label: 'BOP Pressure & Function Test',\n key: 'bop_pressure_function_test_timelog_hal',\n unitType: 'time',\n from: 's',\n to: 'h',\n};\n\nexport const install_retrieve_wear_bushing_timelog_hal = {\n label: 'Install / Retrieve Wear Bushing',\n key: 'install_retrieve_wear_bushing_timelog_hal',\n unitType: 'time',\n from: 's',\n to: 'h',\n};\n\nexport const p_u_l_d_bha_timelog_hal = {\n label: 'P/U & L/D BHA',\n key: 'p_u_l_d_bha_timelog_hal',\n unitType: 'time',\n from: 's',\n to: 'h',\n};\n\nexport const drillout_casing_shoe_track_timelog_hal = {\n label: 'Drillout Casing Shoe Track',\n key: 'drillout_casing_shoe_track_timelog_hal',\n unitType: 'time',\n from: 's',\n to: 'h',\n};\n\nexport const slip_cut_timelog_hal = {\n label: 'Slip & Cut',\n key: 'slip_cut_timelog_hal',\n unitType: 'time',\n from: 's',\n to: 'h',\n};\n\nexport const survey_time_timelog_hal = {\n label: 'Survey Time',\n key: 'survey_time_timelog_hal',\n unitType: 'time',\n from: 's',\n to: 'h',\n};\n\nexport const drill_fit_lot_timelog_hal = {\n label: 'Drill & FIT/LOT',\n key: 'drill_fit_lot_timelog_hal',\n unitType: 'time',\n from: 's',\n to: 'h',\n};\n\nexport const pressure_test_timelog_hal = {\n label: 'Pressure Test',\n key: 'pressure_test_timelog_hal',\n unitType: 'time',\n from: 's',\n to: 'h',\n};\n\nexport const ru_rd_mpd_system_or_rcd_timelog_hal = {\n label: 'RU/RD MPD System or RCD',\n key: 'ru_rd_mpd_system_or_rcd_timelog_hal',\n unitType: 'time',\n from: 's',\n to: 'h',\n};\n\nexport const achieve_frac_design_injection_rate_timelog_hal = {\n label: 'Achieve Frac Design Injection Rate',\n key: 'achieve_frac_design_injection_rate_timelog_hal',\n unitType: 'time',\n from: 's',\n to: 'h',\n};\n\nexport const ru_rd_frac_head_timelog_hal = {\n label: 'RU/RD Frac Head',\n key: 'ru_rd_frac_head_timelog_hal',\n unitType: 'time',\n from: 's',\n to: 'h',\n};\n\nexport const ru_rd_wireline_timelog_hal = {\n label: 'RU/RD Wireline',\n key: 'ru_rd_wireline_timelog_hal',\n unitType: 'time',\n from: 's',\n to: 'h',\n};\n\nexport const ru_rd_lubricator_perf_guns_timelog_hal = {\n label: 'RU/RD Lubricator & Perf Guns',\n key: 'ru_rd_lubricator_perf_guns_timelog_hal',\n unitType: 'time',\n from: 's',\n to: 'h',\n};\n\nexport const nu_nd_diverter_timelog_equinor = {\n label: 'NU/ND Diverter',\n key: 'nu_nd_diverter_timelog_equinor',\n unitType: 'time',\n from: 's',\n to: 'h',\n};\n\nexport const ru_casing_handling_equipment_equinor = {\n label: 'RU Casing Handling Equipment',\n key: 'ru_casing_handling_equipment_equinor',\n unitType: 'time',\n from: 's',\n to: 'h',\n};\n\nexport const rd_casing_handling_equipment_equinor = {\n label: 'RD Casing Handling Equipment',\n key: 'rd_casing_handling_equipment_equinor',\n unitType: 'time',\n from: 's',\n to: 'h',\n};\n\nexport const bop_wellhead_xmt_nu_nd_equinor = {\n label: 'BOP/Wellhead/XMT NU/ND',\n key: 'bop_wellhead_xmt_nu_nd_equinor',\n unitType: 'time',\n from: 's',\n to: 'h',\n};\n\nexport const bop_test_equinor = {\n label: 'BOP Test',\n key: 'bop_test_equinor',\n unitType: 'time',\n from: 's',\n to: 'h',\n};\n\nexport const install_wear_bushing_equinor = {\n label: 'Install Wear Bushing',\n key: 'install_wear_bushing_equinor',\n unitType: 'time',\n from: 's',\n to: 'h',\n};\n\nexport const retrieve_wear_bushing_equinor = {\n label: 'Retrieve Wear Bushing',\n key: 'retrieve_wear_bushing_equinor',\n unitType: 'time',\n from: 's',\n to: 'h',\n};\n\nexport const mu_bha_equinor = {\n label: 'M/U BHA',\n key: 'mu_bha_equinor',\n unitType: 'time',\n from: 's',\n to: 'h',\n};\n\nexport const ld_bha_equinor = {\n label: 'L/D BHA',\n key: 'ld_bha_equinor',\n unitType: 'time',\n from: 's',\n to: 'h',\n};\n\nexport const drillout_casing_shoe_track_equinor = {\n label: 'Drillout Casing Shoe Track',\n key: 'drillout_casing_shoe_track_equinor',\n unitType: 'time',\n from: 's',\n to: 'h',\n};\n\nexport const slip_cut_equinor = {\n label: 'Slip & Cut',\n key: 'slip_cut_equinor',\n unitType: 'time',\n from: 's',\n to: 'h',\n};\n\nexport const survey_time_equinor = {\n label: 'Survey Time',\n key: 'survey_time_equinor',\n unitType: 'time',\n from: 's',\n to: 'h',\n};\n\nexport const drill_fit_lot_equinor = {\n label: 'Drill & FIT/LOT',\n key: 'drill_fit_lot_equinor',\n unitType: 'time',\n from: 's',\n to: 'h',\n};\n\nexport const pressure_test_casing_liner_equinor = {\n label: 'Pressure Test Casing/Liner',\n key: 'pressure_test_casing_liner_equinor',\n unitType: 'time',\n from: 's',\n to: 'h',\n};\n\nexport const land_test_casing_hanger_equinor = {\n label: 'Land & Test Casing/Tubing Hanger',\n key: 'land_test_casing_hanger_equinor',\n unitType: 'time',\n from: 's',\n to: 'h',\n};\n\nexport const mu_wireline_open_hole_equinor = {\n label: 'M/U Wireline - Open Hole',\n key: 'mu_wireline_open_hole_equinor',\n unitType: 'time',\n from: 's',\n to: 'h',\n};\n\nexport const ld_wireline_open_hole_equinor = {\n label: 'L/D Wireline - Open Hole',\n key: 'ld_wireline_open_hole_equinor',\n unitType: 'time',\n from: 's',\n to: 'h',\n};\n\nexport const mu_wireline_cased_hole_equinor = {\n label: 'M/U Wireline - Cased Hole',\n key: 'mu_wireline_cased_hole_equinor',\n unitType: 'time',\n from: 's',\n to: 'h',\n};\n\nexport const ld_wireline_cased_hole_equinor = {\n label: 'L/D Wireline - Cased Hole',\n key: 'ld_wireline_cased_hole_equinor',\n unitType: 'time',\n from: 's',\n to: 'h',\n};\n\nexport const mu_shoetrack_equinor = {\n label: 'M/U Shoetrack',\n key: 'mu_shoetrack_equinor',\n unitType: 'time',\n from: 's',\n to: 'h',\n};\n\nexport const logging_time_ch_equinor = {\n label: 'Logging Time CH',\n key: 'logging_time_ch_equinor',\n unitType: 'time',\n from: 's',\n to: 'h',\n};\n\nexport const logging_time_oh_equinor = {\n label: 'Logging Time OH',\n key: 'logging_time_oh_equinor',\n unitType: 'time',\n from: 's',\n to: 'h',\n};\n\nexport const mu_hanger_equinor = {\n label: 'M/U Hanger',\n key: 'mu_hanger_equinor',\n unitType: 'time',\n from: 's',\n to: 'h',\n};\n\nexport const cementing_time_equinor = {\n label: 'Cementing Time',\n key: 'cementing_time_equinor',\n unitType: 'time',\n from: 's',\n to: 'h',\n};\n\nexport const prepare_for_cementing_equinor = {\n label: 'Prepare for cementing',\n key: 'prepare_for_cementing_equinor',\n unitType: 'time',\n from: 's',\n to: 'h',\n};\n\nexport const run_landing_string_equinor = {\n label: 'Run Landing String',\n key: 'run_landing_string_equinor',\n unitType: 'time',\n from: 's',\n to: 'h',\n};\n\nexport const pull_landing_string_equinor = {\n label: 'Pull Landing String',\n key: 'pull_landing_string_equinor',\n unitType: 'time',\n from: 's',\n to: 'h',\n};\n\nexport const prep_to_pooh_equinor = {\n label: 'Prep to POOH',\n key: 'prep_to_pooh_equinor',\n unitType: 'time',\n from: 's',\n to: 'h',\n};\n\nexport const nipple_up_bop_equinor = {\n label: 'Nipple Up BOP',\n key: 'nipple_up_bop_equinor',\n unitType: 'time',\n from: 's',\n to: 'h',\n};\n\nexport const nipple_down_bop_equinor = {\n label: 'Nipple Down BOP',\n key: 'nipple_down_bop_equinor',\n unitType: 'time',\n from: 's',\n to: 'h',\n};\n\nexport const mu_cement_stand_equinor = {\n label: 'M/U Cement Stand',\n key: 'mu_cement_stand_equinor',\n unitType: 'time',\n from: 's',\n to: 'h',\n};\n\nexport const ld_cement_stand_equinor = {\n label: 'L/D Cement Stand',\n key: 'ld_cement_stand_equinor',\n unitType: 'time',\n from: 's',\n to: 'h',\n};\n\nexport const mu_dhpg_equinor = {\n label: 'M/U DHPG',\n key: 'mu_dhpg_equinor',\n unitType: 'time',\n from: 's',\n to: 'h',\n};\n\nexport const ld_dhpg_equinor = {\n label: 'L/D DHPG',\n key: 'ld_dhpg_equinor',\n unitType: 'time',\n from: 's',\n to: 'h',\n};\n\nexport const mu_dhsv_equinor = {\n label: 'M/U DHSV',\n key: 'mu_dhsv_equinor',\n unitType: 'time',\n from: 's',\n to: 'h',\n};\n\nexport const ld_dhsv_equinor = {\n label: 'L/D DHSV',\n key: 'ld_dhsv_equinor',\n unitType: 'time',\n from: 's',\n to: 'h',\n};\n\nexport const mu_gaslift_equipment_equinor = {\n label: 'M/U Gaslift Equipment',\n key: 'mu_gaslift_equipment_equinor',\n unitType: 'time',\n from: 's',\n to: 'h',\n};\n\nexport const ld_gaslift_equipment_equinor = {\n label: 'L/D Gaslift Equipment',\n key: 'ld_gaslift_equipment_equinor',\n unitType: 'time',\n from: 's',\n to: 'h',\n};\n\nexport const tripping_in_connection_time_open_average = {\n label: 'Open Hole Tripping In Connection Time',\n key: 'tripping_in_connection_time_open_average',\n to: 'min',\n from: 's',\n unitType: 'time',\n convertForMultiRigs: getAverage,\n category: metricsCategories.tripping_connection_group,\n};\n\nexport const tripping_in_connection_time_cased_average = {\n label: 'Cased Hole Tripping In Connection Time',\n key: 'tripping_in_connection_time_cased_average',\n to: 'min',\n from: 's',\n unitType: 'time',\n convertForMultiRigs: getAverage,\n category: metricsCategories.tripping_connection_group,\n};\n\nexport const tripping_in_connection_average = {\n label: 'Entire Hole Tripping In Connection Time',\n key: 'tripping_in_connection_average',\n to: 'min',\n from: 's',\n unitType: 'time',\n convertForMultiRigs: getAverage,\n category: metricsCategories.tripping_connection_group,\n};\n\nexport const tripping_out_connection_time_open_average = {\n label: 'Open Hole Tripping Out Connection Time',\n key: 'tripping_out_connection_time_open_average',\n to: 'min',\n from: 's',\n unitType: 'time',\n convertForMultiRigs: getAverage,\n category: metricsCategories.tripping_connection_group,\n};\n\nexport const tripping_out_connection_time_cased_average = {\n label: 'Cased Hole Tripping Out Connection Time',\n key: 'tripping_out_connection_time_cased_average',\n to: 'min',\n from: 's',\n unitType: 'time',\n convertForMultiRigs: getAverage,\n category: metricsCategories.tripping_connection_group,\n};\n\nexport const tripping_out_connection_average = {\n label: 'Entire Hole Tripping Out Connection Time',\n key: 'tripping_out_connection_average',\n to: 'min',\n from: 's',\n unitType: 'time',\n convertForMultiRigs: getAverage,\n category: metricsCategories.tripping_connection_group,\n};\n\nexport const total_variance_hal = {\n label: 'Total Variance',\n key: 'total_variance_hal',\n isBiggestBest: false,\n to: 'h',\n from: 's',\n unitType: 'time',\n convertForMultiRigs: getAverage,\n category: metricsCategories.drilling_group,\n allowNegativeValue: true,\n};\n\nexport const target_formation = {\n label: 'Target Formation',\n key: 'formation',\n};\n\nexport const mud_type = {\n label: 'Mud Type',\n key: 'mud_type',\n};\n\nexport const tripping_in_speed_with_connection_landingstring = {\n label: 'Landing String - Entire Hole Tripping In Speed (With Connection)',\n key: 'tripping_in_speed_with_connection_landingstring',\n unitType: 'velocity',\n from: 'ft/h',\n isBiggestBest: true,\n convertForMultiRigs: getAverage,\n category: metricsCategories.landing_string_group,\n};\n\nexport const tripping_in_speed_open_with_connection_landingstring = {\n label: 'Landing String - Open Hole Tripping In Speed (With Connection)',\n key: 'tripping_in_speed_open_with_connection_landingstring',\n unitType: 'velocity',\n from: 'ft/h',\n isBiggestBest: true,\n convertForMultiRigs: getAverage,\n category: metricsCategories.landing_string_group,\n};\n\nexport const tripping_in_speed_cased_with_connection_landingstring = {\n label: 'Landing String - Cased Hole Tripping In Speed (With Connection)',\n key: 'tripping_in_speed_cased_with_connection_landingstring',\n unitType: 'velocity',\n from: 'ft/h',\n isBiggestBest: true,\n convertForMultiRigs: getAverage,\n category: metricsCategories.landing_string_group,\n};\n\nexport const tripping_out_speed_with_connection_landingstring = {\n label: 'Landing String - Entire Hole Tripping Out Speed (With Connection)',\n key: 'tripping_out_speed_with_connection_landingstring',\n unitType: 'velocity',\n from: 'ft/h',\n isBiggestBest: true,\n convertForMultiRigs: getAverage,\n category: metricsCategories.landing_string_group,\n};\n\nexport const tripping_out_speed_open_with_connection_landingstring = {\n label: 'Landing String - Open Hole Tripping Out Speed (With Connection)',\n key: 'tripping_out_speed_open_with_connection_landingstring',\n unitType: 'velocity',\n from: 'ft/h',\n isBiggestBest: true,\n convertForMultiRigs: getAverage,\n category: metricsCategories.landing_string_group,\n};\n\nexport const tripping_out_speed_cased_with_connection_landingstring = {\n label: 'Landing String - Cased Hole Tripping Out Speed (With Connection)',\n key: 'tripping_out_speed_cased_with_connection_landingstring',\n unitType: 'velocity',\n from: 'ft/h',\n isBiggestBest: true,\n convertForMultiRigs: getAverage,\n category: metricsCategories.landing_string_group,\n};\n\nexport const tripping_in_speed_landingstring = {\n label: 'Landing String - Entire Hole Tripping In Speed',\n key: 'tripping_in_speed_landingstring',\n unitType: 'velocity',\n from: 'ft/h',\n isBiggestBest: true,\n convertForMultiRigs: getAverage,\n category: metricsCategories.landing_string_group,\n};\n\nexport const tripping_in_speed_open_landingstring = {\n label: 'Landing String - Open Hole Tripping In Speed',\n key: 'tripping_in_speed_open_landingstring',\n unitType: 'velocity',\n from: 'ft/h',\n isBiggestBest: true,\n convertForMultiRigs: getAverage,\n category: metricsCategories.landing_string_group,\n};\n\nexport const tripping_in_speed_cased_landingstring = {\n label: 'Landing String - Cased Hole Tripping In Speed',\n key: 'tripping_in_speed_cased_landingstring',\n unitType: 'velocity',\n from: 'ft/h',\n isBiggestBest: true,\n convertForMultiRigs: getAverage,\n category: metricsCategories.landing_string_group,\n};\n\nexport const tripping_out_speed_landingstring = {\n label: 'Landing String - Entire Hole Tripping Out Speed',\n key: 'tripping_out_speed_landingstring',\n unitType: 'velocity',\n from: 'ft/h',\n isBiggestBest: true,\n convertForMultiRigs: getAverage,\n category: metricsCategories.landing_string_group,\n};\n\nexport const tripping_out_speed_open_landingstring = {\n label: 'Landing String - Open Hole Tripping Out Speed',\n key: 'tripping_out_speed_open_landingstring',\n unitType: 'velocity',\n from: 'ft/h',\n isBiggestBest: true,\n convertForMultiRigs: getAverage,\n category: metricsCategories.landing_string_group,\n};\n\nexport const tripping_out_speed_cased_landingstring = {\n label: 'Landing String - Cased Hole Tripping Out Speed',\n key: 'tripping_out_speed_cased_landingstring',\n unitType: 'velocity',\n from: 'ft/h',\n isBiggestBest: true,\n convertForMultiRigs: getAverage,\n category: metricsCategories.landing_string_group,\n};\n\nexport const tripping_in_connection_time_landingstring = {\n label: 'Landing String - Entire Hole Tripping In Connection Time',\n key: 'tripping_in_connection_time_landingstring',\n to: 'min',\n from: 's',\n unitType: 'time',\n convertForMultiRigs: getAverage,\n category: metricsCategories.landing_string_group,\n};\n\nexport const tripping_in_connection_time_open_landingstring = {\n label: 'Landing String - Open Hole Tripping In Connection Time',\n key: 'tripping_in_connection_time_open_landingstring',\n to: 'min',\n from: 's',\n unitType: 'time',\n convertForMultiRigs: getAverage,\n category: metricsCategories.landing_string_group,\n};\n\nexport const tripping_in_connection_time_cased_landingstring = {\n label: 'Landing String - Cased Hole Tripping In Connection Time',\n key: 'tripping_in_connection_time_cased_landingstring',\n to: 'min',\n from: 's',\n unitType: 'time',\n convertForMultiRigs: getAverage,\n category: metricsCategories.landing_string_group,\n};\n\nexport const tripping_out_connection_time_landingstring = {\n label: 'Landing String - Entire Hole Tripping Out Connection Time',\n key: 'tripping_out_connection_time_landingstring',\n to: 'min',\n from: 's',\n unitType: 'time',\n convertForMultiRigs: getAverage,\n category: metricsCategories.landing_string_group,\n};\n\nexport const tripping_out_connection_time_open_landingstring = {\n label: 'Landing String - Open Hole Tripping Out Connection Time',\n key: 'tripping_out_connection_time_open_landingstring',\n to: 'min',\n from: 's',\n unitType: 'time',\n convertForMultiRigs: getAverage,\n category: metricsCategories.landing_string_group,\n};\n\nexport const tripping_out_connection_time_cased_landingstring = {\n label: 'Landing String - Cased Hole Tripping Out Connection Time',\n key: 'tripping_out_connection_time_cased_landingstring',\n to: 'min',\n from: 's',\n unitType: 'time',\n convertForMultiRigs: getAverage,\n category: metricsCategories.landing_string_group,\n};\n\nexport const gross_tripping_in_speed_bha_tubing_single = {\n label: 'Single Tubing Tripping In Speed',\n key: 'gross_tripping_in_speed_bha_tubing_single',\n convertForMultiRigs: getAverage,\n category: metricsCategories.tripping_in_speed_group,\n unitType: 'velocity',\n from: 'ft/h',\n};\n\nexport const gross_tripping_in_speed_bha_tubing_double = {\n label: 'Double Tubing Tripping In Speed',\n key: 'gross_tripping_in_speed_bha_tubing_double',\n convertForMultiRigs: getAverage,\n category: metricsCategories.tripping_in_speed_group,\n unitType: 'velocity',\n from: 'ft/h',\n};\n\nexport const gross_tripping_in_speed_bha_rod_single = {\n label: 'Single Rod Tripping In Speed',\n key: 'gross_tripping_in_speed_bha_rod_single',\n convertForMultiRigs: getAverage,\n category: metricsCategories.tripping_in_speed_group,\n unitType: 'velocity',\n from: 'ft/h',\n};\n\nexport const gross_tripping_in_speed_bha_rod_double = {\n label: 'Double Rod Tripping In Speed',\n key: 'gross_tripping_in_speed_bha_rod_double',\n convertForMultiRigs: getAverage,\n category: metricsCategories.tripping_in_speed_group,\n unitType: 'velocity',\n from: 'ft/h',\n};\n\nexport const tripping_in_speed_std_hr = {\n label: 'BHA tripping in speed with connections',\n key: 'tripping_in_speed_std_hr',\n convertForMultiRigs: getAverage,\n category: metricsCategories.tripping_in_speed_group,\n unitType: null,\n unitDisplay: 'stands/h',\n};\n\nexport const gross_tripping_out_speed_bha_tubing_single = {\n label: 'Single Tubing Tripping Out Speed',\n key: 'gross_tripping_out_speed_bha_tubing_single',\n convertForMultiRigs: getAverage,\n category: metricsCategories.tripping_out_speed_group,\n unitType: 'velocity',\n from: 'ft/h',\n};\n\nexport const gross_tripping_out_speed_bha_tubing_double = {\n label: 'Double Tubing Tripping Out Speed',\n key: 'gross_tripping_out_speed_bha_tubing_double',\n convertForMultiRigs: getAverage,\n category: metricsCategories.tripping_out_speed_group,\n unitType: 'velocity',\n from: 'ft/h',\n};\n\nexport const gross_tripping_out_speed_bha_rod_single = {\n label: 'Single Rod Tripping Out Speed',\n key: 'gross_tripping_out_speed_bha_rod_single',\n convertForMultiRigs: getAverage,\n category: metricsCategories.tripping_out_speed_group,\n unitType: 'velocity',\n from: 'ft/h',\n};\n\nexport const gross_tripping_out_speed_bha_rod_double = {\n label: 'Double Rod Tripping Out Speed',\n key: 'gross_tripping_out_speed_bha_rod_double',\n convertForMultiRigs: getAverage,\n category: metricsCategories.tripping_out_speed_group,\n unitType: 'velocity',\n from: 'ft/h',\n};\n\nexport const tripping_out_speed_std_hr = {\n label: 'BHA tripping out speed with connections',\n key: 'tripping_out_speed_std_hr',\n convertForMultiRigs: getAverage,\n category: metricsCategories.tripping_out_speed_group,\n unitType: null,\n unitDisplay: 'stands/h',\n};\n\nexport const tripping_connection_average = {\n label: 'Tripping Connection Average Time',\n key: 'tripping_connection_average',\n convertForMultiRigs: getAverage,\n category: metricsCategories.tripping_connection_group,\n to: 'min',\n from: 's',\n unitType: 'time',\n};\n\nexport const tripping_connection_time = {\n label: 'Tripping Connection Total Time',\n key: 'tripping_connection_time',\n convertForMultiRigs: getSum,\n category: metricsCategories.tripping_connection_group,\n to: 'min',\n from: 's',\n unitType: 'time',\n};\n\nexport const tripping_speed = {\n label: 'Tripping Speed',\n key: 'tripping_speed',\n unitType: 'velocity',\n from: 'ft/h',\n isBiggestBest: true,\n convertForMultiRigs: getAverage,\n};\n\nexport const tripping_out_time = {\n label: 'Tripping Out Time',\n key: 'tripping_out_time',\n unitType: 'time',\n from: 's',\n to: 'h',\n convertForMultiRigs: getSum,\n};\n\nexport const gross_tripping_in_speed_bha_std_hr = {\n label: 'BHA tripping in speed with connections',\n key: 'gross_tripping_in_speed_bha_std_hr',\n unitType: null,\n unitDisplay: 'stands/h',\n convertForMultiRigs: getAverage,\n category: metricsCategories.tripping_in_speed_group,\n};\n\nexport const gross_tripping_out_speed_bha_std_hr = {\n label: 'BHA tripping out speed with connections',\n key: 'gross_tripping_out_speed_bha_std_hr',\n unitType: null,\n unitDisplay: 'stands/h',\n convertForMultiRigs: getAverage,\n category: metricsCategories.tripping_out_speed_group,\n};\n\nexport const gross_tripping_in_time = {\n label: 'Total tripping in time — pipe-moving with connections',\n key: 'gross_tripping_in_time',\n unitType: 'time',\n from: 's',\n to: 'h',\n convertForMultiRigs: getSum,\n};\n"],"names":["hole_depth","label","key","isBiggestBest","unitType","from","convertForMultiRigs","getMax","category","metricsCategories","drilling_group","hole_depth_change","getSum","hole_depth_change_lateral","drilled_feet_rotary","drilled_feet_slide","drilled_feet_rotary_percentage","to","customConvert","convertPercentageMetrics","getAverage","percent_group","drilled_feet_slide_percentage","drilling_percentage","rop","rop_group","rop_rotary","rop_slide","rop_net","rop_gross","feet_per_day","formatUnitDisplay","unitDisplay","concat","on_bottom_time","on_bottom_percentage","drilling_connection_average","drilling_connection_group","weight_to_weight_average","bottom_to_slips_average","slips_to_bottom_average","pumps_on_to_bottom_average","tripping_in_speed","tripping_in_speed_group","tripping_out_speed","tripping_out_speed_group","tripping_in_speed_cased","tripping_out_speed_cased","tripping_in_speed_open","tripping_out_speed_open","slips_to_slips","casing_group","gross_tripping_in_speed_cased","gross_tripping_in_speed_cased_std_hr","gross_tripping_in_speed_open","gross_tripping_in_speed_open_std_hr","gross_tripping_in_speed","gross_tripping_in_speed_std_hr","gross_tripping_in_speed_bha","gross_tripping_in_speed_open_bha","gross_tripping_in_speed_cased_bha","gross_tripping_out_speed_bha","gross_tripping_out_speed_open_bha","gross_tripping_out_speed_cased_bha","gross_tripping_in_speed_total","gross_tripping_out_speed_total","cost_per_ft","getUnitDescription","getUnitPreference","singular","labelFunc","value","convertValue","cost_group","cost_per_lat_ft","npt","circulating_time","spud_to_rig_release_time","spud_time_group","spud_to_target","spud_to_total_depth_time","spud_to_landing_point","cumulative_tortuosity","weight_to_weight_count","tripping_connection_count","tripping_connection_group","tripping_in_connection_count","tripping_out_connection_count","tripping_in_speed_with_connection","tripping_out_speed_with_connection","slips_to_slips_count","bha_count","tripping_in_connection_time_open_average","tripping_in_connection_time_cased_average","tripping_in_connection_average","tripping_out_connection_time_open_average","tripping_out_connection_time_cased_average","tripping_out_connection_average","total_variance_hal","allowNegativeValue","tripping_in_speed_with_connection_landingstring","landing_string_group","tripping_in_speed_open_with_connection_landingstring","tripping_in_speed_cased_with_connection_landingstring","tripping_out_speed_with_connection_landingstring","tripping_out_speed_open_with_connection_landingstring","tripping_out_speed_cased_with_connection_landingstring","tripping_in_speed_landingstring","tripping_in_speed_open_landingstring","tripping_in_speed_cased_landingstring","tripping_out_speed_landingstring","tripping_out_speed_open_landingstring","tripping_out_speed_cased_landingstring","tripping_in_connection_time_landingstring","tripping_in_connection_time_open_landingstring","tripping_in_connection_time_cased_landingstring","tripping_out_connection_time_landingstring","tripping_out_connection_time_open_landingstring","tripping_out_connection_time_cased_landingstring","gross_tripping_in_speed_bha_tubing_single","gross_tripping_in_speed_bha_tubing_double","gross_tripping_in_speed_bha_rod_single","gross_tripping_in_speed_bha_rod_double","tripping_in_speed_std_hr","gross_tripping_out_speed_bha_tubing_single","gross_tripping_out_speed_bha_tubing_double","gross_tripping_out_speed_bha_rod_single","gross_tripping_out_speed_bha_rod_double","tripping_out_speed_std_hr","tripping_connection_average","tripping_connection_time","tripping_speed","tripping_out_time","gross_tripping_in_speed_bha_std_hr","gross_tripping_out_speed_bha_std_hr","gross_tripping_in_time"],"mappings":"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"}
1
+ {"version":3,"file":"metricsConfig.js","sources":["../../../../src/utils/metrics/metricsConfig.js"],"sourcesContent":["/* eslint-disable camelcase */\n\n/*\n These are base configs for all metrics\n Any app can overwrite and extend any config\n Config specs: https://www.notion.so/corva/Drilling-Metrics-31de1dc4b7b448ec9e91ad4b61a941a2\n\n Fields:\n Required:\n label: UI metric name\n key: api key for metric\n\n Optional:\n unitType: the class of unit such as volume, length, mass, etc, used in convert.js\n from: the specific unit such as m, gal, lb, etc according to api\n to: the unit that we want to convert the value to (on UI)\n precision: rounding api metric value, default is 2\n isBiggestBest: some metrics should be maximized, other - minimized\n customScale: function for scaling metrics, for example percents\n formatUnitDisplay: takes unitDisplay as argument\n allowNegativeValue: only a few metrics can be negative\n unitDisplay: the unit that we want to display on UI (for non-convertible metrics)\n\n*/\nimport { getUnitPreference, getUnitDescription, convertValue } from '../convert';\n\nimport { convertPercentageMetrics, getSum, getAverage, getMax } from './utils';\nimport { metricsCategories } from './metricsCategories';\n\nexport const hole_depth = {\n label: 'Hole Depth',\n key: 'hole_depth',\n isBiggestBest: true,\n unitType: 'length',\n from: 'ft',\n convertForMultiRigs: getMax,\n category: metricsCategories.drilling_group,\n};\n\nexport const hole_depth_change = {\n label: 'Total Distance Drilled',\n key: 'hole_depth_change',\n unitType: 'length',\n from: 'ft',\n isBiggestBest: true,\n convertForMultiRigs: getSum,\n category: metricsCategories.drilling_group,\n};\n\nexport const hole_depth_change_lateral = {\n label: 'Lateral Length',\n key: 'hole_depth_change_lateral',\n unitType: 'length',\n from: 'ft',\n isBiggestBest: true,\n convertForMultiRigs: getSum,\n category: metricsCategories.drilling_group,\n};\n\nexport const drilled_feet_rotary = {\n label: 'Rotary Distance Drilled',\n key: 'drilled_feet_rotary',\n unitType: 'length',\n from: 'ft',\n isBiggestBest: true,\n convertForMultiRigs: getSum,\n category: metricsCategories.drilling_group,\n};\n\nexport const drilled_feet_slide = {\n label: 'Slide Distance Drilled',\n key: 'drilled_feet_slide',\n unitType: 'length',\n from: 'ft',\n convertForMultiRigs: getSum,\n category: metricsCategories.drilling_group,\n};\n\nexport const drilled_feet_rotary_percentage = {\n label: 'Rotary %',\n key: 'drilled_feet_rotary_percentage',\n to: '%',\n customConvert: convertPercentageMetrics,\n isBiggestBest: true,\n convertForMultiRigs: getAverage,\n category: metricsCategories.percent_group,\n};\nexport const drilled_feet_slide_percentage = {\n label: 'Slide %',\n key: 'drilled_feet_slide_percentage',\n to: '%',\n customConvert: convertPercentageMetrics,\n convertForMultiRigs: getAverage,\n category: metricsCategories.percent_group,\n};\nexport const drilling_percentage = {\n label: 'Drilling %',\n key: 'drilling_percentage',\n to: '%',\n customConvert: convertPercentageMetrics,\n isBiggestBest: true,\n};\nexport const rop = {\n label: 'On-Bottom ROP',\n key: 'rop',\n unitType: 'velocity',\n from: 'ft/h',\n isBiggestBest: true,\n convertForMultiRigs: getAverage,\n category: metricsCategories.rop_group,\n};\nexport const rop_rotary = {\n label: 'Rotary ROP',\n key: 'rop_rotary',\n unitType: 'velocity',\n from: 'ft/h',\n isBiggestBest: true,\n convertForMultiRigs: getAverage,\n category: metricsCategories.rop_group,\n};\nexport const rop_slide = {\n label: 'Slide ROP',\n key: 'rop_slide',\n unitType: 'velocity',\n from: 'ft/h',\n isBiggestBest: true,\n convertForMultiRigs: getAverage,\n category: metricsCategories.rop_group,\n};\nexport const rop_net = {\n label: 'Net ROP',\n key: 'rop_net',\n unitType: 'velocity',\n from: 'ft/h',\n isBiggestBest: true,\n convertForMultiRigs: getAverage,\n category: metricsCategories.rop_group,\n};\nexport const rop_gross = {\n label: 'Gross ROP',\n key: 'rop_gross',\n unitType: 'velocity',\n from: 'ft/h',\n isBiggestBest: true,\n convertForMultiRigs: getAverage,\n category: metricsCategories.rop_group,\n};\nexport const feet_per_day = {\n label: 'Drilled Distance/Day',\n key: 'feet_per_day',\n unitType: 'length',\n from: 'ft',\n formatUnitDisplay: unitDisplay => `${unitDisplay}/day`,\n isBiggestBest: true,\n convertForMultiRigs: getAverage,\n category: metricsCategories.drilling_group,\n};\nexport const drilling_time_rotary = {\n label: 'Rotary Drilling Time',\n key: 'drilling_time_rotary',\n unitType: 'time',\n to: 'h',\n isBiggestBest: true,\n};\nexport const drilling_time_slide = {\n label: 'Slide Drilling Time',\n key: 'drilling_time_slide',\n unitType: 'time',\n to: 'h',\n};\nexport const on_bottom_time = {\n label: 'On Bottom Time',\n key: 'on_bottom_time',\n to: 'h',\n unitType: 'time',\n convertForMultiRigs: getSum,\n category: metricsCategories.drilling_group,\n};\nexport const on_bottom_percentage = {\n label: 'On Bottom %',\n key: 'on_bottom_percentage',\n to: '%',\n customConvert: convertPercentageMetrics,\n isBiggestBest: true,\n convertForMultiRigs: getAverage,\n category: metricsCategories.percent_group,\n};\nexport const drilling_connection_average = {\n label: 'Slips to Slips',\n key: 'drilling_connection_average',\n to: 'min',\n unitType: 'time',\n from: 's',\n convertForMultiRigs: getAverage,\n category: metricsCategories.drilling_connection_group,\n};\nexport const weight_to_weight_average = {\n label: 'Weight to Weight',\n key: 'weight_to_weight_average',\n to: 'min',\n from: 's',\n unitType: 'time',\n convertForMultiRigs: getAverage,\n category: metricsCategories.drilling_connection_group,\n};\n\nexport const bottom_to_slips_average = {\n label: 'Bottom to Slips',\n key: 'bottom_to_slips_average',\n to: 'min',\n from: 's',\n unitType: 'time',\n convertForMultiRigs: getAverage,\n category: metricsCategories.drilling_connection_group,\n};\nexport const slips_to_bottom_average = {\n label: 'Slips to Bottom',\n key: 'slips_to_bottom_average',\n to: 'min',\n from: 's',\n unitType: 'time',\n convertForMultiRigs: getAverage,\n category: metricsCategories.drilling_connection_group,\n};\n\nexport const pumps_on_to_bottom_average = {\n label: 'Pumps on to Bottom',\n key: 'pumps_on_to_bottom_average',\n to: 'min',\n from: 's',\n unitType: 'time',\n convertForMultiRigs: getAverage,\n category: metricsCategories.drilling_connection_group,\n};\n\nexport const tripping_in_speed = {\n label: 'Entire Hole Tripping In Speed',\n key: 'tripping_in_speed',\n unitType: 'velocity',\n from: 'ft/h',\n isBiggestBest: true,\n convertForMultiRigs: getAverage,\n category: metricsCategories.tripping_in_speed_group,\n};\nexport const tripping_out_speed = {\n label: 'Entire Hole Tripping Out Speed',\n key: 'tripping_out_speed',\n unitType: 'velocity',\n from: 'ft/h',\n isBiggestBest: true,\n convertForMultiRigs: getAverage,\n category: metricsCategories.tripping_out_speed_group,\n};\nexport const tripping_in_speed_cased = {\n label: 'Cased Hole Tripping In Speed',\n key: 'tripping_in_speed_cased',\n unitType: 'velocity',\n from: 'ft/h',\n isBiggestBest: true,\n convertForMultiRigs: getAverage,\n category: metricsCategories.tripping_in_speed_group,\n};\nexport const tripping_out_speed_cased = {\n label: 'Cased Hole Tripping Out Speed',\n key: 'tripping_out_speed_cased',\n unitType: 'velocity',\n from: 'ft/h',\n isBiggestBest: true,\n convertForMultiRigs: getAverage,\n category: metricsCategories.tripping_out_speed_group,\n};\nexport const tripping_in_speed_open = {\n label: 'Open Hole Tripping In Speed',\n key: 'tripping_in_speed_open',\n unitType: 'velocity',\n from: 'ft/h',\n isBiggestBest: true,\n convertForMultiRigs: getAverage,\n category: metricsCategories.tripping_in_speed_group,\n};\nexport const tripping_out_speed_open = {\n label: 'Open Hole Tripping Out Speed',\n key: 'tripping_out_speed_open',\n unitType: 'velocity',\n from: 'ft/h',\n isBiggestBest: true,\n convertForMultiRigs: getAverage,\n category: metricsCategories.tripping_out_speed_group,\n};\nexport const tripping_in_time_cased = {\n label: 'Casing Tripping In Cased Hole',\n key: 'tripping_in_time_cased',\n to: 'min',\n from: 's',\n unitType: 'time',\n};\nexport const tripping_in_time_open = {\n label: 'Casing Tripping In Open Hole',\n key: 'tripping_in_time_open',\n to: 'min',\n from: 's',\n unitType: 'time',\n};\nexport const tripping_in_time = {\n label: 'Casing Tripping In Entire Hole',\n key: 'tripping_in_time',\n to: 'min',\n from: 's',\n unitType: 'time',\n};\nexport const tripping_in_connection_time_cased = {\n label: 'Connection Time in Cased Hole',\n key: 'tripping_in_connection_time_cased',\n to: 'min',\n from: 's',\n unitType: 'time',\n};\nexport const tripping_in_time_with_connection_open = {\n label: 'Casing Tripping In Open Hole + Connection Time in Open Hole',\n key: 'tripping_in_time_with_connection_open',\n to: 'min',\n from: 'h',\n unitType: 'time',\n};\nexport const tripping_in_time_with_connection = {\n label: 'Casing Tripping In Entire Hole + Connection Time in Entire Hole',\n key: 'tripping_in_time_with_connection',\n to: 'min',\n from: 'h',\n unitType: 'time',\n};\nexport const slips_to_slips = {\n label: 'Casing Slips to Slips',\n key: 'slips_to_slips_average',\n to: 'min',\n from: 's',\n unitType: 'time',\n convertForMultiRigs: getAverage,\n category: metricsCategories.casing_group,\n};\nexport const gross_tripping_in_speed_cased = {\n label: 'Casing - Cased Hole Tripping In Speed (With Connection)',\n key: 'gross_tripping_in_speed_cased',\n unitType: 'velocity',\n from: 'ft/h',\n convertForMultiRigs: getAverage,\n category: metricsCategories.casing_group,\n};\nexport const gross_tripping_in_speed_cased_std_hr = {\n label: 'Casing - Cased Hole Tripping In Speed (Joints/Hr, With Connection)',\n key: 'gross_tripping_in_speed_cased_std/hr',\n unitType: null,\n unitDisplay: 'joints/h',\n convertForMultiRigs: getAverage,\n category: metricsCategories.casing_group,\n};\nexport const gross_tripping_in_speed_open = {\n label: 'Casing - Open Hole Tripping In Speed (With Connection)',\n key: 'gross_tripping_in_speed_open',\n unitType: 'velocity',\n from: 'ft/h',\n convertForMultiRigs: getAverage,\n category: metricsCategories.casing_group,\n};\nexport const gross_tripping_in_speed_open_std_hr = {\n label: 'Casing - Open Hole Tripping In Speed (Joints/Hr, With Connection)',\n key: 'gross_tripping_in_speed_open_std/hr',\n unitType: null,\n unitDisplay: 'joints/h',\n convertForMultiRigs: getAverage,\n category: metricsCategories.casing_group,\n};\nexport const gross_tripping_in_speed = {\n label: 'Casing - Entire Hole Tripping In Speed (With Connection)',\n key: 'gross_tripping_in_speed',\n unitType: 'velocity',\n from: 'ft/h',\n convertForMultiRigs: getAverage,\n category: metricsCategories.casing_group,\n};\nexport const gross_tripping_in_speed_std_hr = {\n label: 'Casing - Entire Hole Tripping In Speed (Joints/Hr, With Connection)',\n key: 'gross_tripping_in_speed_std/hr',\n unitType: null,\n unitDisplay: 'joints/h',\n convertForMultiRigs: getAverage,\n category: metricsCategories.casing_group,\n};\nexport const gross_tripping_in_speed_bha = {\n label: 'Entire Hole Tripping In Speed (With Connection)',\n key: 'gross_tripping_in_speed_bha',\n unitType: 'velocity',\n from: 'ft/h',\n convertForMultiRigs: getAverage,\n category: metricsCategories.tripping_in_speed_group,\n};\nexport const gross_tripping_in_speed_open_bha = {\n label: 'Open Hole Tripping In Speed (With Connection)',\n key: 'gross_tripping_in_speed_open_bha',\n unitType: 'velocity',\n from: 'ft/h',\n convertForMultiRigs: getAverage,\n category: metricsCategories.tripping_in_speed_group,\n};\nexport const gross_tripping_in_speed_cased_bha = {\n label: 'Cased Hole Tripping In Speed (With Connection)',\n key: 'gross_tripping_in_speed_cased_bha',\n unitType: 'velocity',\n from: 'ft/h',\n convertForMultiRigs: getAverage,\n category: metricsCategories.tripping_in_speed_group,\n};\nexport const gross_tripping_out_speed_bha = {\n label: 'Entire Hole Tripping Out Speed (With Connection)',\n key: 'gross_tripping_out_speed_bha',\n unitType: 'velocity',\n from: 'ft/h',\n convertForMultiRigs: getAverage,\n category: metricsCategories.tripping_out_speed_group,\n};\nexport const gross_tripping_out_speed_open_bha = {\n label: 'Open Hole Tripping Out Speed (With Connection)',\n key: 'gross_tripping_out_speed_open_bha',\n unitType: 'velocity',\n from: 'ft/h',\n convertForMultiRigs: getAverage,\n category: metricsCategories.tripping_out_speed_group,\n};\nexport const gross_tripping_out_speed_cased_bha = {\n label: 'Cased Hole Tripping Out Speed (With Connection)',\n key: 'gross_tripping_out_speed_cased_bha',\n unitType: 'velocity',\n from: 'ft/h',\n convertForMultiRigs: getAverage,\n category: metricsCategories.tripping_out_speed_group,\n};\n\nexport const gross_tripping_in_speed_total = {\n label: 'Gross Tripping In Speed',\n key: 'gross_tripping_in_speed_total',\n unitType: 'velocity',\n from: 'ft/h',\n convertForMultiRigs: getAverage,\n};\n\nexport const gross_tripping_out_speed_total = {\n label: 'Gross Tripping Out Speed',\n key: 'gross_tripping_out_speed_total',\n unitType: 'velocity',\n from: 'ft/h',\n convertForMultiRigs: getAverage,\n category: metricsCategories.tripping_out_speed_group,\n};\n\nexport const cost_per_ft = {\n label: `Cost/${getUnitDescription(getUnitPreference('length')).singular}`,\n labelFunc: () => `Cost/${getUnitDescription(getUnitPreference('length')).singular}`,\n key: 'cost_per_ft',\n customConvert: value => value / convertValue(1, 'length', 'ft'),\n convertForMultiRigs: getAverage,\n category: metricsCategories.cost_group,\n};\n\nexport const cost_per_lat_ft = {\n label: `Lateral Cost/${getUnitDescription(getUnitPreference('length')).singular}`,\n labelFunc: () => `Lateral Cost/${getUnitDescription(getUnitPreference('length')).singular}`,\n key: 'cost_per_lat_ft',\n customConvert: value => value / convertValue(1, 'length', 'ft'),\n convertForMultiRigs: getAverage,\n category: metricsCategories.cost_group,\n};\n\nexport const npt = {\n label: 'NPT',\n key: 'npt',\n unitType: 'time',\n from: 'h',\n to: 'h',\n convertForMultiRigs: getSum,\n category: metricsCategories.drilling_group,\n};\n\nexport const circulating_time = {\n label: 'Circulating Time',\n key: 'circulating_time',\n unitType: 'time',\n from: 'h',\n to: 'h',\n convertForMultiRigs: getSum,\n category: metricsCategories.drilling_group,\n};\n\nexport const spud_to_rig_release_time = {\n label: 'Spud to Rig Release',\n key: 'spud_to_rig_release_time',\n unitType: 'time',\n from: 'h',\n to: 'd',\n convertForMultiRigs: getMax,\n category: metricsCategories.spud_time_group,\n};\n\nexport const spud_to_target = {\n label: 'Spud to Target',\n key: 'spud_to_target',\n unitType: 'time',\n from: 'h',\n to: 'd',\n convertForMultiRigs: getMax,\n category: metricsCategories.spud_time_group,\n};\n\nexport const spud_to_total_depth_time = {\n label: 'Spud to Total Depth',\n key: 'spud_to_total_depth_time',\n unitType: 'time',\n from: 'h',\n to: 'd',\n convertForMultiRigs: getMax,\n category: metricsCategories.spud_time_group,\n};\n\nexport const spud_to_landing_point = {\n label: 'Spud to Landing Point',\n key: 'spud_to_landing_point',\n unitType: 'time',\n from: 'h',\n to: 'd',\n convertForMultiRigs: getMax,\n category: metricsCategories.spud_time_group,\n};\n\nexport const total_time = {\n label: 'Total Time',\n key: 'total_time',\n unitType: 'time',\n from: 'h',\n to: 'd',\n};\n\nexport const drilling_time = {\n label: 'Drilling Time',\n key: 'drilling_time',\n unitType: 'time',\n from: 's',\n to: 'h',\n};\n\nexport const tripping_time = {\n label: 'Tripping Time',\n key: 'tripping_time',\n unitType: 'time',\n from: 's',\n to: 'h',\n};\n\nexport const gross_time = {\n label: 'Gross Time',\n key: 'gross_time',\n unitType: 'time',\n from: 's',\n to: 'h',\n};\n\nexport const turn_rate = {\n label: 'Turn Rate',\n key: 'turn_rate',\n unitType: 'anglePerLength',\n from: 'dp100f',\n allowNegativeValue: true,\n};\n\nexport const build_rate = {\n label: 'Build Rate',\n key: 'build_rate',\n unitType: 'anglePerLength',\n from: 'dp100f',\n allowNegativeValue: true,\n};\n\n// NOTE: Has no unit\nexport const cumulative_tortuosity = {\n label: 'Cumulative Tortuosity',\n key: 'cumulative_tortuosity',\n convertForMultiRigs: getAverage,\n category: metricsCategories.drilling_group,\n};\n\nexport const weight_to_weight_count = {\n label: 'Drilling Stand Count',\n key: 'weight_to_weight_count',\n convertForMultiRigs: getSum,\n category: metricsCategories.drilling_connection_group,\n};\n\nexport const tripping_connection_count = {\n label: 'Tripping Connection Count',\n key: 'tripping_connection_count',\n convertForMultiRigs: getSum,\n category: metricsCategories.tripping_connection_group,\n};\n\nexport const tripping_in_connection_count = {\n label: 'Tripping In Connection Count',\n key: 'tripping_in_connection_count',\n convertForMultiRigs: getSum,\n category: metricsCategories.tripping_connection_group,\n};\n\nexport const tripping_out_connection_count = {\n label: 'Tripping Out Connection Count',\n key: 'tripping_out_connection_count',\n convertForMultiRigs: getSum,\n category: metricsCategories.tripping_connection_group,\n};\n\nexport const tripping_in_speed_with_connection = {\n label: 'Tripping In Speed (With Connection)',\n key: 'tripping_in_speed_with_connection',\n unitType: 'velocity',\n from: 'ft/h',\n convertForMultiRigs: getAverage,\n category: metricsCategories.tripping_in_speed_group,\n};\n\nexport const tripping_out_speed_with_connection = {\n label: 'Tripping Out Speed (With Connection)',\n key: 'tripping_out_speed_with_connection',\n unitType: 'velocity',\n from: 'ft/h',\n convertForMultiRigs: getAverage,\n category: metricsCategories.tripping_out_speed_group,\n};\n\nexport const slips_to_slips_count = {\n label: 'Casing Stand Count',\n key: 'slips_to_slips_count',\n convertForMultiRigs: getSum,\n category: metricsCategories.casing_group,\n};\n\nexport const bha_count = {\n label: \"Total BHA's\",\n key: 'bha_count',\n category: metricsCategories.drilling_group,\n};\n\nexport const gross_tripping_in_time_cased = {\n label: 'Cased Hole Tripping In Time (With Connection)',\n key: 'gross_tripping_in_time_cased',\n unitType: 'time',\n from: 'min',\n};\n\nexport const gross_tripping_in_time_open = {\n label: 'Open Hole Tripping In Time (With Connection)',\n key: 'gross_tripping_in_time_open',\n unitType: 'time',\n from: 'min',\n};\n\nexport const tripping_in_connection_time = {\n label: 'Tripping in (Connection)',\n key: 'tripping_in_connection_time',\n unitType: 'time',\n from: 'min',\n};\n\nexport const tripping_out_connection_time = {\n label: 'Tripping out (Connection)',\n key: 'tripping_out_connection_time',\n unitType: 'time',\n from: 'min',\n};\n\nexport const nu_nd_diverter_timelog_hal = {\n label: 'NU/ND Diverter',\n key: 'nu_nd_diverter_timelog_hal',\n unitType: 'time',\n from: 's',\n to: 'h',\n};\nexport const ru_rd_casing_handling_equip_timelog_hal = {\n label: 'RU/RD Casing Handling Equip',\n key: 'ru_rd_casing_handling_equip_timelog_hal',\n unitType: 'time',\n from: 's',\n to: 'h',\n};\n\nexport const bop_wellhead_xmt_nu_nd_timelog_hal = {\n label: 'BOP/Wellhead/XMT NU/ND',\n key: 'bop_wellhead_xmt_nu_nd_timelog_hal',\n unitType: 'time',\n from: 's',\n to: 'h',\n};\n\nexport const bop_pressure_function_test_timelog_hal = {\n label: 'BOP Pressure & Function Test',\n key: 'bop_pressure_function_test_timelog_hal',\n unitType: 'time',\n from: 's',\n to: 'h',\n};\n\nexport const install_retrieve_wear_bushing_timelog_hal = {\n label: 'Install / Retrieve Wear Bushing',\n key: 'install_retrieve_wear_bushing_timelog_hal',\n unitType: 'time',\n from: 's',\n to: 'h',\n};\n\nexport const p_u_l_d_bha_timelog_hal = {\n label: 'P/U & L/D BHA',\n key: 'p_u_l_d_bha_timelog_hal',\n unitType: 'time',\n from: 's',\n to: 'h',\n};\n\nexport const drillout_casing_shoe_track_timelog_hal = {\n label: 'Drillout Casing Shoe Track',\n key: 'drillout_casing_shoe_track_timelog_hal',\n unitType: 'time',\n from: 's',\n to: 'h',\n};\n\nexport const slip_cut_timelog_hal = {\n label: 'Slip & Cut',\n key: 'slip_cut_timelog_hal',\n unitType: 'time',\n from: 's',\n to: 'h',\n};\n\nexport const survey_time_timelog_hal = {\n label: 'Survey Time',\n key: 'survey_time_timelog_hal',\n unitType: 'time',\n from: 's',\n to: 'h',\n};\n\nexport const drill_fit_lot_timelog_hal = {\n label: 'Drill & FIT/LOT',\n key: 'drill_fit_lot_timelog_hal',\n unitType: 'time',\n from: 's',\n to: 'h',\n};\n\nexport const pressure_test_timelog_hal = {\n label: 'Pressure Test',\n key: 'pressure_test_timelog_hal',\n unitType: 'time',\n from: 's',\n to: 'h',\n};\n\nexport const ru_rd_mpd_system_or_rcd_timelog_hal = {\n label: 'RU/RD MPD System or RCD',\n key: 'ru_rd_mpd_system_or_rcd_timelog_hal',\n unitType: 'time',\n from: 's',\n to: 'h',\n};\n\nexport const achieve_frac_design_injection_rate_timelog_hal = {\n label: 'Achieve Frac Design Injection Rate',\n key: 'achieve_frac_design_injection_rate_timelog_hal',\n unitType: 'time',\n from: 's',\n to: 'h',\n};\n\nexport const ru_rd_frac_head_timelog_hal = {\n label: 'RU/RD Frac Head',\n key: 'ru_rd_frac_head_timelog_hal',\n unitType: 'time',\n from: 's',\n to: 'h',\n};\n\nexport const ru_rd_wireline_timelog_hal = {\n label: 'RU/RD Wireline',\n key: 'ru_rd_wireline_timelog_hal',\n unitType: 'time',\n from: 's',\n to: 'h',\n};\n\nexport const ru_rd_lubricator_perf_guns_timelog_hal = {\n label: 'RU/RD Lubricator & Perf Guns',\n key: 'ru_rd_lubricator_perf_guns_timelog_hal',\n unitType: 'time',\n from: 's',\n to: 'h',\n};\n\nexport const nu_nd_diverter_timelog_equinor = {\n label: 'NU/ND Diverter',\n key: 'nu_nd_diverter_timelog_equinor',\n unitType: 'time',\n from: 's',\n to: 'h',\n};\n\nexport const ru_casing_handling_equipment_equinor = {\n label: 'RU Casing Handling Equipment',\n key: 'ru_casing_handling_equipment_equinor',\n unitType: 'time',\n from: 's',\n to: 'h',\n};\n\nexport const rd_casing_handling_equipment_equinor = {\n label: 'RD Casing Handling Equipment',\n key: 'rd_casing_handling_equipment_equinor',\n unitType: 'time',\n from: 's',\n to: 'h',\n};\n\nexport const bop_wellhead_xmt_nu_nd_equinor = {\n label: 'BOP/Wellhead/XMT NU/ND',\n key: 'bop_wellhead_xmt_nu_nd_equinor',\n unitType: 'time',\n from: 's',\n to: 'h',\n};\n\nexport const bop_test_equinor = {\n label: 'BOP Test',\n key: 'bop_test_equinor',\n unitType: 'time',\n from: 's',\n to: 'h',\n};\n\nexport const install_wear_bushing_equinor = {\n label: 'Install Wear Bushing',\n key: 'install_wear_bushing_equinor',\n unitType: 'time',\n from: 's',\n to: 'h',\n};\n\nexport const retrieve_wear_bushing_equinor = {\n label: 'Retrieve Wear Bushing',\n key: 'retrieve_wear_bushing_equinor',\n unitType: 'time',\n from: 's',\n to: 'h',\n};\n\nexport const mu_bha_equinor = {\n label: 'M/U BHA',\n key: 'mu_bha_equinor',\n unitType: 'time',\n from: 's',\n to: 'h',\n};\n\nexport const ld_bha_equinor = {\n label: 'L/D BHA',\n key: 'ld_bha_equinor',\n unitType: 'time',\n from: 's',\n to: 'h',\n};\n\nexport const drillout_casing_shoe_track_equinor = {\n label: 'Drillout Casing Shoe Track',\n key: 'drillout_casing_shoe_track_equinor',\n unitType: 'time',\n from: 's',\n to: 'h',\n};\n\nexport const slip_cut_equinor = {\n label: 'Slip & Cut',\n key: 'slip_cut_equinor',\n unitType: 'time',\n from: 's',\n to: 'h',\n};\n\nexport const survey_time_equinor = {\n label: 'Survey Time',\n key: 'survey_time_equinor',\n unitType: 'time',\n from: 's',\n to: 'h',\n};\n\nexport const drill_fit_lot_equinor = {\n label: 'Drill & FIT/LOT',\n key: 'drill_fit_lot_equinor',\n unitType: 'time',\n from: 's',\n to: 'h',\n};\n\nexport const pressure_test_casing_liner_equinor = {\n label: 'Pressure Test Casing/Liner',\n key: 'pressure_test_casing_liner_equinor',\n unitType: 'time',\n from: 's',\n to: 'h',\n};\n\nexport const land_test_casing_hanger_equinor = {\n label: 'Land & Test Casing/Tubing Hanger',\n key: 'land_test_casing_hanger_equinor',\n unitType: 'time',\n from: 's',\n to: 'h',\n};\n\nexport const mu_wireline_open_hole_equinor = {\n label: 'M/U Wireline - Open Hole',\n key: 'mu_wireline_open_hole_equinor',\n unitType: 'time',\n from: 's',\n to: 'h',\n};\n\nexport const ld_wireline_open_hole_equinor = {\n label: 'L/D Wireline - Open Hole',\n key: 'ld_wireline_open_hole_equinor',\n unitType: 'time',\n from: 's',\n to: 'h',\n};\n\nexport const mu_wireline_cased_hole_equinor = {\n label: 'M/U Wireline - Cased Hole',\n key: 'mu_wireline_cased_hole_equinor',\n unitType: 'time',\n from: 's',\n to: 'h',\n};\n\nexport const ld_wireline_cased_hole_equinor = {\n label: 'L/D Wireline - Cased Hole',\n key: 'ld_wireline_cased_hole_equinor',\n unitType: 'time',\n from: 's',\n to: 'h',\n};\n\nexport const mu_shoetrack_equinor = {\n label: 'M/U Shoetrack',\n key: 'mu_shoetrack_equinor',\n unitType: 'time',\n from: 's',\n to: 'h',\n};\n\nexport const logging_time_ch_equinor = {\n label: 'Logging Time CH',\n key: 'logging_time_ch_equinor',\n unitType: 'time',\n from: 's',\n to: 'h',\n};\n\nexport const logging_time_oh_equinor = {\n label: 'Logging Time OH',\n key: 'logging_time_oh_equinor',\n unitType: 'time',\n from: 's',\n to: 'h',\n};\n\nexport const mu_hanger_equinor = {\n label: 'M/U Hanger',\n key: 'mu_hanger_equinor',\n unitType: 'time',\n from: 's',\n to: 'h',\n};\n\nexport const cementing_time_equinor = {\n label: 'Cementing Time',\n key: 'cementing_time_equinor',\n unitType: 'time',\n from: 's',\n to: 'h',\n};\n\nexport const prepare_for_cementing_equinor = {\n label: 'Prepare for cementing',\n key: 'prepare_for_cementing_equinor',\n unitType: 'time',\n from: 's',\n to: 'h',\n};\n\nexport const run_landing_string_equinor = {\n label: 'Run Landing String',\n key: 'run_landing_string_equinor',\n unitType: 'time',\n from: 's',\n to: 'h',\n};\n\nexport const pull_landing_string_equinor = {\n label: 'Pull Landing String',\n key: 'pull_landing_string_equinor',\n unitType: 'time',\n from: 's',\n to: 'h',\n};\n\nexport const prep_to_pooh_equinor = {\n label: 'Prep to POOH',\n key: 'prep_to_pooh_equinor',\n unitType: 'time',\n from: 's',\n to: 'h',\n};\n\nexport const nipple_up_bop_equinor = {\n label: 'Nipple Up BOP',\n key: 'nipple_up_bop_equinor',\n unitType: 'time',\n from: 's',\n to: 'h',\n};\n\nexport const nipple_down_bop_equinor = {\n label: 'Nipple Down BOP',\n key: 'nipple_down_bop_equinor',\n unitType: 'time',\n from: 's',\n to: 'h',\n};\n\nexport const mu_cement_stand_equinor = {\n label: 'M/U Cement Stand',\n key: 'mu_cement_stand_equinor',\n unitType: 'time',\n from: 's',\n to: 'h',\n};\n\nexport const ld_cement_stand_equinor = {\n label: 'L/D Cement Stand',\n key: 'ld_cement_stand_equinor',\n unitType: 'time',\n from: 's',\n to: 'h',\n};\n\nexport const mu_dhpg_equinor = {\n label: 'M/U DHPG',\n key: 'mu_dhpg_equinor',\n unitType: 'time',\n from: 's',\n to: 'h',\n};\n\nexport const ld_dhpg_equinor = {\n label: 'L/D DHPG',\n key: 'ld_dhpg_equinor',\n unitType: 'time',\n from: 's',\n to: 'h',\n};\n\nexport const mu_dhsv_equinor = {\n label: 'M/U DHSV',\n key: 'mu_dhsv_equinor',\n unitType: 'time',\n from: 's',\n to: 'h',\n};\n\nexport const ld_dhsv_equinor = {\n label: 'L/D DHSV',\n key: 'ld_dhsv_equinor',\n unitType: 'time',\n from: 's',\n to: 'h',\n};\n\nexport const mu_gaslift_equipment_equinor = {\n label: 'M/U Gaslift Equipment',\n key: 'mu_gaslift_equipment_equinor',\n unitType: 'time',\n from: 's',\n to: 'h',\n};\n\nexport const ld_gaslift_equipment_equinor = {\n label: 'L/D Gaslift Equipment',\n key: 'ld_gaslift_equipment_equinor',\n unitType: 'time',\n from: 's',\n to: 'h',\n};\n\nexport const tripping_in_connection_time_open_average = {\n label: 'Open Hole Tripping In Connection Time',\n key: 'tripping_in_connection_time_open_average',\n to: 'min',\n from: 's',\n unitType: 'time',\n convertForMultiRigs: getAverage,\n category: metricsCategories.tripping_connection_group,\n};\n\nexport const tripping_in_connection_time_cased_average = {\n label: 'Cased Hole Tripping In Connection Time',\n key: 'tripping_in_connection_time_cased_average',\n to: 'min',\n from: 's',\n unitType: 'time',\n convertForMultiRigs: getAverage,\n category: metricsCategories.tripping_connection_group,\n};\n\nexport const tripping_in_connection_average = {\n label: 'Entire Hole Tripping In Connection Time',\n key: 'tripping_in_connection_average',\n to: 'min',\n from: 's',\n unitType: 'time',\n convertForMultiRigs: getAverage,\n category: metricsCategories.tripping_connection_group,\n};\n\nexport const tripping_out_connection_time_open_average = {\n label: 'Open Hole Tripping Out Connection Time',\n key: 'tripping_out_connection_time_open_average',\n to: 'min',\n from: 's',\n unitType: 'time',\n convertForMultiRigs: getAverage,\n category: metricsCategories.tripping_connection_group,\n};\n\nexport const tripping_out_connection_time_cased_average = {\n label: 'Cased Hole Tripping Out Connection Time',\n key: 'tripping_out_connection_time_cased_average',\n to: 'min',\n from: 's',\n unitType: 'time',\n convertForMultiRigs: getAverage,\n category: metricsCategories.tripping_connection_group,\n};\n\nexport const tripping_out_connection_average = {\n label: 'Entire Hole Tripping Out Connection Time',\n key: 'tripping_out_connection_average',\n to: 'min',\n from: 's',\n unitType: 'time',\n convertForMultiRigs: getAverage,\n category: metricsCategories.tripping_connection_group,\n};\n\nexport const total_variance_hal = {\n label: 'Total Variance',\n key: 'total_variance_hal',\n isBiggestBest: false,\n to: 'h',\n from: 's',\n unitType: 'time',\n convertForMultiRigs: getAverage,\n category: metricsCategories.drilling_group,\n allowNegativeValue: true,\n};\n\nexport const target_formation = {\n label: 'Target Formation',\n key: 'formation',\n};\n\nexport const mud_type = {\n label: 'Mud Type',\n key: 'mud_type',\n};\n\nexport const tripping_in_speed_with_connection_landingstring = {\n label: 'Landing String - Entire Hole Tripping In Speed (With Connection)',\n key: 'tripping_in_speed_with_connection_landingstring',\n unitType: 'velocity',\n from: 'ft/h',\n isBiggestBest: true,\n convertForMultiRigs: getAverage,\n category: metricsCategories.landing_string_group,\n};\n\nexport const tripping_in_speed_open_with_connection_landingstring = {\n label: 'Landing String - Open Hole Tripping In Speed (With Connection)',\n key: 'tripping_in_speed_open_with_connection_landingstring',\n unitType: 'velocity',\n from: 'ft/h',\n isBiggestBest: true,\n convertForMultiRigs: getAverage,\n category: metricsCategories.landing_string_group,\n};\n\nexport const tripping_in_speed_cased_with_connection_landingstring = {\n label: 'Landing String - Cased Hole Tripping In Speed (With Connection)',\n key: 'tripping_in_speed_cased_with_connection_landingstring',\n unitType: 'velocity',\n from: 'ft/h',\n isBiggestBest: true,\n convertForMultiRigs: getAverage,\n category: metricsCategories.landing_string_group,\n};\n\nexport const tripping_out_speed_with_connection_landingstring = {\n label: 'Landing String - Entire Hole Tripping Out Speed (With Connection)',\n key: 'tripping_out_speed_with_connection_landingstring',\n unitType: 'velocity',\n from: 'ft/h',\n isBiggestBest: true,\n convertForMultiRigs: getAverage,\n category: metricsCategories.landing_string_group,\n};\n\nexport const tripping_out_speed_open_with_connection_landingstring = {\n label: 'Landing String - Open Hole Tripping Out Speed (With Connection)',\n key: 'tripping_out_speed_open_with_connection_landingstring',\n unitType: 'velocity',\n from: 'ft/h',\n isBiggestBest: true,\n convertForMultiRigs: getAverage,\n category: metricsCategories.landing_string_group,\n};\n\nexport const tripping_out_speed_cased_with_connection_landingstring = {\n label: 'Landing String - Cased Hole Tripping Out Speed (With Connection)',\n key: 'tripping_out_speed_cased_with_connection_landingstring',\n unitType: 'velocity',\n from: 'ft/h',\n isBiggestBest: true,\n convertForMultiRigs: getAverage,\n category: metricsCategories.landing_string_group,\n};\n\nexport const tripping_in_speed_landingstring = {\n label: 'Landing String - Entire Hole Tripping In Speed',\n key: 'tripping_in_speed_landingstring',\n unitType: 'velocity',\n from: 'ft/h',\n isBiggestBest: true,\n convertForMultiRigs: getAverage,\n category: metricsCategories.landing_string_group,\n};\n\nexport const tripping_in_speed_open_landingstring = {\n label: 'Landing String - Open Hole Tripping In Speed',\n key: 'tripping_in_speed_open_landingstring',\n unitType: 'velocity',\n from: 'ft/h',\n isBiggestBest: true,\n convertForMultiRigs: getAverage,\n category: metricsCategories.landing_string_group,\n};\n\nexport const tripping_in_speed_cased_landingstring = {\n label: 'Landing String - Cased Hole Tripping In Speed',\n key: 'tripping_in_speed_cased_landingstring',\n unitType: 'velocity',\n from: 'ft/h',\n isBiggestBest: true,\n convertForMultiRigs: getAverage,\n category: metricsCategories.landing_string_group,\n};\n\nexport const tripping_out_speed_landingstring = {\n label: 'Landing String - Entire Hole Tripping Out Speed',\n key: 'tripping_out_speed_landingstring',\n unitType: 'velocity',\n from: 'ft/h',\n isBiggestBest: true,\n convertForMultiRigs: getAverage,\n category: metricsCategories.landing_string_group,\n};\n\nexport const tripping_out_speed_open_landingstring = {\n label: 'Landing String - Open Hole Tripping Out Speed',\n key: 'tripping_out_speed_open_landingstring',\n unitType: 'velocity',\n from: 'ft/h',\n isBiggestBest: true,\n convertForMultiRigs: getAverage,\n category: metricsCategories.landing_string_group,\n};\n\nexport const tripping_out_speed_cased_landingstring = {\n label: 'Landing String - Cased Hole Tripping Out Speed',\n key: 'tripping_out_speed_cased_landingstring',\n unitType: 'velocity',\n from: 'ft/h',\n isBiggestBest: true,\n convertForMultiRigs: getAverage,\n category: metricsCategories.landing_string_group,\n};\n\nexport const tripping_in_connection_time_landingstring = {\n label: 'Landing String - Entire Hole Tripping In Connection Time',\n key: 'tripping_in_connection_time_landingstring',\n to: 'min',\n from: 's',\n unitType: 'time',\n convertForMultiRigs: getAverage,\n category: metricsCategories.landing_string_group,\n};\n\nexport const tripping_in_connection_time_open_landingstring = {\n label: 'Landing String - Open Hole Tripping In Connection Time',\n key: 'tripping_in_connection_time_open_landingstring',\n to: 'min',\n from: 's',\n unitType: 'time',\n convertForMultiRigs: getAverage,\n category: metricsCategories.landing_string_group,\n};\n\nexport const tripping_in_connection_time_cased_landingstring = {\n label: 'Landing String - Cased Hole Tripping In Connection Time',\n key: 'tripping_in_connection_time_cased_landingstring',\n to: 'min',\n from: 's',\n unitType: 'time',\n convertForMultiRigs: getAverage,\n category: metricsCategories.landing_string_group,\n};\n\nexport const tripping_out_connection_time_landingstring = {\n label: 'Landing String - Entire Hole Tripping Out Connection Time',\n key: 'tripping_out_connection_time_landingstring',\n to: 'min',\n from: 's',\n unitType: 'time',\n convertForMultiRigs: getAverage,\n category: metricsCategories.landing_string_group,\n};\n\nexport const tripping_out_connection_time_open_landingstring = {\n label: 'Landing String - Open Hole Tripping Out Connection Time',\n key: 'tripping_out_connection_time_open_landingstring',\n to: 'min',\n from: 's',\n unitType: 'time',\n convertForMultiRigs: getAverage,\n category: metricsCategories.landing_string_group,\n};\n\nexport const tripping_out_connection_time_cased_landingstring = {\n label: 'Landing String - Cased Hole Tripping Out Connection Time',\n key: 'tripping_out_connection_time_cased_landingstring',\n to: 'min',\n from: 's',\n unitType: 'time',\n convertForMultiRigs: getAverage,\n category: metricsCategories.landing_string_group,\n};\n\nexport const gross_tripping_in_speed_bha_tubing_single = {\n label: 'Single Tubing Tripping In Speed',\n key: 'gross_tripping_in_speed_bha_tubing_single',\n convertForMultiRigs: getAverage,\n category: metricsCategories.tripping_in_speed_group,\n unitType: 'velocity',\n from: 'ft/h',\n};\n\nexport const gross_tripping_in_speed_bha_tubing_double = {\n label: 'Double Tubing Tripping In Speed',\n key: 'gross_tripping_in_speed_bha_tubing_double',\n convertForMultiRigs: getAverage,\n category: metricsCategories.tripping_in_speed_group,\n unitType: 'velocity',\n from: 'ft/h',\n};\n\nexport const gross_tripping_in_speed_bha_rod_single = {\n label: 'Single Rod Tripping In Speed',\n key: 'gross_tripping_in_speed_bha_rod_single',\n convertForMultiRigs: getAverage,\n category: metricsCategories.tripping_in_speed_group,\n unitType: 'velocity',\n from: 'ft/h',\n};\n\nexport const gross_tripping_in_speed_bha_rod_double = {\n label: 'Double Rod Tripping In Speed',\n key: 'gross_tripping_in_speed_bha_rod_double',\n convertForMultiRigs: getAverage,\n category: metricsCategories.tripping_in_speed_group,\n unitType: 'velocity',\n from: 'ft/h',\n};\n\nexport const tripping_in_speed_std_hr = {\n label: 'BHA tripping in speed with connections',\n key: 'tripping_in_speed_std_hr',\n convertForMultiRigs: getAverage,\n category: metricsCategories.tripping_in_speed_group,\n unitType: null,\n unitDisplay: 'stands/h',\n};\n\nexport const gross_tripping_out_speed_bha_tubing_single = {\n label: 'Single Tubing Tripping Out Speed',\n key: 'gross_tripping_out_speed_bha_tubing_single',\n convertForMultiRigs: getAverage,\n category: metricsCategories.tripping_out_speed_group,\n unitType: 'velocity',\n from: 'ft/h',\n};\n\nexport const gross_tripping_out_speed_bha_tubing_double = {\n label: 'Double Tubing Tripping Out Speed',\n key: 'gross_tripping_out_speed_bha_tubing_double',\n convertForMultiRigs: getAverage,\n category: metricsCategories.tripping_out_speed_group,\n unitType: 'velocity',\n from: 'ft/h',\n};\n\nexport const gross_tripping_out_speed_bha_rod_single = {\n label: 'Single Rod Tripping Out Speed',\n key: 'gross_tripping_out_speed_bha_rod_single',\n convertForMultiRigs: getAverage,\n category: metricsCategories.tripping_out_speed_group,\n unitType: 'velocity',\n from: 'ft/h',\n};\n\nexport const gross_tripping_out_speed_bha_rod_double = {\n label: 'Double Rod Tripping Out Speed',\n key: 'gross_tripping_out_speed_bha_rod_double',\n convertForMultiRigs: getAverage,\n category: metricsCategories.tripping_out_speed_group,\n unitType: 'velocity',\n from: 'ft/h',\n};\n\nexport const tripping_out_speed_std_hr = {\n label: 'BHA tripping out speed with connections',\n key: 'tripping_out_speed_std_hr',\n convertForMultiRigs: getAverage,\n category: metricsCategories.tripping_out_speed_group,\n unitType: null,\n unitDisplay: 'stands/h',\n};\n\nexport const tripping_connection_average = {\n label: 'Tripping Connection Average Time',\n key: 'tripping_connection_average',\n convertForMultiRigs: getAverage,\n category: metricsCategories.tripping_connection_group,\n to: 'min',\n from: 's',\n unitType: 'time',\n};\n\nexport const tripping_connection_time = {\n label: 'Tripping Connection Total Time',\n key: 'tripping_connection_time',\n convertForMultiRigs: getSum,\n category: metricsCategories.tripping_connection_group,\n to: 'min',\n from: 's',\n unitType: 'time',\n};\n\nexport const tripping_speed = {\n label: 'Tripping Speed',\n key: 'tripping_speed',\n unitType: 'velocity',\n from: 'ft/h',\n isBiggestBest: true,\n convertForMultiRigs: getAverage,\n};\n\nexport const tripping_out_time = {\n label: 'Tripping Out Time',\n key: 'tripping_out_time',\n unitType: 'time',\n from: 's',\n to: 'h',\n convertForMultiRigs: getSum,\n};\n\nexport const gross_tripping_in_speed_bha_std_hr = {\n label: 'BHA tripping in speed with connections',\n key: 'gross_tripping_in_speed_bha_std_hr',\n unitType: null,\n unitDisplay: 'stands/h',\n convertForMultiRigs: getAverage,\n category: metricsCategories.tripping_in_speed_group,\n};\n\nexport const gross_tripping_out_speed_bha_std_hr = {\n label: 'BHA tripping out speed with connections',\n key: 'gross_tripping_out_speed_bha_std_hr',\n unitType: null,\n unitDisplay: 'stands/h',\n convertForMultiRigs: getAverage,\n category: metricsCategories.tripping_out_speed_group,\n};\n\nexport const gross_tripping_in_time = {\n label: 'Total tripping in time — pipe-moving with connections',\n key: 'gross_tripping_in_time',\n unitType: 'time',\n from: 's',\n to: 'h',\n convertForMultiRigs: getSum,\n};\n\nexport const gross_tripping_out_time = {\n label: 'Total tripping out time — pipe-moving with connections',\n key: 'gross_tripping_out_time',\n unitType: 'time',\n from: 's',\n to: 'h',\n convertForMultiRigs: getSum,\n};\n"],"names":["hole_depth","label","key","isBiggestBest","unitType","from","convertForMultiRigs","getMax","category","metricsCategories","drilling_group","hole_depth_change","getSum","hole_depth_change_lateral","drilled_feet_rotary","drilled_feet_slide","drilled_feet_rotary_percentage","to","customConvert","convertPercentageMetrics","getAverage","percent_group","drilled_feet_slide_percentage","drilling_percentage","rop","rop_group","rop_rotary","rop_slide","rop_net","rop_gross","feet_per_day","formatUnitDisplay","unitDisplay","concat","on_bottom_time","on_bottom_percentage","drilling_connection_average","drilling_connection_group","weight_to_weight_average","bottom_to_slips_average","slips_to_bottom_average","pumps_on_to_bottom_average","tripping_in_speed","tripping_in_speed_group","tripping_out_speed","tripping_out_speed_group","tripping_in_speed_cased","tripping_out_speed_cased","tripping_in_speed_open","tripping_out_speed_open","slips_to_slips","casing_group","gross_tripping_in_speed_cased","gross_tripping_in_speed_cased_std_hr","gross_tripping_in_speed_open","gross_tripping_in_speed_open_std_hr","gross_tripping_in_speed","gross_tripping_in_speed_std_hr","gross_tripping_in_speed_bha","gross_tripping_in_speed_open_bha","gross_tripping_in_speed_cased_bha","gross_tripping_out_speed_bha","gross_tripping_out_speed_open_bha","gross_tripping_out_speed_cased_bha","gross_tripping_in_speed_total","gross_tripping_out_speed_total","cost_per_ft","getUnitDescription","getUnitPreference","singular","labelFunc","value","convertValue","cost_group","cost_per_lat_ft","npt","circulating_time","spud_to_rig_release_time","spud_time_group","spud_to_target","spud_to_total_depth_time","spud_to_landing_point","cumulative_tortuosity","weight_to_weight_count","tripping_connection_count","tripping_connection_group","tripping_in_connection_count","tripping_out_connection_count","tripping_in_speed_with_connection","tripping_out_speed_with_connection","slips_to_slips_count","bha_count","tripping_in_connection_time_open_average","tripping_in_connection_time_cased_average","tripping_in_connection_average","tripping_out_connection_time_open_average","tripping_out_connection_time_cased_average","tripping_out_connection_average","total_variance_hal","allowNegativeValue","tripping_in_speed_with_connection_landingstring","landing_string_group","tripping_in_speed_open_with_connection_landingstring","tripping_in_speed_cased_with_connection_landingstring","tripping_out_speed_with_connection_landingstring","tripping_out_speed_open_with_connection_landingstring","tripping_out_speed_cased_with_connection_landingstring","tripping_in_speed_landingstring","tripping_in_speed_open_landingstring","tripping_in_speed_cased_landingstring","tripping_out_speed_landingstring","tripping_out_speed_open_landingstring","tripping_out_speed_cased_landingstring","tripping_in_connection_time_landingstring","tripping_in_connection_time_open_landingstring","tripping_in_connection_time_cased_landingstring","tripping_out_connection_time_landingstring","tripping_out_connection_time_open_landingstring","tripping_out_connection_time_cased_landingstring","gross_tripping_in_speed_bha_tubing_single","gross_tripping_in_speed_bha_tubing_double","gross_tripping_in_speed_bha_rod_single","gross_tripping_in_speed_bha_rod_double","tripping_in_speed_std_hr","gross_tripping_out_speed_bha_tubing_single","gross_tripping_out_speed_bha_tubing_double","gross_tripping_out_speed_bha_rod_single","gross_tripping_out_speed_bha_rod_double","tripping_out_speed_std_hr","tripping_connection_average","tripping_connection_time","tripping_speed","tripping_out_time","gross_tripping_in_speed_bha_std_hr","gross_tripping_out_speed_bha_std_hr","gross_tripping_in_time","gross_tripping_out_time"],"mappings":"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"}
@@ -1 +1 @@
1
- {"version":3,"file":"apiCore.d.ts","sourceRoot":"","sources":["../../../src/clients/api/apiCore.js"],"names":[],"mappings":"AAiFA,0DAMC;AAuDD;;;;;;GAMG;AACH,2BAJW,MAAM,WACN,MAAM,YAAC,wBACL,OAAO,CAAC,GAAC,CAAC,CAiBtB;AAED;;;GAgBC;AAED;;;;;;;GAOG;AACH,0BALW,MAAM,gBACN,MAAM,YAAC,mBACP,MAAM,YAAC,GACL,OAAO,CAAC,GAAC,CAAC,CAQtB;AAED,wFAUC;AAED,kGAcC;AAED,oGAmBC;AAED,oFAiBC;AAED,wGA4BC;AAzQD;IACE,sCAKC;IAJC,YAA6B;IAC7B,gBAAqC;IACrC,aAA2C;IAC3C,eAAqB;IAGvB,mCAEC;IAED,0BAIC;IAED,sBAEC;IAED,8BAEC;IAED,iCAKC;IAED,iCAKC;CACF;AAED,0BAA0C"}
1
+ {"version":3,"file":"apiCore.d.ts","sourceRoot":"","sources":["../../../src/clients/api/apiCore.js"],"names":[],"mappings":"AA8EA,0DAMC;AA4DD;;;;;;GAMG;AACH,2BAJW,MAAM,WACN,MAAM,YAAC,wBACL,OAAO,CAAC,GAAC,CAAC,CAiBtB;AAED;;;GAiBC;AAED;;;;;;;GAOG;AACH,0BALW,MAAM,gBACN,MAAM,YAAC,mBACP,MAAM,YAAC,GACL,OAAO,CAAC,GAAC,CAAC,CAUtB;AAED,wFAUC;AAED,kGAcC;AAED,oGAmBC;AAED,oFAiBC;AAED,wGA4BC;AAjRD;IACE,sCAKC;IAJC,YAA6B;IAC7B,gBAAqC;IACrC,aAA2C;IAC3C,eAAqB;IAGvB,mCAEC;IAED,0BAIC;IAED,sBAEC;IAED,8BAEC;IAED,iCAKC;IAED,iCAKC;CACF;AAED,0BAA0C"}
@@ -1,2 +1,2 @@
1
- import t from"@babel/runtime/helpers/slicedToArray";import e from"@babel/runtime/helpers/asyncToGenerator";import r from"@babel/runtime/helpers/defineProperty";import n from"@babel/runtime/helpers/classCallCheck";import i from"@babel/runtime/helpers/createClass";import o from"@babel/runtime/regenerator";import*as a from"query-string";import{getAuthorizationHeaders as s,attachHTTPHeaders as c,getAppKeyFromXProps as u,getAppKeyFromStackTrace as p}from"../utils.js";import{CORVA_API_URLS as l}from"../constants.js";import{DISPLAY_HTTP_MESSAGES as f}from"./httpMessages.js";function h(t,e){var r=Object.keys(t);if(Object.getOwnPropertySymbols){var n=Object.getOwnPropertySymbols(t);e&&(n=n.filter((function(e){return Object.getOwnPropertyDescriptor(t,e).enumerable}))),r.push.apply(r,n)}return r}function d(t){for(var e=1;e<arguments.length;e++){var n=null!=arguments[e]?arguments[e]:{};e%2?h(Object(n),!0).forEach((function(e){r(t,e,n[e])})):Object.getOwnPropertyDescriptors?Object.defineProperties(t,Object.getOwnPropertyDescriptors(n)):h(Object(n)).forEach((function(e){Object.defineProperty(t,e,Object.getOwnPropertyDescriptor(n,e))}))}return t}var v={400:"Request Failed",403:"No Permission",404:"Not Found"},y=["POST","PUT","PATCH","DELETE"],m=function(){function t(e,r){n(this,t),this.status=e.status,this.statusText=e.statusText,this.message=r.message||"No Message",this.errorBody=r}return i(t,[{key:"isAuthenticationProblem",value:function(){return 401===this.status}},{key:"isTermsProblem",value:function(){return 401===this.status&&"Please accept the latest terms of service"===this.message}},{key:"isLoginProblem",value:function(){var t,e;return 401===this.status&&(null===(t=this.errorBody)||void 0===t||null===(e=t.errors)||void 0===e?void 0:e.login)}},{key:"isLockedAccountProblem",value:function(){var t,e,r;return 401===this.status&&(null===(t=this.errorBody)||void 0===t||null===(e=t.errors)||void 0===e||null===(r=e.login)||void 0===r?void 0:r.includes("Account has been locked"))}},{key:"isInvalidVerificationCode",value:function(){var t,e,r;return 401===this.status&&(null===(t=this.errorBody)||void 0===t||null===(e=t.errors)||void 0===e||null===(r=e.login)||void 0===r?void 0:r.includes("Invalid verification code"))}},{key:"isMissingVerificationCode",value:function(){var t,e,r;return 401===this.status&&(null===(t=this.errorBody)||void 0===t||null===(e=t.errors)||void 0===e||null===(r=e.identity)||void 0===r?void 0:r.includes("Missing verification code"))}}]),t}(),g=l.API,b=s(),w=d({"Content-Type":"application/json",Accept:"application/json"},b);function P(t){var e;null===(e=t.isAuthenticationProblem)||void 0===e||!e.call(t)||t.isTermsProblem()||t.isLoginProblem()||(console.error("Problem with user"),"/login"!==window.location.pathname&&(window.location.href="/login"))}var x=/^\/v1\/assets.*/;function j(){return j=e(o.mark((function t(e){var r,n,i,a,s,u=arguments;return o.wrap((function(t){for(;;)switch(t.prev=t.next){case 0:return r=u.length>1&&void 0!==u[1]?u[1]:{},n=u.length>2&&void 0!==u[2]?u[2]:{},i=n.apiUrl,a=void 0===i?g:i,s=n.appKey,x.test(e)&&(r.cache="reload"),r.credentials="include",t.abrupt("return",fetch("".concat(a).concat(e),c(d({config:r,appKey:s},b))));case 6:case"end":return t.stop()}}),t)}))),j.apply(this,arguments)}var k,O,T=(k=function(t){return j.apply(this,arguments)},O=e(o.mark((function t(e,r,n){var i,a,s,c,u,p,l;return o.wrap((function(t){for(;;)switch(t.prev=t.next){case 0:return t.next=2,k(e,r,n);case 2:if(i=t.sent,a=i.status,!i.ok){t.next=6;break}return t.abrupt("return",204===a?null:i);case 6:return t.prev=6,t.next=9,i.json();case 9:s=t.sent,t.next=15;break;case 12:t.prev=12,t.t0=t.catch(6),s={};case 15:throw c=r.method,u=!n.hideNotification&&y.includes(c),p=f[s.message]||v[a],u&&p&&console.error(p),P(l=new m(i,s)),l;case 22:case"end":return t.stop()}}),t,null,[[6,12]])}))),function(t,e,r){return O.apply(this,arguments)});function U(t,e){return A.apply(this,arguments)}function A(){return A=e(o.mark((function t(e,r){var n,i,a,s,c,l=arguments;return o.wrap((function(t){for(;;)switch(t.prev=t.next){case 0:return n=l.length>2&&void 0!==l[2]?l[2]:{},i=n.apiUrl,a=n.withHeaders,s=void 0!==a&&a,t.next=4,T(e,{method:"POST",headers:w,body:JSON.stringify(r)},{apiUrl:i,appKey:u()||p()});case 4:if(c=t.sent,!s){t.next=7;break}return t.abrupt("return",c);case 7:return t.abrupt("return",c&&c.json());case 8:case"end":return t.stop()}}),t)}))),A.apply(this,arguments)}function E(t){return K.apply(this,arguments)}function K(){return K=e(o.mark((function t(e){var r,n,i,s,c,l,f,h=arguments;return o.wrap((function(t){for(;;)switch(t.prev=t.next){case 0:return r=h.length>1&&void 0!==h[1]?h[1]:{},n=h.length>2&&void 0!==h[2]?h[2]:{},i=n.apiUrl,s=n.appKey,c=n.signal,l=a.stringify(r,{arrayFormat:"bracket"}),t.next=6,T("".concat(e).concat(l?"?":"").concat(l),{method:"GET",signal:c},{apiUrl:i,appKey:s||u()||p()});case 6:if(f=t.sent,t.t0=f,!t.t0){t.next=12;break}return t.next=11,f.json();case 11:t.t0=t.sent;case 12:return t.t1=t.t0,t.t2=f&&f.headers,t.abrupt("return",{data:t.t1,headers:t.t2});case 15:case"end":return t.stop()}}),t)}))),K.apply(this,arguments)}function C(t){return S.apply(this,arguments)}function S(){return S=e(o.mark((function t(e){var r,n,i,a=arguments;return o.wrap((function(t){for(;;)switch(t.prev=t.next){case 0:return r=a.length>1&&void 0!==a[1]?a[1]:{},n=a.length>2&&void 0!==a[2]?a[2]:{},t.next=4,E(e,r,d(d({},n),{},{appKey:n.appKey||u()||p()}));case 4:return i=t.sent,t.abrupt("return",i.data);case 6:case"end":return t.stop()}}),t)}))),S.apply(this,arguments)}function D(t,e){return N.apply(this,arguments)}function N(){return N=e(o.mark((function t(e,r){var n,i,s,c,l,f,h=arguments;return o.wrap((function(t){for(;;)switch(t.prev=t.next){case 0:return n=h.length>2&&void 0!==h[2]?h[2]:{},i=h.length>3&&void 0!==h[3]?h[3]:{},s=i.apiUrl,c=i.signal,l=a.stringify(n),t.next=6,T("".concat(e).concat(l?"?":"").concat(l),{method:"PUT",headers:w,body:JSON.stringify(r)},{apiUrl:s,appKey:u()||p(),signal:c});case 6:return f=t.sent,t.abrupt("return",f&&f.json());case 8:case"end":return t.stop()}}),t)}))),N.apply(this,arguments)}function B(t,e){return L.apply(this,arguments)}function L(){return L=e(o.mark((function t(e,r){var n,i,s,c,l,f,h=arguments;return o.wrap((function(t){for(;;)switch(t.prev=t.next){case 0:return n=h.length>2&&void 0!==h[2]?h[2]:{},i=h.length>3&&void 0!==h[3]?h[3]:{},s=i.apiUrl,c=i.signal,l=a.stringify(n),t.next=6,T("".concat(e).concat(l?"?":"").concat(l),{method:"PATCH",headers:w,body:JSON.stringify(r)},{apiUrl:s,appKey:u()||p(),signal:c});case 6:return f=t.sent,t.abrupt("return",f&&f.json());case 8:case"end":return t.stop()}}),t)}))),L.apply(this,arguments)}function F(t){return M.apply(this,arguments)}function M(){return M=e(o.mark((function t(e){var r,n,i,s,c,l,f=arguments;return o.wrap((function(t){for(;;)switch(t.prev=t.next){case 0:return r=f.length>1&&void 0!==f[1]?f[1]:{},n=f.length>2&&void 0!==f[2]?f[2]:{},i=n.apiUrl,s=n.signal,c=a.stringify(r),t.next=6,T(c?"".concat(e,"?").concat(c):e,{method:"DELETE",headers:w},{apiUrl:i,appKey:u()||p(),signal:s});case 6:return l=t.sent,t.abrupt("return",l&&l.json());case 8:case"end":return t.stop()}}),t)}))),M.apply(this,arguments)}function H(t,e){return I.apply(this,arguments)}function I(){return I=e(o.mark((function e(r,n){var i,s,c,l,f,h,d,v,y=arguments;return o.wrap((function(e){for(;;)switch(e.prev=e.next){case 0:return i=y.length>2&&void 0!==y[2]?y[2]:{},s=y.length>3&&void 0!==y[3]?y[3]:{},c=a.stringify(i),l=s.method,f=void 0===l?"POST":l,h=s.signal,d=new FormData,Object.entries(n).forEach((function(e){var r=t(e,2),n=r[0],i=r[1];Array.isArray(i)?i.forEach((function(t){d.append(n,t)})):d.append(n,i)})),e.next=8,T(c?"".concat(r,"?").concat(c):r,{method:f,headers:{Accept:"application/json"},body:d},{appKey:u()||p(),signal:h});case 8:return v=e.sent,e.abrupt("return",v&&v.json());case 10:case"end":return e.stop()}}),e)}))),I.apply(this,arguments)}export{m as APIException,g as baseUrl,F as del,C as get,E as getWithHeaders,P as handleAuthenticationProblem,B as patch,U as post,D as put,H as sendFormData};
1
+ import e from"@babel/runtime/helpers/slicedToArray";import t from"@babel/runtime/helpers/objectWithoutProperties";import r from"@babel/runtime/helpers/asyncToGenerator";import n from"@babel/runtime/helpers/defineProperty";import i from"@babel/runtime/helpers/classCallCheck";import o from"@babel/runtime/helpers/createClass";import a from"@babel/runtime/regenerator";import*as s from"query-string";import{getAuthorizationHeaders as c,attachHTTPHeaders as u,getAppKeyAndId as p}from"../utils.js";import{CORVA_API_URLS as l}from"../constants.js";import{DISPLAY_HTTP_MESSAGES as f}from"./httpMessages.js";import{apiRequestsRateLimiter as h}from"./rateLimiter.js";var d=["appKey"],v=["appKey"];function m(e,t){var r=Object.keys(e);if(Object.getOwnPropertySymbols){var n=Object.getOwnPropertySymbols(e);t&&(n=n.filter((function(t){return Object.getOwnPropertyDescriptor(e,t).enumerable}))),r.push.apply(r,n)}return r}function y(e){for(var t=1;t<arguments.length;t++){var r=null!=arguments[t]?arguments[t]:{};t%2?m(Object(r),!0).forEach((function(t){n(e,t,r[t])})):Object.getOwnPropertyDescriptors?Object.defineProperties(e,Object.getOwnPropertyDescriptors(r)):m(Object(r)).forEach((function(t){Object.defineProperty(e,t,Object.getOwnPropertyDescriptor(r,t))}))}return e}var b={400:"Request Failed",403:"No Permission",404:"Not Found"},g=["POST","PUT","PATCH","DELETE"],w=function(){function e(t,r){i(this,e),this.status=t.status,this.statusText=t.statusText,this.message=r.message||"No Message",this.errorBody=r}return o(e,[{key:"isAuthenticationProblem",value:function(){return 401===this.status}},{key:"isTermsProblem",value:function(){return 401===this.status&&"Please accept the latest terms of service"===this.message}},{key:"isLoginProblem",value:function(){var e,t;return 401===this.status&&(null===(e=this.errorBody)||void 0===e||null===(t=e.errors)||void 0===t?void 0:t.login)}},{key:"isLockedAccountProblem",value:function(){var e,t,r;return 401===this.status&&(null===(e=this.errorBody)||void 0===e||null===(t=e.errors)||void 0===t||null===(r=t.login)||void 0===r?void 0:r.includes("Account has been locked"))}},{key:"isInvalidVerificationCode",value:function(){var e,t,r;return 401===this.status&&(null===(e=this.errorBody)||void 0===e||null===(t=e.errors)||void 0===t||null===(r=t.login)||void 0===r?void 0:r.includes("Invalid verification code"))}},{key:"isMissingVerificationCode",value:function(){var e,t,r;return 401===this.status&&(null===(e=this.errorBody)||void 0===e||null===(t=e.errors)||void 0===t||null===(r=t.identity)||void 0===r?void 0:r.includes("Missing verification code"))}}]),e}(),x=l.API,P=c(),j=y({"Content-Type":"application/json",Accept:"application/json"},P);function k(e){var t;null===(t=e.isAuthenticationProblem)||void 0===t||!t.call(e)||e.isTermsProblem()||e.isLoginProblem()||(console.error("Problem with user"),"/login"!==window.location.pathname&&(window.location.href="/login"))}var O=/^\/v1\/assets.*/;function T(){return T=r(a.mark((function e(t){var r,n,i,o,s,c,p=arguments;return a.wrap((function(e){for(;;)switch(e.prev=e.next){case 0:if(r=p.length>1&&void 0!==p[1]?p[1]:{},n=p.length>2&&void 0!==p[2]?p[2]:{},i=n.apiUrl,o=void 0===i?x:i,s=n.appKey,c=n.appInstanceId,!s||!c){e.next=6;break}return e.next=6,h.acquire(s,c);case 6:return O.test(t)&&(r.cache="reload"),r.credentials="include",e.abrupt("return",fetch("".concat(o).concat(t),u(y({config:r,appKey:s},P))));case 9:case"end":return e.stop()}}),e)}))),T.apply(this,arguments)}var U,A,E=(U=function(e){return T.apply(this,arguments)},A=r(a.mark((function e(t,r,n){var i,o,s,c,u,p,l;return a.wrap((function(e){for(;;)switch(e.prev=e.next){case 0:return e.next=2,U(t,r,n);case 2:if(i=e.sent,o=i.status,!i.ok){e.next=6;break}return e.abrupt("return",204===o?null:i);case 6:return e.prev=6,e.next=9,i.json();case 9:s=e.sent,e.next=15;break;case 12:e.prev=12,e.t0=e.catch(6),s={};case 15:throw c=r.method,u=!n.hideNotification&&g.includes(c),p=f[s.message]||b[o],u&&p&&console.error(p),k(l=new w(i,s)),l;case 22:case"end":return e.stop()}}),e,null,[[6,12]])}))),function(e,t,r){return A.apply(this,arguments)});function K(e,t){return C.apply(this,arguments)}function C(){return C=r(a.mark((function e(t,r){var n,i,o,s,c,u=arguments;return a.wrap((function(e){for(;;)switch(e.prev=e.next){case 0:return n=u.length>2&&void 0!==u[2]?u[2]:{},i=n.apiUrl,o=n.withHeaders,s=void 0!==o&&o,e.next=4,E(t,{method:"POST",headers:j,body:JSON.stringify(r)},y({apiUrl:i},p()));case 4:if(c=e.sent,!s){e.next=7;break}return e.abrupt("return",c);case 7:return e.abrupt("return",c&&c.json());case 8:case"end":return e.stop()}}),e)}))),C.apply(this,arguments)}function S(e){return D.apply(this,arguments)}function D(){return D=r(a.mark((function e(r){var n,i,o,c,u,l,f,h,v,m=arguments;return a.wrap((function(e){for(;;)switch(e.prev=e.next){case 0:return n=m.length>1&&void 0!==m[1]?m[1]:{},i=m.length>2&&void 0!==m[2]?m[2]:{},o=i.apiUrl,c=i.signal,u=s.stringify(n,{arrayFormat:"bracket"}),l=p()||{},f=l.appKey,h=t(l,d),e.next=7,E("".concat(r).concat(u?"?":"").concat(u),{method:"GET",signal:c},y({apiUrl:o,appKey:i.appKey||f},h));case 7:if(v=e.sent,e.t0=v,!e.t0){e.next=13;break}return e.next=12,v.json();case 12:e.t0=e.sent;case 13:return e.t1=e.t0,e.t2=v&&v.headers,e.abrupt("return",{data:e.t1,headers:e.t2});case 16:case"end":return e.stop()}}),e)}))),D.apply(this,arguments)}function N(e){return L.apply(this,arguments)}function L(){return L=r(a.mark((function e(r){var n,i,o,s,c,u,l=arguments;return a.wrap((function(e){for(;;)switch(e.prev=e.next){case 0:return n=l.length>1&&void 0!==l[1]?l[1]:{},i=l.length>2&&void 0!==l[2]?l[2]:{},o=p()||{},s=o.appKey,c=t(o,v),e.next=5,S(r,n,y(y({},i),{},{appKey:i.appKey||s},c));case 5:return u=e.sent,e.abrupt("return",u.data);case 7:case"end":return e.stop()}}),e)}))),L.apply(this,arguments)}function B(e,t){return I.apply(this,arguments)}function I(){return I=r(a.mark((function e(t,r){var n,i,o,c,u,l,f=arguments;return a.wrap((function(e){for(;;)switch(e.prev=e.next){case 0:return n=f.length>2&&void 0!==f[2]?f[2]:{},i=f.length>3&&void 0!==f[3]?f[3]:{},o=i.apiUrl,c=i.signal,u=s.stringify(n),e.next=6,E("".concat(t).concat(u?"?":"").concat(u),{method:"PUT",headers:j,body:JSON.stringify(r)},y(y({apiUrl:o},p()),{},{signal:c}));case 6:return l=e.sent,e.abrupt("return",l&&l.json());case 8:case"end":return e.stop()}}),e)}))),I.apply(this,arguments)}function F(e,t){return M.apply(this,arguments)}function M(){return M=r(a.mark((function e(t,r){var n,i,o,c,u,l,f=arguments;return a.wrap((function(e){for(;;)switch(e.prev=e.next){case 0:return n=f.length>2&&void 0!==f[2]?f[2]:{},i=f.length>3&&void 0!==f[3]?f[3]:{},o=i.apiUrl,c=i.signal,u=s.stringify(n),e.next=6,E("".concat(t).concat(u?"?":"").concat(u),{method:"PATCH",headers:j,body:JSON.stringify(r)},y(y({apiUrl:o},p()),{},{signal:c}));case 6:return l=e.sent,e.abrupt("return",l&&l.json());case 8:case"end":return e.stop()}}),e)}))),M.apply(this,arguments)}function q(e){return H.apply(this,arguments)}function H(){return H=r(a.mark((function e(t){var r,n,i,o,c,u,l=arguments;return a.wrap((function(e){for(;;)switch(e.prev=e.next){case 0:return r=l.length>1&&void 0!==l[1]?l[1]:{},n=l.length>2&&void 0!==l[2]?l[2]:{},i=n.apiUrl,o=n.signal,c=s.stringify(r),e.next=6,E(c?"".concat(t,"?").concat(c):t,{method:"DELETE",headers:j},y(y({apiUrl:i},p()),{},{signal:o}));case 6:return u=e.sent,e.abrupt("return",u&&u.json());case 8:case"end":return e.stop()}}),e)}))),H.apply(this,arguments)}function J(e,t){return G.apply(this,arguments)}function G(){return G=r(a.mark((function t(r,n){var i,o,c,u,l,f,h,d,v=arguments;return a.wrap((function(t){for(;;)switch(t.prev=t.next){case 0:return i=v.length>2&&void 0!==v[2]?v[2]:{},o=v.length>3&&void 0!==v[3]?v[3]:{},c=s.stringify(i),u=o.method,l=void 0===u?"POST":u,f=o.signal,h=new FormData,Object.entries(n).forEach((function(t){var r=e(t,2),n=r[0],i=r[1];Array.isArray(i)?i.forEach((function(e){h.append(n,e)})):h.append(n,i)})),t.next=8,E(c?"".concat(r,"?").concat(c):r,{method:l,headers:{Accept:"application/json"},body:h},y(y({},p()),{},{signal:f}));case 8:return d=t.sent,t.abrupt("return",d&&d.json());case 10:case"end":return t.stop()}}),t)}))),G.apply(this,arguments)}export{w as APIException,x as baseUrl,q as del,N as get,S as getWithHeaders,k as handleAuthenticationProblem,F as patch,K as post,B as put,J as sendFormData};
2
2
  //# sourceMappingURL=apiCore.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"apiCore.js","sources":["../../../src/clients/api/apiCore.js"],"sourcesContent":["import * as queryString from 'query-string';\n\nimport {\n getAppKeyFromStackTrace,\n attachHTTPHeaders,\n getAuthorizationHeaders,\n getAppKeyFromXProps,\n} from '../utils';\nimport { CORVA_API_URLS } from '../constants';\n\nimport { DISPLAY_HTTP_MESSAGES } from './httpMessages';\n\nconst HTTP_ERROR_MESSAGES = {\n 400: 'Request Failed',\n 403: 'No Permission',\n 404: 'Not Found',\n};\n\nconst TOS_ERROR_MESSAGE = 'Please accept the latest terms of service';\nconst LOCKED_ERROR_MESSAGE = 'Account has been locked';\nconst INVALID_VERIFICATION_CODE_MESSAGE = 'Invalid verification code';\nconst MISSING_VERIFICATION_CODE_MESSAGE = 'Missing verification code';\n\nconst HTTP_METHODS_TO_SHOW_ERROR_NOTIFICATIONS = [\n // NOTE: Do not show error notifications for GET method. Because users may request a deleted item\n 'POST',\n 'PUT',\n 'PATCH',\n 'DELETE',\n];\n\nexport class APIException {\n constructor(response, json) {\n this.status = response.status;\n this.statusText = response.statusText;\n this.message = json.message || 'No Message';\n this.errorBody = json;\n }\n\n isAuthenticationProblem() {\n return this.status === 401;\n }\n\n isTermsProblem() {\n // FIXME: this.message === TOS_ERROR_MESSAGE is a hack. Back-end team should come\n // with another solution.\n return this.status === 401 && this.message === TOS_ERROR_MESSAGE;\n }\n\n isLoginProblem() {\n return this.status === 401 && this.errorBody?.errors?.login;\n }\n\n isLockedAccountProblem() {\n return this.status === 401 && this.errorBody?.errors?.login?.includes(LOCKED_ERROR_MESSAGE);\n }\n\n isInvalidVerificationCode() {\n return (\n this.status === 401 &&\n this.errorBody?.errors?.login?.includes(INVALID_VERIFICATION_CODE_MESSAGE)\n );\n }\n\n isMissingVerificationCode() {\n return (\n this.status === 401 &&\n this.errorBody?.errors?.identity?.includes(MISSING_VERIFICATION_CODE_MESSAGE)\n );\n }\n}\n\nexport const baseUrl = CORVA_API_URLS.API;\n\nconst AUTH_HEADERS = getAuthorizationHeaders();\nconst JSON_HEADERS = {\n 'Content-Type': 'application/json',\n Accept: 'application/json',\n ...AUTH_HEADERS,\n};\n\nexport function handleAuthenticationProblem(e) {\n if (e.isAuthenticationProblem?.() && !e.isTermsProblem() && !e.isLoginProblem()) {\n console.error('Problem with user');\n // NOTE: Redirect to login page\n if (window.location.pathname !== '/login') window.location.href = '/login';\n }\n}\n\nfunction errorHandlerDecorator(requestCoreFunc) {\n return async function errorHandler(path, config, overrides) {\n const response = await requestCoreFunc(path, config, overrides);\n\n const { status } = response;\n\n if (response.ok) {\n return status === 204 // NOTE: No content\n ? null\n : response;\n }\n\n // NOTE: Handle Error response logic\n let json;\n try {\n json = await response.json();\n } catch (e) {\n json = {};\n }\n const requestMethod = config.method;\n const isMethodToShowNotification =\n !overrides.hideNotification &&\n HTTP_METHODS_TO_SHOW_ERROR_NOTIFICATIONS.includes(requestMethod);\n\n const httpErrorMessage = DISPLAY_HTTP_MESSAGES[json.message] || HTTP_ERROR_MESSAGES[status];\n\n if (isMethodToShowNotification && httpErrorMessage) {\n console.error(httpErrorMessage);\n }\n\n const exception = new APIException(response, json);\n handleAuthenticationProblem(exception);\n\n throw exception;\n };\n}\n\nconst V1_ASSETS_REGEXP = /^\\/v1\\/assets.*/;\n\nasync function requestCore(path, config = {}, overrides = {}) {\n const { apiUrl = baseUrl, appKey } = overrides;\n // temporary enable cache for the heaviest request\n if (V1_ASSETS_REGEXP.test(path)) {\n config.cache = 'reload'; // eslint-disable-line no-param-reassign\n }\n\n config.credentials = 'include'; // eslint-disable-line no-param-reassign\n\n return fetch(`${apiUrl}${path}`, attachHTTPHeaders({ config, appKey, ...AUTH_HEADERS }));\n}\n\nconst request = errorHandlerDecorator(requestCore);\n\n/**\n * The post method is most-often utilized to **create** new resources.\n * @async\n * @param {string} path - path to resource.\n * @param {Object=} entity - API entity to create\n * @returns {Promise<*>}\n */\nexport async function post(path, entity, requestOptions = {}) {\n const { apiUrl, withHeaders = false } = requestOptions;\n const response = await request(\n path,\n {\n method: 'POST',\n headers: JSON_HEADERS,\n body: JSON.stringify(entity),\n },\n { apiUrl, appKey: getAppKeyFromXProps() || getAppKeyFromStackTrace() }\n );\n\n if (withHeaders) return response;\n\n return response && response.json();\n}\n\nexport async function getWithHeaders(path, queryParams = {}, requestOptions = {}) {\n const { apiUrl, appKey, signal } = requestOptions;\n const qry = queryString.stringify(queryParams, { arrayFormat: 'bracket' });\n const response = await request(\n `${path}${qry ? '?' : ''}${qry}`,\n {\n method: 'GET',\n signal,\n },\n { apiUrl, appKey: appKey || getAppKeyFromXProps() || getAppKeyFromStackTrace() }\n );\n\n return {\n data: response && (await response.json()),\n headers: response && response.headers,\n };\n}\n\n/**\n * The get method is used to **read** (or retrieve) a representation of a resource\n * @async\n * @param {string} path - path to resource.\n * @param {Object=} queryParams - Object with query params such as per_page, sort, asset_id, etc.\n * @param {Object=} requestOptions - Additional options for request. For example: apiUrl, signal etc.\n * @returns {Promise<*>}\n */\nexport async function get(path, queryParams = {}, requestOptions = {}) {\n const dataAndHeaders = await getWithHeaders(path, queryParams, {\n ...requestOptions,\n appKey: requestOptions.appKey || getAppKeyFromXProps() || getAppKeyFromStackTrace(),\n });\n return dataAndHeaders.data;\n}\n\nexport async function getFile(path, queryParams = {}, requestOptions = {}) {\n const qry = queryString.stringify(queryParams);\n const { signal } = requestOptions;\n const response = await request(\n `${path}${qry ? '?' : ''}${qry}`,\n { method: 'GET' },\n { appKey: getAppKeyFromXProps() || getAppKeyFromStackTrace(), signal }\n );\n\n return response && response.blob();\n}\n\nexport async function put(path, content, queryParams = {}, requestOptions = {}) {\n const { apiUrl, signal } = requestOptions;\n const qry = queryString.stringify(queryParams);\n const response = await request(\n `${path}${qry ? '?' : ''}${qry}`,\n {\n method: 'PUT',\n headers: JSON_HEADERS,\n body: JSON.stringify(content),\n },\n { apiUrl, appKey: getAppKeyFromXProps() || getAppKeyFromStackTrace(), signal }\n );\n\n return response && response.json();\n}\n\nexport async function patch(path, content, queryParams = {}, requestOptions = {}) {\n const { apiUrl, signal } = requestOptions;\n const qry = queryString.stringify(queryParams);\n\n const response = await request(\n `${path}${qry ? '?' : ''}${qry}`,\n {\n method: 'PATCH',\n headers: JSON_HEADERS,\n body: JSON.stringify(content),\n },\n {\n apiUrl,\n appKey: getAppKeyFromXProps() || getAppKeyFromStackTrace(),\n signal,\n }\n );\n\n return response && response.json();\n}\n\nexport async function del(path, queryParams = {}, requestOptions = {}) {\n const { apiUrl, signal } = requestOptions;\n const query = queryString.stringify(queryParams);\n const response = await request(\n query ? `${path}?${query}` : path,\n {\n method: 'DELETE',\n headers: JSON_HEADERS,\n },\n {\n apiUrl,\n appKey: getAppKeyFromXProps() || getAppKeyFromStackTrace(),\n signal,\n }\n );\n\n return response && response.json();\n}\n\nexport async function sendFormData(path, data, queryParams = {}, requestOptions = {}) {\n const query = queryString.stringify(queryParams);\n const { method = 'POST', signal } = requestOptions;\n const formData = new FormData();\n\n Object.entries(data).forEach(([key, value]) => {\n if (Array.isArray(value)) {\n value.forEach(arrayValueEntity => {\n formData.append(key, arrayValueEntity);\n });\n } else {\n formData.append(key, value);\n }\n });\n\n const response = await request(\n query ? `${path}?${query}` : path,\n {\n method,\n headers: {\n Accept: 'application/json',\n },\n body: formData,\n },\n { appKey: getAppKeyFromXProps() || getAppKeyFromStackTrace(), signal }\n );\n\n return response && response.json();\n}\n"],"names":["HTTP_ERROR_MESSAGES","HTTP_METHODS_TO_SHOW_ERROR_NOTIFICATIONS","APIException","response","json","_classCallCheck","this","status","statusText","message","errorBody","_createClass","key","value","_this$errorBody","_this$errorBody$error","errors","login","_this$errorBody2","_this$errorBody2$erro","_this$errorBody2$erro2","includes","_this$errorBody3","_this$errorBody3$erro","_this$errorBody3$erro2","_this$errorBody4","_this$errorBody4$erro","_this$errorBody4$erro2","identity","baseUrl","CORVA_API_URLS","API","AUTH_HEADERS","getAuthorizationHeaders","JSON_HEADERS","_objectSpread","Accept","handleAuthenticationProblem","e","_e$isAuthenticationPr","isAuthenticationProblem","isTermsProblem","isLoginProblem","console","error","window","location","pathname","href","V1_ASSETS_REGEXP","_requestCore","_asyncToGenerator","_regeneratorRuntime","mark","path","config","overrides","_overrides$apiUrl","apiUrl","appKey","_args2","arguments","wrap","_context2","prev","next","length","undefined","test","cache","credentials","abrupt","fetch","attachHTTPHeaders","stop","_callee2","apply","requestCoreFunc","_errorHandler","request","_x4","requestMethod","isMethodToShowNotification","httpErrorMessage","exception","_context","sent","ok","t0","method","hideNotification","DISPLAY_HTTP_MESSAGES","_callee","_x","_x2","_x3","post","_x5","_x6","_post","_callee3","entity","requestOptions","_requestOptions$withH","withHeaders","_args3","_context3","headers","body","JSON","stringify","getAppKeyFromXProps","getAppKeyFromStackTrace","getWithHeaders","_x7","_getWithHeaders","queryParams","signal","qry","_args4","_context4","queryString","arrayFormat","t1","t2","data","_callee4","get","_x8","_get","dataAndHeaders","_args5","_context5","_callee5","put","_x10","_x11","_put","_callee7","content","_args7","_context7","patch","_x12","_x13","_patch","_callee8","_args8","_context8","del","_x14","_del","query","_args9","_context9","concat","_callee9","sendFormData","_x15","_x16","_sendFormData","_callee10","_requestOptions$metho","formData","_args10","_context10","FormData","Object","entries","forEach","_ref","_ref2","_slicedToArray","Array","isArray","arrayValueEntity","append"],"mappings":"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"}
1
+ {"version":3,"file":"apiCore.js","sources":["../../../src/clients/api/apiCore.js"],"sourcesContent":["import * as queryString from 'query-string';\n\nimport { attachHTTPHeaders, getAppKeyAndId, getAuthorizationHeaders } from '../utils';\nimport { CORVA_API_URLS } from '../constants';\n\nimport { DISPLAY_HTTP_MESSAGES } from './httpMessages';\n\nimport { apiRequestsRateLimiter } from '~/clients/api/rateLimiter';\n\nconst HTTP_ERROR_MESSAGES = {\n 400: 'Request Failed',\n 403: 'No Permission',\n 404: 'Not Found',\n};\n\nconst TOS_ERROR_MESSAGE = 'Please accept the latest terms of service';\nconst LOCKED_ERROR_MESSAGE = 'Account has been locked';\nconst INVALID_VERIFICATION_CODE_MESSAGE = 'Invalid verification code';\nconst MISSING_VERIFICATION_CODE_MESSAGE = 'Missing verification code';\n\nconst HTTP_METHODS_TO_SHOW_ERROR_NOTIFICATIONS = [\n // NOTE: Do not show error notifications for GET method. Because users may request a deleted item\n 'POST',\n 'PUT',\n 'PATCH',\n 'DELETE',\n];\n\nexport class APIException {\n constructor(response, json) {\n this.status = response.status;\n this.statusText = response.statusText;\n this.message = json.message || 'No Message';\n this.errorBody = json;\n }\n\n isAuthenticationProblem() {\n return this.status === 401;\n }\n\n isTermsProblem() {\n // FIXME: this.message === TOS_ERROR_MESSAGE is a hack. Back-end team should come\n // with another solution.\n return this.status === 401 && this.message === TOS_ERROR_MESSAGE;\n }\n\n isLoginProblem() {\n return this.status === 401 && this.errorBody?.errors?.login;\n }\n\n isLockedAccountProblem() {\n return this.status === 401 && this.errorBody?.errors?.login?.includes(LOCKED_ERROR_MESSAGE);\n }\n\n isInvalidVerificationCode() {\n return (\n this.status === 401 &&\n this.errorBody?.errors?.login?.includes(INVALID_VERIFICATION_CODE_MESSAGE)\n );\n }\n\n isMissingVerificationCode() {\n return (\n this.status === 401 &&\n this.errorBody?.errors?.identity?.includes(MISSING_VERIFICATION_CODE_MESSAGE)\n );\n }\n}\n\nexport const baseUrl = CORVA_API_URLS.API;\n\nconst AUTH_HEADERS = getAuthorizationHeaders();\nconst JSON_HEADERS = {\n 'Content-Type': 'application/json',\n Accept: 'application/json',\n ...AUTH_HEADERS,\n};\n\nexport function handleAuthenticationProblem(e) {\n if (e.isAuthenticationProblem?.() && !e.isTermsProblem() && !e.isLoginProblem()) {\n console.error('Problem with user');\n // NOTE: Redirect to login page\n if (window.location.pathname !== '/login') window.location.href = '/login';\n }\n}\n\nfunction errorHandlerDecorator(requestCoreFunc) {\n return async function errorHandler(path, config, overrides) {\n const response = await requestCoreFunc(path, config, overrides);\n\n const { status } = response;\n\n if (response.ok) {\n return status === 204 // NOTE: No content\n ? null\n : response;\n }\n\n // NOTE: Handle Error response logic\n let json;\n try {\n json = await response.json();\n } catch (e) {\n json = {};\n }\n const requestMethod = config.method;\n const isMethodToShowNotification =\n !overrides.hideNotification &&\n HTTP_METHODS_TO_SHOW_ERROR_NOTIFICATIONS.includes(requestMethod);\n\n const httpErrorMessage = DISPLAY_HTTP_MESSAGES[json.message] || HTTP_ERROR_MESSAGES[status];\n\n if (isMethodToShowNotification && httpErrorMessage) {\n console.error(httpErrorMessage);\n }\n\n const exception = new APIException(response, json);\n handleAuthenticationProblem(exception);\n\n throw exception;\n };\n}\n\nconst V1_ASSETS_REGEXP = /^\\/v1\\/assets.*/;\n\nasync function requestCore(path, config = {}, overrides = {}) {\n const { apiUrl = baseUrl, appKey, appInstanceId } = overrides;\n\n if (appKey && appInstanceId) {\n await apiRequestsRateLimiter.acquire(appKey, appInstanceId);\n }\n\n // temporary enable cache for the heaviest request\n if (V1_ASSETS_REGEXP.test(path)) {\n config.cache = 'reload'; // eslint-disable-line no-param-reassign\n }\n\n config.credentials = 'include'; // eslint-disable-line no-param-reassign\n\n return fetch(`${apiUrl}${path}`, attachHTTPHeaders({ config, appKey, ...AUTH_HEADERS }));\n}\n\nconst request = errorHandlerDecorator(requestCore);\n\n/**\n * The post method is most-often utilized to **create** new resources.\n * @async\n * @param {string} path - path to resource.\n * @param {Object=} entity - API entity to create\n * @returns {Promise<*>}\n */\nexport async function post(path, entity, requestOptions = {}) {\n const { apiUrl, withHeaders = false } = requestOptions;\n const response = await request(\n path,\n {\n method: 'POST',\n headers: JSON_HEADERS,\n body: JSON.stringify(entity),\n },\n { apiUrl, ...getAppKeyAndId() }\n );\n\n if (withHeaders) return response;\n\n return response && response.json();\n}\n\nexport async function getWithHeaders(path, queryParams = {}, requestOptions = {}) {\n const { apiUrl, signal } = requestOptions;\n const qry = queryString.stringify(queryParams, { arrayFormat: 'bracket' });\n const { appKey, ...rest } = getAppKeyAndId() || {};\n const response = await request(\n `${path}${qry ? '?' : ''}${qry}`,\n {\n method: 'GET',\n signal,\n },\n { apiUrl, appKey: requestOptions.appKey || appKey, ...rest }\n );\n\n return {\n data: response && (await response.json()),\n headers: response && response.headers,\n };\n}\n\n/**\n * The get method is used to **read** (or retrieve) a representation of a resource\n * @async\n * @param {string} path - path to resource.\n * @param {Object=} queryParams - Object with query params such as per_page, sort, asset_id, etc.\n * @param {Object=} requestOptions - Additional options for request. For example: apiUrl, signal etc.\n * @returns {Promise<*>}\n */\nexport async function get(path, queryParams = {}, requestOptions = {}) {\n const { appKey, ...rest } = getAppKeyAndId() || {};\n const dataAndHeaders = await getWithHeaders(path, queryParams, {\n ...requestOptions,\n appKey: requestOptions.appKey || appKey,\n ...rest,\n });\n return dataAndHeaders.data;\n}\n\nexport async function getFile(path, queryParams = {}, requestOptions = {}) {\n const qry = queryString.stringify(queryParams);\n const { signal } = requestOptions;\n const response = await request(\n `${path}${qry ? '?' : ''}${qry}`,\n { method: 'GET' },\n { ...getAppKeyAndId(), signal }\n );\n\n return response && response.blob();\n}\n\nexport async function put(path, content, queryParams = {}, requestOptions = {}) {\n const { apiUrl, signal } = requestOptions;\n const qry = queryString.stringify(queryParams);\n const response = await request(\n `${path}${qry ? '?' : ''}${qry}`,\n {\n method: 'PUT',\n headers: JSON_HEADERS,\n body: JSON.stringify(content),\n },\n { apiUrl, ...getAppKeyAndId(), signal }\n );\n\n return response && response.json();\n}\n\nexport async function patch(path, content, queryParams = {}, requestOptions = {}) {\n const { apiUrl, signal } = requestOptions;\n const qry = queryString.stringify(queryParams);\n\n const response = await request(\n `${path}${qry ? '?' : ''}${qry}`,\n {\n method: 'PATCH',\n headers: JSON_HEADERS,\n body: JSON.stringify(content),\n },\n {\n apiUrl,\n ...getAppKeyAndId(),\n signal,\n }\n );\n\n return response && response.json();\n}\n\nexport async function del(path, queryParams = {}, requestOptions = {}) {\n const { apiUrl, signal } = requestOptions;\n const query = queryString.stringify(queryParams);\n const response = await request(\n query ? `${path}?${query}` : path,\n {\n method: 'DELETE',\n headers: JSON_HEADERS,\n },\n {\n apiUrl,\n ...getAppKeyAndId(),\n signal,\n }\n );\n\n return response && response.json();\n}\n\nexport async function sendFormData(path, data, queryParams = {}, requestOptions = {}) {\n const query = queryString.stringify(queryParams);\n const { method = 'POST', signal } = requestOptions;\n const formData = new FormData();\n\n Object.entries(data).forEach(([key, value]) => {\n if (Array.isArray(value)) {\n value.forEach(arrayValueEntity => {\n formData.append(key, arrayValueEntity);\n });\n } else {\n formData.append(key, value);\n }\n });\n\n const response = await request(\n query ? `${path}?${query}` : path,\n {\n method,\n headers: {\n Accept: 'application/json',\n },\n body: formData,\n },\n { ...getAppKeyAndId(), signal }\n );\n\n return response && response.json();\n}\n"],"names":["HTTP_ERROR_MESSAGES","HTTP_METHODS_TO_SHOW_ERROR_NOTIFICATIONS","APIException","response","json","_classCallCheck","this","status","statusText","message","errorBody","_createClass","key","value","_this$errorBody","_this$errorBody$error","errors","login","_this$errorBody2","_this$errorBody2$erro","_this$errorBody2$erro2","includes","_this$errorBody3","_this$errorBody3$erro","_this$errorBody3$erro2","_this$errorBody4","_this$errorBody4$erro","_this$errorBody4$erro2","identity","baseUrl","CORVA_API_URLS","API","AUTH_HEADERS","getAuthorizationHeaders","JSON_HEADERS","_objectSpread","Accept","handleAuthenticationProblem","e","_e$isAuthenticationPr","isAuthenticationProblem","isTermsProblem","isLoginProblem","console","error","window","location","pathname","href","V1_ASSETS_REGEXP","_requestCore","_asyncToGenerator","_regeneratorRuntime","mark","path","config","overrides","_overrides$apiUrl","apiUrl","appKey","appInstanceId","_args2","arguments","wrap","_context2","prev","next","length","undefined","apiRequestsRateLimiter","acquire","test","cache","credentials","abrupt","fetch","attachHTTPHeaders","stop","_callee2","apply","requestCoreFunc","_errorHandler","request","_x4","requestMethod","isMethodToShowNotification","httpErrorMessage","exception","_context","sent","ok","t0","method","hideNotification","DISPLAY_HTTP_MESSAGES","_callee","_x","_x2","_x3","post","_x5","_x6","_post","_callee3","entity","requestOptions","_requestOptions$withH","withHeaders","_args3","_context3","headers","body","JSON","stringify","getAppKeyAndId","getWithHeaders","_x7","_getWithHeaders","queryParams","signal","qry","_ref","rest","_args4","_context4","queryString","arrayFormat","_objectWithoutProperties","_excluded","t1","t2","data","_callee4","get","_x8","_get","_ref2","dataAndHeaders","_args5","_context5","_excluded2","_callee5","put","_x10","_x11","_put","_callee7","content","_args7","_context7","patch","_x12","_x13","_patch","_callee8","_args8","_context8","del","_x14","_del","query","_args9","_context9","concat","_callee9","sendFormData","_x15","_x16","_sendFormData","_callee10","_requestOptions$metho","formData","_args10","_context10","FormData","Object","entries","forEach","_ref3","_ref4","_slicedToArray","Array","isArray","arrayValueEntity","append"],"mappings":"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"}
@@ -0,0 +1,37 @@
1
+ export declare const IDLE_CLEANUP_AFTER_MS = 60000;
2
+ type BucketConfig = {
3
+ maxTokens: number;
4
+ /**
5
+ * Tokens added per second
6
+ * */
7
+ refillRate: number;
8
+ /**
9
+ * Max ms a request waits in queue before being rejected
10
+ * */
11
+ queueTimeout: number;
12
+ /**
13
+ * Maximum size of queue
14
+ */
15
+ maxQueueSize?: number;
16
+ };
17
+ export type QueueEntry = {
18
+ resolve: () => void;
19
+ reject: (reason: Error) => void;
20
+ timeoutId: ReturnType<typeof setTimeout>;
21
+ };
22
+ export type Bucket = BucketConfig & {
23
+ appKey: string;
24
+ appInstanceId: string;
25
+ tokens: number;
26
+ lastRefill: number;
27
+ lastActivity: number;
28
+ queue: QueueEntry[];
29
+ refillTimer: ReturnType<typeof setInterval> | null;
30
+ };
31
+ export type RateLimiterConfig = {
32
+ defaults?: BucketConfig;
33
+ overrides?: Record<string, Partial<BucketConfig>>;
34
+ };
35
+ export declare const DEFAULT_CONFIG: Required<RateLimiterConfig>;
36
+ export {};
37
+ //# sourceMappingURL=constants.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"constants.d.ts","sourceRoot":"","sources":["../../../src/clients/api/constants.ts"],"names":[],"mappings":"AAAA,eAAO,MAAM,qBAAqB,QAAS,CAAC;AAE5C,KAAK,YAAY,GAAG;IAClB,SAAS,EAAE,MAAM,CAAC;IAClB;;SAEK;IACL,UAAU,EAAE,MAAM,CAAC;IACnB;;SAEK;IACL,YAAY,EAAE,MAAM,CAAC;IACrB;;OAEG;IACH,YAAY,CAAC,EAAE,MAAM,CAAC;CACvB,CAAC;AAEF,MAAM,MAAM,UAAU,GAAG;IACvB,OAAO,EAAE,MAAM,IAAI,CAAC;IACpB,MAAM,EAAE,CAAC,MAAM,EAAE,KAAK,KAAK,IAAI,CAAC;IAChC,SAAS,EAAE,UAAU,CAAC,OAAO,UAAU,CAAC,CAAC;CAC1C,CAAC;AAEF,MAAM,MAAM,MAAM,GAAG,YAAY,GAAG;IAClC,MAAM,EAAE,MAAM,CAAC;IACf,aAAa,EAAE,MAAM,CAAC;IACtB,MAAM,EAAE,MAAM,CAAC;IACf,UAAU,EAAE,MAAM,CAAC;IACnB,YAAY,EAAE,MAAM,CAAC;IACrB,KAAK,EAAE,UAAU,EAAE,CAAC;IACpB,WAAW,EAAE,UAAU,CAAC,OAAO,WAAW,CAAC,GAAG,IAAI,CAAC;CACpD,CAAC;AAEF,MAAM,MAAM,iBAAiB,GAAG;IAC9B,QAAQ,CAAC,EAAE,YAAY,CAAC;IACxB,SAAS,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,YAAY,CAAC,CAAC,CAAC;CACnD,CAAC;AAEF,eAAO,MAAM,cAAc,EAAE,QAAQ,CAAC,iBAAiB,CAYtD,CAAC"}
@@ -0,0 +1,2 @@
1
+ var e=6e4,t={defaults:{maxTokens:35,refillRate:10,queueTimeout:3e4},overrides:{"corva.treatment_plot_plus.ui":{maxTokens:60,refillRate:30}}};export{t as DEFAULT_CONFIG,e as IDLE_CLEANUP_AFTER_MS};
2
+ //# sourceMappingURL=constants.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"constants.js","sources":[],"sourcesContent":[],"names":[],"mappings":""}
@@ -0,0 +1,24 @@
1
+ import { Bucket, RateLimiterConfig } from './constants';
2
+ export declare class RateLimiter {
3
+ private readonly buckets;
4
+ private config;
5
+ constructor(config?: RateLimiterConfig);
6
+ getOrCreateBucket(bucketId: string, appKey: string, appInstanceId: string): Bucket;
7
+ refill(bucket: Bucket): void;
8
+ startRefillTimer(bucketId: string, bucket: Bucket): void;
9
+ drainQueue(bucket: Bucket): void;
10
+ cleanupIdleIfNeeded(bucketId: string, bucket: Bucket): void;
11
+ destroyBucket(bucket: Bucket): void;
12
+ /**
13
+ * Resolves when a token is available for `bucketId`.
14
+ * If the bucket is empty the request is queued; a console warning is printed
15
+ * and the promise resolves once a token is refilled.
16
+ * Rejects if the queue timeout elapses before a token is available.
17
+ */
18
+ acquire(appKey: string, appInstanceId: string | number): Promise<void>;
19
+ updateConfig(config: RateLimiterConfig): void;
20
+ /** Clear all timers and reject all queued requests. */
21
+ destroy(): void;
22
+ }
23
+ export declare const apiRequestsRateLimiter: RateLimiter;
24
+ //# sourceMappingURL=rateLimiter.d.ts.map