unleash-server 7.5.1 → 7.6.2

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 (466) hide show
  1. package/dist/lib/addons/feature-event-formatter-md-events.d.ts.map +1 -1
  2. package/dist/lib/addons/feature-event-formatter-md-events.js +16 -1
  3. package/dist/lib/addons/feature-event-formatter-md-events.js.map +1 -1
  4. package/dist/lib/addons/slack-app-definition.d.ts.map +1 -1
  5. package/dist/lib/addons/slack-app-definition.js +4 -1
  6. package/dist/lib/addons/slack-app-definition.js.map +1 -1
  7. package/dist/lib/app.d.ts.map +1 -1
  8. package/dist/lib/app.js +11 -25
  9. package/dist/lib/app.js.map +1 -1
  10. package/dist/lib/create-config.d.ts.map +1 -1
  11. package/dist/lib/create-config.js +3 -0
  12. package/dist/lib/create-config.js.map +1 -1
  13. package/dist/lib/db/api-token-store.d.ts +4 -1
  14. package/dist/lib/db/api-token-store.d.ts.map +1 -1
  15. package/dist/lib/db/api-token-store.js +17 -3
  16. package/dist/lib/db/api-token-store.js.map +1 -1
  17. package/dist/lib/error/bad-gateway-error.d.ts +7 -0
  18. package/dist/lib/error/bad-gateway-error.d.ts.map +1 -0
  19. package/dist/lib/error/bad-gateway-error.js +9 -0
  20. package/dist/lib/error/bad-gateway-error.js.map +1 -0
  21. package/dist/lib/error/gateway-timeout-error.d.ts +7 -0
  22. package/dist/lib/error/gateway-timeout-error.d.ts.map +1 -0
  23. package/dist/lib/error/gateway-timeout-error.js +9 -0
  24. package/dist/lib/error/gateway-timeout-error.js.map +1 -0
  25. package/dist/lib/error/index.d.ts +3 -1
  26. package/dist/lib/error/index.d.ts.map +1 -1
  27. package/dist/lib/error/index.js +3 -1
  28. package/dist/lib/error/index.js.map +1 -1
  29. package/dist/lib/error/unleash-error.d.ts +1 -1
  30. package/dist/lib/error/unleash-error.d.ts.map +1 -1
  31. package/dist/lib/error/unleash-error.js +2 -0
  32. package/dist/lib/error/unleash-error.js.map +1 -1
  33. package/dist/lib/events/index.d.ts +4 -1
  34. package/dist/lib/events/index.d.ts.map +1 -1
  35. package/dist/lib/events/index.js +6 -0
  36. package/dist/lib/events/index.js.map +1 -1
  37. package/dist/lib/features/client-feature-toggles/client-feature-toggle-store.d.ts.map +1 -1
  38. package/dist/lib/features/client-feature-toggles/client-feature-toggle-store.js +5 -0
  39. package/dist/lib/features/client-feature-toggles/client-feature-toggle-store.js.map +1 -1
  40. package/dist/lib/features/client-feature-toggles/client-feature-toggle-store.test.d.ts +2 -0
  41. package/dist/lib/features/client-feature-toggles/client-feature-toggle-store.test.d.ts.map +1 -0
  42. package/dist/lib/features/client-feature-toggles/client-feature-toggle-store.test.js +53 -0
  43. package/dist/lib/features/client-feature-toggles/client-feature-toggle-store.test.js.map +1 -0
  44. package/dist/lib/features/client-feature-toggles/delta/client-feature-toggle-delta-read-model.d.ts.map +1 -1
  45. package/dist/lib/features/client-feature-toggles/delta/client-feature-toggle-delta-read-model.js +5 -0
  46. package/dist/lib/features/client-feature-toggles/delta/client-feature-toggle-delta-read-model.js.map +1 -1
  47. package/dist/lib/features/client-feature-toggles/delta/client-feature-toggle-delta-read-model.test.d.ts +2 -0
  48. package/dist/lib/features/client-feature-toggles/delta/client-feature-toggle-delta-read-model.test.d.ts.map +1 -0
  49. package/dist/lib/features/client-feature-toggles/delta/client-feature-toggle-delta-read-model.test.js +59 -0
  50. package/dist/lib/features/client-feature-toggles/delta/client-feature-toggle-delta-read-model.test.js.map +1 -0
  51. package/dist/lib/features/client-feature-toggles/delta/client-feature-toggle-delta.d.ts +9 -3
  52. package/dist/lib/features/client-feature-toggles/delta/client-feature-toggle-delta.d.ts.map +1 -1
  53. package/dist/lib/features/client-feature-toggles/delta/client-feature-toggle-delta.js +165 -92
  54. package/dist/lib/features/client-feature-toggles/delta/client-feature-toggle-delta.js.map +1 -1
  55. package/dist/lib/features/client-feature-toggles/delta/client-feature-toggle-delta.test.js +475 -1
  56. package/dist/lib/features/client-feature-toggles/delta/client-feature-toggle-delta.test.js.map +1 -1
  57. package/dist/lib/features/client-feature-toggles/delta/delta-cache.d.ts.map +1 -1
  58. package/dist/lib/features/client-feature-toggles/delta/delta-cache.js +3 -0
  59. package/dist/lib/features/client-feature-toggles/delta/delta-cache.js.map +1 -1
  60. package/dist/lib/features/client-feature-toggles/delta/delta-cache.test.js +15 -0
  61. package/dist/lib/features/client-feature-toggles/delta/delta-cache.test.js.map +1 -1
  62. package/dist/lib/features/client-feature-toggles/delta/visible-revision.d.ts +3 -0
  63. package/dist/lib/features/client-feature-toggles/delta/visible-revision.d.ts.map +1 -0
  64. package/dist/lib/features/client-feature-toggles/delta/visible-revision.js +16 -0
  65. package/dist/lib/features/client-feature-toggles/delta/visible-revision.js.map +1 -0
  66. package/dist/lib/features/client-feature-toggles/delta/visible-revision.test.d.ts +2 -0
  67. package/dist/lib/features/client-feature-toggles/delta/visible-revision.test.d.ts.map +1 -0
  68. package/dist/lib/features/client-feature-toggles/delta/visible-revision.test.js +25 -0
  69. package/dist/lib/features/client-feature-toggles/delta/visible-revision.test.js.map +1 -0
  70. package/dist/lib/features/context/context.d.ts +0 -1
  71. package/dist/lib/features/context/context.d.ts.map +1 -1
  72. package/dist/lib/features/context/context.js +7 -15
  73. package/dist/lib/features/context/context.js.map +1 -1
  74. package/dist/lib/features/edgetokens/edge-token-store.d.ts +2 -0
  75. package/dist/lib/features/edgetokens/edge-token-store.d.ts.map +1 -1
  76. package/dist/lib/features/edgetokens/edge-token-store.js +20 -0
  77. package/dist/lib/features/edgetokens/edge-token-store.js.map +1 -1
  78. package/dist/lib/features/edgetokens/fake-edge-token-store.d.ts +2 -0
  79. package/dist/lib/features/edgetokens/fake-edge-token-store.d.ts.map +1 -1
  80. package/dist/lib/features/edgetokens/fake-edge-token-store.js +6 -0
  81. package/dist/lib/features/edgetokens/fake-edge-token-store.js.map +1 -1
  82. package/dist/lib/features/events/event-store.d.ts +2 -4
  83. package/dist/lib/features/events/event-store.d.ts.map +1 -1
  84. package/dist/lib/features/events/event-store.js +1 -4
  85. package/dist/lib/features/events/event-store.js.map +1 -1
  86. package/dist/lib/features/feature-search/feature-search-controller.d.ts.map +1 -1
  87. package/dist/lib/features/feature-search/feature-search-controller.js +2 -1
  88. package/dist/lib/features/feature-search/feature-search-controller.js.map +1 -1
  89. package/dist/lib/features/feature-search/feature-search-service.d.ts.map +1 -1
  90. package/dist/lib/features/feature-search/feature-search-service.js +5 -0
  91. package/dist/lib/features/feature-search/feature-search-service.js.map +1 -1
  92. package/dist/lib/features/feature-search/feature-search-store.d.ts.map +1 -1
  93. package/dist/lib/features/feature-search/feature-search-store.js +17 -1
  94. package/dist/lib/features/feature-search/feature-search-store.js.map +1 -1
  95. package/dist/lib/features/feature-search/feature.search.e2e.test.js +56 -1
  96. package/dist/lib/features/feature-search/feature.search.e2e.test.js.map +1 -1
  97. package/dist/lib/features/feature-toggle/configuration-revision-service.d.ts +1 -2
  98. package/dist/lib/features/feature-toggle/configuration-revision-service.d.ts.map +1 -1
  99. package/dist/lib/features/feature-toggle/configuration-revision-service.js +2 -10
  100. package/dist/lib/features/feature-toggle/configuration-revision-service.js.map +1 -1
  101. package/dist/lib/features/feature-toggle/feature-toggle-strategies-store.d.ts.map +1 -1
  102. package/dist/lib/features/feature-toggle/feature-toggle-strategies-store.js +3 -2
  103. package/dist/lib/features/feature-toggle/feature-toggle-strategies-store.js.map +1 -1
  104. package/dist/lib/features/feature-toggle/types/feature-toggle-strategies-store-type.d.ts +1 -0
  105. package/dist/lib/features/feature-toggle/types/feature-toggle-strategies-store-type.d.ts.map +1 -1
  106. package/dist/lib/features/frontend-api/frontend-api-service.d.ts.map +1 -1
  107. package/dist/lib/features/frontend-api/frontend-api-service.js +8 -0
  108. package/dist/lib/features/frontend-api/frontend-api-service.js.map +1 -1
  109. package/dist/lib/features/frontend-api/frontend-api.e2e.test.js +43 -0
  110. package/dist/lib/features/frontend-api/frontend-api.e2e.test.js.map +1 -1
  111. package/dist/lib/features/frontend-api/frontend-api.middleware.e2e.test.d.ts +3 -0
  112. package/dist/lib/features/frontend-api/frontend-api.middleware.e2e.test.d.ts.map +1 -0
  113. package/dist/lib/features/frontend-api/frontend-api.middleware.e2e.test.js +1071 -0
  114. package/dist/lib/features/frontend-api/frontend-api.middleware.e2e.test.js.map +1 -0
  115. package/dist/lib/features/index.d.ts +1 -0
  116. package/dist/lib/features/index.d.ts.map +1 -1
  117. package/dist/lib/features/index.js +1 -0
  118. package/dist/lib/features/index.js.map +1 -1
  119. package/dist/lib/features/instance-stats/instance-stats-service.d.ts.map +1 -1
  120. package/dist/lib/features/instance-stats/instance-stats-service.js +1 -3
  121. package/dist/lib/features/instance-stats/instance-stats-service.js.map +1 -1
  122. package/dist/lib/features/metrics/impact/impact-metrics.e2e.test.js +12 -12
  123. package/dist/lib/features/metrics/impact/impact-metrics.e2e.test.js.map +1 -1
  124. package/dist/lib/features/metrics/impact/metrics-translator.d.ts +5 -2
  125. package/dist/lib/features/metrics/impact/metrics-translator.d.ts.map +1 -1
  126. package/dist/lib/features/metrics/impact/metrics-translator.js +86 -102
  127. package/dist/lib/features/metrics/impact/metrics-translator.js.map +1 -1
  128. package/dist/lib/features/metrics/impact/metrics-translator.test.js +70 -112
  129. package/dist/lib/features/metrics/impact/metrics-translator.test.js.map +1 -1
  130. package/dist/lib/features/project/createProjectService.d.ts.map +1 -1
  131. package/dist/lib/features/project/createProjectService.js +6 -0
  132. package/dist/lib/features/project/createProjectService.js.map +1 -1
  133. package/dist/lib/features/project/project-service.d.ts +2 -1
  134. package/dist/lib/features/project/project-service.d.ts.map +1 -1
  135. package/dist/lib/features/project/project-service.js +3 -1
  136. package/dist/lib/features/project/project-service.js.map +1 -1
  137. package/dist/lib/features/project-environments/project-environments.e2e.test.js +37 -0
  138. package/dist/lib/features/project-environments/project-environments.e2e.test.js.map +1 -1
  139. package/dist/lib/features/release-plans/release-plan-milestone-strategy-service.d.ts.map +1 -1
  140. package/dist/lib/features/release-plans/release-plan-milestone-strategy-service.js +2 -5
  141. package/dist/lib/features/release-plans/release-plan-milestone-strategy-service.js.map +1 -1
  142. package/dist/lib/features/release-plans/release-plan-milestone-strategy-service.test.js +2 -2
  143. package/dist/lib/features/release-plans/release-plan-milestone-strategy-service.test.js.map +1 -1
  144. package/dist/lib/features/release-plans/release-plan-milestone-strategy-store.d.ts +2 -1
  145. package/dist/lib/features/release-plans/release-plan-milestone-strategy-store.d.ts.map +1 -1
  146. package/dist/lib/features/release-plans/release-plan-milestone-strategy-store.js +20 -3
  147. package/dist/lib/features/release-plans/release-plan-milestone-strategy-store.js.map +1 -1
  148. package/dist/lib/features/release-plans/release-plan-milestone-strategy.d.ts +2 -0
  149. package/dist/lib/features/release-plans/release-plan-milestone-strategy.d.ts.map +1 -1
  150. package/dist/lib/features/release-plans/release-plan-store.d.ts.map +1 -1
  151. package/dist/lib/features/release-plans/release-plan-store.js +2 -0
  152. package/dist/lib/features/release-plans/release-plan-store.js.map +1 -1
  153. package/dist/lib/features/release-plans/release-plan-template-store.d.ts.map +1 -1
  154. package/dist/lib/features/release-plans/release-plan-template-store.js +4 -3
  155. package/dist/lib/features/release-plans/release-plan-template-store.js.map +1 -1
  156. package/dist/lib/features/release-plans/release-plan-template-store.test.d.ts +2 -0
  157. package/dist/lib/features/release-plans/release-plan-template-store.test.d.ts.map +1 -0
  158. package/dist/lib/features/release-plans/release-plan-template-store.test.js +47 -0
  159. package/dist/lib/features/release-plans/release-plan-template-store.test.js.map +1 -0
  160. package/dist/lib/metric-events.d.ts +3 -2
  161. package/dist/lib/metric-events.d.ts.map +1 -1
  162. package/dist/lib/metric-events.js +2 -1
  163. package/dist/lib/metric-events.js.map +1 -1
  164. package/dist/lib/middleware/api-token-middleware.d.ts.map +1 -1
  165. package/dist/lib/middleware/api-token-middleware.js +1 -5
  166. package/dist/lib/middleware/api-token-middleware.js.map +1 -1
  167. package/dist/lib/middleware/api-token-middleware.test.js +35 -25
  168. package/dist/lib/middleware/api-token-middleware.test.js.map +1 -1
  169. package/dist/lib/middleware/backend-token-middleware.d.ts +5 -0
  170. package/dist/lib/middleware/backend-token-middleware.d.ts.map +1 -0
  171. package/dist/lib/middleware/backend-token-middleware.js +61 -0
  172. package/dist/lib/middleware/backend-token-middleware.js.map +1 -0
  173. package/dist/lib/middleware/backend-token-middleware.test.d.ts +2 -0
  174. package/dist/lib/middleware/backend-token-middleware.test.d.ts.map +1 -0
  175. package/dist/lib/middleware/backend-token-middleware.test.js +73 -0
  176. package/dist/lib/middleware/backend-token-middleware.test.js.map +1 -0
  177. package/dist/lib/middleware/conditional-middleware.d.ts +20 -0
  178. package/dist/lib/middleware/conditional-middleware.d.ts.map +1 -1
  179. package/dist/lib/middleware/conditional-middleware.js +26 -0
  180. package/dist/lib/middleware/conditional-middleware.js.map +1 -1
  181. package/dist/lib/middleware/conditional-middleware.test.d.ts +2 -0
  182. package/dist/lib/middleware/conditional-middleware.test.d.ts.map +1 -0
  183. package/dist/lib/middleware/conditional-middleware.test.js +31 -0
  184. package/dist/lib/middleware/conditional-middleware.test.js.map +1 -0
  185. package/dist/lib/middleware/frontend-token-middleware.d.ts +5 -0
  186. package/dist/lib/middleware/frontend-token-middleware.d.ts.map +1 -0
  187. package/dist/lib/middleware/frontend-token-middleware.js +61 -0
  188. package/dist/lib/middleware/frontend-token-middleware.js.map +1 -0
  189. package/dist/lib/middleware/user-token-client-api-logger-middleware.js +1 -1
  190. package/dist/lib/middleware/user-token-client-api-logger-middleware.js.map +1 -1
  191. package/dist/lib/openapi/spec/event-schema.d.ts +1 -1
  192. package/dist/lib/openapi/spec/event-search-response-schema.d.ts +1 -1
  193. package/dist/lib/openapi/spec/events-schema.d.ts +1 -1
  194. package/dist/lib/openapi/spec/export-result-schema.d.ts +1018 -100
  195. package/dist/lib/openapi/spec/export-result-schema.d.ts.map +1 -1
  196. package/dist/lib/openapi/spec/export-result-schema.js +4 -2
  197. package/dist/lib/openapi/spec/export-result-schema.js.map +1 -1
  198. package/dist/lib/openapi/spec/feature-environment-safeguard-schema.d.ts +168 -0
  199. package/dist/lib/openapi/spec/feature-environment-safeguard-schema.d.ts.map +1 -0
  200. package/dist/lib/openapi/spec/feature-environment-safeguard-schema.js +66 -0
  201. package/dist/lib/openapi/spec/feature-environment-safeguard-schema.js.map +1 -0
  202. package/dist/lib/openapi/spec/feature-environment-schema.d.ts +265 -7
  203. package/dist/lib/openapi/spec/feature-environment-schema.d.ts.map +1 -1
  204. package/dist/lib/openapi/spec/feature-environment-schema.js +13 -0
  205. package/dist/lib/openapi/spec/feature-environment-schema.js.map +1 -1
  206. package/dist/lib/openapi/spec/feature-events-schema.d.ts +1 -1
  207. package/dist/lib/openapi/spec/feature-schema.d.ts +475 -16
  208. package/dist/lib/openapi/spec/feature-schema.d.ts.map +1 -1
  209. package/dist/lib/openapi/spec/feature-schema.js +4 -2
  210. package/dist/lib/openapi/spec/feature-schema.js.map +1 -1
  211. package/dist/lib/openapi/spec/feature-search-environment-schema.d.ts +688 -14
  212. package/dist/lib/openapi/spec/feature-search-environment-schema.d.ts.map +1 -1
  213. package/dist/lib/openapi/spec/feature-search-environment-schema.js +8 -0
  214. package/dist/lib/openapi/spec/feature-search-environment-schema.js.map +1 -1
  215. package/dist/lib/openapi/spec/feature-search-query-parameters.d.ts +10 -1
  216. package/dist/lib/openapi/spec/feature-search-query-parameters.d.ts.map +1 -1
  217. package/dist/lib/openapi/spec/feature-search-query-parameters.js +10 -0
  218. package/dist/lib/openapi/spec/feature-search-query-parameters.js.map +1 -1
  219. package/dist/lib/openapi/spec/feature-search-response-schema.d.ts +8097 -155
  220. package/dist/lib/openapi/spec/feature-search-response-schema.d.ts.map +1 -1
  221. package/dist/lib/openapi/spec/feature-search-response-schema.js +22 -0
  222. package/dist/lib/openapi/spec/feature-search-response-schema.js.map +1 -1
  223. package/dist/lib/openapi/spec/health-overview-schema.d.ts +1336 -210
  224. package/dist/lib/openapi/spec/health-overview-schema.d.ts.map +1 -1
  225. package/dist/lib/openapi/spec/health-overview-schema.js +8 -0
  226. package/dist/lib/openapi/spec/health-overview-schema.js.map +1 -1
  227. package/dist/lib/openapi/spec/health-report-schema.d.ts +1336 -210
  228. package/dist/lib/openapi/spec/health-report-schema.d.ts.map +1 -1
  229. package/dist/lib/openapi/spec/import-toggles-schema.d.ts +2 -2
  230. package/dist/lib/openapi/spec/import-toggles-schema.d.ts.map +1 -1
  231. package/dist/lib/openapi/spec/import-toggles-schema.js +4 -2
  232. package/dist/lib/openapi/spec/import-toggles-schema.js.map +1 -1
  233. package/dist/lib/openapi/spec/index.d.ts +4 -2
  234. package/dist/lib/openapi/spec/index.d.ts.map +1 -1
  235. package/dist/lib/openapi/spec/index.js +4 -2
  236. package/dist/lib/openapi/spec/index.js.map +1 -1
  237. package/dist/lib/openapi/spec/integration-event-schema.d.ts +1 -1
  238. package/dist/lib/openapi/spec/integration-events-schema.d.ts +2 -2
  239. package/dist/lib/openapi/spec/metric-query-schema.d.ts +6 -0
  240. package/dist/lib/openapi/spec/metric-query-schema.d.ts.map +1 -1
  241. package/dist/lib/openapi/spec/metric-query-schema.js +6 -0
  242. package/dist/lib/openapi/spec/metric-query-schema.js.map +1 -1
  243. package/dist/lib/openapi/spec/profile-schema.d.ts +475 -16
  244. package/dist/lib/openapi/spec/profile-schema.d.ts.map +1 -1
  245. package/dist/lib/openapi/spec/project-overview-schema.d.ts +1336 -210
  246. package/dist/lib/openapi/spec/project-overview-schema.d.ts.map +1 -1
  247. package/dist/lib/openapi/spec/project-overview-schema.js +8 -0
  248. package/dist/lib/openapi/spec/project-overview-schema.js.map +1 -1
  249. package/dist/lib/openapi/spec/release-plan-milestone-schema.d.ts +1 -1
  250. package/dist/lib/openapi/spec/release-plan-milestone-strategy-schema.d.ts +1 -1
  251. package/dist/lib/openapi/spec/release-plan-milestone-strategy-schema.js +1 -1
  252. package/dist/lib/openapi/spec/release-plan-milestone-strategy-schema.js.map +1 -1
  253. package/dist/lib/openapi/spec/{safeguard-schema.d.ts → release-plan-safeguard-schema.d.ts} +16 -4
  254. package/dist/lib/openapi/spec/release-plan-safeguard-schema.d.ts.map +1 -0
  255. package/dist/lib/openapi/spec/{safeguard-schema.js → release-plan-safeguard-schema.js} +3 -3
  256. package/dist/lib/openapi/spec/release-plan-safeguard-schema.js.map +1 -0
  257. package/dist/lib/openapi/spec/release-plan-schema.d.ts +23 -5
  258. package/dist/lib/openapi/spec/release-plan-schema.d.ts.map +1 -1
  259. package/dist/lib/openapi/spec/release-plan-schema.js +3 -3
  260. package/dist/lib/openapi/spec/release-plan-schema.js.map +1 -1
  261. package/dist/lib/openapi/spec/release-plan-template-schema.d.ts +2 -2
  262. package/dist/lib/openapi/spec/release-plan-templates-schema.d.ts +2897 -0
  263. package/dist/lib/openapi/spec/release-plan-templates-schema.d.ts.map +1 -0
  264. package/dist/lib/openapi/spec/release-plan-templates-schema.js +29 -0
  265. package/dist/lib/openapi/spec/release-plan-templates-schema.js.map +1 -0
  266. package/dist/lib/openapi/spec/release-plans-schema.d.ts +45 -9
  267. package/dist/lib/openapi/spec/release-plans-schema.d.ts.map +1 -1
  268. package/dist/lib/openapi/spec/release-plans-schema.js +2 -2
  269. package/dist/lib/openapi/spec/release-plans-schema.js.map +1 -1
  270. package/dist/lib/openapi/spec/search-features-schema.d.ts +13694 -5078
  271. package/dist/lib/openapi/spec/search-features-schema.d.ts.map +1 -1
  272. package/dist/lib/routes/admin-api/api-token.js +1 -1
  273. package/dist/lib/routes/admin-api/api-token.js.map +1 -1
  274. package/dist/lib/routes/admin-api/project/api-token.js +1 -1
  275. package/dist/lib/routes/admin-api/project/api-token.js.map +1 -1
  276. package/dist/lib/routes/logout.js +1 -1
  277. package/dist/lib/routes/logout.js.map +1 -1
  278. package/dist/lib/routes/logout.test.js +4 -4
  279. package/dist/lib/routes/logout.test.js.map +1 -1
  280. package/dist/lib/schema/api-token-schema.d.ts.map +1 -1
  281. package/dist/lib/schema/api-token-schema.js +1 -0
  282. package/dist/lib/schema/api-token-schema.js.map +1 -1
  283. package/dist/lib/server-impl.d.ts +5 -5
  284. package/dist/lib/server-impl.d.ts.map +1 -1
  285. package/dist/lib/server-impl.js +3 -3
  286. package/dist/lib/server-impl.js.map +1 -1
  287. package/dist/lib/services/api-token-service.d.ts +2 -2
  288. package/dist/lib/services/api-token-service.d.ts.map +1 -1
  289. package/dist/lib/services/api-token-service.js +5 -3
  290. package/dist/lib/services/api-token-service.js.map +1 -1
  291. package/dist/lib/services/api-token-service.test.js +5 -4
  292. package/dist/lib/services/api-token-service.test.js.map +1 -1
  293. package/dist/lib/services/edge-service.d.ts +1 -0
  294. package/dist/lib/services/edge-service.d.ts.map +1 -1
  295. package/dist/lib/services/edge-service.js +5 -2
  296. package/dist/lib/services/edge-service.js.map +1 -1
  297. package/dist/lib/services/user-service.d.ts.map +1 -1
  298. package/dist/lib/services/user-service.js +0 -4
  299. package/dist/lib/services/user-service.js.map +1 -1
  300. package/dist/lib/types/experimental.d.ts +1 -1
  301. package/dist/lib/types/experimental.d.ts.map +1 -1
  302. package/dist/lib/types/experimental.js +7 -8
  303. package/dist/lib/types/experimental.js.map +1 -1
  304. package/dist/lib/types/model.d.ts +2 -1
  305. package/dist/lib/types/model.d.ts.map +1 -1
  306. package/dist/lib/types/model.js.map +1 -1
  307. package/dist/lib/types/option.d.ts +2 -0
  308. package/dist/lib/types/option.d.ts.map +1 -1
  309. package/dist/lib/types/stores/api-token-store.d.ts +2 -1
  310. package/dist/lib/types/stores/api-token-store.d.ts.map +1 -1
  311. package/dist/lib/types/stores/edge-store.d.ts +2 -0
  312. package/dist/lib/types/stores/edge-store.d.ts.map +1 -1
  313. package/dist/lib/types/stores/event-store.d.ts +1 -1
  314. package/dist/lib/types/stores/event-store.d.ts.map +1 -1
  315. package/dist/lib/util/clone-db-config.d.ts +3 -0
  316. package/dist/lib/util/clone-db-config.d.ts.map +1 -0
  317. package/dist/lib/util/clone-db-config.js +18 -0
  318. package/dist/lib/util/clone-db-config.js.map +1 -0
  319. package/dist/lib/util/clone-db-config.test.d.ts +2 -0
  320. package/dist/lib/util/clone-db-config.test.d.ts.map +1 -0
  321. package/dist/lib/util/clone-db-config.test.js +40 -0
  322. package/dist/lib/util/clone-db-config.test.js.map +1 -0
  323. package/dist/lib/util/db-lock.d.ts.map +1 -1
  324. package/dist/lib/util/db-lock.js +2 -3
  325. package/dist/lib/util/db-lock.js.map +1 -1
  326. package/dist/lib/util/sortStrategies.d.ts +1 -1
  327. package/dist/lib/util/sortStrategies.d.ts.map +1 -1
  328. package/dist/lib/util/sortStrategies.js +6 -2
  329. package/dist/lib/util/sortStrategies.js.map +1 -1
  330. package/dist/lib/util/sortStrategies.test.js +21 -0
  331. package/dist/lib/util/sortStrategies.test.js.map +1 -1
  332. package/dist/migrations/20260309125735-drop-cascade-for-edge-api-token.d.ts +3 -0
  333. package/dist/migrations/20260309125735-drop-cascade-for-edge-api-token.d.ts.map +1 -0
  334. package/dist/migrations/20260309125735-drop-cascade-for-edge-api-token.js +15 -0
  335. package/dist/migrations/20260309125735-drop-cascade-for-edge-api-token.js.map +1 -0
  336. package/dist/migrations/20260310134100-split-safeguards-table.d.ts +3 -0
  337. package/dist/migrations/20260310134100-split-safeguards-table.d.ts.map +1 -0
  338. package/dist/migrations/20260310134100-split-safeguards-table.js +31 -0
  339. package/dist/migrations/20260310134100-split-safeguards-table.js.map +1 -0
  340. package/dist/migrations/20260311073041-migrate-safeguards-data.d.ts +3 -0
  341. package/dist/migrations/20260311073041-migrate-safeguards-data.d.ts.map +1 -0
  342. package/dist/migrations/20260311073041-migrate-safeguards-data.js +42 -0
  343. package/dist/migrations/20260311073041-migrate-safeguards-data.js.map +1 -0
  344. package/dist/migrations/20260312100000-release-plans-fix-cascade-on-env-disconnect.d.ts +3 -0
  345. package/dist/migrations/20260312100000-release-plans-fix-cascade-on-env-disconnect.d.ts.map +1 -0
  346. package/dist/migrations/20260312100000-release-plans-fix-cascade-on-env-disconnect.js +31 -0
  347. package/dist/migrations/20260312100000-release-plans-fix-cascade-on-env-disconnect.js.map +1 -0
  348. package/dist/migrations/20260316113111-update-memory-usage-to-big-int.d.ts +3 -0
  349. package/dist/migrations/20260316113111-update-memory-usage-to-big-int.d.ts.map +1 -0
  350. package/dist/migrations/20260316113111-update-memory-usage-to-big-int.js +8 -0
  351. package/dist/migrations/20260316113111-update-memory-usage-to-big-int.js.map +1 -0
  352. package/dist/migrations/20260316140000-safeguards-fix-cascade-on-env-disconnect.d.ts +3 -0
  353. package/dist/migrations/20260316140000-safeguards-fix-cascade-on-env-disconnect.d.ts.map +1 -0
  354. package/dist/migrations/20260316140000-safeguards-fix-cascade-on-env-disconnect.js +54 -0
  355. package/dist/migrations/20260316140000-safeguards-fix-cascade-on-env-disconnect.js.map +1 -0
  356. package/dist/migrations/20260317140000-safeguards-drop-project-not-null.d.ts +3 -0
  357. package/dist/migrations/20260317140000-safeguards-drop-project-not-null.d.ts.map +1 -0
  358. package/dist/migrations/20260317140000-safeguards-drop-project-not-null.js +21 -0
  359. package/dist/migrations/20260317140000-safeguards-drop-project-not-null.js.map +1 -0
  360. package/dist/migrations/20260318100000-safeguards-drop-project-column.d.ts +3 -0
  361. package/dist/migrations/20260318100000-safeguards-drop-project-column.d.ts.map +1 -0
  362. package/dist/migrations/20260318100000-safeguards-drop-project-column.js +14 -0
  363. package/dist/migrations/20260318100000-safeguards-drop-project-column.js.map +1 -0
  364. package/dist/migrations/20260406132537-user-access-requests.d.ts +3 -0
  365. package/dist/migrations/20260406132537-user-access-requests.d.ts.map +1 -0
  366. package/dist/migrations/20260406132537-user-access-requests.js +16 -0
  367. package/dist/migrations/20260406132537-user-access-requests.js.map +1 -0
  368. package/dist/migrations/20260406161629-user-access-requests-unique-email.d.ts +3 -0
  369. package/dist/migrations/20260406161629-user-access-requests-unique-email.d.ts.map +1 -0
  370. package/dist/migrations/20260406161629-user-access-requests-unique-email.js +14 -0
  371. package/dist/migrations/20260406161629-user-access-requests-unique-email.js.map +1 -0
  372. package/dist/migrator.d.ts.map +1 -1
  373. package/dist/migrator.js +4 -3
  374. package/dist/migrator.js.map +1 -1
  375. package/dist/server-dev.js +4 -7
  376. package/dist/server-dev.js.map +1 -1
  377. package/dist/test/e2e/api/admin/api-token.auth.e2e.test.js +5 -5
  378. package/dist/test/e2e/api/admin/api-token.auth.e2e.test.js.map +1 -1
  379. package/dist/test/e2e/api/admin/api-token.e2e.test.js +3 -2
  380. package/dist/test/e2e/api/admin/api-token.e2e.test.js.map +1 -1
  381. package/dist/test/e2e/api/admin/conditional-middleware.e2e.test.js +106 -38
  382. package/dist/test/e2e/api/admin/conditional-middleware.e2e.test.js.map +1 -1
  383. package/dist/test/e2e/api/admin/context-api-include-query-params.e2e.test.js +1 -7
  384. package/dist/test/e2e/api/admin/context-api-include-query-params.e2e.test.js.map +1 -1
  385. package/dist/test/e2e/api/admin/project/api-token.e2e.test.js +2 -1
  386. package/dist/test/e2e/api/admin/project/api-token.e2e.test.js.map +1 -1
  387. package/dist/test/e2e/api/admin/project/project.api.tokens.e2e.test.js +5 -5
  388. package/dist/test/e2e/api/admin/project/project.api.tokens.e2e.test.js.map +1 -1
  389. package/dist/test/e2e/api/admin/project-context.e2e.test.js +1 -7
  390. package/dist/test/e2e/api/admin/project-context.e2e.test.js.map +1 -1
  391. package/dist/test/e2e/api/client/feature.token.access.e2e.test.js +34 -1
  392. package/dist/test/e2e/api/client/feature.token.access.e2e.test.js.map +1 -1
  393. package/dist/test/e2e/services/api-token-service.e2e.test.js +21 -6
  394. package/dist/test/e2e/services/api-token-service.e2e.test.js.map +1 -1
  395. package/dist/test/e2e/services/edge-service.e2e.test.js +4 -3
  396. package/dist/test/e2e/services/edge-service.e2e.test.js.map +1 -1
  397. package/dist/test/e2e/stores/api-token-store.e2e.test.js +15 -14
  398. package/dist/test/e2e/stores/api-token-store.e2e.test.js.map +1 -1
  399. package/dist/test/e2e/stores/event-store.e2e.test.js +8 -9
  400. package/dist/test/e2e/stores/event-store.e2e.test.js.map +1 -1
  401. package/dist/test/fixtures/fake-api-token-store.d.ts +2 -1
  402. package/dist/test/fixtures/fake-api-token-store.d.ts.map +1 -1
  403. package/dist/test/fixtures/fake-api-token-store.js +4 -1
  404. package/dist/test/fixtures/fake-api-token-store.js.map +1 -1
  405. package/dist/test/fixtures/fake-event-store.d.ts +1 -1
  406. package/dist/test/fixtures/fake-event-store.d.ts.map +1 -1
  407. package/dist/test/fixtures/fake-event-store.js +1 -1
  408. package/dist/test/fixtures/fake-event-store.js.map +1 -1
  409. package/dist/test/fixtures/fake-release-plan-milestone-strategy-store.d.ts +2 -2
  410. package/dist/test/fixtures/fake-release-plan-milestone-strategy-store.d.ts.map +1 -1
  411. package/dist/test/fixtures/fake-release-plan-milestone-strategy-store.js +3 -2
  412. package/dist/test/fixtures/fake-release-plan-milestone-strategy-store.js.map +1 -1
  413. package/frontend/build/index.html +1 -1
  414. package/frontend/build/static/AdvancedPlayground-BTPrG6RW.js +3 -0
  415. package/frontend/build/static/BackendConnections-CRh8Vxoe.js +1 -0
  416. package/frontend/build/static/{CreateProject-DV-Ad8Sn.js → CreateProject-DEMalH1j.js} +1 -1
  417. package/frontend/build/static/EnterpriseEdge-Cp-pGMa0.js +6 -0
  418. package/frontend/build/static/FeatureMetricsChart-DQOE71LA.js +2 -0
  419. package/frontend/build/static/FeatureStaleDialog-B6BfnDiQ.js +689 -0
  420. package/frontend/build/static/{FeatureViewLazyExport-Bsw7-knb.js → FeatureViewLazyExport-BkNTNFqK.js} +4 -7
  421. package/frontend/build/static/FlagMetricsChart-zYDF9bet.js +2 -0
  422. package/frontend/build/static/FrontendNetworkTrafficUsage-CbxdFXH7.js +1 -0
  423. package/frontend/build/static/GridLayoutWrapper-Cq6Bzm36.js +3 -0
  424. package/frontend/build/static/ImpactMetricsPage-CFYXYXPb.js +1 -0
  425. package/frontend/build/static/LazyAdminExport-ByTh4iFa.js +38 -0
  426. package/frontend/build/static/LazyProjectExport-K12Xy3w9.js +46 -0
  427. package/frontend/build/static/{LifecycleChartComponent-cxR-TN3V.js → LifecycleChartComponent-DHvlFNd2.js} +3 -3
  428. package/frontend/build/static/LineChartComponent-BlhKm3cw.js +1 -0
  429. package/frontend/build/static/MarkCompletedDialogue-apmlFjVY.js +1 -0
  430. package/frontend/build/static/{NetworkOverview-DxaPXUzZ.js → NetworkOverview-BiLOuQ4c.js} +1 -1
  431. package/frontend/build/static/{NetworkPrometheusAPIWarning-ltyTlXFF.js → NetworkPrometheusAPIWarning-CYo3j2Tj.js} +1 -1
  432. package/frontend/build/static/{NetworkTraffic-Dhw4yIBs.js → NetworkTraffic-DONL5oIx.js} +1 -1
  433. package/frontend/build/static/NetworkTrafficUsage-DjQiYq0S.js +1 -0
  434. package/frontend/build/static/{PercentageDonut-JGNh2FVZ.js → PercentageDonut-CA9hYg3v.js} +1 -1
  435. package/frontend/build/static/{ReactJSONEditor-GHl7KvdS.js → ReactJSONEditor-9cJL1vJY.js} +31 -31
  436. package/frontend/build/static/{RoleCell-CjVCxBgl.js → RoleCell-ZzU5Oqy8.js} +1 -1
  437. package/frontend/build/static/Safeguard-DY1N4aPz.js +1 -0
  438. package/frontend/build/static/aggregateFeatureMetrics-D6bHft_C.js +1 -0
  439. package/frontend/build/static/{formatTickValue-BZb4ZIL9.js → formatTickValue-BcLsqREh.js} +2 -2
  440. package/frontend/build/static/{index-DcWBU_a4.js → index-B87DWXbl.js} +1 -1
  441. package/frontend/build/static/index-CoLhlfXP.js +565 -0
  442. package/frontend/build/static/loginBackground-CQx0IRYc.png +0 -0
  443. package/frontend/build/static/{networkTrafficUsageHighlightPlugin-BbfAyDiQ.js → networkTrafficUsageHighlightPlugin-CqEM-cK_.js} +1 -1
  444. package/frontend/build/static/passwordSuccess-fcvTEYOw.png +0 -0
  445. package/frontend/build/static/useApiTokens-ClWvohC9.js +1 -0
  446. package/frontend/package.json +50 -42
  447. package/package.json +11 -10
  448. package/dist/lib/openapi/spec/safeguard-schema.d.ts.map +0 -1
  449. package/dist/lib/openapi/spec/safeguard-schema.js.map +0 -1
  450. package/frontend/build/static/AdvancedPlayground-CF0hkpiE.js +0 -3
  451. package/frontend/build/static/BackendConnections-DhZczar-.js +0 -1
  452. package/frontend/build/static/EnterpriseEdge-D1To2ugP.js +0 -3
  453. package/frontend/build/static/FeatureMetricsChart-D8sRgx5P.js +0 -2
  454. package/frontend/build/static/FeatureStaleDialog-DOkhgvaj.js +0 -7
  455. package/frontend/build/static/FlagMetricsChart-CF_kEyQa.js +0 -2
  456. package/frontend/build/static/FrontendNetworkTrafficUsage-C8zJSvoc.js +0 -1
  457. package/frontend/build/static/GridLayoutWrapper-DpJcUbQB.js +0 -3
  458. package/frontend/build/static/ImpactMetricsPage-KLVv-tP4.js +0 -1
  459. package/frontend/build/static/LazyAdminExport-CWQiknO-.js +0 -38
  460. package/frontend/build/static/LazyProjectExport-DsMn4Yxm.js +0 -728
  461. package/frontend/build/static/LineChartComponent-_yZEp3dd.js +0 -1
  462. package/frontend/build/static/MarkCompletedDialogue-DFtLyDN0.js +0 -1
  463. package/frontend/build/static/NetworkTrafficUsage-deKWRhIS.js +0 -1
  464. package/frontend/build/static/aggregateFeatureMetrics-YEdZNNoV.js +0 -1
  465. package/frontend/build/static/index-DMSjiFEm.js +0 -583
  466. package/frontend/build/static/useApiTokens-DBB3NvXL.js +0 -1
