unleash-server 7.5.1 → 7.6.2

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (466) hide show
  1. package/dist/lib/addons/feature-event-formatter-md-events.d.ts.map +1 -1
  2. package/dist/lib/addons/feature-event-formatter-md-events.js +16 -1
  3. package/dist/lib/addons/feature-event-formatter-md-events.js.map +1 -1
  4. package/dist/lib/addons/slack-app-definition.d.ts.map +1 -1
  5. package/dist/lib/addons/slack-app-definition.js +4 -1
  6. package/dist/lib/addons/slack-app-definition.js.map +1 -1
  7. package/dist/lib/app.d.ts.map +1 -1
  8. package/dist/lib/app.js +11 -25
  9. package/dist/lib/app.js.map +1 -1
  10. package/dist/lib/create-config.d.ts.map +1 -1
  11. package/dist/lib/create-config.js +3 -0
  12. package/dist/lib/create-config.js.map +1 -1
  13. package/dist/lib/db/api-token-store.d.ts +4 -1
  14. package/dist/lib/db/api-token-store.d.ts.map +1 -1
  15. package/dist/lib/db/api-token-store.js +17 -3
  16. package/dist/lib/db/api-token-store.js.map +1 -1
  17. package/dist/lib/error/bad-gateway-error.d.ts +7 -0
  18. package/dist/lib/error/bad-gateway-error.d.ts.map +1 -0
  19. package/dist/lib/error/bad-gateway-error.js +9 -0
  20. package/dist/lib/error/bad-gateway-error.js.map +1 -0
  21. package/dist/lib/error/gateway-timeout-error.d.ts +7 -0
  22. package/dist/lib/error/gateway-timeout-error.d.ts.map +1 -0
  23. package/dist/lib/error/gateway-timeout-error.js +9 -0
  24. package/dist/lib/error/gateway-timeout-error.js.map +1 -0
  25. package/dist/lib/error/index.d.ts +3 -1
  26. package/dist/lib/error/index.d.ts.map +1 -1
  27. package/dist/lib/error/index.js +3 -1
  28. package/dist/lib/error/index.js.map +1 -1
  29. package/dist/lib/error/unleash-error.d.ts +1 -1
  30. package/dist/lib/error/unleash-error.d.ts.map +1 -1
  31. package/dist/lib/error/unleash-error.js +2 -0
  32. package/dist/lib/error/unleash-error.js.map +1 -1
  33. package/dist/lib/events/index.d.ts +4 -1
  34. package/dist/lib/events/index.d.ts.map +1 -1
  35. package/dist/lib/events/index.js +6 -0
  36. package/dist/lib/events/index.js.map +1 -1
  37. package/dist/lib/features/client-feature-toggles/client-feature-toggle-store.d.ts.map +1 -1
  38. package/dist/lib/features/client-feature-toggles/client-feature-toggle-store.js +5 -0
  39. package/dist/lib/features/client-feature-toggles/client-feature-toggle-store.js.map +1 -1
  40. package/dist/lib/features/client-feature-toggles/client-feature-toggle-store.test.d.ts +2 -0
  41. package/dist/lib/features/client-feature-toggles/client-feature-toggle-store.test.d.ts.map +1 -0
  42. package/dist/lib/features/client-feature-toggles/client-feature-toggle-store.test.js +53 -0
  43. package/dist/lib/features/client-feature-toggles/client-feature-toggle-store.test.js.map +1 -0
  44. package/dist/lib/features/client-feature-toggles/delta/client-feature-toggle-delta-read-model.d.ts.map +1 -1
  45. package/dist/lib/features/client-feature-toggles/delta/client-feature-toggle-delta-read-model.js +5 -0
  46. package/dist/lib/features/client-feature-toggles/delta/client-feature-toggle-delta-read-model.js.map +1 -1
  47. package/dist/lib/features/client-feature-toggles/delta/client-feature-toggle-delta-read-model.test.d.ts +2 -0
  48. package/dist/lib/features/client-feature-toggles/delta/client-feature-toggle-delta-read-model.test.d.ts.map +1 -0
  49. package/dist/lib/features/client-feature-toggles/delta/client-feature-toggle-delta-read-model.test.js +59 -0
  50. package/dist/lib/features/client-feature-toggles/delta/client-feature-toggle-delta-read-model.test.js.map +1 -0
  51. package/dist/lib/features/client-feature-toggles/delta/client-feature-toggle-delta.d.ts +9 -3
  52. package/dist/lib/features/client-feature-toggles/delta/client-feature-toggle-delta.d.ts.map +1 -1
  53. package/dist/lib/features/client-feature-toggles/delta/client-feature-toggle-delta.js +165 -92
  54. package/dist/lib/features/client-feature-toggles/delta/client-feature-toggle-delta.js.map +1 -1
  55. package/dist/lib/features/client-feature-toggles/delta/client-feature-toggle-delta.test.js +475 -1
  56. package/dist/lib/features/client-feature-toggles/delta/client-feature-toggle-delta.test.js.map +1 -1
  57. package/dist/lib/features/client-feature-toggles/delta/delta-cache.d.ts.map +1 -1
  58. package/dist/lib/features/client-feature-toggles/delta/delta-cache.js +3 -0
  59. package/dist/lib/features/client-feature-toggles/delta/delta-cache.js.map +1 -1
  60. package/dist/lib/features/client-feature-toggles/delta/delta-cache.test.js +15 -0
  61. package/dist/lib/features/client-feature-toggles/delta/delta-cache.test.js.map +1 -1
  62. package/dist/lib/features/client-feature-toggles/delta/visible-revision.d.ts +3 -0
  63. package/dist/lib/features/client-feature-toggles/delta/visible-revision.d.ts.map +1 -0
  64. package/dist/lib/features/client-feature-toggles/delta/visible-revision.js +16 -0
  65. package/dist/lib/features/client-feature-toggles/delta/visible-revision.js.map +1 -0
  66. package/dist/lib/features/client-feature-toggles/delta/visible-revision.test.d.ts +2 -0
  67. package/dist/lib/features/client-feature-toggles/delta/visible-revision.test.d.ts.map +1 -0
  68. package/dist/lib/features/client-feature-toggles/delta/visible-revision.test.js +25 -0
  69. package/dist/lib/features/client-feature-toggles/delta/visible-revision.test.js.map +1 -0
  70. package/dist/lib/features/context/context.d.ts +0 -1
  71. package/dist/lib/features/context/context.d.ts.map +1 -1
  72. package/dist/lib/features/context/context.js +7 -15
  73. package/dist/lib/features/context/context.js.map +1 -1
  74. package/dist/lib/features/edgetokens/edge-token-store.d.ts +2 -0
  75. package/dist/lib/features/edgetokens/edge-token-store.d.ts.map +1 -1
  76. package/dist/lib/features/edgetokens/edge-token-store.js +20 -0
  77. package/dist/lib/features/edgetokens/edge-token-store.js.map +1 -1
  78. package/dist/lib/features/edgetokens/fake-edge-token-store.d.ts +2 -0
  79. package/dist/lib/features/edgetokens/fake-edge-token-store.d.ts.map +1 -1
  80. package/dist/lib/features/edgetokens/fake-edge-token-store.js +6 -0
  81. package/dist/lib/features/edgetokens/fake-edge-token-store.js.map +1 -1
  82. package/dist/lib/features/events/event-store.d.ts +2 -4
  83. package/dist/lib/features/events/event-store.d.ts.map +1 -1
  84. package/dist/lib/features/events/event-store.js +1 -4
  85. package/dist/lib/features/events/event-store.js.map +1 -1
  86. package/dist/lib/features/feature-search/feature-search-controller.d.ts.map +1 -1
  87. package/dist/lib/features/feature-search/feature-search-controller.js +2 -1
  88. package/dist/lib/features/feature-search/feature-search-controller.js.map +1 -1
  89. package/dist/lib/features/feature-search/feature-search-service.d.ts.map +1 -1
  90. package/dist/lib/features/feature-search/feature-search-service.js +5 -0
  91. package/dist/lib/features/feature-search/feature-search-service.js.map +1 -1
  92. package/dist/lib/features/feature-search/feature-search-store.d.ts.map +1 -1
  93. package/dist/lib/features/feature-search/feature-search-store.js +17 -1
  94. package/dist/lib/features/feature-search/feature-search-store.js.map +1 -1
  95. package/dist/lib/features/feature-search/feature.search.e2e.test.js +56 -1
  96. package/dist/lib/features/feature-search/feature.search.e2e.test.js.map +1 -1
  97. package/dist/lib/features/feature-toggle/configuration-revision-service.d.ts +1 -2
  98. package/dist/lib/features/feature-toggle/configuration-revision-service.d.ts.map +1 -1
  99. package/dist/lib/features/feature-toggle/configuration-revision-service.js +2 -10
  100. package/dist/lib/features/feature-toggle/configuration-revision-service.js.map +1 -1
  101. package/dist/lib/features/feature-toggle/feature-toggle-strategies-store.d.ts.map +1 -1
  102. package/dist/lib/features/feature-toggle/feature-toggle-strategies-store.js +3 -2
  103. package/dist/lib/features/feature-toggle/feature-toggle-strategies-store.js.map +1 -1
  104. package/dist/lib/features/feature-toggle/types/feature-toggle-strategies-store-type.d.ts +1 -0
  105. package/dist/lib/features/feature-toggle/types/feature-toggle-strategies-store-type.d.ts.map +1 -1
  106. package/dist/lib/features/frontend-api/frontend-api-service.d.ts.map +1 -1
  107. package/dist/lib/features/frontend-api/frontend-api-service.js +8 -0
  108. package/dist/lib/features/frontend-api/frontend-api-service.js.map +1 -1
  109. package/dist/lib/features/frontend-api/frontend-api.e2e.test.js +43 -0
  110. package/dist/lib/features/frontend-api/frontend-api.e2e.test.js.map +1 -1
  111. package/dist/lib/features/frontend-api/frontend-api.middleware.e2e.test.d.ts +3 -0
  112. package/dist/lib/features/frontend-api/frontend-api.middleware.e2e.test.d.ts.map +1 -0
  113. package/dist/lib/features/frontend-api/frontend-api.middleware.e2e.test.js +1071 -0
  114. package/dist/lib/features/frontend-api/frontend-api.middleware.e2e.test.js.map +1 -0
  115. package/dist/lib/features/index.d.ts +1 -0
  116. package/dist/lib/features/index.d.ts.map +1 -1
  117. package/dist/lib/features/index.js +1 -0
  118. package/dist/lib/features/index.js.map +1 -1
  119. package/dist/lib/features/instance-stats/instance-stats-service.d.ts.map +1 -1
  120. package/dist/lib/features/instance-stats/instance-stats-service.js +1 -3
  121. package/dist/lib/features/instance-stats/instance-stats-service.js.map +1 -1
  122. package/dist/lib/features/metrics/impact/impact-metrics.e2e.test.js +12 -12
  123. package/dist/lib/features/metrics/impact/impact-metrics.e2e.test.js.map +1 -1
  124. package/dist/lib/features/metrics/impact/metrics-translator.d.ts +5 -2
  125. package/dist/lib/features/metrics/impact/metrics-translator.d.ts.map +1 -1
  126. package/dist/lib/features/metrics/impact/metrics-translator.js +86 -102
  127. package/dist/lib/features/metrics/impact/metrics-translator.js.map +1 -1
  128. package/dist/lib/features/metrics/impact/metrics-translator.test.js +70 -112
  129. package/dist/lib/features/metrics/impact/metrics-translator.test.js.map +1 -1
  130. package/dist/lib/features/project/createProjectService.d.ts.map +1 -1
  131. package/dist/lib/features/project/createProjectService.js +6 -0
  132. package/dist/lib/features/project/createProjectService.js.map +1 -1
  133. package/dist/lib/features/project/project-service.d.ts +2 -1
  134. package/dist/lib/features/project/project-service.d.ts.map +1 -1
  135. package/dist/lib/features/project/project-service.js +3 -1
  136. package/dist/lib/features/project/project-service.js.map +1 -1
  137. package/dist/lib/features/project-environments/project-environments.e2e.test.js +37 -0
  138. package/dist/lib/features/project-environments/project-environments.e2e.test.js.map +1 -1
  139. package/dist/lib/features/release-plans/release-plan-milestone-strategy-service.d.ts.map +1 -1
  140. package/dist/lib/features/release-plans/release-plan-milestone-strategy-service.js +2 -5
  141. package/dist/lib/features/release-plans/release-plan-milestone-strategy-service.js.map +1 -1
  142. package/dist/lib/features/release-plans/release-plan-milestone-strategy-service.test.js +2 -2
  143. package/dist/lib/features/release-plans/release-plan-milestone-strategy-service.test.js.map +1 -1
  144. package/dist/lib/features/release-plans/release-plan-milestone-strategy-store.d.ts +2 -1
  145. package/dist/lib/features/release-plans/release-plan-milestone-strategy-store.d.ts.map +1 -1
  146. package/dist/lib/features/release-plans/release-plan-milestone-strategy-store.js +20 -3
  147. package/dist/lib/features/release-plans/release-plan-milestone-strategy-store.js.map +1 -1
  148. package/dist/lib/features/release-plans/release-plan-milestone-strategy.d.ts +2 -0
  149. package/dist/lib/features/release-plans/release-plan-milestone-strategy.d.ts.map +1 -1
  150. package/dist/lib/features/release-plans/release-plan-store.d.ts.map +1 -1
  151. package/dist/lib/features/release-plans/release-plan-store.js +2 -0
  152. package/dist/lib/features/release-plans/release-plan-store.js.map +1 -1
  153. package/dist/lib/features/release-plans/release-plan-template-store.d.ts.map +1 -1
  154. package/dist/lib/features/release-plans/release-plan-template-store.js +4 -3
  155. package/dist/lib/features/release-plans/release-plan-template-store.js.map +1 -1
  156. package/dist/lib/features/release-plans/release-plan-template-store.test.d.ts +2 -0
  157. package/dist/lib/features/release-plans/release-plan-template-store.test.d.ts.map +1 -0
  158. package/dist/lib/features/release-plans/release-plan-template-store.test.js +47 -0
  159. package/dist/lib/features/release-plans/release-plan-template-store.test.js.map +1 -0
  160. package/dist/lib/metric-events.d.ts +3 -2
  161. package/dist/lib/metric-events.d.ts.map +1 -1
  162. package/dist/lib/metric-events.js +2 -1
  163. package/dist/lib/metric-events.js.map +1 -1
  164. package/dist/lib/middleware/api-token-middleware.d.ts.map +1 -1
  165. package/dist/lib/middleware/api-token-middleware.js +1 -5
  166. package/dist/lib/middleware/api-token-middleware.js.map +1 -1
  167. package/dist/lib/middleware/api-token-middleware.test.js +35 -25
  168. package/dist/lib/middleware/api-token-middleware.test.js.map +1 -1
  169. package/dist/lib/middleware/backend-token-middleware.d.ts +5 -0
  170. package/dist/lib/middleware/backend-token-middleware.d.ts.map +1 -0
  171. package/dist/lib/middleware/backend-token-middleware.js +61 -0
  172. package/dist/lib/middleware/backend-token-middleware.js.map +1 -0
  173. package/dist/lib/middleware/backend-token-middleware.test.d.ts +2 -0
  174. package/dist/lib/middleware/backend-token-middleware.test.d.ts.map +1 -0
  175. package/dist/lib/middleware/backend-token-middleware.test.js +73 -0
  176. package/dist/lib/middleware/backend-token-middleware.test.js.map +1 -0
  177. package/dist/lib/middleware/conditional-middleware.d.ts +20 -0
  178. package/dist/lib/middleware/conditional-middleware.d.ts.map +1 -1
  179. package/dist/lib/middleware/conditional-middleware.js +26 -0
  180. package/dist/lib/middleware/conditional-middleware.js.map +1 -1
  181. package/dist/lib/middleware/conditional-middleware.test.d.ts +2 -0
  182. package/dist/lib/middleware/conditional-middleware.test.d.ts.map +1 -0
  183. package/dist/lib/middleware/conditional-middleware.test.js +31 -0
  184. package/dist/lib/middleware/conditional-middleware.test.js.map +1 -0
  185. package/dist/lib/middleware/frontend-token-middleware.d.ts +5 -0
  186. package/dist/lib/middleware/frontend-token-middleware.d.ts.map +1 -0
  187. package/dist/lib/middleware/frontend-token-middleware.js +61 -0
  188. package/dist/lib/middleware/frontend-token-middleware.js.map +1 -0
  189. package/dist/lib/middleware/user-token-client-api-logger-middleware.js +1 -1
  190. package/dist/lib/middleware/user-token-client-api-logger-middleware.js.map +1 -1
  191. package/dist/lib/openapi/spec/event-schema.d.ts +1 -1
  192. package/dist/lib/openapi/spec/event-search-response-schema.d.ts +1 -1
  193. package/dist/lib/openapi/spec/events-schema.d.ts +1 -1
  194. package/dist/lib/openapi/spec/export-result-schema.d.ts +1018 -100
  195. package/dist/lib/openapi/spec/export-result-schema.d.ts.map +1 -1
  196. package/dist/lib/openapi/spec/export-result-schema.js +4 -2
  197. package/dist/lib/openapi/spec/export-result-schema.js.map +1 -1
  198. package/dist/lib/openapi/spec/feature-environment-safeguard-schema.d.ts +168 -0
  199. package/dist/lib/openapi/spec/feature-environment-safeguard-schema.d.ts.map +1 -0
  200. package/dist/lib/openapi/spec/feature-environment-safeguard-schema.js +66 -0
  201. package/dist/lib/openapi/spec/feature-environment-safeguard-schema.js.map +1 -0
  202. package/dist/lib/openapi/spec/feature-environment-schema.d.ts +265 -7
  203. package/dist/lib/openapi/spec/feature-environment-schema.d.ts.map +1 -1
  204. package/dist/lib/openapi/spec/feature-environment-schema.js +13 -0
  205. package/dist/lib/openapi/spec/feature-environment-schema.js.map +1 -1
  206. package/dist/lib/openapi/spec/feature-events-schema.d.ts +1 -1
  207. package/dist/lib/openapi/spec/feature-schema.d.ts +475 -16
  208. package/dist/lib/openapi/spec/feature-schema.d.ts.map +1 -1
  209. package/dist/lib/openapi/spec/feature-schema.js +4 -2
  210. package/dist/lib/openapi/spec/feature-schema.js.map +1 -1
  211. package/dist/lib/openapi/spec/feature-search-environment-schema.d.ts +688 -14
  212. package/dist/lib/openapi/spec/feature-search-environment-schema.d.ts.map +1 -1
  213. package/dist/lib/openapi/spec/feature-search-environment-schema.js +8 -0
  214. package/dist/lib/openapi/spec/feature-search-environment-schema.js.map +1 -1
  215. package/dist/lib/openapi/spec/feature-search-query-parameters.d.ts +10 -1
  216. package/dist/lib/openapi/spec/feature-search-query-parameters.d.ts.map +1 -1
  217. package/dist/lib/openapi/spec/feature-search-query-parameters.js +10 -0
  218. package/dist/lib/openapi/spec/feature-search-query-parameters.js.map +1 -1
  219. package/dist/lib/openapi/spec/feature-search-response-schema.d.ts +8097 -155
  220. package/dist/lib/openapi/spec/feature-search-response-schema.d.ts.map +1 -1
  221. package/dist/lib/openapi/spec/feature-search-response-schema.js +22 -0
  222. package/dist/lib/openapi/spec/feature-search-response-schema.js.map +1 -1
  223. package/dist/lib/openapi/spec/health-overview-schema.d.ts +1336 -210
  224. package/dist/lib/openapi/spec/health-overview-schema.d.ts.map +1 -1
  225. package/dist/lib/openapi/spec/health-overview-schema.js +8 -0
  226. package/dist/lib/openapi/spec/health-overview-schema.js.map +1 -1
  227. package/dist/lib/openapi/spec/health-report-schema.d.ts +1336 -210
  228. package/dist/lib/openapi/spec/health-report-schema.d.ts.map +1 -1
  229. package/dist/lib/openapi/spec/import-toggles-schema.d.ts +2 -2
  230. package/dist/lib/openapi/spec/import-toggles-schema.d.ts.map +1 -1
  231. package/dist/lib/openapi/spec/import-toggles-schema.js +4 -2
  232. package/dist/lib/openapi/spec/import-toggles-schema.js.map +1 -1
  233. package/dist/lib/openapi/spec/index.d.ts +4 -2
  234. package/dist/lib/openapi/spec/index.d.ts.map +1 -1
  235. package/dist/lib/openapi/spec/index.js +4 -2
  236. package/dist/lib/openapi/spec/index.js.map +1 -1
  237. package/dist/lib/openapi/spec/integration-event-schema.d.ts +1 -1
  238. package/dist/lib/openapi/spec/integration-events-schema.d.ts +2 -2
  239. package/dist/lib/openapi/spec/metric-query-schema.d.ts +6 -0
  240. package/dist/lib/openapi/spec/metric-query-schema.d.ts.map +1 -1
  241. package/dist/lib/openapi/spec/metric-query-schema.js +6 -0
  242. package/dist/lib/openapi/spec/metric-query-schema.js.map +1 -1
  243. package/dist/lib/openapi/spec/profile-schema.d.ts +475 -16
  244. package/dist/lib/openapi/spec/profile-schema.d.ts.map +1 -1
  245. package/dist/lib/openapi/spec/project-overview-schema.d.ts +1336 -210
  246. package/dist/lib/openapi/spec/project-overview-schema.d.ts.map +1 -1
  247. package/dist/lib/openapi/spec/project-overview-schema.js +8 -0
  248. package/dist/lib/openapi/spec/project-overview-schema.js.map +1 -1
  249. package/dist/lib/openapi/spec/release-plan-milestone-schema.d.ts +1 -1
  250. package/dist/lib/openapi/spec/release-plan-milestone-strategy-schema.d.ts +1 -1
  251. package/dist/lib/openapi/spec/release-plan-milestone-strategy-schema.js +1 -1
  252. package/dist/lib/openapi/spec/release-plan-milestone-strategy-schema.js.map +1 -1
  253. package/dist/lib/openapi/spec/{safeguard-schema.d.ts → release-plan-safeguard-schema.d.ts} +16 -4
  254. package/dist/lib/openapi/spec/release-plan-safeguard-schema.d.ts.map +1 -0
  255. package/dist/lib/openapi/spec/{safeguard-schema.js → release-plan-safeguard-schema.js} +3 -3
  256. package/dist/lib/openapi/spec/release-plan-safeguard-schema.js.map +1 -0
  257. package/dist/lib/openapi/spec/release-plan-schema.d.ts +23 -5
  258. package/dist/lib/openapi/spec/release-plan-schema.d.ts.map +1 -1
  259. package/dist/lib/openapi/spec/release-plan-schema.js +3 -3
  260. package/dist/lib/openapi/spec/release-plan-schema.js.map +1 -1
  261. package/dist/lib/openapi/spec/release-plan-template-schema.d.ts +2 -2
  262. package/dist/lib/openapi/spec/release-plan-templates-schema.d.ts +2897 -0
  263. package/dist/lib/openapi/spec/release-plan-templates-schema.d.ts.map +1 -0
  264. package/dist/lib/openapi/spec/release-plan-templates-schema.js +29 -0
  265. package/dist/lib/openapi/spec/release-plan-templates-schema.js.map +1 -0
  266. package/dist/lib/openapi/spec/release-plans-schema.d.ts +45 -9
  267. package/dist/lib/openapi/spec/release-plans-schema.d.ts.map +1 -1
  268. package/dist/lib/openapi/spec/release-plans-schema.js +2 -2
  269. package/dist/lib/openapi/spec/release-plans-schema.js.map +1 -1
  270. package/dist/lib/openapi/spec/search-features-schema.d.ts +13694 -5078
  271. package/dist/lib/openapi/spec/search-features-schema.d.ts.map +1 -1
  272. package/dist/lib/routes/admin-api/api-token.js +1 -1
  273. package/dist/lib/routes/admin-api/api-token.js.map +1 -1
  274. package/dist/lib/routes/admin-api/project/api-token.js +1 -1
  275. package/dist/lib/routes/admin-api/project/api-token.js.map +1 -1
  276. package/dist/lib/routes/logout.js +1 -1
  277. package/dist/lib/routes/logout.js.map +1 -1
  278. package/dist/lib/routes/logout.test.js +4 -4
  279. package/dist/lib/routes/logout.test.js.map +1 -1
  280. package/dist/lib/schema/api-token-schema.d.ts.map +1 -1
  281. package/dist/lib/schema/api-token-schema.js +1 -0
  282. package/dist/lib/schema/api-token-schema.js.map +1 -1
  283. package/dist/lib/server-impl.d.ts +5 -5
  284. package/dist/lib/server-impl.d.ts.map +1 -1
  285. package/dist/lib/server-impl.js +3 -3
  286. package/dist/lib/server-impl.js.map +1 -1
  287. package/dist/lib/services/api-token-service.d.ts +2 -2
  288. package/dist/lib/services/api-token-service.d.ts.map +1 -1
  289. package/dist/lib/services/api-token-service.js +5 -3
  290. package/dist/lib/services/api-token-service.js.map +1 -1
  291. package/dist/lib/services/api-token-service.test.js +5 -4
  292. package/dist/lib/services/api-token-service.test.js.map +1 -1
  293. package/dist/lib/services/edge-service.d.ts +1 -0
  294. package/dist/lib/services/edge-service.d.ts.map +1 -1
  295. package/dist/lib/services/edge-service.js +5 -2
  296. package/dist/lib/services/edge-service.js.map +1 -1
  297. package/dist/lib/services/user-service.d.ts.map +1 -1
  298. package/dist/lib/services/user-service.js +0 -4
  299. package/dist/lib/services/user-service.js.map +1 -1
  300. package/dist/lib/types/experimental.d.ts +1 -1
  301. package/dist/lib/types/experimental.d.ts.map +1 -1
  302. package/dist/lib/types/experimental.js +7 -8
  303. package/dist/lib/types/experimental.js.map +1 -1
  304. package/dist/lib/types/model.d.ts +2 -1
  305. package/dist/lib/types/model.d.ts.map +1 -1
  306. package/dist/lib/types/model.js.map +1 -1
  307. package/dist/lib/types/option.d.ts +2 -0
  308. package/dist/lib/types/option.d.ts.map +1 -1
  309. package/dist/lib/types/stores/api-token-store.d.ts +2 -1
  310. package/dist/lib/types/stores/api-token-store.d.ts.map +1 -1
  311. package/dist/lib/types/stores/edge-store.d.ts +2 -0
  312. package/dist/lib/types/stores/edge-store.d.ts.map +1 -1
  313. package/dist/lib/types/stores/event-store.d.ts +1 -1
  314. package/dist/lib/types/stores/event-store.d.ts.map +1 -1
  315. package/dist/lib/util/clone-db-config.d.ts +3 -0
  316. package/dist/lib/util/clone-db-config.d.ts.map +1 -0
  317. package/dist/lib/util/clone-db-config.js +18 -0
  318. package/dist/lib/util/clone-db-config.js.map +1 -0
  319. package/dist/lib/util/clone-db-config.test.d.ts +2 -0
  320. package/dist/lib/util/clone-db-config.test.d.ts.map +1 -0
  321. package/dist/lib/util/clone-db-config.test.js +40 -0
  322. package/dist/lib/util/clone-db-config.test.js.map +1 -0
  323. package/dist/lib/util/db-lock.d.ts.map +1 -1
  324. package/dist/lib/util/db-lock.js +2 -3
  325. package/dist/lib/util/db-lock.js.map +1 -1
  326. package/dist/lib/util/sortStrategies.d.ts +1 -1
  327. package/dist/lib/util/sortStrategies.d.ts.map +1 -1
  328. package/dist/lib/util/sortStrategies.js +6 -2
  329. package/dist/lib/util/sortStrategies.js.map +1 -1
  330. package/dist/lib/util/sortStrategies.test.js +21 -0
  331. package/dist/lib/util/sortStrategies.test.js.map +1 -1
  332. package/dist/migrations/20260309125735-drop-cascade-for-edge-api-token.d.ts +3 -0
  333. package/dist/migrations/20260309125735-drop-cascade-for-edge-api-token.d.ts.map +1 -0
  334. package/dist/migrations/20260309125735-drop-cascade-for-edge-api-token.js +15 -0
  335. package/dist/migrations/20260309125735-drop-cascade-for-edge-api-token.js.map +1 -0
  336. package/dist/migrations/20260310134100-split-safeguards-table.d.ts +3 -0
  337. package/dist/migrations/20260310134100-split-safeguards-table.d.ts.map +1 -0
  338. package/dist/migrations/20260310134100-split-safeguards-table.js +31 -0
  339. package/dist/migrations/20260310134100-split-safeguards-table.js.map +1 -0
  340. package/dist/migrations/20260311073041-migrate-safeguards-data.d.ts +3 -0
  341. package/dist/migrations/20260311073041-migrate-safeguards-data.d.ts.map +1 -0
  342. package/dist/migrations/20260311073041-migrate-safeguards-data.js +42 -0
  343. package/dist/migrations/20260311073041-migrate-safeguards-data.js.map +1 -0
  344. package/dist/migrations/20260312100000-release-plans-fix-cascade-on-env-disconnect.d.ts +3 -0
  345. package/dist/migrations/20260312100000-release-plans-fix-cascade-on-env-disconnect.d.ts.map +1 -0
  346. package/dist/migrations/20260312100000-release-plans-fix-cascade-on-env-disconnect.js +31 -0
  347. package/dist/migrations/20260312100000-release-plans-fix-cascade-on-env-disconnect.js.map +1 -0
  348. package/dist/migrations/20260316113111-update-memory-usage-to-big-int.d.ts +3 -0
  349. package/dist/migrations/20260316113111-update-memory-usage-to-big-int.d.ts.map +1 -0
  350. package/dist/migrations/20260316113111-update-memory-usage-to-big-int.js +8 -0
  351. package/dist/migrations/20260316113111-update-memory-usage-to-big-int.js.map +1 -0
  352. package/dist/migrations/20260316140000-safeguards-fix-cascade-on-env-disconnect.d.ts +3 -0
  353. package/dist/migrations/20260316140000-safeguards-fix-cascade-on-env-disconnect.d.ts.map +1 -0
  354. package/dist/migrations/20260316140000-safeguards-fix-cascade-on-env-disconnect.js +54 -0
  355. package/dist/migrations/20260316140000-safeguards-fix-cascade-on-env-disconnect.js.map +1 -0
  356. package/dist/migrations/20260317140000-safeguards-drop-project-not-null.d.ts +3 -0
  357. package/dist/migrations/20260317140000-safeguards-drop-project-not-null.d.ts.map +1 -0
  358. package/dist/migrations/20260317140000-safeguards-drop-project-not-null.js +21 -0
  359. package/dist/migrations/20260317140000-safeguards-drop-project-not-null.js.map +1 -0
  360. package/dist/migrations/20260318100000-safeguards-drop-project-column.d.ts +3 -0
  361. package/dist/migrations/20260318100000-safeguards-drop-project-column.d.ts.map +1 -0
  362. package/dist/migrations/20260318100000-safeguards-drop-project-column.js +14 -0
  363. package/dist/migrations/20260318100000-safeguards-drop-project-column.js.map +1 -0
  364. package/dist/migrations/20260406132537-user-access-requests.d.ts +3 -0
  365. package/dist/migrations/20260406132537-user-access-requests.d.ts.map +1 -0
  366. package/dist/migrations/20260406132537-user-access-requests.js +16 -0
  367. package/dist/migrations/20260406132537-user-access-requests.js.map +1 -0
  368. package/dist/migrations/20260406161629-user-access-requests-unique-email.d.ts +3 -0
  369. package/dist/migrations/20260406161629-user-access-requests-unique-email.d.ts.map +1 -0
  370. package/dist/migrations/20260406161629-user-access-requests-unique-email.js +14 -0
  371. package/dist/migrations/20260406161629-user-access-requests-unique-email.js.map +1 -0
  372. package/dist/migrator.d.ts.map +1 -1
  373. package/dist/migrator.js +4 -3
  374. package/dist/migrator.js.map +1 -1
  375. package/dist/server-dev.js +4 -7
  376. package/dist/server-dev.js.map +1 -1
  377. package/dist/test/e2e/api/admin/api-token.auth.e2e.test.js +5 -5
  378. package/dist/test/e2e/api/admin/api-token.auth.e2e.test.js.map +1 -1
  379. package/dist/test/e2e/api/admin/api-token.e2e.test.js +3 -2
  380. package/dist/test/e2e/api/admin/api-token.e2e.test.js.map +1 -1
  381. package/dist/test/e2e/api/admin/conditional-middleware.e2e.test.js +106 -38
  382. package/dist/test/e2e/api/admin/conditional-middleware.e2e.test.js.map +1 -1
  383. package/dist/test/e2e/api/admin/context-api-include-query-params.e2e.test.js +1 -7
  384. package/dist/test/e2e/api/admin/context-api-include-query-params.e2e.test.js.map +1 -1
  385. package/dist/test/e2e/api/admin/project/api-token.e2e.test.js +2 -1
  386. package/dist/test/e2e/api/admin/project/api-token.e2e.test.js.map +1 -1
  387. package/dist/test/e2e/api/admin/project/project.api.tokens.e2e.test.js +5 -5
  388. package/dist/test/e2e/api/admin/project/project.api.tokens.e2e.test.js.map +1 -1
  389. package/dist/test/e2e/api/admin/project-context.e2e.test.js +1 -7
  390. package/dist/test/e2e/api/admin/project-context.e2e.test.js.map +1 -1
  391. package/dist/test/e2e/api/client/feature.token.access.e2e.test.js +34 -1
  392. package/dist/test/e2e/api/client/feature.token.access.e2e.test.js.map +1 -1
  393. package/dist/test/e2e/services/api-token-service.e2e.test.js +21 -6
  394. package/dist/test/e2e/services/api-token-service.e2e.test.js.map +1 -1
  395. package/dist/test/e2e/services/edge-service.e2e.test.js +4 -3
  396. package/dist/test/e2e/services/edge-service.e2e.test.js.map +1 -1
  397. package/dist/test/e2e/stores/api-token-store.e2e.test.js +15 -14
  398. package/dist/test/e2e/stores/api-token-store.e2e.test.js.map +1 -1
  399. package/dist/test/e2e/stores/event-store.e2e.test.js +8 -9
  400. package/dist/test/e2e/stores/event-store.e2e.test.js.map +1 -1
  401. package/dist/test/fixtures/fake-api-token-store.d.ts +2 -1
  402. package/dist/test/fixtures/fake-api-token-store.d.ts.map +1 -1
  403. package/dist/test/fixtures/fake-api-token-store.js +4 -1
  404. package/dist/test/fixtures/fake-api-token-store.js.map +1 -1
  405. package/dist/test/fixtures/fake-event-store.d.ts +1 -1
  406. package/dist/test/fixtures/fake-event-store.d.ts.map +1 -1
  407. package/dist/test/fixtures/fake-event-store.js +1 -1
  408. package/dist/test/fixtures/fake-event-store.js.map +1 -1
  409. package/dist/test/fixtures/fake-release-plan-milestone-strategy-store.d.ts +2 -2
  410. package/dist/test/fixtures/fake-release-plan-milestone-strategy-store.d.ts.map +1 -1
  411. package/dist/test/fixtures/fake-release-plan-milestone-strategy-store.js +3 -2
  412. package/dist/test/fixtures/fake-release-plan-milestone-strategy-store.js.map +1 -1
  413. package/frontend/build/index.html +1 -1
  414. package/frontend/build/static/AdvancedPlayground-BTPrG6RW.js +3 -0
  415. package/frontend/build/static/BackendConnections-CRh8Vxoe.js +1 -0
  416. package/frontend/build/static/{CreateProject-DV-Ad8Sn.js → CreateProject-DEMalH1j.js} +1 -1
  417. package/frontend/build/static/EnterpriseEdge-Cp-pGMa0.js +6 -0
  418. package/frontend/build/static/FeatureMetricsChart-DQOE71LA.js +2 -0
  419. package/frontend/build/static/FeatureStaleDialog-B6BfnDiQ.js +689 -0
  420. package/frontend/build/static/{FeatureViewLazyExport-Bsw7-knb.js → FeatureViewLazyExport-BkNTNFqK.js} +4 -7
  421. package/frontend/build/static/FlagMetricsChart-zYDF9bet.js +2 -0
  422. package/frontend/build/static/FrontendNetworkTrafficUsage-CbxdFXH7.js +1 -0
  423. package/frontend/build/static/GridLayoutWrapper-Cq6Bzm36.js +3 -0
  424. package/frontend/build/static/ImpactMetricsPage-CFYXYXPb.js +1 -0
  425. package/frontend/build/static/LazyAdminExport-ByTh4iFa.js +38 -0
  426. package/frontend/build/static/LazyProjectExport-K12Xy3w9.js +46 -0
  427. package/frontend/build/static/{LifecycleChartComponent-cxR-TN3V.js → LifecycleChartComponent-DHvlFNd2.js} +3 -3
  428. package/frontend/build/static/LineChartComponent-BlhKm3cw.js +1 -0
  429. package/frontend/build/static/MarkCompletedDialogue-apmlFjVY.js +1 -0
  430. package/frontend/build/static/{NetworkOverview-DxaPXUzZ.js → NetworkOverview-BiLOuQ4c.js} +1 -1
  431. package/frontend/build/static/{NetworkPrometheusAPIWarning-ltyTlXFF.js → NetworkPrometheusAPIWarning-CYo3j2Tj.js} +1 -1
  432. package/frontend/build/static/{NetworkTraffic-Dhw4yIBs.js → NetworkTraffic-DONL5oIx.js} +1 -1
  433. package/frontend/build/static/NetworkTrafficUsage-DjQiYq0S.js +1 -0
  434. package/frontend/build/static/{PercentageDonut-JGNh2FVZ.js → PercentageDonut-CA9hYg3v.js} +1 -1
  435. package/frontend/build/static/{ReactJSONEditor-GHl7KvdS.js → ReactJSONEditor-9cJL1vJY.js} +31 -31
  436. package/frontend/build/static/{RoleCell-CjVCxBgl.js → RoleCell-ZzU5Oqy8.js} +1 -1
  437. package/frontend/build/static/Safeguard-DY1N4aPz.js +1 -0
  438. package/frontend/build/static/aggregateFeatureMetrics-D6bHft_C.js +1 -0
  439. package/frontend/build/static/{formatTickValue-BZb4ZIL9.js → formatTickValue-BcLsqREh.js} +2 -2
  440. package/frontend/build/static/{index-DcWBU_a4.js → index-B87DWXbl.js} +1 -1
  441. package/frontend/build/static/index-CoLhlfXP.js +565 -0
  442. package/frontend/build/static/loginBackground-CQx0IRYc.png +0 -0
  443. package/frontend/build/static/{networkTrafficUsageHighlightPlugin-BbfAyDiQ.js → networkTrafficUsageHighlightPlugin-CqEM-cK_.js} +1 -1
  444. package/frontend/build/static/passwordSuccess-fcvTEYOw.png +0 -0
  445. package/frontend/build/static/useApiTokens-ClWvohC9.js +1 -0
  446. package/frontend/package.json +50 -42
  447. package/package.json +11 -10
  448. package/dist/lib/openapi/spec/safeguard-schema.d.ts.map +0 -1
  449. package/dist/lib/openapi/spec/safeguard-schema.js.map +0 -1
  450. package/frontend/build/static/AdvancedPlayground-CF0hkpiE.js +0 -3
  451. package/frontend/build/static/BackendConnections-DhZczar-.js +0 -1
  452. package/frontend/build/static/EnterpriseEdge-D1To2ugP.js +0 -3
  453. package/frontend/build/static/FeatureMetricsChart-D8sRgx5P.js +0 -2
  454. package/frontend/build/static/FeatureStaleDialog-DOkhgvaj.js +0 -7
  455. package/frontend/build/static/FlagMetricsChart-CF_kEyQa.js +0 -2
  456. package/frontend/build/static/FrontendNetworkTrafficUsage-C8zJSvoc.js +0 -1
  457. package/frontend/build/static/GridLayoutWrapper-DpJcUbQB.js +0 -3
  458. package/frontend/build/static/ImpactMetricsPage-KLVv-tP4.js +0 -1
  459. package/frontend/build/static/LazyAdminExport-CWQiknO-.js +0 -38
  460. package/frontend/build/static/LazyProjectExport-DsMn4Yxm.js +0 -728
  461. package/frontend/build/static/LineChartComponent-_yZEp3dd.js +0 -1
  462. package/frontend/build/static/MarkCompletedDialogue-DFtLyDN0.js +0 -1
  463. package/frontend/build/static/NetworkTrafficUsage-deKWRhIS.js +0 -1
  464. package/frontend/build/static/aggregateFeatureMetrics-YEdZNNoV.js +0 -1
  465. package/frontend/build/static/index-DMSjiFEm.js +0 -583
  466. package/frontend/build/static/useApiTokens-DBB3NvXL.js +0 -1
