unleash-server 7.4.1 → 7.4.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 (478) hide show
  1. package/README.md +6 -1
  2. package/dist/lib/addons/feature-event-formatter-md.d.ts.map +1 -1
  3. package/dist/lib/addons/feature-event-formatter-md.js +1 -0
  4. package/dist/lib/addons/feature-event-formatter-md.js.map +1 -1
  5. package/dist/lib/addons/feature-event-formatter-md.test.js +45 -2
  6. package/dist/lib/addons/feature-event-formatter-md.test.js.map +1 -1
  7. package/dist/lib/create-config.d.ts.map +1 -1
  8. package/dist/lib/create-config.js +6 -1
  9. package/dist/lib/create-config.js.map +1 -1
  10. package/dist/lib/db/feature-environment-store.d.ts.map +1 -1
  11. package/dist/lib/db/feature-environment-store.js.map +1 -1
  12. package/dist/lib/db/index.d.ts.map +1 -1
  13. package/dist/lib/db/index.js +5 -2
  14. package/dist/lib/db/index.js.map +1 -1
  15. package/dist/lib/{routes/admin-api/constraints.d.ts → features/constraints/constraints-controller.d.ts} +5 -5
  16. package/dist/lib/features/constraints/constraints-controller.d.ts.map +1 -0
  17. package/dist/lib/{routes/admin-api/constraints.js → features/constraints/constraints-controller.js} +6 -6
  18. package/dist/lib/features/constraints/constraints-controller.js.map +1 -0
  19. package/dist/lib/features/constraints/constraints-read-model-type.d.ts +6 -0
  20. package/dist/lib/features/constraints/constraints-read-model-type.d.ts.map +1 -0
  21. package/dist/lib/features/constraints/constraints-read-model-type.js +2 -0
  22. package/dist/lib/features/constraints/constraints-read-model-type.js.map +1 -0
  23. package/dist/lib/features/constraints/constraints-read-model.d.ts +11 -0
  24. package/dist/lib/features/constraints/constraints-read-model.d.ts.map +1 -0
  25. package/dist/lib/features/constraints/constraints-read-model.js +55 -0
  26. package/dist/lib/features/constraints/constraints-read-model.js.map +1 -0
  27. package/dist/lib/features/constraints/constraints-read-model.test.d.ts +2 -0
  28. package/dist/lib/features/constraints/constraints-read-model.test.d.ts.map +1 -0
  29. package/dist/lib/features/constraints/constraints-read-model.test.js +388 -0
  30. package/dist/lib/features/constraints/constraints-read-model.test.js.map +1 -0
  31. package/dist/lib/features/constraints/constraints.e2e.test.d.ts.map +1 -0
  32. package/dist/{test/e2e/api/admin → lib/features/constraints}/constraints.e2e.test.js +4 -4
  33. package/dist/lib/features/constraints/constraints.e2e.test.js.map +1 -0
  34. package/dist/lib/features/constraints/createConstraintsReadModel.d.ts +5 -0
  35. package/dist/lib/features/constraints/createConstraintsReadModel.d.ts.map +1 -0
  36. package/dist/lib/features/constraints/createConstraintsReadModel.js +9 -0
  37. package/dist/lib/features/constraints/createConstraintsReadModel.js.map +1 -0
  38. package/dist/lib/features/constraints/fake-constraints-read-model.d.ts +7 -0
  39. package/dist/lib/features/constraints/fake-constraints-read-model.d.ts.map +1 -0
  40. package/dist/lib/features/constraints/fake-constraints-read-model.js +11 -0
  41. package/dist/lib/features/constraints/fake-constraints-read-model.js.map +1 -0
  42. package/dist/lib/features/context/context.d.ts.map +1 -1
  43. package/dist/lib/features/context/context.js +16 -10
  44. package/dist/lib/features/context/context.js.map +1 -1
  45. package/dist/lib/features/context/createContextService.js +1 -1
  46. package/dist/lib/features/context/createContextService.js.map +1 -1
  47. package/dist/lib/features/dependent-features/dependent-features-controller.d.ts.map +1 -1
  48. package/dist/lib/features/dependent-features/dependent-features-controller.js +0 -1
  49. package/dist/lib/features/dependent-features/dependent-features-controller.js.map +1 -1
  50. package/dist/lib/features/edgetokens/edge-hmac-verifier.d.ts +4 -0
  51. package/dist/lib/features/edgetokens/edge-hmac-verifier.d.ts.map +1 -0
  52. package/dist/lib/features/edgetokens/edge-hmac-verifier.js +83 -0
  53. package/dist/lib/features/edgetokens/edge-hmac-verifier.js.map +1 -0
  54. package/dist/lib/features/edgetokens/edge-token-store.d.ts +16 -0
  55. package/dist/lib/features/edgetokens/edge-token-store.d.ts.map +1 -0
  56. package/dist/lib/features/edgetokens/edge-token-store.js +101 -0
  57. package/dist/lib/features/edgetokens/edge-token-store.js.map +1 -0
  58. package/dist/lib/features/edgetokens/edge-tokens.d.ts +2 -0
  59. package/dist/lib/features/edgetokens/edge-tokens.d.ts.map +1 -0
  60. package/dist/lib/features/edgetokens/edge-tokens.js +16 -0
  61. package/dist/lib/features/edgetokens/edge-tokens.js.map +1 -0
  62. package/dist/lib/features/edgetokens/edge-tokens.test.d.ts +2 -0
  63. package/dist/lib/features/edgetokens/edge-tokens.test.d.ts.map +1 -0
  64. package/dist/lib/features/edgetokens/edge-tokens.test.js +22 -0
  65. package/dist/lib/features/edgetokens/edge-tokens.test.js.map +1 -0
  66. package/dist/lib/features/edgetokens/edge-verification.d.ts +3 -0
  67. package/dist/lib/features/edgetokens/edge-verification.d.ts.map +1 -0
  68. package/dist/lib/features/edgetokens/edge-verification.js +25 -0
  69. package/dist/lib/features/edgetokens/edge-verification.js.map +1 -0
  70. package/dist/lib/features/edgetokens/edge-verification.test.d.ts +2 -0
  71. package/dist/lib/features/edgetokens/edge-verification.test.d.ts.map +1 -0
  72. package/dist/lib/features/edgetokens/edge-verification.test.js +18 -0
  73. package/dist/lib/features/edgetokens/edge-verification.test.js.map +1 -0
  74. package/dist/lib/features/edgetokens/fake-edge-token-store.d.ts +11 -0
  75. package/dist/lib/features/edgetokens/fake-edge-token-store.d.ts.map +1 -0
  76. package/dist/lib/features/edgetokens/fake-edge-token-store.js +21 -0
  77. package/dist/lib/features/edgetokens/fake-edge-token-store.js.map +1 -0
  78. package/dist/lib/features/feature-lifecycle/feature-lifecycle-controller.d.ts.map +1 -1
  79. package/dist/lib/features/feature-lifecycle/feature-lifecycle-controller.js +6 -3
  80. package/dist/lib/features/feature-lifecycle/feature-lifecycle-controller.js.map +1 -1
  81. package/dist/lib/features/feature-lifecycle/feature-lifecycle-count-controller.d.ts.map +1 -1
  82. package/dist/lib/features/feature-lifecycle/feature-lifecycle-count-controller.js +2 -1
  83. package/dist/lib/features/feature-lifecycle/feature-lifecycle-count-controller.js.map +1 -1
  84. package/dist/lib/features/feature-links/feature-link-controller.d.ts.map +1 -1
  85. package/dist/lib/features/feature-links/feature-link-controller.js +6 -3
  86. package/dist/lib/features/feature-links/feature-link-controller.js.map +1 -1
  87. package/dist/lib/features/feature-search/feature.search.e2e.test.js +3 -3
  88. package/dist/lib/features/feature-search/feature.search.e2e.test.js.map +1 -1
  89. package/dist/lib/features/feature-toggle/converters/feature-toggle-row-converter.d.ts +1 -1
  90. package/dist/lib/features/feature-toggle/createFeatureToggleService.d.ts +2 -0
  91. package/dist/lib/features/feature-toggle/createFeatureToggleService.d.ts.map +1 -1
  92. package/dist/lib/features/feature-toggle/createFeatureToggleService.js +8 -2
  93. package/dist/lib/features/feature-toggle/createFeatureToggleService.js.map +1 -1
  94. package/dist/lib/features/feature-toggle/feature-toggle-service.d.ts +6 -6
  95. package/dist/lib/features/feature-toggle/feature-toggle-service.d.ts.map +1 -1
  96. package/dist/lib/features/feature-toggle/feature-toggle-service.js +6 -44
  97. package/dist/lib/features/feature-toggle/feature-toggle-service.js.map +1 -1
  98. package/dist/lib/features/feature-toggle/feature-toggle-strategies-store.d.ts.map +1 -1
  99. package/dist/lib/features/feature-toggle/feature-toggle-strategies-store.js +6 -0
  100. package/dist/lib/features/feature-toggle/feature-toggle-strategies-store.js.map +1 -1
  101. package/dist/lib/features/feature-toggle/tests/feature-toggle-service.constraint-validation.test.d.ts +2 -0
  102. package/dist/lib/features/feature-toggle/tests/feature-toggle-service.constraint-validation.test.d.ts.map +1 -0
  103. package/dist/lib/features/feature-toggle/tests/feature-toggle-service.constraint-validation.test.js +185 -0
  104. package/dist/lib/features/feature-toggle/tests/feature-toggle-service.constraint-validation.test.js.map +1 -0
  105. package/dist/lib/features/frontend-api/createFrontendApiService.d.ts.map +1 -1
  106. package/dist/lib/features/frontend-api/createFrontendApiService.js +2 -0
  107. package/dist/lib/features/frontend-api/createFrontendApiService.js.map +1 -1
  108. package/dist/lib/features/index.d.ts +2 -0
  109. package/dist/lib/features/index.d.ts.map +1 -1
  110. package/dist/lib/features/index.js +2 -0
  111. package/dist/lib/features/index.js.map +1 -1
  112. package/dist/lib/features/instance-stats/createInstanceStatsService.d.ts.map +1 -1
  113. package/dist/lib/features/instance-stats/createInstanceStatsService.js +0 -1
  114. package/dist/lib/features/instance-stats/createInstanceStatsService.js.map +1 -1
  115. package/dist/lib/features/metrics/last-seen/tests/last-seen-service.test.js +2 -2
  116. package/dist/lib/features/metrics/last-seen/tests/last-seen-service.test.js.map +1 -1
  117. package/dist/lib/features/metrics/shared/schema.d.ts.map +1 -1
  118. package/dist/lib/features/metrics/shared/schema.js +10 -2
  119. package/dist/lib/features/metrics/shared/schema.js.map +1 -1
  120. package/dist/lib/features/metrics/shared/schema.test.js +18 -0
  121. package/dist/lib/features/metrics/shared/schema.test.js.map +1 -1
  122. package/dist/lib/features/pat/createPatService.d.ts +6 -0
  123. package/dist/lib/features/pat/createPatService.d.ts.map +1 -0
  124. package/dist/lib/features/pat/createPatService.js +15 -0
  125. package/dist/lib/features/pat/createPatService.js.map +1 -0
  126. package/dist/lib/features/pat/fake-pat-store.d.ts +18 -0
  127. package/dist/lib/features/pat/fake-pat-store.d.ts.map +1 -0
  128. package/dist/lib/features/pat/fake-pat-store.js +52 -0
  129. package/dist/lib/features/pat/fake-pat-store.js.map +1 -0
  130. package/dist/lib/{services → features/pat}/pat-service.d.ts +3 -3
  131. package/dist/lib/features/pat/pat-service.d.ts.map +1 -0
  132. package/dist/lib/{services → features/pat}/pat-service.js +5 -5
  133. package/dist/lib/features/pat/pat-service.js.map +1 -0
  134. package/dist/lib/{types/stores/pat-store.d.ts → features/pat/pat-store-type.d.ts} +2 -2
  135. package/dist/lib/features/pat/pat-store-type.d.ts.map +1 -0
  136. package/dist/lib/features/pat/pat-store-type.js +2 -0
  137. package/dist/lib/features/pat/pat-store-type.js.map +1 -0
  138. package/dist/lib/{db → features/pat}/pat-store.d.ts +4 -4
  139. package/dist/lib/features/pat/pat-store.d.ts.map +1 -0
  140. package/dist/lib/{db → features/pat}/pat-store.js +1 -1
  141. package/dist/lib/features/pat/pat-store.js.map +1 -0
  142. package/dist/lib/features/personal-dashboard/personal-dashboard-controller.d.ts.map +1 -1
  143. package/dist/lib/features/personal-dashboard/personal-dashboard-controller.js +4 -2
  144. package/dist/lib/features/personal-dashboard/personal-dashboard-controller.js.map +1 -1
  145. package/dist/lib/features/playground/feature-evaluator/constraint.d.ts +2 -1
  146. package/dist/lib/features/playground/feature-evaluator/constraint.d.ts.map +1 -1
  147. package/dist/lib/features/playground/feature-evaluator/constraint.js +18 -0
  148. package/dist/lib/features/playground/feature-evaluator/constraint.js.map +1 -1
  149. package/dist/lib/features/playground/offline-unleash-client.test.js +105 -0
  150. package/dist/lib/features/playground/offline-unleash-client.test.js.map +1 -1
  151. package/dist/lib/features/project-status/project-status-controller.d.ts.map +1 -1
  152. package/dist/lib/features/project-status/project-status-controller.js +2 -1
  153. package/dist/lib/features/project-status/project-status-controller.js.map +1 -1
  154. package/dist/lib/features/release-plans/createReleasePlanMilestoneStrategyService.d.ts +12 -0
  155. package/dist/lib/features/release-plans/createReleasePlanMilestoneStrategyService.d.ts.map +1 -0
  156. package/dist/lib/features/release-plans/createReleasePlanMilestoneStrategyService.js +26 -0
  157. package/dist/lib/features/release-plans/createReleasePlanMilestoneStrategyService.js.map +1 -0
  158. package/dist/lib/features/release-plans/release-plan-milestone-strategy-service.d.ts +20 -0
  159. package/dist/lib/features/release-plans/release-plan-milestone-strategy-service.d.ts.map +1 -0
  160. package/dist/lib/features/release-plans/release-plan-milestone-strategy-service.js +37 -0
  161. package/dist/lib/features/release-plans/release-plan-milestone-strategy-service.js.map +1 -0
  162. package/dist/lib/features/release-plans/release-plan-milestone-strategy-service.test.d.ts +2 -0
  163. package/dist/lib/features/release-plans/release-plan-milestone-strategy-service.test.d.ts.map +1 -0
  164. package/dist/lib/features/release-plans/release-plan-milestone-strategy-service.test.js +69 -0
  165. package/dist/lib/features/release-plans/release-plan-milestone-strategy-service.test.js.map +1 -0
  166. package/dist/lib/features/release-plans/release-plan-milestone-strategy-store.d.ts +10 -2
  167. package/dist/lib/features/release-plans/release-plan-milestone-strategy-store.d.ts.map +1 -1
  168. package/dist/lib/features/release-plans/release-plan-milestone-strategy-store.js +0 -1
  169. package/dist/lib/features/release-plans/release-plan-milestone-strategy-store.js.map +1 -1
  170. package/dist/lib/features/scheduler/schedule-services.d.ts.map +1 -1
  171. package/dist/lib/features/scheduler/schedule-services.js +3 -2
  172. package/dist/lib/features/scheduler/schedule-services.js.map +1 -1
  173. package/dist/lib/features/segment/admin-segment.e2e.test.js +117 -0
  174. package/dist/lib/features/segment/admin-segment.e2e.test.js.map +1 -1
  175. package/dist/lib/features/segment/createSegmentService.d.ts.map +1 -1
  176. package/dist/lib/features/segment/createSegmentService.js +7 -2
  177. package/dist/lib/features/segment/createSegmentService.js.map +1 -1
  178. package/dist/lib/features/segment/segment-controller.d.ts.map +1 -1
  179. package/dist/lib/features/segment/segment-controller.js +1 -1
  180. package/dist/lib/features/segment/segment-controller.js.map +1 -1
  181. package/dist/lib/features/segment/segment-service.d.ts +3 -1
  182. package/dist/lib/features/segment/segment-service.d.ts.map +1 -1
  183. package/dist/lib/features/segment/segment-service.js +4 -1
  184. package/dist/lib/features/segment/segment-service.js.map +1 -1
  185. package/dist/lib/features/users/user-store.d.ts.map +1 -1
  186. package/dist/lib/features/users/user-store.js +6 -0
  187. package/dist/lib/features/users/user-store.js.map +1 -1
  188. package/dist/lib/features/users/user-updates-read-model.d.ts +2 -0
  189. package/dist/lib/features/users/user-updates-read-model.d.ts.map +1 -1
  190. package/dist/lib/features/users/user-updates-read-model.js +2 -0
  191. package/dist/lib/features/users/user-updates-read-model.js.map +1 -1
  192. package/dist/lib/middleware/conditional-middleware.d.ts +1 -1
  193. package/dist/lib/middleware/conditional-middleware.d.ts.map +1 -1
  194. package/dist/lib/middleware/response-time-metrics.test.js +4 -0
  195. package/dist/lib/middleware/response-time-metrics.test.js.map +1 -1
  196. package/dist/lib/openapi/spec/admin-segment-schema.d.ts +1 -1
  197. package/dist/lib/openapi/spec/advanced-playground-environment-feature-schema.d.ts +4 -4
  198. package/dist/lib/openapi/spec/advanced-playground-feature-schema.d.ts +8 -8
  199. package/dist/lib/openapi/spec/advanced-playground-response-schema.d.ts +17 -17
  200. package/dist/lib/openapi/spec/client-feature-schema.d.ts +2 -2
  201. package/dist/lib/openapi/spec/client-features-delta-schema.d.ts +5 -5
  202. package/dist/lib/openapi/spec/client-features-schema.d.ts +5 -5
  203. package/dist/lib/openapi/spec/client-features-schema.test.js +12 -0
  204. package/dist/lib/openapi/spec/client-features-schema.test.js.map +1 -1
  205. package/dist/lib/openapi/spec/client-metrics-schema.d.ts +1 -0
  206. package/dist/lib/openapi/spec/client-metrics-schema.d.ts.map +1 -1
  207. package/dist/lib/openapi/spec/client-metrics-schema.js +1 -0
  208. package/dist/lib/openapi/spec/client-metrics-schema.js.map +1 -1
  209. package/dist/lib/openapi/spec/client-segment-schema.d.ts +1 -1
  210. package/dist/lib/openapi/spec/constraint-schema.d.ts +2 -2
  211. package/dist/lib/openapi/spec/create-feature-strategy-schema.d.ts +1 -1
  212. package/dist/lib/openapi/spec/create-user-response-schema.d.ts +12 -0
  213. package/dist/lib/openapi/spec/create-user-response-schema.d.ts.map +1 -1
  214. package/dist/lib/openapi/spec/edge-environment-projects-list-schema.d.ts +41 -0
  215. package/dist/lib/openapi/spec/edge-environment-projects-list-schema.d.ts.map +1 -0
  216. package/dist/lib/openapi/spec/edge-environment-projects-list-schema.js +39 -0
  217. package/dist/lib/openapi/spec/edge-environment-projects-list-schema.js.map +1 -0
  218. package/dist/lib/openapi/spec/edge-token-schema.d.ts +6 -1
  219. package/dist/lib/openapi/spec/edge-token-schema.d.ts.map +1 -1
  220. package/dist/lib/openapi/spec/edge-token-schema.js +6 -1
  221. package/dist/lib/openapi/spec/edge-token-schema.js.map +1 -1
  222. package/dist/lib/openapi/spec/environment-project-schema.d.ts +2 -2
  223. package/dist/lib/openapi/spec/environments-project-schema.d.ts +4 -4
  224. package/dist/lib/openapi/spec/export-result-schema.d.ts +68 -68
  225. package/dist/lib/openapi/spec/feature-environment-schema.d.ts +17 -17
  226. package/dist/lib/openapi/spec/feature-schema.d.ts +34 -34
  227. package/dist/lib/openapi/spec/feature-search-environment-schema.d.ts +34 -34
  228. package/dist/lib/openapi/spec/feature-search-response-schema.d.ts +36 -36
  229. package/dist/lib/openapi/spec/feature-strategy-schema.d.ts +1 -1
  230. package/dist/lib/openapi/spec/group-schema.d.ts +24 -0
  231. package/dist/lib/openapi/spec/group-schema.d.ts.map +1 -1
  232. package/dist/lib/openapi/spec/group-user-model-schema.d.ts +12 -0
  233. package/dist/lib/openapi/spec/group-user-model-schema.d.ts.map +1 -1
  234. package/dist/lib/openapi/spec/groups-schema.d.ts +48 -0
  235. package/dist/lib/openapi/spec/groups-schema.d.ts.map +1 -1
  236. package/dist/lib/openapi/spec/health-overview-schema.d.ts +69 -69
  237. package/dist/lib/openapi/spec/health-report-schema.d.ts +69 -69
  238. package/dist/lib/openapi/spec/index.d.ts +3 -0
  239. package/dist/lib/openapi/spec/index.d.ts.map +1 -1
  240. package/dist/lib/openapi/spec/index.js +3 -0
  241. package/dist/lib/openapi/spec/index.js.map +1 -1
  242. package/dist/lib/openapi/spec/me-schema.d.ts +12 -0
  243. package/dist/lib/openapi/spec/me-schema.d.ts.map +1 -1
  244. package/dist/lib/openapi/spec/playground-constraint-schema.d.ts +1 -1
  245. package/dist/lib/openapi/spec/playground-feature-schema.d.ts +4 -4
  246. package/dist/lib/openapi/spec/playground-response-schema.d.ts +9 -9
  247. package/dist/lib/openapi/spec/playground-segment-schema.d.ts +1 -1
  248. package/dist/lib/openapi/spec/playground-strategy-schema.d.ts +2 -2
  249. package/dist/lib/openapi/spec/profile-schema.d.ts +34 -34
  250. package/dist/lib/openapi/spec/project-environment-schema.d.ts +1 -1
  251. package/dist/lib/openapi/spec/project-overview-schema.d.ts +69 -69
  252. package/dist/lib/openapi/spec/public-signup-token-schema.d.ts +12 -0
  253. package/dist/lib/openapi/spec/public-signup-token-schema.d.ts.map +1 -1
  254. package/dist/lib/openapi/spec/public-signup-tokens-schema.d.ts +24 -0
  255. package/dist/lib/openapi/spec/public-signup-tokens-schema.d.ts.map +1 -1
  256. package/dist/lib/openapi/spec/release-plan-milestone-schema.d.ts +4 -4
  257. package/dist/lib/openapi/spec/release-plan-milestone-strategy-schema.d.ts +2 -2
  258. package/dist/lib/openapi/spec/release-plan-schema.d.ts +8 -8
  259. package/dist/lib/openapi/spec/release-plan-template-schema.d.ts +8 -8
  260. package/dist/lib/openapi/spec/search-features-schema.d.ts +72 -72
  261. package/dist/lib/openapi/spec/segment-schema.d.ts +1 -1
  262. package/dist/lib/openapi/spec/segments-schema.d.ts +2 -2
  263. package/dist/lib/openapi/spec/signup-data-schema.d.ts +42 -0
  264. package/dist/lib/openapi/spec/signup-data-schema.d.ts.map +1 -0
  265. package/dist/lib/openapi/spec/signup-data-schema.js +40 -0
  266. package/dist/lib/openapi/spec/signup-data-schema.js.map +1 -0
  267. package/dist/lib/openapi/spec/submit-signup-data-schema.d.ts +50 -0
  268. package/dist/lib/openapi/spec/submit-signup-data-schema.d.ts.map +1 -0
  269. package/dist/lib/openapi/spec/submit-signup-data-schema.js +26 -0
  270. package/dist/lib/openapi/spec/submit-signup-data-schema.js.map +1 -0
  271. package/dist/lib/openapi/spec/ui-config-schema.d.ts +5 -0
  272. package/dist/lib/openapi/spec/ui-config-schema.d.ts.map +1 -1
  273. package/dist/lib/openapi/spec/ui-config-schema.js +5 -0
  274. package/dist/lib/openapi/spec/ui-config-schema.js.map +1 -1
  275. package/dist/lib/openapi/spec/update-feature-schema.d.ts +1 -1
  276. package/dist/lib/openapi/spec/update-feature-strategy-schema.d.ts +18 -2
  277. package/dist/lib/openapi/spec/update-feature-strategy-schema.d.ts.map +1 -1
  278. package/dist/lib/openapi/spec/update-feature-strategy-schema.js +17 -1
  279. package/dist/lib/openapi/spec/update-feature-strategy-schema.js.map +1 -1
  280. package/dist/lib/openapi/spec/upsert-segment-schema.d.ts +1 -1
  281. package/dist/lib/openapi/spec/user-access-overview-schema.d.ts +12 -0
  282. package/dist/lib/openapi/spec/user-access-overview-schema.d.ts.map +1 -1
  283. package/dist/lib/openapi/spec/user-schema.d.ts +12 -0
  284. package/dist/lib/openapi/spec/user-schema.d.ts.map +1 -1
  285. package/dist/lib/openapi/spec/user-schema.js +12 -0
  286. package/dist/lib/openapi/spec/user-schema.js.map +1 -1
  287. package/dist/lib/openapi/spec/users-groups-base-schema.d.ts +48 -0
  288. package/dist/lib/openapi/spec/users-groups-base-schema.d.ts.map +1 -1
  289. package/dist/lib/openapi/spec/users-schema.d.ts +12 -0
  290. package/dist/lib/openapi/spec/users-schema.d.ts.map +1 -1
  291. package/dist/lib/openapi/spec/users-search-schema.d.ts +12 -0
  292. package/dist/lib/openapi/spec/users-search-schema.d.ts.map +1 -1
  293. package/dist/lib/openapi/spec/validated-edge-tokens-schema.d.ts +6 -1
  294. package/dist/lib/openapi/spec/validated-edge-tokens-schema.d.ts.map +1 -1
  295. package/dist/lib/openapi/util/api-operation.d.ts +23 -3
  296. package/dist/lib/openapi/util/api-operation.d.ts.map +1 -1
  297. package/dist/lib/openapi/util/api-stability.d.ts +3 -0
  298. package/dist/lib/openapi/util/api-stability.d.ts.map +1 -0
  299. package/dist/lib/openapi/util/api-stability.js +49 -0
  300. package/dist/lib/openapi/util/api-stability.js.map +1 -0
  301. package/dist/lib/openapi/util/api-stability.test.d.ts +2 -0
  302. package/dist/lib/openapi/util/api-stability.test.d.ts.map +1 -0
  303. package/dist/lib/openapi/util/api-stability.test.js +140 -0
  304. package/dist/lib/openapi/util/api-stability.test.js.map +1 -0
  305. package/dist/lib/openapi/util/openapi-tags.d.ts +6 -6
  306. package/dist/lib/openapi/util/openapi-tags.d.ts.map +1 -1
  307. package/dist/lib/openapi/util/openapi-tags.js +4 -4
  308. package/dist/lib/openapi/util/openapi-tags.js.map +1 -1
  309. package/dist/lib/routes/admin-api/index.js +1 -1
  310. package/dist/lib/routes/admin-api/index.js.map +1 -1
  311. package/dist/lib/routes/admin-api/project/variants.d.ts.map +1 -1
  312. package/dist/lib/routes/admin-api/project/variants.js +5 -1
  313. package/dist/lib/routes/admin-api/project/variants.js.map +1 -1
  314. package/dist/lib/routes/admin-api/user/user.d.ts +1 -0
  315. package/dist/lib/routes/admin-api/user/user.d.ts.map +1 -1
  316. package/dist/lib/routes/admin-api/user/user.js +12 -1
  317. package/dist/lib/routes/admin-api/user/user.js.map +1 -1
  318. package/dist/lib/routes/admin-api/user-admin.d.ts.map +1 -1
  319. package/dist/lib/routes/admin-api/user-admin.js +4 -4
  320. package/dist/lib/routes/admin-api/user-admin.js.map +1 -1
  321. package/dist/lib/routes/edge-api/index.d.ts +4 -3
  322. package/dist/lib/routes/edge-api/index.d.ts.map +1 -1
  323. package/dist/lib/routes/edge-api/index.js +39 -7
  324. package/dist/lib/routes/edge-api/index.js.map +1 -1
  325. package/dist/lib/schema/feature-schema.test.js +1 -1
  326. package/dist/lib/schema/feature-schema.test.js.map +1 -1
  327. package/dist/lib/server-impl.d.ts +5 -4
  328. package/dist/lib/server-impl.d.ts.map +1 -1
  329. package/dist/lib/server-impl.js +6 -3
  330. package/dist/lib/server-impl.js.map +1 -1
  331. package/dist/lib/services/api-token-service.d.ts.map +1 -1
  332. package/dist/lib/services/api-token-service.js.map +1 -1
  333. package/dist/lib/services/edge-service.d.ts +22 -7
  334. package/dist/lib/services/edge-service.d.ts.map +1 -1
  335. package/dist/lib/services/edge-service.js +87 -9
  336. package/dist/lib/services/edge-service.js.map +1 -1
  337. package/dist/lib/services/index.d.ts +8 -3
  338. package/dist/lib/services/index.d.ts.map +1 -1
  339. package/dist/lib/services/index.js +23 -6
  340. package/dist/lib/services/index.js.map +1 -1
  341. package/dist/lib/services/openapi-service.d.ts +8 -2
  342. package/dist/lib/services/openapi-service.d.ts.map +1 -1
  343. package/dist/lib/services/openapi-service.js +49 -7
  344. package/dist/lib/services/openapi-service.js.map +1 -1
  345. package/dist/lib/services/openapi-service.test.d.ts +2 -0
  346. package/dist/lib/services/openapi-service.test.d.ts.map +1 -0
  347. package/dist/lib/services/openapi-service.test.js +41 -0
  348. package/dist/lib/services/openapi-service.test.js.map +1 -0
  349. package/dist/lib/services/user-service.d.ts +3 -1
  350. package/dist/lib/services/user-service.d.ts.map +1 -1
  351. package/dist/lib/services/user-service.js +7 -2
  352. package/dist/lib/services/user-service.js.map +1 -1
  353. package/dist/lib/services/user-service.test.js +4 -28
  354. package/dist/lib/services/user-service.test.js.map +1 -1
  355. package/dist/lib/types/experimental.d.ts +1 -1
  356. package/dist/lib/types/experimental.d.ts.map +1 -1
  357. package/dist/lib/types/experimental.js +6 -0
  358. package/dist/lib/types/experimental.js.map +1 -1
  359. package/dist/lib/types/model.d.ts +4 -0
  360. package/dist/lib/types/model.d.ts.map +1 -1
  361. package/dist/lib/types/model.js.map +1 -1
  362. package/dist/lib/types/option.d.ts +5 -0
  363. package/dist/lib/types/option.d.ts.map +1 -1
  364. package/dist/lib/types/stores/edge-store.d.ts +14 -0
  365. package/dist/lib/types/stores/edge-store.d.ts.map +1 -0
  366. package/dist/lib/types/stores/edge-store.js +2 -0
  367. package/dist/lib/types/stores/edge-store.js.map +1 -0
  368. package/dist/lib/types/stores/user-store.d.ts +4 -0
  369. package/dist/lib/types/stores/user-store.d.ts.map +1 -1
  370. package/dist/lib/types/stores.d.ts +6 -4
  371. package/dist/lib/types/stores.d.ts.map +1 -1
  372. package/dist/lib/types/stores.js +1 -1
  373. package/dist/lib/types/stores.js.map +1 -1
  374. package/dist/lib/types/user.d.ts +8 -1
  375. package/dist/lib/types/user.d.ts.map +1 -1
  376. package/dist/lib/types/user.js +3 -1
  377. package/dist/lib/types/user.js.map +1 -1
  378. package/dist/lib/ui-config/ui-config-service.d.ts.map +1 -1
  379. package/dist/lib/ui-config/ui-config-service.js +1 -0
  380. package/dist/lib/ui-config/ui-config-service.js.map +1 -1
  381. package/dist/lib/ui-config/ui-config.test.js +5 -1
  382. package/dist/lib/ui-config/ui-config.test.js.map +1 -1
  383. package/dist/lib/util/constants.d.ts +2 -1
  384. package/dist/lib/util/constants.d.ts.map +1 -1
  385. package/dist/lib/util/constants.js +2 -0
  386. package/dist/lib/util/constants.js.map +1 -1
  387. package/dist/lib/util/validators/constraint-types.d.ts +1 -0
  388. package/dist/lib/util/validators/constraint-types.d.ts.map +1 -1
  389. package/dist/lib/util/validators/constraint-types.js +12 -0
  390. package/dist/lib/util/validators/constraint-types.js.map +1 -1
  391. package/dist/lib/util/validators/constraint-types.test.js +25 -1
  392. package/dist/lib/util/validators/constraint-types.test.js.map +1 -1
  393. package/dist/mailtemplates/getting-started/getting-started.html.mustache +7 -2
  394. package/dist/mailtemplates/getting-started/getting-started.plain.mustache +6 -1
  395. package/dist/migrations/20260204150900-add-edge-hmac-verification-tables.d.ts +3 -0
  396. package/dist/migrations/20260204150900-add-edge-hmac-verification-tables.d.ts.map +1 -0
  397. package/dist/migrations/20260204150900-add-edge-hmac-verification-tables.js +39 -0
  398. package/dist/migrations/20260204150900-add-edge-hmac-verification-tables.js.map +1 -0
  399. package/dist/migrations/20260213095258-users-company-role-and-email-consent.d.ts +3 -0
  400. package/dist/migrations/20260213095258-users-company-role-and-email-consent.d.ts.map +1 -0
  401. package/dist/migrations/20260213095258-users-company-role-and-email-consent.js +12 -0
  402. package/dist/migrations/20260213095258-users-company-role-and-email-consent.js.map +1 -0
  403. package/dist/server-dev.js +3 -0
  404. package/dist/server-dev.js.map +1 -1
  405. package/dist/test/arbitraries.test.d.ts.map +1 -1
  406. package/dist/test/arbitraries.test.js +3 -9
  407. package/dist/test/arbitraries.test.js.map +1 -1
  408. package/dist/test/e2e/api/admin/context.e2e.test.js +1 -1
  409. package/dist/test/e2e/api/admin/context.e2e.test.js.map +1 -1
  410. package/dist/test/e2e/api/admin/project/variants.e2e.test.js +19 -0
  411. package/dist/test/e2e/api/admin/project/variants.e2e.test.js.map +1 -1
  412. package/dist/test/e2e/api/edge/create-token-request.test.d.ts +2 -0
  413. package/dist/test/e2e/api/edge/create-token-request.test.d.ts.map +1 -0
  414. package/dist/test/e2e/api/edge/create-token-request.test.js +215 -0
  415. package/dist/test/e2e/api/edge/create-token-request.test.js.map +1 -0
  416. package/dist/test/e2e/services/edge-service.e2e.test.js +106 -3
  417. package/dist/test/e2e/services/edge-service.e2e.test.js.map +1 -1
  418. package/dist/test/fixtures/fake-release-plan-milestone-strategy-store.d.ts +17 -0
  419. package/dist/test/fixtures/fake-release-plan-milestone-strategy-store.d.ts.map +1 -0
  420. package/dist/test/fixtures/fake-release-plan-milestone-strategy-store.js +44 -0
  421. package/dist/test/fixtures/fake-release-plan-milestone-strategy-store.js.map +1 -0
  422. package/dist/test/fixtures/store.d.ts.map +1 -1
  423. package/dist/test/fixtures/store.js +5 -2
  424. package/dist/test/fixtures/store.js.map +1 -1
  425. package/frontend/build/index.html +1 -1
  426. package/frontend/build/static/{AdvancedPlayground-B70Djk8B.js → AdvancedPlayground-BVQjoHnr.js} +2 -2
  427. package/frontend/build/static/BackendConnections-bRvUo06H.js +1 -0
  428. package/frontend/build/static/{CreateProject-Dnggz6io.js → CreateProject-z7K5-k8g.js} +1 -1
  429. package/frontend/build/static/{EnterpriseEdge-Dnk6MbDj.js → EnterpriseEdge-CAkbmuGs.js} +2 -2
  430. package/frontend/build/static/{FeatureMetricsChart-CFEixeGp.js → FeatureMetricsChart-TPw8l2qi.js} +2 -2
  431. package/frontend/build/static/FeatureStaleDialog-DwV5Mzh6.js +7 -0
  432. package/frontend/build/static/{FeatureViewLazyExport-CUnXEEwm.js → FeatureViewLazyExport-CBpSqVMU.js} +3 -3
  433. package/frontend/build/static/{FlagMetricsChart-ujKp_v58.js → FlagMetricsChart-DLcy8CzE.js} +2 -2
  434. package/frontend/build/static/FrontendNetworkTrafficUsage-CYJZFmkc.js +1 -0
  435. package/frontend/build/static/{GridLayoutWrapper-Cg_xypvQ.js → GridLayoutWrapper-CixVvIgD.js} +1 -1
  436. package/frontend/build/static/{ImpactMetricsPage-ZRSvDBg4.js → ImpactMetricsPage-AS6DHn5C.js} +1 -1
  437. package/frontend/build/static/{LazyAdminExport-B8GV3V8t.js → LazyAdminExport-dyqU9IvB.js} +14 -14
  438. package/frontend/build/static/{LazyProjectExport-B9SJl4_L.js → LazyProjectExport-B1vRaljX.js} +19 -19
  439. package/frontend/build/static/{LifecycleChartComponent-DulnIgCV.js → LifecycleChartComponent-BGuUP9oF.js} +3 -3
  440. package/frontend/build/static/{LineChartComponent-BVdLj0q6.js → LineChartComponent-DA6kG8Ei.js} +1 -1
  441. package/frontend/build/static/{MarkCompletedDialogue-Cu7y0hRZ.js → MarkCompletedDialogue-D2TM3HgS.js} +1 -1
  442. package/frontend/build/static/{NetworkOverview-CUmX-taY.js → NetworkOverview-aNdwr7xF.js} +1 -1
  443. package/frontend/build/static/{NetworkPrometheusAPIWarning-BwnVz0CY.js → NetworkPrometheusAPIWarning-f1m-ZHgX.js} +1 -1
  444. package/frontend/build/static/{NetworkTraffic-DCMn8UWo.js → NetworkTraffic-CzH9_YqS.js} +1 -1
  445. package/frontend/build/static/{NetworkTrafficUsage-DSZK447X.js → NetworkTrafficUsage-BqpcQ4JO.js} +1 -1
  446. package/frontend/build/static/{PercentageDonut-B2OwM0Er.js → PercentageDonut-cKg6eF-p.js} +1 -1
  447. package/frontend/build/static/{ReactJSONEditor-BPlzE1Zx.js → ReactJSONEditor-BH7GX57b.js} +1 -1
  448. package/frontend/build/static/RoleCell-D01N1lHV.js +1 -0
  449. package/frontend/build/static/{aggregateFeatureMetrics-Bcfo39hn.js → aggregateFeatureMetrics-DJ_IwcyH.js} +1 -1
  450. package/frontend/build/static/{formatTickValue-CqTJlzJZ.js → formatTickValue-ClJtK_xN.js} +2 -2
  451. package/frontend/build/static/index-Cz4lAJ3Y.js +568 -0
  452. package/frontend/build/static/{networkTrafficUsageHighlightPlugin-Dmm54dMG.js → networkTrafficUsageHighlightPlugin-Ce-A3Xr6.js} +1 -1
  453. package/frontend/build/static/unleash_logo_dark_no_label-DHgOj_XN.svg +6 -0
  454. package/frontend/build/static/unleash_logo_white_no_label-BazgWvcx.svg +6 -0
  455. package/frontend/build/static/{useApiTokens-D1XvAIIA.js → useApiTokens-Dx2wjhgw.js} +1 -1
  456. package/frontend/package.json +9 -7
  457. package/package.json +16 -13
  458. package/dist/lib/db/pat-store.d.ts.map +0 -1
  459. package/dist/lib/db/pat-store.js.map +0 -1
  460. package/dist/lib/routes/admin-api/constraints.d.ts.map +0 -1
  461. package/dist/lib/routes/admin-api/constraints.js.map +0 -1
  462. package/dist/lib/services/pat-service.d.ts.map +0 -1
  463. package/dist/lib/services/pat-service.js.map +0 -1
  464. package/dist/lib/types/stores/pat-store.d.ts.map +0 -1
  465. package/dist/lib/types/stores/pat-store.js +0 -2
  466. package/dist/lib/types/stores/pat-store.js.map +0 -1
  467. package/dist/test/e2e/api/admin/constraints.e2e.test.d.ts.map +0 -1
  468. package/dist/test/e2e/api/admin/constraints.e2e.test.js.map +0 -1
  469. package/dist/test/fixtures/fake-pat-store.d.ts +0 -16
  470. package/dist/test/fixtures/fake-pat-store.d.ts.map +0 -1
  471. package/dist/test/fixtures/fake-pat-store.js +0 -35
  472. package/dist/test/fixtures/fake-pat-store.js.map +0 -1
  473. package/frontend/build/static/BackendConnections-mlK6EAYQ.js +0 -1
  474. package/frontend/build/static/FeatureStaleDialog-DZoiwwdR.js +0 -7
  475. package/frontend/build/static/FrontendNetworkTrafficUsage-Dq8wwaXR.js +0 -1
  476. package/frontend/build/static/RoleCell-D5skjCJn.js +0 -1
  477. package/frontend/build/static/index-g9pKMnOR.js +0 -542
  478. /package/dist/{test/e2e/api/admin → lib/features/constraints}/constraints.e2e.test.d.ts +0 -0