@@ -1 +1 @@
1
- {"version":3,"file":"fake-api-token-store.d.ts","sourceRoot":"","sources":["../../../src/test/fixtures/fake-api-token-store.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,2CAA2C,CAAC;AAChF,OAAO,KAAK,EACR,YAAY,EACZ,SAAS,EACT,eAAe,EAClB,MAAM,0BAA0B,CAAC;AAElC,OAAO,YAAY,MAAM,QAAQ,CAAC;AAElC,MAAM,CAAC,OAAO,OAAO,iBACjB,SAAQ,YACR,YAAW,cAAc;IAEzB,WAAW,IAAI,OAAO,CAAC,GAAG,CAAC,YAAY,EAAE,MAAM,CAAC,CAAC;IAGjD,MAAM,EAAE,SAAS,EAAE,CAAM;IAEnB,MAAM,CAAC,GAAG,EAAE,MAAM,GAAG,OAAO,CAAC,IAAI,CAAC;IAOlC,KAAK,IAAI,OAAO,CAAC,MAAM,CAAC;IAIxB,SAAS,IAAI,OAAO,CAAC,IAAI,CAAC;IAIhC,OAAO,IAAI,IAAI;IAET,MAAM,CAAC,GAAG,EAAE,MAAM,GAAG,OAAO,CAAC,OAAO,CAAC;IAIrC,GAAG,CAAC,GAAG,EAAE,MAAM,GAAG,OAAO,CAAC,SAAS,GAAG,SAAS,CAAC;IAMhD,MAAM,IAAI,OAAO,CAAC,SAAS,EAAE,CAAC;IAI9B,YAAY,IAAI,OAAO,CAAC,SAAS,EAAE,CAAC;IAMpC,MAAM,CAAC,QAAQ,EAAE,eAAe,GAAG,OAAO,CAAC,SAAS,CAAC;IAYrD,UAAU,CAAC,OAAO,EAAE,MAAM,EAAE,GAAG,OAAO,CAAC,IAAI,CAAC;IAS5C,SAAS,CACX,MAAM,EAAE,MAAM,EACd,SAAS,EAAE,IAAI,GAChB,OAAO,CAAC,SAAS,GAAG,SAAS,CAAC;IAS3B,qBAAqB,IAAI,OAAO,CAAC;QACnC,cAAc,EAAE,MAAM,CAAC;QACvB,oBAAoB,EAAE,MAAM,CAAC;QAC7B,YAAY,EAAE,MAAM,CAAC;QACrB,kBAAkB,EAAE,MAAM,CAAC;KAC9B,CAAC;IASI,kBAAkB,IAAI,OAAO,CAAC,MAAM,CAAC;CAG9C"}
1
+ {"version":3,"file":"fake-api-token-store.d.ts","sourceRoot":"","sources":["../../../src/test/fixtures/fake-api-token-store.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,2CAA2C,CAAC;AAChF,OAAO,KAAK,EACR,YAAY,EACZ,SAAS,EACT,eAAe,EAClB,MAAM,0BAA0B,CAAC;AAElC,OAAO,YAAY,MAAM,QAAQ,CAAC;AAElC,MAAM,CAAC,OAAO,OAAO,iBACjB,SAAQ,YACR,YAAW,cAAc;IAEzB,WAAW,IAAI,OAAO,CAAC,GAAG,CAAC,YAAY,EAAE,MAAM,CAAC,CAAC;IAGjD,MAAM,EAAE,SAAS,EAAE,CAAM;IAEnB,MAAM,CAAC,GAAG,EAAE,MAAM,GAAG,OAAO,CAAC,IAAI,CAAC;IAOlC,KAAK,IAAI,OAAO,CAAC,MAAM,CAAC;IAIxB,SAAS,IAAI,OAAO,CAAC,IAAI,CAAC;IAIhC,OAAO,IAAI,IAAI;IAET,MAAM,CAAC,GAAG,EAAE,MAAM,GAAG,OAAO,CAAC,OAAO,CAAC;IAIrC,GAAG,CAAC,GAAG,EAAE,MAAM,GAAG,OAAO,CAAC,SAAS,GAAG,SAAS,CAAC;IAMhD,MAAM,IAAI,OAAO,CAAC,SAAS,EAAE,CAAC;IAI9B,YAAY,IAAI,OAAO,CAAC,SAAS,EAAE,CAAC;IAMpC,MAAM,CACR,QAAQ,EAAE,eAAe,EACzB,eAAe,EAAE,MAAM,GACxB,OAAO,CAAC,SAAS,CAAC;IAYf,UAAU,CAAC,OAAO,EAAE,MAAM,EAAE,GAAG,OAAO,CAAC,IAAI,CAAC;IAS5C,SAAS,CACX,MAAM,EAAE,MAAM,EACd,SAAS,EAAE,IAAI,GAChB,OAAO,CAAC,SAAS,GAAG,SAAS,CAAC;IAS3B,qBAAqB,IAAI,OAAO,CAAC;QACnC,cAAc,EAAE,MAAM,CAAC;QACvB,oBAAoB,EAAE,MAAM,CAAC;QAC7B,YAAY,EAAE,MAAM,CAAC;QACrB,kBAAkB,EAAE,MAAM,CAAC;KAC9B,CAAC;IASI,kBAAkB,IAAI,OAAO,CAAC,MAAM,CAAC;IAI3C,oBAAoB,IAAI,OAAO,CAAC,SAAS,EAAE,CAAC;CAG/C"}
@@ -31,7 +31,7 @@ export default class FakeApiTokenStore extends EventEmitter {
31
31
  async getAllActive() {
32
32
  return this.tokens.filter((token) => !token.expiresAt || token.expiresAt > new Date());
33
33
  }
34
- async insert(newToken) {
34
+ async insert(newToken, createdByUserId) {
35
35
  const apiToken = {
36
36
  createdAt: new Date(),
37
37
  project: newToken.projects?.join(',') || '*',
@@ -69,5 +69,8 @@ export default class FakeApiTokenStore extends EventEmitter {
69
69
  async countProjectTokens() {
70
70
  return 0;
71
71
  }
72
+ getUserDefinedTokens() {
73
+ return Promise.resolve([]);
74
+ }
72
75
  }
73
76
  //# sourceMappingURL=fake-api-token-store.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"fake-api-token-store.js","sourceRoot":"","sources":["../../../src/test/fixtures/fake-api-token-store.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"fake-api-token-store.js","sourceRoot":"","sources":["../../../src/test/fixtures/fake-api-token-store.ts"],"names":[],"mappings":"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"}
@@ -14,7 +14,7 @@ declare class FakeEventStore implements IEventStore {
14
14
  name: string;
15
15
  }[]>;
16
16
  getMaxRevisionId(): Promise<number>;
17
- getDeltaRevisionState(_environment: string, _upperBound: number): Promise<{
17
+ getDeltaRevisionState(_environment: string): Promise<{
18
18
  projectRevisions: Map<string, number>;
19
19
  globalSegmentRevision: number;
20
20
  }>;
@@ -1 +1 @@
1
- {"version":3,"file":"fake-event-store.d.ts","sourceRoot":"","sources":["../../../src/test/fixtures/fake-event-store.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,WAAW,EAAE,MAAM,uCAAuC,CAAC;AACzE,OAAO,KAAK,EAAE,UAAU,EAAE,MAAM,EAAE,MAAM,2BAA2B,CAAC;AAEpE,OAAO,KAAK,EAAE,gBAAgB,EAAE,MAAM,0CAA0C,CAAC;AACjF,OAAO,KAAK,EAAE,qBAAqB,EAAE,MAAM,4BAA4B,CAAC;AACxE,OAAO,KAAK,YAAY,MAAM,QAAQ,CAAC;AAEvC,cAAM,cAAe,YAAW,WAAW;IACvC,MAAM,EAAE,MAAM,EAAE,CAAC;IAEjB,OAAO,CAAC,YAAY,CAAoC;;IAMxD,gBAAgB,CAAC,MAAM,EAAE,MAAM,EAAE,IAAI,EAAE,MAAM,GAAG,OAAO,CAAC,MAAM,EAAE,CAAC;IAIjE,6BAA6B,CACzB,QAAQ,EAAE,MAAM,GACjB,OAAO,CAAC,qBAAqB,CAAC;IAIjC,gBAAgB,IAAI,OAAO,CAAC;QAAE,EAAE,EAAE,MAAM,CAAC;QAAC,IAAI,EAAE,MAAM,CAAA;KAAE,EAAE,CAAC;IAI3D,gBAAgB,IAAI,OAAO,CAAC,MAAM,CAAC;IAInC,qBAAqB,CACjB,YAAY,EAAE,MAAM,EACpB,WAAW,EAAE,MAAM,GACpB,OAAO,CAAC;QACP,gBAAgB,EAAE,GAAG,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC;QACtC,qBAAqB,EAAE,MAAM,CAAC;KACjC,CAAC;IAOF,KAAK,CAAC,KAAK,EAAE,UAAU,GAAG,OAAO,CAAC,IAAI,CAAC;IAUvC,UAAU,CAAC,MAAM,EAAE,UAAU,EAAE,GAAG,OAAO,CAAC,IAAI,CAAC;IAYzC,SAAS,IAAI,OAAO,CAAC,MAAM,EAAE,CAAC;IAI9B,MAAM,CAAC,GAAG,EAAE,MAAM,GAAG,OAAO,CAAC,IAAI,CAAC;IAOlC,SAAS,IAAI,OAAO,CAAC,IAAI,CAAC;IAI1B,KAAK,IAAI,OAAO,CAAC,MAAM,CAAC;IAK9B,iBAAiB,IAAI,OAAO,CAAC,MAAM,CAAC;IAIpC,OAAO,IAAI,IAAI;IAET,MAAM,CAAC,GAAG,EAAE,MAAM,GAAG,OAAO,CAAC,OAAO,CAAC;IAIrC,GAAG,CAAC,GAAG,EAAE,MAAM,GAAG,OAAO,CAAC,MAAM,CAAC;IAIjC,MAAM,IAAI,OAAO,CAAC,MAAM,EAAE,CAAC;IAI3B,YAAY,IAAI,OAAO,CAAC,MAAM,EAAE,CAAC;IAIjC,KAAK,CAAC,UAAU,EAAE,gBAAgB,EAAE,GAAG,OAAO,CAAC,MAAM,EAAE,CAAC;IAKxD,UAAU,CAAC,UAAU,EAAE,gBAAgB,EAAE,GAAG,OAAO,CAAC,MAAM,CAAC;IAKjE,eAAe,CAAC,MAAM,EAAE,MAAM,GAAG,YAAY;IAI7C,EAAE,CACE,SAAS,EAAE,MAAM,GAAG,MAAM,EAC1B,QAAQ,EAAE,CAAC,GAAG,IAAI,EAAE,GAAG,EAAE,KAAK,IAAI,GACnC,YAAY;IAIf,IAAI,CAAC,SAAS,EAAE,MAAM,GAAG,MAAM,EAAE,GAAG,IAAI,EAAE,GAAG,EAAE,GAAG,OAAO;IAIzD,GAAG,CACC,SAAS,EAAE,MAAM,GAAG,MAAM,EAC1B,QAAQ,EAAE,CAAC,GAAG,IAAI,EAAE,GAAG,EAAE,KAAK,IAAI,GACnC,YAAY;IAIf,wBAAwB,IAAI,OAAO,CAAC,IAAI,CAAC;IAIzC,kBAAkB,CAAC,UAAU,EAAE,MAAM,GAAG,OAAO,CAAC,MAAM,GAAG,SAAS,CAAC;CAGtE;AAED,eAAe,cAAc,CAAC"}
1
+ {"version":3,"file":"fake-event-store.d.ts","sourceRoot":"","sources":["../../../src/test/fixtures/fake-event-store.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,WAAW,EAAE,MAAM,uCAAuC,CAAC;AACzE,OAAO,KAAK,EAAE,UAAU,EAAE,MAAM,EAAE,MAAM,2BAA2B,CAAC;AAEpE,OAAO,KAAK,EAAE,gBAAgB,EAAE,MAAM,0CAA0C,CAAC;AACjF,OAAO,KAAK,EAAE,qBAAqB,EAAE,MAAM,4BAA4B,CAAC;AACxE,OAAO,KAAK,YAAY,MAAM,QAAQ,CAAC;AAEvC,cAAM,cAAe,YAAW,WAAW;IACvC,MAAM,EAAE,MAAM,EAAE,CAAC;IAEjB,OAAO,CAAC,YAAY,CAAoC;;IAMxD,gBAAgB,CAAC,MAAM,EAAE,MAAM,EAAE,IAAI,EAAE,MAAM,GAAG,OAAO,CAAC,MAAM,EAAE,CAAC;IAIjE,6BAA6B,CACzB,QAAQ,EAAE,MAAM,GACjB,OAAO,CAAC,qBAAqB,CAAC;IAIjC,gBAAgB,IAAI,OAAO,CAAC;QAAE,EAAE,EAAE,MAAM,CAAC;QAAC,IAAI,EAAE,MAAM,CAAA;KAAE,EAAE,CAAC;IAI3D,gBAAgB,IAAI,OAAO,CAAC,MAAM,CAAC;IAInC,qBAAqB,CAAC,YAAY,EAAE,MAAM,GAAG,OAAO,CAAC;QACjD,gBAAgB,EAAE,GAAG,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC;QACtC,qBAAqB,EAAE,MAAM,CAAC;KACjC,CAAC;IAOF,KAAK,CAAC,KAAK,EAAE,UAAU,GAAG,OAAO,CAAC,IAAI,CAAC;IAUvC,UAAU,CAAC,MAAM,EAAE,UAAU,EAAE,GAAG,OAAO,CAAC,IAAI,CAAC;IAYzC,SAAS,IAAI,OAAO,CAAC,MAAM,EAAE,CAAC;IAI9B,MAAM,CAAC,GAAG,EAAE,MAAM,GAAG,OAAO,CAAC,IAAI,CAAC;IAOlC,SAAS,IAAI,OAAO,CAAC,IAAI,CAAC;IAI1B,KAAK,IAAI,OAAO,CAAC,MAAM,CAAC;IAK9B,iBAAiB,IAAI,OAAO,CAAC,MAAM,CAAC;IAIpC,OAAO,IAAI,IAAI;IAET,MAAM,CAAC,GAAG,EAAE,MAAM,GAAG,OAAO,CAAC,OAAO,CAAC;IAIrC,GAAG,CAAC,GAAG,EAAE,MAAM,GAAG,OAAO,CAAC,MAAM,CAAC;IAIjC,MAAM,IAAI,OAAO,CAAC,MAAM,EAAE,CAAC;IAI3B,YAAY,IAAI,OAAO,CAAC,MAAM,EAAE,CAAC;IAIjC,KAAK,CAAC,UAAU,EAAE,gBAAgB,EAAE,GAAG,OAAO,CAAC,MAAM,EAAE,CAAC;IAKxD,UAAU,CAAC,UAAU,EAAE,gBAAgB,EAAE,GAAG,OAAO,CAAC,MAAM,CAAC;IAKjE,eAAe,CAAC,MAAM,EAAE,MAAM,GAAG,YAAY;IAI7C,EAAE,CACE,SAAS,EAAE,MAAM,GAAG,MAAM,EAC1B,QAAQ,EAAE,CAAC,GAAG,IAAI,EAAE,GAAG,EAAE,KAAK,IAAI,GACnC,YAAY;IAIf,IAAI,CAAC,SAAS,EAAE,MAAM,GAAG,MAAM,EAAE,GAAG,IAAI,EAAE,GAAG,EAAE,GAAG,OAAO;IAIzD,GAAG,CACC,SAAS,EAAE,MAAM,GAAG,MAAM,EAC1B,QAAQ,EAAE,CAAC,GAAG,IAAI,EAAE,GAAG,EAAE,KAAK,IAAI,GACnC,YAAY;IAIf,wBAAwB,IAAI,OAAO,CAAC,IAAI,CAAC;IAIzC,kBAAkB,CAAC,UAAU,EAAE,MAAM,GAAG,OAAO,CAAC,MAAM,GAAG,SAAS,CAAC;CAGtE;AAED,eAAe,cAAc,CAAC"}
@@ -17,7 +17,7 @@ class FakeEventStore {
17
17
  getMaxRevisionId() {
18
18
  return Promise.resolve(1);
19
19
  }
20
- getDeltaRevisionState(_environment, _upperBound) {
20
+ getDeltaRevisionState(_environment) {
21
21
  return Promise.resolve({
22
22
  projectRevisions: new Map(),
23
23
  globalSegmentRevision: 0,
@@ -1 +1 @@
1
- {"version":3,"file":"fake-event-store.js","sourceRoot":"","sources":["../../../src/test/fixtures/fake-event-store.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"fake-event-store.js","sourceRoot":"","sources":["../../../src/test/fixtures/fake-event-store.ts"],"names":[],"mappings":"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"}
@@ -1,9 +1,9 @@
1
1
  import type { ReleasePlanMilestoneStrategy } from '../../lib/features/release-plans/release-plan-milestone-strategy.js';
2
- import type { IReleasePlanMilestoneStrategyStore } from '../../lib/features/release-plans/release-plan-milestone-strategy-store.js';
2
+ import type { IReleasePlanMilestoneStrategyStore, ReleasePlanMilestoneStrategyWriteModel } from '../../lib/features/release-plans/release-plan-milestone-strategy-store.js';
3
3
  import type { MilestoneStrategyConfigUpdate } from '../../lib/types/model.js';
4
4
  export declare class FakeReleasePlanMilestoneStrategyStore implements IReleasePlanMilestoneStrategyStore {
5
5
  private items;
6
- insert(_item: Omit<ReleasePlanMilestoneStrategy, 'id'>): Promise<ReleasePlanMilestoneStrategy>;
6
+ insert(item: ReleasePlanMilestoneStrategyWriteModel): Promise<ReleasePlanMilestoneStrategy>;
7
7
  update(id: string, item: Partial<Omit<ReleasePlanMilestoneStrategy, 'id'>>): Promise<ReleasePlanMilestoneStrategy>;
8
8
  upsert(_strategyId: string, _strategy: Partial<MilestoneStrategyConfigUpdate>): Promise<ReleasePlanMilestoneStrategy>;
9
9
  deleteStrategiesForMilestone(_milestoneId: string): Promise<void>;
@@ -1 +1 @@
1
- {"version":3,"file":"fake-release-plan-milestone-strategy-store.d.ts","sourceRoot":"","sources":["../../../src/test/fixtures/fake-release-plan-milestone-strategy-store.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,4BAA4B,EAAE,MAAM,qEAAqE,CAAC;AACxH,OAAO,KAAK,EAAE,kCAAkC,EAAE,MAAM,2EAA2E,CAAC;AACpI,OAAO,KAAK,EAAE,6BAA6B,EAAE,MAAM,0BAA0B,CAAC;AAE9E,qBAAa,qCACT,YAAW,kCAAkC;IAE7C,OAAO,CAAC,KAAK,CAAsC;IAE7C,MAAM,CACR,KAAK,EAAE,IAAI,CAAC,4BAA4B,EAAE,IAAI,CAAC,GAChD,OAAO,CAAC,4BAA4B,CAAC;IASlC,MAAM,CACR,EAAE,EAAE,MAAM,EACV,IAAI,EAAE,OAAO,CAAC,IAAI,CAAC,4BAA4B,EAAE,IAAI,CAAC,CAAC,GACxD,OAAO,CAAC,4BAA4B,CAAC;IASlC,MAAM,CACR,WAAW,EAAE,MAAM,EACnB,SAAS,EAAE,OAAO,CAAC,6BAA6B,CAAC,GAClD,OAAO,CAAC,4BAA4B,CAAC;IAIlC,4BAA4B,CAAC,YAAY,EAAE,MAAM,GAAG,OAAO,CAAC,IAAI,CAAC;IAIjE,GAAG,CAAC,GAAG,EAAE,MAAM,GAAG,OAAO,CAAC,4BAA4B,GAAG,SAAS,CAAC;IAInE,MAAM,IAAI,OAAO,CAAC,4BAA4B,EAAE,CAAC;IAIjD,MAAM,CAAC,GAAG,EAAE,MAAM,GAAG,OAAO,CAAC,OAAO,CAAC;IAIrC,MAAM,CAAC,GAAG,EAAE,MAAM,GAAG,OAAO,CAAC,IAAI,CAAC;IAIlC,SAAS,IAAI,OAAO,CAAC,IAAI,CAAC;IAIhC,OAAO,IAAI,IAAI;CAClB"}
1
+ {"version":3,"file":"fake-release-plan-milestone-strategy-store.d.ts","sourceRoot":"","sources":["../../../src/test/fixtures/fake-release-plan-milestone-strategy-store.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,4BAA4B,EAAE,MAAM,qEAAqE,CAAC;AACxH,OAAO,KAAK,EACR,kCAAkC,EAClC,sCAAsC,EACzC,MAAM,2EAA2E,CAAC;AACnF,OAAO,KAAK,EAAE,6BAA6B,EAAE,MAAM,0BAA0B,CAAC;AAE9E,qBAAa,qCACT,YAAW,kCAAkC;IAE7C,OAAO,CAAC,KAAK,CAAsC;IAE7C,MAAM,CACR,IAAI,EAAE,sCAAsC,GAC7C,OAAO,CAAC,4BAA4B,CAAC;IAUlC,MAAM,CACR,EAAE,EAAE,MAAM,EACV,IAAI,EAAE,OAAO,CAAC,IAAI,CAAC,4BAA4B,EAAE,IAAI,CAAC,CAAC,GACxD,OAAO,CAAC,4BAA4B,CAAC;IASlC,MAAM,CACR,WAAW,EAAE,MAAM,EACnB,SAAS,EAAE,OAAO,CAAC,6BAA6B,CAAC,GAClD,OAAO,CAAC,4BAA4B,CAAC;IAIlC,4BAA4B,CAAC,YAAY,EAAE,MAAM,GAAG,OAAO,CAAC,IAAI,CAAC;IAIjE,GAAG,CAAC,GAAG,EAAE,MAAM,GAAG,OAAO,CAAC,4BAA4B,GAAG,SAAS,CAAC;IAInE,MAAM,IAAI,OAAO,CAAC,4BAA4B,EAAE,CAAC;IAIjD,MAAM,CAAC,GAAG,EAAE,MAAM,GAAG,OAAO,CAAC,OAAO,CAAC;IAIrC,MAAM,CAAC,GAAG,EAAE,MAAM,GAAG,OAAO,CAAC,IAAI,CAAC;IAIlC,SAAS,IAAI,OAAO,CAAC,IAAI,CAAC;IAIhC,OAAO,IAAI,IAAI;CAClB"}
@@ -2,10 +2,11 @@ export class FakeReleasePlanMilestoneStrategyStore {
2
2
  constructor() {
3
3
  this.items = [];
4
4
  }
5
- async insert(_item) {
5
+ async insert(item) {
6
6
  const strategy = {
7
- ..._item,
7
+ ...item,
8
8
  id: String(this.items.length + 1),
9
+ strategyName: item.name,
9
10
  };
10
11
  this.items.push(strategy);
11
12
  return strategy;
@@ -1 +1 @@
1
- {"version":3,"file":"fake-release-plan-milestone-strategy-store.js","sourceRoot":"","sources":["../../../src/test/fixtures/fake-release-plan-milestone-strategy-store.ts"],"names":[],"mappings":"AAIA,MAAM,OAAO,qCAAqC;IAAlD;QAGY,UAAK,GAAmC,EAAE,CAAC;IAyDvD,CAAC;IAvDG,KAAK,CAAC,MAAM,CACR,KAA+C;QAE/C,MAAM,QAAQ,GAAG;YACb,GAAG,KAAK;YACR,EAAE,EAAE,MAAM,CAAC,IAAI,CAAC,KAAK,CAAC,MAAM,GAAG,CAAC,CAAC;SACJ,CAAC;QAClC,IAAI,CAAC,KAAK,CAAC,IAAI,CAAC,QAAQ,CAAC,CAAC;QAC1B,OAAO,QAAQ,CAAC;IACpB,CAAC;IAED,KAAK,CAAC,MAAM,CACR,EAAU,EACV,IAAuD;QAEvD,MAAM,GAAG,GAAG,IAAI,CAAC,KAAK,CAAC,SAAS,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,EAAE,KAAK,EAAE,CAAC,CAAC;QACrD,IAAI,GAAG,IAAI,CAAC,EAAE,CAAC;YACX,IAAI,CAAC,KAAK,CAAC,GAAG,CAAC,GAAG,EAAE,GAAG,IAAI,CAAC,KAAK,CAAC,GAAG,CAAC,EAAE,GAAG,IAAI,EAAE,CAAC;YAClD,OAAO,IAAI,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC;QAC3B,CAAC;QACD,OAAO,EAAkC,CAAC;IAC9C,CAAC;IAED,KAAK,CAAC,MAAM,CACR,WAAmB,EACnB,SAAiD;QAEjD,OAAO,EAAkC,CAAC;IAC9C,CAAC;IAED,KAAK,CAAC,4BAA4B,CAAC,YAAoB;QACnD,IAAI,CAAC,KAAK,GAAG,IAAI,CAAC,KAAK,CAAC,MAAM,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,WAAW,KAAK,YAAY,CAAC,CAAC;IAC1E,CAAC;IAED,KAAK,CAAC,GAAG,CAAC,GAAW;QACjB,OAAO,IAAI,CAAC,KAAK,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,EAAE,KAAK,GAAG,CAAC,CAAC;IAChD,CAAC;IAED,KAAK,CAAC,MAAM;QACR,OAAO,IAAI,CAAC,KAAK,CAAC;IACtB,CAAC;IAED,KAAK,CAAC,MAAM,CAAC,GAAW;QACpB,OAAO,IAAI,CAAC,KAAK,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,EAAE,KAAK,GAAG,CAAC,CAAC;IAChD,CAAC;IAED,KAAK,CAAC,MAAM,CAAC,GAAW;QACpB,IAAI,CAAC,KAAK,GAAG,IAAI,CAAC,KAAK,CAAC,MAAM,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,EAAE,KAAK,GAAG,CAAC,CAAC;IACxD,CAAC;IAED,KAAK,CAAC,SAAS;QACX,IAAI,CAAC,KAAK,GAAG,EAAE,CAAC;IACpB,CAAC;IAED,OAAO,KAAU,CAAC;CACrB"}
1
+ {"version":3,"file":"fake-release-plan-milestone-strategy-store.js","sourceRoot":"","sources":["../../../src/test/fixtures/fake-release-plan-milestone-strategy-store.ts"],"names":[],"mappings":"AAOA,MAAM,OAAO,qCAAqC;IAAlD;QAGY,UAAK,GAAmC,EAAE,CAAC;IA0DvD,CAAC;IAxDG,KAAK,CAAC,MAAM,CACR,IAA4C;QAE5C,MAAM,QAAQ,GAAG;YACb,GAAG,IAAI;YACP,EAAE,EAAE,MAAM,CAAC,IAAI,CAAC,KAAK,CAAC,MAAM,GAAG,CAAC,CAAC;YACjC,YAAY,EAAE,IAAI,CAAC,IAAI;SACM,CAAC;QAClC,IAAI,CAAC,KAAK,CAAC,IAAI,CAAC,QAAQ,CAAC,CAAC;QAC1B,OAAO,QAAQ,CAAC;IACpB,CAAC;IAED,KAAK,CAAC,MAAM,CACR,EAAU,EACV,IAAuD;QAEvD,MAAM,GAAG,GAAG,IAAI,CAAC,KAAK,CAAC,SAAS,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,EAAE,KAAK,EAAE,CAAC,CAAC;QACrD,IAAI,GAAG,IAAI,CAAC,EAAE,CAAC;YACX,IAAI,CAAC,KAAK,CAAC,GAAG,CAAC,GAAG,EAAE,GAAG,IAAI,CAAC,KAAK,CAAC,GAAG,CAAC,EAAE,GAAG,IAAI,EAAE,CAAC;YAClD,OAAO,IAAI,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC;QAC3B,CAAC;QACD,OAAO,EAAkC,CAAC;IAC9C,CAAC;IAED,KAAK,CAAC,MAAM,CACR,WAAmB,EACnB,SAAiD;QAEjD,OAAO,EAAkC,CAAC;IAC9C,CAAC;IAED,KAAK,CAAC,4BAA4B,CAAC,YAAoB;QACnD,IAAI,CAAC,KAAK,GAAG,IAAI,CAAC,KAAK,CAAC,MAAM,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,WAAW,KAAK,YAAY,CAAC,CAAC;IAC1E,CAAC;IAED,KAAK,CAAC,GAAG,CAAC,GAAW;QACjB,OAAO,IAAI,CAAC,KAAK,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,EAAE,KAAK,GAAG,CAAC,CAAC;IAChD,CAAC;IAED,KAAK,CAAC,MAAM;QACR,OAAO,IAAI,CAAC,KAAK,CAAC;IACtB,CAAC;IAED,KAAK,CAAC,MAAM,CAAC,GAAW;QACpB,OAAO,IAAI,CAAC,KAAK,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,EAAE,KAAK,GAAG,CAAC,CAAC;IAChD,CAAC;IAED,KAAK,CAAC,MAAM,CAAC,GAAW;QACpB,IAAI,CAAC,KAAK,GAAG,IAAI,CAAC,KAAK,CAAC,MAAM,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,EAAE,KAAK,GAAG,CAAC,CAAC;IACxD,CAAC;IAED,KAAK,CAAC,SAAS;QACX,IAAI,CAAC,KAAK,GAAG,EAAE,CAAC;IACpB,CAAC;IAED,OAAO,KAAU,CAAC;CACrB"}
@@ -21,7 +21,7 @@
21
21
  rel="stylesheet"
22
22
  href="https://fonts.googleapis.com/css2?family=Material+Symbols+Outlined:opsz,wght,FILL,GRAD@24,400,0,0"
23
23
  />
24
- <script type="module" crossorigin src="/static/index-DMSjiFEm.js"></script>
24
+ <script type="module" crossorigin src="/static/index-CoLhlfXP.js"></script>
25
25
  <link rel="stylesheet" crossorigin href="/static/style-BfdqROT6.css">
26
26
  </head>
27
27
  <body>
@@ -0,0 +1,3 @@
1
+ import{u as Tt,g as It,r as m,_ as Pt,j as t,a as ve,U as Rt,b as N,B as w,C as F,s as E,d as Ot,c as Lt,e as Bt,f as Ve,h as ee,T as D,G as Ft,i as le,p as Ie,k as Pe,l as ae,A as qe,m as Nt,n as At,o as $t,q as Dt,t as Mt,v as Ht,w as Re,P as Wt,I as Oe,x as q,L as zt,y as Ut,z as _t,D as Gt,E as Ke,F as Je,H as Vt,J as ne,K as Ye,M as ce,N as Ze,O as qt,Q as te,R as be,S as Kt,V as Jt,W as Yt,X as Qe,Y as oe,Z as Zt,$ as Qt,a0 as Xt,a1 as en,a2 as tn,a3 as nn,a4 as rn,a5 as an,a6 as sn,a7 as on,a8 as ln,a9 as O,aa as de,ab as cn,ac as dn,ad as un,ae as hn,af as gn,ag as fn,ah as Le,ai as Xe,aj as je,ak as Ce,al as et,am as Se,an as tt,ao as nt,ap as rt,aq as mn,ar as Be,as as pn,at as xn,au as bn,av as he,aw as at,ax as yn,ay as vn,az as jn,aA as Cn,aB as Sn,aC as kn}from"./index-CoLhlfXP.js";import{c as wn,d as En,s as Tn,h as In,f as Pn,a as Rn,l as On,b as Ln,e as Bn,g as Fn,i as Nn,j as An,k as $n,m as Dn,E as ie,n as Mn,o as ke,p as Hn,q as Wn,r as zn,t as Un,u as _n,v as Gn,w as Vn,x as qn,y as st,z as Kn,A as V,H as ot,B as o,C as Jn,D as Yn,S as Zn,F as Qn,G as Xn}from"./index-B87DWXbl.js";import{u as er}from"./useApiTokens-ClWvohC9.js";const tr=()=>{const{makeRequest:e,createRequest:n,errors:r,loading:a}=Tt({propagateErrors:!0}),s="api/admin/playground";return{evaluateAdvancedPlayground:async i=>{const h=`${s}/advanced`,u=n(h,{method:"POST",body:JSON.stringify(i)});return(await e(u.caller,u.id)).json()},evaluateChangeRequestPlayground:async(i,h)=>{const u=`${s}/change-request/${i}`,c=n(u,{method:"POST",body:JSON.stringify(h)});return(await e(c.caller,c.id)).json()},errors:r,loading:a}};var we={exports:{}};function it(e,n=100,r={}){if(typeof e!="function")throw new TypeError(`Expected the first parameter to be a function, got \`${typeof e}\`.`);if(n<0)throw new RangeError("`wait` must not be negative.");const{immediate:a}=typeof r=="boolean"?{immediate:r}:r;let s,l,d,i,h;function u(){const f=s,b=l;return s=void 0,l=void 0,h=e.apply(f,b),h}function c(){const f=Date.now()-i;f<n&&f>=0?d=setTimeout(c,n-f):(d=void 0,a||(h=u()))}const g=function(...f){if(s&&this!==s&&Object.getPrototypeOf(this)===Object.getPrototypeOf(s))throw new Error("Debounced method called with different contexts of the same prototype.");s=this,l=f,i=Date.now();const b=a&&!d;return d||(d=setTimeout(c,n)),b&&(h=u()),h};return Object.defineProperty(g,"isPending",{get(){return d!==void 0}}),g.clear=()=>{d&&(clearTimeout(d),d=void 0)},g.flush=()=>{d&&g.trigger()},g.trigger=()=>{h=u(),g.clear()},g}we.exports.debounce=it;we.exports=it;var nr=we.exports;const rr=It(nr);var Fe=function(n){n===void 0&&(n={});var{crosshairCursor:r=!1}=n,a=[];n.closeBracketsKeymap!==!1&&(a=a.concat(wn)),n.defaultKeymap!==!1&&(a=a.concat(En)),n.searchKeymap!==!1&&(a=a.concat(Tn)),n.historyKeymap!==!1&&(a=a.concat(In)),n.foldKeymap!==!1&&(a=a.concat(Pn)),n.completionKeymap!==!1&&(a=a.concat(Rn)),n.lintKeymap!==!1&&(a=a.concat(On));var s=[];return n.lineNumbers!==!1&&s.push(Ln()),n.highlightActiveLineGutter!==!1&&s.push(Bn()),n.highlightSpecialChars!==!1&&s.push(Fn()),n.history!==!1&&s.push(Nn()),n.foldGutter!==!1&&s.push(An()),n.drawSelection!==!1&&s.push($n()),n.dropCursor!==!1&&s.push(Dn()),n.allowMultipleSelections!==!1&&s.push(ie.allowMultipleSelections.of(!0)),n.indentOnInput!==!1&&s.push(Mn()),n.syntaxHighlighting!==!1&&s.push(ke(Kn,{fallback:!0})),n.bracketMatching!==!1&&s.push(Hn()),n.closeBrackets!==!1&&s.push(Wn()),n.autocompletion!==!1&&s.push(zn()),n.rectangularSelection!==!1&&s.push(Un()),r!==!1&&s.push(_n()),n.highlightActiveLine!==!1&&s.push(Gn()),n.highlightSelectionMatches!==!1&&s.push(Vn()),n.tabSize&&typeof n.tabSize=="number"&&s.push(qn.of(" ".repeat(n.tabSize))),s.concat([st.of(a.flat())]).filter(Boolean)};const ar="#e5c07b",Ne="#e06c75",sr="#56b6c2",or="#ffffff",se="#abb2bf",ye="#7d8799",ir="#61afef",lr="#98c379",Ae="#d19a66",cr="#c678dd",dr="#21252b",$e="#2c313a",De="#282c34",ge="#353a42",ur="#3E4451",Me="#528bff",hr=V.theme({"&":{color:se,backgroundColor:De},".cm-content":{caretColor:Me},".cm-cursor, .cm-dropCursor":{borderLeftColor:Me},"&.cm-focused > .cm-scroller > .cm-selectionLayer .cm-selectionBackground, .cm-selectionBackground, .cm-content ::selection":{backgroundColor:ur},".cm-panels":{backgroundColor:dr,color:se},".cm-panels.cm-panels-top":{borderBottom:"2px solid black"},".cm-panels.cm-panels-bottom":{borderTop:"2px solid black"},".cm-searchMatch":{backgroundColor:"#72a1ff59",outline:"1px solid #457dff"},".cm-searchMatch.cm-searchMatch-selected":{backgroundColor:"#6199ff2f"},".cm-activeLine":{backgroundColor:"#6699ff0b"},".cm-selectionMatch":{backgroundColor:"#aafe661a"},"&.cm-focused .cm-matchingBracket, &.cm-focused .cm-nonmatchingBracket":{backgroundColor:"#bad0f847"},".cm-gutters":{backgroundColor:De,color:ye,border:"none"},".cm-activeLineGutter":{backgroundColor:$e},".cm-foldPlaceholder":{backgroundColor:"transparent",border:"none",color:"#ddd"},".cm-tooltip":{border:"none",backgroundColor:ge},".cm-tooltip .cm-tooltip-arrow:before":{borderTopColor:"transparent",borderBottomColor:"transparent"},".cm-tooltip .cm-tooltip-arrow:after":{borderTopColor:ge,borderBottomColor:ge},".cm-tooltip-autocomplete":{"& > ul > li[aria-selected]":{backgroundColor:$e,color:se}}},{dark:!0}),gr=ot.define([{tag:o.keyword,color:cr},{tag:[o.name,o.deleted,o.character,o.propertyName,o.macroName],color:Ne},{tag:[o.function(o.variableName),o.labelName],color:ir},{tag:[o.color,o.constant(o.name),o.standard(o.name)],color:Ae},{tag:[o.definition(o.name),o.separator],color:se},{tag:[o.typeName,o.className,o.number,o.changed,o.annotation,o.modifier,o.self,o.namespace],color:ar},{tag:[o.operator,o.operatorKeyword,o.url,o.escape,o.regexp,o.link,o.special(o.string)],color:sr},{tag:[o.meta,o.comment],color:ye},{tag:o.strong,fontWeight:"bold"},{tag:o.emphasis,fontStyle:"italic"},{tag:o.strikethrough,textDecoration:"line-through"},{tag:o.link,color:ye,textDecoration:"underline"},{tag:o.heading,fontWeight:"bold",color:Ne},{tag:[o.atom,o.bool,o.special(o.variableName)],color:Ae},{tag:[o.processingInstruction,o.string,o.inserted],color:lr},{tag:o.invalid,color:or}]),fr=[hr,ke(gr)];var mr=V.theme({"&":{backgroundColor:"#fff"}},{dark:!1}),pr=function(n){n===void 0&&(n={});var{indentWithTab:r=!0,editable:a=!0,readOnly:s=!1,theme:l="light",placeholder:d="",basicSetup:i=!0}=n,h=[];switch(r&&h.unshift(st.of([Jn])),i&&(typeof i=="boolean"?h.unshift(Fe()):h.unshift(Fe(i))),d&&h.unshift(Yn(d)),l){case"light":h.push(mr);break;case"dark":h.push(fr);break;case"none":break;default:h.push(l);break}return a===!1&&h.push(V.editable.of(!1)),s&&h.push(ie.readOnly.of(!0)),[...h]},xr=e=>({line:e.state.doc.lineAt(e.state.selection.main.from),lineCount:e.state.doc.lines,lineBreak:e.state.lineBreak,length:e.state.doc.length,readOnly:e.state.readOnly,tabSize:e.state.tabSize,selection:e.state.selection,selectionAsSingle:e.state.selection.asSingle().main,ranges:e.state.selection.ranges,selectionCode:e.state.sliceDoc(e.state.selection.main.from,e.state.selection.main.to),selections:e.state.selection.ranges.map(n=>e.state.sliceDoc(n.from,n.to)),selectedText:e.state.selection.ranges.some(n=>!n.empty)});class br{constructor(n,r){this.timeLeftMS=void 0,this.timeoutMS=void 0,this.isCancelled=!1,this.isTimeExhausted=!1,this.callbacks=[],this.timeLeftMS=r,this.timeoutMS=r,this.callbacks.push(n)}tick(){if(!this.isCancelled&&!this.isTimeExhausted&&(this.timeLeftMS--,this.timeLeftMS<=0)){this.isTimeExhausted=!0;var n=this.callbacks.slice();this.callbacks.length=0,n.forEach(r=>{try{r()}catch(a){console.error("TimeoutLatch callback error:",a)}})}}cancel(){this.isCancelled=!0,this.callbacks.length=0}reset(){this.timeLeftMS=this.timeoutMS,this.isCancelled=!1,this.isTimeExhausted=!1}get isDone(){return this.isCancelled||this.isTimeExhausted}}class He{constructor(){this.interval=null,this.latches=new Set}add(n){this.latches.add(n),this.start()}remove(n){this.latches.delete(n),this.latches.size===0&&this.stop()}start(){this.interval===null&&(this.interval=setInterval(()=>{this.latches.forEach(n=>{n.tick(),n.isDone&&this.remove(n)})},1))}stop(){this.interval!==null&&(clearInterval(this.interval),this.interval=null)}}var fe=null,yr=()=>typeof window>"u"?new He:(fe||(fe=new He),fe),We=Qn.define(),vr=200,jr=[];function Cr(e){var{value:n,selection:r,onChange:a,onStatistics:s,onCreateEditor:l,onUpdate:d,extensions:i=jr,autoFocus:h,theme:u="light",height:c=null,minHeight:g=null,maxHeight:f=null,width:b=null,minWidth:T=null,maxWidth:I=null,placeholder:S="",editable:P=!0,readOnly:A=!1,indentWithTab:R=!0,basicSetup:p=!0,root:k,initialState:v}=e,[x,j]=m.useState(),[y,L]=m.useState(),[U,_]=m.useState(),B=m.useState(()=>({current:null}))[0],H=m.useState(()=>({current:null}))[0],Z=V.theme({"&":{height:c,minHeight:g,maxHeight:f,width:b,minWidth:T,maxWidth:I},"& .cm-scroller":{height:"100% !important"}}),Q=V.updateListener.of($=>{if($.docChanged&&typeof a=="function"&&!$.transactions.some(X=>X.annotation(We))){B.current?B.current.reset():(B.current=new br(()=>{if(H.current){var X=H.current;H.current=null,X()}B.current=null},vr),yr().add(B.current));var M=$.state.doc,W=M.toString();a(W,$)}s&&s(xr($))}),J=pr({theme:u,editable:P,readOnly:A,placeholder:S,indentWithTab:R,basicSetup:p}),K=[Q,Z,...J];return d&&typeof d=="function"&&K.push(V.updateListener.of(d)),K=K.concat(i),m.useLayoutEffect(()=>{if(x&&!U){var $={doc:n,selection:r,extensions:K},M=v?ie.fromJSON(v.json,$,v.fields):ie.create($);if(_(M),!y){var W=new V({state:M,parent:x,root:k});L(W),l&&l(W,M)}}return()=>{y&&(_(void 0),L(void 0))}},[x,U]),m.useEffect(()=>{e.container&&j(e.container)},[e.container]),m.useEffect(()=>()=>{y&&(y.destroy(),L(void 0)),B.current&&(B.current.cancel(),B.current=null)},[y]),m.useEffect(()=>{h&&y&&y.focus()},[h,y]),m.useEffect(()=>{y&&y.dispatch({effects:Zn.reconfigure.of(K)})},[u,i,c,g,f,b,T,I,S,P,A,R,p,a,d]),m.useEffect(()=>{if(n!==void 0){var $=y?y.state.doc.toString():"";if(y&&n!==$){var M=B.current&&!B.current.isDone,W=()=>{y&&n!==y.state.doc.toString()&&y.dispatch({changes:{from:0,to:y.state.doc.toString().length,insert:n||""},annotations:[We.of(!0)]})};M?H.current=W:W()}}},[n,y]),{state:U,setState:_,view:y,setView:L,container:x,setContainer:j}}var Sr=["className","value","selection","extensions","onChange","onStatistics","onCreateEditor","onUpdate","autoFocus","theme","height","minHeight","maxHeight","width","minWidth","maxWidth","basicSetup","placeholder","indentWithTab","editable","readOnly","root","initialState"],lt=m.forwardRef((e,n)=>{var{className:r,value:a="",selection:s,extensions:l=[],onChange:d,onStatistics:i,onCreateEditor:h,onUpdate:u,autoFocus:c,theme:g="light",height:f,minHeight:b,maxHeight:T,width:I,minWidth:S,maxWidth:P,basicSetup:A,placeholder:R,indentWithTab:p,editable:k,readOnly:v,root:x,initialState:j}=e,y=Pt(e,Sr),L=m.useRef(null),{state:U,view:_,container:B,setContainer:H}=Cr({root:x,value:a,autoFocus:c,theme:g,height:f,minHeight:b,maxHeight:T,width:I,minWidth:S,maxWidth:P,basicSetup:A,placeholder:R,indentWithTab:p,editable:k,readOnly:v,selection:s,onChange:d,onStatistics:i,onCreateEditor:h,onUpdate:u,extensions:l,initialState:j});m.useImperativeHandle(n,()=>({editor:L.current,state:U,view:_}),[L,B,U,_]);var Z=m.useCallback(J=>{L.current=J,H(J)},[H]);if(typeof a!="string")throw new Error("value must be typeof string but got "+typeof a);var Q=typeof g=="string"?"cm-theme-"+g:"cm-theme";return t.jsx("div",ve({ref:Z,className:""+Q+(r?" "+r:"")},y))});lt.displayName="CodeMirror";var ct=e=>{var{theme:n,settings:r={},styles:a=[]}=e,s={".cm-gutters":{}},l={};r.background&&(l.backgroundColor=r.background),r.backgroundImage&&(l.backgroundImage=r.backgroundImage),r.foreground&&(l.color=r.foreground),r.fontSize&&(l.fontSize=r.fontSize),(r.background||r.foreground)&&(s["&"]=l),r.fontFamily&&(s["&.cm-editor .cm-scroller"]={fontFamily:r.fontFamily}),r.gutterBackground&&(s[".cm-gutters"].backgroundColor=r.gutterBackground),r.gutterForeground&&(s[".cm-gutters"].color=r.gutterForeground),r.gutterBorder&&(s[".cm-gutters"].borderRightColor=r.gutterBorder),r.caret&&(s[".cm-content"]={caretColor:r.caret},s[".cm-cursor, .cm-dropCursor"]={borderLeftColor:r.caret});var d={};r.gutterActiveForeground&&(d.color=r.gutterActiveForeground),r.lineHighlight&&(s[".cm-activeLine"]={backgroundColor:r.lineHighlight},d.backgroundColor=r.lineHighlight),s[".cm-activeLineGutter"]=d,r.selection&&(s["&.cm-focused .cm-selectionBackground, & .cm-line::selection, & .cm-selectionLayer .cm-selectionBackground, .cm-content ::selection"]={background:r.selection+" !important"}),r.selectionMatch&&(s["& .cm-selectionMatch"]={backgroundColor:r.selectionMatch});var i=V.theme(s,{dark:n==="dark"}),h=ot.define(a),u=[i,ke(h)];return u},kr={background:"#faf8f5",foreground:"#b29762",caret:"#93abdc",selection:"#e3dcce",selectionMatch:"#e3dcce",gutterBackground:"#faf8f5",gutterForeground:"#cdc4b1",gutterBorder:"transparent",lineHighlight:"#ddceb154"},wr=[{tag:[o.comment,o.bracket],color:"#b6ad9a"},{tag:[o.atom,o.number,o.keyword,o.link,o.attributeName,o.quote],color:"#063289"},{tag:[o.emphasis,o.heading,o.tagName,o.propertyName,o.variableName],color:"#2d2006"},{tag:[o.typeName,o.url,o.string],color:"#896724"},{tag:[o.operator,o.string],color:"#1659df"},{tag:[o.propertyName],color:"#b29762"},{tag:[o.unit,o.punctuation],color:"#063289"}],Er=e=>{var{theme:n="light",settings:r={},styles:a=[]}={};return ct({theme:n,settings:ve({},kr,r),styles:[...wr,...a]})},Tr=Er(),Ir={background:"#2a2734",foreground:"#6c6783",caret:"#ffad5c",selection:"#91ff6c26",selectionMatch:"#91ff6c26",gutterBackground:"#2a2734",gutterForeground:"#545167",lineHighlight:"#36334280"},Pr=[{tag:[o.comment,o.bracket],color:"#6c6783"},{tag:[o.atom,o.number,o.keyword,o.link,o.attributeName,o.quote],color:"#ffcc99"},{tag:[o.emphasis,o.heading,o.tagName,o.propertyName,o.className,o.variableName],color:"#eeebff"},{tag:[o.typeName,o.url],color:"#7a63ee"},{tag:o.operator,color:"#ffad5c"},{tag:o.string,color:"#ffb870"},{tag:[o.propertyName],color:"#9a86fd"},{tag:[o.unit,o.punctuation],color:"#e09142"}],Rr=e=>{var{theme:n="dark",settings:r={},styles:a=[]}={};return ct({theme:n,settings:ve({},Ir,r),styles:[...Pr,...a]})},Or=Rr();const Lr=E("aside")(({theme:e})=>({height:"50px",backgroundColor:e.palette.background.paper,borderTopRightRadius:e.shape.borderRadiusMedium,borderTopLeftRadius:e.shape.borderRadiusMedium,padding:e.spacing(1,2),color:e.palette.text.primary,display:"flex",justifyContent:"space-between",alignItems:"center",border:`1px solid ${e.palette.divider}`})),dt=E("div")(({theme:e,style:n})=>({width:e.spacing(3),height:e.spacing(3),display:"flex",alignItems:"center",color:e.palette.background.paper,justifyContent:"center",transition:"background-color 0.5s ease-in-out",borderRadius:"50%",...n})),Br=E("div")(({theme:e})=>({fontSize:e.fontSizes.smallBody,color:e.palette.error.dark,marginRight:e.spacing(1)})),Fr=()=>{const e=N();return t.jsx(dt,{style:{backgroundColor:e.palette.success.main},children:t.jsx(Ot,{sx:n=>({width:n.spacing(2),height:n.spacing(2)})})})},Nr=()=>{const e=N();return t.jsx(dt,{style:{backgroundColor:e.palette.error.main},children:t.jsx(Lt,{})})},Ar=({context:e,setContext:n,error:r})=>{const{themeMode:a}=m.useContext(Rt),s=N(),l=m.useCallback(i=>{n(i)},[n]),d=`calc(6 * ${s.typography.body1.fontSize} * ${s.typography.body1.lineHeight}) + 8px`;return t.jsxs(w,{sx:{width:"100%"},children:[t.jsxs(Lr,{children:["JSON",t.jsx(F,{condition:!!r,show:t.jsxs(w,{sx:i=>({display:"flex",alignItems:"center"}),children:[t.jsx(Br,{children:r}),t.jsx(Nr,{})]}),elseShow:t.jsx(Fr,{})})]}),t.jsx(lt,{value:e,minHeight:d,theme:a==="dark"?Or:Tr,extensions:[Xn()],onChange:l,style:{border:`1px solid ${s.palette.divider}`,borderTop:"none"},placeholder:JSON.stringify({currentTime:"2022-07-04T14:13:03.929Z",appName:"playground",userId:"test",remoteAddress:"127.0.0.1"},null,2)})]})};function ut(e){return Array.isArray(e)?e:[e]}const $r=e=>!e||e.length===0||e.length===1&&e[0]==="*"?"*":ut(e),Dr=e=>ut(e),Mr=e=>{const n=Hr(e);return n.length>0?n[0]:""},Hr=e=>e.filter(({enabled:n})=>!!n).sort((n,r)=>n.sortOrder-r.sortOrder).map(({name:n})=>n),Wr=(e,n)=>"100%",zr=e=>typeof e=="string"?!0:Array.isArray(e)?e.every(n=>typeof n=="string"):!1,Ur=e=>{const n=new Set(["appName","environment","userId","sessionId","remoteAddress","currentTime","properties"]),r={...e};let a=!1;for(const s in e)n.has(s)||(r.properties||(r.properties={}),r.properties[s]=e[s],delete r[s],a=!0);return!a&&!e.properties&&delete r.properties,r},_r=e=>{const[n]=e.split("."),[r,a]=n.split(":");if(!r||!a)throw new Error("Invalid token format");if(a==="*")throw new Error("Admin tokens are not supported in the playground")},Gr=e=>{const[n]=e.split(".");return n.split(":")},Vr=e=>Bt({mode:"all"},e),qr=e=>{const n=s=>s.toSorted((l,d)=>l.sortOrder-d.sortOrder).map(l=>({key:l.name,label:l.name})),r=e.reduce(({project:s,global:l},d)=>(d.project?s.push(d):l.push(d),{project:s,global:l}),{project:[],global:[]}),a=[];return r.project.length&&a.push({groupHeader:"Project context fields",options:n(r.project)}),r.global.length&&a.push({groupHeader:"Global context fields",options:n(r.global)}),a},Kr=({context:e,setContext:n})=>{const r=N(),{setToastData:a}=Ve(),{context:s}=Vr(),l=qr(s),[d,i]=m.useState(),[h,u]=m.useState(!1),[c,g]=m.useState(""),[f,b]=m.useState(""),T=m.useMemo(()=>rr(p=>{var k;if(!p)return i(void 0);try{const v=JSON.parse(p);u(v[c]!==void 0||((k=v==null?void 0:v.properties)==null?void 0:k[c])!==void 0)}catch(v){return i(ee(v))}return i(void 0)},250),[i,c,u]);m.useEffect(()=>{T(e)},[T,e]);const I=()=>{try{const p=JSON.parse(e||"{}");n(JSON.stringify(Ur({...p,[c]:f}),null,2));const k=s.find(v=>v.name===c);if(k!=null&&k.legalValues&&k.legalValues.length>0||c==="currentTime")return b("")}catch(p){a({type:"error",text:`Error parsing context: ${ee(p)}`})}},S=(p,k)=>{if(zr(k)){if(Array.isArray(k)){const v=(k||[]).length>1?k.join(","):k[0];return b(v)}b(k)}},P=()=>{if(!f||f==="")return[];const p=s.find(v=>v.name===c),k=((p==null?void 0:p.legalValues)||[]).length>1;return f.includes(",")&&k?f.split(","):[f]},A=()=>{if(c==="currentTime"){const k=Ie(f),x=k?Pe(k.toISOString()):Pe(new Date().toISOString());return t.jsx(ae,{id:"date",label:"Date",size:"small",type:"datetime-local",value:x,sx:{width:200,maxWidth:"100%"},onChange:j=>{const y=Ie(j.target.value),L=y==null?void 0:y.toISOString();L&&b(L)},InputLabelProps:{shrink:!0},required:!0})}const p=s.find(k=>k.name===c);if(p!=null&&p.legalValues&&p.legalValues.length>0){const k=p.legalValues.map(({value:v})=>v);return t.jsx(qe,{disablePortal:!0,limitTags:3,id:"context-legal-values",multiple:!0,options:k,disableCloseOnSelect:!0,size:"small",value:P(),onChange:S,getOptionLabel:v=>v,renderOption:(v,x,{selected:j})=>t.jsxs("li",{...v,children:[t.jsx(Nt,{icon:t.jsx($t,{fontSize:"small"}),checkedIcon:t.jsx(At,{fontSize:"small"}),sx:y=>({marginRight:y.spacing(.5)}),checked:j}),x]}),sx:{width:370,maxWidth:"100%"},renderInput:v=>t.jsx(ae,{...v,label:"Value"})})}return t.jsx(ae,{label:"Value",id:"context-value",sx:{width:370,maxWidth:"100%"},placeholder:"value1,value2,value3",size:"small",value:f,onChange:k=>b(k.target.value||"")})},R=p=>{if(g(p||""),p==="currentTime")return b(new Date().toISOString());b("")};return t.jsxs(w,{children:[t.jsx(w,{sx:{display:"flex",alignItems:"center",mb:2},children:t.jsx(D,{variant:"body2",color:r.palette.text.primary,sx:{ml:1},children:"Unleash context"})}),t.jsxs(w,{sx:{display:"flex",gap:2,flexWrap:"wrap",mb:2},children:[t.jsx(Ft,{label:"Context field",labelId:"context-field-label",id:"context-field",value:c,onChange:R,variant:"outlined",size:"small",sx:{width:200,maxWidth:"100%"},options:l}),A(),t.jsx(le,{variant:"outlined",disabled:!c||!!d,onClick:I,sx:{width:"95px",maxHeight:"40px"},children:`${h?"Replace":"Add"} `})]}),t.jsx(Ar,{context:e,setContext:n,error:d})]})},Jr=({environments:e,setEnvironments:n,availableEnvironments:r,disabled:a})=>{const s=[...r.map(i=>({label:i,id:i}))],l=s.filter(({id:i})=>e.includes(i)),d=(i,h,u)=>{const c=h;return u==="clear"||c===null?n([]):Array.isArray(c)?c.length===0?n([]):n(c.map(({id:g})=>g)):n([c.id])};return t.jsx(qe,{disablePortal:!0,limitTags:3,id:"environment",multiple:!0,options:s,sx:{flex:1},renderInput:i=>t.jsx(ae,{...i,label:"Environments"}),renderOption:Dt,renderTags:(i,h)=>i.map((u,c)=>{const{key:g,...f}=h({index:c});return t.jsx(Mt,{size:"small",...f,label:u.label},g)}),getOptionLabel:({label:i})=>i,disableCloseOnSelect:!1,size:"small",value:l,onChange:d,disabled:a,"data-testid":"PLAYGROUND_ENVIRONMENT_SELECT"})},me={label:"ALL",id:"*"},ze=E(_t)({fontSize:"1.25rem"}),ht=E(Ut)(()=>({width:"100%"})),Yr=E(w)(({theme:e})=>({display:"grid",columnGap:e.spacing(2),rowGap:e.spacing(2),gridTemplateColumns:"1fr",[e.breakpoints.up("md")]:{gridTemplateColumns:"1fr 1fr"}})),Zr=E(ht)(({theme:e})=>({"& label":{WebkitTextFillColor:e.palette.text.secondary},"& input.Mui-disabled":{WebkitTextFillColor:e.palette.text.secondary}})),Qr=({environments:e,projects:n,token:r,setProjects:a,setEnvironments:s,setToken:l,availableEnvironments:d,changeRequest:i,onClearChangeRequest:h})=>{const u=N(),{tokens:c}=er(),[g,f]=m.useState(),{projects:b}=Ht(),T=[me,...b.map(({name:x,id:j})=>({label:x,id:j}))],I=async x=>{const j=x.target.value;if(l==null||l(j),j===""){k();return}try{_r(j),f(void 0),S(j)}catch(y){f(y.message)}},S=x=>{const[j,y]=Gr(x);switch(s([y]),j){case"[]":A(x);break;case"*":R();break;default:p(j)}},P=x=>{!x.projects||x.projects==="*"?a([me.id]):typeof x.projects=="string"?a([x.projects]):Array.isArray(x.projects)&&a(x.projects)},A=x=>{const j=c.find(({secret:y})=>y===x);j?P(j):f("Invalid token. Ensure you use a valid token from this Unleash instance.")},R=()=>{a([me.id])},p=x=>{T.map(j=>j.id).includes(x)?a([x]):f(`Invalid token. Project ${x} does not exist.`)},k=()=>{f(void 0)},v=()=>{l==null||l(""),k()};return t.jsxs(w,{sx:{pb:2},children:[t.jsx(w,{sx:{display:"flex",alignItems:"center",mb:2},children:t.jsx(D,{variant:"body2",color:u.palette.text.primary,sx:{ml:1},children:"Access configuration"})}),t.jsxs(Yr,{children:[t.jsx(w,{children:t.jsx(Re,{arrow:!0,title:r?"Environment is automatically selected because you are using a token":"Select environments to use in the playground",children:t.jsx(w,{children:t.jsx(Jr,{environments:e,setEnvironments:s,availableEnvironments:d,disabled:!!(r||i)})})})}),t.jsx(w,{children:t.jsx(Re,{arrow:!0,title:r?"Project is automatically selected because you are using a token":"Select projects to use in the playground",children:t.jsx(Wt,{selectedProjects:n,onChange:a,dataTestId:"PLAYGROUND_PROJECT_SELECT",disabled:!!(r||i),limitTags:3})})}),t.jsx(w,{children:t.jsx(ht,{label:"API token",value:r||(i?" ":""),onChange:I,type:"text",error:!!g,errorText:g,placeholder:"Enter your API token","data-testid":"PLAYGROUND_TOKEN_INPUT",InputProps:{endAdornment:r?t.jsx(Oe,{position:"end","data-testid":"TOKEN_INPUT_CLEAR_BTN",children:t.jsx(q,{"aria-label":"clear API token",onClick:v,edge:"end",children:t.jsx(ze,{})})}):null},disabled:!!i})}),t.jsx(F,{condition:!!i,show:t.jsxs(w,{sx:{display:"flex",gap:2},children:[t.jsx(w,{sx:{flex:1},children:t.jsx(Zr,{label:"Change request",value:i?`Change request #${i}`:"",onChange:()=>{},type:"text",disabled:!0,InputProps:{endAdornment:t.jsx(Oe,{position:"end",children:t.jsx(q,{"aria-label":"clear Change request results",onClick:h,edge:"end",children:t.jsx(ze,{})})})}})}),t.jsx(le,{variant:"outlined",size:"small",to:`/projects/${n[0]}/change-requests/${i}`,component:zt,children:"View change request"})]})})]})]})},Xr=({availableEnvironments:e,environments:n,onSubmit:r,projects:a,token:s,setToken:l,setProjects:d,setEnvironments:i,context:h,setContext:u,changeRequest:c,onClearChangeRequest:g})=>t.jsxs(w,{component:"form",onSubmit:r,sx:{display:"flex",flexDirection:"column"},children:[t.jsx(Qr,{environments:Array.isArray(n)?n:[n],projects:a,token:s,setToken:l,setEnvironments:i,setProjects:d,availableEnvironments:e.map(({name:f})=>f),changeRequest:c,onClearChangeRequest:g}),t.jsx(Kr,{context:h,setContext:u}),t.jsx(w,{sx:{mt:2,display:"flex",alignItems:"center",justifyContent:"space-between"},children:t.jsx(le,{variant:"contained",size:"large",type:"submit",sx:{marginLeft:"auto"},children:"Try configuration"})})]}),ea=E("div")(({style:e,theme:n})=>({width:"25px",height:"25px",borderRadius:"50%",color:n.palette.common.white,display:"flex",alignItems:"center",justifyContent:"center",fontWeight:"bold",...e})),ta=({style:e,children:n,type:r})=>{const a=N(),s={backgroundColor:a.palette.background.alternative,color:a.palette.common.white};return r==="secondary"&&(s.backgroundColor=a.palette.background.paper,s.color=a.palette.text.secondary),t.jsx(ea,{style:{...s,...e},children:n})},pe=({headerText:e,bodyText:n,sectionNumber:r})=>t.jsx(w,{sx:{display:"flex",alignItems:"flex-start",mt:2,flexDirection:"column"},children:t.jsxs(w,{sx:{display:"flex"},children:[t.jsx(w,{children:t.jsx(ta,{children:r})}),t.jsxs(w,{sx:{ml:2,display:"flex",flexDirection:"column"},children:[t.jsx(D,{variant:"body1",sx:{fontWeight:"bold"},children:e}),t.jsx(F,{condition:!!n,show:t.jsx(D,{variant:"body1",sx:{mt:1},children:n})})]})]})}),gt=()=>t.jsxs(w,{sx:{ml:4},children:[t.jsx(D,{variant:"body1",children:"Unleash playground is for helping you to understand how Unleash works, how feature flags are evaluated and for you to easily debug your feature flags."}),t.jsx(Gt,{sx:{mt:2,mb:2}}),t.jsx(D,{variant:"body1",sx:{mb:1},children:"What you need to do is:"}),t.jsx(pe,{headerText:`Select in which environment you want to test your
2
+ feature flag configuration`,bodyText:`You can also specify specific projects, or check
3
+ flags in all projects.`,sectionNumber:"1"}),t.jsx(pe,{headerText:"Select a context field that you'd like to check",bodyText:"You can configure as many context fields as you want. You can also leave the context empty to test against an empty context.",sectionNumber:"2"}),t.jsx(pe,{headerText:"Submit the form to try the configuration",bodyText:"The results of evaluating your feature flags will appear after you submit the form. Then view the results.",sectionNumber:"3"})]});var Ee={},na=Je;Object.defineProperty(Ee,"__esModule",{value:!0});var ft=Ee.default=void 0,ra=na(Ke()),aa=t,sa=(0,ra.default)((0,aa.jsx)("path",{d:"M12 2C6.48 2 2 6.48 2 12s4.48 10 10 10 10-4.48 10-10S17.52 2 12 2zm1 17h-2v-2h2v2zm2.07-7.75-.9.92C13.45 12.9 13 13.5 13 15h-2v-.5c0-1.1.45-2.1 1.17-2.83l1.24-1.26c.37-.36.59-.86.59-1.41 0-1.1-.9-2-2-2s-2 .9-2 2H8c0-2.21 1.79-4 4-4s4 1.79 4 4c0 .88-.36 1.68-.93 2.25z"}),"Help");ft=Ee.default=sa;const oa=E(ne)(({theme:e})=>({"& .MuiPaper-root":{borderRadius:e.shape.borderRadiusExtraLarge,border:`1px solid ${e.palette.divider}`,padding:e.spacing(8,4),maxWidth:"500px"}})),ia=()=>{const[e,n]=m.useState(null),r=l=>n(l.currentTarget),a=()=>n(null),s=!!e;return t.jsxs(w,{children:[t.jsx(q,{onClick:r,"aria-label":"Open Playground guidance",children:t.jsx(ft,{})}),t.jsxs(oa,{open:s,anchorEl:e,onClose:a,anchorOrigin:{vertical:"bottom",horizontal:"center"},transformOrigin:{vertical:"top",horizontal:"center"},sx:l=>({zIndex:l.zIndex.tooltip,background:"none"}),children:[t.jsx(q,{onClick:a,sx:{position:"absolute",right:25,top:15},children:t.jsx(Vt,{})}),t.jsx(gt,{})]})]})},la=e=>m.createElement("svg",{width:14,height:14,viewBox:"0 0 14 14",fill:"none",xmlns:"http://www.w3.org/2000/svg",...e},m.createElement("path",{fillRule:"evenodd",clipRule:"evenodd",d:"M8.84818 0.184159C8.56367 -0.0789547 8.1234 -0.0575747 7.86482 0.231912C7.60623 0.521399 7.62724 0.96937 7.91175 1.23248C9.48292 2.68551 10.6076 4.74934 10.6076 7C10.6076 9.25066 9.48292 11.3145 7.91175 12.7675C7.62724 13.0306 7.60623 13.4786 7.86482 13.7681C8.1234 14.0576 8.56367 14.079 8.84818 13.8158C10.6396 12.1592 11.9998 9.73702 11.9998 7C11.9998 4.26298 10.6396 1.84083 8.84818 0.184159ZM6.04105 2.23302C6.29109 1.93586 6.73054 1.90121 7.02259 2.15563C8.33146 3.29586 9.35426 5.02309 9.35426 6.99995C9.35426 8.97682 8.33145 10.7039 7.02259 11.8441C6.73054 12.0986 6.29109 12.0639 6.04105 11.7668C5.79101 11.4696 5.82506 11.0225 6.11711 10.768C7.19425 9.82969 7.96199 8.46967 7.96199 6.99995C7.96199 5.53021 7.19423 4.17007 6.11711 3.23173C5.82506 2.97731 5.79101 2.53017 6.04105 2.23302ZM6.56908 7.00015C6.56908 8.56492 5.3224 9.83342 3.78454 9.83342C2.24668 9.83342 1 8.56492 1 7.00015C1 5.43539 2.24668 4.16689 3.78454 4.16689C5.3224 4.16689 6.56908 5.43539 6.56908 7.00015Z",fill:"currentColor"})),ca=e=>m.createElement("svg",{width:14,height:14,viewBox:"0 0 14 14",fill:"none",xmlns:"http://www.w3.org/2000/svg",...e},m.createElement("path",{fillRule:"evenodd",clipRule:"evenodd",d:"M8.84835 0.184159C8.56384 -0.0789547 8.12358 -0.0575747 7.86499 0.231912C7.6064 0.521399 7.62741 0.96937 7.91192 1.23248C9.4831 2.68551 10.6078 4.74934 10.6078 7C10.6078 7.40738 10.5709 7.80863 10.5012 8.20125L11.6597 9.35972C11.8783 8.60937 12 7.81877 12 7C12 4.26298 10.6397 1.84083 8.84835 0.184159ZM9.35443 6.99995L9.35418 7.0542L7.63252 5.33255C7.30901 4.52372 6.76993 3.80029 6.11728 3.23173C5.82523 2.97731 5.79118 2.53017 6.04122 2.23302C6.29127 1.93586 6.73072 1.90121 7.02276 2.15563C8.33164 3.29586 9.35443 5.02309 9.35443 6.99995ZM7.57827 8.79752L6.48307 7.70233C6.17606 8.92745 5.08437 9.83342 3.78471 9.83342C2.24685 9.83342 1.00017 8.56492 1.00017 7.00015C1.00017 5.69492 1.8676 4.59583 3.04789 4.26714L0.458225 1.67748C0.172794 1.39205 0.178843 0.923223 0.471736 0.63033C0.764629 0.337437 1.23345 0.331388 1.51889 0.616819L13.2132 12.3111C13.4986 12.5965 13.4926 13.0654 13.1997 13.3583C12.9068 13.6511 12.4379 13.6572 12.1525 13.3718L10.556 11.7753C10.0694 12.539 9.48623 13.2259 8.84835 13.8158C8.56384 14.079 8.12358 14.0576 7.86499 13.7681C7.6064 13.4786 7.62741 13.0306 7.91192 12.7675C8.54021 12.1865 9.0971 11.5078 9.53922 10.7585L8.62356 9.84281C8.20906 10.6195 7.64861 11.2989 7.02276 11.8441C6.73072 12.0986 6.29127 12.0639 6.04122 11.7668C5.79118 11.4696 5.82523 11.0225 6.11728 10.768C6.73471 10.2302 7.25048 9.55374 7.57827 8.79752Z",fill:"currentColor"})),da=e=>e==="unknown"||e==="unevaluated"?[ce,"info"]:e===!0?[la,"success"]:[ca,"error"],Y=({enabled:e,label:n,showIcon:r=!0})=>{const[a,s]=da(e);return t.jsx(Ye,{color:s,icon:r?t.jsx(a,{"aria-hidden":!0,color:s,strokeWidth:"0.25"}):void 0,children:n})},ua=E(w)(({theme:e})=>({display:"flex",alignItems:"center",padding:e.spacing(1,0,1,2)})),ha=E(w)(()=>({marginRight:"auto"})),mt=({feature:e})=>{const[n,r]=(()=>{var a;return e!=null&&e.isEnabled?[!0,"True"]:((a=e==null?void 0:e.strategies)==null?void 0:a.result)==="unknown"?["unknown","Unknown"]:[!1,"False"]})();return t.jsx(ua,{children:t.jsx(ha,{"data-loading":!0,children:t.jsx(Y,{enabled:n,label:r,showIcon:n!=="unknown"})})})};function pt(e){return e===void 0?!0:Object.values(e).every(n=>n&&typeof n=="object"?pt(n):n===null)}const Ue=e=>{var n,r;return(r=(n=e.strategies)==null?void 0:n.data)==null?void 0:r.find(a=>!Ze.includes(a.name))},ga=e=>{var n,r,a,s;return((r=(n=e.strategies)==null?void 0:n.data)==null?void 0:r.length)>0&&!((s=(a=e.strategies)==null?void 0:a.data)!=null&&s.find(l=>Ze.includes(l.name)))},fa=E("div")({display:"flex",justifyContent:"space-between",width:"100%"}),ma=E("hgroup")(({theme:e})=>({display:"inline-flex",alignItems:"center",gap:e.spacing(1.5)})),pa=E("h3")(({theme:e})=>({fontWeight:"bold",fontSize:e.typography.subtitle1.fontSize,margin:0})),xa=({feature:e,input:n,onClose:r})=>{var c;const a=N(),[s,l,d]=e.isEnabled?[`This feature flag is True in ${n==null?void 0:n.environment} because `,"at least one strategy is True",a.palette.success.contrastText]:e.hasUnsatisfiedDependency&&!e.isEnabledInCurrentEnvironment?[`This feature flag is False in ${n==null?void 0:n.environment} because `,"parent dependency is not satisfied and the environment is disabled",a.palette.error.contrastText]:e.isEnabledInCurrentEnvironment?ga(e)?[`This feature flag is Unknown in ${n==null?void 0:n.environment} because `,"no strategies could be fully evaluated",a.palette.warning.contrastText]:Ue(e)?[`This feature flag is Unknown in ${n==null?void 0:n.environment} because `,"not all strategies could be fully evaluated",a.palette.warning.contrastText]:e.hasUnsatisfiedDependency?[`This feature flag is False in ${n==null?void 0:n.environment} because `,"parent dependency is not satisfied",a.palette.error.contrastText]:[`This feature flag is False in ${n==null?void 0:n.environment} because `,"all strategies are either False or could not be fully evaluated",a.palette.error.contrastText]:[`This feature flag is False in ${n==null?void 0:n.environment} because `,"the environment is disabled",a.palette.error.contrastText],i=pt(n==null?void 0:n.context)?"You did not provide a value for your context field in step 2 of the configuration":void 0,h=Ue(e)?"This feature uses custom strategies. Custom strategies can't be evaluated, so they will be marked accordingly.":void 0,u=r&&(g=>{g.stopPropagation(),r()});return t.jsxs(t.Fragment,{children:[t.jsxs(fa,{children:[t.jsxs(ma,{children:[t.jsx(pa,{children:e.name}),t.jsx("p",{children:((c=e==null?void 0:e.strategies)==null?void 0:c.result)!=="unknown"?t.jsx(Y,{enabled:e.isEnabled,label:e.isEnabled?"True":"False"}):t.jsx(Y,{enabled:"unknown",label:"Unknown",showIcon:!1})})]}),t.jsx(q,{"aria-label":"Close",onClick:u,children:t.jsx(qt,{})})]}),t.jsxs("p",{children:[s,t.jsx(D,{color:d,component:"span",children:l}),"."]}),i?t.jsx(te,{color:"info",children:i}):null,h?t.jsx(te,{severity:"warning",color:"info",children:h}):null]})},xt=E("div",{shouldForwardProp:e=>e!=="variant"})(({theme:e,variant:n})=>({"--font-size":e.typography.body2.fontSize,display:"flex",alignItems:"center",gap:e.spacing(1),padding:e.spacing(.5,.25),color:n==="ok"?e.palette.success.dark:e.palette.error.dark,fontSize:"var(--font-size)",svg:{fontSize:"calc(var(--font-size) * 1.25)"}})),ba=()=>t.jsxs(xt,{variant:"ok",children:[t.jsx(Jt,{"aria-hidden":"true"}),t.jsx("p",{children:"Constraint met by value in context"})]}),ya=({text:e})=>t.jsxs(xt,{variant:"error",children:[t.jsx(Yt,{"aria-hidden":"true"}),t.jsx("p",{children:e})]}),bt=({constraint:e,input:n})=>{if(!e)return null;const r=()=>{const a=n==null?void 0:n.context[e.contextName];return e.operator==="REGEX"&&a&&e.value?`Constraint not met – the value in the context ${e.contextName}: { ${a} } is not matching ${e.operator} ${e.value}`:a?`Constraint not met – the value in the context: { ${a} } is not ${e.operator} ${e.contextName}`:`Constraint not met – no value was specified for ${e.contextName}`};return t.jsx(be,{children:t.jsxs("div",{children:[t.jsx(Kt,{...e}),e.result?t.jsx(ba,{}):t.jsx(ya,{text:r()})]})})},va=E(w)(({theme:e})=>({width:"auto",height:"auto",padding:e.spacing(2,3),borderRadius:e.shape.borderRadiusMedium,border:`1px solid ${e.palette.divider}`})),ja=({segment:e,input:n})=>{const r=e.constraints.length>0?t.jsx(Qe,{children:e.constraints.map(a=>t.jsx(bt,{constraint:a,input:n},oe(a)))}):void 0;return t.jsx(Zt,{segment:e,constraintList:r,isExpanded:!0})},Ca=({strategyResult:e,input:n})=>{const{name:r,constraints:a,segments:s,parameters:l}=e,d=Qt(e),{strategies:i}=Xt(),{isCustomStrategy:h,customStrategyParameters:u}=en(e,i),c=!!(s&&s.length>0),g=!!(a&&(a==null?void 0:a.length)>0),f=r!=="default"&&Object.keys(tn).includes(r);if(!l)return null;const b=[...c?s.map(S=>t.jsx(ja,{segment:S,input:n},oe(S))):[],...g?a.map(S=>t.jsx(bt,{constraint:S,input:n},oe(S))):[],f&&d.map((S,P)=>t.jsx(be,{children:S},P)),h&&u.map((S,P)=>t.jsx(be,{children:S},P)),r==="default"&&t.jsxs(va,{sx:{width:"100%"},children:["The standard strategy is ",t.jsx(Ye,{color:"success",children:"ON"})," for all users."]},"default-on")].filter(Boolean),{variant:T,variants:I}=e.result;return t.jsxs(t.Fragment,{children:[t.jsx(Qe,{children:b}),I!=null&&I.length?t.jsx(nn,{variants:I,selected:T==null?void 0:T.name}):null]})},Sa=({strategy:e,input:n,className:r})=>{const{result:a}=e,s=a.evaluationStatus==="incomplete"||a.evaluationStatus==="unevaluated"?"Not evaluated":a.enabled?"True":"False";return t.jsx(rn,{strategy:{...e,id:`${oe(e)}`},strategyHeaderLevel:4,className:r,headerItemsLeft:e.disabled?null:t.jsx(Y,{showIcon:!1,enabled:a.enabled,label:s}),children:t.jsx(Ca,{strategyResult:e,input:n})})},ka=E("hgroup")(({theme:e})=>({paddingBottom:e.spacing(2)})),wa=E("h4")(({theme:e})=>({fontWeight:"normal",fontSize:e.typography.body1.fontSize,margin:0})),Ea=E("p")(({theme:e})=>({fontWeight:"bold",fontSize:e.typography.body2.fontSize})),Ta=E(on)(({theme:e})=>({marginInline:"calc(var(--popover-inline-padding) * -1)",borderTop:`1px solid ${e.palette.divider}`,"> li:last-of-type":{paddingBottom:0}})),_e=({strategies:e,input:n,titlePrefix:r,infoText:a})=>e.length===0?null:t.jsxs("div",{children:[t.jsxs(ka,{children:[t.jsx(wa,{children:`${r?r.concat(" strategies"):"Strategies"} (${e==null?void 0:e.length})`}),a?t.jsx(Ea,{children:a}):null]}),t.jsx(Ta,{children:e==null?void 0:e.map((s,l)=>t.jsxs(an,{children:[l>0?t.jsx(sn,{}):"",t.jsx(Sa,{strategy:s,input:n})]},s.id))})]}),Ia=({feature:e})=>{var r,a;if(!((r=e==null?void 0:e.strategies)!=null&&r.data))return null;let n;if(e.hasUnsatisfiedDependency&&!e.isEnabledInCurrentEnvironment)n="If the environment was enabled and parent dependencies were satisfied";else if(e.hasUnsatisfiedDependency)n="If parent dependencies were satisfied";else if(!e.isEnabledInCurrentEnvironment)n="If the environment was enabled";else return;return t.jsxs(te,{severity:"info",color:"info",children:[n,", then this feature flag would be"," ",(a=e.strategies)!=null&&a.result?"TRUE":"FALSE"," with strategies evaluated like this:"]})},Pa=({feature:e,input:n})=>{var l,d,i,h,u;const r=(d=(l=e.strategies)==null?void 0:l.data)==null?void 0:d.filter(c=>!c.disabled),a=(h=(i=e.strategies)==null?void 0:i.data)==null?void 0:h.filter(c=>c.disabled),s=(a==null?void 0:a.length)>0;return(((u=e==null?void 0:e.strategies)==null?void 0:u.data.length)??0)===0?t.jsx(te,{severity:"info",children:"There are no strategies added to this feature flag in the selected environment."}):t.jsxs(t.Fragment,{children:[t.jsx(Ia,{feature:e}),t.jsx(_e,{strategies:r||[],input:n,titlePrefix:s?"Enabled":void 0}),s?t.jsx(_e,{strategies:a,input:n,titlePrefix:"Disabled",infoText:"Disabled strategies are not evaluated for the overall result."}):null]})},Ra=E("div")(({theme:e})=>({alignItems:"flex-end",color:e.palette.divider})),Oa=({feature:e,input:n})=>{const[r,a]=m.useState(!1),s=m.useRef(null),l=()=>{a(!r)};return t.jsxs(Ra,{children:[t.jsx(q,{onClick:l,children:t.jsx(ce,{ref:s})}),t.jsxs(ne,{open:r,onClose:()=>a(!1),anchorEl:s.current,PaperProps:{sx:d=>({"--popover-inline-padding":d.spacing(4),paddingInline:"var(--popover-inline-padding)",paddingBlock:d.spacing(3),display:"flex",flexDirection:"column",width:728,maxWidth:"100%",height:"auto",gap:d.spacing(3),overflowY:"auto",backgroundColor:d.palette.background.elevation1,borderRadius:d.shape.borderRadius})},anchorOrigin:{vertical:"top",horizontal:"right"},transformOrigin:{vertical:"center",horizontal:"left"},children:[t.jsx(xa,{feature:e,input:n,onClose:()=>a(!1)}),t.jsx(Pa,{feature:e,input:n})]})]})},yt=e=>e.feature?t.jsx(Oa,{...e}):null;var Te={},La=Je;Object.defineProperty(Te,"__esModule",{value:!0});var vt=Te.default=void 0,Ba=La(Ke()),Fa=t,Na=(0,Ba.default)((0,Fa.jsx)("path",{d:"M12 2C6.48 2 2 6.48 2 12s4.48 10 10 10 10-4.48 10-10S17.52 2 12 2zm0 18c-4.41 0-8-3.59-8-8s3.59-8 8-8 8 3.59 8 8-3.59 8-8 8zm4.59-12.42L10 14.17l-2.59-2.58L6 13l4 4 8-8z"}),"CheckCircleOutlined");vt=Te.default=Na;const Aa=E("div")(({theme:e})=>({padding:e.spacing(4),maxWidth:"400px"})),xe=E(D)(({theme:e})=>({marginBottom:e.spacing(2)})),$a=E(vt)(({theme:e})=>({color:e.palette.success.main})),Da=({variants:e,selectedVariant:n})=>{const r=N(),a=m.useMemo(()=>e.map(c=>({name:c.name,weight:`${ln(c.weight)}%`,selected:c.name===n})),[e,n]),s=m.useMemo(()=>({sortBy:[{id:"name",desc:!1}]}),[]),{getTableProps:l,getTableBodyProps:d,headerGroups:i,rows:h,prepareRow:u}=O.useTable({initialState:s,columns:Ma,data:a,sortTypes:de,autoResetGlobalFilter:!1,autoResetSortBy:!1,disableSortRemove:!0},O.useGlobalFilter,O.useSortBy);return t.jsxs(Aa,{children:[t.jsx(xe,{variant:"subtitle2",children:"Variant Information"}),t.jsx(xe,{variant:"body2",children:"The following table shows the variants defined on this feature toggle and the variant result based on your context configuration."}),t.jsx(xe,{variant:"body2",children:'If you include "userId" or "sessionId" in your context, the variant will be the same every time because unleash uses these properties to ensure that the user receives the same experience.'}),t.jsxs(cn,{...l(),rowHeight:"dense",children:[t.jsx(dn,{headerGroups:i}),t.jsx(un,{...d(),children:h.map(c=>{const g={};c.original.selected||(g.color=r.palette.text.secondary),u(c);const{key:f,...b}=c.getRowProps();return t.jsx(hn,{hover:!0,...b,children:c.cells.map(T=>{const{key:I,...S}=T.getCellProps();return t.jsx(gn,{...S,style:g,children:T.render("Cell")},I)})},f)})})]})]})},Ma=[{id:"Icon",Cell:({row:{original:{selected:e}}})=>t.jsx(t.Fragment,{children:t.jsx(F,{condition:e,show:t.jsx(fn,{icon:t.jsx($a,{})})})}),maxWidth:25,disableGlobalFilter:!0},{Header:"Name",accessor:"name",searchable:!0,Cell:({row:{original:{name:e}}})=>t.jsx(Le,{children:e}),maxWidth:175,width:175},{Header:"Weight",accessor:"weight",sortType:"alphanumeric",searchable:!0,maxWidth:75,Cell:({row:{original:{weight:e}}})=>t.jsx(Le,{children:e})}],Ha=E("div")(()=>({maxWidth:"100%",display:"flex",alignItems:"center",wordBreak:"break-all"})),Wa=({variant:e,variants:n,feature:r,isEnabled:a})=>{const s=N(),[l,d]=m.useState(null),i=c=>d(c.currentTarget),h=()=>d(null),u=!!l;return t.jsxs(Ha,{children:[e,t.jsx(F,{condition:!!n&&n.length>0&&a,show:t.jsxs(t.Fragment,{children:[t.jsx(q,{onClick:i,children:t.jsx(ce,{})}),t.jsx(ne,{open:u,id:`${r}-result-variants`,PaperProps:{sx:{borderRadius:`${s.shape.borderRadiusLarge}px`}},onClose:h,anchorEl:l,anchorOrigin:{vertical:"bottom",horizontal:-320},children:t.jsx(Da,{variants:n,selectedVariant:e})})]})})]})},za=({features:e})=>{const n=N(),r=Xe(n.breakpoints.down("sm")),a=Object.keys(e[0].context).map(c=>({Header:Ce(c),accessor:g=>g.context[c],minWidth:160,Cell:je})),s=m.useMemo(()=>[...a,{Header:"Variant",id:"variant",accessor:"variant.name",sortType:"alphanumeric",filterName:"variant",maxWidth:200,Cell:({value:c,row:{original:{variant:g,feature:f,variants:b,isEnabled:T}}})=>t.jsx(Wa,{variant:g!=null&&g.enabled?c:"",variants:b,feature:f,isEnabled:T})},{id:"isEnabled",Header:"isEnabled",filterName:"isEnabled",accessor:c=>{var g;return c!=null&&c.isEnabled?"true":((g=c==null?void 0:c.strategies)==null?void 0:g.result)==="unknown"?"unknown":"false"},Cell:({row:c})=>t.jsx(mt,{feature:c.original}),sortType:"playgroundResultState",maxWidth:120,sortInverted:!0},{Header:"",maxWidth:70,id:"info",Cell:({row:c})=>t.jsx(yt,{feature:c.original,input:{environment:c.original.environment,context:c.original.context}})}],[]),{headerGroups:l,rows:d,prepareRow:i,setHiddenColumns:h}=O.useTable({columns:s,data:e,sortTypes:de,autoResetGlobalFilter:!1,autoResetHiddenColumns:!1,autoResetSortBy:!1,disableSortRemove:!0,disableMultiSort:!0},O.useGlobalFilter,O.useFlexLayout,O.useSortBy);et([{condition:r,columns:["variant"]}],h,s);const u=m.useRef(null);return t.jsx(w,{ref:u,sx:{overflow:"auto",maxHeight:"800px"},children:t.jsx(Se,{parentRef:u,rows:d,headerGroups:l,prepareRow:i})})},Ua=E("div",{})(({theme:e})=>({flexGrow:0,...tt,justifyContent:"flex-start",margin:e.spacing(0,1.5)})),_a=E(w)(({theme:e})=>({display:"flex",flexDirection:"row",gap:e.spacing(1)})),Ga=({value:e})=>{const n=N(),[r,a]=m.useState(null),s=u=>a(u.currentTarget),l=()=>a(null),d=!!r,i=(e||[]).filter(u=>u.isEnabled),h=(e||[]).filter(u=>!u.isEnabled);return t.jsxs(Ua,{children:[t.jsxs(_a,{children:[t.jsx(F,{condition:i.length>0,show:t.jsx(Y,{enabled:!0,label:`${i.length}`,showIcon:!0})}),t.jsx(F,{condition:h.length>0,show:t.jsx(Y,{enabled:!1,label:`${h.length}`,showIcon:!0})})]}),t.jsxs(t.Fragment,{children:[t.jsx(q,{onClick:s,children:t.jsx(ce,{})}),t.jsxs(ne,{open:d,id:`${e}-result-details`,PaperProps:{sx:{borderRadius:`${n.shape.borderRadiusLarge}px`,padding:n.spacing(3)}},onClose:l,anchorEl:r,anchorOrigin:{vertical:"bottom",horizontal:-320},children:[t.jsx(D,{variant:"subtitle2",sx:{mb:3},children:e[0].environment}),t.jsx(za,{features:e})]})]})]})},Va=({features:e})=>{const n=Object.keys(e),r=e[n[0]],a=r[0].context,s=m.useMemo(()=>r.map((f,b)=>({...Object.fromEntries(n.map(T=>[T,e[T][b]]))})),[JSON.stringify(e)]),l=Object.keys(a).map(f=>({Header:Ce(f),accessor:b=>b[n[0]].context[f],minWidth:160,Cell:je})),d=n.map(f=>({Header:f,accessor:b=>{var T,I,S;return(T=b[f])!=null&&T.isEnabled?"true":((S=(I=b[f])==null?void 0:I.strategies)==null?void 0:S.result)==="unknown"?"unknown":"false"},Cell:({row:b})=>t.jsxs(w,{sx:{display:"flex"},children:[t.jsx(mt,{feature:b.original[f]}),t.jsx(yt,{feature:b.original[f],input:{environment:b.original[f].environment,context:b.original[f].context}})]}),sortType:"playgroundResultState",maxWidth:140})),i=m.useMemo(()=>[...l,...d],[]),{headerGroups:h,rows:u,prepareRow:c}=O.useTable({columns:i,data:s,sortTypes:de,autoResetGlobalFilter:!1,autoResetHiddenColumns:!1,autoResetSortBy:!1,disableSortRemove:!0,disableMultiSort:!0},O.useGlobalFilter,O.useFlexLayout,O.useSortBy),g=m.useRef(null);return t.jsx(w,{ref:g,sx:{overflow:"auto",maxHeight:"800px"},children:t.jsx(Se,{parentRef:g,rows:u,headerGroups:h,prepareRow:c})})},qa=E("div",{})(({theme:e})=>({flexGrow:0,...tt,justifyContent:"flex-start",margin:e.spacing(0,1.5)})),Ka=E(le)(({theme:e})=>({textAlign:"left",textDecorationStyle:"dotted",textDecorationLine:"underline",textUnderlineOffset:e.spacing(.75),color:e.palette.neutral.dark,padding:0,fontWeight:"normal"})),Ja=({value:e})=>{const n=N(),[r,a]=m.useState(null),s=i=>a(i.currentTarget),l=()=>a(null),d=!!r;return t.jsx(qa,{children:t.jsxs(t.Fragment,{children:[t.jsx(Ka,{variant:"text",onClick:s,children:"View diff"}),t.jsxs(ne,{open:d,id:`${e}-result-details`,PaperProps:{sx:{borderRadius:`${n.shape.borderRadiusLarge}px`,padding:n.spacing(3)}},onClose:l,anchorEl:r,anchorOrigin:{vertical:"bottom",horizontal:-320},children:[t.jsx(D,{variant:"subtitle2",sx:{mb:3},children:"Environments diff"}),t.jsx(Va,{features:e})]})]})})},Ya=e=>e.reduce((n,r)=>n+Object.values(r.environments).flatMap(a=>Object.keys(a)).length,0),Za=e=>e<0?"invalid bucket":e>=2e4?"20000+":e>=1e4?"10000-20000":e>=1e3?"1000-10000":e>=100?"100-1000":"0-100",Qa={id:"name"},{value:Ge,setValue:Xa}=at("AdvancedPlaygroundResultsTable:v1",Qa),es=({features:e,input:n,loading:r})=>{const{trackEvent:a}=nt();e&&a("playground",{props:{eventType:"number-of-combinations",count:Za(Ya(e))}});const[s,l]=rt(),d=mn(r),[i,h]=m.useState(s.get("search")||""),u=N(),c=Xe(u.breakpoints.down("md")),g=e&&e.length>0?Object.keys(e[0].environments).length:0,f=m.useMemo(()=>{var x;return[{Header:"Name",accessor:"name",searchable:!0,minWidth:160,Cell:({value:j,row:{original:y}})=>t.jsx(Be,{title:j,to:`/projects/${y==null?void 0:y.projectId}/features/${j}`})},{Header:"Project ID",accessor:"projectId",sortType:"alphanumeric",filterName:"projectId",searchable:!0,minWidth:150,Cell:({value:j})=>t.jsx(Be,{title:j,to:`/projects/${j}`})},...((x=n==null?void 0:n.environments)==null?void 0:x.map(j=>({Header:r?()=>"":Ce(j),maxWidth:150,id:`environments.${j}`,align:"flex-start",Cell:({row:y})=>t.jsx(Ga,{value:y.original.environments[j]})})))||[],...g>1?[{Header:"Diff",minWidth:150,id:"diff",align:"left",Cell:({row:j})=>t.jsx(Ja,{value:j.original.environments})}]:[]]},[n]),{data:b,getSearchText:T,getSearchContext:I}=pn(f,i,e||[]),S=m.useMemo(()=>r?Array(5).fill({name:"Feature name",projectId:"Feature Project",environments:{name:"Feature Environments",variants:[]},enabled:!0}):b,[b,r]),[P]=m.useState(()=>({sortBy:[{id:s.get("sort")||Ge.id,desc:s.has("order")?s.get("order")==="desc":Ge.desc}]})),{headerGroups:A,rows:R,state:{sortBy:p},prepareRow:k,setHiddenColumns:v}=O.useTable({initialState:P,columns:f,data:S,sortTypes:de,autoResetGlobalFilter:!1,autoResetHiddenColumns:!1,autoResetSortBy:!1,disableSortRemove:!0,disableMultiSort:!0,defaultColumn:{Cell:je}},O.useGlobalFilter,O.useFlexLayout,O.useSortBy);return et([{condition:c,columns:["projectId"]}],v,f),m.useEffect(()=>{if(r)return;const x=Object.fromEntries(s);x.sort=p[0].id,p[0].desc?x.order="desc":x.order&&delete x.order,i?x.search=i:delete x.search,l(x,{replace:!0}),Xa({id:p[0].id,desc:p[0].desc||!1})},[r,p,i]),t.jsxs(t.Fragment,{children:[t.jsxs(w,{sx:{display:"flex",justifyContent:"space-between",alignItems:"center",mb:3},children:[t.jsx(D,{variant:"subtitle1",sx:{ml:1},children:e!==void 0&&!r?`Results (${R.length<S.length?`${R.length} of ${S.length}`:S.length})`:"Results"}),t.jsx(xn,{initialValue:i,onChange:h,hasFilters:!0,getSearchContext:I,disabled:r,containerStyles:{marginLeft:"1rem",maxWidth:"400px"}})]}),t.jsx(F,{condition:!r&&!S,show:()=>t.jsx(he,{children:S===void 0?"None of the feature flags were evaluated yet.":"No results found."}),elseShow:()=>t.jsxs(w,{ref:d,sx:{overflow:"auto"},children:[t.jsx(bn,{value:T(i),children:t.jsx(Se,{rows:R,headerGroups:A,prepareRow:k})}),t.jsx(F,{condition:S.length===0&&(i==null?void 0:i.length)>0,show:t.jsxs(he,{children:["No feature flags found matching “",i,"”"]})}),t.jsx(F,{condition:S&&S.length===0&&!i,show:t.jsx(he,{children:"No features flags to display"})})]})})]})},jt=E(te)(({theme:e})=>({marginBottom:e.spacing(3)})),ts=({response:e})=>{var r;const n=(r=e==null?void 0:e.warnings)==null?void 0:r.invalidContextProperties;if(n&&n.length>0){n.sort();const a="Some context properties were not taken into account during evaluation",s=E("details")(({theme:l})=>({"* + *":{marginBlockStart:l.spacing(1)}}));return t.jsx(jt,{severity:"warning",children:t.jsxs(s,{children:[t.jsx("summary",{children:a}),t.jsx("p",{children:"The context you provided for this query contained top-level properties with invalid values. These properties were not taken into consideration when evaluating your query. The properties are:"}),t.jsx("ul",{children:n.map(l=>t.jsx("li",{"data-testid":"context-warning-list-element",children:t.jsx("code",{children:l})},l))}),t.jsxs("p",{children:["Remember that context fields (with the exception of the"," ",t.jsx("code",{children:"properties"})," object) must be strings."]}),t.jsx("p",{children:"Because we didn't take these properties into account during the feature flag evaluation, they will not appear in the results table."})]})})}else return null},ss=({FormComponent:e=Xr})=>{const n={projects:[],environments:[]},{value:r,setValue:a}=at("AdvancedPlayground:v1",n),{trackEvent:s}=nt(),{environments:l}=yn(),d=N(),[i,h]=m.useState(),[u,c]=m.useState(r.environments),[g,f]=m.useState(r.projects),[b,T]=m.useState(r.token),[I,S]=m.useState(r.context),[P,A]=m.useState(),{setToastData:R}=Ve(),[p,k]=rt(),[v,x]=m.useState(),{evaluateAdvancedPlayground:j,evaluateChangeRequestPlayground:y,loading:L,errors:U}=tr(),[_,B]=m.useState(!1);m.useEffect(()=>{(u==null?void 0:u.length)===0&&l.length>0&&c([Mr(l)])},[JSON.stringify(u),JSON.stringify(l)]),m.useEffect(()=>{H()},[]);const H=async()=>{try{const C=Z(),z=Q(),re=J();K(),$(),C&&re&&await M(C||[],z||"*",re)}catch(C){R({type:"error",text:`Failed to parse URL parameters: ${ee(C)}`})}},Z=()=>{let C=null;const z=p.get("environments");return z&&(C=z.split(","),c(C)),C},Q=()=>{let C=null;const z=p.get("projects");return z&&(C=z.split(","),f(C)),C},J=()=>{let C=p.get("context");return C&&(C=decodeURI(C),S(C)),C},K=()=>{let C=p.get("token");return C&&(C=decodeURI(C),T(C)),C},$=()=>{const C=p.get("changeRequest");C&&x(C)},M=async(C,z,re,ue)=>{try{h(void 0);const G={appName:"playground",...JSON.parse(re||"{}")},Et=v?await y(v,{context:G}):await j({environments:Dr(C),projects:$r(z),context:G});ue&&typeof ue=="function"&&ue(),A(Et)}catch(G){G instanceof vn?h(G.message):G instanceof SyntaxError?R({type:"error",text:`Error parsing context: ${ee(G)}`}):R({type:"error",text:ee(G)})}},W=()=>{let C="default";b&&b!==""?C="api_token":v&&(C="change_request"),s("playground",{props:{eventType:"try-configuration",mode:C}})},X=async C=>{C.preventDefault(),B(!0),W(),await M(u,g,I,()=>{St(),v||a({environments:u,projects:g,context:I})})},Ct=()=>{x(void 0)},St=()=>{p.set("context",encodeURI(I||"")),Array.isArray(u)&&u.length>0&&!(u.length===1&&u[0]==="*")?p.set("environments",u.join(",")):p.delete("projects"),Array.isArray(g)&&g.length>0&&!(g.length===1&&g[0]==="*")?p.set("projects",g.join(",")):p.delete("projects"),v?p.set("changeRequest",v):p.delete("changeRequest"),k(p)},kt="auto",wt=Wr();return t.jsx(jn,{header:t.jsx(kn,{title:"Unleash playground",actions:t.jsx(ia,{})}),disableLoading:!0,bodyClass:"no-padding",children:t.jsxs(w,{sx:{display:"flex",flexDirection:"column"},children:[t.jsx(w,{sx:{background:d.palette.background.elevation2,borderBottomLeftRadius:d.shape.borderRadiusMedium,isolation:"isolate",zIndex:2},children:t.jsx(Cn,{elevation:0,sx:{px:4,py:3,background:d.palette.background.elevation2,transition:"width 0.4s ease",minWidth:"auto",width:kt,position:"sticky",top:0},children:t.jsx(e,{onSubmit:X,context:I,setContext:S,availableEnvironments:l,projects:g,environments:u,token:b,setToken:T,setProjects:f,setEnvironments:c,changeRequest:v||void 0,onClearChangeRequest:Ct})})}),t.jsxs(w,{sx:C=>({width:wt,transition:"width 0.4s ease",padding:C.spacing(4,4),isolation:"isolate",zIndex:1}),children:[t.jsx(F,{condition:!!i,show:t.jsx(jt,{severity:"warning",children:i})}),t.jsx(F,{condition:L,show:t.jsx(Sn,{}),elseShow:t.jsxs(t.Fragment,{children:[t.jsx(F,{condition:!!P&&Object.values(U).length===0,show:t.jsxs(t.Fragment,{children:[t.jsx(ts,{response:P}),t.jsx(es,{loading:L,features:P==null?void 0:P.features,input:P==null?void 0:P.input})]})}),t.jsx(F,{condition:!P&&!_,show:t.jsx(gt,{})})]})})]})]})})};export{ss as AdvancedPlayground,ss as default};
@@ -0,0 +1 @@
1
+ import{cz as l,b9 as c,j as e,C as d,B as n,Q as a,T as p,w as g,fM as h,l1 as u,s as x,ds as m,dt as j,du as y,l2 as f,l3 as C,l4 as S,l5 as B}from"./index-CoLhlfXP.js";import{u as T,b as w,S as b,T as v,P,n as k,g as D}from"./networkTrafficUsageHighlightPlugin-CqEM-cK_.js";import{a as q}from"./formatTickValue-BcLsqREh.js";import"./LazyAdminExport-ByTh4iFa.js";import"./RoleCell-ZzU5Oqy8.js";import"./useApiTokens-ClWvohC9.js";import"./PercentageDonut-CA9hYg3v.js";const _=x(n)(({theme:s})=>({display:"flex",alignItems:"center",gap:s.spacing(.5)})),F=()=>{l("Network - Backend Connections");const{isOss:s}=c(),{chartDataSelection:t,setChartDataSelection:o,options:i}=T(),{chartData:r}=w(t);return e.jsx(d,{condition:s(),show:e.jsx(a,{severity:"warning",children:"Not enabled."}),elseShow:e.jsx(e.Fragment,{children:e.jsxs(b,{children:[e.jsxs(v,{children:[e.jsx(n,{children:e.jsx(a,{severity:"info",icon:!1,children:e.jsxs(_,{children:[e.jsx(p,{children:"1 connection = 7200 backend SDK requests per day"}),e.jsx(g,{title:"1 connection involves polling every 15 seconds and sending metrics every 60 seconds. This translates to 5 requests per minute, 300 requests per hour, and 7200 requests per day.",children:e.jsx(h,{})})]})})}),e.jsx(P,{selectedPeriod:t,setPeriod:o})]}),e.jsx(u,{data:r,plugins:[k],options:i,"aria-label":D(t)})]})})})};m.register(q,j,y,f,C,S,B);export{F as BackendConnections,F as default};
@@ -1 +1 @@
1
- import{j as e,ed as t}from"./index-DMSjiFEm.js";const a=()=>e.jsx(t,{to:"/projects?create=true",replace:!0});export{a as default};
1
+ import{j as e,e4 as t}from"./index-CoLhlfXP.js";const a=()=>e.jsx(t,{to:"/projects?create=true",replace:!0});export{a as default};
@@ -0,0 +1,6 @@
1
+ import{cp as D,b6 as R,r as i,b8 as z,E as U,j as t,F as W,c5 as u,s as d,bp as k,b4 as _,iS as y,w,K as v,cg as P,bm as B,cn as $,cd as F,co as N,b as H,ky as f,lt as V,lu as O,lv as G,T as h,aM as Z,i as q,L as Y,d as J,cz as Q,az as X}from"./index-CoLhlfXP.js";import{u as K}from"./unknownify-B7hmSXnj.js";import{S as ee}from"./LazyAdminExport-ByTh4iFa.js";import"./RoleCell-ZzU5Oqy8.js";import"./useApiTokens-ClWvohC9.js";import"./PercentageDonut-CA9hYg3v.js";const te={connectedEdges:[],revisionIds:[]},ne=e=>{const{data:n,error:r,mutate:o}=D(R("api/admin/metrics/edges"),re,e);return i.useMemo(()=>{const s=!r&&!n;return(n==null?void 0:n.connectedEdges)!==void 0?{edgeObservability:n,loading:s,refetch:()=>o(),error:r}:Array.isArray(n)?{edgeObservability:{connectedEdges:n,revisionIds:[]},loading:s,refetch:()=>o(),error:r}:{edgeObservability:te,loading:s,refetch:()=>o(),error:r}},[n,r,o])},re=e=>fetch(e).then(z("Connected Edges")).then(n=>n.json());var E={},se=W;Object.defineProperty(E,"__esModule",{value:!0});var A=E.default=void 0,oe=se(U()),ie=t,ae=(0,oe.default)((0,ie.jsx)("path",{d:"M12 2C6.47 2 2 6.47 2 12s4.47 10 10 10 10-4.47 10-10S17.53 2 12 2z"}),"Circle");A=E.default=ae;const ce=d("table")(({theme:e})=>({width:"100%",borderCollapse:"collapse",fontSize:e.fontSizes.smallerBody,"& > thead":{borderBottom:`1px solid ${e.palette.text.primary}`},"& tr":{textAlign:"right","& > th:first-of-type, td:first-of-type":{textAlign:"left"}}})),S=d("tr")(({theme:e})=>({fontWeight:e.fontWeight.bold,"&&& > td":{paddingTop:e.spacing(1),"& > div":{display:"flex",alignItems:"center"}}})),de=({instance:e})=>t.jsxs(ce,{children:[t.jsx("thead",{children:t.jsxs("tr",{children:[t.jsx("th",{children:"Latency (ms)"}),t.jsx("th",{children:"Avg"}),t.jsx("th",{children:"p99"})]})}),t.jsxs("tbody",{children:[t.jsx(S,{children:t.jsx("td",{colSpan:3,children:t.jsxs("div",{children:["Upstream"," ",t.jsx(u,{tooltip:"Latency measured for requests sent from this Edge instance to the configured upstream, i.e. Unleash or another Edge instance.",size:"16px"})]})})}),t.jsxs("tr",{children:[t.jsx("td",{children:"Client Features"}),t.jsx("td",{children:e.upstreamFeaturesAverageLatencyMs}),t.jsx("td",{children:e.upstreamFeaturesP99LatencyMs})]}),t.jsxs("tr",{children:[t.jsx("td",{children:"Metrics"}),t.jsx("td",{children:e.upstreamMetricsAverageLatencyMs}),t.jsx("td",{children:e.upstreamMetricsP99LatencyMs})]}),t.jsxs("tr",{children:[t.jsx("td",{children:"Edge"}),t.jsx("td",{children:e.upstreamEdgeAverageLatencyMs}),t.jsx("td",{children:e.upstreamEdgeP99LatencyMs})]}),t.jsx(S,{children:t.jsx("td",{colSpan:3,children:t.jsxs("div",{children:["Downstream"," ",t.jsx(u,{tooltip:"Latency measured when serving requests from clients, i.e. SDKs or other Edge instances.",size:"16px"})]})})}),t.jsxs("tr",{children:[t.jsx("td",{children:"Client Features"}),t.jsx("td",{children:e.clientFeaturesAverageLatencyMs}),t.jsx("td",{children:e.clientFeaturesP99LatencyMs})]}),t.jsxs("tr",{children:[t.jsx("td",{children:"Frontend"}),t.jsx("td",{children:e.frontendApiAverageLatencyMs}),t.jsx("td",{children:e.frontendApiP99LatencyMs})]})]})]}),le=d("table")(({theme:e})=>({width:"100%",borderCollapse:"collapse",fontSize:e.fontSizes.smallerBody,"& > thead":{borderBottom:`1px solid ${e.palette.text.primary}`},"& tr":{textAlign:"right","& > th:first-of-type, td:first-of-type":{textAlign:"left"},paddingTop:e.spacing(1)}})),C=d("td")(({theme:e})=>({paddingTop:e.spacing(1),maxWidth:"80px","& > div":{display:"flex",alignItems:"center",justifyContent:"end"}})),pe=d(v)(({theme:e})=>({padding:e.spacing(0,1)})),he=e=>e.length===1?e[0]:"[]",ge=e=>`${he(e.projects)}:${e.environment}.***`,xe=e=>e.length<=1||e.includes("*")?"":`
2
+ Projects: ${e.join(", ")}
3
+ `,ue=e=>`[${e.projects.join(",")}]:${e.environment}`,me=(e,n)=>{const r=new Set(e||[]),o=new Set(n);if(r.size!==o.size)return!1;for(const s of r)if(!o.has(s))return!1;return!0},je=(e,n)=>(e||[]).every(o=>n.has(o)),fe=e=>{var n;return((n=e.find(r=>!r.projects||r.projects.length===0))==null?void 0:n.revisionId)??0},ye=(e,n)=>{if(e.length===0)return;if(n.projects.includes("*"))return Math.max(...e.map(a=>a.revisionId));const r=e.find(a=>me(a.projects,n.projects));if(r)return r.revisionId;const o=new Set(n.projects),s=e.filter(a=>je(a.projects,o));if(s.length!==0)return Math.max(...s.map(a=>a.revisionId))},ve=(e,n)=>{const r=e.filter(c=>c.environment===n.environment),o=fe(r),s=r.filter(c=>!!(c.projects&&c.projects.length>0)),a=ye(s,n);return Math.max(a??0,o)},Ee=e=>e<=0?"success":e<5?"warning":"error",Se=({edgeRevisionId:e,upstreamRevisionId:n})=>{const r=n-e,s=r<=0?"Edge feature configuration is up to date":`Edge is ${r} revisions behind expected upstream revision for this token`;return t.jsx(w,{title:s,children:t.jsx(pe,{color:Ee(r),children:e})})},Ce=({apiKeys:e,revisionIds:n})=>{const{locationSettings:r}=k();return!e||e.length===0?null:t.jsxs(le,{children:[t.jsx("thead",{children:t.jsxs("tr",{children:[t.jsx("th",{children:"Token"}),t.jsx("th",{children:"Revision"})]})}),t.jsx("tbody",{children:e==null?void 0:e.map(o=>{const s=ge(o);return t.jsxs("tr",{children:[t.jsx(C,{children:t.jsx(_,{title:s,children:s})}),t.jsx(C,{children:t.jsxs("div",{children:[t.jsx(Se,{edgeRevisionId:o.revisionId,upstreamRevisionId:ve(n,o)}),t.jsx(u,{tooltip:`
4
+ Edge last updated this token: ${y(o.lastUpdated,r.locale)}
5
+ ${xe(o.projects)}
6
+ `,size:"14px"})]})})]},ue(o))})})]})},be=d("div")(({theme:e})=>({width:"100%",borderRadius:e.shape.borderRadiusMedium,border:"1px solid",borderColor:e.palette.secondary.border,backgroundColor:e.palette.secondary.light,display:"flex",flexDirection:"column",alignItems:"center",padding:0,zIndex:1,marginTop:e.spacing(1)})),Le=d($)({width:"100%",background:"transparent",boxShadow:"none"}),ke=d(F,{shouldForwardProp:e=>e!=="connectionStatus"})(({theme:e,connectionStatus:n})=>({fontSize:e.fontSizes.smallBody,padding:e.spacing(1),minHeight:e.spacing(3),"& .MuiAccordionSummary-content":{alignItems:"center",gap:e.spacing(1),margin:0,"&.Mui-expanded":{margin:0},"& svg":{fontSize:e.fontSizes.mainHeader,color:n==="Stale"?e.palette.warning.main:n==="Disconnected"?e.palette.error.main:e.palette.success.main}}})),we=d(N)(({theme:e})=>({display:"flex",flexDirection:"column",fontSize:e.fontSizes.smallerBody,gap:e.spacing(2)})),p=d("div")(({theme:e})=>({display:"flex",justifyContent:"space-between",gap:e.spacing(2),"& > span":{display:"flex",alignItems:"center"}})),Ae=d(v)(({theme:e})=>({padding:e.spacing(0,1)})),Me=({hosting:e})=>{switch(e){case"hosted":return"Cloud";case"enterprise-self-hosted":return"Self-hosted";default:return e?`Unknown: ${e}`:"Unknown"}},Ie=({reportedAt:e})=>{const n=new Date(e).getTime(),r=(Date.now()-n)/1e3;return r>360?"Disconnected":r>180?"Stale":"Connected"},Te=({started:e,reportedAt:n,cpuUsage:r})=>{const o=Number(r);if(!o)return"No usage";const s=new Date(e).getTime(),c=(new Date(n).getTime()-s)/1e3;return c===0?"No usage":`${(o/c*100).toFixed(2)} %`},De=({memoryUsage:e})=>{if(!e)return"No usage";const n=["B","KB","MB","GB"];let r=e,o=0;for(;r>=1024&&o<n.length-1;)r/=1024,o++;return`${r.toFixed(2)} ${n[o]}`},Re=({instance:e,revisionIds:n})=>{const{locationSettings:r}=k(),o=P("enterpriseEdgeTokensList"),s=Ie(e),a=y(e.started,r==null?void 0:r.locale),c=y(e.reportedAt,r==null?void 0:r.locale),l=Te(e),m=De(e),g=l==="No usage"&&m==="No usage"&&t.jsx("p",{children:"Resource metrics are only available when running on Linux."});return t.jsx(be,{children:t.jsxs(Le,{children:[t.jsxs(ke,{expandIcon:t.jsx(B,{}),connectionStatus:s,children:[t.jsx(w,{arrow:!0,title:`${s}. Last reported: ${c}`,children:t.jsx(A,{})}),e.id||e.instanceId]}),t.jsxs(we,{children:[t.jsxs(p,{children:[t.jsx("strong",{children:"ID"}),t.jsx("span",{children:e.instanceId})]}),t.jsxs(p,{children:[t.jsx("strong",{children:"Upstream server"}),t.jsx("span",{children:e.connectedVia||"Unleash"})]}),t.jsxs(p,{children:[t.jsx("strong",{children:"Region"}),t.jsx("span",{children:e.region||"Unknown"})]}),t.jsxs(p,{children:[t.jsx("strong",{children:"Hosting"}),t.jsx("span",{children:Me(e)})]}),t.jsxs(p,{children:[t.jsx("strong",{children:"Version"}),t.jsx("span",{children:e.edgeVersion})]}),t.jsxs(p,{children:[t.jsx("strong",{children:"Status"}),t.jsx(Ae,{color:s==="Disconnected"?"error":s==="Stale"?"warning":"success",children:s})]}),t.jsxs(p,{children:[t.jsx("strong",{children:"Start"}),t.jsx("span",{children:a})]}),t.jsxs(p,{children:[t.jsx("strong",{children:"Last report"}),t.jsx("span",{children:c})]}),t.jsxs(p,{children:[t.jsx("strong",{children:"CPU"}),t.jsxs("span",{children:[l," ",t.jsx(u,{tooltip:t.jsxs(t.Fragment,{children:[t.jsx("p",{children:"CPU average usage since instance started."}),g]}),size:"16px"})]})]}),t.jsxs(p,{children:[t.jsx("strong",{children:"Memory"}),t.jsxs("span",{children:[m," ",t.jsx(u,{tooltip:t.jsxs(t.Fragment,{children:[t.jsx("p",{children:"Current memory usage."}),g]}),size:"16px"})]})]}),t.jsxs(p,{children:[t.jsx("strong",{children:"Stream clients"}),t.jsx("span",{children:e.connectedStreamingClients})]}),t.jsx(p,{children:t.jsx(de,{instance:e})}),o&&t.jsx(p,{children:t.jsx(Ce,{apiKeys:e.apiKeyRevisionIds,revisionIds:n})})]})]})})},x="Unleash",ze=d("div")(({theme:e})=>({marginBottom:e.spacing(18),display:"flex",justifyContent:"center"})),Ue=d("div")(({theme:e})=>({display:"flex",justifyContent:"center",gap:e.spacing(4),flexWrap:"wrap",marginTop:e.spacing(2)})),M=d("div")(({theme:e})=>({borderRadius:e.shape.borderRadiusMedium,border:`1px solid ${e.palette.secondary.border}`,backgroundColor:e.palette.secondary.light,display:"flex",flexDirection:"column",alignItems:"center",padding:e.spacing(1.5),zIndex:1,marginTop:e.spacing(1),"& > svg":{width:e.spacing(9),height:e.spacing(9)}})),We=d(M)(({theme:e})=>({backgroundColor:Z(e.palette.background.paper,.75),position:"relative"})),_e=d(v)({position:"absolute",top:-13}),Pe=d(h)(({theme:e})=>({marginTop:e.spacing(.5),fontWeight:e.fontWeight.bold})),Be=d(h)(({theme:e})=>({fontSize:e.fontSizes.smallerBody,color:e.palette.text.secondary})),$e=e=>e.reduce((n,r)=>(n.has(r.appName)||n.set(r.appName,{appName:r.appName,instances:[],groupTargets:new Set,level:0}),n.get(r.appName).instances.push(r),n),new Map),Fe=e=>{const n=new Map,r=s=>{if(n.has(s.appName))return n.get(s.appName);let a=0;return s.groupTargets.forEach(c=>{if(c!==x){const l=e.get(c);l&&(a=Math.max(a,r(l)+1))}}),n.set(s.appName,a),a};e.forEach(s=>{s.level=r(s)});const o=new Map;return e.forEach(s=>{const a=o.get(s.level)||[];a.push(s),o.set(s.level,a)}),o},Ne=e=>{const n=$e(e),r=new Map,o=new Map;return n.forEach(s=>{s.instances=s.instances.sort((a,c)=>a.instanceId.localeCompare(c.instanceId)).map((a,c)=>{const l=`${s.appName}-${c+1}`;return r.set(a.instanceId,l),o.set(l,s.appName),{...a,id:l}})}),n.forEach(s=>{s.instances=s.instances.map(c=>({...c,connectedVia:c.connectedVia?r.get(c.connectedVia)||c.connectedVia:x}));const a=new Set;s.instances.forEach(c=>{if(!c.connectedVia||c.connectedVia===x)a.add(x);else{const l=o.get(c.connectedVia);l&&l!==s.appName&&a.add(l)}}),s.groupTargets=a}),Fe(n)},He=e=>e.every(n=>n.hosting==="hosted")?{hostingLabel:"Cloud",hostingColor:"secondary"}:e.every(n=>n.hosting==="enterprise-self-hosted")?{hostingLabel:"Self-hosted",hostingColor:"info"}:e.every(n=>n.hosting==="hosted"||n.hosting==="enterprise-self-hosted")?{hostingLabel:"Hybrid",hostingColor:"warning"}:{hostingLabel:"Unknown",hostingColor:"neutral"},Ve=({connectedEdges:e,revisionIds:n})=>{const r=H(),o=i.useMemo(()=>Ne(e),[e]),s=Array.from(o.keys()).sort((a,c)=>a-c);return t.jsxs(f.ArcherContainer,{strokeColor:r.palette.text.primary,endShape:{arrow:{arrowLength:4,arrowThickness:4}},children:[t.jsx(ze,{children:t.jsx(f.ArcherElement,{id:x,children:t.jsxs(M,{children:[t.jsx(V,{darkmode:t.jsx(G,{}),lightmode:t.jsx(O,{})}),t.jsx(h,{sx:{mt:1},children:x})]})})}),s.map(a=>{var c;return t.jsx(Ue,{children:(c=o.get(a))==null?void 0:c.map(({appName:l,groupTargets:m,instances:g})=>{const{hostingLabel:I,hostingColor:T}=He(g);return t.jsx(f.ArcherElement,{id:l,relations:Array.from(m).map(j=>({targetId:j,targetAnchor:"bottom",sourceAnchor:"top",style:{strokeColor:r.palette.secondary.border}})),children:t.jsxs(We,{children:[t.jsx(_e,{color:T,children:I}),t.jsx(Pe,{children:K(l)}),t.jsxs(Be,{children:[g.length," instance",g.length!==1&&"s"]}),g.map(j=>t.jsx(Re,{instance:j,revisionIds:n},j.instanceId))]})},l)})},a)})]})},Oe=e=>i.createElement("svg",{width:312,height:144,viewBox:"0 0 312 144",fill:"none",xmlns:"http://www.w3.org/2000/svg",...e},i.createElement("rect",{width:312,height:144,rx:8,fill:"#F1F0FC"}),i.createElement("g",{opacity:.2},i.createElement("circle",{cx:155.933,cy:72.1494,r:59.9326,stroke:"#657A80",strokeWidth:1.35669,strokeLinecap:"square"}),i.createElement("ellipse",{cx:155.933,cy:72.2595,rx:43.5873,ry:60.2595,stroke:"#657A80",strokeWidth:1.35669,strokeLinecap:"square"}),i.createElement("ellipse",{cx:156.368,cy:72.1494,rx:27.2421,ry:59.9326,stroke:"#657A80",strokeWidth:1.35669,strokeLinecap:"square"}),i.createElement("ellipse",{cx:156.369,cy:72.1494,rx:10.8968,ry:59.9326,stroke:"#657A80",strokeWidth:1.35669,strokeLinecap:"square"})),i.createElement("g",{opacity:.2},i.createElement("mask",{id:"mask0_35832_1410",style:{maskType:"alpha"},maskUnits:"userSpaceOnUse",x:96,y:12,width:120,height:121},i.createElement("circle",{cx:155.933,cy:72.1494,r:59.2542,fill:"#92A1A5",stroke:"#657A80",strokeWidth:1.35669})),i.createElement("g",{mask:"url(#mask0_35832_1410)"},i.createElement("path",{d:"M96 48.1777C96 48.1777 109.076 59.2925 155.933 59.2925C202.789 59.2925 215.865 48.1777 215.865 48.1777",stroke:"#657A80",strokeWidth:1.35669}),i.createElement("path",{d:"M96 28.3438C96 28.3438 109.076 45.7787 155.933 45.7787C202.789 45.7787 215.865 28.3438 215.865 28.3438",stroke:"#657A80",strokeWidth:1.35669}),i.createElement("path",{d:"M96 2.19141C96 2.19141 109.076 33.1384 155.933 33.1384C202.789 33.1384 215.865 2.19141 215.865 2.19141",stroke:"#657A80",strokeWidth:1.35669}),i.createElement("path",{d:"M96 -39.4336C96 -39.4336 109.076 21.3707 155.933 21.3707C202.789 21.3707 215.865 -39.4336 215.865 -39.4336",stroke:"#657A80",strokeWidth:1.35669}),i.createElement("line",{x1:96,y1:71.472,x2:215.865,y2:71.472,stroke:"#657A80",strokeWidth:1.35669}),i.createElement("path",{d:"M215.867 95.6855C215.867 95.6855 202.79 84.5708 155.934 84.5708C109.078 84.5708 96.0016 95.6855 96.0016 95.6855",stroke:"#657A80",strokeWidth:1.35669}),i.createElement("path",{d:"M215.867 115.518C215.867 115.518 202.79 98.0826 155.934 98.0826C109.078 98.0826 96.0016 115.518 96.0016 115.518",stroke:"#657A80",strokeWidth:1.35669}),i.createElement("path",{d:"M215.867 141.672C215.867 141.672 202.79 110.725 155.934 110.725C109.078 110.725 96.0016 141.672 96.0016 141.672",stroke:"#657A80",strokeWidth:1.35669}),i.createElement("path",{d:"M215.866 183.297C215.866 183.297 202.79 122.493 155.934 122.493C109.078 122.493 96.0013 183.297 96.0013 183.297",stroke:"#657A80",strokeWidth:1.35669}))),i.createElement("rect",{x:116.749,y:86.5273,width:58.1081,height:29.0541,rx:14.527,transform:"rotate(-180 116.749 86.5273)",fill:"url(#paint0_linear_35832_1410)"}),i.createElement("ellipse",{cx:102.184,cy:71.9997,rx:14.565,ry:14.527,fill:"#817AFE"}),i.createElement("path",{d:"M106.258 67.9648H98.187V76.0354H106.258V67.9648Z",fill:"white"}),i.createElement("path",{d:"M140.556 78.3887L140.232 70.291L133.381 74.6202L140.556 78.3887ZM121.749 69.1189L129.108 72.5139L128.369 64.4436L121.749 69.1189ZM137.182 73.0493L137.645 72.5217C136.53 71.5447 135.079 70.5495 133.191 69.6186L132.88 70.2481L132.57 70.8776C134.358 71.7589 135.705 72.6876 136.719 73.577L137.182 73.0493ZM132.88 70.2481L133.191 69.6186C131.302 68.6877 129.629 68.143 128.176 67.8544L128.039 68.5428L127.902 69.2312C129.225 69.4939 130.782 69.9964 132.57 70.8776L132.88 70.2481Z",fill:"#6C65E5"}),i.createElement("rect",{x:147.284,y:55.7305,width:17.4324,height:32.5405,rx:3.48649,fill:"#1A4049"}),i.createElement("path",{d:"M171.444 78.3887L171.768 70.291L178.619 74.6202L171.444 78.3887ZM190.251 69.1189L182.892 72.5139L183.631 64.4436L190.251 69.1189ZM174.818 73.0493L174.355 72.5217C175.47 71.5447 176.921 70.5495 178.809 69.6186L179.12 70.2481L179.43 70.8776C177.642 71.7589 176.295 72.6876 175.281 73.577L174.818 73.0493ZM179.12 70.2481L178.809 69.6186C180.698 68.6877 182.371 68.143 183.824 67.8544L183.961 68.5428L184.098 69.2312C182.775 69.4939 181.218 69.9964 179.43 70.8776L179.12 70.2481Z",fill:"#6C65E5"}),i.createElement("rect",{x:253.359,y:86.5273,width:58.1081,height:29.0541,rx:14.527,transform:"rotate(-180 253.359 86.5273)",fill:"url(#paint1_linear_35832_1410)"}),i.createElement("ellipse",{cx:238.794,cy:71.9997,rx:14.565,ry:14.527,fill:"#1A4049"}),i.createElement("path",{d:"M242.867 67.9648H234.797V76.0354H242.867V67.9648Z",fill:"#EDF0F1"}),i.createElement("defs",null,i.createElement("linearGradient",{id:"paint0_linear_35832_1410",x1:116.737,y1:100.985,x2:174.889,y2:100.985,gradientUnits:"userSpaceOnUse"},i.createElement("stop",{stopColor:"#1A4049",stopOpacity:0}),i.createElement("stop",{offset:1,stopColor:"#0E1A1D"})),i.createElement("linearGradient",{id:"paint1_linear_35832_1410",x1:253.347,y1:100.985,x2:311.499,y2:100.985,gradientUnits:"userSpaceOnUse"},i.createElement("stop",{stopColor:"#657A80",stopOpacity:0}),i.createElement("stop",{offset:1,stopColor:"#1A4049",stopOpacity:.75})))),Ge=d("div")(({theme:e})=>({display:"flex",flexDirection:"column",gap:e.spacing(1),maxWidth:e.spacing(80),margin:"auto"})),Ze=d("div")(({theme:e})=>({display:"flex",flexDirection:"row",gap:e.spacing(2.5),marginTop:e.spacing(2.5)})),qe=d("div")(({theme:e})=>({border:`1px solid ${e.palette.divider}`,borderRadius:e.shape.borderRadiusLarge,padding:e.spacing(3),flex:1,display:"flex",flexDirection:"column",gap:e.spacing(1.5)})),Ye=d("div")({"& > svg":{width:"auto",maxWidth:"100%",height:"auto",display:"block"}}),Je=d("ul")(({theme:e})=>({listStyle:"none",marginTop:e.spacing(1),marginBottom:e.spacing(1),paddingLeft:e.spacing(0),display:"flex",flexDirection:"column",gap:e.spacing(1)})),Qe=d("li")(({theme:e})=>({display:"flex",alignItems:"center",gap:e.spacing(1)})),Xe=d(J)(({theme:e})=>({color:e.palette.primary.main,fontSize:"18px"})),Ke=d("div")(({theme:e})=>({display:"flex",justifyContent:"flex-start",margin:e.spacing(-.75)})),et=()=>t.jsxs(Ge,{children:[t.jsx(h,{variant:"h3",children:"Which version is right for you?"}),t.jsxs(h,{variant:"body2",color:"text.secondary",children:["Unleash Enterprise Edge is a high-performance proxy engineered for scalability, resilience, and privacy. It acts as a shield between your SDKs and the Unleash API, allowing you to handle thousands of concurrent connections with zero impact on your primary instance. Contact"," ",t.jsx("a",{href:"mailto:license@getunleash.io",children:"license@getunleash.io"})," ","today to provision your private Enterprise Edge environment."]}),t.jsxs(Ze,{children:[t.jsx(b,{image:t.jsx(ee,{}),title:"Cloud hosted",description:"When you need to connect to Unleash from geographically distributed locations.",bullets:["Global infrastructure","No operational burden","Instant flag updates worldwide"],docsUrl:"https://docs.getunleash.io/deploy/hosting-options#cloud-hosted"}),t.jsx(b,{image:t.jsx(Oe,{}),title:"Self hosted",description:"Ensure low latency and data sovereignty by running Enterprise Edge inside your private network.",bullets:["Ideal for PII heavy data","Optimized for minimal latency","Improved security"],docsUrl:"https://docs.getunleash.io/deploy/hosting-options#self-hosted"})]})]}),b=({image:e,title:n,description:r,bullets:o,docsUrl:s})=>t.jsxs(qe,{children:[t.jsx(Ye,{children:e}),t.jsx(h,{variant:"h3",children:n}),t.jsx(h,{variant:"body2",color:"text.secondary",children:r}),t.jsx(Je,{children:o.map(a=>t.jsxs(Qe,{children:[t.jsx(Xe,{})," ",t.jsx(h,{variant:"body2",color:"text.secondary",children:a})]},a))}),t.jsxs(h,{variant:"body2",color:"text.secondary",children:["Contact"," ",t.jsx("a",{href:"mailto:license@getunleash.io",children:"license@getunleash.io"})," to get started."]}),t.jsx(Ke,{children:t.jsx(q,{component:Y,to:s,size:"small",sx:{fontSize:"14px"},rel:"noopener noreferrer",target:"_blank",children:"Read docs"})})]}),tt=d(X)(({theme:e})=>({".body":{padding:e.spacing(0)}})),L=d("div")(({theme:e})=>({padding:e.spacing(4)})),nt=d("hr")(({theme:e})=>({border:"none",height:"1px",background:e.palette.divider,width:"100%",margin:e.spacing(2,0)})),dt=()=>{Q("Enterprise Edge");const{edgeObservability:e}=ne({refreshInterval:3e4}),n=e.connectedEdges.length>0;return t.jsxs(tt,{header:"Enterprise Edge",children:[n&&t.jsxs(t.Fragment,{children:[t.jsx(L,{children:t.jsx(Ve,{connectedEdges:e.connectedEdges,revisionIds:e.revisionIds})}),t.jsx(nt,{})]}),t.jsx(L,{sx:{pb:n?6:4},children:t.jsx(et,{})})]})};export{dt as EnterpriseEdge,dt as default};
@@ -0,0 +1,2 @@
1
+ import{bs as f,k$ as c,dc as y,lg as p,b as g,bp as m,r as d,j as u,l1 as C,ds as M,dt as v,du as h,l2 as k,lk as $,l5 as E,l4 as S,l3 as j}from"./index-CoLhlfXP.js";import{d as D}from"./FeatureViewLazyExport-BkNTNFqK.js";import"./MarkCompletedDialogue-apmlFjVY.js";import"./aggregateFeatureMetrics-D6bHft_C.js";import"./FeatureStaleDialog-B6BfnDiQ.js";import"./PercentageDonut-CA9hYg3v.js";import"./GridLayoutWrapper-Cq6Bzm36.js";const T=(e,s,o)=>{const a={label:"Exposed",borderColor:e.palette.charts.flagMetrics.exposed,backgroundColor:e.palette.charts.flagMetrics.exposed,data:x(s,o,r=>r.yes)},t={label:"Not exposed",borderColor:e.palette.charts.flagMetrics.notExposed,backgroundColor:e.palette.charts.flagMetrics.notExposed,data:x(s,o,r=>r.no)};return{datasets:[a,t]}},x=(e,s,o)=>e.map(a=>({x:a.timestamp,y:o(a),variants:a.variants||{}})),_=(e,s)=>{if(s===0)return"";const[o,a]=e,t=Math.floor(Number(a)/s*100);return`${a} (${t}%) - ${o}`},q=(e,s,o,a)=>({locale:a.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.text.secondary,borderColor:e.palette.primary.main,borderWidth:1,padding:10,boxPadding:5,usePointStyle:!0,position:"nearest",itemSort:(t,r)=>{const l=["Exposed","Not exposed"],n=l.indexOf(t.dataset.label),i=l.indexOf(r.dataset.label);return n-i},callbacks:{beforeBody:t=>`${t.reduce((l,n)=>l+n.parsed.y,0).toLocaleString(a.locale)} - Total requests`,label:t=>`${t.formattedValue} - ${t.dataset.label}`,afterLabel:t=>{const r=t.dataset.data[t.dataIndex];if(t.dataset.label!=="Exposed"||r.variants===void 0)return"";const{disabled:l,...n}=r.variants;return Object.entries(n).map(i=>_(i,r.y)).join(`
2
+ `)},title:t=>`Time: ${o>48?y(t[0].parsed.x,a.locale,"UTC"):c(t[0].parsed.x,a.locale)}`}},legend:{position:"top",align:"end",labels:{boxWidth:10,boxHeight:10,usePointStyle:!0}},title:{text:L(o),position:"top",align:"start",display:!0,font:{size:16,weight:"400"},color:e.palette.text.primary}},scales:{y:{type:"linear",stacked:!0,title:{display:!0,text:"Number of requests",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",stacked:!0,time:{unit:o>48?"day":"hour"},grid:{display:!1},ticks:{callback:(t,r,l)=>o>48?f(l[r].value,a.locale,"UTC"):c(l[r].value,a.locale),color:e.palette.text.secondary}}}}),L=e=>e===1?"Requests in the last hour":`Requests in the last ${D(e)}`;p.font={...p.font,family:"Sen",size:13,weight:"400"};const V=({metrics:e,hoursBack:s,statsSectionId:o})=>{const a=g(),{locationSettings:t}=m(),r=d.useMemo(()=>[...e].sort((i,b)=>i.timestamp.localeCompare(b.timestamp)),[e]),l=d.useMemo(()=>q(a,r,s,t),[a,r,s,t]),n=d.useMemo(()=>T(a,r,t),[a,r,t]);return u.jsx("div",{style:{height:400},children:u.jsx(C,{data:n,options:l,"aria-label":"A stacked bar chart showing feature flag exposure metrics: exposed and not exposed requests.","aria-describedby":o})})};M.register(v,h,k,$,E,S,j);export{V as FeatureMetricsChart,V as default};