unleash-server 7.2.1 → 7.2.3

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 (385) hide show
  1. package/README.md +21 -10
  2. package/dist/lib/db/feature-environment-store.d.ts +1 -1
  3. package/dist/lib/db/feature-environment-store.d.ts.map +1 -1
  4. package/dist/lib/db/feature-environment-store.js +42 -35
  5. package/dist/lib/db/feature-environment-store.js.map +1 -1
  6. package/dist/lib/db/index.d.ts.map +1 -1
  7. package/dist/lib/db/index.js +2 -0
  8. package/dist/lib/db/index.js.map +1 -1
  9. package/dist/lib/error/unleash-error.d.ts.map +1 -1
  10. package/dist/lib/error/unleash-error.js +2 -2
  11. package/dist/lib/error/unleash-error.js.map +1 -1
  12. package/dist/lib/events/index.d.ts +7 -1
  13. package/dist/lib/events/index.d.ts.map +1 -1
  14. package/dist/lib/events/index.js +12 -0
  15. package/dist/lib/events/index.js.map +1 -1
  16. package/dist/lib/features/api-tokens/createApiTokenService.d.ts +2 -0
  17. package/dist/lib/features/api-tokens/createApiTokenService.d.ts.map +1 -1
  18. package/dist/lib/features/api-tokens/createApiTokenService.js +6 -2
  19. package/dist/lib/features/api-tokens/createApiTokenService.js.map +1 -1
  20. package/dist/lib/features/client-feature-toggles/client-feature-toggle.controller.d.ts.map +1 -1
  21. package/dist/lib/features/client-feature-toggles/client-feature-toggle.controller.js +2 -9
  22. package/dist/lib/features/client-feature-toggles/client-feature-toggle.controller.js.map +1 -1
  23. package/dist/lib/features/dependent-features/dependent.features.e2e.test.js +28 -29
  24. package/dist/lib/features/dependent-features/dependent.features.e2e.test.js.map +1 -1
  25. package/dist/lib/features/feature-toggle/createFeatureToggleService.d.ts.map +1 -1
  26. package/dist/lib/features/feature-toggle/createFeatureToggleService.js +14 -4
  27. package/dist/lib/features/feature-toggle/createFeatureToggleService.js.map +1 -1
  28. package/dist/lib/features/feature-toggle/fakes/fake-feature-strategies-store.d.ts.map +1 -1
  29. package/dist/lib/features/feature-toggle/fakes/fake-feature-strategies-store.js +2 -1
  30. package/dist/lib/features/feature-toggle/fakes/fake-feature-strategies-store.js.map +1 -1
  31. package/dist/lib/features/feature-toggle/feature-toggle-service.d.ts +9 -3
  32. package/dist/lib/features/feature-toggle/feature-toggle-service.d.ts.map +1 -1
  33. package/dist/lib/features/feature-toggle/feature-toggle-service.js +23 -7
  34. package/dist/lib/features/feature-toggle/feature-toggle-service.js.map +1 -1
  35. package/dist/lib/features/feature-toggle/feature-toggle-strategies-store.d.ts.map +1 -1
  36. package/dist/lib/features/feature-toggle/feature-toggle-strategies-store.js +3 -3
  37. package/dist/lib/features/feature-toggle/feature-toggle-strategies-store.js.map +1 -1
  38. package/dist/lib/features/feature-toggle/tests/feature-toggles.e2e.test.js +34 -35
  39. package/dist/lib/features/feature-toggle/tests/feature-toggles.e2e.test.js.map +1 -1
  40. package/dist/lib/features/metrics/client-metrics/metrics-service-v2.js +1 -1
  41. package/dist/lib/features/metrics/client-metrics/metrics-service-v2.js.map +1 -1
  42. package/dist/lib/features/metrics/impact/batch-histogram.d.ts +36 -0
  43. package/dist/lib/features/metrics/impact/batch-histogram.d.ts.map +1 -0
  44. package/dist/lib/features/metrics/impact/batch-histogram.js +87 -0
  45. package/dist/lib/features/metrics/impact/batch-histogram.js.map +1 -0
  46. package/dist/lib/features/metrics/impact/batch-histogram.test.d.ts +2 -0
  47. package/dist/lib/features/metrics/impact/batch-histogram.test.d.ts.map +1 -0
  48. package/dist/lib/features/metrics/impact/batch-histogram.test.js +137 -0
  49. package/dist/lib/features/metrics/impact/batch-histogram.test.js.map +1 -0
  50. package/dist/lib/features/metrics/impact/define-impact-metrics.d.ts +2 -0
  51. package/dist/lib/features/metrics/impact/define-impact-metrics.d.ts.map +1 -1
  52. package/dist/lib/features/metrics/impact/define-impact-metrics.js +4 -0
  53. package/dist/lib/features/metrics/impact/define-impact-metrics.js.map +1 -1
  54. package/dist/lib/features/metrics/impact/impact-metrics.e2e.test.js +49 -0
  55. package/dist/lib/features/metrics/impact/impact-metrics.e2e.test.js.map +1 -1
  56. package/dist/lib/features/metrics/impact/metrics-translator.d.ts +22 -4
  57. package/dist/lib/features/metrics/impact/metrics-translator.d.ts.map +1 -1
  58. package/dist/lib/features/metrics/impact/metrics-translator.js +58 -2
  59. package/dist/lib/features/metrics/impact/metrics-translator.js.map +1 -1
  60. package/dist/lib/features/metrics/impact/metrics-translator.test.js +83 -0
  61. package/dist/lib/features/metrics/impact/metrics-translator.test.js.map +1 -1
  62. package/dist/lib/features/metrics/shared/schema.d.ts +1 -0
  63. package/dist/lib/features/metrics/shared/schema.d.ts.map +1 -1
  64. package/dist/lib/features/metrics/shared/schema.js +27 -1
  65. package/dist/lib/features/metrics/shared/schema.js.map +1 -1
  66. package/dist/lib/features/project/createProjectService.d.ts.map +1 -1
  67. package/dist/lib/features/project/createProjectService.js +7 -5
  68. package/dist/lib/features/project/createProjectService.js.map +1 -1
  69. package/dist/lib/features/project/project-service.d.ts +3 -2
  70. package/dist/lib/features/project/project-service.d.ts.map +1 -1
  71. package/dist/lib/features/project/project-service.js +4 -3
  72. package/dist/lib/features/project/project-service.js.map +1 -1
  73. package/dist/lib/features/release-plans/release-plan-milestone-store.d.ts +2 -2
  74. package/dist/lib/features/release-plans/release-plan-milestone-store.d.ts.map +1 -1
  75. package/dist/lib/features/release-plans/release-plan-milestone-store.js +3 -0
  76. package/dist/lib/features/release-plans/release-plan-milestone-store.js.map +1 -1
  77. package/dist/lib/features/release-plans/release-plan-milestone.d.ts +6 -0
  78. package/dist/lib/features/release-plans/release-plan-milestone.d.ts.map +1 -1
  79. package/dist/lib/features/release-plans/release-plan-read-model-type.d.ts +5 -0
  80. package/dist/lib/features/release-plans/release-plan-read-model-type.d.ts.map +1 -0
  81. package/dist/lib/features/release-plans/release-plan-read-model-type.js +2 -0
  82. package/dist/lib/features/release-plans/release-plan-read-model-type.js.map +1 -0
  83. package/dist/lib/features/release-plans/release-plan-read-model.d.ts +11 -0
  84. package/dist/lib/features/release-plans/release-plan-read-model.d.ts.map +1 -0
  85. package/dist/lib/features/release-plans/release-plan-read-model.js +133 -0
  86. package/dist/lib/features/release-plans/release-plan-read-model.js.map +1 -0
  87. package/dist/lib/features/release-plans/release-plan-read-model.test.d.ts +2 -0
  88. package/dist/lib/features/release-plans/release-plan-read-model.test.d.ts.map +1 -0
  89. package/dist/lib/features/release-plans/release-plan-read-model.test.js +166 -0
  90. package/dist/lib/features/release-plans/release-plan-read-model.test.js.map +1 -0
  91. package/dist/lib/features/release-plans/release-plan-store.d.ts +1 -1
  92. package/dist/lib/features/release-plans/release-plan-store.d.ts.map +1 -1
  93. package/dist/lib/features/release-plans/release-plan-store.js +16 -15
  94. package/dist/lib/features/release-plans/release-plan-store.js.map +1 -1
  95. package/dist/lib/features/release-plans/release-plan-template.d.ts +2 -2
  96. package/dist/lib/features/release-plans/release-plan-template.d.ts.map +1 -1
  97. package/dist/lib/features/release-plans/release-plan.d.ts +1 -1
  98. package/dist/lib/features/release-plans/release-plan.d.ts.map +1 -1
  99. package/dist/lib/features/resource-limits/resource-limits-service.d.ts +8 -0
  100. package/dist/lib/features/resource-limits/resource-limits-service.d.ts.map +1 -0
  101. package/dist/lib/features/resource-limits/resource-limits-service.js +9 -0
  102. package/dist/lib/features/resource-limits/resource-limits-service.js.map +1 -0
  103. package/dist/lib/features/segment/createSegmentService.d.ts.map +1 -1
  104. package/dist/lib/features/segment/createSegmentService.js +5 -3
  105. package/dist/lib/features/segment/createSegmentService.js.map +1 -1
  106. package/dist/lib/features/segment/segment-service.d.ts +3 -2
  107. package/dist/lib/features/segment/segment-service.d.ts.map +1 -1
  108. package/dist/lib/features/segment/segment-service.js +3 -3
  109. package/dist/lib/features/segment/segment-service.js.map +1 -1
  110. package/dist/lib/features/users/user-store.d.ts +2 -0
  111. package/dist/lib/features/users/user-store.d.ts.map +1 -1
  112. package/dist/lib/features/users/user-store.js +3 -2
  113. package/dist/lib/features/users/user-store.js.map +1 -1
  114. package/dist/lib/features/users/user-updates-read-model.d.ts +27 -0
  115. package/dist/lib/features/users/user-updates-read-model.d.ts.map +1 -0
  116. package/dist/lib/features/users/user-updates-read-model.js +68 -0
  117. package/dist/lib/features/users/user-updates-read-model.js.map +1 -0
  118. package/dist/lib/features/users/user-updates-read-model.test.d.ts +2 -0
  119. package/dist/lib/features/users/user-updates-read-model.test.d.ts.map +1 -0
  120. package/dist/lib/features/users/user-updates-read-model.test.js +50 -0
  121. package/dist/lib/features/users/user-updates-read-model.test.js.map +1 -0
  122. package/dist/lib/metrics.d.ts.map +1 -1
  123. package/dist/lib/metrics.js +8 -6
  124. package/dist/lib/metrics.js.map +1 -1
  125. package/dist/lib/openapi/spec/bulk-metrics-schema.d.ts +126 -39
  126. package/dist/lib/openapi/spec/bulk-metrics-schema.d.ts.map +1 -1
  127. package/dist/lib/openapi/spec/event-schema.d.ts +1 -1
  128. package/dist/lib/openapi/spec/event-search-response-schema.d.ts +1 -1
  129. package/dist/lib/openapi/spec/events-schema.d.ts +1 -1
  130. package/dist/lib/openapi/spec/export-result-schema.d.ts +12304 -1250
  131. package/dist/lib/openapi/spec/export-result-schema.d.ts.map +1 -1
  132. package/dist/lib/openapi/spec/export-result-schema.js +12 -0
  133. package/dist/lib/openapi/spec/export-result-schema.js.map +1 -1
  134. package/dist/lib/openapi/spec/feature-environment-schema.d.ts +2767 -0
  135. package/dist/lib/openapi/spec/feature-environment-schema.d.ts.map +1 -1
  136. package/dist/lib/openapi/spec/feature-environment-schema.js +19 -0
  137. package/dist/lib/openapi/spec/feature-environment-schema.js.map +1 -1
  138. package/dist/lib/openapi/spec/feature-events-schema.d.ts +1 -1
  139. package/dist/lib/openapi/spec/feature-schema.d.ts +5808 -281
  140. package/dist/lib/openapi/spec/feature-schema.d.ts.map +1 -1
  141. package/dist/lib/openapi/spec/feature-schema.js +12 -0
  142. package/dist/lib/openapi/spec/feature-schema.js.map +1 -1
  143. package/dist/lib/openapi/spec/feature-search-environment-schema.d.ts +5613 -79
  144. package/dist/lib/openapi/spec/feature-search-environment-schema.d.ts.map +1 -1
  145. package/dist/lib/openapi/spec/feature-search-environment-schema.js +12 -0
  146. package/dist/lib/openapi/spec/feature-search-environment-schema.js.map +1 -1
  147. package/dist/lib/openapi/spec/feature-search-query-parameters.d.ts +2 -1
  148. package/dist/lib/openapi/spec/feature-search-query-parameters.d.ts.map +1 -1
  149. package/dist/lib/openapi/spec/feature-search-query-parameters.js +2 -1
  150. package/dist/lib/openapi/spec/feature-search-query-parameters.js.map +1 -1
  151. package/dist/lib/openapi/spec/feature-search-response-schema.d.ts +5613 -79
  152. package/dist/lib/openapi/spec/feature-search-response-schema.d.ts.map +1 -1
  153. package/dist/lib/openapi/spec/health-overview-schema.d.ts +11432 -605
  154. package/dist/lib/openapi/spec/health-overview-schema.d.ts.map +1 -1
  155. package/dist/lib/openapi/spec/health-overview-schema.js +8 -0
  156. package/dist/lib/openapi/spec/health-overview-schema.js.map +1 -1
  157. package/dist/lib/openapi/spec/health-report-schema.d.ts +11432 -605
  158. package/dist/lib/openapi/spec/health-report-schema.d.ts.map +1 -1
  159. package/dist/lib/openapi/spec/impact-metrics-schema.d.ts +126 -39
  160. package/dist/lib/openapi/spec/impact-metrics-schema.d.ts.map +1 -1
  161. package/dist/lib/openapi/spec/impact-metrics-schema.js +128 -39
  162. package/dist/lib/openapi/spec/impact-metrics-schema.js.map +1 -1
  163. package/dist/lib/openapi/spec/import-toggles-schema.d.ts +24822 -2714
  164. package/dist/lib/openapi/spec/import-toggles-schema.d.ts.map +1 -1
  165. package/dist/lib/openapi/spec/import-toggles-schema.js +12 -0
  166. package/dist/lib/openapi/spec/import-toggles-schema.js.map +1 -1
  167. package/dist/lib/openapi/spec/index.d.ts +6 -0
  168. package/dist/lib/openapi/spec/index.d.ts.map +1 -1
  169. package/dist/lib/openapi/spec/index.js +6 -0
  170. package/dist/lib/openapi/spec/index.js.map +1 -1
  171. package/dist/lib/openapi/spec/integration-event-schema.d.ts +1 -1
  172. package/dist/lib/openapi/spec/integration-events-schema.d.ts +2 -2
  173. package/dist/lib/openapi/spec/patch-schema.d.ts +1 -1
  174. package/dist/lib/openapi/spec/patch-schema.js +1 -1
  175. package/dist/lib/openapi/spec/patch-schema.js.map +1 -1
  176. package/dist/lib/openapi/spec/patches-schema.d.ts +1 -1
  177. package/dist/lib/openapi/spec/profile-schema.d.ts +5808 -281
  178. package/dist/lib/openapi/spec/profile-schema.d.ts.map +1 -1
  179. package/dist/lib/openapi/spec/project-overview-schema.d.ts +11641 -814
  180. package/dist/lib/openapi/spec/project-overview-schema.d.ts.map +1 -1
  181. package/dist/lib/openapi/spec/project-overview-schema.js +8 -0
  182. package/dist/lib/openapi/spec/project-overview-schema.js.map +1 -1
  183. package/dist/lib/openapi/spec/release-plan-milestone-schema.d.ts +716 -0
  184. package/dist/lib/openapi/spec/release-plan-milestone-schema.d.ts.map +1 -0
  185. package/dist/lib/openapi/spec/release-plan-milestone-schema.js +72 -0
  186. package/dist/lib/openapi/spec/release-plan-milestone-schema.js.map +1 -0
  187. package/dist/lib/openapi/spec/release-plan-milestone-strategy-schema.d.ts +361 -0
  188. package/dist/lib/openapi/spec/release-plan-milestone-strategy-schema.d.ts.map +1 -0
  189. package/dist/lib/openapi/spec/release-plan-milestone-strategy-schema.js +40 -0
  190. package/dist/lib/openapi/spec/release-plan-milestone-strategy-schema.js.map +1 -0
  191. package/dist/lib/openapi/spec/release-plan-schema.d.ts +1449 -0
  192. package/dist/lib/openapi/spec/release-plan-schema.d.ts.map +1 -0
  193. package/dist/lib/openapi/spec/release-plan-schema.js +74 -0
  194. package/dist/lib/openapi/spec/release-plan-schema.js.map +1 -0
  195. package/dist/lib/openapi/spec/release-plan-template-id-schema.d.ts +19 -0
  196. package/dist/lib/openapi/spec/release-plan-template-id-schema.d.ts.map +1 -0
  197. package/dist/lib/openapi/spec/release-plan-template-id-schema.js +17 -0
  198. package/dist/lib/openapi/spec/release-plan-template-id-schema.js.map +1 -0
  199. package/dist/lib/openapi/spec/release-plan-template-schema.d.ts +1434 -0
  200. package/dist/lib/openapi/spec/release-plan-template-schema.d.ts.map +1 -0
  201. package/dist/lib/openapi/spec/release-plan-template-schema.js +79 -0
  202. package/dist/lib/openapi/spec/release-plan-template-schema.js.map +1 -0
  203. package/dist/lib/openapi/spec/search-features-schema.d.ts +11793 -725
  204. package/dist/lib/openapi/spec/search-features-schema.d.ts.map +1 -1
  205. package/dist/lib/openapi/spec/transition-condition-schema.d.ts +19 -0
  206. package/dist/lib/openapi/spec/transition-condition-schema.d.ts.map +1 -0
  207. package/dist/lib/openapi/spec/transition-condition-schema.js +17 -0
  208. package/dist/lib/openapi/spec/transition-condition-schema.js.map +1 -0
  209. package/dist/lib/routes/admin-api/index.js +2 -2
  210. package/dist/lib/routes/admin-api/index.js.map +1 -1
  211. package/dist/lib/routes/backstage.test.js +17 -5
  212. package/dist/lib/routes/backstage.test.js.map +1 -1
  213. package/dist/lib/routes/util.d.ts.map +1 -1
  214. package/dist/lib/routes/util.js +19 -1
  215. package/dist/lib/routes/util.js.map +1 -1
  216. package/dist/lib/server-impl.d.ts +8 -3
  217. package/dist/lib/server-impl.d.ts.map +1 -1
  218. package/dist/lib/server-impl.js +5 -1
  219. package/dist/lib/server-impl.js.map +1 -1
  220. package/dist/lib/services/api-token-service.d.ts +3 -2
  221. package/dist/lib/services/api-token-service.d.ts.map +1 -1
  222. package/dist/lib/services/api-token-service.js +3 -3
  223. package/dist/lib/services/api-token-service.js.map +1 -1
  224. package/dist/lib/services/index.d.ts +5 -1
  225. package/dist/lib/services/index.d.ts.map +1 -1
  226. package/dist/lib/services/index.js +16 -2
  227. package/dist/lib/services/index.js.map +1 -1
  228. package/dist/lib/services/user-service.d.ts.map +1 -1
  229. package/dist/lib/services/user-service.js +19 -3
  230. package/dist/lib/services/user-service.js.map +1 -1
  231. package/dist/lib/types/events.d.ts +41 -0
  232. package/dist/lib/types/events.d.ts.map +1 -1
  233. package/dist/lib/types/events.js +29 -1
  234. package/dist/lib/types/events.js.map +1 -1
  235. package/dist/lib/types/experimental.d.ts +3 -1
  236. package/dist/lib/types/experimental.d.ts.map +1 -1
  237. package/dist/lib/types/experimental.js +7 -6
  238. package/dist/lib/types/experimental.js.map +1 -1
  239. package/dist/lib/types/stores/feature-environment-store.d.ts +1 -1
  240. package/dist/lib/types/stores/feature-environment-store.d.ts.map +1 -1
  241. package/dist/lib/types/stores.d.ts +2 -0
  242. package/dist/lib/types/stores.d.ts.map +1 -1
  243. package/dist/lib/types/stores.js.map +1 -1
  244. package/dist/lib/ui-config/ui-config-controller.d.ts +24 -0
  245. package/dist/lib/ui-config/ui-config-controller.d.ts.map +1 -0
  246. package/dist/lib/{routes/admin-api/config.js → ui-config/ui-config-controller.js} +21 -17
  247. package/dist/lib/ui-config/ui-config-controller.js.map +1 -0
  248. package/dist/lib/ui-config/ui-config-service.d.ts +18 -0
  249. package/dist/lib/ui-config/ui-config-service.d.ts.map +1 -0
  250. package/dist/lib/ui-config/ui-config-service.js +64 -0
  251. package/dist/lib/ui-config/ui-config-service.js.map +1 -0
  252. package/dist/lib/ui-config/ui-config.test.d.ts +2 -0
  253. package/dist/lib/ui-config/ui-config.test.d.ts.map +1 -0
  254. package/dist/lib/{routes/admin-api/config.test.js → ui-config/ui-config.test.js} +6 -6
  255. package/dist/lib/ui-config/ui-config.test.js.map +1 -0
  256. package/dist/lib/util/metrics/createGauge.d.ts +17 -1
  257. package/dist/lib/util/metrics/createGauge.d.ts.map +1 -1
  258. package/dist/lib/util/metrics/createGauge.js +49 -4
  259. package/dist/lib/util/metrics/createGauge.js.map +1 -1
  260. package/dist/lib/util/random-id.js +2 -2
  261. package/dist/lib/util/random-id.js.map +1 -1
  262. package/dist/lib/util/random-id.test.d.ts +2 -0
  263. package/dist/lib/util/random-id.test.d.ts.map +1 -0
  264. package/dist/lib/util/random-id.test.js +7 -0
  265. package/dist/lib/util/random-id.test.js.map +1 -0
  266. package/dist/migrations/20210218090213-generate-server-identifier.js +2 -2
  267. package/dist/migrations/20210218090213-generate-server-identifier.js.map +1 -1
  268. package/dist/migrations/20210615115226-migrate-strategies-to-feature-strategies.js +2 -2
  269. package/dist/migrations/20210615115226-migrate-strategies-to-feature-strategies.js.map +1 -1
  270. package/dist/migrations/20250923130348-add-users-updated-at.d.ts +3 -0
  271. package/dist/migrations/20250923130348-add-users-updated-at.d.ts.map +1 -0
  272. package/dist/migrations/20250923130348-add-users-updated-at.js +40 -0
  273. package/dist/migrations/20250923130348-add-users-updated-at.js.map +1 -0
  274. package/dist/migrations/20251002095623-not-null-constraints.d.ts +3 -0
  275. package/dist/migrations/20251002095623-not-null-constraints.d.ts.map +1 -0
  276. package/dist/migrations/20251002095623-not-null-constraints.js +20 -0
  277. package/dist/migrations/20251002095623-not-null-constraints.js.map +1 -0
  278. package/dist/migrations/20251003105758-add-milestone-started-at.d.ts +3 -0
  279. package/dist/migrations/20251003105758-add-milestone-started-at.d.ts.map +1 -0
  280. package/dist/migrations/20251003105758-add-milestone-started-at.js +8 -0
  281. package/dist/migrations/20251003105758-add-milestone-started-at.js.map +1 -0
  282. package/dist/migrations/20251006111609-add-milestone-progressions.d.ts +3 -0
  283. package/dist/migrations/20251006111609-add-milestone-progressions.d.ts.map +1 -0
  284. package/dist/migrations/20251006111609-add-milestone-progressions.js +15 -0
  285. package/dist/migrations/20251006111609-add-milestone-progressions.js.map +1 -0
  286. package/dist/migrations/20251009081052-add-milestone-progression-executed-at.d.ts +3 -0
  287. package/dist/migrations/20251009081052-add-milestone-progression-executed-at.d.ts.map +1 -0
  288. package/dist/migrations/20251009081052-add-milestone-progression-executed-at.js +14 -0
  289. package/dist/migrations/20251009081052-add-milestone-progression-executed-at.js.map +1 -0
  290. package/dist/migrations/20251009132935-add-edge-node-presence.d.ts +3 -0
  291. package/dist/migrations/20251009132935-add-edge-node-presence.d.ts.map +1 -0
  292. package/dist/migrations/20251009132935-add-edge-node-presence.js +29 -0
  293. package/dist/migrations/20251009132935-add-edge-node-presence.js.map +1 -0
  294. package/dist/migrations/20251013131405-milestone-progression-uniqueness.d.ts +3 -0
  295. package/dist/migrations/20251013131405-milestone-progression-uniqueness.d.ts.map +1 -0
  296. package/dist/migrations/20251013131405-milestone-progression-uniqueness.js +9 -0
  297. package/dist/migrations/20251013131405-milestone-progression-uniqueness.js.map +1 -0
  298. package/dist/server-dev.js +7 -1
  299. package/dist/server-dev.js.map +1 -1
  300. package/dist/test/e2e/api/admin/context.e2e.test.js +2 -3
  301. package/dist/test/e2e/api/admin/context.e2e.test.js.map +1 -1
  302. package/dist/test/e2e/api/admin/user-admin.e2e.test.js +2 -3
  303. package/dist/test/e2e/api/admin/user-admin.e2e.test.js.map +1 -1
  304. package/dist/test/e2e/api/client/feature.optimal304.e2e.test.js +17 -41
  305. package/dist/test/e2e/api/client/feature.optimal304.e2e.test.js.map +1 -1
  306. package/dist/test/e2e/helpers/database-init.js +2 -2
  307. package/dist/test/e2e/helpers/database-init.js.map +1 -1
  308. package/dist/test/e2e/services/user-service.e2e.test.js +129 -99
  309. package/dist/test/e2e/services/user-service.e2e.test.js.map +1 -1
  310. package/dist/test/e2e/stores/feature-environment-store.e2e.test.js +3 -1
  311. package/dist/test/e2e/stores/feature-environment-store.e2e.test.js.map +1 -1
  312. package/dist/test/e2e/users/user-store.e2e.test.d.ts.map +1 -0
  313. package/dist/test/e2e/users/user-store.e2e.test.js.map +1 -0
  314. package/dist/test/e2e/users/user-updates-read-model.e2e.test.d.ts +2 -0
  315. package/dist/test/e2e/users/user-updates-read-model.e2e.test.d.ts.map +1 -0
  316. package/dist/test/e2e/users/user-updates-read-model.e2e.test.js +88 -0
  317. package/dist/test/e2e/users/user-updates-read-model.e2e.test.js.map +1 -0
  318. package/dist/test/fixtures/fake/fake-release-plan-read-model.d.ts +8 -0
  319. package/dist/test/fixtures/fake/fake-release-plan-read-model.d.ts.map +1 -0
  320. package/dist/test/fixtures/fake/fake-release-plan-read-model.js +9 -0
  321. package/dist/test/fixtures/fake/fake-release-plan-read-model.js.map +1 -0
  322. package/dist/test/fixtures/store.d.ts.map +1 -1
  323. package/dist/test/fixtures/store.js +1 -0
  324. package/dist/test/fixtures/store.js.map +1 -1
  325. package/frontend/build/index.html +1 -1
  326. package/frontend/build/static/{AdvancedPlayground-CUkOz1YF.js → AdvancedPlayground-HWcSRQrt.js} +1 -1
  327. package/frontend/build/static/BackendConnections-Cug76pb0.js +1 -0
  328. package/frontend/build/static/{CreateProject-COHPsP3X.js → CreateProject-3uUrdDWJ.js} +1 -1
  329. package/frontend/build/static/FeatureMetricsChart-DLvE4xPU.js +2 -0
  330. package/frontend/build/static/FeatureStaleDialog-BFWmPzw7.js +7 -0
  331. package/frontend/build/static/FeatureViewLazyExport-DfivW7sC.js +10 -0
  332. package/frontend/build/static/{FlagMetricsChart-D0GI-ltv.js → FlagMetricsChart-DFDJ4xPh.js} +2 -2
  333. package/frontend/build/static/FrontendNetworkTrafficUsage-DVa2I8CC.js +1 -0
  334. package/frontend/build/static/GridLayoutWrapper-Mt7n_5lt.js +3 -0
  335. package/frontend/build/static/ImpactMetricsPage-B3ERxAH0.js +1 -0
  336. package/frontend/build/static/LazyAdminExport-s8FIvcqq.js +38 -0
  337. package/frontend/build/static/LazyProjectExport-DN00bJrc.js +728 -0
  338. package/frontend/build/static/{LifecycleChartComponent-BigwXcU3.js → LifecycleChartComponent-BOcT_Zpy.js} +3 -3
  339. package/frontend/build/static/LineChartComponent-CudSs6ri.js +1 -0
  340. package/frontend/build/static/{MarkCompletedDialogue-CS-kM4vW.js → MarkCompletedDialogue-4XT7ryE9.js} +1 -1
  341. package/frontend/build/static/{NetworkConnectedEdges-C2nfTRKM.js → NetworkConnectedEdges-CnEFuyuC.js} +1 -1
  342. package/frontend/build/static/{NetworkOverview-BKozpi8w.js → NetworkOverview-KDe9n7ZE.js} +1 -1
  343. package/frontend/build/static/{NetworkPrometheusAPIWarning-wqCXwcem.js → NetworkPrometheusAPIWarning-Cy93jJcu.js} +1 -1
  344. package/frontend/build/static/{NetworkTraffic-Co7oakIE.js → NetworkTraffic-BTN3OABv.js} +1 -1
  345. package/frontend/build/static/NetworkTrafficUsage-DwnXvons.js +1 -0
  346. package/frontend/build/static/PercentageDonut-CmWbqKEA.js +1 -0
  347. package/frontend/build/static/{ReactJSONEditor-BDMT4-_1.js → ReactJSONEditor-xNDjbhPU.js} +1 -1
  348. package/frontend/build/static/{RoleCell-COtuTPWk.js → RoleCell-DSglYWti.js} +1 -1
  349. package/frontend/build/static/{aggregateFeatureMetrics-ClblY5Ev.js → aggregateFeatureMetrics-B7oOoe9g.js} +1 -1
  350. package/frontend/build/static/{formatTickValue-DojfJagm.js → formatTickValue-4OyGeZqN.js} +2 -2
  351. package/frontend/build/static/index-D02pkj6r.js +542 -0
  352. package/frontend/build/static/metricsFormatters-7MLBOEud.js +1 -0
  353. package/frontend/build/static/{networkTrafficUsageHighlightPlugin-BMMmh5e_.js → networkTrafficUsageHighlightPlugin-CT-MfVrm.js} +1 -1
  354. package/frontend/build/static/strategyCustom-Db-ZtYWl.svg +23 -0
  355. package/frontend/build/static/strategyDefault-LnSyH2eZ.svg +17 -0
  356. package/frontend/build/static/strategyGradual-oCA99tj3.svg +18 -0
  357. package/frontend/build/static/strategyHosts-4lVYC2Bf.svg +23 -0
  358. package/frontend/build/static/strategyIPs-BHaXsOYV.svg +24 -0
  359. package/frontend/build/static/strategyOn-CX-xL0oK.svg +18 -0
  360. package/frontend/build/static/useApiTokens-wTDjjd8a.js +1 -0
  361. package/frontend/package.json +2 -2
  362. package/package.json +5 -7
  363. package/dist/lib/routes/admin-api/config.d.ts +0 -24
  364. package/dist/lib/routes/admin-api/config.d.ts.map +0 -1
  365. package/dist/lib/routes/admin-api/config.js.map +0 -1
  366. package/dist/lib/routes/admin-api/config.test.d.ts +0 -2
  367. package/dist/lib/routes/admin-api/config.test.d.ts.map +0 -1
  368. package/dist/lib/routes/admin-api/config.test.js.map +0 -1
  369. package/dist/test/e2e/stores/user-store.e2e.test.d.ts.map +0 -1
  370. package/dist/test/e2e/stores/user-store.e2e.test.js.map +0 -1
  371. package/frontend/build/static/BackendConnections-Bi1Fsohi.js +0 -1
  372. package/frontend/build/static/ChartItem-Ci-KFL7s.js +0 -1
  373. package/frontend/build/static/FeatureMetricsChart-ClbKeGOa.js +0 -2
  374. package/frontend/build/static/FeatureStaleDialog-DZvKjxPB.js +0 -7
  375. package/frontend/build/static/FeatureViewLazyExport-yCIrczZt.js +0 -10
  376. package/frontend/build/static/FrontendNetworkTrafficUsage-DlRkx8CV.js +0 -1
  377. package/frontend/build/static/ImpactMetricsPage-BYcbHNWC.js +0 -3
  378. package/frontend/build/static/LazyAdminExport-BjSYZTvt.js +0 -38
  379. package/frontend/build/static/LazyProjectExport-9mNkV9Jq.js +0 -728
  380. package/frontend/build/static/LineChartComponent-CPcDsiNa.js +0 -1
  381. package/frontend/build/static/NetworkTrafficUsage-DNDJZGXi.js +0 -1
  382. package/frontend/build/static/index-CqYZiU1N.js +0 -542
  383. package/frontend/build/static/useApiTokens-B6vbGXUF.js +0 -1
  384. /package/dist/test/e2e/{stores → users}/user-store.e2e.test.d.ts +0 -0
  385. /package/dist/test/e2e/{stores → users}/user-store.e2e.test.js +0 -0
