unleash-server 7.3.0 → 7.4.1

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (1436) hide show
  1. package/README.md +36 -36
  2. package/dist/lib/addons/datadog.js +1 -1
  3. package/dist/lib/addons/datadog.js.map +1 -1
  4. package/dist/lib/addons/datadog.test.js +11 -11
  5. package/dist/lib/addons/datadog.test.js.map +1 -1
  6. package/dist/lib/addons/feature-event-formatter-md-events.d.ts.map +1 -1
  7. package/dist/lib/addons/feature-event-formatter-md-events.js +11 -1
  8. package/dist/lib/addons/feature-event-formatter-md-events.js.map +1 -1
  9. package/dist/lib/addons/feature-event-formatter-md.test.js +8 -6
  10. package/dist/lib/addons/feature-event-formatter-md.test.js.map +1 -1
  11. package/dist/lib/addons/new-relic-definition.js +1 -1
  12. package/dist/lib/addons/new-relic-definition.js.map +1 -1
  13. package/dist/lib/addons/new-relic.js +4 -4
  14. package/dist/lib/addons/new-relic.js.map +1 -1
  15. package/dist/lib/addons/new-relic.test.js +4 -4
  16. package/dist/lib/addons/new-relic.test.js.map +1 -1
  17. package/dist/lib/addons/slack-app-definition.d.ts.map +1 -1
  18. package/dist/lib/addons/slack-app-definition.js +3 -1
  19. package/dist/lib/addons/slack-app-definition.js.map +1 -1
  20. package/dist/lib/addons/slack-app.test.js +1 -2
  21. package/dist/lib/addons/slack-app.test.js.map +1 -1
  22. package/dist/lib/addons/slack-definition.d.ts.map +1 -1
  23. package/dist/lib/addons/slack-definition.js +3 -1
  24. package/dist/lib/addons/slack-definition.js.map +1 -1
  25. package/dist/lib/addons/slack.js +1 -1
  26. package/dist/lib/addons/slack.js.map +1 -1
  27. package/dist/lib/addons/slack.test.js +1 -1
  28. package/dist/lib/addons/slack.test.js.map +1 -1
  29. package/dist/lib/addons/teams-definition.d.ts.map +1 -1
  30. package/dist/lib/addons/teams-definition.js +3 -1
  31. package/dist/lib/addons/teams-definition.js.map +1 -1
  32. package/dist/lib/addons/teams.js +1 -1
  33. package/dist/lib/addons/teams.js.map +1 -1
  34. package/dist/lib/addons/teams.test.js +1 -1
  35. package/dist/lib/addons/teams.test.js.map +1 -1
  36. package/dist/lib/addons/webhook-definition.d.ts.map +1 -1
  37. package/dist/lib/addons/webhook-definition.js +4 -2
  38. package/dist/lib/addons/webhook-definition.js.map +1 -1
  39. package/dist/lib/addons/webhook.js +1 -1
  40. package/dist/lib/addons/webhook.js.map +1 -1
  41. package/dist/lib/addons/webhook.test.js +3 -3
  42. package/dist/lib/addons/webhook.test.js.map +1 -1
  43. package/dist/lib/app.js +2 -2
  44. package/dist/lib/app.js.map +1 -1
  45. package/dist/lib/app.test.js +6 -2
  46. package/dist/lib/app.test.js.map +1 -1
  47. package/dist/lib/create-config.test.js +9 -2
  48. package/dist/lib/create-config.test.js.map +1 -1
  49. package/dist/lib/db/access-store.d.ts +1 -2
  50. package/dist/lib/db/access-store.d.ts.map +1 -1
  51. package/dist/lib/db/access-store.js +2 -3
  52. package/dist/lib/db/access-store.js.map +1 -1
  53. package/dist/lib/db/access-store.test.js +5 -1
  54. package/dist/lib/db/access-store.test.js.map +1 -1
  55. package/dist/lib/db/api-token-store.d.ts +1 -2
  56. package/dist/lib/db/api-token-store.d.ts.map +1 -1
  57. package/dist/lib/db/api-token-store.js +1 -2
  58. package/dist/lib/db/api-token-store.js.map +1 -1
  59. package/dist/lib/db/favorite-features-store.d.ts +1 -3
  60. package/dist/lib/db/favorite-features-store.d.ts.map +1 -1
  61. package/dist/lib/db/favorite-features-store.js +1 -3
  62. package/dist/lib/db/favorite-features-store.js.map +1 -1
  63. package/dist/lib/db/favorite-projects-store.d.ts +2 -3
  64. package/dist/lib/db/favorite-projects-store.d.ts.map +1 -1
  65. package/dist/lib/db/favorite-projects-store.js +20 -4
  66. package/dist/lib/db/favorite-projects-store.js.map +1 -1
  67. package/dist/lib/db/feature-environment-store.d.ts +1 -2
  68. package/dist/lib/db/feature-environment-store.d.ts.map +1 -1
  69. package/dist/lib/db/feature-environment-store.js +1 -2
  70. package/dist/lib/db/feature-environment-store.js.map +1 -1
  71. package/dist/lib/db/feature-type-store.d.ts +1 -2
  72. package/dist/lib/db/feature-type-store.d.ts.map +1 -1
  73. package/dist/lib/db/feature-type-store.js +1 -2
  74. package/dist/lib/db/feature-type-store.js.map +1 -1
  75. package/dist/lib/db/project-stats-store.d.ts +1 -2
  76. package/dist/lib/db/project-stats-store.d.ts.map +1 -1
  77. package/dist/lib/db/project-stats-store.js +1 -2
  78. package/dist/lib/db/project-stats-store.js.map +1 -1
  79. package/dist/lib/db/public-signup-token-store.d.ts +1 -2
  80. package/dist/lib/db/public-signup-token-store.d.ts.map +1 -1
  81. package/dist/lib/db/public-signup-token-store.js +1 -2
  82. package/dist/lib/db/public-signup-token-store.js.map +1 -1
  83. package/dist/lib/db/reset-token-store.d.ts +2 -3
  84. package/dist/lib/db/reset-token-store.d.ts.map +1 -1
  85. package/dist/lib/db/reset-token-store.js +31 -6
  86. package/dist/lib/db/reset-token-store.js.map +1 -1
  87. package/dist/lib/db/user-feedback-store.d.ts +1 -1
  88. package/dist/lib/db/user-feedback-store.d.ts.map +1 -1
  89. package/dist/lib/db/user-feedback-store.js +1 -1
  90. package/dist/lib/db/user-feedback-store.js.map +1 -1
  91. package/dist/lib/db/user-splash-store.d.ts +1 -1
  92. package/dist/lib/db/user-splash-store.d.ts.map +1 -1
  93. package/dist/lib/db/user-splash-store.js +1 -1
  94. package/dist/lib/db/user-splash-store.js.map +1 -1
  95. package/dist/lib/default-custom-auth-deny-all.js +1 -1
  96. package/dist/lib/default-custom-auth-deny-all.js.map +1 -1
  97. package/dist/lib/domain/project-health/project-health.js +1 -1
  98. package/dist/lib/domain/project-health/project-health.js.map +1 -1
  99. package/dist/lib/error/unleash-error.test.js +4 -1
  100. package/dist/lib/error/unleash-error.test.js.map +1 -1
  101. package/dist/lib/events/index.d.ts +5 -1
  102. package/dist/lib/events/index.d.ts.map +1 -1
  103. package/dist/lib/events/index.js +8 -0
  104. package/dist/lib/events/index.js.map +1 -1
  105. package/dist/lib/features/access/access-read-model.d.ts.map +1 -1
  106. package/dist/lib/features/access/access-read-model.js +3 -2
  107. package/dist/lib/features/access/access-read-model.js.map +1 -1
  108. package/dist/lib/features/access/createAccessService.d.ts +5 -1
  109. package/dist/lib/features/access/createAccessService.d.ts.map +1 -1
  110. package/dist/lib/features/access/createAccessService.js +2 -2
  111. package/dist/lib/features/access/createAccessService.js.map +1 -1
  112. package/dist/lib/features/change-request-segment-usage-service/change-request-segment-usage-read-model.test.js.map +1 -1
  113. package/dist/lib/features/client-feature-toggles/client-feature-toggle-service.d.ts +1 -2
  114. package/dist/lib/features/client-feature-toggles/client-feature-toggle-service.d.ts.map +1 -1
  115. package/dist/lib/features/client-feature-toggles/client-feature-toggle-service.js +1 -2
  116. package/dist/lib/features/client-feature-toggles/client-feature-toggle-service.js.map +1 -1
  117. package/dist/lib/features/client-feature-toggles/client-feature-toggle.controller.d.ts.map +1 -1
  118. package/dist/lib/features/client-feature-toggles/client-feature-toggle.controller.js +18 -9
  119. package/dist/lib/features/client-feature-toggles/client-feature-toggle.controller.js.map +1 -1
  120. package/dist/lib/features/client-feature-toggles/delta/client-feature-toggle-delta.test.js +54 -0
  121. package/dist/lib/features/client-feature-toggles/delta/client-feature-toggle-delta.test.js.map +1 -1
  122. package/dist/lib/features/client-feature-toggles/delta/delta-cache.d.ts +1 -0
  123. package/dist/lib/features/client-feature-toggles/delta/delta-cache.d.ts.map +1 -1
  124. package/dist/lib/features/client-feature-toggles/delta/delta-cache.js +14 -0
  125. package/dist/lib/features/client-feature-toggles/delta/delta-cache.js.map +1 -1
  126. package/dist/lib/features/client-feature-toggles/delta/delta-cache.test.js +1 -1
  127. package/dist/lib/features/client-feature-toggles/delta/delta-cache.test.js.map +1 -1
  128. package/dist/lib/features/client-feature-toggles/tests/client-feature-toggles.e2e.test.js +1 -1
  129. package/dist/lib/features/client-feature-toggles/tests/client-feature-toggles.e2e.test.js.map +1 -1
  130. package/dist/lib/features/context/context-field-store-type.d.ts +2 -0
  131. package/dist/lib/features/context/context-field-store-type.d.ts.map +1 -1
  132. package/dist/lib/features/context/context-field-store.d.ts +3 -3
  133. package/dist/lib/features/context/context-field-store.d.ts.map +1 -1
  134. package/dist/lib/features/context/context-field-store.js +12 -3
  135. package/dist/lib/features/context/context-field-store.js.map +1 -1
  136. package/dist/lib/features/context/context-service.d.ts +9 -3
  137. package/dist/lib/features/context/context-service.d.ts.map +1 -1
  138. package/dist/lib/features/context/context-service.js +33 -4
  139. package/dist/lib/features/context/context-service.js.map +1 -1
  140. package/dist/lib/features/context/context.d.ts +10 -5
  141. package/dist/lib/features/context/context.d.ts.map +1 -1
  142. package/dist/lib/features/context/context.js +65 -37
  143. package/dist/lib/features/context/context.js.map +1 -1
  144. package/dist/lib/features/context/fake-context-field-store.d.ts +1 -0
  145. package/dist/lib/features/context/fake-context-field-store.d.ts.map +1 -1
  146. package/dist/lib/features/context/fake-context-field-store.js +4 -1
  147. package/dist/lib/features/context/fake-context-field-store.js.map +1 -1
  148. package/dist/lib/features/dependent-features/fake-dependent-features-read-model.d.ts +1 -1
  149. package/dist/lib/features/dependent-features/fake-dependent-features-read-model.d.ts.map +1 -1
  150. package/dist/lib/features/dependent-features/fake-dependent-features-read-model.js +1 -1
  151. package/dist/lib/features/dependent-features/fake-dependent-features-read-model.js.map +1 -1
  152. package/dist/lib/features/environments/environments-controller.d.ts +1 -2
  153. package/dist/lib/features/environments/environments-controller.d.ts.map +1 -1
  154. package/dist/lib/features/environments/environments-controller.js +2 -3
  155. package/dist/lib/features/environments/environments-controller.js.map +1 -1
  156. package/dist/lib/features/events/event-created-by-migration.test.js +3 -3
  157. package/dist/lib/features/events/event-created-by-migration.test.js.map +1 -1
  158. package/dist/lib/features/events/event-search-controller.js +1 -1
  159. package/dist/lib/features/events/event-search-controller.js.map +1 -1
  160. package/dist/lib/features/events/event-service.test.js.map +1 -1
  161. package/dist/lib/features/events/event-store.d.ts.map +1 -1
  162. package/dist/lib/features/events/event-store.js +22 -9
  163. package/dist/lib/features/events/event-store.js.map +1 -1
  164. package/dist/lib/features/export-import-toggles/export-import-api-usage.test.js +1 -1
  165. package/dist/lib/features/export-import-toggles/export-import-api-usage.test.js.map +1 -1
  166. package/dist/lib/features/export-import-toggles/export-import-controller.d.ts +0 -1
  167. package/dist/lib/features/export-import-toggles/export-import-controller.d.ts.map +1 -1
  168. package/dist/lib/features/export-import-toggles/export-import-controller.js +5 -6
  169. package/dist/lib/features/export-import-toggles/export-import-controller.js.map +1 -1
  170. package/dist/lib/features/export-import-toggles/export-import-service.d.ts.map +1 -1
  171. package/dist/lib/features/export-import-toggles/export-import-service.js +10 -1
  172. package/dist/lib/features/export-import-toggles/export-import-service.js.map +1 -1
  173. package/dist/lib/features/export-import-toggles/export-import.e2e.test.js +8 -3
  174. package/dist/lib/features/export-import-toggles/export-import.e2e.test.js.map +1 -1
  175. package/dist/lib/features/feature-lifecycle/fake-feature-lifecycle-read-model.d.ts +1 -1
  176. package/dist/lib/features/feature-lifecycle/fake-feature-lifecycle-read-model.d.ts.map +1 -1
  177. package/dist/lib/features/feature-lifecycle/fake-feature-lifecycle-read-model.js +1 -1
  178. package/dist/lib/features/feature-lifecycle/fake-feature-lifecycle-read-model.js.map +1 -1
  179. package/dist/lib/features/feature-lifecycle/fake-feature-lifecycle-store.js +1 -1
  180. package/dist/lib/features/feature-lifecycle/fake-feature-lifecycle-store.js.map +1 -1
  181. package/dist/lib/features/feature-lifecycle/feature-lifecycle-count-controller.d.ts +5 -4
  182. package/dist/lib/features/feature-lifecycle/feature-lifecycle-count-controller.d.ts.map +1 -1
  183. package/dist/lib/features/feature-lifecycle/feature-lifecycle-count-controller.js +9 -3
  184. package/dist/lib/features/feature-lifecycle/feature-lifecycle-count-controller.js.map +1 -1
  185. package/dist/lib/features/feature-lifecycle/feature-lifecycle-read-model-type.d.ts +1 -1
  186. package/dist/lib/features/feature-lifecycle/feature-lifecycle-read-model-type.d.ts.map +1 -1
  187. package/dist/lib/features/feature-lifecycle/feature-lifecycle-read-model.d.ts +1 -1
  188. package/dist/lib/features/feature-lifecycle/feature-lifecycle-read-model.d.ts.map +1 -1
  189. package/dist/lib/features/feature-lifecycle/feature-lifecycle-read-model.js +17 -18
  190. package/dist/lib/features/feature-lifecycle/feature-lifecycle-read-model.js.map +1 -1
  191. package/dist/lib/features/feature-lifecycle/feature-lifecycle-read-model.test.js +17 -0
  192. package/dist/lib/features/feature-lifecycle/feature-lifecycle-read-model.test.js.map +1 -1
  193. package/dist/lib/features/feature-lifecycle/feature-lifecycle-store.d.ts.map +1 -1
  194. package/dist/lib/features/feature-lifecycle/feature-lifecycle-store.js +3 -2
  195. package/dist/lib/features/feature-lifecycle/feature-lifecycle-store.js.map +1 -1
  196. package/dist/lib/features/feature-lifecycle/feature-lifecycle.e2e.test.js +4 -1
  197. package/dist/lib/features/feature-lifecycle/feature-lifecycle.e2e.test.js.map +1 -1
  198. package/dist/lib/features/feature-links/createFeatureLinkService.d.ts +4 -1
  199. package/dist/lib/features/feature-links/createFeatureLinkService.d.ts.map +1 -1
  200. package/dist/lib/features/feature-links/createFeatureLinkService.js +7 -3
  201. package/dist/lib/features/feature-links/createFeatureLinkService.js.map +1 -1
  202. package/dist/lib/features/feature-links/fake-feature-links-read-model.d.ts +1 -1
  203. package/dist/lib/features/feature-links/fake-feature-links-read-model.d.ts.map +1 -1
  204. package/dist/lib/features/feature-links/fake-feature-links-read-model.js +1 -1
  205. package/dist/lib/features/feature-links/fake-feature-links-read-model.js.map +1 -1
  206. package/dist/lib/features/feature-links/feature-link-service.d.ts +3 -0
  207. package/dist/lib/features/feature-links/feature-link-service.d.ts.map +1 -1
  208. package/dist/lib/features/feature-links/feature-link-service.js +6 -1
  209. package/dist/lib/features/feature-links/feature-link-service.js.map +1 -1
  210. package/dist/lib/features/feature-links/feature-link-service.test.js +20 -3
  211. package/dist/lib/features/feature-links/feature-link-service.test.js.map +1 -1
  212. package/dist/lib/features/feature-naming-pattern/feature-naming-validation.test.js +10 -2
  213. package/dist/lib/features/feature-naming-pattern/feature-naming-validation.test.js.map +1 -1
  214. package/dist/lib/features/feature-search/createFeatureSearchService.d.ts +3 -2
  215. package/dist/lib/features/feature-search/createFeatureSearchService.d.ts.map +1 -1
  216. package/dist/lib/features/feature-search/createFeatureSearchService.js +4 -4
  217. package/dist/lib/features/feature-search/createFeatureSearchService.js.map +1 -1
  218. package/dist/lib/features/feature-search/fake-feature-search-store.d.ts +1 -1
  219. package/dist/lib/features/feature-search/fake-feature-search-store.d.ts.map +1 -1
  220. package/dist/lib/features/feature-search/fake-feature-search-store.js +1 -1
  221. package/dist/lib/features/feature-search/fake-feature-search-store.js.map +1 -1
  222. package/dist/lib/features/feature-search/feature-search-controller.js +2 -2
  223. package/dist/lib/features/feature-search/feature-search-controller.js.map +1 -1
  224. package/dist/lib/features/feature-search/feature-search-service.d.ts +4 -3
  225. package/dist/lib/features/feature-search/feature-search-service.d.ts.map +1 -1
  226. package/dist/lib/features/feature-search/feature-search-service.js +12 -4
  227. package/dist/lib/features/feature-search/feature-search-service.js.map +1 -1
  228. package/dist/lib/features/feature-search/feature-search-store.d.ts +1 -3
  229. package/dist/lib/features/feature-search/feature-search-store.d.ts.map +1 -1
  230. package/dist/lib/features/feature-search/feature-search-store.js +1 -3
  231. package/dist/lib/features/feature-search/feature-search-store.js.map +1 -1
  232. package/dist/lib/features/feature-search/feature.search.e2e.test.js +1 -1
  233. package/dist/lib/features/feature-search/feature.search.e2e.test.js.map +1 -1
  234. package/dist/lib/features/feature-toggle/archive-feature-toggle-controller.js +1 -1
  235. package/dist/lib/features/feature-toggle/archive-feature-toggle-controller.js.map +1 -1
  236. package/dist/lib/features/feature-toggle/configuration-revision-service.d.ts +2 -1
  237. package/dist/lib/features/feature-toggle/configuration-revision-service.d.ts.map +1 -1
  238. package/dist/lib/features/feature-toggle/configuration-revision-service.js +16 -0
  239. package/dist/lib/features/feature-toggle/configuration-revision-service.js.map +1 -1
  240. package/dist/lib/features/feature-toggle/converters/feature-toggle-row-converter.d.ts +3 -4
  241. package/dist/lib/features/feature-toggle/converters/feature-toggle-row-converter.d.ts.map +1 -1
  242. package/dist/lib/features/feature-toggle/converters/feature-toggle-row-converter.js +2 -3
  243. package/dist/lib/features/feature-toggle/converters/feature-toggle-row-converter.js.map +1 -1
  244. package/dist/lib/features/feature-toggle/createFeatureToggleService.d.ts.map +1 -1
  245. package/dist/lib/features/feature-toggle/createFeatureToggleService.js +1 -12
  246. package/dist/lib/features/feature-toggle/createFeatureToggleService.js.map +1 -1
  247. package/dist/lib/features/feature-toggle/fake-feature-collaborators-read-model.d.ts +1 -1
  248. package/dist/lib/features/feature-toggle/fake-feature-collaborators-read-model.d.ts.map +1 -1
  249. package/dist/lib/features/feature-toggle/fake-feature-collaborators-read-model.js +1 -1
  250. package/dist/lib/features/feature-toggle/fake-feature-collaborators-read-model.js.map +1 -1
  251. package/dist/lib/features/feature-toggle/fakes/fake-feature-strategies-store.d.ts +5 -5
  252. package/dist/lib/features/feature-toggle/fakes/fake-feature-strategies-store.d.ts.map +1 -1
  253. package/dist/lib/features/feature-toggle/fakes/fake-feature-strategies-store.js +6 -6
  254. package/dist/lib/features/feature-toggle/fakes/fake-feature-strategies-store.js.map +1 -1
  255. package/dist/lib/features/feature-toggle/fakes/fake-feature-toggle-store.d.ts +8 -8
  256. package/dist/lib/features/feature-toggle/fakes/fake-feature-toggle-store.d.ts.map +1 -1
  257. package/dist/lib/features/feature-toggle/fakes/fake-feature-toggle-store.js +10 -12
  258. package/dist/lib/features/feature-toggle/fakes/fake-feature-toggle-store.js.map +1 -1
  259. package/dist/lib/features/feature-toggle/fakes/fake-features-read-model.d.ts +7 -1
  260. package/dist/lib/features/feature-toggle/fakes/fake-features-read-model.d.ts.map +1 -1
  261. package/dist/lib/features/feature-toggle/fakes/fake-features-read-model.js +7 -3
  262. package/dist/lib/features/feature-toggle/fakes/fake-features-read-model.js.map +1 -1
  263. package/dist/lib/features/feature-toggle/feature-toggle-controller.d.ts.map +1 -1
  264. package/dist/lib/features/feature-toggle/feature-toggle-controller.js +4 -3
  265. package/dist/lib/features/feature-toggle/feature-toggle-controller.js.map +1 -1
  266. package/dist/lib/features/feature-toggle/feature-toggle-service.d.ts +3 -10
  267. package/dist/lib/features/feature-toggle/feature-toggle-service.d.ts.map +1 -1
  268. package/dist/lib/features/feature-toggle/feature-toggle-service.js +10 -26
  269. package/dist/lib/features/feature-toggle/feature-toggle-service.js.map +1 -1
  270. package/dist/lib/features/feature-toggle/feature-toggle-store.d.ts.map +1 -1
  271. package/dist/lib/features/feature-toggle/feature-toggle-store.js +7 -3
  272. package/dist/lib/features/feature-toggle/feature-toggle-store.js.map +1 -1
  273. package/dist/lib/features/feature-toggle/feature-toggle-strategies-store.d.ts +1 -3
  274. package/dist/lib/features/feature-toggle/feature-toggle-strategies-store.d.ts.map +1 -1
  275. package/dist/lib/features/feature-toggle/feature-toggle-strategies-store.js +1 -3
  276. package/dist/lib/features/feature-toggle/feature-toggle-strategies-store.js.map +1 -1
  277. package/dist/lib/features/feature-toggle/legacy/feature-toggle-legacy-controller.d.ts +0 -1
  278. package/dist/lib/features/feature-toggle/legacy/feature-toggle-legacy-controller.d.ts.map +1 -1
  279. package/dist/lib/features/feature-toggle/legacy/feature-toggle-legacy-controller.js +0 -1
  280. package/dist/lib/features/feature-toggle/legacy/feature-toggle-legacy-controller.js.map +1 -1
  281. package/dist/lib/features/feature-toggle/tests/feature-toggle-service.e2e.test.js +1 -1
  282. package/dist/lib/features/feature-toggle/tests/feature-toggle-service.e2e.test.js.map +1 -1
  283. package/dist/lib/features/feature-toggle/tests/feature-toggle-store.e2e.test.js +1 -1
  284. package/dist/lib/features/feature-toggle/tests/feature-toggle-store.e2e.test.js.map +1 -1
  285. package/dist/lib/features/feature-toggle/tests/feature-toggle-strategies-store.e2e.test.js +2 -2
  286. package/dist/lib/features/feature-toggle/tests/feature-toggle-strategies-store.e2e.test.js.map +1 -1
  287. package/dist/lib/features/feature-toggle/tests/feature-toggles.e2e.test.js +3 -3
  288. package/dist/lib/features/feature-toggle/tests/feature-toggles.e2e.test.js.map +1 -1
  289. package/dist/lib/features/frontend-api/frontend-api-controller.js +2 -2
  290. package/dist/lib/features/frontend-api/frontend-api-controller.js.map +1 -1
  291. package/dist/lib/features/frontend-api/frontend-api-repository.d.ts +1 -3
  292. package/dist/lib/features/frontend-api/frontend-api-repository.d.ts.map +1 -1
  293. package/dist/lib/features/frontend-api/frontend-api-repository.js +6 -6
  294. package/dist/lib/features/frontend-api/frontend-api-repository.js.map +1 -1
  295. package/dist/lib/features/frontend-api/frontend-api-service.d.ts.map +1 -1
  296. package/dist/lib/features/frontend-api/frontend-api-service.js +3 -1
  297. package/dist/lib/features/frontend-api/frontend-api-service.js.map +1 -1
  298. package/dist/lib/features/frontend-api/frontend-api-service.test.js +2 -2
  299. package/dist/lib/features/frontend-api/frontend-api.concurrency.e2e.test.js +1 -1
  300. package/dist/lib/features/frontend-api/frontend-api.concurrency.e2e.test.js.map +1 -1
  301. package/dist/lib/features/frontend-api/global-frontend-api-cache.d.ts +0 -2
  302. package/dist/lib/features/frontend-api/global-frontend-api-cache.d.ts.map +1 -1
  303. package/dist/lib/features/frontend-api/global-frontend-api-cache.js +0 -7
  304. package/dist/lib/features/frontend-api/global-frontend-api-cache.js.map +1 -1
  305. package/dist/lib/features/frontend-api/proxy-repository.js +1 -1
  306. package/dist/lib/features/frontend-api/proxy-repository.js.map +1 -1
  307. package/dist/lib/features/instance-stats/createInstanceStatsService.d.ts.map +1 -1
  308. package/dist/lib/features/instance-stats/createInstanceStatsService.js +5 -2
  309. package/dist/lib/features/instance-stats/createInstanceStatsService.js.map +1 -1
  310. package/dist/lib/features/instance-stats/getEdgeInstances.d.ts.map +1 -1
  311. package/dist/lib/features/instance-stats/getEdgeInstances.e2e.test.js +28 -19
  312. package/dist/lib/features/instance-stats/getEdgeInstances.e2e.test.js.map +1 -1
  313. package/dist/lib/features/instance-stats/getEdgeInstances.js +14 -2
  314. package/dist/lib/features/instance-stats/getEdgeInstances.js.map +1 -1
  315. package/dist/lib/features/instance-stats/getProductionChanges.e2e.test.js +2 -2
  316. package/dist/lib/features/instance-stats/getProductionChanges.e2e.test.js.map +1 -1
  317. package/dist/lib/features/instance-stats/getReadOnlyUsers.d.ts +5 -0
  318. package/dist/lib/features/instance-stats/getReadOnlyUsers.d.ts.map +1 -0
  319. package/dist/lib/features/instance-stats/getReadOnlyUsers.js +9 -0
  320. package/dist/lib/features/instance-stats/getReadOnlyUsers.js.map +1 -0
  321. package/dist/lib/features/instance-stats/instance-stats-service.d.ts +8 -5
  322. package/dist/lib/features/instance-stats/instance-stats-service.d.ts.map +1 -1
  323. package/dist/lib/features/instance-stats/instance-stats-service.js +17 -4
  324. package/dist/lib/features/instance-stats/instance-stats-service.js.map +1 -1
  325. package/dist/lib/features/instance-stats/instance-stats-service.test.js +8 -6
  326. package/dist/lib/features/instance-stats/instance-stats-service.test.js.map +1 -1
  327. package/dist/lib/features/integration-events/integration-events-service.d.ts +1 -3
  328. package/dist/lib/features/integration-events/integration-events-service.d.ts.map +1 -1
  329. package/dist/lib/features/integration-events/integration-events-service.js +1 -3
  330. package/dist/lib/features/integration-events/integration-events-service.js.map +1 -1
  331. package/dist/lib/features/maintenance/maintenance-controller.d.ts +1 -1
  332. package/dist/lib/features/maintenance/maintenance-controller.d.ts.map +1 -1
  333. package/dist/lib/features/maintenance/maintenance-controller.js +1 -1
  334. package/dist/lib/features/maintenance/maintenance-controller.js.map +1 -1
  335. package/dist/lib/features/maintenance/maintenance-service.js +1 -1
  336. package/dist/lib/features/maintenance/maintenance-service.js.map +1 -1
  337. package/dist/lib/features/metrics/client-metrics/client-metrics-service.e2e.test.js +10 -10
  338. package/dist/lib/features/metrics/client-metrics/client-metrics-service.e2e.test.js.map +1 -1
  339. package/dist/lib/features/metrics/client-metrics/client-metrics-store-v2.d.ts +1 -3
  340. package/dist/lib/features/metrics/client-metrics/client-metrics-store-v2.d.ts.map +1 -1
  341. package/dist/lib/features/metrics/client-metrics/client-metrics-store-v2.js +2 -4
  342. package/dist/lib/features/metrics/client-metrics/client-metrics-store-v2.js.map +1 -1
  343. package/dist/lib/features/metrics/client-metrics/client-metrics.d.ts +0 -1
  344. package/dist/lib/features/metrics/client-metrics/client-metrics.d.ts.map +1 -1
  345. package/dist/lib/features/metrics/client-metrics/client-metrics.js +0 -1
  346. package/dist/lib/features/metrics/client-metrics/client-metrics.js.map +1 -1
  347. package/dist/lib/features/metrics/client-metrics/fake-client-metrics-store-v2.d.ts +10 -10
  348. package/dist/lib/features/metrics/client-metrics/fake-client-metrics-store-v2.d.ts.map +1 -1
  349. package/dist/lib/features/metrics/client-metrics/fake-client-metrics-store-v2.js +13 -11
  350. package/dist/lib/features/metrics/client-metrics/fake-client-metrics-store-v2.js.map +1 -1
  351. package/dist/lib/features/metrics/client-metrics/metrics-service-v2.d.ts +1 -1
  352. package/dist/lib/features/metrics/client-metrics/metrics-service-v2.d.ts.map +1 -1
  353. package/dist/lib/features/metrics/client-metrics/metrics-service-v2.js +3 -3
  354. package/dist/lib/features/metrics/client-metrics/metrics-service-v2.js.map +1 -1
  355. package/dist/lib/features/metrics/client-metrics/metrics-service-v2.test.js +2 -2
  356. package/dist/lib/features/metrics/client-metrics/metrics-service-v2.test.js.map +1 -1
  357. package/dist/lib/features/metrics/custom/custom-metrics-controller.d.ts +2 -2
  358. package/dist/lib/features/metrics/custom/custom-metrics-controller.d.ts.map +1 -1
  359. package/dist/lib/features/metrics/custom/custom-metrics-controller.js +2 -2
  360. package/dist/lib/features/metrics/custom/custom-metrics-controller.js.map +1 -1
  361. package/dist/lib/features/metrics/impact/metrics-translator.js +3 -1
  362. package/dist/lib/features/metrics/impact/metrics-translator.js.map +1 -1
  363. package/dist/lib/features/metrics/instance/instance-service.d.ts.map +1 -1
  364. package/dist/lib/features/metrics/instance/instance-service.js +1 -0
  365. package/dist/lib/features/metrics/instance/instance-service.js.map +1 -1
  366. package/dist/lib/features/metrics/instance/instance-service.test.js +2 -2
  367. package/dist/lib/features/metrics/instance/instance-service.test.js.map +1 -1
  368. package/dist/lib/features/metrics/instance/metrics.d.ts +1 -0
  369. package/dist/lib/features/metrics/instance/metrics.d.ts.map +1 -1
  370. package/dist/lib/features/metrics/instance/metrics.js +22 -6
  371. package/dist/lib/features/metrics/instance/metrics.js.map +1 -1
  372. package/dist/lib/features/metrics/last-seen/fake-last-seen-read-model.d.ts +1 -1
  373. package/dist/lib/features/metrics/last-seen/fake-last-seen-read-model.d.ts.map +1 -1
  374. package/dist/lib/features/metrics/last-seen/fake-last-seen-read-model.js +1 -1
  375. package/dist/lib/features/metrics/last-seen/fake-last-seen-read-model.js.map +1 -1
  376. package/dist/lib/features/metrics/shared/schema.test.js +0 -1
  377. package/dist/lib/features/metrics/shared/schema.test.js.map +1 -1
  378. package/dist/lib/features/metrics/sizes/fake-largest-resources-read-model.d.ts +2 -2
  379. package/dist/lib/features/metrics/sizes/fake-largest-resources-read-model.d.ts.map +1 -1
  380. package/dist/lib/features/metrics/sizes/fake-largest-resources-read-model.js +2 -2
  381. package/dist/lib/features/metrics/sizes/fake-largest-resources-read-model.js.map +1 -1
  382. package/dist/lib/features/metrics/unknown-flags/unknown-flags-service.d.ts +1 -2
  383. package/dist/lib/features/metrics/unknown-flags/unknown-flags-service.d.ts.map +1 -1
  384. package/dist/lib/features/metrics/unknown-flags/unknown-flags-service.js +1 -2
  385. package/dist/lib/features/metrics/unknown-flags/unknown-flags-service.js.map +1 -1
  386. package/dist/lib/features/onboarding/fake-onboarding-store.d.ts +2 -2
  387. package/dist/lib/features/onboarding/fake-onboarding-store.d.ts.map +1 -1
  388. package/dist/lib/features/onboarding/fake-onboarding-store.js +2 -2
  389. package/dist/lib/features/onboarding/fake-onboarding-store.js.map +1 -1
  390. package/dist/lib/features/onboarding/onboarding-service.d.ts +1 -3
  391. package/dist/lib/features/onboarding/onboarding-service.d.ts.map +1 -1
  392. package/dist/lib/features/onboarding/onboarding-service.js +2 -4
  393. package/dist/lib/features/onboarding/onboarding-service.js.map +1 -1
  394. package/dist/lib/features/personal-dashboard/fake-personal-dashboard-read-model.d.ts +3 -3
  395. package/dist/lib/features/personal-dashboard/fake-personal-dashboard-read-model.d.ts.map +1 -1
  396. package/dist/lib/features/personal-dashboard/fake-personal-dashboard-read-model.js +3 -3
  397. package/dist/lib/features/personal-dashboard/fake-personal-dashboard-read-model.js.map +1 -1
  398. package/dist/lib/features/playground/feature-evaluator/constraint.js +1 -1
  399. package/dist/lib/features/playground/feature-evaluator/constraint.js.map +1 -1
  400. package/dist/lib/features/playground/feature-evaluator/repository/index.js +1 -1
  401. package/dist/lib/features/playground/feature-evaluator/repository/index.js.map +1 -1
  402. package/dist/lib/features/playground/feature-evaluator/strategy/gradual-rollout-random.d.ts +1 -1
  403. package/dist/lib/features/playground/feature-evaluator/strategy/gradual-rollout-random.d.ts.map +1 -1
  404. package/dist/lib/features/playground/feature-evaluator/strategy/gradual-rollout-random.js +1 -1
  405. package/dist/lib/features/playground/feature-evaluator/strategy/gradual-rollout-random.js.map +1 -1
  406. package/dist/lib/features/playground/feature-evaluator/strategy/remote-address-strategy.js +1 -1
  407. package/dist/lib/features/playground/feature-evaluator/strategy/remote-address-strategy.js.map +1 -1
  408. package/dist/lib/features/playground/feature-evaluator/strategy/strategy.d.ts +1 -1
  409. package/dist/lib/features/playground/feature-evaluator/strategy/strategy.d.ts.map +1 -1
  410. package/dist/lib/features/playground/feature-evaluator/strategy/strategy.js +1 -1
  411. package/dist/lib/features/playground/feature-evaluator/strategy/strategy.js.map +1 -1
  412. package/dist/lib/features/playground/feature-evaluator/strategy/unknown-strategy.d.ts +1 -1
  413. package/dist/lib/features/playground/feature-evaluator/strategy/unknown-strategy.d.ts.map +1 -1
  414. package/dist/lib/features/playground/feature-evaluator/strategy/unknown-strategy.js +1 -1
  415. package/dist/lib/features/playground/feature-evaluator/strategy/unknown-strategy.js.map +1 -1
  416. package/dist/lib/features/playground/offline-unleash-client.test.js +6 -2
  417. package/dist/lib/features/playground/offline-unleash-client.test.js.map +1 -1
  418. package/dist/lib/features/playground/playground-service.d.ts.map +1 -1
  419. package/dist/lib/features/playground/playground-service.js +3 -2
  420. package/dist/lib/features/playground/playground-service.js.map +1 -1
  421. package/dist/lib/features/playground/playground.test.js +1 -1
  422. package/dist/lib/features/playground/playground.test.js.map +1 -1
  423. package/dist/lib/features/private-project/fakePrivateProjectChecker.d.ts +3 -3
  424. package/dist/lib/features/private-project/fakePrivateProjectChecker.d.ts.map +1 -1
  425. package/dist/lib/features/private-project/fakePrivateProjectChecker.js +3 -3
  426. package/dist/lib/features/private-project/fakePrivateProjectChecker.js.map +1 -1
  427. package/dist/lib/features/private-project/privateProjectStore.d.ts +1 -2
  428. package/dist/lib/features/private-project/privateProjectStore.d.ts.map +1 -1
  429. package/dist/lib/features/private-project/privateProjectStore.js +2 -3
  430. package/dist/lib/features/private-project/privateProjectStore.js.map +1 -1
  431. package/dist/lib/features/project/fake-project-flag-creators-read-model.d.ts +1 -1
  432. package/dist/lib/features/project/fake-project-flag-creators-read-model.d.ts.map +1 -1
  433. package/dist/lib/features/project/fake-project-flag-creators-read-model.js +1 -1
  434. package/dist/lib/features/project/fake-project-flag-creators-read-model.js.map +1 -1
  435. package/dist/lib/features/project/project-controller.d.ts +1 -1
  436. package/dist/lib/features/project/project-controller.d.ts.map +1 -1
  437. package/dist/lib/features/project/project-controller.js +3 -1
  438. package/dist/lib/features/project/project-controller.js.map +1 -1
  439. package/dist/lib/features/project/project-read-model.d.ts +1 -2
  440. package/dist/lib/features/project/project-read-model.d.ts.map +1 -1
  441. package/dist/lib/features/project/project-read-model.js +1 -2
  442. package/dist/lib/features/project/project-read-model.js.map +1 -1
  443. package/dist/lib/features/project/project-service.e2e.test.js +10 -3
  444. package/dist/lib/features/project/project-service.e2e.test.js.map +1 -1
  445. package/dist/lib/features/project/project-store.d.ts +2 -3
  446. package/dist/lib/features/project/project-store.d.ts.map +1 -1
  447. package/dist/lib/features/project/project-store.js +43 -3
  448. package/dist/lib/features/project/project-store.js.map +1 -1
  449. package/dist/lib/features/project/projects.e2e.test.js +1 -1
  450. package/dist/lib/features/project/projects.e2e.test.js.map +1 -1
  451. package/dist/lib/features/project-environments/environment-service.d.ts +1 -0
  452. package/dist/lib/features/project-environments/environment-service.d.ts.map +1 -1
  453. package/dist/lib/features/project-environments/environment-service.js +8 -1
  454. package/dist/lib/features/project-environments/environment-service.js.map +1 -1
  455. package/dist/lib/features/project-environments/fake-environment-store.d.ts +3 -3
  456. package/dist/lib/features/project-environments/fake-environment-store.d.ts.map +1 -1
  457. package/dist/lib/features/project-environments/fake-environment-store.js +5 -5
  458. package/dist/lib/features/project-environments/fake-environment-store.js.map +1 -1
  459. package/dist/lib/features/project-insights/project-insights-service.e2e.test.js +1 -1
  460. package/dist/lib/features/project-insights/project-insights-service.e2e.test.js.map +1 -1
  461. package/dist/lib/features/project-status/projects-status.e2e.test.js +1 -1
  462. package/dist/lib/features/project-status/projects-status.e2e.test.js.map +1 -1
  463. package/dist/lib/features/scheduler/job-service.js +1 -1
  464. package/dist/lib/features/scheduler/job-service.js.map +1 -1
  465. package/dist/lib/features/scheduler/job-service.test.js +1 -1
  466. package/dist/lib/features/scheduler/job-service.test.js.map +1 -1
  467. package/dist/lib/features/scheduler/job-store.d.ts +0 -1
  468. package/dist/lib/features/scheduler/job-store.d.ts.map +1 -1
  469. package/dist/lib/features/scheduler/job-store.js +0 -1
  470. package/dist/lib/features/scheduler/job-store.js.map +1 -1
  471. package/dist/lib/features/segment/admin-segment.e2e.test.js +7 -25
  472. package/dist/lib/features/segment/admin-segment.e2e.test.js.map +1 -1
  473. package/dist/lib/features/segment/fake-segment-read-model.d.ts +2 -2
  474. package/dist/lib/features/segment/fake-segment-read-model.d.ts.map +1 -1
  475. package/dist/lib/features/segment/fake-segment-read-model.js +2 -2
  476. package/dist/lib/features/segment/fake-segment-read-model.js.map +1 -1
  477. package/dist/lib/features/segment/segment-controller.d.ts +1 -2
  478. package/dist/lib/features/segment/segment-controller.d.ts.map +1 -1
  479. package/dist/lib/features/segment/segment-controller.js +6 -4
  480. package/dist/lib/features/segment/segment-controller.js.map +1 -1
  481. package/dist/lib/features/segment/segment-service-interface.d.ts +2 -2
  482. package/dist/lib/features/segment/segment-service-interface.d.ts.map +1 -1
  483. package/dist/lib/features/segment/segment-service.d.ts +3 -3
  484. package/dist/lib/features/segment/segment-service.d.ts.map +1 -1
  485. package/dist/lib/features/segment/segment-service.js +31 -5
  486. package/dist/lib/features/segment/segment-service.js.map +1 -1
  487. package/dist/lib/features/tag-type/fake-tag-type-store.d.ts.map +1 -1
  488. package/dist/lib/features/tag-type/fake-tag-type-store.js +3 -1
  489. package/dist/lib/features/tag-type/fake-tag-type-store.js.map +1 -1
  490. package/dist/lib/features/tag-type/tag-type.d.ts +1 -2
  491. package/dist/lib/features/tag-type/tag-type.d.ts.map +1 -1
  492. package/dist/lib/features/tag-type/tag-type.js +1 -2
  493. package/dist/lib/features/tag-type/tag-type.js.map +1 -1
  494. package/dist/lib/features/traffic-data-usage/fake-traffic-data-usage-store.d.ts +4 -4
  495. package/dist/lib/features/traffic-data-usage/fake-traffic-data-usage-store.d.ts.map +1 -1
  496. package/dist/lib/features/traffic-data-usage/fake-traffic-data-usage-store.js +4 -4
  497. package/dist/lib/features/traffic-data-usage/fake-traffic-data-usage-store.js.map +1 -1
  498. package/dist/lib/features/traffic-data-usage/traffic-data-usage-store.d.ts +1 -2
  499. package/dist/lib/features/traffic-data-usage/traffic-data-usage-store.d.ts.map +1 -1
  500. package/dist/lib/features/traffic-data-usage/traffic-data-usage-store.js +3 -4
  501. package/dist/lib/features/traffic-data-usage/traffic-data-usage-store.js.map +1 -1
  502. package/dist/lib/features/ui-observability-controller/ui-observability-controller.js +1 -1
  503. package/dist/lib/features/ui-observability-controller/ui-observability-controller.js.map +1 -1
  504. package/dist/lib/features/unique-connection/unique-connection-service.d.ts +0 -1
  505. package/dist/lib/features/unique-connection/unique-connection-service.d.ts.map +1 -1
  506. package/dist/lib/features/unique-connection/unique-connection-service.js +0 -1
  507. package/dist/lib/features/unique-connection/unique-connection-service.js.map +1 -1
  508. package/dist/lib/features/user-subscriptions/fake-user-subscriptions-read-model.d.ts +2 -2
  509. package/dist/lib/features/user-subscriptions/fake-user-subscriptions-read-model.d.ts.map +1 -1
  510. package/dist/lib/features/user-subscriptions/fake-user-subscriptions-read-model.js +2 -2
  511. package/dist/lib/features/user-subscriptions/fake-user-subscriptions-read-model.js.map +1 -1
  512. package/dist/lib/features/user-subscriptions/user-subscriptions-read-model.test.js +1 -1
  513. package/dist/lib/features/user-subscriptions/user-subscriptions-read-model.test.js.map +1 -1
  514. package/dist/lib/features/user-subscriptions/user-subscriptions-service.d.ts +1 -2
  515. package/dist/lib/features/user-subscriptions/user-subscriptions-service.d.ts.map +1 -1
  516. package/dist/lib/features/user-subscriptions/user-subscriptions-service.js +1 -2
  517. package/dist/lib/features/user-subscriptions/user-subscriptions-service.js.map +1 -1
  518. package/dist/lib/features/users/createUserService.d.ts.map +1 -1
  519. package/dist/lib/features/users/createUserService.js +3 -1
  520. package/dist/lib/features/users/createUserService.js.map +1 -1
  521. package/dist/lib/features/users/user-store.d.ts +1 -2
  522. package/dist/lib/features/users/user-store.d.ts.map +1 -1
  523. package/dist/lib/features/users/user-store.js +3 -2
  524. package/dist/lib/features/users/user-store.js.map +1 -1
  525. package/dist/lib/features/users/user-updates-read-model.d.ts +2 -2
  526. package/dist/lib/features/users/user-updates-read-model.d.ts.map +1 -1
  527. package/dist/lib/features/users/user-updates-read-model.js +2 -2
  528. package/dist/lib/features/users/user-updates-read-model.js.map +1 -1
  529. package/dist/lib/logger.test.js +2 -2
  530. package/dist/lib/logger.test.js.map +1 -1
  531. package/dist/lib/metric-events.d.ts +15 -2
  532. package/dist/lib/metric-events.d.ts.map +1 -1
  533. package/dist/lib/metric-events.js +2 -1
  534. package/dist/lib/metric-events.js.map +1 -1
  535. package/dist/lib/metrics.d.ts.map +1 -1
  536. package/dist/lib/metrics.js +65 -4
  537. package/dist/lib/metrics.js.map +1 -1
  538. package/dist/lib/metrics.test.js +13 -8
  539. package/dist/lib/metrics.test.js.map +1 -1
  540. package/dist/lib/middleware/api-token-middleware.js +1 -1
  541. package/dist/lib/middleware/api-token-middleware.js.map +1 -1
  542. package/dist/lib/middleware/api-token-middleware.test.js +4 -1
  543. package/dist/lib/middleware/api-token-middleware.test.js.map +1 -1
  544. package/dist/lib/middleware/audit-middleware.js +1 -1
  545. package/dist/lib/middleware/audit-middleware.js.map +1 -1
  546. package/dist/lib/middleware/catch-all-error-handler.js +1 -1
  547. package/dist/lib/middleware/catch-all-error-handler.js.map +1 -1
  548. package/dist/lib/middleware/conditional-middleware.d.ts.map +1 -1
  549. package/dist/lib/middleware/conditional-middleware.js +2 -5
  550. package/dist/lib/middleware/conditional-middleware.js.map +1 -1
  551. package/dist/lib/middleware/content_type_checker.test.js +3 -6
  552. package/dist/lib/middleware/content_type_checker.test.js.map +1 -1
  553. package/dist/lib/middleware/cors-origin-middleware.js +1 -1
  554. package/dist/lib/middleware/cors-origin-middleware.js.map +1 -1
  555. package/dist/lib/middleware/demo-authentication.js +3 -3
  556. package/dist/lib/middleware/demo-authentication.js.map +1 -1
  557. package/dist/lib/middleware/no-authentication.js +3 -3
  558. package/dist/lib/middleware/no-authentication.js.map +1 -1
  559. package/dist/lib/middleware/oss-authentication.test.js +2 -2
  560. package/dist/lib/middleware/oss-authentication.test.js.map +1 -1
  561. package/dist/lib/middleware/pat-middleware.js +1 -1
  562. package/dist/lib/middleware/pat-middleware.js.map +1 -1
  563. package/dist/lib/middleware/rbac-middleware.js +1 -1
  564. package/dist/lib/middleware/rbac-middleware.js.map +1 -1
  565. package/dist/lib/middleware/rbac-middleware.test.js +7 -3
  566. package/dist/lib/middleware/rbac-middleware.test.js.map +1 -1
  567. package/dist/lib/middleware/response-time-metrics.js +1 -1
  568. package/dist/lib/middleware/response-time-metrics.js.map +1 -1
  569. package/dist/lib/middleware/response-time-metrics.test.js +4 -1
  570. package/dist/lib/middleware/response-time-metrics.test.js.map +1 -1
  571. package/dist/lib/middleware/secure-headers.d.ts.map +1 -1
  572. package/dist/lib/middleware/secure-headers.js +3 -1
  573. package/dist/lib/middleware/secure-headers.js.map +1 -1
  574. package/dist/lib/openapi/meta-schema-rules.test.js +1 -1
  575. package/dist/lib/openapi/meta-schema-rules.test.js.map +1 -1
  576. package/dist/lib/openapi/spec/addon-create-update-schema.d.ts +2 -2
  577. package/dist/lib/openapi/spec/addon-create-update-schema.js +6 -6
  578. package/dist/lib/openapi/spec/addon-create-update-schema.js.map +1 -1
  579. package/dist/lib/openapi/spec/addon-parameter-schema.js +1 -1
  580. package/dist/lib/openapi/spec/addon-parameter-schema.js.map +1 -1
  581. package/dist/lib/openapi/spec/addon-schema.d.ts +1 -1
  582. package/dist/lib/openapi/spec/addon-schema.js +1 -1
  583. package/dist/lib/openapi/spec/addon-schema.js.map +1 -1
  584. package/dist/lib/openapi/spec/addon-type-schema.d.ts +2 -2
  585. package/dist/lib/openapi/spec/addon-type-schema.js +2 -2
  586. package/dist/lib/openapi/spec/addon-type-schema.js.map +1 -1
  587. package/dist/lib/openapi/spec/addons-schema.d.ts +5 -5
  588. package/dist/lib/openapi/spec/addons-schema.js +2 -2
  589. package/dist/lib/openapi/spec/addons-schema.js.map +1 -1
  590. package/dist/lib/openapi/spec/admin-segment-schema.d.ts +6 -4
  591. package/dist/lib/openapi/spec/admin-segment-schema.d.ts.map +1 -1
  592. package/dist/lib/openapi/spec/admin-segment-schema.js +1 -1
  593. package/dist/lib/openapi/spec/admin-segment-schema.js.map +1 -1
  594. package/dist/lib/openapi/spec/advanced-playground-environment-feature-schema.d.ts +14 -14
  595. package/dist/lib/openapi/spec/advanced-playground-feature-schema.d.ts +28 -28
  596. package/dist/lib/openapi/spec/advanced-playground-response-schema.d.ts +61 -59
  597. package/dist/lib/openapi/spec/advanced-playground-response-schema.d.ts.map +1 -1
  598. package/dist/lib/openapi/spec/api-token-schema.d.ts +1 -1
  599. package/dist/lib/openapi/spec/api-token-schema.js +1 -1
  600. package/dist/lib/openapi/spec/api-token-schema.js.map +1 -1
  601. package/dist/lib/openapi/spec/api-token-schema.test.js +5 -1
  602. package/dist/lib/openapi/spec/api-token-schema.test.js.map +1 -1
  603. package/dist/lib/openapi/spec/api-tokens-schema.d.ts +2 -2
  604. package/dist/lib/openapi/spec/api-tokens-schema.js +1 -1
  605. package/dist/lib/openapi/spec/api-tokens-schema.js.map +1 -1
  606. package/dist/lib/openapi/spec/application-schema.d.ts +1 -1
  607. package/dist/lib/openapi/spec/application-schema.js +1 -1
  608. package/dist/lib/openapi/spec/application-schema.js.map +1 -1
  609. package/dist/lib/openapi/spec/applications-schema.d.ts +1 -1
  610. package/dist/lib/openapi/spec/bulk-metrics-schema.d.ts +2 -2
  611. package/dist/lib/openapi/spec/bulk-registration-schema.d.ts +2 -2
  612. package/dist/lib/openapi/spec/bulk-registration-schema.js +2 -2
  613. package/dist/lib/openapi/spec/bulk-registration-schema.js.map +1 -1
  614. package/dist/lib/openapi/spec/client-feature-schema.d.ts +20 -18
  615. package/dist/lib/openapi/spec/client-feature-schema.d.ts.map +1 -1
  616. package/dist/lib/openapi/spec/client-feature-schema.js +3 -3
  617. package/dist/lib/openapi/spec/client-feature-schema.js.map +1 -1
  618. package/dist/lib/openapi/spec/client-features-delta-schema.d.ts +37 -35
  619. package/dist/lib/openapi/spec/client-features-delta-schema.d.ts.map +1 -1
  620. package/dist/lib/openapi/spec/client-features-schema.d.ts +38 -36
  621. package/dist/lib/openapi/spec/client-features-schema.d.ts.map +1 -1
  622. package/dist/lib/openapi/spec/client-features-schema.js +1 -1
  623. package/dist/lib/openapi/spec/client-features-schema.js.map +1 -1
  624. package/dist/lib/openapi/spec/client-metrics-schema.d.ts +1 -1
  625. package/dist/lib/openapi/spec/client-metrics-schema.js +1 -1
  626. package/dist/lib/openapi/spec/client-metrics-schema.js.map +1 -1
  627. package/dist/lib/openapi/spec/client-segment-schema.d.ts +5 -3
  628. package/dist/lib/openapi/spec/client-segment-schema.d.ts.map +1 -1
  629. package/dist/lib/openapi/spec/clone-feature-schema.d.ts +1 -1
  630. package/dist/lib/openapi/spec/clone-feature-schema.js +1 -1
  631. package/dist/lib/openapi/spec/clone-feature-schema.js.map +1 -1
  632. package/dist/lib/openapi/spec/constraint-schema.d.ts +7 -5
  633. package/dist/lib/openapi/spec/constraint-schema.d.ts.map +1 -1
  634. package/dist/lib/openapi/spec/constraint-schema.js +2 -2
  635. package/dist/lib/openapi/spec/constraint-schema.js.map +1 -1
  636. package/dist/lib/openapi/spec/constraint-schema.test.js +2 -0
  637. package/dist/lib/openapi/spec/constraint-schema.test.js.map +1 -1
  638. package/dist/lib/openapi/spec/context-field-schema.d.ts +7 -2
  639. package/dist/lib/openapi/spec/context-field-schema.d.ts.map +1 -1
  640. package/dist/lib/openapi/spec/context-field-schema.js +7 -2
  641. package/dist/lib/openapi/spec/context-field-schema.js.map +1 -1
  642. package/dist/lib/openapi/spec/context-fields-schema.d.ts +7 -2
  643. package/dist/lib/openapi/spec/context-fields-schema.d.ts.map +1 -1
  644. package/dist/lib/openapi/spec/context-query-parameters.d.ts +12 -0
  645. package/dist/lib/openapi/spec/context-query-parameters.d.ts.map +1 -0
  646. package/dist/lib/openapi/spec/context-query-parameters.js +12 -0
  647. package/dist/lib/openapi/spec/context-query-parameters.js.map +1 -0
  648. package/dist/lib/openapi/spec/create-api-token-schema.d.ts +2 -2
  649. package/dist/lib/openapi/spec/create-api-token-schema.js +1 -1
  650. package/dist/lib/openapi/spec/create-api-token-schema.js.map +1 -1
  651. package/dist/lib/openapi/spec/create-application-schema.d.ts +1 -1
  652. package/dist/lib/openapi/spec/create-application-schema.js +1 -1
  653. package/dist/lib/openapi/spec/create-application-schema.js.map +1 -1
  654. package/dist/lib/openapi/spec/create-context-field-schema.d.ts +6 -1
  655. package/dist/lib/openapi/spec/create-context-field-schema.d.ts.map +1 -1
  656. package/dist/lib/openapi/spec/create-feature-schema.d.ts +3 -3
  657. package/dist/lib/openapi/spec/create-feature-schema.js +1 -1
  658. package/dist/lib/openapi/spec/create-feature-schema.js.map +1 -1
  659. package/dist/lib/openapi/spec/create-feature-strategy-schema.d.ts +9 -7
  660. package/dist/lib/openapi/spec/create-feature-strategy-schema.d.ts.map +1 -1
  661. package/dist/lib/openapi/spec/create-feature-strategy-schema.js +1 -1
  662. package/dist/lib/openapi/spec/create-feature-strategy-schema.js.map +1 -1
  663. package/dist/lib/openapi/spec/create-pat-schema.d.ts +1 -1
  664. package/dist/lib/openapi/spec/create-pat-schema.js +1 -1
  665. package/dist/lib/openapi/spec/create-pat-schema.js.map +1 -1
  666. package/dist/lib/openapi/spec/create-strategy-schema.d.ts +2 -2
  667. package/dist/lib/openapi/spec/create-strategy-schema.js +2 -2
  668. package/dist/lib/openapi/spec/create-strategy-schema.js.map +1 -1
  669. package/dist/lib/openapi/spec/create-strategy-variant-schema.d.ts +3 -3
  670. package/dist/lib/openapi/spec/create-strategy-variant-schema.js +3 -3
  671. package/dist/lib/openapi/spec/create-strategy-variant-schema.js.map +1 -1
  672. package/dist/lib/openapi/spec/create-tag-schema.d.ts +2 -2
  673. package/dist/lib/openapi/spec/create-tag-schema.js +1 -1
  674. package/dist/lib/openapi/spec/create-tag-schema.js.map +1 -1
  675. package/dist/lib/openapi/spec/create-user-response-schema.d.ts +8 -2
  676. package/dist/lib/openapi/spec/create-user-response-schema.d.ts.map +1 -1
  677. package/dist/lib/openapi/spec/create-user-response-schema.js +9 -2
  678. package/dist/lib/openapi/spec/create-user-response-schema.js.map +1 -1
  679. package/dist/lib/openapi/spec/create-user-schema.d.ts +1 -1
  680. package/dist/lib/openapi/spec/create-user-schema.d.ts.map +1 -1
  681. package/dist/lib/openapi/spec/create-user-schema.js +8 -1
  682. package/dist/lib/openapi/spec/create-user-schema.js.map +1 -1
  683. package/dist/lib/openapi/spec/edge-token-schema.d.ts +3 -3
  684. package/dist/lib/openapi/spec/edge-token-schema.js +3 -3
  685. package/dist/lib/openapi/spec/edge-token-schema.js.map +1 -1
  686. package/dist/lib/openapi/spec/environment-project-schema.d.ts +15 -13
  687. package/dist/lib/openapi/spec/environment-project-schema.d.ts.map +1 -1
  688. package/dist/lib/openapi/spec/environment-project-schema.js +1 -1
  689. package/dist/lib/openapi/spec/environment-project-schema.js.map +1 -1
  690. package/dist/lib/openapi/spec/environment-schema.d.ts +1 -1
  691. package/dist/lib/openapi/spec/environment-schema.js +1 -1
  692. package/dist/lib/openapi/spec/environment-schema.js.map +1 -1
  693. package/dist/lib/openapi/spec/environments-project-schema.d.ts +26 -24
  694. package/dist/lib/openapi/spec/environments-project-schema.d.ts.map +1 -1
  695. package/dist/lib/openapi/spec/environments-schema.d.ts +1 -1
  696. package/dist/lib/openapi/spec/event-schema.d.ts +7 -7
  697. package/dist/lib/openapi/spec/event-schema.js +1 -1
  698. package/dist/lib/openapi/spec/event-schema.js.map +1 -1
  699. package/dist/lib/openapi/spec/event-search-response-schema.d.ts +9 -9
  700. package/dist/lib/openapi/spec/events-schema.d.ts +9 -9
  701. package/dist/lib/openapi/spec/export-query-schema.d.ts +1 -1
  702. package/dist/lib/openapi/spec/export-query-schema.js +1 -1
  703. package/dist/lib/openapi/spec/export-query-schema.js.map +1 -1
  704. package/dist/lib/openapi/spec/export-result-schema.d.ts +1991 -529
  705. package/dist/lib/openapi/spec/export-result-schema.d.ts.map +1 -1
  706. package/dist/lib/openapi/spec/export-result-schema.js +6 -0
  707. package/dist/lib/openapi/spec/export-result-schema.js.map +1 -1
  708. package/dist/lib/openapi/spec/feature-environment-schema.d.ts +372 -107
  709. package/dist/lib/openapi/spec/feature-environment-schema.d.ts.map +1 -1
  710. package/dist/lib/openapi/spec/feature-environment-schema.js +12 -0
  711. package/dist/lib/openapi/spec/feature-environment-schema.js.map +1 -1
  712. package/dist/lib/openapi/spec/feature-events-schema.d.ts +9 -9
  713. package/dist/lib/openapi/spec/feature-schema.d.ts +950 -215
  714. package/dist/lib/openapi/spec/feature-schema.d.ts.map +1 -1
  715. package/dist/lib/openapi/spec/feature-schema.js +17 -0
  716. package/dist/lib/openapi/spec/feature-schema.js.map +1 -1
  717. package/dist/lib/openapi/spec/feature-search-environment-schema.d.ts +729 -213
  718. package/dist/lib/openapi/spec/feature-search-environment-schema.d.ts.map +1 -1
  719. package/dist/lib/openapi/spec/feature-search-response-schema.d.ts +745 -229
  720. package/dist/lib/openapi/spec/feature-search-response-schema.d.ts.map +1 -1
  721. package/dist/lib/openapi/spec/feature-strategy-schema.d.ts +9 -7
  722. package/dist/lib/openapi/spec/feature-strategy-schema.d.ts.map +1 -1
  723. package/dist/lib/openapi/spec/feature-strategy-schema.js +1 -1
  724. package/dist/lib/openapi/spec/feature-strategy-schema.js.map +1 -1
  725. package/dist/lib/openapi/spec/feature-tag-schema.d.ts +2 -2
  726. package/dist/lib/openapi/spec/feature-tag-schema.js +2 -2
  727. package/dist/lib/openapi/spec/feature-tag-schema.js.map +1 -1
  728. package/dist/lib/openapi/spec/feature-type-schema.d.ts +2 -2
  729. package/dist/lib/openapi/spec/feature-type-schema.js +2 -2
  730. package/dist/lib/openapi/spec/feature-type-schema.js.map +1 -1
  731. package/dist/lib/openapi/spec/feature-types-schema.d.ts +3 -3
  732. package/dist/lib/openapi/spec/feature-types-schema.js +1 -1
  733. package/dist/lib/openapi/spec/feature-types-schema.js.map +1 -1
  734. package/dist/lib/openapi/spec/feature-variants-schema.d.ts +3 -3
  735. package/dist/lib/openapi/spec/group-schema.d.ts +14 -2
  736. package/dist/lib/openapi/spec/group-schema.d.ts.map +1 -1
  737. package/dist/lib/openapi/spec/group-user-model-schema.d.ts +7 -1
  738. package/dist/lib/openapi/spec/group-user-model-schema.d.ts.map +1 -1
  739. package/dist/lib/openapi/spec/groups-schema.d.ts +29 -5
  740. package/dist/lib/openapi/spec/groups-schema.d.ts.map +1 -1
  741. package/dist/lib/openapi/spec/groups-schema.js +1 -1
  742. package/dist/lib/openapi/spec/groups-schema.js.map +1 -1
  743. package/dist/lib/openapi/spec/health-overview-schema.d.ts +1784 -535
  744. package/dist/lib/openapi/spec/health-overview-schema.d.ts.map +1 -1
  745. package/dist/lib/openapi/spec/health-overview-schema.js +3 -3
  746. package/dist/lib/openapi/spec/health-overview-schema.js.map +1 -1
  747. package/dist/lib/openapi/spec/health-report-schema.d.ts +1783 -534
  748. package/dist/lib/openapi/spec/health-report-schema.d.ts.map +1 -1
  749. package/dist/lib/openapi/spec/import-toggles-schema.d.ts +66 -27262
  750. package/dist/lib/openapi/spec/import-toggles-schema.d.ts.map +1 -1
  751. package/dist/lib/openapi/spec/import-toggles-schema.js +40 -31
  752. package/dist/lib/openapi/spec/import-toggles-schema.js.map +1 -1
  753. package/dist/lib/openapi/spec/import-toggles-validate-schema.d.ts +1 -1
  754. package/dist/lib/openapi/spec/import-toggles-validate-schema.js +1 -1
  755. package/dist/lib/openapi/spec/import-toggles-validate-schema.js.map +1 -1
  756. package/dist/lib/openapi/spec/index.d.ts +3 -0
  757. package/dist/lib/openapi/spec/index.d.ts.map +1 -1
  758. package/dist/lib/openapi/spec/index.js +3 -0
  759. package/dist/lib/openapi/spec/index.js.map +1 -1
  760. package/dist/lib/openapi/spec/instance-admin-stats-schema.d.ts +6 -0
  761. package/dist/lib/openapi/spec/instance-admin-stats-schema.d.ts.map +1 -1
  762. package/dist/lib/openapi/spec/instance-admin-stats-schema.js +6 -0
  763. package/dist/lib/openapi/spec/instance-admin-stats-schema.js.map +1 -1
  764. package/dist/lib/openapi/spec/integration-event-schema.d.ts +12 -12
  765. package/dist/lib/openapi/spec/integration-events-schema.d.ts +24 -24
  766. package/dist/lib/openapi/spec/me-schema.d.ts +8 -2
  767. package/dist/lib/openapi/spec/me-schema.d.ts.map +1 -1
  768. package/dist/lib/openapi/spec/metric-query-schema.d.ts +44 -0
  769. package/dist/lib/openapi/spec/metric-query-schema.d.ts.map +1 -0
  770. package/dist/lib/openapi/spec/metric-query-schema.js +42 -0
  771. package/dist/lib/openapi/spec/metric-query-schema.js.map +1 -0
  772. package/dist/lib/openapi/spec/pat-schema.d.ts +1 -1
  773. package/dist/lib/openapi/spec/pat-schema.js +1 -1
  774. package/dist/lib/openapi/spec/pat-schema.js.map +1 -1
  775. package/dist/lib/openapi/spec/pats-schema.d.ts +2 -2
  776. package/dist/lib/openapi/spec/pats-schema.js +1 -1
  777. package/dist/lib/openapi/spec/pats-schema.js.map +1 -1
  778. package/dist/lib/openapi/spec/permission-schema.d.ts +1 -1
  779. package/dist/lib/openapi/spec/permission-schema.js +1 -1
  780. package/dist/lib/openapi/spec/permission-schema.js.map +1 -1
  781. package/dist/lib/openapi/spec/personal-dashboard-project-details-schema.d.ts +1 -1
  782. package/dist/lib/openapi/spec/personal-dashboard-project-details-schema.js +1 -1
  783. package/dist/lib/openapi/spec/personal-dashboard-project-details-schema.js.map +1 -1
  784. package/dist/lib/openapi/spec/personal-dashboard-schema.d.ts +1 -1
  785. package/dist/lib/openapi/spec/personal-dashboard-schema.js +1 -1
  786. package/dist/lib/openapi/spec/personal-dashboard-schema.js.map +1 -1
  787. package/dist/lib/openapi/spec/playground-constraint-schema.d.ts +5 -3
  788. package/dist/lib/openapi/spec/playground-constraint-schema.d.ts.map +1 -1
  789. package/dist/lib/openapi/spec/playground-feature-schema.d.ts +17 -15
  790. package/dist/lib/openapi/spec/playground-feature-schema.d.ts.map +1 -1
  791. package/dist/lib/openapi/spec/playground-response-schema.d.ts +33 -31
  792. package/dist/lib/openapi/spec/playground-response-schema.d.ts.map +1 -1
  793. package/dist/lib/openapi/spec/playground-response-schema.test.js +1 -1
  794. package/dist/lib/openapi/spec/playground-response-schema.test.js.map +1 -1
  795. package/dist/lib/openapi/spec/playground-segment-schema.d.ts +5 -3
  796. package/dist/lib/openapi/spec/playground-segment-schema.d.ts.map +1 -1
  797. package/dist/lib/openapi/spec/playground-strategy-schema.d.ts +10 -8
  798. package/dist/lib/openapi/spec/playground-strategy-schema.d.ts.map +1 -1
  799. package/dist/lib/openapi/spec/profile-schema.d.ts +947 -214
  800. package/dist/lib/openapi/spec/profile-schema.d.ts.map +1 -1
  801. package/dist/lib/openapi/spec/project-environment-schema.d.ts +9 -9
  802. package/dist/lib/openapi/spec/project-feature-schema.d.ts +2 -2
  803. package/dist/lib/openapi/spec/project-features-schema.d.ts +4 -4
  804. package/dist/lib/openapi/spec/project-insights-schema.d.ts +2 -2
  805. package/dist/lib/openapi/spec/project-insights-schema.js +2 -2
  806. package/dist/lib/openapi/spec/project-insights-schema.js.map +1 -1
  807. package/dist/lib/openapi/spec/project-overview-schema.d.ts +1781 -532
  808. package/dist/lib/openapi/spec/project-overview-schema.d.ts.map +1 -1
  809. package/dist/lib/openapi/spec/project-overview-schema.js +2 -2
  810. package/dist/lib/openapi/spec/project-overview-schema.js.map +1 -1
  811. package/dist/lib/openapi/spec/project-schema.d.ts +2 -2
  812. package/dist/lib/openapi/spec/project-schema.js +2 -2
  813. package/dist/lib/openapi/spec/project-schema.js.map +1 -1
  814. package/dist/lib/openapi/spec/projects-schema.d.ts +2 -2
  815. package/dist/lib/openapi/spec/public-signup-token-create-schema.d.ts +1 -1
  816. package/dist/lib/openapi/spec/public-signup-token-create-schema.js +1 -1
  817. package/dist/lib/openapi/spec/public-signup-token-create-schema.js.map +1 -1
  818. package/dist/lib/openapi/spec/public-signup-token-schema.d.ts +8 -2
  819. package/dist/lib/openapi/spec/public-signup-token-schema.d.ts.map +1 -1
  820. package/dist/lib/openapi/spec/public-signup-token-schema.js +1 -1
  821. package/dist/lib/openapi/spec/public-signup-token-schema.js.map +1 -1
  822. package/dist/lib/openapi/spec/public-signup-tokens-schema.d.ts +15 -3
  823. package/dist/lib/openapi/spec/public-signup-tokens-schema.d.ts.map +1 -1
  824. package/dist/lib/openapi/spec/push-variants-schema.d.ts +3 -3
  825. package/dist/lib/openapi/spec/release-plan-milestone-schema.d.ts +45 -25
  826. package/dist/lib/openapi/spec/release-plan-milestone-schema.d.ts.map +1 -1
  827. package/dist/lib/openapi/spec/release-plan-milestone-schema.js +12 -1
  828. package/dist/lib/openapi/spec/release-plan-milestone-schema.js.map +1 -1
  829. package/dist/lib/openapi/spec/release-plan-milestone-strategy-schema.d.ts +15 -13
  830. package/dist/lib/openapi/spec/release-plan-milestone-strategy-schema.d.ts.map +1 -1
  831. package/dist/lib/openapi/spec/release-plan-schema.d.ts +283 -48
  832. package/dist/lib/openapi/spec/release-plan-schema.d.ts.map +1 -1
  833. package/dist/lib/openapi/spec/release-plan-schema.js +13 -0
  834. package/dist/lib/openapi/spec/release-plan-schema.js.map +1 -1
  835. package/dist/lib/openapi/spec/release-plan-template-schema.d.ts +68 -48
  836. package/dist/lib/openapi/spec/release-plan-template-schema.d.ts.map +1 -1
  837. package/dist/lib/openapi/spec/resource-limits-schema.d.ts +6 -0
  838. package/dist/lib/openapi/spec/resource-limits-schema.d.ts.map +1 -1
  839. package/dist/lib/openapi/spec/resource-limits-schema.js +6 -0
  840. package/dist/lib/openapi/spec/resource-limits-schema.js.map +1 -1
  841. package/dist/lib/openapi/spec/safeguard-schema.d.ts +149 -0
  842. package/dist/lib/openapi/spec/safeguard-schema.d.ts.map +1 -0
  843. package/dist/lib/openapi/spec/safeguard-schema.js +59 -0
  844. package/dist/lib/openapi/spec/safeguard-schema.js.map +1 -0
  845. package/dist/lib/openapi/spec/safeguard-trigger-condition-schema.d.ts +24 -0
  846. package/dist/lib/openapi/spec/safeguard-trigger-condition-schema.d.ts.map +1 -0
  847. package/dist/lib/openapi/spec/safeguard-trigger-condition-schema.js +22 -0
  848. package/dist/lib/openapi/spec/safeguard-trigger-condition-schema.js.map +1 -0
  849. package/dist/lib/openapi/spec/search-features-schema.d.ts +1578 -548
  850. package/dist/lib/openapi/spec/search-features-schema.d.ts.map +1 -1
  851. package/dist/lib/openapi/spec/segment-schema.d.ts +5 -3
  852. package/dist/lib/openapi/spec/segment-schema.d.ts.map +1 -1
  853. package/dist/lib/openapi/spec/segments-schema.d.ts +9 -7
  854. package/dist/lib/openapi/spec/segments-schema.d.ts.map +1 -1
  855. package/dist/lib/openapi/spec/segments-schema.js +1 -1
  856. package/dist/lib/openapi/spec/segments-schema.js.map +1 -1
  857. package/dist/lib/openapi/spec/strategies-schema.d.ts +1 -1
  858. package/dist/lib/openapi/spec/strategy-schema.d.ts +1 -1
  859. package/dist/lib/openapi/spec/strategy-schema.js +1 -1
  860. package/dist/lib/openapi/spec/strategy-schema.js.map +1 -1
  861. package/dist/lib/openapi/spec/strategy-variant-schema.d.ts +3 -3
  862. package/dist/lib/openapi/spec/tag-schema.d.ts +2 -2
  863. package/dist/lib/openapi/spec/tag-schema.js +2 -2
  864. package/dist/lib/openapi/spec/tag-schema.js.map +1 -1
  865. package/dist/lib/openapi/spec/tag-with-version-schema.d.ts +2 -2
  866. package/dist/lib/openapi/spec/tags-bulk-add-schema.d.ts +4 -4
  867. package/dist/lib/openapi/spec/tags-schema.d.ts +2 -2
  868. package/dist/lib/openapi/spec/ui-config-schema.d.ts +6 -0
  869. package/dist/lib/openapi/spec/ui-config-schema.d.ts.map +1 -1
  870. package/dist/lib/openapi/spec/update-context-field-schema.d.ts +6 -1
  871. package/dist/lib/openapi/spec/update-context-field-schema.d.ts.map +1 -1
  872. package/dist/lib/openapi/spec/update-context-field-schema.js +6 -1
  873. package/dist/lib/openapi/spec/update-context-field-schema.js.map +1 -1
  874. package/dist/lib/openapi/spec/update-feature-schema.d.ts +6 -4
  875. package/dist/lib/openapi/spec/update-feature-schema.d.ts.map +1 -1
  876. package/dist/lib/openapi/spec/update-feature-schema.js +1 -1
  877. package/dist/lib/openapi/spec/update-feature-schema.js.map +1 -1
  878. package/dist/lib/openapi/spec/update-feature-strategy-schema.d.ts +6 -4
  879. package/dist/lib/openapi/spec/update-feature-strategy-schema.d.ts.map +1 -1
  880. package/dist/lib/openapi/spec/update-feature-strategy-schema.js +1 -1
  881. package/dist/lib/openapi/spec/update-feature-strategy-schema.js.map +1 -1
  882. package/dist/lib/openapi/spec/update-feature-type-lifetime-schema.d.ts +1 -1
  883. package/dist/lib/openapi/spec/update-feature-type-lifetime-schema.js +1 -1
  884. package/dist/lib/openapi/spec/update-feature-type-lifetime-schema.js.map +1 -1
  885. package/dist/lib/openapi/spec/update-strategy-schema.d.ts +1 -1
  886. package/dist/lib/openapi/spec/update-strategy-schema.js +1 -1
  887. package/dist/lib/openapi/spec/update-strategy-schema.js.map +1 -1
  888. package/dist/lib/openapi/spec/update-tags-schema.d.ts +2 -2
  889. package/dist/lib/openapi/spec/update-user-schema.d.ts +1 -1
  890. package/dist/lib/openapi/spec/update-user-schema.d.ts.map +1 -1
  891. package/dist/lib/openapi/spec/update-user-schema.js +8 -1
  892. package/dist/lib/openapi/spec/update-user-schema.js.map +1 -1
  893. package/dist/lib/openapi/spec/upsert-segment-schema.d.ts +5 -3
  894. package/dist/lib/openapi/spec/upsert-segment-schema.d.ts.map +1 -1
  895. package/dist/lib/openapi/spec/upsert-segment-schema.test.js +6 -2
  896. package/dist/lib/openapi/spec/upsert-segment-schema.test.js.map +1 -1
  897. package/dist/lib/openapi/spec/user-access-overview-schema.d.ts +7 -1
  898. package/dist/lib/openapi/spec/user-access-overview-schema.d.ts.map +1 -1
  899. package/dist/lib/openapi/spec/user-schema.d.ts +7 -1
  900. package/dist/lib/openapi/spec/user-schema.d.ts.map +1 -1
  901. package/dist/lib/openapi/spec/user-schema.js +7 -1
  902. package/dist/lib/openapi/spec/user-schema.js.map +1 -1
  903. package/dist/lib/openapi/spec/users-groups-base-schema.d.ts +28 -4
  904. package/dist/lib/openapi/spec/users-groups-base-schema.d.ts.map +1 -1
  905. package/dist/lib/openapi/spec/users-schema.d.ts +8 -2
  906. package/dist/lib/openapi/spec/users-schema.d.ts.map +1 -1
  907. package/dist/lib/openapi/spec/users-schema.js +1 -1
  908. package/dist/lib/openapi/spec/users-schema.js.map +1 -1
  909. package/dist/lib/openapi/spec/users-search-schema.d.ts +7 -1
  910. package/dist/lib/openapi/spec/users-search-schema.d.ts.map +1 -1
  911. package/dist/lib/openapi/spec/validated-edge-tokens-schema.d.ts +3 -3
  912. package/dist/lib/openapi/spec/variant-schema.d.ts +3 -3
  913. package/dist/lib/openapi/spec/variant-schema.js +3 -3
  914. package/dist/lib/openapi/spec/variant-schema.js.map +1 -1
  915. package/dist/lib/openapi/spec/variants-schema.d.ts +3 -3
  916. package/dist/lib/openapi/util/api-operation.d.ts +1 -3
  917. package/dist/lib/openapi/util/api-operation.d.ts.map +1 -1
  918. package/dist/lib/openapi/util/openapi-tags.d.ts +40 -40
  919. package/dist/lib/openapi/util/openapi-tags.js +20 -20
  920. package/dist/lib/openapi/util/openapi-tags.js.map +1 -1
  921. package/dist/lib/openapi/validate.d.ts +2 -2
  922. package/dist/lib/openapi/validate.d.ts.map +1 -1
  923. package/dist/lib/routes/admin-api/addon.d.ts +1 -2
  924. package/dist/lib/routes/admin-api/addon.d.ts.map +1 -1
  925. package/dist/lib/routes/admin-api/addon.js +1 -2
  926. package/dist/lib/routes/admin-api/addon.js.map +1 -1
  927. package/dist/lib/routes/admin-api/api-token.js +2 -2
  928. package/dist/lib/routes/admin-api/api-token.js.map +1 -1
  929. package/dist/lib/routes/admin-api/event.d.ts +1 -1
  930. package/dist/lib/routes/admin-api/event.d.ts.map +1 -1
  931. package/dist/lib/routes/admin-api/event.js +1 -1
  932. package/dist/lib/routes/admin-api/event.js.map +1 -1
  933. package/dist/lib/routes/admin-api/events.test.js +1 -1
  934. package/dist/lib/routes/admin-api/events.test.js.map +1 -1
  935. package/dist/lib/routes/admin-api/feature-type.d.ts +1 -2
  936. package/dist/lib/routes/admin-api/feature-type.d.ts.map +1 -1
  937. package/dist/lib/routes/admin-api/feature-type.js +2 -3
  938. package/dist/lib/routes/admin-api/feature-type.js.map +1 -1
  939. package/dist/lib/routes/admin-api/instance-admin.d.ts +1 -3
  940. package/dist/lib/routes/admin-api/instance-admin.d.ts.map +1 -1
  941. package/dist/lib/routes/admin-api/instance-admin.js +4 -4
  942. package/dist/lib/routes/admin-api/instance-admin.js.map +1 -1
  943. package/dist/lib/routes/admin-api/metrics.d.ts +2 -3
  944. package/dist/lib/routes/admin-api/metrics.d.ts.map +1 -1
  945. package/dist/lib/routes/admin-api/metrics.js +2 -3
  946. package/dist/lib/routes/admin-api/metrics.js.map +1 -1
  947. package/dist/lib/routes/admin-api/project/api-token.d.ts +0 -1
  948. package/dist/lib/routes/admin-api/project/api-token.d.ts.map +1 -1
  949. package/dist/lib/routes/admin-api/project/api-token.js +3 -4
  950. package/dist/lib/routes/admin-api/project/api-token.js.map +1 -1
  951. package/dist/lib/routes/admin-api/project/health-report.js +1 -1
  952. package/dist/lib/routes/admin-api/project/health-report.js.map +1 -1
  953. package/dist/lib/routes/admin-api/public-signup.d.ts +2 -4
  954. package/dist/lib/routes/admin-api/public-signup.d.ts.map +1 -1
  955. package/dist/lib/routes/admin-api/public-signup.js +2 -4
  956. package/dist/lib/routes/admin-api/public-signup.js.map +1 -1
  957. package/dist/lib/routes/admin-api/search/index.d.ts +1 -1
  958. package/dist/lib/routes/admin-api/search/index.d.ts.map +1 -1
  959. package/dist/lib/routes/admin-api/search/index.js +1 -1
  960. package/dist/lib/routes/admin-api/search/index.js.map +1 -1
  961. package/dist/lib/routes/admin-api/strategy.d.ts +1 -2
  962. package/dist/lib/routes/admin-api/strategy.d.ts.map +1 -1
  963. package/dist/lib/routes/admin-api/strategy.js +7 -8
  964. package/dist/lib/routes/admin-api/strategy.js.map +1 -1
  965. package/dist/lib/routes/admin-api/tag.d.ts +2 -4
  966. package/dist/lib/routes/admin-api/tag.d.ts.map +1 -1
  967. package/dist/lib/routes/admin-api/tag.js +4 -6
  968. package/dist/lib/routes/admin-api/tag.js.map +1 -1
  969. package/dist/lib/routes/admin-api/telemetry.d.ts +1 -1
  970. package/dist/lib/routes/admin-api/telemetry.d.ts.map +1 -1
  971. package/dist/lib/routes/admin-api/telemetry.js +1 -1
  972. package/dist/lib/routes/admin-api/telemetry.js.map +1 -1
  973. package/dist/lib/routes/admin-api/user/pat.js +3 -3
  974. package/dist/lib/routes/admin-api/user/pat.js.map +1 -1
  975. package/dist/lib/routes/admin-api/user/user.test.js +2 -2
  976. package/dist/lib/routes/admin-api/user/user.test.js.map +1 -1
  977. package/dist/lib/routes/admin-api/user-admin.d.ts +3 -3
  978. package/dist/lib/routes/admin-api/user-admin.d.ts.map +1 -1
  979. package/dist/lib/routes/admin-api/user-admin.js +4 -4
  980. package/dist/lib/routes/admin-api/user-admin.js.map +1 -1
  981. package/dist/lib/routes/admin-api/user-feedback.d.ts +0 -1
  982. package/dist/lib/routes/admin-api/user-feedback.d.ts.map +1 -1
  983. package/dist/lib/routes/admin-api/user-feedback.js +2 -3
  984. package/dist/lib/routes/admin-api/user-feedback.js.map +1 -1
  985. package/dist/lib/routes/admin-api/user-splash.d.ts +0 -1
  986. package/dist/lib/routes/admin-api/user-splash.d.ts.map +1 -1
  987. package/dist/lib/routes/admin-api/user-splash.js +2 -2
  988. package/dist/lib/routes/admin-api/user-splash.js.map +1 -1
  989. package/dist/lib/routes/auth/reset-password-controller.d.ts +0 -1
  990. package/dist/lib/routes/auth/reset-password-controller.d.ts.map +1 -1
  991. package/dist/lib/routes/auth/reset-password-controller.js +0 -1
  992. package/dist/lib/routes/auth/reset-password-controller.js.map +1 -1
  993. package/dist/lib/routes/auth/simple-password-provider.d.ts +0 -1
  994. package/dist/lib/routes/auth/simple-password-provider.d.ts.map +1 -1
  995. package/dist/lib/routes/auth/simple-password-provider.js +0 -1
  996. package/dist/lib/routes/auth/simple-password-provider.js.map +1 -1
  997. package/dist/lib/routes/auth/simple-password-provider.test.js +2 -2
  998. package/dist/lib/routes/auth/simple-password-provider.test.js.map +1 -1
  999. package/dist/lib/routes/backstage.js +3 -3
  1000. package/dist/lib/routes/backstage.js.map +1 -1
  1001. package/dist/lib/routes/health-check.d.ts +0 -2
  1002. package/dist/lib/routes/health-check.d.ts.map +1 -1
  1003. package/dist/lib/routes/health-check.js +0 -2
  1004. package/dist/lib/routes/health-check.js.map +1 -1
  1005. package/dist/lib/routes/logout.test.js +5 -5
  1006. package/dist/lib/routes/logout.test.js.map +1 -1
  1007. package/dist/lib/routes/public-invite.d.ts +0 -1
  1008. package/dist/lib/routes/public-invite.d.ts.map +1 -1
  1009. package/dist/lib/routes/public-invite.js +0 -1
  1010. package/dist/lib/routes/public-invite.js.map +1 -1
  1011. package/dist/lib/schema/constraint-value-types.d.ts +1 -1
  1012. package/dist/lib/schema/constraint-value-types.d.ts.map +1 -1
  1013. package/dist/lib/server-impl.d.ts +5 -6
  1014. package/dist/lib/server-impl.d.ts.map +1 -1
  1015. package/dist/lib/server-impl.js +13 -4
  1016. package/dist/lib/server-impl.js.map +1 -1
  1017. package/dist/lib/services/access-service.d.ts +2 -1
  1018. package/dist/lib/services/access-service.d.ts.map +1 -1
  1019. package/dist/lib/services/access-service.js +20 -1
  1020. package/dist/lib/services/access-service.js.map +1 -1
  1021. package/dist/lib/services/access-service.test.js +22 -6
  1022. package/dist/lib/services/access-service.test.js.map +1 -1
  1023. package/dist/lib/services/account-service.d.ts.map +1 -1
  1024. package/dist/lib/services/account-service.js +1 -0
  1025. package/dist/lib/services/account-service.js.map +1 -1
  1026. package/dist/lib/services/addon-service.d.ts +2 -2
  1027. package/dist/lib/services/addon-service.d.ts.map +1 -1
  1028. package/dist/lib/services/addon-service.js +22 -21
  1029. package/dist/lib/services/addon-service.js.map +1 -1
  1030. package/dist/lib/services/addon-service.test.js +1 -1
  1031. package/dist/lib/services/addon-service.test.js.map +1 -1
  1032. package/dist/lib/services/api-token-service.d.ts.map +1 -1
  1033. package/dist/lib/services/api-token-service.js +3 -1
  1034. package/dist/lib/services/api-token-service.js.map +1 -1
  1035. package/dist/lib/services/api-token-service.limit.test.js.map +1 -1
  1036. package/dist/lib/services/api-token-service.test.js +2 -2
  1037. package/dist/lib/services/api-token-service.test.js.map +1 -1
  1038. package/dist/lib/services/client-spec-service.d.ts +1 -2
  1039. package/dist/lib/services/client-spec-service.d.ts.map +1 -1
  1040. package/dist/lib/services/client-spec-service.js +1 -2
  1041. package/dist/lib/services/client-spec-service.js.map +1 -1
  1042. package/dist/lib/services/context-schema.d.ts.map +1 -1
  1043. package/dist/lib/services/context-schema.js +1 -0
  1044. package/dist/lib/services/context-schema.js.map +1 -1
  1045. package/dist/lib/services/favorites-service.d.ts +1 -3
  1046. package/dist/lib/services/favorites-service.d.ts.map +1 -1
  1047. package/dist/lib/services/favorites-service.js +2 -4
  1048. package/dist/lib/services/favorites-service.js.map +1 -1
  1049. package/dist/lib/services/feature-tag-service.d.ts.map +1 -1
  1050. package/dist/lib/services/feature-tag-service.js +1 -0
  1051. package/dist/lib/services/feature-tag-service.js.map +1 -1
  1052. package/dist/lib/services/group-service.d.ts +2 -2
  1053. package/dist/lib/services/group-service.d.ts.map +1 -1
  1054. package/dist/lib/services/group-service.js +3 -2
  1055. package/dist/lib/services/group-service.js.map +1 -1
  1056. package/dist/lib/services/health-service.d.ts +1 -3
  1057. package/dist/lib/services/health-service.d.ts.map +1 -1
  1058. package/dist/lib/services/health-service.js +1 -2
  1059. package/dist/lib/services/health-service.js.map +1 -1
  1060. package/dist/lib/services/index.d.ts +1 -1
  1061. package/dist/lib/services/index.d.ts.map +1 -1
  1062. package/dist/lib/services/index.js +5 -4
  1063. package/dist/lib/services/index.js.map +1 -1
  1064. package/dist/lib/services/openapi-service.js +7 -5
  1065. package/dist/lib/services/openapi-service.js.map +1 -1
  1066. package/dist/lib/services/public-signup-token-service.d.ts +0 -1
  1067. package/dist/lib/services/public-signup-token-service.d.ts.map +1 -1
  1068. package/dist/lib/services/public-signup-token-service.js +0 -1
  1069. package/dist/lib/services/public-signup-token-service.js.map +1 -1
  1070. package/dist/lib/services/reset-token-service.js +3 -3
  1071. package/dist/lib/services/reset-token-service.js.map +1 -1
  1072. package/dist/lib/services/strategy-service.d.ts +1 -2
  1073. package/dist/lib/services/strategy-service.d.ts.map +1 -1
  1074. package/dist/lib/services/strategy-service.js +2 -3
  1075. package/dist/lib/services/strategy-service.js.map +1 -1
  1076. package/dist/lib/services/user-service.d.ts +3 -0
  1077. package/dist/lib/services/user-service.d.ts.map +1 -1
  1078. package/dist/lib/services/user-service.js +11 -7
  1079. package/dist/lib/services/user-service.js.map +1 -1
  1080. package/dist/lib/services/user-service.test.js +28 -1
  1081. package/dist/lib/services/user-service.test.js.map +1 -1
  1082. package/dist/lib/services/version-service.d.ts +7 -1
  1083. package/dist/lib/services/version-service.d.ts.map +1 -1
  1084. package/dist/lib/services/version-service.js +5 -1
  1085. package/dist/lib/services/version-service.js.map +1 -1
  1086. package/dist/lib/services/version-service.test.js +44 -0
  1087. package/dist/lib/services/version-service.test.js.map +1 -1
  1088. package/dist/lib/types/experimental.d.ts +1 -1
  1089. package/dist/lib/types/experimental.d.ts.map +1 -1
  1090. package/dist/lib/types/experimental.js +13 -7
  1091. package/dist/lib/types/experimental.js.map +1 -1
  1092. package/dist/lib/types/model.d.ts +6 -1
  1093. package/dist/lib/types/model.d.ts.map +1 -1
  1094. package/dist/lib/types/model.js +1 -0
  1095. package/dist/lib/types/model.js.map +1 -1
  1096. package/dist/lib/types/permissions.d.ts +1 -0
  1097. package/dist/lib/types/permissions.d.ts.map +1 -1
  1098. package/dist/lib/types/permissions.js +2 -0
  1099. package/dist/lib/types/permissions.js.map +1 -1
  1100. package/dist/lib/types/user.d.ts +6 -1
  1101. package/dist/lib/types/user.d.ts.map +1 -1
  1102. package/dist/lib/types/user.js +3 -1
  1103. package/dist/lib/types/user.js.map +1 -1
  1104. package/dist/lib/ui-config/ui-config-service.d.ts.map +1 -1
  1105. package/dist/lib/ui-config/ui-config-service.js.map +1 -1
  1106. package/dist/lib/ui-config/ui-config.test.js +2 -2
  1107. package/dist/lib/ui-config/ui-config.test.js.map +1 -1
  1108. package/dist/lib/users/inactive/fakes/fake-inactive-users-store.d.ts.map +1 -1
  1109. package/dist/lib/users/inactive/fakes/fake-inactive-users-store.js +1 -0
  1110. package/dist/lib/users/inactive/fakes/fake-inactive-users-store.js.map +1 -1
  1111. package/dist/lib/users/inactive/inactive-users-store.d.ts +1 -3
  1112. package/dist/lib/users/inactive/inactive-users-store.d.ts.map +1 -1
  1113. package/dist/lib/users/inactive/inactive-users-store.js +1 -3
  1114. package/dist/lib/users/inactive/inactive-users-store.js.map +1 -1
  1115. package/dist/lib/util/anonymise.test.js.map +1 -1
  1116. package/dist/lib/util/batchExecute.d.ts.map +1 -1
  1117. package/dist/lib/util/batchExecute.js +3 -1
  1118. package/dist/lib/util/batchExecute.js.map +1 -1
  1119. package/dist/lib/util/flag-resolver.d.ts.map +1 -1
  1120. package/dist/lib/util/flag-resolver.js +11 -3
  1121. package/dist/lib/util/flag-resolver.js.map +1 -1
  1122. package/dist/lib/util/flag-resolver.test.js +66 -15
  1123. package/dist/lib/util/flag-resolver.test.js.map +1 -1
  1124. package/dist/lib/util/graceful-shutdown.js +1 -1
  1125. package/dist/lib/util/graceful-shutdown.js.map +1 -1
  1126. package/dist/lib/util/parseEnvVar.d.ts +2 -0
  1127. package/dist/lib/util/parseEnvVar.d.ts.map +1 -1
  1128. package/dist/lib/util/parseEnvVar.js +21 -1
  1129. package/dist/lib/util/parseEnvVar.js.map +1 -1
  1130. package/dist/lib/util/parseEnvVar.test.js +24 -1
  1131. package/dist/lib/util/parseEnvVar.test.js.map +1 -1
  1132. package/dist/lib/util/postgres-version-checker.test.js +17 -5
  1133. package/dist/lib/util/postgres-version-checker.test.js.map +1 -1
  1134. package/dist/lib/util/semver.js +1 -1
  1135. package/dist/lib/util/semver.js.map +1 -1
  1136. package/dist/lib/util/validateJsonString.js +1 -1
  1137. package/dist/lib/util/validateJsonString.js.map +1 -1
  1138. package/dist/mailtemplates/getting-started/getting-started.html.mustache +1 -1
  1139. package/dist/migrations/20251118131212-edge-observability-hosting.d.ts +3 -0
  1140. package/dist/migrations/20251118131212-edge-observability-hosting.d.ts.map +1 -0
  1141. package/dist/migrations/20251118131212-edge-observability-hosting.js +14 -0
  1142. package/dist/migrations/20251118131212-edge-observability-hosting.js.map +1 -0
  1143. package/dist/migrations/20251209090115-add-default-release-plan-template.d.ts +3 -0
  1144. package/dist/migrations/20251209090115-add-default-release-plan-template.d.ts.map +1 -0
  1145. package/dist/migrations/20251209090115-add-default-release-plan-template.js +45 -0
  1146. package/dist/migrations/20251209090115-add-default-release-plan-template.js.map +1 -0
  1147. package/dist/migrations/20251210144308-add-project-column-to-context-fields.d.ts +3 -0
  1148. package/dist/migrations/20251210144308-add-project-column-to-context-fields.d.ts.map +1 -0
  1149. package/dist/migrations/20251210144308-add-project-column-to-context-fields.js +8 -0
  1150. package/dist/migrations/20251210144308-add-project-column-to-context-fields.js.map +1 -0
  1151. package/dist/migrations/20251218153722-predefined-project-role-reader.d.ts +3 -0
  1152. package/dist/migrations/20251218153722-predefined-project-role-reader.d.ts.map +1 -0
  1153. package/dist/migrations/20251218153722-predefined-project-role-reader.js +24 -0
  1154. package/dist/migrations/20251218153722-predefined-project-role-reader.js.map +1 -0
  1155. package/dist/migrations/20260106164443-users-seat-type.d.ts +3 -0
  1156. package/dist/migrations/20260106164443-users-seat-type.d.ts.map +1 -0
  1157. package/dist/migrations/20260106164443-users-seat-type.js +8 -0
  1158. package/dist/migrations/20260106164443-users-seat-type.js.map +1 -0
  1159. package/dist/migrations/20260112111353-add-project-context-permission.d.ts +3 -0
  1160. package/dist/migrations/20260112111353-add-project-context-permission.d.ts.map +1 -0
  1161. package/dist/migrations/20260112111353-add-project-context-permission.js +9 -0
  1162. package/dist/migrations/20260112111353-add-project-context-permission.js.map +1 -0
  1163. package/dist/migrations/20260115122651-project-owner-crud-project-context.d.ts +3 -0
  1164. package/dist/migrations/20260115122651-project-owner-crud-project-context.d.ts.map +1 -0
  1165. package/dist/migrations/20260115122651-project-owner-crud-project-context.js +14 -0
  1166. package/dist/migrations/20260115122651-project-owner-crud-project-context.js.map +1 -0
  1167. package/dist/migrations/20260115122720-project-owner-crud-project-segment.d.ts +3 -0
  1168. package/dist/migrations/20260115122720-project-owner-crud-project-segment.d.ts.map +1 -0
  1169. package/dist/migrations/20260115122720-project-owner-crud-project-segment.js +14 -0
  1170. package/dist/migrations/20260115122720-project-owner-crud-project-segment.js.map +1 -0
  1171. package/dist/migrations/20260119100647-add-api-key-revision-id-to-edge-observability.d.ts +3 -0
  1172. package/dist/migrations/20260119100647-add-api-key-revision-id-to-edge-observability.d.ts.map +1 -0
  1173. package/dist/migrations/20260119100647-add-api-key-revision-id-to-edge-observability.js +8 -0
  1174. package/dist/migrations/20260119100647-add-api-key-revision-id-to-edge-observability.js.map +1 -0
  1175. package/dist/server-dev.js +6 -2
  1176. package/dist/server-dev.js.map +1 -1
  1177. package/dist/test/arbitraries.test.d.ts.map +1 -1
  1178. package/dist/test/arbitraries.test.js +1 -0
  1179. package/dist/test/arbitraries.test.js.map +1 -1
  1180. package/dist/test/config/create-config.test.js +2 -2
  1181. package/dist/test/config/create-config.test.js.map +1 -1
  1182. package/dist/test/e2e/api/admin/addon.e2e.test.js +4 -1
  1183. package/dist/test/e2e/api/admin/addon.e2e.test.js.map +1 -1
  1184. package/dist/test/e2e/api/admin/api-token.auth.e2e.test.js +6 -3
  1185. package/dist/test/e2e/api/admin/api-token.auth.e2e.test.js.map +1 -1
  1186. package/dist/test/e2e/api/admin/api-token.e2e.test.js +12 -3
  1187. package/dist/test/e2e/api/admin/api-token.e2e.test.js.map +1 -1
  1188. package/dist/test/e2e/api/admin/conditional-middleware.e2e.test.js +8 -8
  1189. package/dist/test/e2e/api/admin/conditional-middleware.e2e.test.js.map +1 -1
  1190. package/dist/test/e2e/api/admin/context-api-include-query-params.e2e.test.d.ts +2 -0
  1191. package/dist/test/e2e/api/admin/context-api-include-query-params.e2e.test.d.ts.map +1 -0
  1192. package/dist/test/e2e/api/admin/context-api-include-query-params.e2e.test.js +81 -0
  1193. package/dist/test/e2e/api/admin/context-api-include-query-params.e2e.test.js.map +1 -0
  1194. package/dist/test/e2e/api/admin/feature-type.test.js +4 -1
  1195. package/dist/test/e2e/api/admin/feature-type.test.js.map +1 -1
  1196. package/dist/test/e2e/api/admin/feature.custom-auth.e2e.test.js +3 -3
  1197. package/dist/test/e2e/api/admin/feature.custom-auth.e2e.test.js.map +1 -1
  1198. package/dist/test/e2e/api/admin/feedback.e2e.test.js +3 -3
  1199. package/dist/test/e2e/api/admin/feedback.e2e.test.js.map +1 -1
  1200. package/dist/test/e2e/api/admin/instance-admin.e2e.test.js +1 -1
  1201. package/dist/test/e2e/api/admin/metrics.e2e.test.js +3 -3
  1202. package/dist/test/e2e/api/admin/metrics.e2e.test.js.map +1 -1
  1203. package/dist/test/e2e/api/admin/playground.e2e.test.js +12 -11
  1204. package/dist/test/e2e/api/admin/playground.e2e.test.js.map +1 -1
  1205. package/dist/test/e2e/api/admin/project/project.api.tokens.e2e.test.js +5 -1
  1206. package/dist/test/e2e/api/admin/project/project.api.tokens.e2e.test.js.map +1 -1
  1207. package/dist/test/e2e/api/admin/project/project.health.e2e.test.js +1 -1
  1208. package/dist/test/e2e/api/admin/project/project.health.e2e.test.js.map +1 -1
  1209. package/dist/test/e2e/api/admin/project/variants.e2e.test.js +2 -2
  1210. package/dist/test/e2e/api/admin/project/variants.e2e.test.js.map +1 -1
  1211. package/dist/test/e2e/api/admin/project-context.e2e.test.d.ts +2 -0
  1212. package/dist/test/e2e/api/admin/project-context.e2e.test.d.ts.map +1 -0
  1213. package/dist/test/e2e/api/admin/project-context.e2e.test.js +102 -0
  1214. package/dist/test/e2e/api/admin/project-context.e2e.test.js.map +1 -0
  1215. package/dist/test/e2e/api/admin/public-signup-token.e2e.test.js +12 -12
  1216. package/dist/test/e2e/api/admin/public-signup-token.e2e.test.js.map +1 -1
  1217. package/dist/test/e2e/api/admin/splash.e2e.test.js +3 -3
  1218. package/dist/test/e2e/api/admin/splash.e2e.test.js.map +1 -1
  1219. package/dist/test/e2e/api/admin/user/pat.e2e.test.d.ts +1 -1
  1220. package/dist/test/e2e/api/admin/user/pat.e2e.test.js +1 -1
  1221. package/dist/test/e2e/api/admin/user-admin.e2e.test.js +1 -1
  1222. package/dist/test/e2e/api/admin/user-admin.e2e.test.js.map +1 -1
  1223. package/dist/test/e2e/api/auth/reset-password-controller.e2e.test.js +3 -0
  1224. package/dist/test/e2e/api/auth/reset-password-controller.e2e.test.js.map +1 -1
  1225. package/dist/test/e2e/api/auth/simple-password-provider.e2e.test.js +3 -0
  1226. package/dist/test/e2e/api/auth/simple-password-provider.e2e.test.js.map +1 -1
  1227. package/dist/test/e2e/api/client/bulk-metrics-rejections.e2e.test.d.ts +2 -0
  1228. package/dist/test/e2e/api/client/bulk-metrics-rejections.e2e.test.d.ts.map +1 -0
  1229. package/dist/test/e2e/api/client/bulk-metrics-rejections.e2e.test.js +173 -0
  1230. package/dist/test/e2e/api/client/bulk-metrics-rejections.e2e.test.js.map +1 -0
  1231. package/dist/test/e2e/api/client/feature.auth-none.e2e.test.js +1 -1
  1232. package/dist/test/e2e/api/client/feature.auth-none.e2e.test.js.map +1 -1
  1233. package/dist/test/e2e/api/client/feature.e2e.test.js +15 -2
  1234. package/dist/test/e2e/api/client/feature.e2e.test.js.map +1 -1
  1235. package/dist/test/e2e/api/client/feature.optimal304.e2e.test.js +254 -113
  1236. package/dist/test/e2e/api/client/feature.optimal304.e2e.test.js.map +1 -1
  1237. package/dist/test/e2e/api/client/feature.token.access.e2e.test.js +1 -1
  1238. package/dist/test/e2e/api/client/feature.token.access.e2e.test.js.map +1 -1
  1239. package/dist/test/e2e/api/client/metrics.e2e.test.js +2 -1
  1240. package/dist/test/e2e/api/client/metrics.e2e.test.js.map +1 -1
  1241. package/dist/test/e2e/api/client/register.e2e.test.js +4 -4
  1242. package/dist/test/e2e/api/client/register.e2e.test.js.map +1 -1
  1243. package/dist/test/e2e/custom-auth.test.js +2 -2
  1244. package/dist/test/e2e/custom-auth.test.js.map +1 -1
  1245. package/dist/test/e2e/features-created-by-user-id-data-migration.e2e.test.js +4 -4
  1246. package/dist/test/e2e/features-created-by-user-id-data-migration.e2e.test.js.map +1 -1
  1247. package/dist/test/e2e/helpers/database-init.d.ts +1 -1
  1248. package/dist/test/e2e/helpers/database-init.d.ts.map +1 -1
  1249. package/dist/test/e2e/helpers/database-init.js +1 -1
  1250. package/dist/test/e2e/helpers/database-init.js.map +1 -1
  1251. package/dist/test/e2e/seed/segment.seed.js +2 -2
  1252. package/dist/test/e2e/seed/segment.seed.js.map +1 -1
  1253. package/dist/test/e2e/services/access-service.e2e.test.js +34 -2
  1254. package/dist/test/e2e/services/access-service.e2e.test.js.map +1 -1
  1255. package/dist/test/e2e/services/addon-service.e2e.test.js +1 -1
  1256. package/dist/test/e2e/services/addon-service.e2e.test.js.map +1 -1
  1257. package/dist/test/e2e/services/api-token-service.e2e.test.js +1 -1
  1258. package/dist/test/e2e/services/api-token-service.e2e.test.js.map +1 -1
  1259. package/dist/test/e2e/services/playground-service.test.js +18 -12
  1260. package/dist/test/e2e/services/playground-service.test.js.map +1 -1
  1261. package/dist/test/e2e/services/reset-token-service.e2e.test.js +3 -0
  1262. package/dist/test/e2e/services/reset-token-service.e2e.test.js.map +1 -1
  1263. package/dist/test/e2e/services/setting-service.test.js +2 -2
  1264. package/dist/test/e2e/services/setting-service.test.js.map +1 -1
  1265. package/dist/test/e2e/services/user-service.e2e.test.js +4 -1
  1266. package/dist/test/e2e/services/user-service.e2e.test.js.map +1 -1
  1267. package/dist/test/e2e/stores/client-application-store.e2e.test.js +22 -22
  1268. package/dist/test/e2e/stores/client-application-store.e2e.test.js.map +1 -1
  1269. package/dist/test/e2e/stores/client-instance-store.e2e.test.js +2 -2
  1270. package/dist/test/e2e/stores/client-instance-store.e2e.test.js.map +1 -1
  1271. package/dist/test/e2e/stores/context-field-store.e2e.test.js +2 -2
  1272. package/dist/test/e2e/stores/context-field-store.e2e.test.js.map +1 -1
  1273. package/dist/test/e2e/stores/event-store.e2e.test.js +17 -29
  1274. package/dist/test/e2e/stores/event-store.e2e.test.js.map +1 -1
  1275. package/dist/test/e2e/users/inactive/inactive-users-service.test.js +3 -1
  1276. package/dist/test/e2e/users/inactive/inactive-users-service.test.js.map +1 -1
  1277. package/dist/test/fixtures/access-service-mock.d.ts +13 -13
  1278. package/dist/test/fixtures/access-service-mock.d.ts.map +1 -1
  1279. package/dist/test/fixtures/access-service-mock.js +13 -13
  1280. package/dist/test/fixtures/access-service-mock.js.map +1 -1
  1281. package/dist/test/fixtures/fake-access-store.d.ts +38 -34
  1282. package/dist/test/fixtures/fake-access-store.d.ts.map +1 -1
  1283. package/dist/test/fixtures/fake-access-store.js +37 -35
  1284. package/dist/test/fixtures/fake-access-store.js.map +1 -1
  1285. package/dist/test/fixtures/fake-account-store.d.ts +2 -2
  1286. package/dist/test/fixtures/fake-account-store.d.ts.map +1 -1
  1287. package/dist/test/fixtures/fake-account-store.js +2 -2
  1288. package/dist/test/fixtures/fake-account-store.js.map +1 -1
  1289. package/dist/test/fixtures/fake-client-applications-store.d.ts +2 -2
  1290. package/dist/test/fixtures/fake-client-applications-store.d.ts.map +1 -1
  1291. package/dist/test/fixtures/fake-client-applications-store.js +6 -4
  1292. package/dist/test/fixtures/fake-client-applications-store.js.map +1 -1
  1293. package/dist/test/fixtures/fake-client-instance-store.d.ts +1 -1
  1294. package/dist/test/fixtures/fake-client-instance-store.d.ts.map +1 -1
  1295. package/dist/test/fixtures/fake-client-instance-store.js +4 -2
  1296. package/dist/test/fixtures/fake-client-instance-store.js.map +1 -1
  1297. package/dist/test/fixtures/fake-event-store.d.ts +3 -3
  1298. package/dist/test/fixtures/fake-event-store.d.ts.map +1 -1
  1299. package/dist/test/fixtures/fake-event-store.js +3 -3
  1300. package/dist/test/fixtures/fake-event-store.js.map +1 -1
  1301. package/dist/test/fixtures/fake-favorite-features-store.d.ts +5 -5
  1302. package/dist/test/fixtures/fake-favorite-features-store.d.ts.map +1 -1
  1303. package/dist/test/fixtures/fake-favorite-features-store.js +5 -5
  1304. package/dist/test/fixtures/fake-favorite-features-store.js.map +1 -1
  1305. package/dist/test/fixtures/fake-favorite-projects-store.d.ts +5 -5
  1306. package/dist/test/fixtures/fake-favorite-projects-store.d.ts.map +1 -1
  1307. package/dist/test/fixtures/fake-favorite-projects-store.js +5 -5
  1308. package/dist/test/fixtures/fake-favorite-projects-store.js.map +1 -1
  1309. package/dist/test/fixtures/fake-feature-environment-store.d.ts +9 -9
  1310. package/dist/test/fixtures/fake-feature-environment-store.d.ts.map +1 -1
  1311. package/dist/test/fixtures/fake-feature-environment-store.js +19 -19
  1312. package/dist/test/fixtures/fake-feature-environment-store.js.map +1 -1
  1313. package/dist/test/fixtures/fake-feature-tag-store.d.ts +1 -1
  1314. package/dist/test/fixtures/fake-feature-tag-store.d.ts.map +1 -1
  1315. package/dist/test/fixtures/fake-feature-tag-store.js +2 -2
  1316. package/dist/test/fixtures/fake-feature-tag-store.js.map +1 -1
  1317. package/dist/test/fixtures/fake-group-store.d.ts +16 -16
  1318. package/dist/test/fixtures/fake-group-store.d.ts.map +1 -1
  1319. package/dist/test/fixtures/fake-group-store.js +16 -16
  1320. package/dist/test/fixtures/fake-group-store.js.map +1 -1
  1321. package/dist/test/fixtures/fake-pat-store.d.ts +9 -9
  1322. package/dist/test/fixtures/fake-pat-store.d.ts.map +1 -1
  1323. package/dist/test/fixtures/fake-pat-store.js +9 -9
  1324. package/dist/test/fixtures/fake-pat-store.js.map +1 -1
  1325. package/dist/test/fixtures/fake-project-store.d.ts +11 -11
  1326. package/dist/test/fixtures/fake-project-store.d.ts.map +1 -1
  1327. package/dist/test/fixtures/fake-project-store.js +16 -16
  1328. package/dist/test/fixtures/fake-project-store.js.map +1 -1
  1329. package/dist/test/fixtures/fake-public-signup-store.d.ts +2 -2
  1330. package/dist/test/fixtures/fake-public-signup-store.d.ts.map +1 -1
  1331. package/dist/test/fixtures/fake-public-signup-store.js +2 -2
  1332. package/dist/test/fixtures/fake-public-signup-store.js.map +1 -1
  1333. package/dist/test/fixtures/fake-role-store.d.ts +9 -9
  1334. package/dist/test/fixtures/fake-role-store.d.ts.map +1 -1
  1335. package/dist/test/fixtures/fake-role-store.js +9 -9
  1336. package/dist/test/fixtures/fake-role-store.js.map +1 -1
  1337. package/dist/test/fixtures/fake-strategies-store.d.ts.map +1 -1
  1338. package/dist/test/fixtures/fake-strategies-store.js +0 -2
  1339. package/dist/test/fixtures/fake-strategies-store.js.map +1 -1
  1340. package/dist/test/fixtures/fake-tag-store.d.ts.map +1 -1
  1341. package/dist/test/fixtures/fake-tag-store.js +4 -2
  1342. package/dist/test/fixtures/fake-tag-store.js.map +1 -1
  1343. package/dist/test/fixtures/fake-user-feedback-store.d.ts +6 -6
  1344. package/dist/test/fixtures/fake-user-feedback-store.d.ts.map +1 -1
  1345. package/dist/test/fixtures/fake-user-feedback-store.js +6 -6
  1346. package/dist/test/fixtures/fake-user-feedback-store.js.map +1 -1
  1347. package/dist/test/fixtures/fake-user-splash-store.d.ts +6 -6
  1348. package/dist/test/fixtures/fake-user-splash-store.d.ts.map +1 -1
  1349. package/dist/test/fixtures/fake-user-splash-store.js +6 -6
  1350. package/dist/test/fixtures/fake-user-splash-store.js.map +1 -1
  1351. package/dist/test/fixtures/fake-user-store.d.ts +2 -2
  1352. package/dist/test/fixtures/fake-user-store.d.ts.map +1 -1
  1353. package/dist/test/fixtures/fake-user-store.js +2 -2
  1354. package/dist/test/fixtures/fake-user-store.js.map +1 -1
  1355. package/dist/test/fixtures/permissions.js +1 -1
  1356. package/dist/test/fixtures/permissions.js.map +1 -1
  1357. package/frontend/build/index.html +3 -3
  1358. package/frontend/build/static/AdvancedPlayground-B70Djk8B.js +3 -0
  1359. package/frontend/build/static/BackendConnections-mlK6EAYQ.js +1 -0
  1360. package/frontend/build/static/{CreateProject-De6TDUjF.js → CreateProject-Dnggz6io.js} +1 -1
  1361. package/frontend/build/static/EnterpriseEdge-Dnk6MbDj.js +3 -0
  1362. package/frontend/build/static/FeatureMetricsChart-CFEixeGp.js +2 -0
  1363. package/frontend/build/static/FeatureStaleDialog-DZoiwwdR.js +7 -0
  1364. package/frontend/build/static/FeatureViewLazyExport-CUnXEEwm.js +10 -0
  1365. package/frontend/build/static/FlagMetricsChart-ujKp_v58.js +2 -0
  1366. package/frontend/build/static/FrontendNetworkTrafficUsage-Dq8wwaXR.js +1 -0
  1367. package/frontend/build/static/GridLayoutWrapper-Cg_xypvQ.js +3 -0
  1368. package/frontend/build/static/ImpactMetricsPage-ZRSvDBg4.js +1 -0
  1369. package/frontend/build/static/LazyAdminExport-B8GV3V8t.js +38 -0
  1370. package/frontend/build/static/LazyProjectExport-B9SJl4_L.js +728 -0
  1371. package/frontend/build/static/{LifecycleChartComponent-iH7Xwal_.js → LifecycleChartComponent-DulnIgCV.js} +2 -2
  1372. package/frontend/build/static/{LineChartComponent-BnogHewS.js → LineChartComponent-BVdLj0q6.js} +1 -1
  1373. package/frontend/build/static/{MarkCompletedDialogue-BOSV3MHM.js → MarkCompletedDialogue-Cu7y0hRZ.js} +1 -1
  1374. package/frontend/build/static/NetworkOverview-CUmX-taY.js +1 -0
  1375. package/frontend/build/static/{NetworkPrometheusAPIWarning-2jclDnfE.js → NetworkPrometheusAPIWarning-BwnVz0CY.js} +1 -1
  1376. package/frontend/build/static/{NetworkTraffic-DDSLmVgI.js → NetworkTraffic-DCMn8UWo.js} +1 -1
  1377. package/frontend/build/static/NetworkTrafficUsage-DSZK447X.js +1 -0
  1378. package/frontend/build/static/{PercentageDonut-aa1oSbho.js → PercentageDonut-B2OwM0Er.js} +1 -1
  1379. package/frontend/build/static/{ReactJSONEditor-BKB6MheT.js → ReactJSONEditor-BPlzE1Zx.js} +1 -1
  1380. package/frontend/build/static/RoleCell-D5skjCJn.js +1 -0
  1381. package/frontend/build/static/aggregateFeatureMetrics-Bcfo39hn.js +1 -0
  1382. package/frontend/build/static/banner-progression-B6JPzTEE.svg +52 -0
  1383. package/frontend/build/static/docker-HG7DQx-Z.svg +5 -0
  1384. package/frontend/build/static/enterpriseEdgeCloud-DzRtm8v6.svg +58 -0
  1385. package/frontend/build/static/enterpriseEdgeSelfHosted-4bnmOQVF.svg +44 -0
  1386. package/frontend/build/static/{formatTickValue-BCAqKqmg.js → formatTickValue-CqTJlzJZ.js} +2 -2
  1387. package/frontend/build/static/impact-metrics-icon-a6_57VN1.svg +9 -0
  1388. package/frontend/build/static/index-g9pKMnOR.js +542 -0
  1389. package/frontend/build/static/lenovo-DIzNtfrT.svg +3 -0
  1390. package/frontend/build/static/lloyds-DxlC9g3t.svg +10 -0
  1391. package/frontend/build/static/networkTrafficUsageHighlightPlugin-Dmm54dMG.js +1 -0
  1392. package/frontend/build/static/new-feature-badge-FwMmHlwT.svg +7 -0
  1393. package/frontend/build/static/samsung-DOytOsnV.svg +10 -0
  1394. package/frontend/build/static/style-BfdqROT6.css +1 -0
  1395. package/frontend/build/static/{useApiTokens-eXyUbKcO.js → useApiTokens-D1XvAIIA.js} +1 -1
  1396. package/frontend/build/static/visa-CkneNM2O.svg +10 -0
  1397. package/frontend/package.json +2 -2
  1398. package/package.json +49 -54
  1399. package/dist/lib/features/release-plans/release-plan-read-model-type.d.ts +0 -5
  1400. package/dist/lib/features/release-plans/release-plan-read-model-type.d.ts.map +0 -1
  1401. package/dist/lib/features/release-plans/release-plan-read-model-type.js +0 -2
  1402. package/dist/lib/features/release-plans/release-plan-read-model-type.js.map +0 -1
  1403. package/dist/lib/features/release-plans/release-plan-read-model.d.ts +0 -11
  1404. package/dist/lib/features/release-plans/release-plan-read-model.d.ts.map +0 -1
  1405. package/dist/lib/features/release-plans/release-plan-read-model.js +0 -133
  1406. package/dist/lib/features/release-plans/release-plan-read-model.js.map +0 -1
  1407. package/dist/lib/features/release-plans/release-plan-read-model.test.d.ts +0 -2
  1408. package/dist/lib/features/release-plans/release-plan-read-model.test.d.ts.map +0 -1
  1409. package/dist/lib/features/release-plans/release-plan-read-model.test.js +0 -165
  1410. package/dist/lib/features/release-plans/release-plan-read-model.test.js.map +0 -1
  1411. package/dist/test/fixtures/fake/fake-release-plan-read-model.d.ts +0 -8
  1412. package/dist/test/fixtures/fake/fake-release-plan-read-model.d.ts.map +0 -1
  1413. package/dist/test/fixtures/fake/fake-release-plan-read-model.js +0 -9
  1414. package/dist/test/fixtures/fake/fake-release-plan-read-model.js.map +0 -1
  1415. package/frontend/build/static/AdvancedPlayground-BMmRjlFK.js +0 -3
  1416. package/frontend/build/static/BackendConnections-C4TwFekS.js +0 -1
  1417. package/frontend/build/static/FeatureMetricsChart-CQOjOGdB.js +0 -2
  1418. package/frontend/build/static/FeatureStaleDialog-DFBMJIHQ.js +0 -7
  1419. package/frontend/build/static/FeatureViewLazyExport-CUraS5Co.js +0 -10
  1420. package/frontend/build/static/FlagMetricsChart-BqT9hgdO.js +0 -2
  1421. package/frontend/build/static/FrontendNetworkTrafficUsage-BzwFAGbK.js +0 -1
  1422. package/frontend/build/static/GridLayoutWrapper-DY9lNz0U.js +0 -3
  1423. package/frontend/build/static/ImpactMetricsPage-Bqewvmqu.js +0 -1
  1424. package/frontend/build/static/LazyAdminExport-DSSpZhpf.js +0 -38
  1425. package/frontend/build/static/LazyProjectExport-Cd5au6uN.js +0 -728
  1426. package/frontend/build/static/NetworkConnectedEdges-d0ZBRss5.js +0 -1
  1427. package/frontend/build/static/NetworkOverview-DivQ4b83.js +0 -1
  1428. package/frontend/build/static/NetworkTrafficUsage-DYNGGkkm.js +0 -1
  1429. package/frontend/build/static/RoleCell-CkV0Kf4-.js +0 -1
  1430. package/frontend/build/static/aggregateFeatureMetrics-CrQXQAeM.js +0 -1
  1431. package/frontend/build/static/howToApplyReleaseTemplates-CkjJPTRh.png +0 -0
  1432. package/frontend/build/static/howToApplyReleaseTemplatesDark-CfwfIMua.png +0 -0
  1433. package/frontend/build/static/index-B33kIVre.js +0 -542
  1434. package/frontend/build/static/metricsFormatters-C7iN2dDH.js +0 -1
  1435. package/frontend/build/static/networkTrafficUsageHighlightPlugin-o9kHeQ2O.js +0 -1
  1436. package/frontend/build/static/style-BW9ZTER3.css +0 -1