@@ -0,0 +1,55 @@
1
+ import { constraintSchema } from '../../schema/feature-schema.js';
2
+ import { DATE_OPERATORS, NUM_OPERATORS, REGEX, SEMVER_OPERATORS, STRING_OPERATORS, } from '../../util/index.js';
3
+ import { validateDate, validateLegalValues, validateNumber, validateSemver, validateString, validateRegex, } from '../../util/validators/constraint-types.js';
4
+ const oneOf = (values, match) => {
5
+ return values.some((value) => value === match);
6
+ };
7
+ export class ConstraintsReadModel {
8
+ constructor(contextFieldStore) {
9
+ this.contextFieldStore = contextFieldStore;
10
+ }
11
+ async validateConstraints(constraints) {
12
+ const validations = constraints.map((constraint) => {
13
+ return this.validateConstraint(constraint);
14
+ });
15
+ return Promise.all(validations);
16
+ }
17
+ async validateConstraint(input) {
18
+ const constraint = await constraintSchema.validateAsync(input);
19
+ const { operator } = constraint;
20
+ if (oneOf(NUM_OPERATORS, operator)) {
21
+ await validateNumber(constraint.value);
22
+ }
23
+ if (oneOf(STRING_OPERATORS, operator)) {
24
+ await validateString(constraint.values);
25
+ }
26
+ if (oneOf(SEMVER_OPERATORS, operator)) {
27
+ // Semver library is not asynchronous, so we do not
28
+ // need to await here.
29
+ validateSemver(constraint.value);
30
+ }
31
+ if (oneOf(DATE_OPERATORS, operator)) {
32
+ await validateDate(constraint.value);
33
+ }
34
+ if (operator === REGEX) {
35
+ validateRegex(constraint.value);
36
+ }
37
+ if (await this.contextFieldStore.exists(constraint.contextName)) {
38
+ const contextDefinition = await this.contextFieldStore.get(constraint.contextName);
39
+ if (contextDefinition?.legalValues &&
40
+ contextDefinition.legalValues.length > 0) {
41
+ const valuesToValidate = oneOf([
42
+ ...DATE_OPERATORS,
43
+ ...SEMVER_OPERATORS,
44
+ ...NUM_OPERATORS,
45
+ REGEX,
46
+ ], operator)
47
+ ? constraint.value
48
+ : constraint.values;
49
+ validateLegalValues(contextDefinition.legalValues, valuesToValidate);
50
+ }
51
+ }
52
+ return constraint;
53
+ }
54
+ }
55
+ //# sourceMappingURL=constraints-read-model.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"constraints-read-model.js","sourceRoot":"","sources":["../../../../src/lib/features/constraints/constraints-read-model.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,gBAAgB,EAAE,MAAM,gCAAgC,CAAC;AAClE,OAAO,EACH,cAAc,EACd,aAAa,EACb,KAAK,EACL,gBAAgB,EAChB,gBAAgB,GACnB,MAAM,qBAAqB,CAAC;AAC7B,OAAO,EACH,YAAY,EACZ,mBAAmB,EACnB,cAAc,EACd,cAAc,EACd,cAAc,EACd,aAAa,GAChB,MAAM,2CAA2C,CAAC;AAGnD,MAAM,KAAK,GAAG,CAAC,MAAgB,EAAE,KAAa,EAAE,EAAE;IAC9C,OAAO,MAAM,CAAC,IAAI,CAAC,CAAC,KAAK,EAAE,EAAE,CAAC,KAAK,KAAK,KAAK,CAAC,CAAC;AACnD,CAAC,CAAC;AAGF,MAAM,OAAO,oBAAoB;IAG7B,YAAY,iBAA8C;QACtD,IAAI,CAAC,iBAAiB,GAAG,iBAAiB,CAAC;IAC/C,CAAC;IAED,KAAK,CAAC,mBAAmB,CACrB,WAA0B;QAE1B,MAAM,WAAW,GAAG,WAAW,CAAC,GAAG,CAAC,CAAC,UAAU,EAAE,EAAE;YAC/C,OAAO,IAAI,CAAC,kBAAkB,CAAC,UAAU,CAAC,CAAC;QAC/C,CAAC,CAAC,CAAC;QAEH,OAAO,OAAO,CAAC,GAAG,CAAC,WAAW,CAAC,CAAC;IACpC,CAAC;IAED,KAAK,CAAC,kBAAkB,CAAC,KAAkB;QACvC,MAAM,UAAU,GAAG,MAAM,gBAAgB,CAAC,aAAa,CAAC,KAAK,CAAC,CAAC;QAC/D,MAAM,EAAE,QAAQ,EAAE,GAAG,UAAU,CAAC;QAChC,IAAI,KAAK,CAAC,aAAa,EAAE,QAAQ,CAAC,EAAE,CAAC;YACjC,MAAM,cAAc,CAAC,UAAU,CAAC,KAAK,CAAC,CAAC;QAC3C,CAAC;QAED,IAAI,KAAK,CAAC,gBAAgB,EAAE,QAAQ,CAAC,EAAE,CAAC;YACpC,MAAM,cAAc,CAAC,UAAU,CAAC,MAAM,CAAC,CAAC;QAC5C,CAAC;QAED,IAAI,KAAK,CAAC,gBAAgB,EAAE,QAAQ,CAAC,EAAE,CAAC;YACpC,mDAAmD;YACnD,sBAAsB;YACtB,cAAc,CAAC,UAAU,CAAC,KAAK,CAAC,CAAC;QACrC,CAAC;QAED,IAAI,KAAK,CAAC,cAAc,EAAE,QAAQ,CAAC,EAAE,CAAC;YAClC,MAAM,YAAY,CAAC,UAAU,CAAC,KAAK,CAAC,CAAC;QACzC,CAAC;QAED,IAAI,QAAQ,KAAK,KAAK,EAAE,CAAC;YACrB,aAAa,CAAC,UAAU,CAAC,KAAK,CAAC,CAAC;QACpC,CAAC;QAED,IAAI,MAAM,IAAI,CAAC,iBAAiB,CAAC,MAAM,CAAC,UAAU,CAAC,WAAW,CAAC,EAAE,CAAC;YAC9D,MAAM,iBAAiB,GAAG,MAAM,IAAI,CAAC,iBAAiB,CAAC,GAAG,CACtD,UAAU,CAAC,WAAW,CACzB,CAAC;YAEF,IACI,iBAAiB,EAAE,WAAW;gBAC9B,iBAAiB,CAAC,WAAW,CAAC,MAAM,GAAG,CAAC,EAC1C,CAAC;gBACC,MAAM,gBAAgB,GAAG,KAAK,CAC1B;oBACI,GAAG,cAAc;oBACjB,GAAG,gBAAgB;oBACnB,GAAG,aAAa;oBAChB,KAAK;iBACR,EACD,QAAQ,CACX;oBACG,CAAC,CAAC,UAAU,CAAC,KAAK;oBAClB,CAAC,CAAC,UAAU,CAAC,MAAM,CAAC;gBACxB,mBAAmB,CACf,iBAAiB,CAAC,WAAW,EAC7B,gBAAgB,CACnB,CAAC;YACN,CAAC;QACL,CAAC;QAED,OAAO,UAAU,CAAC;IACtB,CAAC;CACJ"}
@@ -0,0 +1,2 @@
1
+ export {};
2
+ //# sourceMappingURL=constraints-read-model.test.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"constraints-read-model.test.d.ts","sourceRoot":"","sources":["../../../../src/lib/features/constraints/constraints-read-model.test.ts"],"names":[],"mappings":""}
@@ -0,0 +1,388 @@
1
+ import { ConstraintsReadModel } from './constraints-read-model.js';
2
+ import FakeContextFieldStore from '../context/fake-context-field-store.js';
3
+ const createReadModel = (contextFieldStore) => {
4
+ const store = contextFieldStore ?? new FakeContextFieldStore();
5
+ const readModel = new ConstraintsReadModel(store);
6
+ return { readModel, store };
7
+ };
8
+ describe('ConstraintsReadModel - validateConstraints', () => {
9
+ describe('valid constraints', () => {
10
+ test('validates a string operator constraint (IN)', async () => {
11
+ const { readModel } = createReadModel();
12
+ const constraints = [
13
+ {
14
+ contextName: 'someField',
15
+ operator: 'IN',
16
+ values: ['a', 'b'],
17
+ },
18
+ ];
19
+ const result = await readModel.validateConstraints(constraints);
20
+ expect(result).toHaveLength(1);
21
+ expect(result[0].operator).toBe('IN');
22
+ });
23
+ test('validates a NOT_IN constraint', async () => {
24
+ const { readModel } = createReadModel();
25
+ const constraints = [
26
+ {
27
+ contextName: 'someField',
28
+ operator: 'NOT_IN',
29
+ values: ['x', 'y'],
30
+ },
31
+ ];
32
+ const result = await readModel.validateConstraints(constraints);
33
+ expect(result).toHaveLength(1);
34
+ expect(result[0].operator).toBe('NOT_IN');
35
+ });
36
+ test('validates a numeric operator constraint', async () => {
37
+ const { readModel } = createReadModel();
38
+ const constraints = [
39
+ {
40
+ contextName: 'someField',
41
+ operator: 'NUM_EQ',
42
+ value: '5',
43
+ values: [],
44
+ },
45
+ ];
46
+ const result = await readModel.validateConstraints(constraints);
47
+ expect(result).toHaveLength(1);
48
+ expect(result[0].operator).toBe('NUM_EQ');
49
+ });
50
+ test('validates a semver operator constraint', async () => {
51
+ const { readModel } = createReadModel();
52
+ const constraints = [
53
+ {
54
+ contextName: 'someField',
55
+ operator: 'SEMVER_EQ',
56
+ value: '1.2.3',
57
+ values: [],
58
+ },
59
+ ];
60
+ const result = await readModel.validateConstraints(constraints);
61
+ expect(result).toHaveLength(1);
62
+ expect(result[0].operator).toBe('SEMVER_EQ');
63
+ });
64
+ test('validates a date operator constraint', async () => {
65
+ const { readModel } = createReadModel();
66
+ const constraints = [
67
+ {
68
+ contextName: 'someField',
69
+ operator: 'DATE_AFTER',
70
+ value: '2024-01-01T00:00:00.000Z',
71
+ values: [],
72
+ },
73
+ ];
74
+ const result = await readModel.validateConstraints(constraints);
75
+ expect(result).toHaveLength(1);
76
+ expect(result[0].operator).toBe('DATE_AFTER');
77
+ });
78
+ test('validates a REGEX constraint', async () => {
79
+ const { readModel } = createReadModel();
80
+ const constraints = [
81
+ {
82
+ contextName: 'someField',
83
+ operator: 'REGEX',
84
+ value: '^test.*$',
85
+ values: [],
86
+ },
87
+ ];
88
+ const result = await readModel.validateConstraints(constraints);
89
+ expect(result).toHaveLength(1);
90
+ expect(result[0].operator).toBe('REGEX');
91
+ });
92
+ test('validates multiple constraints at once', async () => {
93
+ const { readModel } = createReadModel();
94
+ const constraints = [
95
+ {
96
+ contextName: 'fieldA',
97
+ operator: 'IN',
98
+ values: ['a'],
99
+ },
100
+ {
101
+ contextName: 'fieldB',
102
+ operator: 'NUM_GT',
103
+ value: '10',
104
+ values: [],
105
+ },
106
+ {
107
+ contextName: 'fieldC',
108
+ operator: 'SEMVER_LT',
109
+ value: '2.0.0',
110
+ values: [],
111
+ },
112
+ ];
113
+ const result = await readModel.validateConstraints(constraints);
114
+ expect(result).toHaveLength(3);
115
+ });
116
+ test('returns empty array for empty input', async () => {
117
+ const { readModel } = createReadModel();
118
+ const result = await readModel.validateConstraints([]);
119
+ expect(result).toEqual([]);
120
+ });
121
+ test('defaults values to empty array when not provided for non-string operators', async () => {
122
+ const { readModel } = createReadModel();
123
+ const constraints = [
124
+ {
125
+ contextName: 'someField',
126
+ operator: 'NUM_EQ',
127
+ value: '5',
128
+ },
129
+ ];
130
+ const result = await readModel.validateConstraints(constraints);
131
+ expect(result[0].values).toEqual([]);
132
+ });
133
+ });
134
+ describe('invalid constraints', () => {
135
+ test('rejects invalid operator', async () => {
136
+ const { readModel } = createReadModel();
137
+ const constraints = [
138
+ {
139
+ contextName: 'someField',
140
+ operator: 'INVALID_OP',
141
+ values: ['a'],
142
+ },
143
+ ];
144
+ await expect(readModel.validateConstraints(constraints)).rejects.toThrow();
145
+ });
146
+ test('rejects missing contextName', async () => {
147
+ const { readModel } = createReadModel();
148
+ const constraints = [
149
+ {
150
+ operator: 'IN',
151
+ values: ['a'],
152
+ },
153
+ ];
154
+ await expect(readModel.validateConstraints(constraints)).rejects.toThrow();
155
+ });
156
+ test('rejects invalid number for NUM operator', async () => {
157
+ const { readModel } = createReadModel();
158
+ const constraints = [
159
+ {
160
+ contextName: 'someField',
161
+ operator: 'NUM_EQ',
162
+ value: 'not-a-number',
163
+ values: [],
164
+ },
165
+ ];
166
+ await expect(readModel.validateConstraints(constraints)).rejects.toThrow();
167
+ });
168
+ test('rejects invalid semver for SEMVER operator', async () => {
169
+ const { readModel } = createReadModel();
170
+ const constraints = [
171
+ {
172
+ contextName: 'someField',
173
+ operator: 'SEMVER_EQ',
174
+ value: 'not-semver',
175
+ values: [],
176
+ },
177
+ ];
178
+ await expect(readModel.validateConstraints(constraints)).rejects.toThrow();
179
+ });
180
+ test('rejects invalid date for DATE operator', async () => {
181
+ const { readModel } = createReadModel();
182
+ const constraints = [
183
+ {
184
+ contextName: 'someField',
185
+ operator: 'DATE_BEFORE',
186
+ value: 'not-a-date',
187
+ values: [],
188
+ },
189
+ ];
190
+ await expect(readModel.validateConstraints(constraints)).rejects.toThrow();
191
+ });
192
+ test('rejects invalid regex for REGEX operator', async () => {
193
+ const { readModel } = createReadModel();
194
+ const constraints = [
195
+ {
196
+ contextName: 'someField',
197
+ operator: 'REGEX',
198
+ value: '(?!invalid)',
199
+ values: [],
200
+ },
201
+ ];
202
+ await expect(readModel.validateConstraints(constraints)).rejects.toThrow();
203
+ });
204
+ });
205
+ describe('legal values validation', () => {
206
+ test('accepts values matching legal values for string operators', async () => {
207
+ const store = new FakeContextFieldStore();
208
+ await store.create({
209
+ name: 'country',
210
+ description: 'Country',
211
+ sortOrder: 0,
212
+ stickiness: false,
213
+ legalValues: [
214
+ { value: 'US' },
215
+ { value: 'UK' },
216
+ { value: 'DE' },
217
+ ],
218
+ });
219
+ const { readModel } = createReadModel(store);
220
+ const constraints = [
221
+ {
222
+ contextName: 'country',
223
+ operator: 'IN',
224
+ values: ['US', 'UK'],
225
+ },
226
+ ];
227
+ const result = await readModel.validateConstraints(constraints);
228
+ expect(result).toHaveLength(1);
229
+ });
230
+ test('rejects values not in legal values for string operators', async () => {
231
+ const store = new FakeContextFieldStore();
232
+ await store.create({
233
+ name: 'country',
234
+ description: 'Country',
235
+ sortOrder: 0,
236
+ stickiness: false,
237
+ legalValues: [{ value: 'US' }, { value: 'UK' }],
238
+ });
239
+ const { readModel } = createReadModel(store);
240
+ const constraints = [
241
+ {
242
+ contextName: 'country',
243
+ operator: 'IN',
244
+ values: ['US', 'INVALID'],
245
+ },
246
+ ];
247
+ await expect(readModel.validateConstraints(constraints)).rejects.toThrow();
248
+ });
249
+ test('validates single value against legal values for NUM operators', async () => {
250
+ const store = new FakeContextFieldStore();
251
+ await store.create({
252
+ name: 'priority',
253
+ description: 'Priority',
254
+ sortOrder: 0,
255
+ stickiness: false,
256
+ legalValues: [{ value: '1' }, { value: '2' }, { value: '3' }],
257
+ });
258
+ const { readModel } = createReadModel(store);
259
+ const constraints = [
260
+ {
261
+ contextName: 'priority',
262
+ operator: 'NUM_EQ',
263
+ value: '1',
264
+ values: [],
265
+ },
266
+ ];
267
+ const result = await readModel.validateConstraints(constraints);
268
+ expect(result).toHaveLength(1);
269
+ });
270
+ test('rejects single value not in legal values for NUM operators', async () => {
271
+ const store = new FakeContextFieldStore();
272
+ await store.create({
273
+ name: 'priority',
274
+ description: 'Priority',
275
+ sortOrder: 0,
276
+ stickiness: false,
277
+ legalValues: [{ value: '1' }, { value: '2' }],
278
+ });
279
+ const { readModel } = createReadModel(store);
280
+ const constraints = [
281
+ {
282
+ contextName: 'priority',
283
+ operator: 'NUM_EQ',
284
+ value: '99',
285
+ values: [],
286
+ },
287
+ ];
288
+ await expect(readModel.validateConstraints(constraints)).rejects.toThrow();
289
+ });
290
+ test('skips legal values check when context field has no legal values', async () => {
291
+ const store = new FakeContextFieldStore();
292
+ await store.create({
293
+ name: 'customField',
294
+ description: 'Custom',
295
+ sortOrder: 0,
296
+ stickiness: false,
297
+ legalValues: [],
298
+ });
299
+ const { readModel } = createReadModel(store);
300
+ const constraints = [
301
+ {
302
+ contextName: 'customField',
303
+ operator: 'IN',
304
+ values: ['anything'],
305
+ },
306
+ ];
307
+ const result = await readModel.validateConstraints(constraints);
308
+ expect(result).toHaveLength(1);
309
+ });
310
+ test('skips legal values check when context field does not exist', async () => {
311
+ const { readModel } = createReadModel();
312
+ const constraints = [
313
+ {
314
+ contextName: 'nonExistent',
315
+ operator: 'IN',
316
+ values: ['anything'],
317
+ },
318
+ ];
319
+ const result = await readModel.validateConstraints(constraints);
320
+ expect(result).toHaveLength(1);
321
+ });
322
+ test('validates value (not values) for SEMVER operators against legal values', async () => {
323
+ const store = new FakeContextFieldStore();
324
+ await store.create({
325
+ name: 'version',
326
+ description: 'Version',
327
+ sortOrder: 0,
328
+ stickiness: false,
329
+ legalValues: [{ value: '1.0.0' }, { value: '2.0.0' }],
330
+ });
331
+ const { readModel } = createReadModel(store);
332
+ const constraints = [
333
+ {
334
+ contextName: 'version',
335
+ operator: 'SEMVER_GT',
336
+ value: '1.0.0',
337
+ values: [],
338
+ },
339
+ ];
340
+ const result = await readModel.validateConstraints(constraints);
341
+ expect(result).toHaveLength(1);
342
+ });
343
+ test('validates value (not values) for DATE operators against legal values', async () => {
344
+ const store = new FakeContextFieldStore();
345
+ const dateValue = '2024-06-01T00:00:00.000Z';
346
+ await store.create({
347
+ name: 'releaseDate',
348
+ description: 'Release date',
349
+ sortOrder: 0,
350
+ stickiness: false,
351
+ legalValues: [{ value: dateValue }],
352
+ });
353
+ const { readModel } = createReadModel(store);
354
+ const constraints = [
355
+ {
356
+ contextName: 'releaseDate',
357
+ operator: 'DATE_AFTER',
358
+ value: dateValue,
359
+ values: [],
360
+ },
361
+ ];
362
+ const result = await readModel.validateConstraints(constraints);
363
+ expect(result).toHaveLength(1);
364
+ });
365
+ test('validates value (not values) for REGEX operator against legal values', async () => {
366
+ const store = new FakeContextFieldStore();
367
+ await store.create({
368
+ name: 'pattern',
369
+ description: 'Pattern',
370
+ sortOrder: 0,
371
+ stickiness: false,
372
+ legalValues: [{ value: '^abc$' }, { value: '^def$' }],
373
+ });
374
+ const { readModel } = createReadModel(store);
375
+ const constraints = [
376
+ {
377
+ contextName: 'pattern',
378
+ operator: 'REGEX',
379
+ value: '^abc$',
380
+ values: [],
381
+ },
382
+ ];
383
+ const result = await readModel.validateConstraints(constraints);
384
+ expect(result).toHaveLength(1);
385
+ });
386
+ });
387
+ });
388
+ //# sourceMappingURL=constraints-read-model.test.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"constraints-read-model.test.js","sourceRoot":"","sources":["../../../../src/lib/features/constraints/constraints-read-model.test.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1 @@
1
+ {"version":3,"file":"constraints.e2e.test.d.ts","sourceRoot":"","sources":["../../../../src/lib/features/constraints/constraints.e2e.test.ts"],"names":[],"mappings":""}
@@ -1,6 +1,6 @@
1
- import dbInit from '../../helpers/database-init.js';
2
- import getLogger from '../../../fixtures/no-logger.js';
3
- import { setupAppWithCustomConfig, } from '../../helpers/test-helper.js';
1
+ import dbInit from '../../../test/e2e/helpers/database-init.js';
2
+ import getLogger from '../../../test/fixtures/no-logger.js';
3
+ import { setupAppWithCustomConfig, } from '../../../test/e2e/helpers/test-helper.js';
4
4
  let app;