@@ -1,7 +1,7 @@
1
1
  import { type Variant } from 'unleash-client';
2
2
  import type { MetricFlagContext } from 'unleash-client/lib/impact-metrics/metric-types.js';
3
3
  import type { Context } from '../features/playground/feature-evaluator/index.js';
4
- export type IFlagKey = 'accessLogs' | 'anonymiseEventLog' | 'encryptEmails' | 'enableLicense' | 'responseTimeWithAppNameKillSwitch' | 'maintenanceMode' | 'messageBanner' | 'strictSchemaValidation' | 'personalAccessTokensKillSwitch' | 'migrationLock' | 'demo' | 'advancedPlayground' | 'filterInvalidClientMetrics' | 'disableMetrics' | 'signals' | 'automatedActions' | 'celebrateUnleash' | 'feedbackPosting' | 'extendedUsageMetrics' | 'feedbackComments' | 'killScheduledChangeRequestCache' | 'estimateTrafficDataCost' | 'useMemoizedActiveTokens' | 'queryMissingTokens' | 'disableUpdateMaxRevisionId' | 'disablePublishUnannouncedEvents' | 'outdatedSdksBanner' | 'responseTimeMetricsFix' | 'disableShowContextFieldSelectionValues' | 'manyStrategiesPagination' | 'enableLegacyVariants' | 'extendedMetrics' | 'removeUnsafeInlineStyleSrc' | 'projectRoleAssignment' | 'originMiddlewareRequestLogging' | 'webhookDomainLogging' | 'productivityReportEmail' | 'productivityReportUnsubscribers' | 'showUserDeviceCount' | 'memorizeStats' | 'streaming' | 'etagVariant' | 'deltaApi' | 'uniqueSdkTracking' | 'consumptionModel' | 'consumptionModelUI' | 'edgeObservability' | 'customMetrics' | 'impactMetrics' | 'lifecycleGraphs' | 'addConfiguration' | 'etagByEnv' | 'fetchMode' | 'optimizeLifecycle';
4
+ export type IFlagKey = 'accessLogs' | 'anonymiseEventLog' | 'encryptEmails' | 'enableLicense' | 'responseTimeWithAppNameKillSwitch' | 'maintenanceMode' | 'messageBanner' | 'strictSchemaValidation' | 'personalAccessTokensKillSwitch' | 'migrationLock' | 'demo' | 'advancedPlayground' | 'filterInvalidClientMetrics' | 'disableMetrics' | 'signals' | 'automatedActions' | 'celebrateUnleash' | 'feedbackPosting' | 'extendedUsageMetrics' | 'feedbackComments' | 'killScheduledChangeRequestCache' | 'estimateTrafficDataCost' | 'useMemoizedActiveTokens' | 'queryMissingTokens' | 'disableUpdateMaxRevisionId' | 'disablePublishUnannouncedEvents' | 'outdatedSdksBanner' | 'responseTimeMetricsFix' | 'disableShowContextFieldSelectionValues' | 'manyStrategiesPagination' | 'enableLegacyVariants' | 'extendedMetrics' | 'removeUnsafeInlineStyleSrc' | 'projectRoleAssignment' | 'originMiddlewareRequestLogging' | 'webhookDomainLogging' | 'productivityReportEmail' | 'productivityReportUnsubscribers' | 'showUserDeviceCount' | 'memorizeStats' | 'streaming' | 'deltaApi' | 'uniqueSdkTracking' | 'consumptionModel' | 'consumptionModelUI' | 'edgeObservability' | 'customMetrics' | 'impactMetrics' | 'lifecycleGraphs' | 'etagByEnv' | 'fetchMode' | 'optimizeLifecycle' | 'newStrategyModal' | 'globalChangeRequestList' | 'newUiConfigService' | 'trafficBillingDisplay' | 'milestoneProgression' | 'envAddStrategySuggestion' | 'featureReleasePlans';
5
5
  export type IFlags = Partial<{
6
6
  [key in IFlagKey]: boolean | Variant;
7
7
  }>;