@@ -1,7 +1,7 @@
1
- import{je as w,jf as K,jg as v,jh as V,ji as Y,jj as Z,jk as W,jl as p,jm as Q,jn as D,j7 as O,jo as ee,jp as re,b as te,bs as ae,r as ie,j as ne,jb as oe,j4 as se,j5 as le,j6 as ue,jq as de,j9 as fe,ja as ve,jr as he,js as ye}from"./index-B33kIVre.js";/*!
1
+ import{js as w,jt as K,ju as v,jv as V,jw as Y,jx as Z,jy as D,jz as p,jA as Q,jB as W,jl as O,jC as ee,jD as re,b as te,bq as ae,r as ie,j as ne,jp as oe,ji as se,jj as le,jk as ue,jE as de,jn as fe,jo as ve,jF as he,jG as ye}from"./index-g9pKMnOR.js";/*!
2
2
  * chartjs-plugin-datalabels v2.2.0
3
3
  * https://chartjs-plugin-datalabels.netlify.app
4
4
  * (c) 2017-2022 chartjs-plugin-datalabels contributors
5
5
  * Released under the MIT license
6
6
  */var $=function(){if(typeof window<"u"){if(window.devicePixelRatio)return window.devicePixelRatio;var e=window.screen;if(e)return(e.deviceXDPI||1)/(e.logicalXDPI||1)}return 1}(),g={toTextLines:function(e){var a=[],r;for(e=[].concat(e);e.length;)r=e.pop(),typeof r=="string"?a.unshift.apply(a,r.split(`
7
- `)):Array.isArray(r)?e.push.apply(e,r):p(e)||a.unshift(""+r);return a},textSize:function(e,a,r){var t=[].concat(a),i=t.length,n=e.font,o=0,s;for(e.font=r.string,s=0;s<i;++s)o=Math.max(e.measureText(t[s]).width,o);return e.font=n,{height:i*r.lineHeight,width:o}},bound:function(e,a,r){return Math.max(e,Math.min(a,r))},arrayDiff:function(e,a){var r=e.slice(),t=[],i,n,o,s;for(i=0,o=a.length;i<o;++i)s=a[i],n=r.indexOf(s),n===-1?t.push([s,1]):r.splice(n,1);for(i=0,o=r.length;i<o;++i)t.push([r[i],-1]);return t},rasterize:function(e){return Math.round(e*$)/$}};function I(e,a){var r=a.x,t=a.y;if(r===null)return{x:0,y:-1};if(t===null)return{x:1,y:0};var i=e.x-r,n=e.y-t,o=Math.sqrt(i*i+n*n);return{x:o?i/o:0,y:o?n/o:-1}}function ce(e,a,r,t,i){switch(i){case"center":r=t=0;break;case"bottom":r=0,t=1;break;case"right":r=1,t=0;break;case"left":r=-1,t=0;break;case"top":r=0,t=-1;break;case"start":r=-r,t=-t;break;case"end":break;default:i*=Math.PI/180,r=Math.cos(i),t=Math.sin(i);break}return{x:e,y:a,vx:r,vy:t}}var xe=0,N=1,L=2,F=4,H=8;function M(e,a,r){var t=xe;return e<r.left?t|=N:e>r.right&&(t|=L),a<r.top?t|=H:a>r.bottom&&(t|=F),t}function be(e,a){for(var r=e.x0,t=e.y0,i=e.x1,n=e.y1,o=M(r,t,a),s=M(i,n,a),l,u,d;!(!(o|s)||o&s);)l=o||s,l&H?(u=r+(i-r)*(a.top-t)/(n-t),d=a.top):l&F?(u=r+(i-r)*(a.bottom-t)/(n-t),d=a.bottom):l&L?(d=t+(n-t)*(a.right-r)/(i-r),u=a.right):l&N&&(d=t+(n-t)*(a.left-r)/(i-r),u=a.left),l===o?(r=u,t=d,o=M(r,t,a)):(i=u,n=d,s=M(i,n,a));return{x0:r,x1:i,y0:t,y1:n}}function S(e,a){var r=a.anchor,t=e,i,n;return a.clamp&&(t=be(t,a.area)),r==="start"?(i=t.x0,n=t.y0):r==="end"?(i=t.x1,n=t.y1):(i=(t.x0+t.x1)/2,n=(t.y0+t.y1)/2),ce(i,n,e.vx,e.vy,a.align)}var j={arc:function(e,a){var r=(e.startAngle+e.endAngle)/2,t=Math.cos(r),i=Math.sin(r),n=e.innerRadius,o=e.outerRadius;return S({x0:e.x+t*n,y0:e.y+i*n,x1:e.x+t*o,y1:e.y+i*o,vx:t,vy:i},a)},point:function(e,a){var r=I(e,a.origin),t=r.x*e.options.radius,i=r.y*e.options.radius;return S({x0:e.x-t,y0:e.y-i,x1:e.x+t,y1:e.y+i,vx:r.x,vy:r.y},a)},bar:function(e,a){var r=I(e,a.origin),t=e.x,i=e.y,n=0,o=0;return e.horizontal?(t=Math.min(e.x,e.base),n=Math.abs(e.base-e.x)):(i=Math.min(e.y,e.base),o=Math.abs(e.base-e.y)),S({x0:t,y0:i+o,x1:t+n,y1:i,vx:r.x,vy:r.y},a)},fallback:function(e,a){var r=I(e,a.origin);return S({x0:e.x,y0:e.y,x1:e.x+(e.width||0),y1:e.y+(e.height||0),vx:r.x,vy:r.y},a)}},c=g.rasterize;function _e(e){var a=e.borderWidth||0,r=e.padding,t=e.size.height,i=e.size.width,n=-i/2,o=-t/2;return{frame:{x:n-r.left-a,y:o-r.top-a,w:i+r.width+a*2,h:t+r.height+a*2},text:{x:n,y:o,w:i,h:t}}}function pe(e,a){var r=a.chart.getDatasetMeta(a.datasetIndex).vScale;if(!r)return null;if(r.xCenter!==void 0&&r.yCenter!==void 0)return{x:r.xCenter,y:r.yCenter};var t=r.getBasePixel();return e.horizontal?{x:t,y:null}:{x:null,y:t}}function ge(e){return e instanceof Q?j.arc:e instanceof D?j.point:e instanceof O?j.bar:j.fallback}function me(e,a,r,t,i,n){var o=Math.PI/2;if(n){var s=Math.min(n,i/2,t/2),l=a+s,u=r+s,d=a+t-s,f=r+i-s;e.moveTo(a,u),l<d&&u<f?(e.arc(l,u,s,-Math.PI,-o),e.arc(d,u,s,-o,0),e.arc(d,f,s,0,o),e.arc(l,f,s,o,Math.PI)):l<d?(e.moveTo(l,r),e.arc(d,u,s,-o,o),e.arc(l,u,s,o,Math.PI+o)):u<f?(e.arc(l,u,s,-Math.PI,0),e.arc(l,f,s,0,Math.PI)):e.arc(l,u,s,-Math.PI,Math.PI),e.closePath(),e.moveTo(a,r)}else e.rect(a,r,t,i)}function we(e,a,r){var t=r.backgroundColor,i=r.borderColor,n=r.borderWidth;!t&&(!i||!n)||(e.beginPath(),me(e,c(a.x)+n/2,c(a.y)+n/2,c(a.w)-n,c(a.h)-n,r.borderRadius),e.closePath(),t&&(e.fillStyle=t,e.fill()),i&&n&&(e.strokeStyle=i,e.lineWidth=n,e.lineJoin="miter",e.stroke()))}function ke(e,a,r){var t=r.lineHeight,i=e.w,n=e.x,o=e.y+t/2;return a==="center"?n+=i/2:(a==="end"||a==="right")&&(n+=i),{h:t,w:i,x:n,y:o}}function Me(e,a,r){var t=e.shadowBlur,i=r.stroked,n=c(r.x),o=c(r.y),s=c(r.w);i&&e.strokeText(a,n,o,s),r.filled&&(t&&i&&(e.shadowBlur=0),e.fillText(a,n,o,s),t&&i&&(e.shadowBlur=t))}function Se(e,a,r,t){var i=t.textAlign,n=t.color,o=!!n,s=t.font,l=a.length,u=t.textStrokeColor,d=t.textStrokeWidth,f=u&&d,y;if(!(!l||!o&&!f))for(r=ke(r,i,s),e.font=s.string,e.textAlign=i,e.textBaseline="middle",e.shadowBlur=t.textShadowBlur,e.shadowColor=t.textShadowColor,o&&(e.fillStyle=n),f&&(e.lineJoin="round",e.lineWidth=d,e.strokeStyle=u),y=0,l=a.length;y<l;++y)Me(e,a[y],{stroked:f,filled:o,w:r.w,x:r.x,y:r.y+r.h*y})}var G=function(e,a,r,t){var i=this;i._config=e,i._index=t,i._model=null,i._rects=null,i._ctx=a,i._el=r};w(G.prototype,{_modelize:function(e,a,r,t){var i=this,n=i._index,o=K(v([r.font,{}],t,n)),s=v([r.color,V.color],t,n);return{align:v([r.align,"center"],t,n),anchor:v([r.anchor,"center"],t,n),area:t.chart.chartArea,backgroundColor:v([r.backgroundColor,null],t,n),borderColor:v([r.borderColor,null],t,n),borderRadius:v([r.borderRadius,0],t,n),borderWidth:v([r.borderWidth,0],t,n),clamp:v([r.clamp,!1],t,n),clip:v([r.clip,!1],t,n),color:s,display:e,font:o,lines:a,offset:v([r.offset,4],t,n),opacity:v([r.opacity,1],t,n),origin:pe(i._el,t),padding:Y(v([r.padding,4],t,n)),positioner:ge(i._el),rotation:v([r.rotation,0],t,n)*(Math.PI/180),size:g.textSize(i._ctx,a,o),textAlign:v([r.textAlign,"start"],t,n),textShadowBlur:v([r.textShadowBlur,0],t,n),textShadowColor:v([r.textShadowColor,s],t,n),textStrokeColor:v([r.textStrokeColor,s],t,n),textStrokeWidth:v([r.textStrokeWidth,0],t,n)}},update:function(e){var a=this,r=null,t=null,i=a._index,n=a._config,o,s,l,u=v([n.display,!0],e,i);u&&(o=e.dataset.data[i],s=Z(W(n.formatter,[o,e]),o),l=p(s)?[]:g.toTextLines(s),l.length&&(r=a._modelize(u,l,n,e),t=_e(r))),a._model=r,a._rects=t},geometry:function(){return this._rects?this._rects.frame:{}},rotation:function(){return this._model?this._model.rotation:0},visible:function(){return this._model&&this._model.opacity},model:function(){return this._model},draw:function(e,a){var r=this,t=e.ctx,i=r._model,n=r._rects,o;this.visible()&&(t.save(),i.clip&&(o=i.area,t.beginPath(),t.rect(o.left,o.top,o.right-o.left,o.bottom-o.top),t.clip()),t.globalAlpha=g.bound(0,i.opacity,1),t.translate(c(a.x),c(a.y)),t.rotate(i.rotation),we(t,n.frame,i),Se(t,i.lines,n.text,i),t.restore())}});var je=Number.MIN_SAFE_INTEGER||-9007199254740991,Ce=Number.MAX_SAFE_INTEGER||9007199254740991;function _(e,a,r){var t=Math.cos(r),i=Math.sin(r),n=a.x,o=a.y;return{x:n+t*(e.x-n)-i*(e.y-o),y:o+i*(e.x-n)+t*(e.y-o)}}function B(e,a){var r=Ce,t=je,i=a.origin,n,o,s,l,u;for(n=0;n<e.length;++n)o=e[n],s=o.x-i.x,l=o.y-i.y,u=a.vx*s+a.vy*l,r=Math.min(r,u),t=Math.max(t,u);return{min:r,max:t}}function C(e,a){var r=a.x-e.x,t=a.y-e.y,i=Math.sqrt(r*r+t*t);return{vx:(a.x-e.x)/i,vy:(a.y-e.y)/i,origin:e,ln:i}}var U=function(){this._rotation=0,this._rect={x:0,y:0,w:0,h:0}};w(U.prototype,{center:function(){var e=this._rect;return{x:e.x+e.w/2,y:e.y+e.h/2}},update:function(e,a,r){this._rotation=r,this._rect={x:a.x+e.x,y:a.y+e.y,w:a.w,h:a.h}},contains:function(e){var a=this,r=1,t=a._rect;return e=_(e,a.center(),-a._rotation),!(e.x<t.x-r||e.y<t.y-r||e.x>t.x+t.w+r*2||e.y>t.y+t.h+r*2)},intersects:function(e){var a=this._points(),r=e._points(),t=[C(a[0],a[1]),C(a[0],a[3])],i,n,o;for(this._rotation!==e._rotation&&t.push(C(r[0],r[1]),C(r[0],r[3])),i=0;i<t.length;++i)if(n=B(a,t[i]),o=B(r,t[i]),n.max<o.min||o.max<n.min)return!1;return!0},_points:function(){var e=this,a=e._rect,r=e._rotation,t=e.center();return[_({x:a.x,y:a.y},t,r),_({x:a.x+a.w,y:a.y},t,r),_({x:a.x+a.w,y:a.y+a.h},t,r),_({x:a.x,y:a.y+a.h},t,r)]}});function X(e,a,r){var t=a.positioner(e,a),i=t.vx,n=t.vy;if(!i&&!n)return{x:t.x,y:t.y};var o=r.w,s=r.h,l=a.rotation,u=Math.abs(o/2*Math.cos(l))+Math.abs(s/2*Math.sin(l)),d=Math.abs(o/2*Math.sin(l))+Math.abs(s/2*Math.cos(l)),f=1/Math.max(Math.abs(i),Math.abs(n));return u*=i*f,d*=n*f,u+=a.offset*i,d+=a.offset*n,{x:t.x+u,y:t.y+d}}function Ee(e,a){var r,t,i,n;for(r=e.length-1;r>=0;--r)for(i=e[r].$layout,t=r-1;t>=0&&i._visible;--t)n=e[t].$layout,n._visible&&i._box.intersects(n._box)&&a(i,n);return e}function Pe(e){var a,r,t,i,n,o,s;for(a=0,r=e.length;a<r;++a)t=e[a],i=t.$layout,i._visible&&(s=new Proxy(t._el,{get:(l,u)=>l.getProps([u],!0)[u]}),n=t.geometry(),o=X(s,t.model(),n),i._box.update(o,n,t.rotation()));return Ee(e,function(l,u){var d=l._hidable,f=u._hidable;d&&f||f?u._visible=!1:d&&(l._visible=!1)})}var m={prepare:function(e){var a=[],r,t,i,n,o;for(r=0,i=e.length;r<i;++r)for(t=0,n=e[r].length;t<n;++t)o=e[r][t],a.push(o),o.$layout={_box:new U,_hidable:!1,_visible:!0,_set:r,_idx:o._index};return a.sort(function(s,l){var u=s.$layout,d=l.$layout;return u._idx===d._idx?d._set-u._set:d._idx-u._idx}),this.update(a),a},update:function(e){var a=!1,r,t,i,n,o;for(r=0,t=e.length;r<t;++r)i=e[r],n=i.model(),o=i.$layout,o._hidable=n&&n.display==="auto",o._visible=i.visible(),a|=o._hidable;a&&Pe(e)},lookup:function(e,a){var r,t;for(r=e.length-1;r>=0;--r)if(t=e[r].$layout,t&&t._visible&&t._box.contains(a))return e[r];return null},draw:function(e,a){var r,t,i,n,o,s;for(r=0,t=a.length;r<t;++r)i=a[r],n=i.$layout,n._visible&&(o=i.geometry(),s=X(i._el,i.model(),o),n._box.update(s,o,i.rotation()),i.draw(e,s))}},Ie=function(e){if(p(e))return null;var a=e,r,t,i;if(re(e))if(!p(e.label))a=e.label;else if(!p(e.r))a=e.r;else for(a="",r=Object.keys(e),i=0,t=r.length;i<t;++i)a+=(i!==0?", ":"")+r[i]+": "+e[r[i]];return""+a},Ae={align:"center",anchor:"center",backgroundColor:null,borderColor:null,borderRadius:0,borderWidth:0,clamp:!1,clip:!1,color:void 0,display:!0,font:{family:void 0,lineHeight:1.2,size:void 0,style:void 0,weight:null},formatter:Ie,labels:void 0,listeners:{},offset:4,opacity:1,padding:{top:4,right:4,bottom:4,left:4},rotation:0,textAlign:"start",textStrokeColor:void 0,textStrokeWidth:0,textShadowBlur:0,textShadowColor:void 0},h="$datalabels",q="$default";function Re(e,a){var r=e.datalabels,t={},i=[],n,o;return r===!1?null:(r===!0&&(r={}),a=w({},[a,r]),n=a.labels||{},o=Object.keys(n),delete a.labels,o.length?o.forEach(function(s){n[s]&&i.push(w({},[a,n[s],{_key:s}]))}):i.push(a),t=i.reduce(function(s,l){return ee(l.listeners||{},function(u,d){s[d]=s[d]||{},s[d][l._key||q]=u}),delete l.listeners,s},{}),{labels:i,listeners:t})}function A(e,a,r,t){if(a){var i=r.$context,n=r.$groups,o;a[n._set]&&(o=a[n._set][n._key],o&&W(o,[i,t])===!0&&(e[h]._dirty=!0,r.update(i)))}}function ze(e,a,r,t,i){var n,o;!r&&!t||(r?t?r!==t&&(o=n=!0):o=!0:n=!0,o&&A(e,a.leave,r,i),n&&A(e,a.enter,t,i))}function Te(e,a){var r=e[h],t=r._listeners,i,n;if(!(!t.enter&&!t.leave)){if(a.type==="mousemove")n=m.lookup(r._labels,a);else if(a.type!=="mouseout")return;i=r._hovered,r._hovered=n,ze(e,t,i,n,a)}}function $e(e,a){var r=e[h],t=r._listeners.click,i=t&&m.lookup(r._labels,a);i&&A(e,t,i,a)}var Be={id:"datalabels",defaults:Ae,beforeInit:function(e){e[h]={_actives:[]}},beforeUpdate:function(e){var a=e[h];a._listened=!1,a._listeners={},a._datasets=[],a._labels=[]},afterDatasetUpdate:function(e,a,r){var t=a.index,i=e[h],n=i._datasets[t]=[],o=e.isDatasetVisible(t),s=e.data.datasets[t],l=Re(s,r),u=a.meta.data||[],d=e.ctx,f,y,R,z,E,T,b,x;for(d.save(),f=0,R=u.length;f<R;++f)if(b=u[f],b[h]=[],o&&b&&e.getDataVisibility(f)&&!b.skip)for(y=0,z=l.labels.length;y<z;++y)E=l.labels[y],T=E._key,x=new G(E,d,b,f),x.$groups={_set:t,_key:T||q},x.$context={active:!1,chart:e,dataIndex:f,dataset:s,datasetIndex:t},x.update(x.$context),b[h].push(x),n.push(x);d.restore(),w(i._listeners,l.listeners,{merger:function(k,P,J){P[k]=P[k]||{},P[k][a.index]=J[k],i._listened=!0}})},afterUpdate:function(e){e[h]._labels=m.prepare(e[h]._datasets)},afterDatasetsDraw:function(e){m.draw(e,e[h]._labels)},beforeEvent:function(e,a){if(e[h]._listened){var r=a.event;switch(r.type){case"mousemove":case"mouseout":Te(e,r);break;case"click":$e(e,r);break}}},afterEvent:function(e){var a=e[h],r=a._actives,t=a._actives=e.getActiveElements(),i=g.arrayDiff(r,t),n,o,s,l,u,d,f;for(n=0,o=i.length;n<o;++n)if(u=i[n],u[1])for(f=u[0].element[h]||[],s=0,l=f.length;s<l;++s)d=f[s],d.$context.active=u[1]===1,d.update(d.$context);(a._dirty||i.length)&&(m.update(a._labels),e.render()),delete a._dirty}};const We=e=>({plugins:{legend:{position:"right",maxWidth:150,align:"start",labels:{color:e.palette.text.secondary,usePointStyle:!0,padding:21,boxHeight:8,font:{size:10}}},datalabels:{color:e.palette.text.primary,font:{weight:"bold",size:10},anchor:"end",align:"top",offset:-6}},responsive:!0,maintainAspectRatio:!1,color:e.palette.text.secondary,scales:{y:{beginAtZero:!0,grid:{color:e.palette.divider,borderColor:e.palette.divider,drawBorder:!1},ticks:{stepSize:1,color:e.palette.text.disabled,font:{size:10}}},x:{grid:{display:!1},ticks:{color:e.palette.text.primary,font:{size:10}}}}});function De(e){return ye.all(e.filter(a=>a))}const Ne=({data:e,ariaLabel:a,ariaDescription:r,overrideOptions:t})=>{const i=te(),{locationSettings:n}=ae(),o=ie.useMemo(()=>De([We(i)]),[i,n,t]);return ne.jsx(oe,{options:o,data:e,"aria-label":a,"aria-description":r,plugins:[Be]})};se.register(le,ue,D,O,de,fe,ve,he);export{We as createOptions,Ne as default};
7
+ `)):Array.isArray(r)?e.push.apply(e,r):p(e)||a.unshift(""+r);return a},textSize:function(e,a,r){var t=[].concat(a),i=t.length,n=e.font,o=0,s;for(e.font=r.string,s=0;s<i;++s)o=Math.max(e.measureText(t[s]).width,o);return e.font=n,{height:i*r.lineHeight,width:o}},bound:function(e,a,r){return Math.max(e,Math.min(a,r))},arrayDiff:function(e,a){var r=e.slice(),t=[],i,n,o,s;for(i=0,o=a.length;i<o;++i)s=a[i],n=r.indexOf(s),n===-1?t.push([s,1]):r.splice(n,1);for(i=0,o=r.length;i<o;++i)t.push([r[i],-1]);return t},rasterize:function(e){return Math.round(e*$)/$}};function I(e,a){var r=a.x,t=a.y;if(r===null)return{x:0,y:-1};if(t===null)return{x:1,y:0};var i=e.x-r,n=e.y-t,o=Math.sqrt(i*i+n*n);return{x:o?i/o:0,y:o?n/o:-1}}function ce(e,a,r,t,i){switch(i){case"center":r=t=0;break;case"bottom":r=0,t=1;break;case"right":r=1,t=0;break;case"left":r=-1,t=0;break;case"top":r=0,t=-1;break;case"start":r=-r,t=-t;break;case"end":break;default:i*=Math.PI/180,r=Math.cos(i),t=Math.sin(i);break}return{x:e,y:a,vx:r,vy:t}}var xe=0,N=1,L=2,F=4,G=8;function M(e,a,r){var t=xe;return e<r.left?t|=N:e>r.right&&(t|=L),a<r.top?t|=G:a>r.bottom&&(t|=F),t}function be(e,a){for(var r=e.x0,t=e.y0,i=e.x1,n=e.y1,o=M(r,t,a),s=M(i,n,a),l,u,d;!(!(o|s)||o&s);)l=o||s,l&G?(u=r+(i-r)*(a.top-t)/(n-t),d=a.top):l&F?(u=r+(i-r)*(a.bottom-t)/(n-t),d=a.bottom):l&L?(d=t+(n-t)*(a.right-r)/(i-r),u=a.right):l&N&&(d=t+(n-t)*(a.left-r)/(i-r),u=a.left),l===o?(r=u,t=d,o=M(r,t,a)):(i=u,n=d,s=M(i,n,a));return{x0:r,x1:i,y0:t,y1:n}}function S(e,a){var r=a.anchor,t=e,i,n;return a.clamp&&(t=be(t,a.area)),r==="start"?(i=t.x0,n=t.y0):r==="end"?(i=t.x1,n=t.y1):(i=(t.x0+t.x1)/2,n=(t.y0+t.y1)/2),ce(i,n,e.vx,e.vy,a.align)}var j={arc:function(e,a){var r=(e.startAngle+e.endAngle)/2,t=Math.cos(r),i=Math.sin(r),n=e.innerRadius,o=e.outerRadius;return S({x0:e.x+t*n,y0:e.y+i*n,x1:e.x+t*o,y1:e.y+i*o,vx:t,vy:i},a)},point:function(e,a){var r=I(e,a.origin),t=r.x*e.options.radius,i=r.y*e.options.radius;return S({x0:e.x-t,y0:e.y-i,x1:e.x+t,y1:e.y+i,vx:r.x,vy:r.y},a)},bar:function(e,a){var r=I(e,a.origin),t=e.x,i=e.y,n=0,o=0;return e.horizontal?(t=Math.min(e.x,e.base),n=Math.abs(e.base-e.x)):(i=Math.min(e.y,e.base),o=Math.abs(e.base-e.y)),S({x0:t,y0:i+o,x1:t+n,y1:i,vx:r.x,vy:r.y},a)},fallback:function(e,a){var r=I(e,a.origin);return S({x0:e.x,y0:e.y,x1:e.x+(e.width||0),y1:e.y+(e.height||0),vx:r.x,vy:r.y},a)}},c=g.rasterize;function _e(e){var a=e.borderWidth||0,r=e.padding,t=e.size.height,i=e.size.width,n=-i/2,o=-t/2;return{frame:{x:n-r.left-a,y:o-r.top-a,w:i+r.width+a*2,h:t+r.height+a*2},text:{x:n,y:o,w:i,h:t}}}function pe(e,a){var r=a.chart.getDatasetMeta(a.datasetIndex).vScale;if(!r)return null;if(r.xCenter!==void 0&&r.yCenter!==void 0)return{x:r.xCenter,y:r.yCenter};var t=r.getBasePixel();return e.horizontal?{x:t,y:null}:{x:null,y:t}}function ge(e){return e instanceof Q?j.arc:e instanceof W?j.point:e instanceof O?j.bar:j.fallback}function me(e,a,r,t,i,n){var o=Math.PI/2;if(n){var s=Math.min(n,i/2,t/2),l=a+s,u=r+s,d=a+t-s,f=r+i-s;e.moveTo(a,u),l<d&&u<f?(e.arc(l,u,s,-Math.PI,-o),e.arc(d,u,s,-o,0),e.arc(d,f,s,0,o),e.arc(l,f,s,o,Math.PI)):l<d?(e.moveTo(l,r),e.arc(d,u,s,-o,o),e.arc(l,u,s,o,Math.PI+o)):u<f?(e.arc(l,u,s,-Math.PI,0),e.arc(l,f,s,0,Math.PI)):e.arc(l,u,s,-Math.PI,Math.PI),e.closePath(),e.moveTo(a,r)}else e.rect(a,r,t,i)}function we(e,a,r){var t=r.backgroundColor,i=r.borderColor,n=r.borderWidth;!t&&(!i||!n)||(e.beginPath(),me(e,c(a.x)+n/2,c(a.y)+n/2,c(a.w)-n,c(a.h)-n,r.borderRadius),e.closePath(),t&&(e.fillStyle=t,e.fill()),i&&n&&(e.strokeStyle=i,e.lineWidth=n,e.lineJoin="miter",e.stroke()))}function ke(e,a,r){var t=r.lineHeight,i=e.w,n=e.x,o=e.y+t/2;return a==="center"?n+=i/2:(a==="end"||a==="right")&&(n+=i),{h:t,w:i,x:n,y:o}}function Me(e,a,r){var t=e.shadowBlur,i=r.stroked,n=c(r.x),o=c(r.y),s=c(r.w);i&&e.strokeText(a,n,o,s),r.filled&&(t&&i&&(e.shadowBlur=0),e.fillText(a,n,o,s),t&&i&&(e.shadowBlur=t))}function Se(e,a,r,t){var i=t.textAlign,n=t.color,o=!!n,s=t.font,l=a.length,u=t.textStrokeColor,d=t.textStrokeWidth,f=u&&d,y;if(!(!l||!o&&!f))for(r=ke(r,i,s),e.font=s.string,e.textAlign=i,e.textBaseline="middle",e.shadowBlur=t.textShadowBlur,e.shadowColor=t.textShadowColor,o&&(e.fillStyle=n),f&&(e.lineJoin="round",e.lineWidth=d,e.strokeStyle=u),y=0,l=a.length;y<l;++y)Me(e,a[y],{stroked:f,filled:o,w:r.w,x:r.x,y:r.y+r.h*y})}var H=function(e,a,r,t){var i=this;i._config=e,i._index=t,i._model=null,i._rects=null,i._ctx=a,i._el=r};w(H.prototype,{_modelize:function(e,a,r,t){var i=this,n=i._index,o=K(v([r.font,{}],t,n)),s=v([r.color,V.color],t,n);return{align:v([r.align,"center"],t,n),anchor:v([r.anchor,"center"],t,n),area:t.chart.chartArea,backgroundColor:v([r.backgroundColor,null],t,n),borderColor:v([r.borderColor,null],t,n),borderRadius:v([r.borderRadius,0],t,n),borderWidth:v([r.borderWidth,0],t,n),clamp:v([r.clamp,!1],t,n),clip:v([r.clip,!1],t,n),color:s,display:e,font:o,lines:a,offset:v([r.offset,4],t,n),opacity:v([r.opacity,1],t,n),origin:pe(i._el,t),padding:Y(v([r.padding,4],t,n)),positioner:ge(i._el),rotation:v([r.rotation,0],t,n)*(Math.PI/180),size:g.textSize(i._ctx,a,o),textAlign:v([r.textAlign,"start"],t,n),textShadowBlur:v([r.textShadowBlur,0],t,n),textShadowColor:v([r.textShadowColor,s],t,n),textStrokeColor:v([r.textStrokeColor,s],t,n),textStrokeWidth:v([r.textStrokeWidth,0],t,n)}},update:function(e){var a=this,r=null,t=null,i=a._index,n=a._config,o,s,l,u=v([n.display,!0],e,i);u&&(o=e.dataset.data[i],s=Z(D(n.formatter,[o,e]),o),l=p(s)?[]:g.toTextLines(s),l.length&&(r=a._modelize(u,l,n,e),t=_e(r))),a._model=r,a._rects=t},geometry:function(){return this._rects?this._rects.frame:{}},rotation:function(){return this._model?this._model.rotation:0},visible:function(){return this._model&&this._model.opacity},model:function(){return this._model},draw:function(e,a){var r=this,t=e.ctx,i=r._model,n=r._rects,o;this.visible()&&(t.save(),i.clip&&(o=i.area,t.beginPath(),t.rect(o.left,o.top,o.right-o.left,o.bottom-o.top),t.clip()),t.globalAlpha=g.bound(0,i.opacity,1),t.translate(c(a.x),c(a.y)),t.rotate(i.rotation),we(t,n.frame,i),Se(t,i.lines,n.text,i),t.restore())}});var je=Number.MIN_SAFE_INTEGER||-9007199254740991,Ce=Number.MAX_SAFE_INTEGER||9007199254740991;function _(e,a,r){var t=Math.cos(r),i=Math.sin(r),n=a.x,o=a.y;return{x:n+t*(e.x-n)-i*(e.y-o),y:o+i*(e.x-n)+t*(e.y-o)}}function B(e,a){var r=Ce,t=je,i=a.origin,n,o,s,l,u;for(n=0;n<e.length;++n)o=e[n],s=o.x-i.x,l=o.y-i.y,u=a.vx*s+a.vy*l,r=Math.min(r,u),t=Math.max(t,u);return{min:r,max:t}}function C(e,a){var r=a.x-e.x,t=a.y-e.y,i=Math.sqrt(r*r+t*t);return{vx:(a.x-e.x)/i,vy:(a.y-e.y)/i,origin:e,ln:i}}var U=function(){this._rotation=0,this._rect={x:0,y:0,w:0,h:0}};w(U.prototype,{center:function(){var e=this._rect;return{x:e.x+e.w/2,y:e.y+e.h/2}},update:function(e,a,r){this._rotation=r,this._rect={x:a.x+e.x,y:a.y+e.y,w:a.w,h:a.h}},contains:function(e){var a=this,r=1,t=a._rect;return e=_(e,a.center(),-a._rotation),!(e.x<t.x-r||e.y<t.y-r||e.x>t.x+t.w+r*2||e.y>t.y+t.h+r*2)},intersects:function(e){var a=this._points(),r=e._points(),t=[C(a[0],a[1]),C(a[0],a[3])],i,n,o;for(this._rotation!==e._rotation&&t.push(C(r[0],r[1]),C(r[0],r[3])),i=0;i<t.length;++i)if(n=B(a,t[i]),o=B(r,t[i]),n.max<o.min||o.max<n.min)return!1;return!0},_points:function(){var e=this,a=e._rect,r=e._rotation,t=e.center();return[_({x:a.x,y:a.y},t,r),_({x:a.x+a.w,y:a.y},t,r),_({x:a.x+a.w,y:a.y+a.h},t,r),_({x:a.x,y:a.y+a.h},t,r)]}});function X(e,a,r){var t=a.positioner(e,a),i=t.vx,n=t.vy;if(!i&&!n)return{x:t.x,y:t.y};var o=r.w,s=r.h,l=a.rotation,u=Math.abs(o/2*Math.cos(l))+Math.abs(s/2*Math.sin(l)),d=Math.abs(o/2*Math.sin(l))+Math.abs(s/2*Math.cos(l)),f=1/Math.max(Math.abs(i),Math.abs(n));return u*=i*f,d*=n*f,u+=a.offset*i,d+=a.offset*n,{x:t.x+u,y:t.y+d}}function Ee(e,a){var r,t,i,n;for(r=e.length-1;r>=0;--r)for(i=e[r].$layout,t=r-1;t>=0&&i._visible;--t)n=e[t].$layout,n._visible&&i._box.intersects(n._box)&&a(i,n);return e}function Pe(e){var a,r,t,i,n,o,s;for(a=0,r=e.length;a<r;++a)t=e[a],i=t.$layout,i._visible&&(s=new Proxy(t._el,{get:(l,u)=>l.getProps([u],!0)[u]}),n=t.geometry(),o=X(s,t.model(),n),i._box.update(o,n,t.rotation()));return Ee(e,function(l,u){var d=l._hidable,f=u._hidable;d&&f||f?u._visible=!1:d&&(l._visible=!1)})}var m={prepare:function(e){var a=[],r,t,i,n,o;for(r=0,i=e.length;r<i;++r)for(t=0,n=e[r].length;t<n;++t)o=e[r][t],a.push(o),o.$layout={_box:new U,_hidable:!1,_visible:!0,_set:r,_idx:o._index};return a.sort(function(s,l){var u=s.$layout,d=l.$layout;return u._idx===d._idx?d._set-u._set:d._idx-u._idx}),this.update(a),a},update:function(e){var a=!1,r,t,i,n,o;for(r=0,t=e.length;r<t;++r)i=e[r],n=i.model(),o=i.$layout,o._hidable=n&&n.display==="auto",o._visible=i.visible(),a|=o._hidable;a&&Pe(e)},lookup:function(e,a){var r,t;for(r=e.length-1;r>=0;--r)if(t=e[r].$layout,t&&t._visible&&t._box.contains(a))return e[r];return null},draw:function(e,a){var r,t,i,n,o,s;for(r=0,t=a.length;r<t;++r)i=a[r],n=i.$layout,n._visible&&(o=i.geometry(),s=X(i._el,i.model(),o),n._box.update(s,o,i.rotation()),i.draw(e,s))}},Ie=function(e){if(p(e))return null;var a=e,r,t,i;if(re(e))if(!p(e.label))a=e.label;else if(!p(e.r))a=e.r;else for(a="",r=Object.keys(e),i=0,t=r.length;i<t;++i)a+=(i!==0?", ":"")+r[i]+": "+e[r[i]];return""+a},Ae={align:"center",anchor:"center",backgroundColor:null,borderColor:null,borderRadius:0,borderWidth:0,clamp:!1,clip:!1,color:void 0,display:!0,font:{family:void 0,lineHeight:1.2,size:void 0,style:void 0,weight:null},formatter:Ie,labels:void 0,listeners:{},offset:4,opacity:1,padding:{top:4,right:4,bottom:4,left:4},rotation:0,textAlign:"start",textStrokeColor:void 0,textStrokeWidth:0,textShadowBlur:0,textShadowColor:void 0},h="$datalabels",q="$default";function ze(e,a){var r=e.datalabels,t={},i=[],n,o;return r===!1?null:(r===!0&&(r={}),a=w({},[a,r]),n=a.labels||{},o=Object.keys(n),delete a.labels,o.length?o.forEach(function(s){n[s]&&i.push(w({},[a,n[s],{_key:s}]))}):i.push(a),t=i.reduce(function(s,l){return ee(l.listeners||{},function(u,d){s[d]=s[d]||{},s[d][l._key||q]=u}),delete l.listeners,s},{}),{labels:i,listeners:t})}function A(e,a,r,t){if(a){var i=r.$context,n=r.$groups,o;a[n._set]&&(o=a[n._set][n._key],o&&D(o,[i,t])===!0&&(e[h]._dirty=!0,r.update(i)))}}function Re(e,a,r,t,i){var n,o;!r&&!t||(r?t?r!==t&&(o=n=!0):o=!0:n=!0,o&&A(e,a.leave,r,i),n&&A(e,a.enter,t,i))}function Te(e,a){var r=e[h],t=r._listeners,i,n;if(!(!t.enter&&!t.leave)){if(a.type==="mousemove")n=m.lookup(r._labels,a);else if(a.type!=="mouseout")return;i=r._hovered,r._hovered=n,Re(e,t,i,n,a)}}function $e(e,a){var r=e[h],t=r._listeners.click,i=t&&m.lookup(r._labels,a);i&&A(e,t,i,a)}var Be={id:"datalabels",defaults:Ae,beforeInit:function(e){e[h]={_actives:[]}},beforeUpdate:function(e){var a=e[h];a._listened=!1,a._listeners={},a._datasets=[],a._labels=[]},afterDatasetUpdate:function(e,a,r){var t=a.index,i=e[h],n=i._datasets[t]=[],o=e.isDatasetVisible(t),s=e.data.datasets[t],l=ze(s,r),u=a.meta.data||[],d=e.ctx,f,y,z,R,E,T,b,x;for(d.save(),f=0,z=u.length;f<z;++f)if(b=u[f],b[h]=[],o&&b&&e.getDataVisibility(f)&&!b.skip)for(y=0,R=l.labels.length;y<R;++y)E=l.labels[y],T=E._key,x=new H(E,d,b,f),x.$groups={_set:t,_key:T||q},x.$context={active:!1,chart:e,dataIndex:f,dataset:s,datasetIndex:t},x.update(x.$context),b[h].push(x),n.push(x);d.restore(),w(i._listeners,l.listeners,{merger:function(k,P,J){P[k]=P[k]||{},P[k][a.index]=J[k],i._listened=!0}})},afterUpdate:function(e){e[h]._labels=m.prepare(e[h]._datasets)},afterDatasetsDraw:function(e){m.draw(e,e[h]._labels)},beforeEvent:function(e,a){if(e[h]._listened){var r=a.event;switch(r.type){case"mousemove":case"mouseout":Te(e,r);break;case"click":$e(e,r);break}}},afterEvent:function(e){var a=e[h],r=a._actives,t=a._actives=e.getActiveElements(),i=g.arrayDiff(r,t),n,o,s,l,u,d,f;for(n=0,o=i.length;n<o;++n)if(u=i[n],u[1])for(f=u[0].element[h]||[],s=0,l=f.length;s<l;++s)d=f[s],d.$context.active=u[1]===1,d.update(d.$context);(a._dirty||i.length)&&(m.update(a._labels),e.render()),delete a._dirty}};const De=e=>({plugins:{legend:{position:"right",maxWidth:150,align:"start",labels:{color:e.palette.text.secondary,usePointStyle:!0,padding:21,boxHeight:8,font:{size:10}}},datalabels:{color:e.palette.text.primary,font:{weight:"bold",size:10},anchor:"end",align:"top",offset:-6}},responsive:!0,maintainAspectRatio:!1,color:e.palette.text.secondary,scales:{y:{beginAtZero:!0,grid:{color:e.palette.divider,borderColor:e.palette.divider,drawBorder:!1},ticks:{stepSize:1,color:e.palette.text.disabled,font:{size:10}}},x:{grid:{display:!1},ticks:{color:e.palette.text.primary,font:{size:10}}}}});function We(e){return ye.all(e.filter(a=>a))}const Ne=({data:e,ariaLabel:a,ariaDescription:r,overrideOptions:t})=>{const i=te(),{locationSettings:n}=ae(),o=ie.useMemo(()=>We([De(i)]),[i,n,t]);return ne.jsx(oe,{options:o,data:e,"aria-label":a,"aria-description":r,plugins:[Be]})};se.register(le,ue,W,O,de,fe,ve,he);export{De as createOptions,Ne as default};
@@ -1 +1 @@
1
- import{jt as u,ju as x,s as g,b as j,bs as y,r as p,j as i,jv as b,jw as m,C,jx as S,jy as h,jz as f,j4 as L,j5 as w,j6 as A,jn as R,jA as T,jq as k,j9 as v,ja as E,jr as _,js as D}from"./index-B33kIVre.js";const F={position:"bottom",labels:{boxWidth:12,padding:30,generateLabels:t=>{var l;const s=t.data.datasets,{labels:{usePointStyle:e,pointStyle:o,textAlign:r,color:d}}=((l=t==null?void 0:t.legend)==null?void 0:l.options)||{labels:{}};return t._getSortedDatasetMetas().map(n=>{const a=n.controller.getStyle(e?0:void 0);return{text:s[n.index].label,fillStyle:a.borderColor,fontColor:d,hidden:!n.visible,lineWidth:0,borderRadius:6,strokeStyle:a.borderColor,pointStyle:o||a.pointStyle,textAlign:r||a.textAlign,datasetIndex:n.index}})}}},M=(t,s,e,o)=>({responsive:!0,...o?{animation:{duration:0}}:{},plugins:{legend:{...F,display:!o},tooltip:{enabled:!1,position:"nearest",external:u(e)}},locale:s.locale,interaction:{intersect:!1,axis:"xy",mode:"nearest"},elements:{point:{radius:0,hitRadius:15}},color:t.palette.text.secondary,scales:{y:{beginAtZero:!0,type:"linear",grid:{color:t.palette.divider,borderColor:t.palette.divider},ticks:{color:t.palette.text.secondary,display:!o,precision:0}},x:{adapters:{date:{locale:x(s.locale)}},type:"time",time:{unit:"week",tooltipFormat:"P"},grid:{color:"transparent",borderColor:"transparent"},ticks:{color:t.palette.text.secondary,display:!o,source:"data",maxRotation:90,minRotation:23.5}}}}),W=g("div")(({theme:t})=>({position:"relative"}));function q(t){return D.all(t.filter(s=>s))}const B=({data:t,aspectRatio:s=2.5,cover:e,overrideOptions:o,TooltipComponent:r})=>{const d=j(),{locationSettings:l}=y(),[n,a]=p.useState(null),c=p.useMemo(()=>q([M(d,l,a,!!e),o??{}]),[d,l,a,o,e]);return i.jsxs(W,{children:[i.jsx(b,{options:c,data:t,plugins:[m({width:26})],height:100,width:100*s},e?"cover":"chart"),i.jsx(C,{condition:!e,show:r?i.jsx(S,{tooltip:n,children:i.jsx(r,{tooltip:n})}):i.jsx(h,{tooltip:n}),elseShow:i.jsx(f,{children:e!==!0?e:" "})})]})};L.register(w,A,R,T,k,v,E,_);export{B as default};
1
+ import{jH as g,jI as u,s as x,b as j,bq as y,r as p,j as i,jJ as b,jK as m,C,jL as S,jM as h,jN as f,ji as L,jj as R,jk as k,jB as w,jO as A,jE as E,jn as T,jo as v,jF as F,jG as M}from"./index-g9pKMnOR.js";const _={position:"bottom",labels:{boxWidth:12,padding:30,generateLabels:t=>{var l;const s=t.data.datasets,{labels:{usePointStyle:e,pointStyle:o,textAlign:r,color:d}}=((l=t==null?void 0:t.legend)==null?void 0:l.options)||{labels:{}};return t._getSortedDatasetMetas().map(n=>{const a=n.controller.getStyle(e?0:void 0);return{text:s[n.index].label,fillStyle:a.borderColor,fontColor:d,hidden:!n.visible,lineWidth:0,borderRadius:6,strokeStyle:a.borderColor,pointStyle:o||a.pointStyle,textAlign:r||a.textAlign,datasetIndex:n.index}})}}},B=(t,s,e,o)=>({responsive:!0,...o?{animation:{duration:0}}:{},plugins:{legend:{..._,display:!o},tooltip:{enabled:!1,position:"nearest",external:g(e)}},locale:s.locale,interaction:{intersect:!1,axis:"xy",mode:"nearest"},elements:{point:{radius:0,hitRadius:15}},color:t.palette.text.secondary,scales:{y:{beginAtZero:!0,type:"linear",grid:{color:t.palette.divider,borderColor:t.palette.divider},ticks:{color:t.palette.text.secondary,display:!o,precision:0}},x:{adapters:{date:{locale:u(s.locale)}},type:"time",time:{unit:"week",tooltipFormat:"P"},grid:{color:"transparent",borderColor:"transparent"},ticks:{color:t.palette.text.secondary,display:!o,source:"data",maxRotation:90,minRotation:23.5}}}}),D=x("div")(({theme:t})=>({position:"relative"}));function G(t){return M.all(t.filter(s=>s))}const I=({data:t,aspectRatio:s=2.5,cover:e,overrideOptions:o,TooltipComponent:r})=>{const d=j(),{locationSettings:l}=y(),[n,a]=p.useState(null),c=p.useMemo(()=>G([B(d,l,a,!!e),o??{}]),[d,l,a,o,e]);return i.jsxs(D,{children:[i.jsx(b,{options:c,data:t,plugins:[m({width:26})],height:100,width:100*s},e?"cover":"chart"),i.jsx(C,{condition:!e,show:r?i.jsx(S,{tooltip:n,children:i.jsx(r,{tooltip:n})}):i.jsx(h,{tooltip:n}),elseShow:i.jsx(f,{children:e!==!0?e:" "})})]})};L.register(R,k,w,A,E,T,v,F);export{I as default};
@@ -1 +1 @@
1
- import{cj as H,b9 as k,bb as L,j as e,aY as R,C as p,V as m,T as C,L as y,aW as P,aX as D,e as M,bf as W,fR as F,aU as _,aV as G,h as z,r as f,dF as E,dG as V,s as N,A as J,m as K,l as X,n as Y,o as Q,jc as Z,as as U,B as T,fb as I,jd as A,fc as b}from"./index-B33kIVre.js";const ee=t=>fetch(t).then(L("ChangeRequest")).then(s=>s.json()),te=(t,s)=>{const r=s.map(i=>`feature=${i}`).join("&"),{data:n,error:a,mutate:o}=H([],k(`api/admin/projects/${t}/change-requests/scheduled?${r}`),ee);return{changeRequests:n,loading:!a&&!n,refetch:o,error:a}},S=()=>e.jsx(m,{severity:"warning",sx:{m:t=>t.spacing(2,0)},children:"Archiving flags with dependencies will also remove those dependencies."}),ne=({ids:t,projectId:s})=>{const r=n=>`/projects/${s}/features/${n}`;return t?e.jsxs(m,{severity:"warning",sx:{m:n=>n.spacing(2,0)},children:[e.jsx(C,{fontWeight:"bold",variant:"body2",display:"inline",children:`${t.length} feature flags `}),e.jsx("span",{children:"have usage from applications. If you archive these feature flags they will not be available to Client SDKs:"}),e.jsx("ul",{children:t==null?void 0:t.map(n=>e.jsx("li",{children:e.jsx(y,{to:r(n),children:n})},n))})]}):null},$=({ids:t,projectId:s})=>{const r=n=>`/projects/${s}/features/${n}`;return t&&t.length>1?e.jsxs(m,{severity:"error",sx:{m:n=>n.spacing(2,0)},children:[e.jsx(C,{fontWeight:"bold",variant:"body2",display:"inline",children:`${t.length} feature flags `}),e.jsx("span",{children:"have child features that depend on them and are not part of the archive operation. These parent features can not be archived:"}),e.jsx("ul",{children:t==null?void 0:t.map(n=>e.jsx("li",{children:e.jsx(y,{to:r(n),children:n})},n))})]}):t&&t.length===1?e.jsxs(m,{severity:"error",sx:{m:n=>n.spacing(2,0)},children:[e.jsx(y,{to:r(t[0]),children:t[0]})," has child features that depend on it and are not part of the archive operation."]}):null},q=({changeRequests:t,projectId:s})=>t&&t.length>0?e.jsxs(m,{severity:"warning",sx:{m:r=>r.spacing(2,0)},children:[e.jsxs("p",{children:["This archive operation would conflict with"," ",t.length," scheduled change request(s). The change request(s) that would be affected by this are:"]}),e.jsx("ul",{children:t.map(({id:r,title:n})=>{const a=n?`#${r} (${n})`:`Change request #${r}`;return e.jsx("li",{children:e.jsx(y,{to:`/projects/${s}/change-requests/${r}`,target:"_blank",rel:"noopener noreferrer",title:`Change request ${r}`,children:a})},r)})})]}):t===void 0?e.jsx(m,{severity:"warning",children:e.jsx("p",{children:"This archive operation might conflict with one or more scheduled change requests. If you complete it, those change requests can no longer be applied."})}):null,se=(t,s)=>{const n=P(t)(),{isChangeRequestConfiguredForReview:a}=D(t);return n&&a(n)&&s?"Add to change request":n&&a(n)?"Add change to draft":s?"Archive flags":"Archive flag"},ae=({projectId:t,featureIds:s,onSuccess:r,onError:n})=>{const{setToastData:a,setToastApiError:o}=M(),{archiveFeatureToggle:i}=W(),{archiveFeatures:c}=F(),{isChangeRequestConfiguredForReview:h}=D(t),{addChange:x}=_(),{refetch:u}=G(t),d=P(t),g=(s==null?void 0:s.length)>1,l=d(),v=async()=>{if(!l){console.error("No change request environment");return}await x(t,l,s.map(w=>({action:"archiveFeature",feature:w,payload:void 0}))),u(),a({type:"success",text:g?"Changes added to a draft":"Change added to a draft"})},j=async()=>{await i(t,s[0]),a({type:"success",text:"Feature flag archived"})},O=async()=>{await c(t,s),a({type:"success",text:"Feature flags archived"})};return async()=>{try{l&&h(l)?await v():g?await O():await j(),r()}catch(w){o(z(w)),n()}}},re=(t,s,r)=>{const[n,a]=f.useState(!0),[o,i]=f.useState([]),[c,h]=f.useState(!1),{verifyArchiveFeatures:x}=F();return f.useEffect(()=>{r&&x(s,t).then(u=>u.json()).then(({hasDeletedDependencies:u,parentsWithChildFeatures:d})=>{d.length===0?(a(!1),i(d)):(a(!0),i(d)),h(u)})},[JSON.stringify(t),r,s,i,a,h]),{disableArchive:n,offendingParents:o,hasDeletedDependencies:c}},ue=({isOpen:t,onClose:s,onConfirm:r,projectId:n,featureIds:a,featuresWithUsage:o})=>{const i=(a==null?void 0:a.length)>1,c=se(n,i),h=i?"Archive feature flags":"Archive feature flag",x=ae({projectId:n,featureIds:a,onSuccess(){r(),s()},onError(){s()}}),{changeRequests:u}=te(n,a),{disableArchive:d,offendingParents:g,hasDeletedDependencies:l}=re(a,n,t),v=g.length===0&&l;return e.jsx(R,{onClick:x,open:t,onClose:s,primaryButtonText:c,secondaryButtonText:"Cancel",title:h,disabledPrimaryButton:d,children:e.jsx(p,{condition:i,show:e.jsxs(e.Fragment,{children:[e.jsxs("p",{children:["Are you sure you want to archive"," ",e.jsx("strong",{children:a==null?void 0:a.length})," feature flags?"]}),e.jsx(p,{condition:!!(o&&(o==null?void 0:o.length)>0),show:e.jsx(ne,{ids:o,projectId:n})}),e.jsx(p,{condition:g.length>0,show:e.jsx($,{ids:g,projectId:n})}),e.jsx(p,{condition:v,show:e.jsx(S,{})}),e.jsx(q,{changeRequests:u,projectId:n}),e.jsx(p,{condition:(a==null?void 0:a.length)<=5,show:e.jsx("ul",{children:a==null?void 0:a.map(j=>e.jsx("li",{children:j},j))})})]}),elseShow:e.jsxs(e.Fragment,{children:[e.jsxs("p",{children:["Are you sure you want to archive"," ",i?"these feature flags":"this feature flag","?"]}),e.jsx(p,{condition:g.length>0,show:e.jsx($,{ids:g,projectId:n})}),e.jsx(p,{condition:v,show:e.jsx(S,{})}),e.jsx(q,{changeRequests:u,projectId:n})]})})})},ie=(t,s)=>`/api/admin/projects/${t}/features/${s}/parents`,ge=(t,s)=>{const r=k(ie(t,s)),{data:n,refetch:a,loading:o,error:i}=E(r,()=>V(r,"Parent Options"));return{parentOptions:n,loading:o,error:i}},oe=(t,s)=>`/api/admin/projects/${t}/features/${s}/parent-variants`,B=(t,s)=>{const r=k(oe(t,s)),{data:n,refetch:a,loading:o,error:i}=E(r,()=>V(r,"Parent Variant Options"));return{parentVariantOptions:n||[],loading:o,error:i}},ce=N(J)(({theme:t})=>({marginTop:t.spacing(2),marginBottom:t.spacing(1.5)})),le=({project:t,parent:s,onSelect:r})=>{const{parentVariantOptions:n}=B(t,s),a=e.jsx(Y,{fontSize:"small"}),o=e.jsx(Q,{fontSize:"small"});return e.jsx(ce,{id:"single-variant-options",options:n,renderOption:(i,c,{selected:h})=>e.jsxs("li",{...i,children:[e.jsx(K,{icon:a,checkedIcon:o,style:{marginRight:8},checked:h}),c]}),renderInput:i=>e.jsx(X,{...i,placeholder:"Select variant"}),fullWidth:!0,onChange:(i,c)=>{r(String(c))}})},de=({projectId:t,featureId:s,isOpen:r,setIsOpen:n,onComplete:a})=>{const{markFeatureCompleted:o}=Z(),{parentVariantOptions:i}=B(t,s),[c,h]=f.useState("kept"),[x,u]=f.useState(void 0),{trackEvent:d}=U(),g=async()=>{const l=c==="kept-with-variant"?"kept":c;await o(s,t,{status:l,statusValue:x}),n(!1),a(),d("feature-lifecycle",{props:{eventType:"complete",status:l}})};return e.jsx(R,{open:r,title:"Mark completed",onClose:()=>{n(!1)},disabledPrimaryButton:c==="kept-with-variant"&&x===null,onClick:g,primaryButtonText:"Mark completed",secondaryButtonText:"Cancel",children:e.jsxs(T,{children:[e.jsxs(T,{sx:{mt:2,mb:4},children:["Marking the feature ",e.jsx("b",{children:s})," as complete does not affect any configuration, but it moves the feature flag into it’s next life cycle stage and is an indication that you have learned what you needed in order to progress with the feature. It serves as a reminder to start cleaning up the feature flag and removing it from the code."]}),e.jsx(C,{sx:{mb:2},children:e.jsx("b",{children:"What was the outcome of this feature?"})}),e.jsxs(I,{"aria-label":"selected-value",name:"selected",sx:{gap:l=>l.spacing(.5)},onChange:(l,v)=>{h(v)},children:[e.jsx(A,{value:"kept",legal:{value:"We decided to keep the feature"},control:e.jsx(b,{})},"kept"),e.jsx(A,{value:"discarded",legal:{value:"We decided to discard the feature"},control:e.jsx(b,{})},"discarded"),e.jsx(p,{condition:i.length>0,show:e.jsx(A,{value:"kept-with-variant",legal:{value:"We decided to keep the feature variant",description:"Choose to specify which feature variant will be kept"},control:e.jsx(b,{})},"kept-with-variant")}),e.jsx(p,{condition:i.length>0&&c==="kept-with-variant",show:e.jsx(le,{parent:s,project:t,onSelect:l=>{u(l)}})})]})]})})};export{ue as F,de as M,ge as a,B as u};
1
+ import{cj as H,b7 as k,b9 as L,j as e,aV as $,C as p,R as m,T as C,L as y,aT as P,aU as D,f as M,bd as _,fY as E,aR as W,aS as z,i as G,r as f,dE as F,dF as B,s as N,A as J,n as K,m as Y,o as Q,q as X,jq as Z,aq as U,B as T,fg as I,jr as A,fh as b}from"./index-g9pKMnOR.js";const ee=t=>fetch(t).then(L("ChangeRequest")).then(s=>s.json()),te=(t,s)=>{const r=s.map(i=>`feature=${i}`).join("&"),{data:n,error:a,mutate:o}=H([],k(`api/admin/projects/${t}/change-requests/scheduled?${r}`),ee);return{changeRequests:n,loading:!a&&!n,refetch:o,error:a}},q=()=>e.jsx(m,{severity:"warning",sx:{m:t=>t.spacing(2,0)},children:"Archiving flags with dependencies will also remove those dependencies."}),ne=({ids:t,projectId:s})=>{const r=n=>`/projects/${s}/features/${n}`;return t?e.jsxs(m,{severity:"warning",sx:{m:n=>n.spacing(2,0)},children:[e.jsx(C,{fontWeight:"bold",variant:"body2",display:"inline",children:`${t.length} feature flags `}),e.jsx("span",{children:"have usage from applications. If you archive these feature flags they will not be available to Client SDKs:"}),e.jsx("ul",{children:t==null?void 0:t.map(n=>e.jsx("li",{children:e.jsx(y,{to:r(n),children:n})},n))})]}):null},S=({ids:t,projectId:s})=>{const r=n=>`/projects/${s}/features/${n}`;return t&&t.length>1?e.jsxs(m,{severity:"error",sx:{m:n=>n.spacing(2,0)},children:[e.jsx(C,{fontWeight:"bold",variant:"body2",display:"inline",children:`${t.length} feature flags `}),e.jsx("span",{children:"have child features that depend on them and are not part of the archive operation. These parent features can not be archived:"}),e.jsx("ul",{children:t==null?void 0:t.map(n=>e.jsx("li",{children:e.jsx(y,{to:r(n),children:n})},n))})]}):t&&t.length===1?e.jsxs(m,{severity:"error",sx:{m:n=>n.spacing(2,0)},children:[e.jsx(y,{to:r(t[0]),children:t[0]})," has child features that depend on it and are not part of the archive operation."]}):null},R=({changeRequests:t,projectId:s})=>t&&t.length>0?e.jsxs(m,{severity:"warning",sx:{m:r=>r.spacing(2,0)},children:[e.jsxs("p",{children:["This archive operation would conflict with"," ",t.length," scheduled change request(s). The change request(s) that would be affected by this are:"]}),e.jsx("ul",{children:t.map(({id:r,title:n})=>{const a=n?`#${r} (${n})`:`Change request #${r}`;return e.jsx("li",{children:e.jsx(y,{to:`/projects/${s}/change-requests/${r}`,target:"_blank",rel:"noopener noreferrer",title:`Change request ${r}`,children:a})},r)})})]}):t===void 0?e.jsx(m,{severity:"warning",children:e.jsx("p",{children:"This archive operation might conflict with one or more scheduled change requests. If you complete it, those change requests can no longer be applied."})}):null,se=(t,s)=>{const n=P(t)(),{isChangeRequestConfiguredForReview:a}=D(t);return n&&a(n)&&s?"Add to change request":n&&a(n)?"Add change to draft":s?"Archive flags":"Archive flag"},ae=({projectId:t,featureIds:s,onSuccess:r,onError:n})=>{const{setToastData:a,setToastApiError:o}=M(),{archiveFeatureToggle:i}=_(),{archiveFeatures:c}=E(),{isChangeRequestConfiguredForReview:h}=D(t),{addChange:x}=W(),{refetch:u}=z(t),d=P(t),g=(s==null?void 0:s.length)>1,l=d(),v=async()=>{if(!l){console.error("No change request environment");return}await x(t,l,s.map(w=>({action:"archiveFeature",feature:w,payload:void 0}))),u(),a({type:"success",text:g?"Changes added to a draft":"Change added to a draft"})},j=async()=>{await i(t,s[0]),a({type:"success",text:"Feature flag archived"})},V=async()=>{await c(t,s),a({type:"success",text:"Feature flags archived"})};return async()=>{try{l&&h(l)?await v():g?await V():await j(),r()}catch(w){o(G(w)),n()}}},re=(t,s,r)=>{const[n,a]=f.useState(!0),[o,i]=f.useState([]),[c,h]=f.useState(!1),{verifyArchiveFeatures:x}=E();return f.useEffect(()=>{r&&x(s,t).then(u=>u.json()).then(({hasDeletedDependencies:u,parentsWithChildFeatures:d})=>{d.length===0?(a(!1),i(d)):(a(!0),i(d)),h(u)})},[JSON.stringify(t),r,s,i,a,h]),{disableArchive:n,offendingParents:o,hasDeletedDependencies:c}},ue=({isOpen:t,onClose:s,onConfirm:r,projectId:n,featureIds:a,featuresWithUsage:o})=>{const i=(a==null?void 0:a.length)>1,c=se(n,i),h=i?"Archive feature flags":"Archive feature flag",x=ae({projectId:n,featureIds:a,onSuccess(){r(),s()},onError(){s()}}),{changeRequests:u}=te(n,a),{disableArchive:d,offendingParents:g,hasDeletedDependencies:l}=re(a,n,t),v=g.length===0&&l;return e.jsx($,{onClick:x,open:t,onClose:s,primaryButtonText:c,secondaryButtonText:"Cancel",title:h,disabledPrimaryButton:d,children:e.jsx(p,{condition:i,show:e.jsxs(e.Fragment,{children:[e.jsxs("p",{children:["Are you sure you want to archive"," ",e.jsx("strong",{children:a==null?void 0:a.length})," feature flags?"]}),e.jsx(p,{condition:!!(o&&(o==null?void 0:o.length)>0),show:e.jsx(ne,{ids:o,projectId:n})}),e.jsx(p,{condition:g.length>0,show:e.jsx(S,{ids:g,projectId:n})}),e.jsx(p,{condition:v,show:e.jsx(q,{})}),e.jsx(R,{changeRequests:u,projectId:n}),e.jsx(p,{condition:(a==null?void 0:a.length)<=5,show:e.jsx("ul",{children:a==null?void 0:a.map(j=>e.jsx("li",{children:j},j))})})]}),elseShow:e.jsxs(e.Fragment,{children:[e.jsxs("p",{children:["Are you sure you want to archive"," ",i?"these feature flags":"this feature flag","?"]}),e.jsx(p,{condition:g.length>0,show:e.jsx(S,{ids:g,projectId:n})}),e.jsx(p,{condition:v,show:e.jsx(q,{})}),e.jsx(R,{changeRequests:u,projectId:n})]})})})},ie=(t,s)=>`/api/admin/projects/${t}/features/${s}/parents`,ge=(t,s)=>{const r=k(ie(t,s)),{data:n,refetch:a,loading:o,error:i}=F(r,()=>B(r,"Parent Options"));return{parentOptions:n,loading:o,error:i}},oe=(t,s)=>`/api/admin/projects/${t}/features/${s}/parent-variants`,O=(t,s)=>{const r=k(oe(t,s)),{data:n,refetch:a,loading:o,error:i}=F(r,()=>B(r,"Parent Variant Options"));return{parentVariantOptions:n||[],loading:o,error:i}},ce=N(J)(({theme:t})=>({marginTop:t.spacing(2),marginBottom:t.spacing(1.5)})),le=({project:t,parent:s,onSelect:r})=>{const{parentVariantOptions:n}=O(t,s),a=e.jsx(Q,{fontSize:"small"}),o=e.jsx(X,{fontSize:"small"});return e.jsx(ce,{id:"single-variant-options",options:n,renderOption:(i,c,{selected:h})=>e.jsxs("li",{...i,children:[e.jsx(K,{icon:a,checkedIcon:o,style:{marginRight:8},checked:h}),c]}),renderInput:i=>e.jsx(Y,{...i,placeholder:"Select variant"}),fullWidth:!0,onChange:(i,c)=>{r(String(c))}})},de=({projectId:t,featureId:s,isOpen:r,setIsOpen:n,onComplete:a})=>{const{markFeatureCompleted:o}=Z(),{parentVariantOptions:i}=O(t,s),[c,h]=f.useState("kept"),[x,u]=f.useState(void 0),{trackEvent:d}=U(),g=async()=>{const l=c==="kept-with-variant"?"kept":c;await o(s,t,{status:l,statusValue:x}),n(!1),a(),d("feature-lifecycle",{props:{eventType:"complete",status:l}})};return e.jsx($,{open:r,title:"Mark completed",onClose:()=>{n(!1)},disabledPrimaryButton:c==="kept-with-variant"&&x===null,onClick:g,primaryButtonText:"Mark completed",secondaryButtonText:"Cancel",children:e.jsxs(T,{children:[e.jsxs(T,{sx:{mt:2,mb:4},children:["Marking the feature ",e.jsx("b",{children:s})," as complete does not affect any configuration, but it moves the feature flag into it’s next life cycle stage and is an indication that you have learned what you needed in order to progress with the feature. It serves as a reminder to start cleaning up the feature flag and removing it from the code."]}),e.jsx(C,{sx:{mb:2},children:e.jsx("b",{children:"What was the outcome of this feature?"})}),e.jsxs(I,{"aria-label":"selected-value",name:"selected",sx:{gap:l=>l.spacing(.5)},onChange:(l,v)=>{h(v)},children:[e.jsx(A,{value:"kept",legal:{value:"We decided to keep the feature"},control:e.jsx(b,{})},"kept"),e.jsx(A,{value:"discarded",legal:{value:"We decided to discard the feature"},control:e.jsx(b,{})},"discarded"),e.jsx(p,{condition:i.length>0,show:e.jsx(A,{value:"kept-with-variant",legal:{value:"We decided to keep the feature variant",description:"Choose to specify which feature variant will be kept"},control:e.jsx(b,{})},"kept-with-variant")}),e.jsx(p,{condition:i.length>0&&c==="kept-with-variant",show:e.jsx(le,{parent:s,project:t,onSelect:l=>{u(l)}})})]})]})})};export{ue as F,de as M,ge as a,O as u};
@@ -0,0 +1 @@
1
+ import{s as i,T as d,cV as h,b as x,r as u,j as t,R as m,gc as c,jP as y,jQ as j,jR as f}from"./index-g9pKMnOR.js";import{u as b,N as v}from"./NetworkPrometheusAPIWarning-BwnVz0CY.js";import{u as g}from"./unknownify-B7hmSXnj.js";const w=i("div")(({theme:e})=>({marginBottom:e.spacing(18),display:"flex",justifyContent:"center"})),S=i("div")(({theme:e})=>({display:"flex",justifyContent:"center",gap:e.spacing(4),flexWrap:"wrap"})),p=i("div")(({theme:e})=>({borderRadius:e.shape.borderRadiusMedium,border:"1px solid",borderColor:e.palette.secondary.border,backgroundColor:e.palette.secondary.light,display:"flex",flexDirection:"column",alignItems:"center",padding:e.spacing(1.5),zIndex:1,"& > svg":{width:e.spacing(9),height:e.spacing(9)}})),k=i(d)(({theme:e})=>({fontWeight:e.fontWeight.bold})),A=i(d)(({theme:e})=>({fontSize:e.fontSizes.smallBody,color:e.palette.text.secondary})),q=i(d)(({theme:e})=>({fontSize:e.fontSizes.smallerBody,color:e.palette.text.secondary})),C=e=>e[0]*1e3>Date.now()-6e5,E=e=>{var a,s;const r=(e.values||[]).filter(l=>C(l)),o=r.length?Number.parseFloat(r[r.length-1][1]):0;return{label:e.label,reqs:o,type:g((s=(a=e.metric)==null?void 0:a.endpoint)==null?void 0:s.split("/")[2])}},B=(e,n)=>{var o;const r=n.label+n.type;return e[r]={...n,reqs:n.reqs+(((o=e[r])==null?void 0:o.reqs)??0)},e},N=e=>{var o,a;const r=(((a=(o=e==null?void 0:e.data)==null?void 0:o.result)==null?void 0:a.map(s=>{var l;return{...s,label:g((l=s.metric)==null?void 0:l.appName)}}).filter(s=>s.label!=="unknown"))||[]).map(E).reduce(B,{});return Object.values(r).map(s=>({...s,reqs:s.reqs.toFixed(2)})).filter(s=>s.reqs!=="0.00")??[]},D=()=>{h("Network - Overview");const e=x(),{metrics:n}=b(),r=u.useMemo(()=>N(n),[n]);return r.length===0?t.jsxs(m,{severity:"warning",children:["No data available.",t.jsx(v,{})]}):t.jsxs(c.ArcherContainer,{strokeColor:e.palette.text.primary,endShape:{arrow:{arrowLength:4,arrowThickness:4}},children:[t.jsx(w,{children:t.jsx(c.ArcherElement,{id:"unleash",children:t.jsxs(p,{children:[t.jsx(y,{darkmode:t.jsx(j,{}),lightmode:t.jsx(f,{})}),t.jsx(d,{sx:{marginTop:e.spacing(1)},children:"Unleash"})]})})}),t.jsx(S,{children:r.map(({label:o,reqs:a,type:s},l)=>t.jsx(c.ArcherElement,{id:`${l}`,relations:[{targetId:"unleash",targetAnchor:"bottom",sourceAnchor:"top",style:{strokeColor:e.palette.secondary.border}}],children:t.jsxs(p,{children:[t.jsx(k,{children:o}),t.jsxs(A,{children:[a," req/s"]}),t.jsxs(q,{children:[s," app"]})]})}))})]})};export{D as NetworkOverview,D as default};
@@ -1 +1 @@
1
- import{bc as a,ba as i,b9 as c,r as u,bb as h,j as n}from"./index-B33kIVre.js";const f=(e={})=>{const{uiConfig:{prometheusAPIAvailable:r}}=a(),{data:t,error:s,mutate:o}=i(r,{},c("api/admin/metrics/rps"),l,e);return u.useMemo(()=>({metrics:t,loading:!s&&!t,refetch:()=>o(),error:s}),[t,s,o])},l=e=>fetch(e).then(h("Instance Metrics")).then(r=>r.json()),p=()=>{const{uiConfig:{prometheusAPIAvailable:e}}=a();return e?null:n.jsxs("p",{children:["This view requires the ",n.jsx("strong",{children:"PROMETHEUS_API"})," environment variable to be set. Refer to our"," ",n.jsx("a",{href:"https://docs.getunleash.io/reference/network-view#data-source",target:"_blank",rel:"noreferrer",children:"documentation"})," ","for more information."]})};export{p as N,f as u};
1
+ import{ba as a,b8 as i,b7 as c,r as u,b9 as h,j as n}from"./index-g9pKMnOR.js";const f=(e={})=>{const{uiConfig:{prometheusAPIAvailable:r}}=a(),{data:t,error:s,mutate:o}=i(r,{},c("api/admin/metrics/rps"),l,e);return u.useMemo(()=>({metrics:t,loading:!s&&!t,refetch:()=>o(),error:s}),[t,s,o])},l=e=>fetch(e).then(h("Instance Metrics")).then(r=>r.json()),p=()=>{const{uiConfig:{prometheusAPIAvailable:e}}=a();return e?null:n.jsxs("p",{children:["This view requires the ",n.jsx("strong",{children:"PROMETHEUS_API"})," environment variable to be set. Refer to our"," ",n.jsx("a",{href:"https://docs.getunleash.io/concepts/network-view#data-source",target:"_blank",rel:"noreferrer",children:"documentation"})," ","for more information."]})};export{p as N,f as u};
@@ -1 +1 @@
1
- var f=Object.defineProperty;var h=(e,t,a)=>t in e?f(e,t,{enumerable:!0,configurable:!0,writable:!0,value:a}):e[t]=a;var s=(e,t,a)=>h(e,typeof t!="symbol"?t+"":t,a);import{bs as k,b as C,r as p,cY as v,j as o,C as w,V as P,db as S,jv as N,j4 as A,j5 as I,j6 as M,jn as R,jA as T,jq as q,ja as E,j9 as L,j8 as _,j2 as u,jE as D}from"./index-B33kIVre.js";import{u as W,N as H}from"./NetworkPrometheusAPIWarning-2jclDnfE.js";import{u as g}from"./unknownify-B7hmSXnj.js";const m=["circle","rect","rectRounded","rectRot","triangle"],$=(e,t)=>e.map(a=>({x:a[0],y:t(a[1])})),z=(e,t)=>({locale:t.locale,responsive:!0,maintainAspectRatio:!1,interaction:{mode:"index",intersect:!1},color:e.palette.text.secondary,plugins:{tooltip:{backgroundColor:e.palette.background.paper,bodyColor:e.palette.text.primary,titleColor:e.palette.action.active,borderColor:e.palette.primary.main,borderWidth:1,padding:10,boxPadding:5,usePointStyle:!0,callbacks:{title:a=>u(1e3*a[0].parsed.x,t.locale)},itemSort:(a,i)=>i.parsed.y-a.parsed.y},legend:{position:"bottom",align:"start",labels:{boxWidth:10,boxHeight:10,usePointStyle:!0,padding:24}},title:{text:"Top 10 requests per second in the last 6 hours",position:"top",align:"start",display:!0,font:{size:16,weight:"400"},color:e.palette.text.primary,padding:{bottom:32}}},scales:{y:{type:"linear",title:{display:!0,text:"Requests per second",color:e.palette.text.secondary},suggestedMin:0,ticks:{precision:0,color:e.palette.text.secondary},grid:{color:e.palette.divider,borderColor:e.palette.divider}},x:{type:"time",time:{unit:"minute"},grid:{display:!0,color:e.palette.divider,borderColor:e.palette.divider},ticks:{callback:(a,i,r)=>u(r[i].value*1e3,t.locale)}}}});class B{constructor(t){s(this,"items");s(this,"picked",new Map);this.items=new D(t)}pick(t){return this.picked.has(t)||this.picked.set(t,this.items.next()),this.picked.get(t)}}const F=(e,t)=>{var a;if((a=t==null?void 0:t.data)!=null&&a.result){const i=new B([e.palette.success,e.palette.error,e.palette.primary,e.palette.warning]);return t.data.result.map((r,x)=>{var c,d;const n=g((c=r.metric)==null?void 0:c.endpoint),y=g((d=r.metric)==null?void 0:d.appName),l=i.pick(n),b=r.values||[];return{label:`${n}: ${y}`,borderColor:l.main,backgroundColor:l.main,data:$(b,j=>Number.parseFloat(j)),elements:{point:{radius:4,pointStyle:m[x%m.length]},line:{borderDash:[8,4]}}}})}return[]},J=()=>{const{locationSettings:e}=k(),{metrics:t}=W(),a=C(),i=p.useMemo(()=>z(a,e),[a,e]);v("Network - Traffic");const r=p.useMemo(()=>({datasets:F(a,t)}),[a,t,e]);return o.jsx(w,{condition:r.datasets.length===0,show:o.jsxs(P,{severity:"warning",children:["No data available.",o.jsx(H,{})]}),elseShow:o.jsx(S,{sx:{display:"grid",gap:4},children:o.jsx("div",{style:{height:400},children:o.jsx(N,{data:r,options:i,"aria-label":"An instance metrics line chart with two lines: requests per second for admin API and requests per second for client API"})})})})};A.register(I,M,R,T,q,E,L,_);export{J as NetworkTraffic,J as default};
1
+ var k=Object.defineProperty;var f=(e,t,a)=>t in e?k(e,t,{enumerable:!0,configurable:!0,writable:!0,value:a}):e[t]=a;var s=(e,t,a)=>f(e,typeof t!="symbol"?t+"":t,a);import{bq as h,b as C,r as p,cV as w,j as o,C as v,R as P,da as S,jJ as N,ji as I,jj as R,jk as A,jB as M,jO as T,jE as q,jo as E,jn as L,jm as _,jg as u,jS as D}from"./index-g9pKMnOR.js";import{u as W,N as B}from"./NetworkPrometheusAPIWarning-BwnVz0CY.js";import{u as g}from"./unknownify-B7hmSXnj.js";const m=["circle","rect","rectRounded","rectRot","triangle"],H=(e,t)=>e.map(a=>({x:a[0],y:t(a[1])})),O=(e,t)=>({locale:t.locale,responsive:!0,maintainAspectRatio:!1,interaction:{mode:"index",intersect:!1},color:e.palette.text.secondary,plugins:{tooltip:{backgroundColor:e.palette.background.paper,bodyColor:e.palette.text.primary,titleColor:e.palette.action.active,borderColor:e.palette.primary.main,borderWidth:1,padding:10,boxPadding:5,usePointStyle:!0,callbacks:{title:a=>u(1e3*a[0].parsed.x,t.locale)},itemSort:(a,i)=>i.parsed.y-a.parsed.y},legend:{position:"bottom",align:"start",labels:{boxWidth:10,boxHeight:10,usePointStyle:!0,padding:24}},title:{text:"Top 10 requests per second in the last 6 hours",position:"top",align:"start",display:!0,font:{size:16,weight:"400"},color:e.palette.text.primary,padding:{bottom:32}}},scales:{y:{type:"linear",title:{display:!0,text:"Requests per second",color:e.palette.text.secondary},suggestedMin:0,ticks:{precision:0,color:e.palette.text.secondary},grid:{color:e.palette.divider,borderColor:e.palette.divider}},x:{type:"time",time:{unit:"minute"},grid:{display:!0,color:e.palette.divider,borderColor:e.palette.divider},ticks:{callback:(a,i,r)=>u(r[i].value*1e3,t.locale)}}}});class ${constructor(t){s(this,"items");s(this,"picked",new Map);this.items=new D(t)}pick(t){return this.picked.has(t)||this.picked.set(t,this.items.next()),this.picked.get(t)}}const z=(e,t)=>{var a;if((a=t==null?void 0:t.data)!=null&&a.result){const i=new $([e.palette.success,e.palette.error,e.palette.primary,e.palette.warning]);return t.data.result.map((r,x)=>{var c,d;const n=g((c=r.metric)==null?void 0:c.endpoint),y=g((d=r.metric)==null?void 0:d.appName),l=i.pick(n),b=r.values||[];return{label:`${n}: ${y}`,borderColor:l.main,backgroundColor:l.main,data:H(b,j=>Number.parseFloat(j)),elements:{point:{radius:4,pointStyle:m[x%m.length]},line:{borderDash:[8,4]}}}})}return[]},K=()=>{const{locationSettings:e}=h(),{metrics:t}=W(),a=C(),i=p.useMemo(()=>O(a,e),[a,e]);w("Network - Traffic");const r=p.useMemo(()=>({datasets:z(a,t)}),[a,t,e]);return o.jsx(v,{condition:r.datasets.length===0,show:o.jsxs(P,{severity:"warning",children:["No data available.",o.jsx(B,{})]}),elseShow:o.jsx(S,{sx:{display:"grid",gap:4},children:o.jsx("div",{style:{height:400},children:o.jsx(N,{data:r,options:i,"aria-label":"An instance metrics line chart with two lines: requests per second for admin API and requests per second for client API"})})})})};I.register(R,A,M,T,q,E,L,_);export{K as NetworkTraffic,K as default};
@@ -0,0 +1 @@
1
+ import{s as c,bq as E,j as e,M as d,d8 as q,jT as f,ba as y,b7 as v,cm as B,r as A,b9 as I,cV as F,h as M,C as p,R as x,L as j,jp as P,ji as _,jj as k,jk as N,jl as $,jm as z,jn as H,jo as O}from"./index-g9pKMnOR.js";import{a as W}from"./formatTickValue-CqTJlzJZ.js";import{u as Y,a as G,B as V,S as J,T as K,P as Q,n as X,g as Z}from"./networkTrafficUsageHighlightPlugin-Dmm54dMG.js";import{p as ee,c as l}from"./LazyAdminExport-B8GV3V8t.js";import"./RoleCell-D5skjCJn.js";import"./useApiTokens-D1XvAIIA.js";import"./PercentageDonut-B2OwM0Er.js";const S=c("article")(({theme:s})=>({minWidth:"200px",border:`2px solid ${s.palette.divider}`,borderRadius:s.shape.borderRadiusLarge,padding:s.spacing(3),display:"flex",flexDirection:"column",gap:s.spacing(2)})),T=c("h3")(({theme:s})=>({margin:0,fontSize:s.typography.body1.fontSize})),w=c("dl")(({theme:s})=>({display:"flex",flexDirection:"column",gap:s.spacing(2.5),padding:0,margin:0})),a=c("div")(({theme:s})=>({display:"flex",flexFlow:"row wrap",justifyContent:"space-between",gap:s.spacing(1,3),fontSize:s.typography.body2.fontSize,color:s.palette.text.secondary,"& dd":{margin:0,color:s.palette.text.primary}})),se=s=>{const r=n=>n.toLocaleString("en-US",{month:"short",year:"numeric"});if(s.grouping==="monthly"){const n=new Date,t=f(n,s.monthsBack),o=f(n,1);return`Average requests from ${r(t)} to ${r(o)}`}return`Requests used in ${r(ee(s.month))}`},ne=({period:s,usageTotal:r,includedTraffic:n,purchasedTraffic:t,currentMonth:o})=>{const{locationSettings:i}=E();return e.jsxs(S,{children:[e.jsx(T,{children:"Number of requests to Unleash"}),e.jsxs(w,{children:[e.jsxs(a,{children:[e.jsx("dt",{children:se(s)}),e.jsx("dd",{children:e.jsxs(d,{color:n>0?r<=n?"success":"error":"neutral",children:[r.toLocaleString(i.locale??"en-US")," ","requests"]})})]}),n>0&&e.jsxs(a,{children:[e.jsx("dt",{children:"Included in your plan"}),e.jsxs("dd",{children:[n.toLocaleString("en-US")," requests"]})]}),t>0&&o&&e.jsxs(a,{children:[e.jsx("dt",{children:"Additional traffic purchased"}),e.jsxs("dd",{children:[t.toLocaleString("en-US")," requests"]})]}),n>0&&o&&e.jsxs(a,{children:[e.jsx("dt",{children:"Total traffic available"}),e.jsxs("dd",{children:[(n+t).toLocaleString("en-US")," ","requests"]})]})]})]})},te=({overages:s,overageCost:r,estimatedMonthlyCost:n})=>e.jsxs(S,{children:[e.jsx(T,{children:"Accrued traffic charges"}),e.jsxs(w,{children:[e.jsxs(a,{children:[e.jsxs("dt",{children:["Request overages this month (",e.jsx(q,{href:"https://www.getunleash.io/pricing",children:"pricing"}),")"]}),e.jsxs("dd",{children:[s.toLocaleString()," requests"]})]}),e.jsxs(a,{children:[e.jsx("dt",{children:"Accrued traffic charges"}),e.jsx("dd",{children:e.jsxs(d,{color:"secondary",children:[r," USD"]})})]}),n>0&&e.jsxs(a,{children:[e.jsx("dt",{children:"Estimated charges based on current usage"}),e.jsx("dd",{children:e.jsxs(d,{color:"secondary",children:[n," USD"]})})]})]})]}),re=53,oe=259,m=1e6,ae=(s,r)=>!s||r==="pay-as-you-go"?re:oe;function ie(s,r,n){return s===void 0?ae(r,n):s}function ce(s){return s===void 0?0:s}const le=()=>{const{isEnterprise:s,uiConfig:r}=y(),n=v("/api/instance/trafficBundles"),{data:t,error:o,mutate:i}=B(n,de);return{trafficBundles:A.useMemo(()=>({includedTraffic:ie(t==null?void 0:t.includedTraffic,s(),r.billing)*m,purchasedTraffic:ce(t==null?void 0:t.purchasedTraffic)*m}),[t]),loading:!o&&!t,refetch:i}},de=s=>fetch(s).then(I("configuration")).then(r=>r.json()),ue=c("div")(({theme:s})=>({display:"grid",gridTemplateColumns:"repeat(auto-fit, minmax(200px, max-content))",flex:1,gap:s.spacing(2,4)})),ye=()=>{F("Network - Data Usage");const s=M("estimateTrafficDataCost"),{isOss:r}=y(),{trafficBundles:n}=le(),t=n.includedTraffic+n.purchasedTraffic,{chartDataSelection:o,setChartDataSelection:i,options:u}=Y(t),{chartData:C,usageTotal:h,overageCost:g,estimatedMonthlyCost:b,requestSummaryUsage:L}=G(t,o),U=o.grouping==="daily"&&o.month===l&&t>0&&h-t>0&&s,D=o.grouping==="daily"&&o.month===l,R=(o.grouping==="monthly"||o.month===l)&&t>0&&g>0;return e.jsx(p,{condition:r(),show:e.jsx(x,{severity:"warning",children:"Not enabled."}),elseShow:e.jsxs(e.Fragment,{children:[e.jsx(p,{condition:R,show:e.jsxs(x,{severity:"warning",sx:{mb:4},children:[e.jsx(V,{children:"Heads up!"})," You are currently consuming more requests than your plan includes and will be billed according to our terms. Please see"," ",e.jsx(j,{to:"https://www.getunleash.io/pricing",children:"this page"})," ","for more information. In order to reduce your traffic consumption, you may configure an"," ",e.jsx(j,{to:"https://docs.getunleash.io/unleash-edge",children:"Unleash Edge instance"})," ","in your own datacenter."]})}),e.jsxs(J,{children:[e.jsxs(K,{children:[e.jsxs(ue,{children:[e.jsx(ne,{period:o,usageTotal:L,includedTraffic:n.includedTraffic,purchasedTraffic:n.purchasedTraffic,currentMonth:D}),U&&e.jsx(te,{overageCost:g,overages:h-t,estimatedMonthlyCost:b})]}),e.jsx(Q,{selectedPeriod:o,setPeriod:i})]}),e.jsx(P,{data:C,plugins:[X],options:u,"aria-label":Z(o)})]})]})})};_.register(W,k,N,$,z,H,O);export{ye as default};
@@ -1 +1 @@
1
- import{s as l,b as p,j as o}from"./index-B33kIVre.js";const x=l("div")(()=>({display:"flex",alignItems:"center",justifyContent:"center",position:"relative",margin:0})),y=l("div",{shouldForwardProp:e=>e!=="color"})(({theme:e,color:r})=>({position:"absolute",top:"50%",left:"50%",transform:"translate(-50%, -50%)",color:r,fontSize:e.fontSizes.smallerBody,margin:0})),u=({percentage:e,size:r="4rem",disabled:c=!1,children:d,strokeRatio:h=.2})=>{const s=p(),m={display:"block",borderRadius:"100%",transform:"rotate(-90deg)",height:r,width:r},t=100/(2*Math.PI),n=2*t,a=n*h,i=c?s.palette.neutral.border:s.palette.primary.light;return o.jsxs(x,{children:[o.jsxs("svg",{viewBox:`0 0 ${n} ${n}`,style:m,"aria-hidden":!0,children:[o.jsx("circle",{r:t,cx:t,cy:t,fill:"none",stroke:s.palette.background.elevation2,strokeWidth:a}),o.jsx("circle",{r:t,cx:t,cy:t,fill:"none",stroke:i,strokeWidth:a,strokeDasharray:`${e} 100`})]}),o.jsx(y,{color:i,children:d})]})};export{u as P};
1
+ import{s as l,b as p,j as o}from"./index-g9pKMnOR.js";const x=l("div")(()=>({display:"flex",alignItems:"center",justifyContent:"center",position:"relative",margin:0})),y=l("div",{shouldForwardProp:e=>e!=="color"})(({theme:e,color:r})=>({position:"absolute",top:"50%",left:"50%",transform:"translate(-50%, -50%)",color:r,fontSize:e.fontSizes.smallerBody,margin:0})),u=({percentage:e,size:r="4rem",disabled:c=!1,children:d,strokeRatio:h=.2})=>{const s=p(),m={display:"block",borderRadius:"100%",transform:"rotate(-90deg)",height:r,width:r},t=100/(2*Math.PI),n=2*t,a=n*h,i=c?s.palette.neutral.border:s.palette.primary.light;return o.jsxs(x,{children:[o.jsxs("svg",{viewBox:`0 0 ${n} ${n}`,style:m,"aria-hidden":!0,children:[o.jsx("circle",{r:t,cx:t,cy:t,fill:"none",stroke:s.palette.background.elevation2,strokeWidth:a}),o.jsx("circle",{r:t,cx:t,cy:t,fill:"none",stroke:i,strokeWidth:a,strokeDasharray:`${e} 100`})]}),o.jsx(y,{color:i,children:d})]})};export{u as P};
@@ -1,4 +1,4 @@
1
- import{g as Db,iY as Fb,dy as Bb,s as Ub,r as Ya,U as Vb,j as pu}from"./index-B33kIVre.js";import{L as Hb,G as Jb,I as Kb,J as Wb,K as Gd,M as Gb,N as Qb,V as a1,O as Yb,P as Xb,A as bi,Q as kc,R as s1,T as c1,H as Zb,B as Ua,o as l1,E as Ji,z as Qd,C as ej,U as tj,b as nj,e as rj,g as oj,i as ij,j as aj,k as sj,m as cj,n as lj,p as uj,q as fj,r as dj,t as pj,u as vj,v as mj,w as hj,x as gj,c as yj,d as bj,s as jj,h as $j,f as wj,a as xj,l as Sj,W as Cj,X as kj,y as _j,Y as Ej,Z as Oj,_ as Mj,$ as Va,a0 as Pj,a1 as Tj,a2 as Rj,a3 as Nj}from"./index-Bj8wwcOa.js";function xn(t){return Array.isArray(t)}function In(t){return t!==null&&typeof t=="object"&&(t.constructor===void 0||t.constructor.name==="Object")}function u1(t){return t&&typeof t=="object"?t.op==="add":!1}function f1(t){return t&&typeof t=="object"?t.op==="remove":!1}function vf(t){return t&&typeof t=="object"?t.op==="replace":!1}function vu(t){return t&&typeof t=="object"?t.op==="copy":!1}function la(t){return t&&typeof t=="object"?t.op==="move":!1}function Aj(t,e){return JSON.stringify(t)===JSON.stringify(e)}function Ij(t,e){return t===e}function d1(t){return t.slice(0,t.length-1)}function zj(t){return t[t.length-1]}function qj(t,e){let n=arguments.length>2&&arguments[2]!==void 0?arguments[2]:Ij;if(t.length<e.length)return!1;for(let r=0;r<e.length;r++)if(!n(t[r],e[r]))return!1;return!0}function p1(t){return typeof t=="object"&&t!==null}function mf(t){if(xn(t)){const e=t.slice();return Object.getOwnPropertySymbols(t).forEach(n=>{e[n]=t[n]}),e}else if(In(t)){const e={...t};return Object.getOwnPropertySymbols(t).forEach(n=>{e[n]=t[n]}),e}else return t}function hf(t,e,n){if(t[e]===n)return t;{const r=mf(t);return r[e]=n,r}}function We(t,e){let n=t,r=0;for(;r<e.length;)In(n)?n=n[e[r]]:xn(n)?n=n[parseInt(e[r])]:n=void 0,r++;return n}function Yr(t,e,n){let r=arguments.length>3&&arguments[3]!==void 0?arguments[3]:!1;if(e.length===0)return n;const o=e[0],i=Yr(t?t[o]:void 0,e.slice(1),n,r);if(In(t)||xn(t))return hf(t,o,i);if(r){const a=Lj.test(o)?[]:{};return a[o]=i,a}else throw new Error("Path does not exist")}const Lj=/^\d+$/;function v1(t,e,n){if(e.length===0)return n(t);if(!p1(t))throw new Error("Path doesn't exist");const r=e[0],o=v1(t[r],e.slice(1),n);return hf(t,r,o)}function gf(t,e){if(e.length===0)return t;if(!p1(t))throw new Error("Path does not exist");if(e.length===1){const o=e[0];if(o in t){const i=mf(t);return xn(i)&&i.splice(parseInt(o),1),In(i)&&delete i[o],i}else return t}const n=e[0],r=gf(t[n],e.slice(1));return hf(t,n,r)}function yf(t,e,n){const r=e.slice(0,e.length-1),o=e[e.length-1];return v1(t,r,i=>{if(!Array.isArray(i))throw new TypeError("Array expected at path "+JSON.stringify(r));const a=mf(i);return a.splice(parseInt(o),0,n),a})}function Lr(t,e){return t===void 0?!1:e.length===0?!0:t===null?!1:Lr(t[e[0]],e.slice(1))}function ao(t){const e=t.split("/");return e.shift(),e.map(n=>n.replace(/~1/g,"/").replace(/~0/g,"~"))}function Be(t){return t.map(bf).join("")}function bf(t){return"/"+String(t).replace(/~/g,"~0").replace(/\//g,"~1")}function Yd(t,e){return t+bf(e)}function nl(t,e){return t.startsWith(e)&&(t.length===e.length||t[e.length]==="/")}function to(t,e,n){let r=t;for(let o=0;o<e.length;o++){Kj(e[o]);let i=e[o];if(n&&n.before){const l=n.before(r,i);if(l!==void 0){if(l.document!==void 0&&(r=l.document),l.json!==void 0)throw new Error('Deprecation warning: returned object property ".json" has been renamed to ".document"');l.operation!==void 0&&(i=l.operation)}}const a=r,s=yo(r,i.path);if(i.op==="add")r=Bj(r,s,i.value);else if(i.op==="remove")r=Fj(r,s);else if(i.op==="replace")r=Dj(r,s,i.value);else if(i.op==="copy")r=Uj(r,s,mu(i.from));else if(i.op==="move")r=Vj(r,s,mu(i.from));else if(i.op==="test")Hj(r,s,i.value);else throw new Error("Unknown JSONPatch operation "+JSON.stringify(i));if(n&&n.after){const l=n.after(r,i,a);l!==void 0&&(r=l)}}return r}function Dj(t,e,n){return Yr(t,e,n)}function Fj(t,e){return gf(t,e)}function Bj(t,e,n){return Os(t,e)?yf(t,e,n):Yr(t,e,n)}function Uj(t,e,n){const r=We(t,n);if(Os(t,e))return yf(t,e,r);{const o=We(t,n);return Yr(t,e,o)}}function Vj(t,e,n){const r=We(t,n),o=gf(t,n);return Os(o,e)?yf(o,e,r):Yr(o,e,r)}function Hj(t,e,n){if(n===void 0)throw new Error(`Test failed: no value provided (path: "${Be(e)}")`);if(!Lr(t,e))throw new Error(`Test failed: path not found (path: "${Be(e)}")`);const r=We(t,e);if(!Aj(r,n))throw new Error(`Test failed, value differs (path: "${Be(e)}")`)}function Os(t,e){if(e.length===0)return!1;const n=We(t,d1(e));return Array.isArray(n)}function Jj(t,e){if(zj(e)!=="-")return e;const n=d1(e),r=We(t,n);return n.concat(r.length)}function Kj(t){if(!["add","remove","replace","copy","move","test"].includes(t.op))throw new Error("Unknown JSONPatch op "+JSON.stringify(t.op));if(typeof t.path!="string")throw new Error('Required property "path" missing or not a string in operation '+JSON.stringify(t));if((t.op==="copy"||t.op==="move")&&typeof t.from!="string")throw new Error('Required property "from" missing or not a string in operation '+JSON.stringify(t))}function yo(t,e){return Jj(t,ao(e))}function mu(t){return ao(t)}function m1(t,e,n){let r=[];return to(t,e,{before:(i,a)=>{let s;const l=yo(i,a.path);if(a.op==="add")s=y1(i,l);else if(a.op==="remove")s=g1(i,l);else if(a.op==="replace")s=h1(i,l);else if(a.op==="copy")s=Wj(i,l);else if(a.op==="move")s=Gj(i,l,mu(a.from));else if(a.op==="test")s=[];else throw new Error("Unknown JSONPatch operation "+JSON.stringify(a));let c;if(n&&n.before){const u=n.before(i,a,s);if(u&&u.revertOperations&&(s=u.revertOperations),u&&u.document&&(c=u.document),u&&u.json)throw new Error('Deprecation warning: returned object property ".json" has been renamed to ".document"')}if(r=s.concat(r),c!==void 0)return{document:c}}}),r}function h1(t,e){return[{op:"replace",path:Be(e),value:We(t,e)}]}function g1(t,e){return[{op:"add",path:Be(e),value:We(t,e)}]}function y1(t,e){return Os(t,e)||!Lr(t,e)?[{op:"remove",path:Be(e)}]:h1(t,e)}function Wj(t,e){return y1(t,e)}function Gj(t,e,n){if(e.length<n.length&&qj(n,e))return[{op:"replace",path:Be(e),value:t}];const r={op:"move",from:Be(e),path:Be(n)};return!Os(t,e)&&Lr(t,e)?[r,...g1(t,e)]:[r]}var _c={},Xd={b:"\b",f:"\f",n:`
1
+ import{g as Db,jb as Fb,dx as Bb,s as Ub,r as Ya,U as Vb,j as pu}from"./index-g9pKMnOR.js";import{L as Hb,G as Jb,I as Kb,J as Wb,K as Gd,M as Gb,N as Qb,V as a1,O as Yb,P as Xb,A as bi,Q as kc,R as s1,T as c1,H as Zb,B as Ua,o as l1,E as Ji,z as Qd,C as ej,U as tj,b as nj,e as rj,g as oj,i as ij,j as aj,k as sj,m as cj,n as lj,p as uj,q as fj,r as dj,t as pj,u as vj,v as mj,w as hj,x as gj,c as yj,d as bj,s as jj,h as $j,f as wj,a as xj,l as Sj,W as Cj,X as kj,y as _j,Y as Ej,Z as Oj,_ as Mj,$ as Va,a0 as Pj,a1 as Tj,a2 as Rj,a3 as Nj}from"./index-Bj8wwcOa.js";function xn(t){return Array.isArray(t)}function In(t){return t!==null&&typeof t=="object"&&(t.constructor===void 0||t.constructor.name==="Object")}function u1(t){return t&&typeof t=="object"?t.op==="add":!1}function f1(t){return t&&typeof t=="object"?t.op==="remove":!1}function vf(t){return t&&typeof t=="object"?t.op==="replace":!1}function vu(t){return t&&typeof t=="object"?t.op==="copy":!1}function la(t){return t&&typeof t=="object"?t.op==="move":!1}function Aj(t,e){return JSON.stringify(t)===JSON.stringify(e)}function Ij(t,e){return t===e}function d1(t){return t.slice(0,t.length-1)}function zj(t){return t[t.length-1]}function qj(t,e){let n=arguments.length>2&&arguments[2]!==void 0?arguments[2]:Ij;if(t.length<e.length)return!1;for(let r=0;r<e.length;r++)if(!n(t[r],e[r]))return!1;return!0}function p1(t){return typeof t=="object"&&t!==null}function mf(t){if(xn(t)){const e=t.slice();return Object.getOwnPropertySymbols(t).forEach(n=>{e[n]=t[n]}),e}else if(In(t)){const e={...t};return Object.getOwnPropertySymbols(t).forEach(n=>{e[n]=t[n]}),e}else return t}function hf(t,e,n){if(t[e]===n)return t;{const r=mf(t);return r[e]=n,r}}function We(t,e){let n=t,r=0;for(;r<e.length;)In(n)?n=n[e[r]]:xn(n)?n=n[parseInt(e[r])]:n=void 0,r++;return n}function Yr(t,e,n){let r=arguments.length>3&&arguments[3]!==void 0?arguments[3]:!1;if(e.length===0)return n;const o=e[0],i=Yr(t?t[o]:void 0,e.slice(1),n,r);if(In(t)||xn(t))return hf(t,o,i);if(r){const a=Lj.test(o)?[]:{};return a[o]=i,a}else throw new Error("Path does not exist")}const Lj=/^\d+$/;function v1(t,e,n){if(e.length===0)return n(t);if(!p1(t))throw new Error("Path doesn't exist");const r=e[0],o=v1(t[r],e.slice(1),n);return hf(t,r,o)}function gf(t,e){if(e.length===0)return t;if(!p1(t))throw new Error("Path does not exist");if(e.length===1){const o=e[0];if(o in t){const i=mf(t);return xn(i)&&i.splice(parseInt(o),1),In(i)&&delete i[o],i}else return t}const n=e[0],r=gf(t[n],e.slice(1));return hf(t,n,r)}function yf(t,e,n){const r=e.slice(0,e.length-1),o=e[e.length-1];return v1(t,r,i=>{if(!Array.isArray(i))throw new TypeError("Array expected at path "+JSON.stringify(r));const a=mf(i);return a.splice(parseInt(o),0,n),a})}function Lr(t,e){return t===void 0?!1:e.length===0?!0:t===null?!1:Lr(t[e[0]],e.slice(1))}function ao(t){const e=t.split("/");return e.shift(),e.map(n=>n.replace(/~1/g,"/").replace(/~0/g,"~"))}function Be(t){return t.map(bf).join("")}function bf(t){return"/"+String(t).replace(/~/g,"~0").replace(/\//g,"~1")}function Yd(t,e){return t+bf(e)}function nl(t,e){return t.startsWith(e)&&(t.length===e.length||t[e.length]==="/")}function to(t,e,n){let r=t;for(let o=0;o<e.length;o++){Kj(e[o]);let i=e[o];if(n&&n.before){const l=n.before(r,i);if(l!==void 0){if(l.document!==void 0&&(r=l.document),l.json!==void 0)throw new Error('Deprecation warning: returned object property ".json" has been renamed to ".document"');l.operation!==void 0&&(i=l.operation)}}const a=r,s=yo(r,i.path);if(i.op==="add")r=Bj(r,s,i.value);else if(i.op==="remove")r=Fj(r,s);else if(i.op==="replace")r=Dj(r,s,i.value);else if(i.op==="copy")r=Uj(r,s,mu(i.from));else if(i.op==="move")r=Vj(r,s,mu(i.from));else if(i.op==="test")Hj(r,s,i.value);else throw new Error("Unknown JSONPatch operation "+JSON.stringify(i));if(n&&n.after){const l=n.after(r,i,a);l!==void 0&&(r=l)}}return r}function Dj(t,e,n){return Yr(t,e,n)}function Fj(t,e){return gf(t,e)}function Bj(t,e,n){return Os(t,e)?yf(t,e,n):Yr(t,e,n)}function Uj(t,e,n){const r=We(t,n);if(Os(t,e))return yf(t,e,r);{const o=We(t,n);return Yr(t,e,o)}}function Vj(t,e,n){const r=We(t,n),o=gf(t,n);return Os(o,e)?yf(o,e,r):Yr(o,e,r)}function Hj(t,e,n){if(n===void 0)throw new Error(`Test failed: no value provided (path: "${Be(e)}")`);if(!Lr(t,e))throw new Error(`Test failed: path not found (path: "${Be(e)}")`);const r=We(t,e);if(!Aj(r,n))throw new Error(`Test failed, value differs (path: "${Be(e)}")`)}function Os(t,e){if(e.length===0)return!1;const n=We(t,d1(e));return Array.isArray(n)}function Jj(t,e){if(zj(e)!=="-")return e;const n=d1(e),r=We(t,n);return n.concat(r.length)}function Kj(t){if(!["add","remove","replace","copy","move","test"].includes(t.op))throw new Error("Unknown JSONPatch op "+JSON.stringify(t.op));if(typeof t.path!="string")throw new Error('Required property "path" missing or not a string in operation '+JSON.stringify(t));if((t.op==="copy"||t.op==="move")&&typeof t.from!="string")throw new Error('Required property "from" missing or not a string in operation '+JSON.stringify(t))}function yo(t,e){return Jj(t,ao(e))}function mu(t){return ao(t)}function m1(t,e,n){let r=[];return to(t,e,{before:(i,a)=>{let s;const l=yo(i,a.path);if(a.op==="add")s=y1(i,l);else if(a.op==="remove")s=g1(i,l);else if(a.op==="replace")s=h1(i,l);else if(a.op==="copy")s=Wj(i,l);else if(a.op==="move")s=Gj(i,l,mu(a.from));else if(a.op==="test")s=[];else throw new Error("Unknown JSONPatch operation "+JSON.stringify(a));let c;if(n&&n.before){const u=n.before(i,a,s);if(u&&u.revertOperations&&(s=u.revertOperations),u&&u.document&&(c=u.document),u&&u.json)throw new Error('Deprecation warning: returned object property ".json" has been renamed to ".document"')}if(r=s.concat(r),c!==void 0)return{document:c}}}),r}function h1(t,e){return[{op:"replace",path:Be(e),value:We(t,e)}]}function g1(t,e){return[{op:"add",path:Be(e),value:We(t,e)}]}function y1(t,e){return Os(t,e)||!Lr(t,e)?[{op:"remove",path:Be(e)}]:h1(t,e)}function Wj(t,e){return y1(t,e)}function Gj(t,e,n){if(e.length<n.length&&qj(n,e))return[{op:"replace",path:Be(e),value:t}];const r={op:"move",from:Be(e),path:Be(n)};return!Os(t,e)&&Lr(t,e)?[r,...g1(t,e)]:[r]}var _c={},Xd={b:"\b",f:"\f",n:`
2
2
  `,r:"\r",t:" ",'"':'"',"/":"/","\\":"\\"},Qj=97;_c.parse=function(t,e,n){var r={},o=0,i=0,a=0,s=n&&n.bigint&&typeof BigInt<"u";return{data:l("",!0),pointers:r};function l(W,U){c();var te;b(W,"value");var F=m();switch(F){case"t":v("rue"),te=!0;break;case"f":v("alse"),te=!1;break;case"n":v("ull"),te=null;break;case'"':te=u();break;case"[":te=d(W);break;case"{":te=p(W);break;default:g(),"-0123456789".indexOf(F)>=0?te=f():R()}return b(W,"valueEnd"),c(),U&&a<t.length&&R(),te}function c(){e:for(;a<t.length;){switch(t[a]){case" ":i++;break;case" ":i+=4;break;case"\r":i=0;break;case`
3
3
  `:i=0,o++;break;default:break e}a++}}function u(){for(var W="",U;U=m(),U!='"';)U=="\\"?(U=m(),U in Xd?W+=Xd[U]:U=="u"?W+=h():D()):W+=U;return W}function f(){var W="",U=!0;t[a]=="-"&&(W+=m()),W+=t[a]=="0"?m():y(),t[a]=="."&&(W+=m()+y(),U=!1),(t[a]=="e"||t[a]=="E")&&(W+=m(),(t[a]=="+"||t[a]=="-")&&(W+=m()),W+=y(),U=!1);var te=+W;return s&&U&&(te>Number.MAX_SAFE_INTEGER||te<Number.MIN_SAFE_INTEGER)?BigInt(W):te}function d(W){c();var U=[],te=0;if(m()=="]")return U;for(g();;){var F=W+"/"+te;U.push(l(F)),c();var J=m();if(J=="]")break;J!=","&&D(),c(),te++}return U}function p(W){c();var U={};if(m()=="}")return U;for(g();;){var te=w();m()!='"'&&D();var F=u(),J=W+"/"+hu(F);S(J,"key",te),b(J,"keyEnd"),c(),m()!=":"&&D(),c(),U[F]=l(J),c();var H=m();if(H=="}")break;H!=","&&D(),c()}return U}function v(W){for(var U=0;U<W.length;U++)m()!==W[U]&&D()}function m(){Z();var W=t[a];return a++,i++,W}function g(){a--,i--}function h(){for(var W=4,U=0;W--;){U<<=4;var te=m().toLowerCase();te>="a"&&te<="f"?U+=te.charCodeAt()-Qj+10:te>="0"&&te<="9"?U+=+te:D()}return String.fromCharCode(U)}function y(){for(var W="";t[a]>="0"&&t[a]<="9";)W+=m();if(W.length)return W;Z(),R()}function b(W,U){S(W,U,w())}function S(W,U,te){r[W]=r[W]||{},r[W][U]=te}function w(){return{line:o,column:i,pos:a}}function R(){throw new SyntaxError("Unexpected token "+t[a]+" in JSON at position "+a)}function D(){g(),R()}function Z(){if(a>=t.length)throw new SyntaxError("Unexpected end of JSON input")}};_c.stringify=function(t,e,n){if(!Js(t))return;var r=0,o,i,a=typeof n=="object"?n.space:n;switch(typeof a){case"number":var s=a>10?10:a<0?0:Math.floor(a);a=s&&S(s," "),o=s,i=s;break;case"string":a=a.slice(0,10),o=0,i=0;for(var l=0;l<a.length;l++){var c=a[l];switch(c){case" ":i++;break;case" ":i+=4;break;case"\r":i=0;break;case`
4
4
  `:i=0,r++;break;default:throw new Error("whitespace characters not allowed in JSON")}o++}break;default:a=void 0}var u="",f={},d=0,p=0,v=0,m=n&&n.es6&&typeof Map=="function";return g(t,0,""),{json:u,pointers:f};function g(w,R,D){switch(b(D,"value"),typeof w){case"number":case"bigint":case"boolean":h(""+w);break;case"string":h(Ks(w));break;case"object":w===null?h("null"):typeof w.toJSON=="function"?h(Ks(w.toJSON())):Array.isArray(w)?Z():m?w.constructor.BYTES_PER_ELEMENT?Z():w instanceof Map?U():w instanceof Set?U(!0):W():W()}b(D,"valueEnd");function Z(){if(w.length){h("[");for(var te=R+1,F=0;F<w.length;F++){F&&h(","),y(te);var J=Js(w[F])?w[F]:null,H=D+"/"+F;g(J,te,H)}y(R),h("]")}else h("[]")}function W(){var te=Object.keys(w);if(te.length){h("{");for(var F=R+1,J=0;J<te.length;J++){var H=te[J],X=w[H];if(Js(X)){J&&h(",");var K=D+"/"+hu(H);y(F),b(K,"key"),h(Ks(H)),b(K,"keyEnd"),h(":"),a&&h(" "),g(X,F,K)}}y(R),h("}")}else h("{}")}function U(te){if(w.size){h("{");for(var F=R+1,J=!0,H=w.entries(),X=H.next();!X.done;){var K=X.value,Q=K[0],M=te?!0:K[1];if(Js(M)){J||h(","),J=!1;var A=D+"/"+hu(Q);y(F),b(A,"key"),h(Ks(Q)),b(A,"keyEnd"),h(":"),a&&h(" "),g(M,F,A)}X=H.next()}y(R),h("}")}else h("{}")}}function h(w){p+=w.length,v+=w.length,u+=w}function y(w){if(a){for(u+=`
@@ -0,0 +1 @@
1
+ import{s as c,ba as k,f as D,j as e,R as L,y as M,D as $,fR as S,B as f,dj as z,aj as ne,du as se,am as oe,C as b,ax as re,an as ae,aw as G,d8 as P,br as ie,eH as le,bf as ce,j0 as de,L as q,ex as ue,ai as A,cc as I,r as d,ey as E,at as he,F as pe,H as xe,ah as K,fu as me,al as N,el as je,eO as ge,aa as C,ab as fe,cG as V,b1 as ye,aV as Y,i as be,I as ke,G as Te,k as Ce,ay as Q,c1 as w,hT as Ae,dO as ve,dN as Ee,T as R,e5 as Ne,e1 as we,fg as Se,d$ as Ie,fh as Re,gT as De,cm as Le,b7 as X,b9 as J,b8 as Pe,b6 as Be,b2 as _e,dX as Fe}from"./index-g9pKMnOR.js";import{u as Oe}from"./useApiTokens-D1XvAIIA.js";const Ue=c("div")(({theme:t})=>({display:"grid",gridTemplateColumns:"auto auto 1fr",gridAutoRows:"min-content",alignItems:"center",gap:t.spacing(1),marginTop:t.spacing(1.5)})),g=f,He=()=>{const{uiConfig:t}=k(),{setToastData:n}=D(),s=a=>()=>{z(a),n({type:"success",text:"Copied to clipboard"})},o=`${t.unleashUrl}/api/`,r=`${t.unleashUrl}/api/frontend/`;return e.jsxs(L,{severity:"info",children:[e.jsxs("p",{children:["Read the"," ",e.jsx("a",{href:"https://docs.getunleash.io/sdks",target:"_blank",rel:"noreferrer",children:"SDK overview"})," ","to connect Unleash to your application. Please note it can take up to ",e.jsx("strong",{children:"1 minute"})," before a new API key is activated."]}),e.jsxs(Ue,{children:[e.jsx(g,{children:e.jsx("strong",{children:"CLIENT API URL: "})}),e.jsx(g,{children:e.jsx("pre",{style:{display:"inline"},children:o})}),e.jsx(g,{children:e.jsx(M,{title:"Copy URL",arrow:!0,children:e.jsx($,{onClick:s(o),size:"small",children:e.jsx(S,{})})})}),e.jsx(g,{children:e.jsx("strong",{children:"FRONTEND API URL: "})}),e.jsx(g,{children:e.jsx("pre",{style:{display:"inline"},children:r})}),e.jsx(g,{children:e.jsx(M,{title:"Copy URL",arrow:!0,children:e.jsx($,{onClick:s(r),size:"small",children:e.jsx(S,{})})})})]})]})},Me=["Icon","createdAt","seenAt"],$e=["Icon","project","seenAt"],ft=({compact:t=!1,setHiddenColumns:n,columns:s,loading:o,rows:r,headerGroups:a,globalFilter:i,prepareRow:p})=>{const u=ne(se.breakpoints.down("xl"));return oe([{condition:u,columns:Me},{condition:t,columns:$e}],n,s),e.jsxs(e.Fragment,{children:[e.jsx(b,{condition:r.length>0,show:e.jsx(f,{sx:{mb:4},children:e.jsx(He,{})})}),e.jsx(f,{sx:{overflowX:"auto"},children:e.jsx(re,{value:i,children:e.jsx(ae,{rows:r,headerGroups:a,prepareRow:p})})}),e.jsx(b,{condition:r.length===0&&!o,show:e.jsx(b,{condition:(i==null?void 0:i.length)>0,show:e.jsxs(G,{children:["No tokens found matching “",i,"”"]}),elseShow:e.jsx(G,{children:e.jsxs("span",{children:["No tokens available. Read ",e.jsx(P,{href:"https://docs.getunleash.io/api-overview",target:"_blank",rel:"noreferrer",children:"API How-to guides"})," "," to learn more."]})})})})]})},Ge=(t,n)=>{const s=n>=t;return{limitReached:s,limitMessage:s?`You have reached the limit of ${t} API tokens`:void 0}},yt=({path:t,permission:n,project:s})=>{const o=ie(),{tokens:r,loading:a}=Oe(),{uiConfig:i}=k(),{limitReached:p,limitMessage:u}=Ge(i.resourceLimits.apiTokens,r.length);return e.jsx(le,{Icon:ce,onClick:()=>o(t),"data-testid":de,permission:n,projectId:s,maxWidth:"700px",disabled:a||p,tooltipProps:{title:u},children:"New API token"})},Ke=c(q)(({theme:t})=>({textDecoration:"none",color:t.palette.links,"&:hover, &:focus":{textDecoration:"underline"}})),We=c("div")({display:"flex",alignItems:"center"}),ze=({projects:t,project:n})=>{const{searchQuery:s}=ue(),o=t&&Array.isArray(t)&&t.length>1?t:[];if(o.length>0)return e.jsx(A,{children:e.jsx(I,{title:o.map((r,a)=>e.jsxs(d.Fragment,{children:[a>0&&", ",!r||r==="*"?e.jsx(E,{search:s,children:"*"}):e.jsx(Ke,{to:`/projects/${r}`,children:e.jsx(E,{search:s,children:r})})]},r)),placement:"bottom-start",arrow:!0,tabIndex:0,children:e.jsxs("span",{children:[`${o.length}`," projects"]})})});if(o.length===1&&o[0]!=="*"||n&&n!=="*"){const r=n||o[0];return e.jsx(he,{to:`/projects/${r}`,title:r})}return e.jsx(A,{children:e.jsx(I,{title:"ALL current and future projects.",placement:"bottom",arrow:!0,children:e.jsx(We,{children:e.jsx(E,{search:s,children:"*"})})})})};var B={},qe=xe;Object.defineProperty(B,"__esModule",{value:!0});var Z=B.default=void 0,Ve=qe(pe()),Ye=e,Qe=(0,Ve.default)((0,Ye.jsx)("path",{d:"M21 10h-8.35C11.83 7.67 9.61 6 7 6c-3.31 0-6 2.69-6 6s2.69 6 6 6c2.61 0 4.83-1.67 5.65-4H13l2 2 2-2 2 2 4-4.04L21 10zM7 15c-1.65 0-3-1.35-3-3s1.35-3 3-3 3 1.35 3 3-1.35 3-3 3z"}),"Key");Z=B.default=Qe;const Xe=({secret:t,project:n,projects:s})=>{const o=t!=null&&t.includes(":")?"v2":"v1",r=t==null?void 0:t.startsWith("*:"),a=s&&(s==null?void 0:s.length)>1||(s==null?void 0:s.length)===1&&s[0]!=="*"||n&&n!=="*";return o==="v2"&&!r&&!a},Je=({...t})=>Xe(t)?e.jsx(K,{icon:e.jsx(I,{title:e.jsxs("p",{children:["This is an orphaned token. All of its original projects have been deleted and it now has access to all current and future projects. You should stop using this token and delete it. Read more in"," ",e.jsx(P,{target:"_blank",rel:"noopener noreferrer",href:"https://github.com/Unleash/unleash/releases/tag/v6.1.0",children:"release notes"}),"."]}),placement:"bottom-start",arrow:!0,children:e.jsx(me,{"aria-label":"Orphaned token",color:"warning","data-testid":"orphaned-token-icon"})})}):e.jsx(K,{icon:e.jsx(Z,{color:"disabled"})}),bt=(t,n)=>{const s=d.useMemo(()=>({sortBy:[{id:"createdAt",desc:!0}]}),[]),o=d.useMemo(()=>[{id:"Icon",Cell:h=>e.jsx(Je,{secret:h.row.original.secret,project:h.row.original.project,projects:h.row.original.projects}),disableSortBy:!0,disableGlobalFilter:!0,width:50},{Header:"Token name",accessor:"tokenName",Cell:N,minWidth:35},{Header:"Type",accessor:"type",Cell:({value:h})=>e.jsx(N,{value:W[h.toLowerCase()].label,subtitle:W[h.toLowerCase()].title,subtitleTooltip:!0}),width:180},{Header:"Project",accessor:"project",Cell:h=>e.jsx(ze,{project:h.row.original.project,projects:h.row.original.projects}),width:160},{Header:"Environment",accessor:"environment",Cell:N,width:120},{Header:"Created",accessor:"createdAt",Cell:je,width:150,disableGlobalFilter:!0},{Header:"Last seen",accessor:"seenAt",Cell:ge,width:140,disableGlobalFilter:!0},{Header:"Actions",width:120,id:"Actions",align:"center",disableSortBy:!0,disableGlobalFilter:!0,Cell:n}],[]),{getTableProps:r,getTableBodyProps:a,headerGroups:i,rows:p,prepareRow:u,state:j,setGlobalFilter:m,setHiddenColumns:y}=C.useTable({columns:o,data:t,initialState:s,sortTypes:fe,autoResetHiddenColumns:!1,disableSortRemove:!0},C.useGlobalFilter,C.useSortBy,C.useFlexLayout);return{getTableProps:r,getTableBodyProps:a,headerGroups:i,rows:p,prepareRow:u,state:j,setGlobalFilter:m,setHiddenColumns:y,columns:o}},W={client:{label:"BACKEND",title:"Connect backend SDK or Unleash Edge"},backend:{label:"BACKEND",title:"Connect backend SDK or Unleash Edge"},frontend:{label:"FRONTEND",title:"Connect frontend SDK"},admin:{label:"ADMIN",title:"Full access for managing Unleash"}},kt=({token:t,project:n,permission:s,track:o})=>{const{setToastData:r}=D(),a=i=>{z(i)&&(r({type:"success",text:"Token copied to clipboard"}),o&&typeof o=="function"&&o())};return e.jsx(V,{permission:s,projectId:n,tooltipProps:{title:"Copy token",arrow:!0},onClick:()=>a(t.secret),size:"large",children:e.jsx(S,{})})},Ze=c("ul")({marginBottom:0}),Tt=({token:t,permission:n,onRemove:s,project:o})=>{const[r,a]=d.useState(!1),{setToastData:i,setToastApiError:p}=D(),u=async()=>{try{await s(),a(!1),i({type:"success",text:"API token removed"})}catch(j){p(be(j))}};return e.jsxs(e.Fragment,{children:[e.jsx(V,{permission:n,projectId:o,tooltipProps:{title:"Delete token",arrow:!0},onClick:()=>a(!0),size:"large",children:e.jsx(ye,{})}),e.jsx(Y,{open:r,onClick:u,onClose:()=>a(!1),title:"Confirm deletion",children:e.jsxs("div",{children:["Are you sure you want to delete the following API token?",e.jsx("br",{}),e.jsxs(Ze,{children:[e.jsxs("li",{children:[e.jsx("strong",{children:"name"}),":"," ",e.jsx("code",{children:t.tokenName})]}),e.jsxs("li",{children:[e.jsx("strong",{children:"type"}),": ",e.jsx("code",{children:t.type})]}),e.jsxs("li",{children:[e.jsx("strong",{children:"environment"}),":"," ",e.jsx("code",{children:t.environment})]})]})]})})]})},et=c("div")(()=>({maxWidth:"400px"})),tt=c("form")(()=>({display:"flex",flexDirection:"column",height:"100%"})),nt=c(ke)(({theme:t})=>({width:"100%",marginBottom:t.spacing(2)})),st=c(Te)(({theme:t})=>({marginBottom:t.spacing(2),minWidth:"400px",[t.breakpoints.down("sm")]:{minWidth:"379px"}})),ee=c("p")(({theme:t})=>({marginBottom:t.spacing(1)})),ot=c("label")(({theme:t})=>({marginBottom:t.spacing(1)})),rt=c(Ce)(({theme:t})=>({marginLeft:t.spacing(3)})),at=c(f)({marginTop:"auto",display:"flex",justifyContent:"flex-end"}),Ct=({children:t,actions:n,handleSubmit:s,handleCancel:o})=>{var i;const{uiConfig:r}=k(),a=!!((i=r==null?void 0:r.flags)!=null&&i.UNLEASH_CLOUD);return e.jsxs(tt,{onSubmit:s,children:[e.jsx(b,{condition:a,show:e.jsxs(L,{severity:"info",sx:{mb:4},children:["Please be aware of our"," ",e.jsx(P,{href:"https://www.getunleash.io/fair-use-policy",children:"fair use policy"}),"."]})}),t,e.jsxs(at,{children:[n,e.jsx(rt,{onClick:o,children:"Cancel"})]})]})};var x=(t=>(t.ADMIN="ADMIN",t.CLIENT="CLIENT",t.FRONTEND="FRONTEND",t))(x||{});const At=t=>{var O,U;const{environments:n}=Q(),s=(O=n==null?void 0:n.find(l=>l.enabled))==null?void 0:O.name,o=w(Ae,t),r=[{key:x.CLIENT,label:"Backend SDK",title:"Creates a backend token to connect a backend SDK or Unleash Edge",enabled:w(ve)||o},{key:x.FRONTEND,label:"Frontend SDK",title:"Creates a frontend token to connect a frontend SDK",enabled:w(Ee)||o}],a=(U=r.find(l=>l.enabled))==null?void 0:U.key,[i,p]=d.useState(""),[u,j]=d.useState(a||x.CLIENT),[m,y]=d.useState([t||"*"]),[h,te]=d.useState(m),[_,T]=d.useState(),[F,v]=d.useState({});return d.useEffect(()=>{T(u==="ADMIN"?"*":s)},[u,s]),{tokenName:i,type:u,apiTokenTypes:r,projects:m,environment:_,setTokenName:p,setTokenType:l=>{l==="ADMIN"?(j(x.ADMIN),te(m),y(["*"]),T("*")):(j(l),y(h),T(s))},setProjects:y,setEnvironment:T,getApiTokenPayload:()=>({tokenName:i,type:u,environment:_,projects:m}),isValid:()=>{const l={};return i||(l.tokenName="Token name is required"),m.length===0&&(l.projects="At least one project is required"),v(l),Object.keys(l).length===0},clearErrors:l=>{if(l){const H={...F};delete H[l],v(H)}else v({})},errors:F}},vt=({open:t,setOpen:n,closeConfirm:s,token:o,type:r})=>e.jsxs(Y,{open:t,setOpen:n,onClick:s,primaryButtonText:"Close",title:"New token created",children:[e.jsx(R,{variant:"body1",children:"Your new token has been created successfully."}),e.jsx(Ne,{token:o}),e.jsx(b,{condition:r===x.FRONTEND,show:e.jsxs(L,{sx:{mt:2},severity:"info",children:["By default, all ",x.FRONTEND," tokens may be used from any CORS origin. If you'd like to configure a strict set of origins, please use the"," ",e.jsx(q,{to:"/admin/cors",target:"_blank",rel:"noreferrer",children:"CORS origins configuration page"}),"."]})})]}),Et=({tokenName:t,setTokenName:n,errors:s,clearErrors:o})=>e.jsxs(e.Fragment,{children:[e.jsx(ee,{children:"What would you like to call this token?"}),e.jsx(nt,{value:t,name:"tokenName",onChange:r=>n(r.target.value),label:"Token name",error:s.tokenName!==void 0,errorText:s.tokenName,onFocus:()=>o("tokenName"),autoFocus:!0})]}),Nt=({type:t,setType:n,apiTokenTypes:s})=>e.jsx(et,{children:e.jsxs(we,{sx:{mb:2,width:"100%"},children:[e.jsx(ot,{id:"token-type",children:"What do you want to connect?"}),e.jsx(Se,{"aria-labelledby":"token-type",defaultValue:"CLIENT",name:"radio-buttons-group",value:t,onChange:(o,r)=>n(r),children:s.map(({key:o,label:r,title:a,enabled:i})=>e.jsx(Ie,{value:o,sx:{mb:1},disabled:!i,control:e.jsx(Re,{sx:{ml:.75,alignSelf:"flex-start"}}),label:e.jsx(f,{children:e.jsxs(f,{children:[e.jsx(R,{children:r}),e.jsx(R,{variant:"body2",color:"text.secondary",children:a})]})})},o))})]})}),wt=({type:t,environment:n,setEnvironment:s})=>{const{environments:o}=Q(),r=t===x.ADMIN?[{key:"*",label:"ALL"}]:o.map(a=>({key:a.name,label:`${a.name.concat(a.enabled?"":" - deprecated")}`,title:a.name,disabled:!1}));return e.jsxs(e.Fragment,{children:[e.jsx(ee,{children:"Which environment should the token have access to?"}),e.jsx(st,{disabled:t===x.ADMIN,options:r,value:n,onChange:s,label:"Environment",id:"api_key_environment",name:"environment",IconComponent:De,fullWidth:!0})]})},it=t=>t.map(n=>({...n.user,joinedAt:new Date(n.joinedAt),createdBy:n.createdBy})),St=t=>{const{data:n,error:s,mutate:o}=Le(X(`api/admin/groups/${t}`),lt);return d.useMemo(()=>({group:n&&{...n,users:it((n==null?void 0:n.users)??[])},loading:!s&&!n,refetchGroup:()=>o(),error:s}),[n,s,o])},lt=t=>fetch(t).then(J("Group")).then(n=>n.json()),It=()=>{const{isEnterprise:t}=k(),{data:n,error:s,mutate:o}=Pe(t(),{serviceAccounts:[],rootRoles:[]},X("api/admin/service-account"),ct);return d.useMemo(()=>({serviceAccounts:(n==null?void 0:n.serviceAccounts)??[],roles:(n==null?void 0:n.rootRoles)??[],loading:!s&&!n,refetch:()=>o(),error:s}),[n,s,o])},ct=t=>fetch(t).then(J("Service Accounts")).then(n=>n.json()),dt=c("div")(({theme:t})=>({display:"flex",flexDirection:"column",gap:t.spacing(.5),"& > *:not(:last-child)":{borderBottom:`1px solid ${t.palette.divider}`,paddingBottom:t.spacing(1)}})),ut=c(Be)(()=>({display:"block"})),Rt=({role:t,roles:n,value:s})=>{const{isEnterprise:o}=k();if(o()){const r=n||[t];return e.jsx(A,{children:e.jsx(_e,{tooltip:e.jsx(dt,{children:r.map(a=>e.jsx(Fe,{roleId:a,tooltip:!0},a))}),children:e.jsx(ut,{children:s})})})}return e.jsx(A,{children:s})};export{ft as A,yt as C,wt as E,Tt as R,ee as S,x as T,kt as a,At as b,Ct as c,Et as d,Nt as e,vt as f,It as g,St as h,Rt as i,Z as j,it as m,bt as u};
@@ -0,0 +1 @@
1
+ import{s as f,L as m,j as n,aV as g,b7 as d,cm as y,r as p,bb as v,b9 as b,aq as x,ba as k,h as E,G as F}from"./index-g9pKMnOR.js";const M=f(m)(({theme:a})=>({textDecoration:"none",color:a.palette.primary.main,fontWeight:a.fontWeight.bold})),j=({isOpen:a,onClose:s,features:e,project:t})=>n.jsxs(g,{title:"You can't archive a feature that other features depend on",open:a,primaryButtonText:"OK",onClick:s,children:[n.jsx("p",{children:"The following features depend on your feature:"}),n.jsx("ul",{children:e.map(r=>n.jsx("li",{children:n.jsx(M,{to:`/projects/${t}/features/${r}`,target:"_blank",rel:"noopener noreferrer",children:r})},r))})]}),L=d("api/admin/client-metrics/features"),U=(a,s)=>{const e=d(`api/admin/client-metrics/features/${a}/raw?hoursBack=${s}`),{data:t,error:r}=y(e,()=>R(e)),i=p.useCallback(()=>{v(L).catch(console.warn)},[]);return{featureMetrics:t==null?void 0:t.data,loading:!r&&!t,refetchFeatureMetrics:i,error:r}},R=a=>fetch(a).then(b("Features")).then(s=>s.json()).then(),w=48,$=({hoursBack:a,setHoursBack:s,label:e="Period"})=>{const{trackEvent:t}=x(),r=o=>{s(Number.parseInt(o,10)),t("feature-metrics",{props:{eventType:"change-period",hoursBack:o}})},{isEnterprise:i}=k(),h=E("extendedUsageMetrics"),l=i()&&h?[...u,...A]:u,c=l.map(o=>Number(o.key)).includes(a)?a:w;return p.useEffect(()=>{a!==c&&s(c)},[a]),n.jsx("div",{children:n.jsx(F,{name:"feature-metrics-period",label:e,id:"feature-metrics-period",options:l,value:String(c),onChange:r,fullWidth:!0})})},u=[{key:"1",label:"Last hour"},{key:"24",label:"Last 24 hours"},{key:"48",label:"Last 48 hours"}],A=[{key:`${7*24}`,label:"Last 7 days"},{key:`${30*24}`,label:"Last 30 days"},{key:`${90*24}`,label:"Last 90 days"}],C=a=>{const s=new Map;return a.forEach(e=>{let t=s.get(e.timestamp);if(t||(t={...e,yes:0,no:0,variants:{}},s.set(e.timestamp,t)),t.yes+=e.yes,t.no+=e.no,e.variants){t.variants=t.variants||{};for(const[r,i]of Object.entries(e.variants))t.variants[r]=(t.variants[r]||0)+i}}),Array.from(s.values()).map(e=>({...e,variants:e.variants&&Object.keys(e.variants).length===0?void 0:e.variants}))};export{j as F,w as a,C as b,$ as c,U as u};