5
5
  let db;
6
6
  const PATH = '/api/admin/constraints/validate';
@@ -12,7 +12,7 @@ beforeAll(async () => {
12
12
  strictSchemaValidation: true,
13
13
  },
14
14
  },
15
- });
15
+ }, db.rawDatabase);
16
16
  });
17
17
  afterAll(async () => {
18
18
  await app.destroy();
@@ -0,0 +1 @@
1
+ {"version":3,"file":"constraints.e2e.test.js","sourceRoot":"","sources":["../../../../src/lib/features/constraints/constraints.e2e.test.ts"],"names":[],"mappings":"AAAA,OAAO,MAEN,MAAM,4CAA4C,CAAC;AACpD,OAAO,SAAS,MAAM,qCAAqC,CAAC;AAC5D,OAAO,EAEH,wBAAwB,GAC3B,MAAM,0CAA0C,CAAC;AAElD,IAAI,GAAiB,CAAC;AACtB,IAAI,EAAW,CAAC;AAEhB,MAAM,IAAI,GAAG,iCAAiC,CAAC;AAE/C,SAAS,CAAC,KAAK,IAAI,EAAE;IACjB,EAAE,GAAG,MAAM,MAAM,CAAC,aAAa,EAAE,SAAS,CAAC,CAAC;IAC5C,GAAG,GAAG,MAAM,wBAAwB,CAChC,EAAE,CAAC,MAAM,EACT;QACI,YAAY,EAAE;YACV,KAAK,EAAE;gBACH,sBAAsB,EAAE,IAAI;aAC/B;SACJ;KACJ,EACD,EAAE,CAAC,WAAW,CACjB,CAAC;AACN,CAAC,CAAC,CAAC;AAEH,QAAQ,CAAC,KAAK,IAAI,EAAE;IAChB,MAAM,GAAG,CAAC,OAAO,EAAE,CAAC;IACpB,MAAM,EAAE,CAAC,OAAO,EAAE,CAAC;AACvB,CAAC,CAAC,CAAC;AAEH,IAAI,CAAC,mCAAmC,EAAE,KAAK,IAAI,EAAE;IACjD,MAAM,GAAG,CAAC,OAAO,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC,MAAM,CAAC,GAAG,CAAC,CAAC;IAClD,MAAM,GAAG,CAAC,OAAO,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,IAAI,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,CAAC,MAAM,CAAC,GAAG,CAAC,CAAC;IACxD,MAAM,GAAG,CAAC,OAAO,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,IAAI,CAAC,EAAE,QAAQ,EAAE,IAAI,EAAE,CAAC,CAAC,MAAM,CAAC,GAAG,CAAC,CAAC;IAClE,MAAM,GAAG,CAAC,OAAO,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,IAAI,CAAC,EAAE,WAAW,EAAE,GAAG,EAAE,CAAC,CAAC,MAAM,CAAC,GAAG,CAAC,CAAC;AACxE,CAAC,CAAC,CAAC;AAEH,IAAI,CAAC,iCAAiC,EAAE,KAAK,IAAI,EAAE;IAC/C,MAAM,GAAG,CAAC,OAAO;SACZ,IAAI,CAAC,IAAI,CAAC;SACV,IAAI,CAAC,EAAE,WAAW,EAAE,aAAa,EAAE,QAAQ,EAAE,QAAQ,EAAE,KAAK,EAAE,CAAC,EAAE,CAAC;SAClE,MAAM,CAAC,GAAG,CAAC,CAAC;IACjB,MAAM,GAAG,CAAC,OAAO;SACZ,IAAI,CAAC,IAAI,CAAC;SACV,IAAI,CAAC,EAAE,WAAW,EAAE,aAAa,EAAE,QAAQ,EAAE,IAAI,EAAE,MAAM,EAAE,CAAC,GAAG,CAAC,EAAE,CAAC;SACnE,MAAM,CAAC,GAAG,CAAC,CAAC;AACrB,CAAC,CAAC,CAAC;AAEH,IAAI,CAAC,4DAA4D,EAAE,KAAK,IAAI,EAAE;IAC1E,MAAM,GAAG,CAAC,OAAO;SACZ,IAAI,CAAC,IAAI,CAAC;SACV,IAAI,CAAC;QACF,WAAW,EAAE,6BAA6B;QAC1C,QAAQ,EAAE,QAAQ;QAClB,KAAK,EAAE,CAAC;KACX,CAAC;SACD,MAAM,CAAC,GAAG,CAAC,CAAC;AACrB,CAAC,CAAC,CAAC;AAEH,IAAI,CAAC,8DAA8D,EAAE,KAAK,IAAI,EAAE;IAC5E,MAAM,GAAG,CAAC,OAAO;SACZ,IAAI,CAAC,IAAI,CAAC;SACV,IAAI,CAAC;QACF,WAAW,EAAE,6BAA6B;QAC1C,QAAQ,EAAE,IAAI;QACd,KAAK,EAAE,CAAC;KACX,CAAC;SACD,MAAM,CAAC,GAAG,CAAC,CAAC;AACrB,CAAC,CAAC,CAAC"}
@@ -0,0 +1,5 @@
1
+ import type { IContextFieldStore } from '../../types/index.js';
2
+ import type { IConstraintsReadModel } from './constraints-read-model-type.js';
3
+ export declare const createConstraintsReadModel: (contextFieldStore: IContextFieldStore) => IConstraintsReadModel;
4
+ export declare const createFakeConstraintsReadModel: () => IConstraintsReadModel;
5
+ //# sourceMappingURL=createConstraintsReadModel.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"createConstraintsReadModel.d.ts","sourceRoot":"","sources":["../../../../src/lib/features/constraints/createConstraintsReadModel.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,kBAAkB,EAAE,MAAM,sBAAsB,CAAC;AAG/D,OAAO,KAAK,EAAE,qBAAqB,EAAE,MAAM,kCAAkC,CAAC;AAE9E,eAAO,MAAM,0BAA0B,GACnC,mBAAmB,kBAAkB,KACtC,qBAEF,CAAC;AAEF,eAAO,MAAM,8BAA8B,QAAO,qBAEjD,CAAC"}
@@ -0,0 +1,9 @@
1
+ import { ConstraintsReadModel } from './constraints-read-model.js';
2
+ import { FakeConstraintsReadModel } from './fake-constraints-read-model.js';
3
+ export const createConstraintsReadModel = (contextFieldStore) => {
4
+ return new ConstraintsReadModel(contextFieldStore);
5
+ };
6
+ export const createFakeConstraintsReadModel = () => {
7
+ return new FakeConstraintsReadModel();
8
+ };
9
+ //# sourceMappingURL=createConstraintsReadModel.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"createConstraintsReadModel.js","sourceRoot":"","sources":["../../../../src/lib/features/constraints/createConstraintsReadModel.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,oBAAoB,EAAE,MAAM,6BAA6B,CAAC;AACnE,OAAO,EAAE,wBAAwB,EAAE,MAAM,kCAAkC,CAAC;AAG5E,MAAM,CAAC,MAAM,0BAA0B,GAAG,CACtC,iBAAqC,EAChB,EAAE;IACvB,OAAO,IAAI,oBAAoB,CAAC,iBAAiB,CAAC,CAAC;AACvD,CAAC,CAAC;AAEF,MAAM,CAAC,MAAM,8BAA8B,GAAG,GAA0B,EAAE;IACtE,OAAO,IAAI,wBAAwB,EAAE,CAAC;AAC1C,CAAC,CAAC"}
@@ -0,0 +1,7 @@
1
+ import type { IConstraint } from '../../types/index.js';
2
+ import type { IConstraintsReadModel } from './constraints-read-model-type.js';
3
+ export declare class FakeConstraintsReadModel implements IConstraintsReadModel {
4
+ validateConstraints(constraints: IConstraint[]): Promise<IConstraint[]>;
5
+ validateConstraint(input: IConstraint): Promise<IConstraint>;
6
+ }
7
+ //# sourceMappingURL=fake-constraints-read-model.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"fake-constraints-read-model.d.ts","sourceRoot":"","sources":["../../../../src/lib/features/constraints/fake-constraints-read-model.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,WAAW,EAAE,MAAM,sBAAsB,CAAC;AACxD,OAAO,KAAK,EAAE,qBAAqB,EAAE,MAAM,kCAAkC,CAAC;AAE9E,qBAAa,wBAAyB,YAAW,qBAAqB;IACrD,mBAAmB,CAC5B,WAAW,EAAE,WAAW,EAAE,GAC3B,OAAO,CAAC,WAAW,EAAE,CAAC;IAKZ,kBAAkB,CAAC,KAAK,EAAE,WAAW,GAAG,OAAO,CAAC,WAAW,CAAC;CAI5E"}
@@ -0,0 +1,11 @@
1
+ export class FakeConstraintsReadModel {
2
+ async validateConstraints(constraints) {
3
+ // In the fake read model, we simply return the input constraints without any validation.
4
+ return constraints;
5
+ }
6
+ async validateConstraint(input) {
7
+ // In the fake read model, we simply return the input constraint without any validation.
8
+ return input;
9
+ }
10
+ }
11
+ //# sourceMappingURL=fake-constraints-read-model.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"fake-constraints-read-model.js","sourceRoot":"","sources":["../../../../src/lib/features/constraints/fake-constraints-read-model.ts"],"names":[],"mappings":"AAGA,MAAM,OAAO,wBAAwB;IAC1B,KAAK,CAAC,mBAAmB,CAC5B,WAA0B;QAE1B,yFAAyF;QACzF,OAAO,WAAW,CAAC;IACvB,CAAC;IAEM,KAAK,CAAC,kBAAkB,CAAC,KAAkB;QAC9C,wFAAwF;QACxF,OAAO,KAAK,CAAC;IACjB,CAAC;CACJ"}
@@ -1 +1 @@
1
- {"version":3,"file":"context.d.ts","sourceRoot":"","sources":["../../../../src/lib/features/context/context.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"context.d.ts","sourceRoot":"","sources":["../../../../src/lib/features/context/context.ts"],"names":[],"mappings":"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"}