@@ -28,7 +28,9 @@ export interface IExternalFlagResolver {
28
28
  export interface IImpactMetricsResolver {
29
29
  defineCounter(name: string, help: string): any;
30
30
  defineGauge(name: string, help: string): any;
31
+ defineHistogram(name: string, help: string, buckets?: number[]): any;
31
32
  incrementCounter(name: string, value?: number, metricsFlagContext?: MetricFlagContext): void;
32
33
  updateGauge(name: string, value: number, metricsFlagContext?: MetricFlagContext): void;
34
+ observeHistogram(name: string, value: number, metricsFlagContext?: MetricFlagContext): void;
33
35
  }
34
36
  //# sourceMappingURL=experimental.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"experimental.d.ts","sourceRoot":"","sources":["../../../src/lib/types/experimental.ts"],"names":[],"mappings":"AAAA,OAAO,EAAe,KAAK,OAAO,EAAE,MAAM,gBAAgB,CAAC;AAG3D,OAAO,KAAK,EAAE,iBAAiB,EAAE,MAAM,mDAAmD,CAAC;AAC3F,OAAO,KAAK,EAAE,OAAO,EAAE,MAAM,mDAAmD,CAAC;AAEjF,MAAM,MAAM,QAAQ,GACd,YAAY,GACZ,mBAAmB,GACnB,eAAe,GACf,eAAe,GACf,mCAAmC,GACnC,iBAAiB,GACjB,eAAe,GACf,wBAAwB,GACxB,gCAAgC,GAChC,eAAe,GACf,MAAM,GACN,oBAAoB,GACpB,4BAA4B,GAC5B,gBAAgB,GAChB,SAAS,GACT,kBAAkB,GAClB,kBAAkB,GAClB,iBAAiB,GACjB,sBAAsB,GACtB,kBAAkB,GAClB,iCAAiC,GACjC,yBAAyB,GACzB,yBAAyB,GACzB,oBAAoB,GACpB,4BAA4B,GAC5B,iCAAiC,GACjC,oBAAoB,GACpB,wBAAwB,GACxB,wCAAwC,GACxC,0BAA0B,GAC1B,sBAAsB,GACtB,iBAAiB,GACjB,4BAA4B,GAC5B,uBAAuB,GACvB,gCAAgC,GAChC,sBAAsB,GACtB,yBAAyB,GACzB,iCAAiC,GACjC,qBAAqB,GACrB,eAAe,GACf,WAAW,GACX,aAAa,GACb,UAAU,GACV,mBAAmB,GACnB,kBAAkB,GAClB,oBAAoB,GACpB,mBAAmB,GACnB,eAAe,GACf,eAAe,GACf,iBAAiB,GACjB,kBAAkB,GAClB,WAAW,GACX,WAAW,GACX,mBAAmB,CAAC;AAE1B,MAAM,MAAM,MAAM,GAAG,OAAO,CAAC;KAAG,GAAG,IAAI,QAAQ,GAAG,OAAO,GAAG,OAAO;CAAE,CAAC,CAAC;AAkNvE,eAAO,MAAM,0BAA0B,EAAE,oBAOxC,CAAC;AAEF,MAAM,WAAW,oBAAoB;IACjC,KAAK,EAAE,MAAM,CAAC;IACd,gBAAgB,EAAE,qBAAqB,CAAC;CAC3C;AAED,MAAM,WAAW,YAAa,SAAQ,OAAO;CAAG;AAEhD,MAAM,WAAW,aAAa;IAC1B,MAAM,EAAE,CAAC,OAAO,CAAC,EAAE,YAAY,KAAK,MAAM,CAAC;IAC3C,SAAS,EAAE,CAAC,OAAO,EAAE,QAAQ,EAAE,OAAO,CAAC,EAAE,YAAY,KAAK,OAAO,CAAC;IAClE,UAAU,EAAE,CAAC,OAAO,EAAE,QAAQ,EAAE,OAAO,CAAC,EAAE,YAAY,KAAK,OAAO,CAAC;IACnE,gBAAgB,EAAE,MAAM,YAAY,CAAC;IACrC,aAAa,CAAC,EAAE,sBAAsB,CAAC;CAC1C;AAED,MAAM,WAAW,qBAAqB;IAClC,SAAS,EAAE,CAAC,QAAQ,EAAE,QAAQ,EAAE,OAAO,CAAC,EAAE,YAAY,KAAK,OAAO,CAAC;IACnE,UAAU,EAAE,CAAC,QAAQ,EAAE,QAAQ,EAAE,OAAO,CAAC,EAAE,YAAY,KAAK,OAAO,CAAC;IACpE,gBAAgB,EAAE,MAAM,YAAY,CAAC;IACrC,aAAa,CAAC,EAAE,sBAAsB,CAAC;CAC1C;AAED,MAAM,WAAW,sBAAsB;IACnC,aAAa,CAAC,IAAI,EAAE,MAAM,EAAE,IAAI,EAAE,MAAM,OAAE;IAC1C,WAAW,CAAC,IAAI,EAAE,MAAM,EAAE,IAAI,EAAE,MAAM,OAAE;IACxC,gBAAgB,CACZ,IAAI,EAAE,MAAM,EACZ,KAAK,CAAC,EAAE,MAAM,EACd,kBAAkB,CAAC,EAAE,iBAAiB,GACvC,IAAI,CAAC;IACR,WAAW,CACP,IAAI,EAAE,MAAM,EACZ,KAAK,EAAE,MAAM,EACb,kBAAkB,CAAC,EAAE,iBAAiB,GACvC,IAAI,CAAC;CACX"}
1
+ {"version":3,"file":"experimental.d.ts","sourceRoot":"","sources":["../../../src/lib/types/experimental.ts"],"names":[],"mappings":"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"}
@@ -55,11 +55,6 @@ const flags = {
55
55
  productivityReportEmail: parseEnvVarBoolean(process.env.UNLEASH_EXPERIMENTAL_PRODUCTIVITY_REPORT_EMAIL, false),
56
56
  productivityReportUnsubscribers: parseEnvVarBoolean(process.env.UNLEASH_EXPERIMENTAL_PRODUCTIVITY_REPORT_UNSUBSCRIBERS, false),
57
57
  showUserDeviceCount: parseEnvVarBoolean(process.env.UNLEASH_EXPERIMENTAL_SHOW_USER_DEVICE_COUNT, false),
58
- etagVariant: {
59
- name: 'disabled',
60
- feature_enabled: false,
61
- enabled: false,
62
- },
63
58
  deltaApi: parseEnvVarBoolean(process.env.UNLEASH_EXPERIMENTAL_DELTA_API, false),
64
59
  uniqueSdkTracking: parseEnvVarBoolean(process.env.UNLEASH_EXPERIMENTAL_UNIQUE_SDK_TRACKING, false),
65
60
  consumptionModel: parseEnvVarBoolean(process.env.EXPERIMENTAL_CONSUMPTION_MODEL, false),
@@ -67,7 +62,6 @@ const flags = {
67
62
  edgeObservability: parseEnvVarBoolean(process.env.EXPERIMENTAL_EDGE_OBSERVABILITY, false),
68
63
  impactMetrics: parseEnvVarBoolean(process.env.UNLEASH_EXPERIMENTAL_IMPACT_METRICS, false),
69
64
  lifecycleGraphs: parseEnvVarBoolean(process.env.UNLEASH_EXPERIMENTAL_LIFECYCLE_GRAPHS, false),
70
- addConfiguration: parseEnvVarBoolean(process.env.UNLEASH_EXPERIMENTAL_ADD_CONFIGURATION, false),
71
65
  streaming: {
72
66
  name: 'disabled',
73
67
  enabled: parseEnvVarBoolean(process.env.UNLEASH_EXPERIMENTAL_STREAMING, false),
@@ -76,6 +70,13 @@ const flags = {
76
70
  name: 'disabled',
77
71
  enabled: parseEnvVarBoolean(process.env.UNLEASH_EXPERIMENTAL_FETCH_MODE, false),
78
72
  },
73
+ newStrategyModal: parseEnvVarBoolean(process.env.UNLEASH_EXPERIMENTAL_NEW_STRATEGY_MODAL, false),
74
+ globalChangeRequestList: parseEnvVarBoolean(process.env.UNLEASH_EXPERIMENTAL_GLOBAL_CHANGE_REQUEST_LIST, false),
75
+ newUiConfigService: parseEnvVarBoolean(process.env.UNLEASH_EXPERIMENTAL_NEW_UI_CONFIG_SERVICE, false),
76
+ trafficBillingDisplay: parseEnvVarBoolean(process.env.UNLEASH_EXPERIMENTAL_TRAFFIC_BILLING_DISPLAY, false),
77
+ milestoneProgression: parseEnvVarBoolean(process.env.UNLEASH_EXPERIMENTAL_MILESTONE_PROGRESSION, false),
78
+ envAddStrategySuggestion: parseEnvVarBoolean(process.env.UNLEASH_EXPERIMENTAL_ENV_ADD_STRATEGY_SUGGESTION, false),
79
+ featureReleasePlans: parseEnvVarBoolean(process.env.UNLEASH_EXPERIMENTAL_FEATURE_RELEASE_PLANS, false),
79
80
  };
80
81
  export const defaultExperimentalOptions = {
81
82
  flags,
@@ -1 +1 @@
1
- {"version":3,"file":"experimental.js","sourceRoot":"","sources":["../../../src/lib/types/experimental.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"experimental.js","sourceRoot":"","sources":["../../../src/lib/types/experimental.ts"],"names":[],"mappings":"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"}
@@ -22,7 +22,7 @@ export interface IFeatureEnvironmentStore extends Store<IFeatureEnvironment, Fea
22
22
  connectProject(environment: string, projectId: string, idempotent?: boolean): Promise<void>;
23
23
  disconnectProject(environment: string, projectId: string): Promise<void>;
24
24
  copyEnvironmentFeaturesByProjects(sourceEnvironment: string, destinationEnvironment: string, projects: string[]): Promise<void>;
25
- cloneStrategies(sourceEnvironment: string, destinationEnvironment: string): Promise<void>;
25
+ cloneStrategies(sourceEnvironment: string, destinationEnvironment: string, projects: string[]): Promise<void>;
26
26
  addVariantsToFeatureEnvironment(featureName: string, environment: string, variants: IVariant[]): Promise<void>;
27
27
  setVariantsToFeatureEnvironments(featureName: string, environments: string[], variants: IVariant[]): Promise<void>;
28
28
  addFeatureEnvironment(featureEnvironment: IFeatureEnvironment): Promise<void>;
@@ -1 +1 @@
1
- {"version":3,"file":"feature-environment-store.d.ts","sourceRoot":"","sources":["../../../../src/lib/types/stores/feature-environment-store.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"feature-environment-store.d.ts","sourceRoot":"","sources":["../../../../src/lib/types/stores/feature-environment-store.ts"],"names":[],"mappings":"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"}
@@ -62,6 +62,7 @@ import { ReleasePlanMilestoneStrategyStore } from '../features/release-plans/rel
62
62
  import type { IFeatureLinkStore } from '../features/feature-links/feature-link-store-type.js';
63
63
  import type { IUnknownFlagsStore } from '../features/metrics/unknown-flags/unknown-flags-store.js';
64
64
  import type { IFeatureLinksReadModel } from '../features/feature-links/feature-links-read-model-type.js';
65
+ import type { UserUpdatesReadModel } from '../features/users/user-updates-read-model.js';
65
66
  export interface IUnleashStores {
66
67
  accessStore: IAccessStore;
67
68
  accountStore: IAccountStore;
@@ -89,6 +90,7 @@ export interface IUnleashStores {
89
90
  tagTypeStore: ITagTypeStore;
90
91
  userFeedbackStore: IUserFeedbackStore;
91
92
  userStore: IUserStore;
93
+ userUpdatesReadModel: UserUpdatesReadModel;
92
94
  userSplashStore: IUserSplashStore;
93
95
  roleStore: IRoleStore;
94
96
  segmentStore: ISegmentStore;
@@ -1 +1 @@
1
- {"version":3,"file":"stores.d.ts","sourceRoot":"","sources":["../../../src/lib/types/stores.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"stores.d.ts","sourceRoot":"","sources":["../../../src/lib/types/stores.ts"],"names":[],"mappings":"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"}
@@ -1 +1 @@
1
- {"version":3,"file":"stores.js","sourceRoot":"","sources":["../../../src/lib/types/stores.ts"],"names":[],"mappings":"AAyDA,OAAO,EAAE,gBAAgB,EAAE,MAAM,iDAAiD,CAAC;AACnF,OAAO,EAAE,wBAAwB,EAAE,MAAM,0DAA0D,CAAC;AACpG,OAAO,EAAE,yBAAyB,EAAE,MAAM,2DAA2D,CAAC;AACtG,OAAO,EAAE,iCAAiC,EAAE,MAAM,oEAAoE,CAAC;AAwEvH,OAAO,EAuDH,gBAAgB,EAChB,wBAAwB,EACxB,yBAAyB,EACzB,iCAAiC,GAIpC,CAAC"}
1
+ {"version":3,"file":"stores.js","sourceRoot":"","sources":["../../../src/lib/types/stores.ts"],"names":[],"mappings":"AAyDA,OAAO,EAAE,gBAAgB,EAAE,MAAM,iDAAiD,CAAC;AACnF,OAAO,EAAE,wBAAwB,EAAE,MAAM,0DAA0D,CAAC;AACpG,OAAO,EAAE,yBAAyB,EAAE,MAAM,2DAA2D,CAAC;AACtG,OAAO,EAAE,iCAAiC,EAAE,MAAM,oEAAoE,CAAC;AA0EvH,OAAO,EAuDH,gBAAgB,EAChB,wBAAwB,EACxB,yBAAyB,EACzB,iCAAiC,GAIpC,CAAC"}
@@ -0,0 +1,24 @@
1
+ import type { Response } from 'express';
2
+ import type { AuthedRequest } from '../types/core.js';
3
+ import type { IUnleashServices } from '../services/index.js';
4
+ import { type IUnleashConfig } from '../types/option.js';
5
+ import Controller from '../routes/controller.js';
6
+ import { type UiConfigSchema } from '../openapi/spec/ui-config-schema.js';
7
+ import type { IAuthRequest } from '../routes/unleash-types.js';
8
+ import type { SetCorsSchema } from '../openapi/spec/set-cors-schema.js';
9
+ declare class UiConfigController extends Controller {
10
+ private versionService;
11
+ private settingService;
12
+ private frontendApiService;
13
+ private emailService;
14
+ private sessionService;
15
+ private maintenanceService;
16
+ private flagResolver;
17
+ private uiConfigService;
18
+ private readonly openApiService;
19
+ constructor(config: IUnleashConfig, { versionService, settingService, emailService, openApiService, frontendApiService, maintenanceService, sessionService, uiConfigService, }: Pick<IUnleashServices, 'versionService' | 'settingService' | 'emailService' | 'openApiService' | 'frontendApiService' | 'maintenanceService' | 'clientInstanceService' | 'sessionService' | 'uiConfigService'>);
20
+ getUiConfig(req: AuthedRequest, res: Response<UiConfigSchema>): Promise<void>;
21
+ setCors(req: IAuthRequest<void, void, SetCorsSchema>, res: Response<string>): Promise<void>;
22
+ }
23
+ export default UiConfigController;
24
+ //# sourceMappingURL=ui-config-controller.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"ui-config-controller.d.ts","sourceRoot":"","sources":["../../../src/lib/ui-config/ui-config-controller.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,QAAQ,EAAE,MAAM,SAAS,CAAC;AACxC,OAAO,KAAK,EAAE,aAAa,EAAE,MAAM,kBAAkB,CAAC;AACtD,OAAO,KAAK,EAAE,gBAAgB,EAAE,MAAM,sBAAsB,CAAC;AAC7D,OAAO,EAAa,KAAK,cAAc,EAAE,MAAM,oBAAoB,CAAC;AAEpE,OAAO,UAAU,MAAM,yBAAyB,CAAC;AASjD,OAAO,EAEH,KAAK,cAAc,EACtB,MAAM,qCAAqC,CAAC;AAI7C,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,4BAA4B,CAAC;AAE/D,OAAO,KAAK,EAAE,aAAa,EAAE,MAAM,oCAAoC,CAAC;AAOxE,cAAM,kBAAmB,SAAQ,UAAU;IACvC,OAAO,CAAC,cAAc,CAAiB;IAEvC,OAAO,CAAC,cAAc,CAAiB;IAEvC,OAAO,CAAC,kBAAkB,CAAqB;IAE/C,OAAO,CAAC,YAAY,CAAe;IAEnC,OAAO,CAAC,cAAc,CAAiB;IAEvC,OAAO,CAAC,kBAAkB,CAAqB;IAE/C,OAAO,CAAC,YAAY,CAAgB;IAEpC,OAAO,CAAC,eAAe,CAAkB;IAEzC,OAAO,CAAC,QAAQ,CAAC,cAAc,CAAiB;gBAG5C,MAAM,EAAE,cAAc,EACtB,EACI,cAAc,EACd,cAAc,EACd,YAAY,EACZ,cAAc,EACd,kBAAkB,EAClB,kBAAkB,EAClB,cAAc,EACd,eAAe,GAClB,EAAE,IAAI,CACH,gBAAgB,EACd,gBAAgB,GAChB,gBAAgB,GAChB,cAAc,GACd,gBAAgB,GAChB,oBAAoB,GACpB,oBAAoB,GACpB,uBAAuB,GACvB,gBAAgB,GAChB,iBAAiB,CACtB;IAmDC,WAAW,CACb,GAAG,EAAE,aAAa,EAClB,GAAG,EAAE,QAAQ,CAAC,cAAc,CAAC,GAC9B,OAAO,CAAC,IAAI,CAAC;IA6EV,OAAO,CACT,GAAG,EAAE,YAAY,CAAC,IAAI,EAAE,IAAI,EAAE,aAAa,CAAC,EAC5C,GAAG,EAAE,QAAQ,CAAC,MAAM,CAAC,GACtB,OAAO,CAAC,IAAI,CAAC;CAYnB;AAED,eAAe,kBAAkB,CAAC"}
@@ -1,25 +1,25 @@
1
- import { IAuthType } from '../../types/option.js';
2
- import version from '../../util/version.js';
3
- import Controller from '../controller.js';
4
- import { simpleAuthSettingsKey, } from '../../types/settings/simple-auth-settings.js';
5
- import { ADMIN, NONE, UPDATE_CORS } from '../../types/permissions.js';
6
- import { createResponseSchema } from '../../openapi/util/create-response-schema.js';
7
- import { uiConfigSchema, } from '../../openapi/spec/ui-config-schema.js';
8
- import { emptyResponse } from '../../openapi/util/standard-responses.js';
9
- import NotFoundError from '../../error/notfound-error.js';
10
- import { createRequestSchema } from '../../openapi/util/create-request-schema.js';
11
- class ConfigController extends Controller {
12
- constructor(config, { versionService, settingService, emailService, openApiService, frontendApiService, maintenanceService, clientInstanceService, sessionService, }) {
1
+ import { IAuthType } from '../types/option.js';
2
+ import version from '../util/version.js';
3
+ import Controller from '../routes/controller.js';
4
+ import { simpleAuthSettingsKey, } from '../types/settings/simple-auth-settings.js';
5
+ import { ADMIN, NONE, UPDATE_CORS } from '../types/permissions.js';
6
+ import { createResponseSchema } from '../openapi/util/create-response-schema.js';
7
+ import { uiConfigSchema, } from '../openapi/spec/ui-config-schema.js';
8
+ import { emptyResponse } from '../openapi/util/standard-responses.js';
9
+ import NotFoundError from '../error/notfound-error.js';
10
+ import { createRequestSchema } from '../openapi/util/create-request-schema.js';
11
+ class UiConfigController extends Controller {
12
+ constructor(config, { versionService, settingService, emailService, openApiService, frontendApiService, maintenanceService, sessionService, uiConfigService, }) {
13
13
  super(config);
14
+ this.flagResolver = config.flagResolver;
15
+ this.openApiService = openApiService;
16
+ this.uiConfigService = uiConfigService;
14
17
  this.versionService = versionService;
15
18
  this.settingService = settingService;
16
19
  this.emailService = emailService;
17
- this.openApiService = openApiService;
18
20
  this.frontendApiService = frontendApiService;
19
21
  this.maintenanceService = maintenanceService;
20
- this.clientInstanceService = clientInstanceService;
21
22
  this.sessionService = sessionService;
22
- this.flagResolver = config.flagResolver;
23
23
  this.route({
24
24
  method: 'get',
25
25
  path: '',
@@ -55,6 +55,10 @@ class ConfigController extends Controller {
55
55
  });
56
56
  }
57
57
  async getUiConfig(req, res) {
58
+ if (this.flagResolver.isEnabled('newUiConfigService')) {
59
+ const uiConfig = await this.uiConfigService.getUiConfig(req.user);
60
+ return this.openApiService.respondWithValidation(200, res, uiConfigSchema.$id, uiConfig);
61
+ }
58
62
  const getMaxSessionsCount = async () => {
59
63
  if (this.flagResolver.isEnabled('showUserDeviceCount')) {
60
64
  return this.sessionService.getMaxSessionsCount();
@@ -110,5 +114,5 @@ class ConfigController extends Controller {
110
114
  throw new NotFoundError();
111
115
  }
112
116
  }
113
- export default ConfigController;
114
- //# sourceMappingURL=config.js.map
117
+ export default UiConfigController;
118
+ //# sourceMappingURL=ui-config-controller.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"ui-config-controller.js","sourceRoot":"","sources":["../../../src/lib/ui-config/ui-config-controller.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,18 @@
1
+ import type { IUnleashConfig } from '../types/option.js';
2
+ import type { UiConfigSchema } from '../openapi/index.js';
3
+ import { type IUnleashServices, type User } from '../server-impl.js';
4
+ export declare class UiConfigService {
5
+ private config;
6
+ private versionService;
7
+ private settingService;
8
+ private frontendApiService;
9
+ private emailService;
10
+ private sessionService;
11
+ private maintenanceService;
12
+ private resourceLimitsService;
13
+ private flagResolver;
14
+ constructor(config: IUnleashConfig, { versionService, settingService, emailService, frontendApiService, maintenanceService, sessionService, resourceLimitsService, }: Pick<IUnleashServices, 'versionService' | 'settingService' | 'emailService' | 'frontendApiService' | 'maintenanceService' | 'sessionService' | 'resourceLimitsService'>);
15
+ getMaxSessionsCount(): Promise<number>;
16
+ getUiConfig(user: User): Promise<UiConfigSchema>;
17
+ }
18
+ //# sourceMappingURL=ui-config-service.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"ui-config-service.d.ts","sourceRoot":"","sources":["../../../src/lib/ui-config/ui-config-service.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,oBAAoB,CAAC;AACzD,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,qBAAqB,CAAC;AAC1D,OAAO,EAKH,KAAK,gBAAgB,EAGrB,KAAK,IAAI,EAEZ,MAAM,mBAAmB,CAAC;AAS3B,qBAAa,eAAe;IACxB,OAAO,CAAC,MAAM,CAAiB;IAE/B,OAAO,CAAC,cAAc,CAAiB;IAEvC,OAAO,CAAC,cAAc,CAAiB;IAEvC,OAAO,CAAC,kBAAkB,CAAqB;IAE/C,OAAO,CAAC,YAAY,CAAe;IAEnC,OAAO,CAAC,cAAc,CAAiB;IAEvC,OAAO,CAAC,kBAAkB,CAAqB;IAE/C,OAAO,CAAC,qBAAqB,CAAwB;IAErD,OAAO,CAAC,YAAY,CAAgB;gBAGhC,MAAM,EAAE,cAAc,EACtB,EACI,cAAc,EACd,cAAc,EACd,YAAY,EACZ,kBAAkB,EAClB,kBAAkB,EAClB,cAAc,EACd,qBAAqB,GACxB,EAAE,IAAI,CACH,gBAAgB,EACd,gBAAgB,GAChB,gBAAgB,GAChB,cAAc,GACd,oBAAoB,GACpB,oBAAoB,GACpB,gBAAgB,GAChB,uBAAuB,CAC5B;IAaC,mBAAmB,IAAI,OAAO,CAAC,MAAM,CAAC;IAOtC,WAAW,CAAC,IAAI,EAAE,IAAI,GAAG,OAAO,CAAC,cAAc,CAAC;CAsDzD"}
@@ -0,0 +1,64 @@
1
+ import { IAuthType, } from '../server-impl.js';
2
+ import { simpleAuthSettingsKey, } from '../types/settings/simple-auth-settings.js';
3
+ import version from '../util/version.js';
4
+ export class UiConfigService {
5
+ constructor(config, { versionService, settingService, emailService, frontendApiService, maintenanceService, sessionService, resourceLimitsService, }) {
6
+ this.config = config;
7
+ this.flagResolver = config.flagResolver;
8
+ this.versionService = versionService;
9
+ this.settingService = settingService;
10
+ this.emailService = emailService;
11
+ this.frontendApiService = frontendApiService;
12
+ this.maintenanceService = maintenanceService;
13
+ this.sessionService = sessionService;
14
+ this.resourceLimitsService = resourceLimitsService;
15
+ }
16
+ async getMaxSessionsCount() {
17
+ if (this.flagResolver.isEnabled('showUserDeviceCount')) {
18
+ return this.sessionService.getMaxSessionsCount();
19
+ }
20
+ return 0;
21
+ }
22
+ async getUiConfig(user) {
23
+ const [frontendSettings, simpleAuthSettings, maintenanceMode, maxSessionsCount,] = await Promise.all([
24
+ this.frontendApiService.getFrontendSettings(false),
25
+ this.settingService.get(simpleAuthSettingsKey),
26
+ this.maintenanceService.isMaintenanceMode(),
27
+ this.getMaxSessionsCount(),
28
+ ]);
29
+ const disablePasswordAuth = simpleAuthSettings?.disabled ||
30
+ this.config.authentication.type === IAuthType.NONE;
31
+ const expFlags = this.config.flagResolver.getAll({
32
+ email: user.email,
33
+ });
34
+ const flags = {
35
+ ...this.config.ui.flags,
36
+ ...expFlags,
37
+ };
38
+ const unleashContext = {
39
+ ...this.flagResolver.getStaticContext(),
40
+ email: user.email,
41
+ userId: user.id,
42
+ };
43
+ const uiConfig = {
44
+ ...this.config.ui,
45
+ flags,
46
+ version,
47
+ emailEnabled: this.emailService.isEnabled(),
48
+ unleashUrl: this.config.server.unleashUrl,
49
+ baseUriPath: this.config.server.baseUriPath,
50
+ authenticationType: this.config.authentication?.type,
51
+ frontendApiOrigins: frontendSettings.frontendApiOrigins,
52
+ versionInfo: await this.versionService.getVersionInfo(),
53
+ prometheusAPIAvailable: this.config.prometheusApi !== undefined,
54
+ resourceLimits: await this.resourceLimitsService.getResourceLimits(),
55
+ disablePasswordAuth,
56
+ maintenanceMode,
57
+ feedbackUriPath: this.config.feedbackUriPath,
58
+ maxSessionsCount,
59
+ unleashContext: unleashContext,
60
+ };
61
+ return uiConfig;
62
+ }
63
+ }
64
+ //# sourceMappingURL=ui-config-service.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"ui-config-service.js","sourceRoot":"","sources":["../../../src/lib/ui-config/ui-config-service.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,2 @@
1
+ export {};
2
+ //# sourceMappingURL=ui-config.test.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"ui-config.test.d.ts","sourceRoot":"","sources":["../../../src/lib/ui-config/ui-config.test.ts"],"names":[],"mappings":""}
@@ -1,9 +1,9 @@
1
1
  import supertest from 'supertest';
2
- import { createTestConfig } from '../../../test/config/test-config.js';
3
- import createStores from '../../../test/fixtures/store.js';
4
- import getApp from '../../app.js';
5
- import { createServices } from '../../services/index.js';
6
- import { DEFAULT_SEGMENT_VALUES_LIMIT, DEFAULT_STRATEGY_SEGMENTS_LIMIT, } from '../../util/segments.js';
2
+ import { createTestConfig } from '../../test/config/test-config.js';
3
+ import createStores from '../../test/fixtures/store.js';
4
+ import getApp from '../app.js';
5
+ import { createServices } from '../services/index.js';
6
+ import { DEFAULT_SEGMENT_VALUES_LIMIT, DEFAULT_STRATEGY_SEGMENTS_LIMIT, } from '../util/segments.js';
7
7
  const uiConfig = {
8
8
  headerBackground: 'red',
9
9
  slogan: 'hello',
@@ -60,4 +60,4 @@ test('should update CORS settings', async () => {
60
60
  .expect(200);
61
61
  expect(updatedBody.frontendApiOrigins).toEqual(['https://example.com']);
62
62
  });
63
- //# sourceMappingURL=config.test.js.map
63
+ //# sourceMappingURL=ui-config.test.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"ui-config.test.js","sourceRoot":"","sources":["../../../src/lib/ui-config/ui-config.test.ts"],"names":[],"mappings":"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"}
@@ -8,6 +8,22 @@ export type Gauge<T extends string = string> = {
8
8
  reset: () => void;
9
9
  set: (value: number) => void;
10
10
  };
11
+ /**
12
+ * Additional options for createGauge that allow registering a lazy collect function
13
+ * which caches values for a given TTL.
14
+ */
15
+ export type CreateGaugeOptions<T extends string> = GaugeConfiguration<T> & {
16
+ /**
17
+ * Time to live for cached values in milliseconds. Used together with `fetchValue`.
18
+ */
19
+ ttlMs?: number;
20
+ /**
21
+ * Optional fetcher used to populate the gauge value lazily on scrape.
22
+ * If provided together with `ttlMs`, a `collect` function will be installed that
23
+ * caches the value for the TTL. Return null to indicate unknown (we'll set NaN).
24
+ */
25
+ fetchValue?: () => Promise<number | null>;
26
+ };
11
27
  /**
12
28
  * Creates a wrapped instance of prom-client's Gauge, overriding some of its methods for enhanced functionality and type-safety.
13
29
  *
@@ -15,5 +31,5 @@ export type Gauge<T extends string = string> = {
15
31
  * See prom-client documentation for detailed options: https://github.com/siimon/prom-client#gauge
16
32
  * @returns An object containing the wrapped Gauge instance and custom methods.
17
33
  */
18
- export declare const createGauge: <T extends string>(options: GaugeConfiguration<T>) => Gauge<T>;
34
+ export declare const createGauge: <T extends string>(options: CreateGaugeOptions<T>) => Gauge<T>;
19
35
  //# sourceMappingURL=createGauge.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"createGauge.d.ts","sourceRoot":"","sources":["../../../../src/lib/util/metrics/createGauge.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,KAAK,IAAI,SAAS,EAAE,KAAK,kBAAkB,EAAE,MAAM,aAAa,CAAC;AAE1E;;GAEG;AACH,MAAM,MAAM,KAAK,CAAC,CAAC,SAAS,MAAM,GAAG,MAAM,IAAI;IAC3C,KAAK,EAAE,SAAS,CAAC,CAAC,CAAC,CAAC;IACpB,MAAM,EAAE,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC,EAAE,MAAM,GAAG,MAAM,CAAC,KAAK,SAAS,CAAC,QAAQ,CAAC,CAAC,CAAC,CAAC;IACtE,KAAK,EAAE,MAAM,IAAI,CAAC;IAClB,GAAG,EAAE,CAAC,KAAK,EAAE,MAAM,KAAK,IAAI,CAAC;CAChC,CAAC;AAEF;;;;;;GAMG;AACH,eAAO,MAAM,WAAW,GAAI,CAAC,SAAS,MAAM,EACxC,SAAS,kBAAkB,CAAC,CAAC,CAAC,KAC/B,KAAK,CAAC,CAAC,CAmCT,CAAC"}
1
+ {"version":3,"file":"createGauge.d.ts","sourceRoot":"","sources":["../../../../src/lib/util/metrics/createGauge.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,KAAK,IAAI,SAAS,EAAE,KAAK,kBAAkB,EAAE,MAAM,aAAa,CAAC;AAE1E;;GAEG;AACH,MAAM,MAAM,KAAK,CAAC,CAAC,SAAS,MAAM,GAAG,MAAM,IAAI;IAC3C,KAAK,EAAE,SAAS,CAAC,CAAC,CAAC,CAAC;IACpB,MAAM,EAAE,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC,EAAE,MAAM,GAAG,MAAM,CAAC,KAAK,SAAS,CAAC,QAAQ,CAAC,CAAC,CAAC,CAAC;IACtE,KAAK,EAAE,MAAM,IAAI,CAAC;IAClB,GAAG,EAAE,CAAC,KAAK,EAAE,MAAM,KAAK,IAAI,CAAC;CAChC,CAAC;AAEF;;;GAGG;AACH,MAAM,MAAM,kBAAkB,CAAC,CAAC,SAAS,MAAM,IAAI,kBAAkB,CAAC,CAAC,CAAC,GAAG;IACvE;;OAEG;IACH,KAAK,CAAC,EAAE,MAAM,CAAC;IACf;;;;OAIG;IACH,UAAU,CAAC,EAAE,MAAM,OAAO,CAAC,MAAM,GAAG,IAAI,CAAC,CAAC;CAC7C,CAAC;AAEF;;;;;;GAMG;AACH,eAAO,MAAM,WAAW,GAAI,CAAC,SAAS,MAAM,EACxC,SAAS,kBAAkB,CAAC,CAAC,CAAC,KAC/B,KAAK,CAAC,CAAC,CAqFT,CAAC"}
@@ -7,10 +7,55 @@ import { Gauge as PromGauge } from 'prom-client';
7
7
  * @returns An object containing the wrapped Gauge instance and custom methods.
8
8
  */
9
9
  export const createGauge = (options) => {
10
- /**
11
- * The underlying instance of prom-client's Gauge.
12
- */
13
- const gauge = new PromGauge(options);
10
+ const { ttlMs, fetchValue, ...gaugeOptions } = options;
11
+ // If fetchValue is provided, attach a TTL-cached collect. We preserve any existing collect
12
+ // by calling it afterwards.
13
+ if (fetchValue && typeof fetchValue === 'function') {
14
+ const ttl = typeof ttlMs === 'number' && Number.isFinite(ttlMs) ? ttlMs : 0;
15
+ const last = {
16
+ ts: 0,
17
+ value: null,
18
+ };
19
+ const originalCollect = gaugeOptions.collect;
20
+ // Assign a custom collect that obeys TTL caching semantics
21
+ gaugeOptions.collect = async function () {
22
+ const now = Date.now();
23
+ const fresh = ttl > 0 && now - last.ts < ttl && last.value !== null;
24
+ if (fresh) {
25
+ // Serve cached value
26
+ this.set(last.value);
27
+ }
28
+ else {
29
+ try {
30
+ const v = await fetchValue();
31
+ last.ts = now;
32
+ last.value = v;
33
+ if (v === null) {
34
+ // Indicate unknown; Prometheus won’t treat it as zero.
35
+ this.set(Number.NaN);
36
+ }
37
+ else {
38
+ this.set(v);
39
+ }
40
+ }
41
+ catch {
42
+ last.ts = now;
43
+ last.value = null;
44
+ this.set(Number.NaN);
45
+ }
46
+ }
47
+ // Call any original collect afterwards, allowing additional instrumentation if present
48
+ if (typeof originalCollect === 'function') {
49
+ try {
50
+ await originalCollect.call(this);
51
+ }
52
+ catch {
53
+ // ignore errors from original collect to avoid breaking the scrape
54
+ }
55
+ }
56
+ };
57
+ }
58
+ const gauge = new PromGauge(gaugeOptions);
14
59
  /**
15
60
  * Applies given labels to the gauge. Labels are key-value pairs.
16
61
  * This method wraps the original Gauge's labels method for additional type-safety, requiring all configured labels to be specified.
@@ -1 +1 @@
1
- {"version":3,"file":"createGauge.js","sourceRoot":"","sources":["../../../../src/lib/util/metrics/createGauge.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,KAAK,IAAI,SAAS,EAA2B,MAAM,aAAa,CAAC;AAY1E;;;;;;GAMG;AACH,MAAM,CAAC,MAAM,WAAW,GAAG,CACvB,OAA8B,EACtB,EAAE;IACV;;OAEG;IACH,MAAM,KAAK,GAAG,IAAI,SAAS,CAAC,OAAO,CAAC,CAAC;IAErC;;;;;;OAMG;IACH,MAAM,MAAM,GAAG,CAAC,MAAkC,EAAE,EAAE,CAAC,KAAK,CAAC,MAAM,CAAC,MAAM,CAAC,CAAC;IAE5E;;;OAGG;IACH,MAAM,KAAK,GAAG,GAAG,EAAE,CAAC,KAAK,CAAC,KAAK,EAAE,CAAC;IAElC;;;;;OAKG;IACH,MAAM,GAAG,GAAG,CAAC,KAAa,EAAE,EAAE,CAAC,KAAK,CAAC,GAAG,CAAC,KAAK,CAAC,CAAC;IAEhD,OAAO;QACH,KAAK;QACL,MAAM;QACN,KAAK;QACL,GAAG;KACN,CAAC;AACN,CAAC,CAAC"}
1
+ {"version":3,"file":"createGauge.js","sourceRoot":"","sources":["../../../../src/lib/util/metrics/createGauge.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,KAAK,IAAI,SAAS,EAA2B,MAAM,aAAa,CAAC;AA6B1E;;;;;;GAMG;AACH,MAAM,CAAC,MAAM,WAAW,GAAG,CACvB,OAA8B,EACtB,EAAE;IACV,MAAM,EAAE,KAAK,EAAE,UAAU,EAAE,GAAG,YAAY,EAAE,GACxC,OAAgC,CAAC;IAErC,2FAA2F;IAC3F,4BAA4B;IAC5B,IAAI,UAAU,IAAI,OAAO,UAAU,KAAK,UAAU,EAAE,CAAC;QACjD,MAAM,GAAG,GACL,OAAO,KAAK,KAAK,QAAQ,IAAI,MAAM,CAAC,QAAQ,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,CAAC;QACpE,MAAM,IAAI,GAAyC;YAC/C,EAAE,EAAE,CAAC;YACL,KAAK,EAAE,IAAI;SACd,CAAC;QACF,MAAM,eAAe,GAAI,YAAsC,CAAC,OAAO,CAAC;QAExE,2DAA2D;QAC1D,YAAsC,CAAC,OAAO,GAAG,KAAK;YAGnD,MAAM,GAAG,GAAG,IAAI,CAAC,GAAG,EAAE,CAAC;YACvB,MAAM,KAAK,GAAG,GAAG,GAAG,CAAC,IAAI,GAAG,GAAG,IAAI,CAAC,EAAE,GAAG,GAAG,IAAI,IAAI,CAAC,KAAK,KAAK,IAAI,CAAC;YAEpE,IAAI,KAAK,EAAE,CAAC;gBACR,qBAAqB;gBACrB,IAAI,CAAC,GAAG,CAAC,IAAI,CAAC,KAAe,CAAC,CAAC;YACnC,CAAC;iBAAM,CAAC;gBACJ,IAAI,CAAC;oBACD,MAAM,CAAC,GAAG,MAAM,UAAU,EAAE,CAAC;oBAC7B,IAAI,CAAC,EAAE,GAAG,GAAG,CAAC;oBACd,IAAI,CAAC,KAAK,GAAG,CAAC,CAAC;oBACf,IAAI,CAAC,KAAK,IAAI,EAAE,CAAC;wBACb,uDAAuD;wBACvD,IAAI,CAAC,GAAG,CAAC,MAAM,CAAC,GAAG,CAAC,CAAC;oBACzB,CAAC;yBAAM,CAAC;wBACJ,IAAI,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC;oBAChB,CAAC;gBACL,CAAC;gBAAC,MAAM,CAAC;oBACL,IAAI,CAAC,EAAE,GAAG,GAAG,CAAC;oBACd,IAAI,CAAC,KAAK,GAAG,IAAI,CAAC;oBAClB,IAAI,CAAC,GAAG,CAAC,MAAM,CAAC,GAAG,CAAC,CAAC;gBACzB,CAAC;YACL,CAAC;YAED,uFAAuF;YACvF,IAAI,OAAO,eAAe,KAAK,UAAU,EAAE,CAAC;gBACxC,IAAI,CAAC;oBACD,MAAM,eAAe,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;gBACrC,CAAC;gBAAC,MAAM,CAAC;oBACL,mEAAmE;gBACvE,CAAC;YACL,CAAC;QACL,CAAgD,CAAC;IACrD,CAAC;IAED,MAAM,KAAK,GAAG,IAAI,SAAS,CAAC,YAAqC,CAAC,CAAC;IAEnE;;;;;;OAMG;IACH,MAAM,MAAM,GAAG,CAAC,MAAkC,EAAE,EAAE,CAAC,KAAK,CAAC,MAAM,CAAC,MAAM,CAAC,CAAC;IAE5E;;;OAGG;IACH,MAAM,KAAK,GAAG,GAAG,EAAE,CAAC,KAAK,CAAC,KAAK,EAAE,CAAC;IAElC;;;;;OAKG;IACH,MAAM,GAAG,GAAG,CAAC,KAAa,EAAE,EAAE,CAAC,KAAK,CAAC,GAAG,CAAC,KAAK,CAAC,CAAC;IAEhD,OAAO;QACH,KAAK;QACL,MAAM;QACN,KAAK;QACL,GAAG;KACN,CAAC;AACN,CAAC,CAAC"}
@@ -1,5 +1,5 @@
1
- import { v4 as uuidv4 } from 'uuid';
1
+ import { randomUUID } from 'node:crypto';
2
2
  export const randomId = () => {
3
- return uuidv4();
3
+ return randomUUID();
4
4
  };
5
5
  //# sourceMappingURL=random-id.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"random-id.js","sourceRoot":"","sources":["../../../src/lib/util/random-id.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,EAAE,IAAI,MAAM,EAAE,MAAM,MAAM,CAAC;AAEpC,MAAM,CAAC,MAAM,QAAQ,GAAG,GAAW,EAAE;IACjC,OAAO,MAAM,EAAE,CAAC;AACpB,CAAC,CAAC"}
1
+ {"version":3,"file":"random-id.js","sourceRoot":"","sources":["../../../src/lib/util/random-id.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,UAAU,EAAE,MAAM,aAAa,CAAC;AAEzC,MAAM,CAAC,MAAM,QAAQ,GAAG,GAAW,EAAE;IACjC,OAAO,UAAU,EAAE,CAAC;AACxB,CAAC,CAAC"}
@@ -0,0 +1,2 @@
1
+ export {};
2
+ //# sourceMappingURL=random-id.test.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"random-id.test.d.ts","sourceRoot":"","sources":["../../../src/lib/util/random-id.test.ts"],"names":[],"mappings":""}
@@ -0,0 +1,7 @@
1
+ import { randomId } from './random-id.js';
2
+ test('randomId returns a valid UUID', () => {
3
+ const id = randomId();
4
+ console.log(id);
5
+ expect(id).toMatch(/^[0-9a-f]{8}-[0-9a-f]{4}-4[0-9a-f]{3}-[89ab][0-9a-f]{3}-[0-9a-f]{12}$/);
6
+ });
7
+ //# sourceMappingURL=random-id.test.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"random-id.test.js","sourceRoot":"","sources":["../../../src/lib/util/random-id.test.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,QAAQ,EAAE,MAAM,gBAAgB,CAAC;AAE1C,IAAI,CAAC,+BAA+B,EAAE,GAAG,EAAE;IACvC,MAAM,EAAE,GAAG,QAAQ,EAAE,CAAC;IACtB,OAAO,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC;IAChB,MAAM,CAAC,EAAE,CAAC,CAAC,OAAO,CACd,uEAAuE,CAC1E,CAAC;AACN,CAAC,CAAC,CAAC"}
@@ -1,7 +1,7 @@
1
1
  'use strict';
2
- const { v4: uuidv4 } = require('uuid');
2
+ const { randomUUID } = require('crypto');
3
3
  exports.up = function (db, cb) {
4
- const instanceId = uuidv4();
4
+ const instanceId = randomUUID();
5
5
  db.runSql(`
6
6
  INSERT INTO settings(name, content) VALUES ('instanceInfo', json_build_object('id', '${instanceId}'));
7
7
  `, cb);
@@ -1 +1 @@
1
- {"version":3,"file":"20210218090213-generate-server-identifier.js","sourceRoot":"","sources":["../../src/migrations/20210218090213-generate-server-identifier.js"],"names":[],"mappings":"AAAA,YAAY,CAAC;AAEb,MAAM,EAAE,EAAE,EAAE,MAAM,EAAE,GAAG,OAAO,CAAC,MAAM,CAAC,CAAC;AAEvC,OAAO,CAAC,EAAE,GAAG,UAAU,EAAE,EAAE,EAAE;IACzB,MAAM,UAAU,GAAG,MAAM,EAAE,CAAC;IAC5B,EAAE,CAAC,MAAM,CACL;2FACmF,UAAU;GAClG,EACK,EAAE,CACL,CAAC;AACN,CAAC,CAAC;AAEF,OAAO,CAAC,IAAI,GAAG,UAAU,EAAE,EAAE,EAAE;IAC3B,EAAE,CAAC,MAAM,CACL;;SAEC,EACD,EAAE,CACL,CAAC;AACN,CAAC,CAAC"}
1
+ {"version":3,"file":"20210218090213-generate-server-identifier.js","sourceRoot":"","sources":["../../src/migrations/20210218090213-generate-server-identifier.js"],"names":[],"mappings":"AAAA,YAAY,CAAC;AAEb,MAAM,EAAE,UAAU,EAAE,GAAG,OAAO,CAAC,QAAQ,CAAC,CAAC;AAEzC,OAAO,CAAC,EAAE,GAAG,UAAU,EAAE,EAAE,EAAE;IACzB,MAAM,UAAU,GAAG,UAAU,EAAE,CAAC;IAChC,EAAE,CAAC,MAAM,CACL;2FACmF,UAAU;GAClG,EACK,EAAE,CACL,CAAC;AACN,CAAC,CAAC;AAEF,OAAO,CAAC,IAAI,GAAG,UAAU,EAAE,EAAE,EAAE;IAC3B,EAAE,CAAC,MAAM,CACL;;SAEC,EACD,EAAE,CACL,CAAC;AACN,CAAC,CAAC"}
@@ -1,5 +1,5 @@
1
1
  "use strict";
2
- const { v4: uuid } = require('uuid');
2
+ const { randomUUID } = require('crypto');
3
3
  exports.up = function (db, cb) {
4
4
  db.runSql(`SELECT *
5
5
  FROM features`, (err, results) => {
@@ -8,7 +8,7 @@ exports.up = function (db, cb) {
8
8
  feature.strategies.forEach((strategy) => {
9
9
  db.runSql(`INSERT INTO feature_strategies(id, feature_name, project_name, strategy_name, parameters, constraints)
10
10
  VALUES (?, ?, ?, ?, ?, ?)`, [
11
- uuid(),
11
+ randomUUID(),
12
12
  feature.name,
13
13
  feature.project,
14
14
  strategy.name,
@@ -1 +1 @@
1
- {"version":3,"file":"20210615115226-migrate-strategies-to-feature-strategies.js","sourceRoot":"","sources":["../../src/migrations/20210615115226-migrate-strategies-to-feature-strategies.js"],"names":[],"mappings":";AAAA,MAAM,EAAE,EAAE,EAAE,IAAI,EAAE,GAAG,OAAO,CAAC,MAAM,CAAC,CAAC;AAErC,OAAO,CAAC,EAAE,GAAG,UAAU,EAAE,EAAE,EAAE;IACzB,EAAE,CAAC,MAAM,CACL;iDACyC,EACzC,CAAC,GAAG,EAAE,OAAO,EAAE,EAAE;QACb,OAAO,CAAC,IAAI,CAAC,OAAO,CAAC,CAAC,OAAO,EAAE,EAAE;YAC7B,EAAE,CAAC,MAAM,CACL,uEAAuE,EACvE,CAAC,OAAO,CAAC,IAAI,EAAE,OAAO,CAAC,OAAO,CAAC,CAClC,CAAC;YACF,OAAO,CAAC,UAAU,CAAC,OAAO,CAAC,CAAC,QAAQ,EAAE,EAAE;gBACpC,EAAE,CAAC,MAAM,CACL;0DACkC,EAClC;oBACI,IAAI,EAAE;oBACN,OAAO,CAAC,IAAI;oBACZ,OAAO,CAAC,OAAO;oBACf,QAAQ,CAAC,IAAI;oBACb,IAAI,CAAC,SAAS,CAAC,QAAQ,CAAC,UAAU,CAAC;oBACnC,IAAI,CAAC,SAAS,CAAC,QAAQ,CAAC,WAAW,CAAC;iBACvC,CACJ,CAAC;YACN,CAAC,CAAC,CAAC;QACP,CAAC,CAAC,CAAC;QACH,EAAE,EAAE,CAAC;IACT,CAAC,CACJ,CAAC;AACN,CAAC,CAAC;AAEF,OAAO,CAAC,IAAI,GAAG,UAAU,EAAE,EAAE,EAAE;IAC3B,EAAE,CAAC,MAAM,CACL,mEAAmE,EACnE,EAAE,CACL,CAAC;AACN,CAAC,CAAC"}
1
+ {"version":3,"file":"20210615115226-migrate-strategies-to-feature-strategies.js","sourceRoot":"","sources":["../../src/migrations/20210615115226-migrate-strategies-to-feature-strategies.js"],"names":[],"mappings":";AAAA,MAAM,EAAE,UAAU,EAAE,GAAG,OAAO,CAAC,QAAQ,CAAC,CAAC;AAEzC,OAAO,CAAC,EAAE,GAAG,UAAU,EAAE,EAAE,EAAE;IACzB,EAAE,CAAC,MAAM,CACL;iDACyC,EACzC,CAAC,GAAG,EAAE,OAAO,EAAE,EAAE;QACb,OAAO,CAAC,IAAI,CAAC,OAAO,CAAC,CAAC,OAAO,EAAE,EAAE;YAC7B,EAAE,CAAC,MAAM,CACL,uEAAuE,EACvE,CAAC,OAAO,CAAC,IAAI,EAAE,OAAO,CAAC,OAAO,CAAC,CAClC,CAAC;YACF,OAAO,CAAC,UAAU,CAAC,OAAO,CAAC,CAAC,QAAQ,EAAE,EAAE;gBACpC,EAAE,CAAC,MAAM,CACL;0DACkC,EAClC;oBACI,UAAU,EAAE;oBACZ,OAAO,CAAC,IAAI;oBACZ,OAAO,CAAC,OAAO;oBACf,QAAQ,CAAC,IAAI;oBACb,IAAI,CAAC,SAAS,CAAC,QAAQ,CAAC,UAAU,CAAC;oBACnC,IAAI,CAAC,SAAS,CAAC,QAAQ,CAAC,WAAW,CAAC;iBACvC,CACJ,CAAC;YACN,CAAC,CAAC,CAAC;QACP,CAAC,CAAC,CAAC;QACH,EAAE,EAAE,CAAC;IACT,CAAC,CACJ,CAAC;AACN,CAAC,CAAC;AAEF,OAAO,CAAC,IAAI,GAAG,UAAU,EAAE,EAAE,EAAE;IAC3B,EAAE,CAAC,MAAM,CACL,mEAAmE,EACnE,EAAE,CACL,CAAC;AACN,CAAC,CAAC"}