@@ -439,6 +439,13 @@ export declare const profileSchema: {
439
439
  readonly $ref: "#/components/schemas/releasePlanSchema";
440
440
  };
441
441
  };
442
+ readonly safeguards: {
443
+ readonly type: "array";
444
+ readonly description: "Safeguards for this feature environment";
445
+ readonly items: {
446
+ readonly $ref: "#/components/schemas/featureEnvironmentSafeguardSchema";
447
+ };
448
+ };
442
449
  readonly yes: {
443
450
  readonly type: "integer";
444
451
  readonly description: "How many times the feature evaluated to true (enabled)";
@@ -897,7 +904,7 @@ export declare const profileSchema: {
897
904
  readonly type: "array";
898
905
  readonly description: "An array of safeguards configured for this release plan.";
899
906
  readonly items: {
900
- readonly $ref: "#/components/schemas/safeguardSchema";
907
+ readonly $ref: "#/components/schemas/releasePlanSafeguardSchema";
901
908
  };
902
909
  };
903
910
  };
@@ -982,7 +989,7 @@ export declare const profileSchema: {
982
989
  readonly additionalProperties: false;
983
990
  readonly description: "Schema representing the creation of a release plan milestone strategy.";
984
991
  readonly type: "object";
985
- readonly required: readonly ["id", "milestoneId", "sortOrder", "strategyName"];
992
+ readonly required: readonly ["id", "milestoneId", "sortOrder", "name", "strategyName"];
986
993
  readonly properties: {
987
994
  readonly id: {
988
995
  readonly type: "string";
@@ -1651,7 +1658,7 @@ export declare const profileSchema: {
1651
1658
  readonly additionalProperties: false;
1652
1659
  readonly description: "Schema representing the creation of a release plan milestone strategy.";
1653
1660
  readonly type: "object";
1654
- readonly required: readonly ["id", "milestoneId", "sortOrder", "strategyName"];
1661
+ readonly required: readonly ["id", "milestoneId", "sortOrder", "name", "strategyName"];
1655
1662
  readonly properties: {
1656
1663
  readonly id: {
1657
1664
  readonly type: "string";
@@ -2312,8 +2319,8 @@ export declare const profileSchema: {
2312
2319
  };
2313
2320
  readonly components: {};
2314
2321
  };
2315
- readonly safeguardSchema: {
2316
- readonly $id: "#/components/schemas/safeguardSchema";
2322
+ readonly releasePlanSafeguardSchema: {
2323
+ readonly $id: "#/components/schemas/releasePlanSafeguardSchema";
2317
2324
  readonly type: "object";
2318
2325
  readonly required: readonly ["id", "action", "triggerCondition", "impactMetric"];
2319
2326
  readonly description: "A safeguard configuration for a release plan.";
@@ -2382,6 +2389,12 @@ export declare const profileSchema: {
2382
2389
  readonly project: readonly ["default"];
2383
2390
  };
2384
2391
  };
2392
+ readonly source: {
2393
+ readonly type: "string";
2394
+ readonly enum: readonly ["internal", "external"];
2395
+ readonly description: "The Prometheus data source for this metric. Internal is the Unleash-managed Prometheus, external is a customer-provided Prometheus instance. Defaults to internal if not specified.";
2396
+ readonly example: "internal";
2397
+ };
2385
2398
  readonly id: {
2386
2399
  readonly type: "string";
2387
2400
  readonly description: "The unique identifier for this impact metric";
@@ -2431,6 +2444,12 @@ export declare const profileSchema: {
2431
2444
  readonly project: readonly ["default"];
2432
2445
  };
2433
2446
  };
2447
+ readonly source: {
2448
+ readonly type: "string";
2449
+ readonly enum: readonly ["internal", "external"];
2450
+ readonly description: "The Prometheus data source for this metric. Internal is the Unleash-managed Prometheus, external is a customer-provided Prometheus instance. Defaults to internal if not specified.";
2451
+ readonly example: "internal";
2452
+ };
2434
2453
  };
2435
2454
  readonly components: {};
2436
2455
  };
@@ -2496,6 +2515,12 @@ export declare const profileSchema: {
2496
2515
  readonly project: readonly ["default"];
2497
2516
  };
2498
2517
  };
2518
+ readonly source: {
2519
+ readonly type: "string";
2520
+ readonly enum: readonly ["internal", "external"];
2521
+ readonly description: "The Prometheus data source for this metric. Internal is the Unleash-managed Prometheus, external is a customer-provided Prometheus instance. Defaults to internal if not specified.";
2522
+ readonly example: "internal";
2523
+ };
2499
2524
  };
2500
2525
  readonly components: {};
2501
2526
  };
@@ -2602,7 +2627,7 @@ export declare const profileSchema: {
2602
2627
  readonly additionalProperties: false;
2603
2628
  readonly description: "Schema representing the creation of a release plan milestone strategy.";
2604
2629
  readonly type: "object";
2605
- readonly required: readonly ["id", "milestoneId", "sortOrder", "strategyName"];
2630
+ readonly required: readonly ["id", "milestoneId", "sortOrder", "name", "strategyName"];
2606
2631
  readonly properties: {
2607
2632
  readonly id: {
2608
2633
  readonly type: "string";
@@ -3271,7 +3296,7 @@ export declare const profileSchema: {
3271
3296
  readonly additionalProperties: false;
3272
3297
  readonly description: "Schema representing the creation of a release plan milestone strategy.";
3273
3298
  readonly type: "object";
3274
- readonly required: readonly ["id", "milestoneId", "sortOrder", "strategyName"];
3299
+ readonly required: readonly ["id", "milestoneId", "sortOrder", "name", "strategyName"];
3275
3300
  readonly properties: {
3276
3301
  readonly id: {
3277
3302
  readonly type: "string";
@@ -3879,6 +3904,239 @@ export declare const profileSchema: {
3879
3904
  };
3880
3905
  readonly components: {};
3881
3906
  };
3907
+ readonly featureEnvironmentSafeguardSchema: {
3908
+ readonly $id: "#/components/schemas/featureEnvironmentSafeguardSchema";
3909
+ readonly type: "object";
3910
+ readonly required: readonly ["id", "action", "triggerCondition", "impactMetric"];
3911
+ readonly description: "A safeguard configuration for a feature environment.";
3912
+ readonly additionalProperties: false;
3913
+ readonly properties: {
3914
+ readonly id: {
3915
+ readonly type: "string";
3916
+ readonly description: "The unique ULID identifier for this safeguard";
3917
+ readonly example: "01JB9GGTGQYEQ9D40R17T3YVW1";
3918
+ };
3919
+ readonly action: {
3920
+ readonly type: "object";
3921
+ readonly required: readonly ["type", "featureName", "environment", "project"];
3922
+ readonly additionalProperties: false;
3923
+ readonly description: "Disable a feature in an environment when triggered.";
3924
+ readonly properties: {
3925
+ readonly type: {
3926
+ readonly type: "string";
3927
+ readonly description: "The type of action to perform.";
3928
+ readonly example: "disableFeatureEnvironment";
3929
+ };
3930
+ readonly featureName: {
3931
+ readonly type: "string";
3932
+ readonly description: "The feature flag name this safeguard applies to.";
3933
+ };
3934
+ readonly environment: {
3935
+ readonly type: "string";
3936
+ readonly description: "The environment this safeguard applies to.";
3937
+ };
3938
+ readonly project: {
3939
+ readonly type: "string";
3940
+ readonly description: "The project this safeguard applies to.";
3941
+ };
3942
+ };
3943
+ };
3944
+ readonly triggerCondition: {
3945
+ readonly $ref: "#/components/schemas/safeguardTriggerConditionSchema";
3946
+ readonly description: "The condition that triggers the safeguard.";
3947
+ };
3948
+ readonly impactMetric: {
3949
+ readonly type: "object";
3950
+ readonly required: readonly ["id", "metricName", "timeRange", "aggregationMode", "labelSelectors"];
3951
+ readonly additionalProperties: false;
3952
+ readonly properties: {
3953
+ readonly metricName: {
3954
+ readonly type: "string";
3955
+ readonly description: "The Prometheus metric series to query. It includes both unleash prefix and metric type and display name";
3956
+ readonly example: "unleash_counter_feature_toggle_usage_total";
3957
+ };
3958
+ readonly timeRange: {
3959
+ readonly type: "string";
3960
+ readonly enum: readonly ["hour", "day", "week", "month"];
3961
+ readonly description: "The time range for the metric data.";
3962
+ readonly example: "day";
3963
+ };
3964
+ readonly aggregationMode: {
3965
+ readonly type: "string";
3966
+ readonly description: "The aggregation mode for the metric data.";
3967
+ readonly enum: readonly ["rps", "count", "avg", "sum", "p95", "p99", "p50"];
3968
+ readonly example: "rps";
3969
+ };
3970
+ readonly labelSelectors: {
3971
+ readonly type: "object";
3972
+ readonly additionalProperties: {
3973
+ readonly type: "array";
3974
+ readonly items: {
3975
+ readonly type: "string";
3976
+ };
3977
+ };
3978
+ readonly description: "The selected labels and their values for filtering the metric data.";
3979
+ readonly example: {
3980
+ readonly environment: readonly ["development"];
3981
+ readonly project: readonly ["default"];
3982
+ };
3983
+ };
3984
+ readonly source: {
3985
+ readonly type: "string";
3986
+ readonly enum: readonly ["internal", "external"];
3987
+ readonly description: "The Prometheus data source for this metric. Internal is the Unleash-managed Prometheus, external is a customer-provided Prometheus instance. Defaults to internal if not specified.";
3988
+ readonly example: "internal";
3989
+ };
3990
+ readonly id: {
3991
+ readonly type: "string";
3992
+ readonly description: "The unique identifier for this impact metric";
3993
+ readonly example: "01JB9GGTGQYEQ9D40R17T3YVW1";
3994
+ };
3995
+ };
3996
+ readonly description: "The metric configuration used to evaluate the safeguard condition.";
3997
+ };
3998
+ };
3999
+ readonly components: {
4000
+ readonly schemas: {
4001
+ readonly metricQuerySchema: {
4002
+ readonly $id: "#/components/schemas/metricQuerySchema";
4003
+ readonly type: "object";
4004
+ readonly required: readonly ["metricName", "timeRange", "aggregationMode", "labelSelectors"];
4005
+ readonly description: "Common metric query configuration for selecting and filtering metric data.";
4006
+ readonly additionalProperties: false;
4007
+ readonly properties: {
4008
+ readonly metricName: {
4009
+ readonly type: "string";
4010
+ readonly description: "The Prometheus metric series to query. It includes both unleash prefix and metric type and display name";
4011
+ readonly example: "unleash_counter_feature_toggle_usage_total";
4012
+ };
4013
+ readonly timeRange: {
4014
+ readonly type: "string";
4015
+ readonly enum: readonly ["hour", "day", "week", "month"];
4016
+ readonly description: "The time range for the metric data.";
4017
+ readonly example: "day";
4018
+ };
4019
+ readonly aggregationMode: {
4020
+ readonly type: "string";
4021
+ readonly description: "The aggregation mode for the metric data.";
4022
+ readonly enum: readonly ["rps", "count", "avg", "sum", "p95", "p99", "p50"];
4023
+ readonly example: "rps";
4024
+ };
4025
+ readonly labelSelectors: {
4026
+ readonly type: "object";
4027
+ readonly additionalProperties: {
4028
+ readonly type: "array";
4029
+ readonly items: {
4030
+ readonly type: "string";
4031
+ };
4032
+ };
4033
+ readonly description: "The selected labels and their values for filtering the metric data.";
4034
+ readonly example: {
4035
+ readonly environment: readonly ["development"];
4036
+ readonly project: readonly ["default"];
4037
+ };
4038
+ };
4039
+ readonly source: {
4040
+ readonly type: "string";
4041
+ readonly enum: readonly ["internal", "external"];
4042
+ readonly description: "The Prometheus data source for this metric. Internal is the Unleash-managed Prometheus, external is a customer-provided Prometheus instance. Defaults to internal if not specified.";
4043
+ readonly example: "internal";
4044
+ };
4045
+ };
4046
+ readonly components: {};
4047
+ };
4048
+ readonly safeguardTriggerConditionSchema: {
4049
+ readonly $id: "#/components/schemas/safeguardTriggerConditionSchema";
4050
+ readonly type: "object";
4051
+ readonly required: readonly ["operator", "threshold"];
4052
+ readonly additionalProperties: false;
4053
+ readonly description: "The condition that triggers the safeguard.";
4054
+ readonly properties: {
4055
+ readonly operator: {
4056
+ readonly type: "string";
4057
+ readonly enum: readonly [">", "<"];
4058
+ readonly description: "The comparison operator for the threshold check.";
4059
+ readonly example: ">";
4060
+ };
4061
+ readonly threshold: {
4062
+ readonly type: "number";
4063
+ readonly description: "The threshold value to compare against.";
4064
+ readonly example: 100;
4065
+ };
4066
+ };
4067
+ readonly components: {};
4068
+ };
4069
+ };
4070
+ };
4071
+ };
4072
+ readonly safeguardTriggerConditionSchema: {
4073
+ readonly $id: "#/components/schemas/safeguardTriggerConditionSchema";
4074
+ readonly type: "object";
4075
+ readonly required: readonly ["operator", "threshold"];
4076
+ readonly additionalProperties: false;
4077
+ readonly description: "The condition that triggers the safeguard.";
4078
+ readonly properties: {
4079
+ readonly operator: {
4080
+ readonly type: "string";
4081
+ readonly enum: readonly [">", "<"];
4082
+ readonly description: "The comparison operator for the threshold check.";
4083
+ readonly example: ">";
4084
+ };
4085
+ readonly threshold: {
4086
+ readonly type: "number";
4087
+ readonly description: "The threshold value to compare against.";
4088
+ readonly example: 100;
4089
+ };
4090
+ };
4091
+ readonly components: {};
4092
+ };
4093
+ readonly metricQuerySchema: {
4094
+ readonly $id: "#/components/schemas/metricQuerySchema";
4095
+ readonly type: "object";
4096
+ readonly required: readonly ["metricName", "timeRange", "aggregationMode", "labelSelectors"];
4097
+ readonly description: "Common metric query configuration for selecting and filtering metric data.";
4098
+ readonly additionalProperties: false;
4099
+ readonly properties: {
4100
+ readonly metricName: {
4101
+ readonly type: "string";
4102
+ readonly description: "The Prometheus metric series to query. It includes both unleash prefix and metric type and display name";
4103
+ readonly example: "unleash_counter_feature_toggle_usage_total";
4104
+ };
4105
+ readonly timeRange: {
4106
+ readonly type: "string";
4107
+ readonly enum: readonly ["hour", "day", "week", "month"];
4108
+ readonly description: "The time range for the metric data.";
4109
+ readonly example: "day";
4110
+ };
4111
+ readonly aggregationMode: {
4112
+ readonly type: "string";
4113
+ readonly description: "The aggregation mode for the metric data.";
4114
+ readonly enum: readonly ["rps", "count", "avg", "sum", "p95", "p99", "p50"];
4115
+ readonly example: "rps";
4116
+ };
4117
+ readonly labelSelectors: {
4118
+ readonly type: "object";
4119
+ readonly additionalProperties: {
4120
+ readonly type: "array";
4121
+ readonly items: {
4122
+ readonly type: "string";
4123
+ };
4124
+ };
4125
+ readonly description: "The selected labels and their values for filtering the metric data.";
4126
+ readonly example: {
4127
+ readonly environment: readonly ["development"];
4128
+ readonly project: readonly ["default"];
4129
+ };
4130
+ };
4131
+ readonly source: {
4132
+ readonly type: "string";
4133
+ readonly enum: readonly ["internal", "external"];
4134
+ readonly description: "The Prometheus data source for this metric. Internal is the Unleash-managed Prometheus, external is a customer-provided Prometheus instance. Defaults to internal if not specified.";
4135
+ readonly example: "internal";
4136
+ };
4137
+ };
4138
+ readonly components: {};
4139
+ };
3882
4140
  };
3883
4141
  };
3884
4142
  };
@@ -4335,7 +4593,7 @@ export declare const profileSchema: {
4335
4593
  readonly type: "array";
4336
4594
  readonly description: "An array of safeguards configured for this release plan.";
4337
4595
  readonly items: {
4338
- readonly $ref: "#/components/schemas/safeguardSchema";
4596
+ readonly $ref: "#/components/schemas/releasePlanSafeguardSchema";
4339
4597
  };
4340
4598
  };
4341
4599
  };
@@ -4420,7 +4678,7 @@ export declare const profileSchema: {
4420
4678
  readonly additionalProperties: false;
4421
4679
  readonly description: "Schema representing the creation of a release plan milestone strategy.";
4422
4680
  readonly type: "object";
4423
- readonly required: readonly ["id", "milestoneId", "sortOrder", "strategyName"];
4681
+ readonly required: readonly ["id", "milestoneId", "sortOrder", "name", "strategyName"];
4424
4682
  readonly properties: {
4425
4683
  readonly id: {
4426
4684
  readonly type: "string";
@@ -5089,7 +5347,7 @@ export declare const profileSchema: {
5089
5347
  readonly additionalProperties: false;
5090
5348
  readonly description: "Schema representing the creation of a release plan milestone strategy.";
5091
5349
  readonly type: "object";
5092
- readonly required: readonly ["id", "milestoneId", "sortOrder", "strategyName"];
5350
+ readonly required: readonly ["id", "milestoneId", "sortOrder", "name", "strategyName"];
5093
5351
  readonly properties: {
5094
5352
  readonly id: {
5095
5353
  readonly type: "string";
@@ -5750,8 +6008,8 @@ export declare const profileSchema: {
5750
6008
  };
5751
6009
  readonly components: {};
5752
6010
  };
5753
- readonly safeguardSchema: {
5754
- readonly $id: "#/components/schemas/safeguardSchema";
6011
+ readonly releasePlanSafeguardSchema: {
6012
+ readonly $id: "#/components/schemas/releasePlanSafeguardSchema";
5755
6013
  readonly type: "object";
5756
6014
  readonly required: readonly ["id", "action", "triggerCondition", "impactMetric"];
5757
6015
  readonly description: "A safeguard configuration for a release plan.";
@@ -5820,6 +6078,12 @@ export declare const profileSchema: {
5820
6078
  readonly project: readonly ["default"];
5821
6079
  };
5822
6080
  };
6081
+ readonly source: {
6082
+ readonly type: "string";
6083
+ readonly enum: readonly ["internal", "external"];
6084
+ readonly description: "The Prometheus data source for this metric. Internal is the Unleash-managed Prometheus, external is a customer-provided Prometheus instance. Defaults to internal if not specified.";
6085
+ readonly example: "internal";
6086
+ };
5823
6087
  readonly id: {
5824
6088
  readonly type: "string";
5825
6089
  readonly description: "The unique identifier for this impact metric";
@@ -5869,6 +6133,12 @@ export declare const profileSchema: {
5869
6133
  readonly project: readonly ["default"];
5870
6134
  };
5871
6135
  };
6136
+ readonly source: {
6137
+ readonly type: "string";
6138
+ readonly enum: readonly ["internal", "external"];
6139
+ readonly description: "The Prometheus data source for this metric. Internal is the Unleash-managed Prometheus, external is a customer-provided Prometheus instance. Defaults to internal if not specified.";
6140
+ readonly example: "internal";
6141
+ };
5872
6142
  };
5873
6143
  readonly components: {};
5874
6144
  };
@@ -5934,6 +6204,12 @@ export declare const profileSchema: {
5934
6204
  readonly project: readonly ["default"];
5935
6205
  };
5936
6206
  };
6207
+ readonly source: {
6208
+ readonly type: "string";
6209
+ readonly enum: readonly ["internal", "external"];
6210
+ readonly description: "The Prometheus data source for this metric. Internal is the Unleash-managed Prometheus, external is a customer-provided Prometheus instance. Defaults to internal if not specified.";
6211
+ readonly example: "internal";
6212
+ };
5937
6213
  };
5938
6214
  readonly components: {};
5939
6215
  };
@@ -6040,7 +6316,7 @@ export declare const profileSchema: {
6040
6316
  readonly additionalProperties: false;
6041
6317
  readonly description: "Schema representing the creation of a release plan milestone strategy.";
6042
6318
  readonly type: "object";
6043
- readonly required: readonly ["id", "milestoneId", "sortOrder", "strategyName"];
6319
+ readonly required: readonly ["id", "milestoneId", "sortOrder", "name", "strategyName"];
6044
6320
  readonly properties: {
6045
6321
  readonly id: {
6046
6322
  readonly type: "string";
@@ -6709,7 +6985,7 @@ export declare const profileSchema: {
6709
6985
  readonly additionalProperties: false;
6710
6986
  readonly description: "Schema representing the creation of a release plan milestone strategy.";
6711
6987
  readonly type: "object";
6712
- readonly required: readonly ["id", "milestoneId", "sortOrder", "strategyName"];
6988
+ readonly required: readonly ["id", "milestoneId", "sortOrder", "name", "strategyName"];
6713
6989
  readonly properties: {
6714
6990
  readonly id: {
6715
6991
  readonly type: "string";
@@ -7317,8 +7593,8 @@ export declare const profileSchema: {
7317
7593
  };
7318
7594
  readonly components: {};
7319
7595
  };
7320
- readonly safeguardSchema: {
7321
- readonly $id: "#/components/schemas/safeguardSchema";
7596
+ readonly releasePlanSafeguardSchema: {
7597
+ readonly $id: "#/components/schemas/releasePlanSafeguardSchema";
7322
7598
  readonly type: "object";
7323
7599
  readonly required: readonly ["id", "action", "triggerCondition", "impactMetric"];
7324
7600
  readonly description: "A safeguard configuration for a release plan.";
@@ -7387,6 +7663,177 @@ export declare const profileSchema: {
7387
7663
  readonly project: readonly ["default"];
7388
7664
  };
7389
7665
  };
7666
+ readonly source: {
7667
+ readonly type: "string";
7668
+ readonly enum: readonly ["internal", "external"];
7669
+ readonly description: "The Prometheus data source for this metric. Internal is the Unleash-managed Prometheus, external is a customer-provided Prometheus instance. Defaults to internal if not specified.";
7670
+ readonly example: "internal";
7671
+ };
7672
+ readonly id: {
7673
+ readonly type: "string";
7674
+ readonly description: "The unique identifier for this impact metric";
7675
+ readonly example: "01JB9GGTGQYEQ9D40R17T3YVW1";
7676
+ };
7677
+ };
7678
+ readonly description: "The metric configuration used to evaluate the safeguard condition.";
7679
+ };
7680
+ };
7681
+ readonly components: {
7682
+ readonly schemas: {
7683
+ readonly metricQuerySchema: {
7684
+ readonly $id: "#/components/schemas/metricQuerySchema";
7685
+ readonly type: "object";
7686
+ readonly required: readonly ["metricName", "timeRange", "aggregationMode", "labelSelectors"];
7687
+ readonly description: "Common metric query configuration for selecting and filtering metric data.";
7688
+ readonly additionalProperties: false;
7689
+ readonly properties: {
7690
+ readonly metricName: {
7691
+ readonly type: "string";
7692
+ readonly description: "The Prometheus metric series to query. It includes both unleash prefix and metric type and display name";
7693
+ readonly example: "unleash_counter_feature_toggle_usage_total";
7694
+ };
7695
+ readonly timeRange: {
7696
+ readonly type: "string";
7697
+ readonly enum: readonly ["hour", "day", "week", "month"];
7698
+ readonly description: "The time range for the metric data.";
7699
+ readonly example: "day";
7700
+ };
7701
+ readonly aggregationMode: {
7702
+ readonly type: "string";
7703
+ readonly description: "The aggregation mode for the metric data.";
7704
+ readonly enum: readonly ["rps", "count", "avg", "sum", "p95", "p99", "p50"];
7705
+ readonly example: "rps";
7706
+ };
7707
+ readonly labelSelectors: {
7708
+ readonly type: "object";
7709
+ readonly additionalProperties: {
7710
+ readonly type: "array";
7711
+ readonly items: {
7712
+ readonly type: "string";
7713
+ };
7714
+ };
7715
+ readonly description: "The selected labels and their values for filtering the metric data.";
7716
+ readonly example: {
7717
+ readonly environment: readonly ["development"];
7718
+ readonly project: readonly ["default"];
7719
+ };
7720
+ };
7721
+ readonly source: {
7722
+ readonly type: "string";
7723
+ readonly enum: readonly ["internal", "external"];
7724
+ readonly description: "The Prometheus data source for this metric. Internal is the Unleash-managed Prometheus, external is a customer-provided Prometheus instance. Defaults to internal if not specified.";
7725
+ readonly example: "internal";
7726
+ };
7727
+ };
7728
+ readonly components: {};
7729
+ };
7730
+ readonly safeguardTriggerConditionSchema: {
7731
+ readonly $id: "#/components/schemas/safeguardTriggerConditionSchema";
7732
+ readonly type: "object";
7733
+ readonly required: readonly ["operator", "threshold"];
7734
+ readonly additionalProperties: false;
7735
+ readonly description: "The condition that triggers the safeguard.";
7736
+ readonly properties: {
7737
+ readonly operator: {
7738
+ readonly type: "string";
7739
+ readonly enum: readonly [">", "<"];
7740
+ readonly description: "The comparison operator for the threshold check.";
7741
+ readonly example: ">";
7742
+ };
7743
+ readonly threshold: {
7744
+ readonly type: "number";
7745
+ readonly description: "The threshold value to compare against.";
7746
+ readonly example: 100;
7747
+ };
7748
+ };
7749
+ readonly components: {};
7750
+ };
7751
+ };
7752
+ };
7753
+ };
7754
+ readonly featureEnvironmentSafeguardSchema: {
7755
+ readonly $id: "#/components/schemas/featureEnvironmentSafeguardSchema";
7756
+ readonly type: "object";
7757
+ readonly required: readonly ["id", "action", "triggerCondition", "impactMetric"];
7758
+ readonly description: "A safeguard configuration for a feature environment.";
7759
+ readonly additionalProperties: false;
7760
+ readonly properties: {
7761
+ readonly id: {
7762
+ readonly type: "string";
7763
+ readonly description: "The unique ULID identifier for this safeguard";
7764
+ readonly example: "01JB9GGTGQYEQ9D40R17T3YVW1";
7765
+ };
7766
+ readonly action: {
7767
+ readonly type: "object";
7768
+ readonly required: readonly ["type", "featureName", "environment", "project"];
7769
+ readonly additionalProperties: false;
7770
+ readonly description: "Disable a feature in an environment when triggered.";
7771
+ readonly properties: {
7772
+ readonly type: {
7773
+ readonly type: "string";
7774
+ readonly description: "The type of action to perform.";
7775
+ readonly example: "disableFeatureEnvironment";
7776
+ };
7777
+ readonly featureName: {
7778
+ readonly type: "string";
7779
+ readonly description: "The feature flag name this safeguard applies to.";
7780
+ };
7781
+ readonly environment: {
7782
+ readonly type: "string";
7783
+ readonly description: "The environment this safeguard applies to.";
7784
+ };
7785
+ readonly project: {
7786
+ readonly type: "string";
7787
+ readonly description: "The project this safeguard applies to.";
7788
+ };
7789
+ };
7790
+ };
7791
+ readonly triggerCondition: {
7792
+ readonly $ref: "#/components/schemas/safeguardTriggerConditionSchema";
7793
+ readonly description: "The condition that triggers the safeguard.";
7794
+ };
7795
+ readonly impactMetric: {
7796
+ readonly type: "object";
7797
+ readonly required: readonly ["id", "metricName", "timeRange", "aggregationMode", "labelSelectors"];
7798
+ readonly additionalProperties: false;
7799
+ readonly properties: {
7800
+ readonly metricName: {
7801
+ readonly type: "string";
7802
+ readonly description: "The Prometheus metric series to query. It includes both unleash prefix and metric type and display name";
7803
+ readonly example: "unleash_counter_feature_toggle_usage_total";
7804
+ };
7805
+ readonly timeRange: {
7806
+ readonly type: "string";
7807
+ readonly enum: readonly ["hour", "day", "week", "month"];
7808
+ readonly description: "The time range for the metric data.";
7809
+ readonly example: "day";
7810
+ };
7811
+ readonly aggregationMode: {
7812
+ readonly type: "string";
7813
+ readonly description: "The aggregation mode for the metric data.";
7814
+ readonly enum: readonly ["rps", "count", "avg", "sum", "p95", "p99", "p50"];
7815
+ readonly example: "rps";
7816
+ };
7817
+ readonly labelSelectors: {
7818
+ readonly type: "object";
7819
+ readonly additionalProperties: {
7820
+ readonly type: "array";
7821
+ readonly items: {
7822
+ readonly type: "string";
7823
+ };
7824
+ };
7825
+ readonly description: "The selected labels and their values for filtering the metric data.";
7826
+ readonly example: {
7827
+ readonly environment: readonly ["development"];
7828
+ readonly project: readonly ["default"];
7829
+ };
7830
+ };
7831
+ readonly source: {
7832
+ readonly type: "string";
7833
+ readonly enum: readonly ["internal", "external"];
7834
+ readonly description: "The Prometheus data source for this metric. Internal is the Unleash-managed Prometheus, external is a customer-provided Prometheus instance. Defaults to internal if not specified.";
7835
+ readonly example: "internal";
7836
+ };
7390
7837
  readonly id: {
7391
7838
  readonly type: "string";
7392
7839
  readonly description: "The unique identifier for this impact metric";
@@ -7436,6 +7883,12 @@ export declare const profileSchema: {
7436
7883
  readonly project: readonly ["default"];
7437
7884
  };
7438
7885
  };
7886
+ readonly source: {
7887
+ readonly type: "string";
7888
+ readonly enum: readonly ["internal", "external"];
7889
+ readonly description: "The Prometheus data source for this metric. Internal is the Unleash-managed Prometheus, external is a customer-provided Prometheus instance. Defaults to internal if not specified.";
7890
+ readonly example: "internal";
7891
+ };
7439
7892
  };
7440
7893
  readonly components: {};
7441
7894
  };
@@ -7501,6 +7954,12 @@ export declare const profileSchema: {
7501
7954
  readonly project: readonly ["default"];
7502
7955
  };
7503
7956
  };
7957
+ readonly source: {
7958
+ readonly type: "string";
7959
+ readonly enum: readonly ["internal", "external"];
7960
+ readonly description: "The Prometheus data source for this metric. Internal is the Unleash-managed Prometheus, external is a customer-provided Prometheus instance. Defaults to internal if not specified.";
7961
+ readonly example: "internal";
7962
+ };
7504
7963
  };
7505
7964
  readonly components: {};
7506
7965
  };