unleash-server 8.0.1 → 8.0.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 (626) hide show
  1. package/dist/lib/addons/addon.d.ts +10 -2
  2. package/dist/lib/addons/addon.d.ts.map +1 -1
  3. package/dist/lib/addons/addon.js +104 -6
  4. package/dist/lib/addons/addon.js.map +1 -1
  5. package/dist/lib/addons/datadog-definition.js +1 -1
  6. package/dist/lib/addons/datadog-definition.js.map +1 -1
  7. package/dist/lib/addons/datadog.test.js +2 -0
  8. package/dist/lib/addons/datadog.test.js.map +1 -1
  9. package/dist/lib/addons/feature-event-formatter-md.d.ts.map +1 -1
  10. package/dist/lib/addons/feature-event-formatter-md.js +5 -3
  11. package/dist/lib/addons/feature-event-formatter-md.js.map +1 -1
  12. package/dist/lib/addons/feature-event-formatter-md.test.js +3 -1
  13. package/dist/lib/addons/feature-event-formatter-md.test.js.map +1 -1
  14. package/dist/lib/addons/index.d.ts.map +1 -1
  15. package/dist/lib/addons/index.js +2 -0
  16. package/dist/lib/addons/index.js.map +1 -1
  17. package/dist/lib/addons/new-relic.d.ts.map +1 -1
  18. package/dist/lib/addons/new-relic.js +0 -1
  19. package/dist/lib/addons/new-relic.js.map +1 -1
  20. package/dist/lib/addons/new-relic.test.js +0 -1
  21. package/dist/lib/addons/new-relic.test.js.map +1 -1
  22. package/dist/lib/addons/slack.test.js +1 -2
  23. package/dist/lib/addons/slack.test.js.map +1 -1
  24. package/dist/lib/addons/teams-definition.d.ts.map +1 -1
  25. package/dist/lib/addons/teams-definition.js +1 -0
  26. package/dist/lib/addons/teams-definition.js.map +1 -1
  27. package/dist/lib/addons/teams-workflow-definition.d.ts +4 -0
  28. package/dist/lib/addons/teams-workflow-definition.d.ts.map +1 -0
  29. package/dist/lib/addons/teams-workflow-definition.js +66 -0
  30. package/dist/lib/addons/teams-workflow-definition.js.map +1 -0
  31. package/dist/lib/addons/teams-workflow.d.ts +15 -0
  32. package/dist/lib/addons/teams-workflow.d.ts.map +1 -0
  33. package/dist/lib/addons/teams-workflow.js +110 -0
  34. package/dist/lib/addons/teams-workflow.js.map +1 -0
  35. package/dist/lib/addons/teams-workflow.test.d.ts +2 -0
  36. package/dist/lib/addons/teams-workflow.test.d.ts.map +1 -0
  37. package/dist/lib/addons/teams-workflow.test.js +202 -0
  38. package/dist/lib/addons/teams-workflow.test.js.map +1 -0
  39. package/dist/lib/addons/teams.d.ts.map +1 -1
  40. package/dist/lib/addons/teams.js +0 -1
  41. package/dist/lib/addons/teams.js.map +1 -1
  42. package/dist/lib/addons/teams.test.js +0 -1
  43. package/dist/lib/addons/teams.test.js.map +1 -1
  44. package/dist/lib/addons/validate-url.d.ts +18 -0
  45. package/dist/lib/addons/validate-url.d.ts.map +1 -0
  46. package/dist/lib/addons/validate-url.js +93 -0
  47. package/dist/lib/addons/validate-url.js.map +1 -0
  48. package/dist/lib/addons/validate-url.test.d.ts +2 -0
  49. package/dist/lib/addons/validate-url.test.d.ts.map +1 -0
  50. package/dist/lib/addons/validate-url.test.js +199 -0
  51. package/dist/lib/addons/validate-url.test.js.map +1 -0
  52. package/dist/lib/addons/webhook.d.ts.map +1 -1
  53. package/dist/lib/addons/webhook.js +28 -2
  54. package/dist/lib/addons/webhook.js.map +1 -1
  55. package/dist/lib/addons/webhook.test.js +72 -0
  56. package/dist/lib/addons/webhook.test.js.map +1 -1
  57. package/dist/lib/app.d.ts.map +1 -1
  58. package/dist/lib/app.js +2 -0
  59. package/dist/lib/app.js.map +1 -1
  60. package/dist/lib/create-config.d.ts.map +1 -1
  61. package/dist/lib/create-config.js +8 -0
  62. package/dist/lib/create-config.js.map +1 -1
  63. package/dist/lib/error/bad-data-error.d.ts.map +1 -1
  64. package/dist/lib/error/bad-data-error.js +10 -2
  65. package/dist/lib/error/bad-data-error.js.map +1 -1
  66. package/dist/lib/error/unleash-error.test.js +23 -0
  67. package/dist/lib/error/unleash-error.test.js.map +1 -1
  68. package/dist/lib/features/context/context-field-store.d.ts +1 -1
  69. package/dist/lib/features/context/context-field-store.d.ts.map +1 -1
  70. package/dist/lib/features/context/context-field-store.js +1 -5
  71. package/dist/lib/features/context/context-field-store.js.map +1 -1
  72. package/dist/lib/features/context/context-service.d.ts +5 -4
  73. package/dist/lib/features/context/context-service.d.ts.map +1 -1
  74. package/dist/lib/features/context/context-service.js +20 -27
  75. package/dist/lib/features/context/context-service.js.map +1 -1
  76. package/dist/lib/features/context/context-service.test.d.ts +2 -0
  77. package/dist/lib/features/context/context-service.test.d.ts.map +1 -0
  78. package/dist/lib/features/context/context-service.test.js +24 -0
  79. package/dist/lib/features/context/context-service.test.js.map +1 -0
  80. package/dist/lib/features/context/context.d.ts +1 -0
  81. package/dist/lib/features/context/context.d.ts.map +1 -1
  82. package/dist/lib/features/context/context.js +22 -10
  83. package/dist/lib/features/context/context.js.map +1 -1
  84. package/dist/lib/features/context/context.test.js +15 -1
  85. package/dist/lib/features/context/context.test.js.map +1 -1
  86. package/dist/lib/features/context/createContextService.d.ts +4 -1
  87. package/dist/lib/features/context/createContextService.d.ts.map +1 -1
  88. package/dist/lib/features/context/createContextService.js +2 -1
  89. package/dist/lib/features/context/createContextService.js.map +1 -1
  90. package/dist/lib/features/context/fake-context-field-store.d.ts +1 -1
  91. package/dist/lib/features/context/fake-context-field-store.d.ts.map +1 -1
  92. package/dist/lib/features/context/fake-context-field-store.js +1 -6
  93. package/dist/lib/features/context/fake-context-field-store.js.map +1 -1
  94. package/dist/lib/features/export-import-toggles/createExportImportService.js +1 -1
  95. package/dist/lib/features/export-import-toggles/createExportImportService.js.map +1 -1
  96. package/dist/lib/features/feature-toggle/converters/feature-toggle-row-converter.d.ts +1 -1
  97. package/dist/lib/features/feature-toggle/fakes/fake-feature-strategies-store.d.ts +2 -1
  98. package/dist/lib/features/feature-toggle/fakes/fake-feature-strategies-store.d.ts.map +1 -1
  99. package/dist/lib/features/feature-toggle/fakes/fake-feature-strategies-store.js +5 -0
  100. package/dist/lib/features/feature-toggle/fakes/fake-feature-strategies-store.js.map +1 -1
  101. package/dist/lib/features/feature-toggle/feature-toggle-controller.d.ts +1 -1
  102. package/dist/lib/features/feature-toggle/feature-toggle-controller.d.ts.map +1 -1
  103. package/dist/lib/features/feature-toggle/feature-toggle-controller.js +22 -2
  104. package/dist/lib/features/feature-toggle/feature-toggle-controller.js.map +1 -1
  105. package/dist/lib/features/feature-toggle/feature-toggle-service.d.ts +3 -2
  106. package/dist/lib/features/feature-toggle/feature-toggle-service.d.ts.map +1 -1
  107. package/dist/lib/features/feature-toggle/feature-toggle-service.js +11 -4
  108. package/dist/lib/features/feature-toggle/feature-toggle-service.js.map +1 -1
  109. package/dist/lib/features/feature-toggle/feature-toggle-strategies-store.d.ts +2 -0
  110. package/dist/lib/features/feature-toggle/feature-toggle-strategies-store.d.ts.map +1 -1
  111. package/dist/lib/features/feature-toggle/feature-toggle-strategies-store.js +7 -0
  112. package/dist/lib/features/feature-toggle/feature-toggle-strategies-store.js.map +1 -1
  113. package/dist/lib/features/feature-toggle/tests/feature-toggles.e2e.test.js +4 -0
  114. package/dist/lib/features/feature-toggle/tests/feature-toggles.e2e.test.js.map +1 -1
  115. package/dist/lib/features/feature-toggle/types/feature-toggle-strategies-store-type.d.ts +6 -0
  116. package/dist/lib/features/feature-toggle/types/feature-toggle-strategies-store-type.d.ts.map +1 -1
  117. package/dist/lib/features/frontend-api/frontend-api-service.d.ts.map +1 -1
  118. package/dist/lib/features/frontend-api/frontend-api-service.js +17 -20
  119. package/dist/lib/features/frontend-api/frontend-api-service.js.map +1 -1
  120. package/dist/lib/features/metrics/integrations/integration-metrics.d.ts +1 -1
  121. package/dist/lib/features/metrics/integrations/integration-metrics.d.ts.map +1 -1
  122. package/dist/lib/features/metrics/integrations/integration-metrics.js +2 -0
  123. package/dist/lib/features/metrics/integrations/integration-metrics.js.map +1 -1
  124. package/dist/lib/features/playground/feature-evaluator/constraint.d.ts +2 -0
  125. package/dist/lib/features/playground/feature-evaluator/constraint.d.ts.map +1 -1
  126. package/dist/lib/features/playground/feature-evaluator/constraint.js +11 -1
  127. package/dist/lib/features/playground/feature-evaluator/constraint.js.map +1 -1
  128. package/dist/lib/features/playground/playground.test.js +2 -3
  129. package/dist/lib/features/playground/playground.test.js.map +1 -1
  130. package/dist/lib/features/release-plans/release-plan-template-store.d.ts +4 -0
  131. package/dist/lib/features/release-plans/release-plan-template-store.d.ts.map +1 -1
  132. package/dist/lib/features/release-plans/release-plan-template-store.js +25 -2
  133. package/dist/lib/features/release-plans/release-plan-template-store.js.map +1 -1
  134. package/dist/lib/features/release-plans/release-plan-template-store.test.js +75 -16
  135. package/dist/lib/features/release-plans/release-plan-template-store.test.js.map +1 -1
  136. package/dist/lib/features/release-plans/release-plan-template.d.ts +1 -0
  137. package/dist/lib/features/release-plans/release-plan-template.d.ts.map +1 -1
  138. package/dist/lib/features/scheduler/scheduler-service.test.js +1 -0
  139. package/dist/lib/features/scheduler/scheduler-service.test.js.map +1 -1
  140. package/dist/lib/features/unique-connection/unique-connection-store.e2e.test.js +3 -0
  141. package/dist/lib/features/unique-connection/unique-connection-store.e2e.test.js.map +1 -1
  142. package/dist/lib/middleware/rbac-middleware.d.ts.map +1 -1
  143. package/dist/lib/middleware/rbac-middleware.js +3 -4
  144. package/dist/lib/middleware/rbac-middleware.js.map +1 -1
  145. package/dist/lib/middleware/rbac-middleware.test.js +62 -24
  146. package/dist/lib/middleware/rbac-middleware.test.js.map +1 -1
  147. package/dist/lib/middleware/secure-headers.d.ts.map +1 -1
  148. package/dist/lib/middleware/secure-headers.js +20 -1
  149. package/dist/lib/middleware/secure-headers.js.map +1 -1
  150. package/dist/lib/middleware/session-context.d.ts +20 -0
  151. package/dist/lib/middleware/session-context.d.ts.map +1 -0
  152. package/dist/lib/middleware/session-context.js +38 -0
  153. package/dist/lib/middleware/session-context.js.map +1 -0
  154. package/dist/lib/openapi/spec/addon-create-update-schema.d.ts +1 -1
  155. package/dist/lib/openapi/spec/addon-create-update-schema.js +1 -1
  156. package/dist/lib/openapi/spec/addons-schema.d.ts +15 -0
  157. package/dist/lib/openapi/spec/addons-schema.d.ts.map +1 -1
  158. package/dist/lib/openapi/spec/addons-schema.js +51 -0
  159. package/dist/lib/openapi/spec/addons-schema.js.map +1 -1
  160. package/dist/lib/openapi/spec/admin-segment-schema.d.ts +1 -1
  161. package/dist/lib/openapi/spec/advanced-playground-environment-feature-schema.d.ts +4 -4
  162. package/dist/lib/openapi/spec/advanced-playground-feature-schema.d.ts +8 -8
  163. package/dist/lib/openapi/spec/advanced-playground-response-schema.d.ts +17 -17
  164. package/dist/lib/openapi/spec/client-feature-schema.d.ts +2 -2
  165. package/dist/lib/openapi/spec/client-features-delta-schema.d.ts +5 -5
  166. package/dist/lib/openapi/spec/client-features-schema.d.ts +5 -5
  167. package/dist/lib/openapi/spec/client-segment-schema.d.ts +1 -1
  168. package/dist/lib/openapi/spec/constraint-schema.d.ts +2 -2
  169. package/dist/lib/openapi/spec/create-feature-strategy-schema.d.ts +1 -1
  170. package/dist/lib/openapi/spec/environment-project-schema.d.ts +2 -2
  171. package/dist/lib/openapi/spec/environments-project-schema.d.ts +4 -4
  172. package/dist/lib/openapi/spec/export-result-schema.d.ts +68 -68
  173. package/dist/lib/openapi/spec/feature-environment-schema.d.ts +17 -17
  174. package/dist/lib/openapi/spec/feature-schema.d.ts +34 -34
  175. package/dist/lib/openapi/spec/feature-search-environment-schema.d.ts +34 -34
  176. package/dist/lib/openapi/spec/feature-search-response-schema.d.ts +68 -68
  177. package/dist/lib/openapi/spec/feature-strategy-schema.d.ts +1 -1
  178. package/dist/lib/openapi/spec/health-overview-schema.d.ts +69 -69
  179. package/dist/lib/openapi/spec/health-report-schema.d.ts +69 -69
  180. package/dist/lib/openapi/spec/playground-constraint-schema.d.ts +1 -1
  181. package/dist/lib/openapi/spec/playground-feature-schema.arbitraries.d.ts +4 -0
  182. package/dist/lib/openapi/spec/playground-feature-schema.arbitraries.d.ts.map +1 -0
  183. package/dist/lib/openapi/spec/playground-feature-schema.arbitraries.js +91 -0
  184. package/dist/lib/openapi/spec/playground-feature-schema.arbitraries.js.map +1 -0
  185. package/dist/lib/openapi/spec/playground-feature-schema.d.ts +4 -4
  186. package/dist/lib/openapi/spec/playground-feature-schema.test.d.ts +1 -3
  187. package/dist/lib/openapi/spec/playground-feature-schema.test.d.ts.map +1 -1
  188. package/dist/lib/openapi/spec/playground-feature-schema.test.js +1 -89
  189. package/dist/lib/openapi/spec/playground-feature-schema.test.js.map +1 -1
  190. package/dist/lib/openapi/spec/playground-request-schema.arbitraries.d.ts +4 -0
  191. package/dist/lib/openapi/spec/playground-request-schema.arbitraries.d.ts.map +1 -0
  192. package/dist/lib/openapi/spec/playground-request-schema.arbitraries.js +9 -0
  193. package/dist/lib/openapi/spec/playground-request-schema.arbitraries.js.map +1 -0
  194. package/dist/lib/openapi/spec/playground-request-schema.test.d.ts +1 -3
  195. package/dist/lib/openapi/spec/playground-request-schema.test.d.ts.map +1 -1
  196. package/dist/lib/openapi/spec/playground-request-schema.test.js +1 -8
  197. package/dist/lib/openapi/spec/playground-request-schema.test.js.map +1 -1
  198. package/dist/lib/openapi/spec/playground-response-schema.d.ts +9 -9
  199. package/dist/lib/openapi/spec/playground-response-schema.test.js +2 -3
  200. package/dist/lib/openapi/spec/playground-response-schema.test.js.map +1 -1
  201. package/dist/lib/openapi/spec/playground-segment-schema.d.ts +1 -1
  202. package/dist/lib/openapi/spec/playground-strategy-schema.d.ts +2 -2
  203. package/dist/lib/openapi/spec/profile-schema.d.ts +40 -35
  204. package/dist/lib/openapi/spec/profile-schema.d.ts.map +1 -1
  205. package/dist/lib/openapi/spec/profile-schema.js +13 -1
  206. package/dist/lib/openapi/spec/profile-schema.js.map +1 -1
  207. package/dist/lib/openapi/spec/profile-schema.test.js +1 -0
  208. package/dist/lib/openapi/spec/profile-schema.test.js.map +1 -1
  209. package/dist/lib/openapi/spec/project-environment-schema.d.ts +1 -1
  210. package/dist/lib/openapi/spec/project-overview-schema.d.ts +69 -69
  211. package/dist/lib/openapi/spec/release-plan-milestone-schema.d.ts +4 -4
  212. package/dist/lib/openapi/spec/release-plan-milestone-strategy-schema.d.ts +2 -2
  213. package/dist/lib/openapi/spec/release-plan-schema.d.ts +8 -8
  214. package/dist/lib/openapi/spec/release-plan-template-schema.d.ts +14 -8
  215. package/dist/lib/openapi/spec/release-plan-template-schema.d.ts.map +1 -1
  216. package/dist/lib/openapi/spec/release-plan-template-schema.js +6 -0
  217. package/dist/lib/openapi/spec/release-plan-template-schema.js.map +1 -1
  218. package/dist/lib/openapi/spec/release-plan-templates-schema.d.ts +22 -16
  219. package/dist/lib/openapi/spec/release-plan-templates-schema.d.ts.map +1 -1
  220. package/dist/lib/openapi/spec/release-plans-schema.d.ts +16 -16
  221. package/dist/lib/openapi/spec/sdk-context-schema.arbitraries.d.ts +4 -0
  222. package/dist/lib/openapi/spec/sdk-context-schema.arbitraries.d.ts.map +1 -0
  223. package/dist/lib/openapi/spec/sdk-context-schema.arbitraries.js +12 -0
  224. package/dist/lib/openapi/spec/sdk-context-schema.arbitraries.js.map +1 -0
  225. package/dist/lib/openapi/spec/sdk-context-schema.test.d.ts +1 -3
  226. package/dist/lib/openapi/spec/sdk-context-schema.test.d.ts.map +1 -1
  227. package/dist/lib/openapi/spec/sdk-context-schema.test.js +1 -11
  228. package/dist/lib/openapi/spec/sdk-context-schema.test.js.map +1 -1
  229. package/dist/lib/openapi/spec/search-features-schema.d.ts +104 -104
  230. package/dist/lib/openapi/spec/segment-schema.d.ts +1 -1
  231. package/dist/lib/openapi/spec/segments-schema.d.ts +2 -2
  232. package/dist/lib/openapi/spec/ui-config-schema.d.ts +5 -0
  233. package/dist/lib/openapi/spec/ui-config-schema.d.ts.map +1 -1
  234. package/dist/lib/openapi/spec/ui-config-schema.js +5 -0
  235. package/dist/lib/openapi/spec/ui-config-schema.js.map +1 -1
  236. package/dist/lib/openapi/spec/update-feature-schema.d.ts +1 -1
  237. package/dist/lib/openapi/spec/update-feature-strategy-schema.d.ts +1 -1
  238. package/dist/lib/openapi/spec/upsert-segment-schema.d.ts +1 -1
  239. package/dist/lib/routes/admin-api/addon.d.ts.map +1 -1
  240. package/dist/lib/routes/admin-api/addon.js +6 -2
  241. package/dist/lib/routes/admin-api/addon.js.map +1 -1
  242. package/dist/lib/routes/admin-api/user/user.d.ts.map +1 -1
  243. package/dist/lib/routes/admin-api/user/user.js +3 -1
  244. package/dist/lib/routes/admin-api/user/user.js.map +1 -1
  245. package/dist/lib/routes/admin-api/user/user.test.js +32 -7
  246. package/dist/lib/routes/admin-api/user/user.test.js.map +1 -1
  247. package/dist/lib/routes/util.d.ts.map +1 -1
  248. package/dist/lib/routes/util.js +8 -1
  249. package/dist/lib/routes/util.js.map +1 -1
  250. package/dist/lib/routes/util.test.d.ts +2 -0
  251. package/dist/lib/routes/util.test.d.ts.map +1 -0
  252. package/dist/lib/routes/util.test.js +18 -0
  253. package/dist/lib/routes/util.test.js.map +1 -0
  254. package/dist/lib/schema/feature-schema.test.js +1 -1
  255. package/dist/lib/schema/feature-schema.test.js.map +1 -1
  256. package/dist/lib/schema/html-input.d.ts +4 -0
  257. package/dist/lib/schema/html-input.d.ts.map +1 -0
  258. package/dist/lib/schema/html-input.js +41 -0
  259. package/dist/lib/schema/html-input.js.map +1 -0
  260. package/dist/lib/schema/html-input.test.d.ts +2 -0
  261. package/dist/lib/schema/html-input.test.d.ts.map +1 -0
  262. package/dist/lib/schema/html-input.test.js +98 -0
  263. package/dist/lib/schema/html-input.test.js.map +1 -0
  264. package/dist/lib/server-impl.d.ts +2 -1
  265. package/dist/lib/server-impl.d.ts.map +1 -1
  266. package/dist/lib/server-impl.js +2 -1
  267. package/dist/lib/server-impl.js.map +1 -1
  268. package/dist/lib/services/addon-service.d.ts +8 -1
  269. package/dist/lib/services/addon-service.d.ts.map +1 -1
  270. package/dist/lib/services/addon-service.js +24 -1
  271. package/dist/lib/services/addon-service.js.map +1 -1
  272. package/dist/lib/services/addon-service.test.js +75 -8
  273. package/dist/lib/services/addon-service.test.js.map +1 -1
  274. package/dist/lib/services/feature-tag-service.d.ts +1 -1
  275. package/dist/lib/services/feature-tag-service.d.ts.map +1 -1
  276. package/dist/lib/services/feature-tag-service.js +5 -1
  277. package/dist/lib/services/feature-tag-service.js.map +1 -1
  278. package/dist/lib/services/index.d.ts.map +1 -1
  279. package/dist/lib/services/index.js +1 -1
  280. package/dist/lib/services/index.js.map +1 -1
  281. package/dist/lib/services/project-schema.d.ts +1 -2
  282. package/dist/lib/services/project-schema.d.ts.map +1 -1
  283. package/dist/lib/services/project-schema.js +4 -2
  284. package/dist/lib/services/project-schema.js.map +1 -1
  285. package/dist/lib/services/user-service.d.ts +1 -0
  286. package/dist/lib/services/user-service.d.ts.map +1 -1
  287. package/dist/lib/services/user-service.js +7 -0
  288. package/dist/lib/services/user-service.js.map +1 -1
  289. package/dist/lib/types/events.d.ts +8 -0
  290. package/dist/lib/types/events.d.ts.map +1 -1
  291. package/dist/lib/types/events.js +4 -0
  292. package/dist/lib/types/events.js.map +1 -1
  293. package/dist/lib/types/experimental.d.ts +1 -1
  294. package/dist/lib/types/experimental.d.ts.map +1 -1
  295. package/dist/lib/types/experimental.js +27 -1
  296. package/dist/lib/types/experimental.js.map +1 -1
  297. package/dist/lib/types/model.d.ts +2 -0
  298. package/dist/lib/types/model.d.ts.map +1 -1
  299. package/dist/lib/types/model.js.map +1 -1
  300. package/dist/lib/types/option.d.ts +5 -0
  301. package/dist/lib/types/option.d.ts.map +1 -1
  302. package/dist/lib/types/permissions.d.ts +1 -0
  303. package/dist/lib/types/permissions.d.ts.map +1 -1
  304. package/dist/lib/types/permissions.js +2 -0
  305. package/dist/lib/types/permissions.js.map +1 -1
  306. package/dist/lib/types/stores.d.ts +1 -0
  307. package/dist/lib/types/stores.d.ts.map +1 -1
  308. package/dist/lib/types/stores.js.map +1 -1
  309. package/dist/lib/ui-config/ui-config-controller.d.ts +1 -2
  310. package/dist/lib/ui-config/ui-config-controller.d.ts.map +1 -1
  311. package/dist/lib/ui-config/ui-config-controller.js +3 -1
  312. package/dist/lib/ui-config/ui-config-controller.js.map +1 -1
  313. package/dist/lib/ui-config/ui-config-service.d.ts +3 -2
  314. package/dist/lib/ui-config/ui-config-service.d.ts.map +1 -1
  315. package/dist/lib/ui-config/ui-config-service.js +11 -3
  316. package/dist/lib/ui-config/ui-config-service.js.map +1 -1
  317. package/dist/lib/ui-config/ui-config.test.js +25 -2
  318. package/dist/lib/ui-config/ui-config.test.js.map +1 -1
  319. package/dist/lib/util/anonymise.d.ts +1 -0
  320. package/dist/lib/util/anonymise.d.ts.map +1 -1
  321. package/dist/lib/util/anonymise.js +3 -0
  322. package/dist/lib/util/anonymise.js.map +1 -1
  323. package/dist/lib/util/anonymise.test.js +4 -1
  324. package/dist/lib/util/anonymise.test.js.map +1 -1
  325. package/dist/lib/util/constants.d.ts +3 -1
  326. package/dist/lib/util/constants.d.ts.map +1 -1
  327. package/dist/lib/util/constants.js +11 -1
  328. package/dist/lib/util/constants.js.map +1 -1
  329. package/dist/mailtemplates/requested-cr-approval/requested-cr-approval.html.mustache +1 -1
  330. package/dist/migrations/20260617115403-update-flag-descriptions.d.ts +3 -0
  331. package/dist/migrations/20260617115403-update-flag-descriptions.d.ts.map +1 -0
  332. package/dist/migrations/20260617115403-update-flag-descriptions.js +38 -0
  333. package/dist/migrations/20260617115403-update-flag-descriptions.js.map +1 -0
  334. package/dist/migrations/20260624120000-servicenow-change-references.d.ts +3 -0
  335. package/dist/migrations/20260624120000-servicenow-change-references.d.ts.map +1 -0
  336. package/dist/migrations/20260624120000-servicenow-change-references.js +22 -0
  337. package/dist/migrations/20260624120000-servicenow-change-references.js.map +1 -0
  338. package/dist/migrations/20260706100000-add-project-column-to-release-plan-definitions.d.ts +3 -0
  339. package/dist/migrations/20260706100000-add-project-column-to-release-plan-definitions.d.ts.map +1 -0
  340. package/dist/migrations/20260706100000-add-project-column-to-release-plan-definitions.js +8 -0
  341. package/dist/migrations/20260706100000-add-project-column-to-release-plan-definitions.js.map +1 -0
  342. package/dist/migrations/20260708100000-add-project-release-template-permission.d.ts +3 -0
  343. package/dist/migrations/20260708100000-add-project-release-template-permission.d.ts.map +1 -0
  344. package/dist/migrations/20260708100000-add-project-release-template-permission.js +15 -0
  345. package/dist/migrations/20260708100000-add-project-release-template-permission.js.map +1 -0
  346. package/dist/server-dev.js +9 -1
  347. package/dist/server-dev.js.map +1 -1
  348. package/dist/test/arbitraries.d.ts +25 -0
  349. package/dist/test/arbitraries.d.ts.map +1 -0
  350. package/dist/test/arbitraries.js +143 -0
  351. package/dist/test/arbitraries.js.map +1 -0
  352. package/dist/test/arbitraries.test.d.ts +1 -24
  353. package/dist/test/arbitraries.test.d.ts.map +1 -1
  354. package/dist/test/arbitraries.test.js +1 -142
  355. package/dist/test/arbitraries.test.js.map +1 -1
  356. package/dist/test/e2e/api/admin/addon.e2e.test.js +2 -1
  357. package/dist/test/e2e/api/admin/addon.e2e.test.js.map +1 -1
  358. package/dist/test/e2e/api/admin/playground.e2e.test.js +2 -2
  359. package/dist/test/e2e/api/admin/playground.e2e.test.js.map +1 -1
  360. package/dist/test/e2e/services/addon-service.e2e.test.js +2 -0
  361. package/dist/test/e2e/services/addon-service.e2e.test.js.map +1 -1
  362. package/dist/test/e2e/services/playground-service.test.js +2 -2
  363. package/dist/test/e2e/services/playground-service.test.js.map +1 -1
  364. package/dist/test/fixtures/fake-segment-store.d.ts +1 -1
  365. package/dist/test/fixtures/fake-segment-store.d.ts.map +1 -1
  366. package/dist/test/fixtures/fake-segment-store.js +2 -2
  367. package/dist/test/fixtures/fake-segment-store.js.map +1 -1
  368. package/dist/test/prom-last-wins.d.ts +2 -0
  369. package/dist/test/prom-last-wins.d.ts.map +1 -0
  370. package/dist/test/prom-last-wins.js +25 -0
  371. package/dist/test/prom-last-wins.js.map +1 -0
  372. package/dist/test/reset-cross-file-state.d.ts +2 -0
  373. package/dist/test/reset-cross-file-state.d.ts.map +1 -0
  374. package/dist/test/reset-cross-file-state.js +57 -0
  375. package/dist/test/reset-cross-file-state.js.map +1 -0
  376. package/dist/test-setup.d.ts.map +1 -1
  377. package/dist/test-setup.js +4 -0
  378. package/dist/test-setup.js.map +1 -1
  379. package/frontend/build/index.html +2 -2
  380. package/frontend/build/static/AccordionSummary-KVRcLxLK.js +1 -0
  381. package/frontend/build/static/AdvancedPlayground-Cls80com.js +3 -0
  382. package/frontend/build/static/Alert-DQgOzmJF.js +1 -0
  383. package/frontend/build/static/Avatar-xU_puYmY.js +1 -0
  384. package/frontend/build/static/BackendConnections-CkI8tLcv.js +1 -0
  385. package/frontend/build/static/Box-rSzdGLLJ.js +1 -0
  386. package/frontend/build/static/Button-yGjgMTJI.js +1 -0
  387. package/frontend/build/static/Button.story-CBE27I2T.js +1 -0
  388. package/frontend/build/static/CircularProgress-CmGBJn6I.js +124 -0
  389. package/frontend/build/static/Close-DKD1r3T7.js +1 -0
  390. package/frontend/build/static/Close-nISwbNAY.js +1 -0
  391. package/frontend/build/static/CodeRenderer-RNHlNPBl.js +1094 -0
  392. package/frontend/build/static/CodeRenderer.story-Vw214z1Z.js +2 -0
  393. package/frontend/build/static/Collapse-COunT4rQ.js +1 -0
  394. package/frontend/build/static/ConditionallyRender-CEffh9Z-.js +1 -0
  395. package/frontend/build/static/ConnectSdkStep-DnH4iwnu.js +1 -0
  396. package/frontend/build/static/ConnectSdkStep.story-DeWPTOZK.js +1 -0
  397. package/frontend/build/static/CreateProject-eo1TZ1so.js +1 -0
  398. package/frontend/build/static/Dialog-DLpX4v6X.js +1 -0
  399. package/frontend/build/static/DialogWithAside-BxVspeMV.js +1 -0
  400. package/frontend/build/static/DialogWithAside.story-Dqmr9MnM.js +1 -0
  401. package/frontend/build/static/Divider-BYq1CcT0.js +1 -0
  402. package/frontend/build/static/EnterpriseEdge-D-g3JGCd.js +6 -0
  403. package/frontend/build/static/FeatureCard.story-B2Q-SD_-.js +1 -0
  404. package/frontend/build/static/FeatureMetricsChart-ETalRWKx.js +2 -0
  405. package/frontend/build/static/FeatureStaleDialog-CvD9ojNj.js +8 -0
  406. package/frontend/build/static/FeatureViewLazyExport-10Z3_Wda.js +10 -0
  407. package/frontend/build/static/FileCopy-D1ZqmNek.js +1 -0
  408. package/frontend/build/static/FlagMetricsChart-dLfSDZ_x.js +2 -0
  409. package/frontend/build/static/FlagUsageSnippet-DOGwaqPZ.js +2 -0
  410. package/frontend/build/static/FlagUsageSnippet.story-tfMvt3kG.js +1 -0
  411. package/frontend/build/static/FormControlLabel-BrOlsUbv.js +1 -0
  412. package/frontend/build/static/FormField-CRXe4g4R.js +1 -0
  413. package/frontend/build/static/FrontendNetworkTrafficUsage-DGEwK1Qg.js +1 -0
  414. package/frontend/build/static/GenerateApiKey-C1aJtPh-.js +1 -0
  415. package/frontend/build/static/GenerateApiKey.story-DNMZG0qg.js +1 -0
  416. package/frontend/build/static/GenerateApiKeySummary-DkPI02tH.js +1 -0
  417. package/frontend/build/static/GenerateApiKeySummary.story-CruMFwTQ.js +1 -0
  418. package/frontend/build/static/GridLayoutWrapper-B3BIpxoE.js +5 -0
  419. package/frontend/build/static/Grow-CuQu7Z-P.js +1 -0
  420. package/frontend/build/static/HelpOutlineOutlined-HDH1hus2.js +1 -0
  421. package/frontend/build/static/HelpResources.story-warJFqf6.js +1 -0
  422. package/frontend/build/static/Highlighter-BS0Ow0vZ.js +1 -0
  423. package/frontend/build/static/HtmlTooltip-3YsoM_F5.js +1 -0
  424. package/frontend/build/static/IconButton-BveFD3PF.js +1 -0
  425. package/frontend/build/static/ImpactMetricsPage-C57istn7.js +1 -0
  426. package/frontend/build/static/ImpactViewsPage-MKEHnt2w.js +1 -0
  427. package/frontend/build/static/LazyAdminExport-DfIYVWQD.js +38 -0
  428. package/frontend/build/static/LazyProjectExport-30GlUH0L.js +46 -0
  429. package/frontend/build/static/LifecycleChartComponent-Tj1pN5Tj.js +2 -0
  430. package/frontend/build/static/LineChartComponent-_RiDjL2-.js +1 -0
  431. package/frontend/build/static/Link-wv6er_Jy.js +1 -0
  432. package/frontend/build/static/Loader-CnLypnQx.js +1 -0
  433. package/frontend/build/static/{LogRocketRunner-Duzg1Kzh.js → LogRocketRunner-BS6AEpSK.js} +1 -1
  434. package/frontend/build/static/MarkCompletedDialogue-BeIA6eMj.js +1 -0
  435. package/frontend/build/static/Menu-DUeb4XP8.js +1 -0
  436. package/frontend/build/static/MenuBook-DZFyn--3.js +1 -0
  437. package/frontend/build/static/MenuItem-DNlBQQYG.js +1 -0
  438. package/frontend/build/static/Modal-DdH902AP.js +1 -0
  439. package/frontend/build/static/NetworkOverview-DF8c0k1P.js +1 -0
  440. package/frontend/build/static/{NetworkPrometheusAPIWarning-Bq62ygkV.js → NetworkPrometheusAPIWarning-B0v-FihJ.js} +1 -1
  441. package/frontend/build/static/NetworkTraffic-C1I4wwcb.js +1 -0
  442. package/frontend/build/static/NetworkTrafficUsage-DkdQx64o.js +1 -0
  443. package/frontend/build/static/NotificationStack.story-CdeU4r0p.js +1 -0
  444. package/frontend/build/static/OnboardingProgress-BuWQ2rjB.js +1 -0
  445. package/frontend/build/static/OnboardingProgress.story-CmQztiFV.js +1 -0
  446. package/frontend/build/static/OpenInNew-CHcHAi4B.js +1 -0
  447. package/frontend/build/static/PageContent-lT51j8jO.js +1 -0
  448. package/frontend/build/static/Paper-BvPQ0Zq6.js +1 -0
  449. package/frontend/build/static/PercentageDonut-CZVWd5fE.js +1 -0
  450. package/frontend/build/static/PermissionButton-Tj54K9Kc.js +1 -0
  451. package/frontend/build/static/Popover-FHiFav9d.js +1 -0
  452. package/frontend/build/static/Popper-Cut-_j4A.js +1 -0
  453. package/frontend/build/static/Portal-kwmlgXGI.js +1 -0
  454. package/frontend/build/static/Radio-Cj82h8o5.js +1 -0
  455. package/frontend/build/static/RadioGroup-BWTZb8iE.js +1 -0
  456. package/frontend/build/static/ReactJSONEditor-D65iiPmM.js +4 -0
  457. package/frontend/build/static/ReactJSONEditor.story-Bt3pxUGO.js +1 -0
  458. package/frontend/build/static/RoleCell-tqHUOlI7.js +1 -0
  459. package/frontend/build/static/RtlProvider-D1AlROju.js +1 -0
  460. package/frontend/build/static/Safeguard-DFEQulxy.js +1 -0
  461. package/frontend/build/static/SdkEvaluationStatus-B1rMywp-.js +17 -0
  462. package/frontend/build/static/SdkEvaluationStatus.story-BxgqLICz.js +1 -0
  463. package/frontend/build/static/Select-DdG1oq6O.js +3 -0
  464. package/frontend/build/static/SelectSdk-Boj2Ug-2.js +1 -0
  465. package/frontend/build/static/SelectSdk-CzRoKDb5.js +1 -0
  466. package/frontend/build/static/SelectSdk.story-BT9ke5Eb.js +1 -0
  467. package/frontend/build/static/SelectSdk.story-CdzotYoq.js +1 -0
  468. package/frontend/build/static/Spacing.story-CB6GkN5Z.js +1 -0
  469. package/frontend/build/static/StoriesPage-luLnHVc2.js +1 -0
  470. package/frontend/build/static/SwitchBase-cxExIOp0.js +1 -0
  471. package/frontend/build/static/TextField-Cf03Ror7.js +1 -0
  472. package/frontend/build/static/ThemeColors.story-Cx9bv5pL.js +1 -0
  473. package/frontend/build/static/TokenExplanation-CJjBSQ07.js +1 -0
  474. package/frontend/build/static/TokenExplanation.story-BoOaHRrQ.js +1 -0
  475. package/frontend/build/static/Tooltip-DPzrXyNS.js +1 -0
  476. package/frontend/build/static/TooltipResolver-CIBfA4vm.js +1 -0
  477. package/frontend/build/static/Truncator-CF0-SVks.js +1 -0
  478. package/frontend/build/static/Typography-nCkGT67u.js +1 -0
  479. package/frontend/build/static/Typography.story-CofmlvJB.js +1 -0
  480. package/frontend/build/static/UIContext-Dsr0TY8K.js +1 -0
  481. package/frontend/build/static/WhatsNewLayout.story-p4Cm8bgx.js +1 -0
  482. package/frontend/build/static/aggregateFeatureMetrics-D7AXsd2U.js +1 -0
  483. package/frontend/build/static/capitalize-DfXJDj8P.js +1 -0
  484. package/frontend/build/static/chartjs-plugin-annotation.esm-tsR8Pv5a.js +1 -0
  485. package/frontend/build/static/chunk-KS7C4IRE-PUpsdS_b.js +3 -0
  486. package/frontend/build/static/code-block-BZePA-4e.js +1 -0
  487. package/frontend/build/static/copy-to-clipboard-BCU4eeSw.js +1 -0
  488. package/frontend/build/static/createBox-DaDvp7MB.js +1 -0
  489. package/frontend/build/static/createSimplePaletteValueFilter-Bt9IjErz.js +1 -0
  490. package/frontend/build/static/createSvgIcon-D-6jHYkf.js +1 -0
  491. package/frontend/build/static/differenceInSeconds-DMZGQwjK.js +1 -0
  492. package/frontend/build/static/dividerClasses-DcI5JVLQ.js +1 -0
  493. package/frontend/build/static/endOfMonth-CkSR_DAx.js +1 -0
  494. package/frontend/build/static/{enterpriseEdgeCloud-C5u35XAw.js → enterpriseEdgeCloud-qnOcFE1S.js} +1 -1
  495. package/frontend/build/static/esm-DViSjNxt.js +12 -0
  496. package/frontend/build/static/formatAccessText-BhC1wtCg.js +1 -0
  497. package/frontend/build/static/formatDistanceToNow-CyouiCIY.js +1 -0
  498. package/frontend/build/static/httpErrorResponseHandler-BzpwldnE.js +1 -0
  499. package/frontend/build/static/impact-metrics-DrmGy_gn.png +0 -0
  500. package/frontend/build/static/{impact-metrics-icon-6dt-ye-h.js → impact-metrics-icon-Cg_ki-2e.js} +1 -1
  501. package/frontend/build/static/index-C2zVj2FI.js +287 -0
  502. package/frontend/build/static/{jsx-runtime-BnvnyDTF.js → jsx-runtime-DYfQNk55.js} +1 -1
  503. package/frontend/build/static/mcp-ADx0Sju7.png +0 -0
  504. package/frontend/build/static/{metricsFormatters-BEX2qb8Y.js → metricsFormatters-BmjW0KTj.js} +1 -1
  505. package/frontend/build/static/milestone-CciNgBhP.png +0 -0
  506. package/frontend/build/static/{mui-CoU2c-id.js → mui-C_omlwxE.js} +1 -1
  507. package/frontend/build/static/networkTrafficUsageHighlightPlugin-DPi6id5j.js +1 -0
  508. package/frontend/build/static/parse-Chj4PyAg.js +1 -0
  509. package/frontend/build/static/react-Ca03aNmg.js +1 -0
  510. package/frontend/build/static/resolveProps-CAVsjga5.js +1 -0
  511. package/frontend/build/static/servicenow-BmgZtZjb.svg +13 -0
  512. package/frontend/build/static/sharedTypes-CXnpeg4U.js +1 -0
  513. package/frontend/build/static/startOfHour-P0Sr6h8e.js +1 -0
  514. package/frontend/build/static/styled-CY_-vLWk.js +1 -0
  515. package/frontend/build/static/theme-DDCs0xPV.js +1 -0
  516. package/frontend/build/static/themeStyles-B99HStK1.js +1 -0
  517. package/frontend/build/static/useApi-B7ZLy5tN.js +1 -0
  518. package/frontend/build/static/useApiGetter-C41iZzl2.js +1 -0
  519. package/frontend/build/static/useApiTokens-BQWPDfv2.js +1 -0
  520. package/frontend/build/static/useConditionalSWR-QWHOvx6V.js +1 -0
  521. package/frontend/build/static/useConditionallyHiddenColumns-DbQbB4u7.js +5 -0
  522. package/frontend/build/static/useCustomEvent-BnWpZ2E1.js +1 -0
  523. package/frontend/build/static/useEnhancedEffect-BBMUaXin.js +1 -0
  524. package/frontend/build/static/useEnvironments-Gu7r2cpc.js +2 -0
  525. package/frontend/build/static/useEventTracker-B0ILyjZB.js +1 -0
  526. package/frontend/build/static/useGroupedImpactMetricsData-jQ7IYFK3.js +1 -0
  527. package/frontend/build/static/useId-Bg4oXGUa.js +1 -0
  528. package/frontend/build/static/{useImpactMetrics-9qDSEpTn.js → useImpactMetrics-DXxTQl6p.js} +2 -2
  529. package/frontend/build/static/{useImpactMetricsEnabled-wRNO6-Oh.js → useImpactMetricsEnabled-B3om8V0b.js} +1 -1
  530. package/frontend/build/static/{useInstanceTrafficMetrics-CIpyIGYi.js → useInstanceTrafficMetrics-DkgcWjVM.js} +1 -1
  531. package/frontend/build/static/useLocationSettings-vlEPA_j3.js +1 -0
  532. package/frontend/build/static/useMediaQuery-BFm2lR-0.js +2 -0
  533. package/frontend/build/static/useOptionalPathParam-Cmh3Ejbi.js +1 -0
  534. package/frontend/build/static/{usePageTitle-CHzzFshF.js → usePageTitle-DD1IHvCw.js} +1 -1
  535. package/frontend/build/static/useSlot-Ce59-xJL.js +1 -0
  536. package/frontend/build/static/useSlotProps-v77xI-e5.js +1 -0
  537. package/frontend/build/static/useTheme-CTychWp2.js +10 -0
  538. package/frontend/build/static/useTimeout-B2sc1jSE.js +1 -0
  539. package/frontend/build/static/useToast-BUHn_9TC.js +1 -0
  540. package/frontend/build/static/{useUiConfig-DbVjTDpE.js → useUiConfig-BcfEDPWc.js} +1 -1
  541. package/frontend/build/static/useUiFlag-PbKW1iMa.js +1 -0
  542. package/frontend/package.json +20 -19
  543. package/package.json +15 -12
  544. package/frontend/build/static/AccordionSummary-wye3oOm6.js +0 -1
  545. package/frontend/build/static/AdvancedPlayground-BEYkf6Xg.js +0 -3
  546. package/frontend/build/static/Alert-_bLyWbvx.js +0 -1
  547. package/frontend/build/static/BackendConnections-DdvotR_8.js +0 -1
  548. package/frontend/build/static/Box-BQsxfFmC.js +0 -1
  549. package/frontend/build/static/Button-CebB8EPB.js +0 -1
  550. package/frontend/build/static/ChatOutlined-jZlhx14o.js +0 -1
  551. package/frontend/build/static/CircularProgress-C_LUU3DK.js +0 -101
  552. package/frontend/build/static/Close-DyTASMSq.js +0 -1
  553. package/frontend/build/static/CloudCircle-BjnxUYAO.js +0 -1
  554. package/frontend/build/static/Collapse-DPPTUMpf.js +0 -1
  555. package/frontend/build/static/ConditionallyRender---uTpMBn.js +0 -1
  556. package/frontend/build/static/CreateProject-BSlg0WYM.js +0 -1
  557. package/frontend/build/static/Dialog-C-xQxqWX.js +0 -1
  558. package/frontend/build/static/DialogWithAside-BvaGTcqO.js +0 -1106
  559. package/frontend/build/static/Divider-CsdWvu5F.js +0 -1
  560. package/frontend/build/static/EnterpriseEdge-DN23kaQp.js +0 -6
  561. package/frontend/build/static/FeatureMetricsChart-CmVkRuwG.js +0 -2
  562. package/frontend/build/static/FeatureStaleDialog-BkyjUGR9.js +0 -8
  563. package/frontend/build/static/FeatureViewLazyExport-C5FggFea.js +0 -10
  564. package/frontend/build/static/FileCopy-B8HZEA83.js +0 -1
  565. package/frontend/build/static/FlagMetricsChart-ZjHSwulg.js +0 -2
  566. package/frontend/build/static/FormControlLabel-F5gDLixN.js +0 -1
  567. package/frontend/build/static/FrontendNetworkTrafficUsage-BmLOJdK9.js +0 -1
  568. package/frontend/build/static/GridLayoutWrapper-D93wkNEo.js +0 -3
  569. package/frontend/build/static/Grow-BIbmvKVy.js +0 -1
  570. package/frontend/build/static/HelpOutlineOutlined-CpMsVJZu.js +0 -1
  571. package/frontend/build/static/Highlighter-MomUaQww.js +0 -1
  572. package/frontend/build/static/HtmlTooltip-B9jv1G1R.js +0 -1
  573. package/frontend/build/static/ImpactMetricsPage-D1CETZR_.js +0 -1
  574. package/frontend/build/static/ImpactViewsPage-DeBga4lU.js +0 -1
  575. package/frontend/build/static/LazyAdminExport-BvtR_me3.js +0 -38
  576. package/frontend/build/static/LazyProjectExport-BkOu6pHf.js +0 -46
  577. package/frontend/build/static/LifecycleChartComponent-BYvIFr7Q.js +0 -2
  578. package/frontend/build/static/LineChartComponent-d80f3Tky.js +0 -1
  579. package/frontend/build/static/Link-CfIScd2f.js +0 -1
  580. package/frontend/build/static/Loader-DdgXftPc.js +0 -1
  581. package/frontend/build/static/MarkCompletedDialogue-CtzRfovJ.js +0 -1
  582. package/frontend/build/static/NetworkOverview-D1UOxIaf.js +0 -1
  583. package/frontend/build/static/NetworkTraffic-CLnhub6c.js +0 -1
  584. package/frontend/build/static/NetworkTrafficUsage-PgI0lqze.js +0 -1
  585. package/frontend/build/static/PageContent-c0NDm5oD.js +0 -1
  586. package/frontend/build/static/PercentageDonut-C6I2UOES.js +0 -1
  587. package/frontend/build/static/PermissionButton-BIeM26DH.js +0 -1
  588. package/frontend/build/static/Popover-CUTnSn2h.js +0 -1
  589. package/frontend/build/static/Radio-DL8ja0ll.js +0 -1
  590. package/frontend/build/static/RadioGroup-Ci3WHaOy.js +0 -1
  591. package/frontend/build/static/ReactJSONEditor-C-paZV5Q.js +0 -4
  592. package/frontend/build/static/RoleCell-BCPNstXC.js +0 -1
  593. package/frontend/build/static/Safeguard-9zs64Bna.js +0 -1
  594. package/frontend/build/static/SelectSdk-D2NaTubs.js +0 -2
  595. package/frontend/build/static/StoriesPage-5lbMiQlA.js +0 -1
  596. package/frontend/build/static/SwitchBase-DWPIxZnN.js +0 -1
  597. package/frontend/build/static/TextField-oipjeg6n.js +0 -3
  598. package/frontend/build/static/Tooltip-BaILXXti.js +0 -1
  599. package/frontend/build/static/TooltipResolver-4A1YhwBy.js +0 -1
  600. package/frontend/build/static/Truncator-D2bO9ub6.js +0 -1
  601. package/frontend/build/static/Typography-BTdLWIUX.js +0 -1
  602. package/frontend/build/static/aggregateFeatureMetrics-DBivHCcj.js +0 -1
  603. package/frontend/build/static/chartjs-plugin-annotation.esm-BxKcCGhA.js +0 -1
  604. package/frontend/build/static/chunk-QUQL4437-Dr42NpoL.js +0 -3
  605. package/frontend/build/static/createBox-Cf2UJsmc.js +0 -1
  606. package/frontend/build/static/createSimplePaletteValueFilter-BRAMrHWJ.js +0 -1
  607. package/frontend/build/static/dividerClasses-Cc45lyWo.js +0 -1
  608. package/frontend/build/static/esm-CFWP4-MJ.js +0 -15
  609. package/frontend/build/static/httpErrorResponseHandler-FMtt7Zqh.js +0 -1
  610. package/frontend/build/static/index-BJ2iUk24.js +0 -289
  611. package/frontend/build/static/networkTrafficUsageHighlightPlugin-DVWh8Lrd.js +0 -1
  612. package/frontend/build/static/parse-BhYjTMCL.js +0 -1
  613. package/frontend/build/static/react-GZhdek4G.js +0 -1
  614. package/frontend/build/static/startOfHour-KiLZtdEa.js +0 -1
  615. package/frontend/build/static/themeStyles-BPY8RNQO.js +0 -1
  616. package/frontend/build/static/useApiGetter-7FP8Avm4.js +0 -1
  617. package/frontend/build/static/useApiTokens-C8Dqw_X1.js +0 -1
  618. package/frontend/build/static/useConditionalSWR-DGgzun6i.js +0 -1
  619. package/frontend/build/static/useConditionallyHiddenColumns-DTDzRlyO.js +0 -5
  620. package/frontend/build/static/useCustomEvent-CwoY8S5F.js +0 -1
  621. package/frontend/build/static/useEnvironments-CTguhgy0.js +0 -2
  622. package/frontend/build/static/useGroupedImpactMetricsData-CK8Pz2an.js +0 -1
  623. package/frontend/build/static/useMediaQuery-DGx8zAkf.js +0 -2
  624. package/frontend/build/static/useOptionalPathParam-Cx3ru9yC.js +0 -1
  625. package/frontend/build/static/useTheme-CQqAmDLr.js +0 -9
  626. /package/frontend/build/static/{connect-DbjGV9Hl.png → cr-DbjGV9Hl.png} +0 -0
@@ -1 +1 @@
1
- {"version":3,"file":"teams-definition.js","sourceRoot":"","sources":["../../../src/lib/addons/teams-definition.ts"],"names":[],"mappings":"AAAA,OAAO,EACH,eAAe,EACf,eAAe,EACf,gBAAgB,EAChB,eAAe,EACf,gBAAgB,EAChB,iBAAiB,EACjB,2BAA2B,EAC3B,4BAA4B,EAC5B,uBAAuB,EACvB,uBAAuB,EACvB,oBAAoB,EACpB,wBAAwB,EACxB,sBAAsB,EACtB,wBAAwB,EACxB,4BAA4B,EAC5B,YAAY,EACZ,gBAAgB,EAChB,aAAa,EACb,sBAAsB,EACtB,6BAA6B,EAC7B,uBAAuB,EACvB,wBAAwB,EACxB,sBAAsB,EACtB,wBAAwB,EACxB,uBAAuB,EACvB,6BAA6B,EAC7B,wBAAwB,EACxB,4CAA4C,EAC5C,4CAA4C,EAC5C,iCAAiC,EACjC,gCAAgC,EAChC,iCAAiC,GACpC,MAAM,oBAAoB,CAAC;AAG5B,MAAM,eAAe,GAAqB;IACtC,IAAI,EAAE,OAAO;IACb,WAAW,EAAE,iBAAiB;IAC9B,WAAW,EAAE,oDAAoD;IACjE,gBAAgB,EAAE,4CAA4C;IAC9D,KAAK,EAAE,gGAAgG;IACvG,UAAU,EAAE;QACR;YACI,IAAI,EAAE,KAAK;YACX,WAAW,EAAE,6BAA6B;YAC1C,WAAW,EAAE,YAAY;YACzB,IAAI,EAAE,KAAK;YACX,QAAQ,EAAE,IAAI;YACd,SAAS,EAAE,IAAI;SAClB;QACD;YACI,IAAI,EAAE,eAAe;YACrB,WAAW,EAAE,oBAAoB;YACjC,WAAW,EAAE;;;EAGvB;YACU,WAAW,EAAE,iLAAiL;YAC9L,QAAQ,EAAE,KAAK;YACf,SAAS,EAAE,IAAI;YACf,IAAI,EAAE,WAAW;SACpB;KACJ;IACD,MAAM,EAAE;QACJ,eAAe;QACf,eAAe;QACf,gBAAgB;QAChB,eAAe;QACf,gBAAgB;QAChB,iBAAiB;QACjB,2BAA2B;QAC3B,4BAA4B;QAC5B,uBAAuB;QACvB,uBAAuB;QACvB,oBAAoB;QACpB,wBAAwB;QACxB,wBAAwB;QACxB,sBAAsB;QACtB,4BAA4B;QAC5B,YAAY;QACZ,gBAAgB;QAChB,aAAa;QACb,sBAAsB;QACtB,6BAA6B;QAC7B,uBAAuB;QACvB,wBAAwB;QACxB,sBAAsB;QACtB,wBAAwB;QACxB,uBAAuB;QACvB,6BAA6B;QAC7B,wBAAwB;QACxB,4CAA4C;QAC5C,4CAA4C;QAC5C,iCAAiC;QACjC,gCAAgC;QAChC,iCAAiC;KACpC;CACJ,CAAC;AAEF,eAAe,eAAe,CAAC"}
1
+ {"version":3,"file":"teams-definition.js","sourceRoot":"","sources":["../../../src/lib/addons/teams-definition.ts"],"names":[],"mappings":"AAAA,OAAO,EACH,eAAe,EACf,eAAe,EACf,gBAAgB,EAChB,eAAe,EACf,gBAAgB,EAChB,iBAAiB,EACjB,2BAA2B,EAC3B,4BAA4B,EAC5B,uBAAuB,EACvB,uBAAuB,EACvB,oBAAoB,EACpB,wBAAwB,EACxB,sBAAsB,EACtB,wBAAwB,EACxB,4BAA4B,EAC5B,YAAY,EACZ,gBAAgB,EAChB,aAAa,EACb,sBAAsB,EACtB,6BAA6B,EAC7B,uBAAuB,EACvB,wBAAwB,EACxB,sBAAsB,EACtB,wBAAwB,EACxB,uBAAuB,EACvB,6BAA6B,EAC7B,wBAAwB,EACxB,4CAA4C,EAC5C,4CAA4C,EAC5C,iCAAiC,EACjC,gCAAgC,EAChC,iCAAiC,GACpC,MAAM,oBAAoB,CAAC;AAG5B,MAAM,eAAe,GAAqB;IACtC,IAAI,EAAE,OAAO;IACb,WAAW,EAAE,iBAAiB;IAC9B,UAAU,EACN,oGAAoG;IACxG,WAAW,EAAE,oDAAoD;IACjE,gBAAgB,EAAE,4CAA4C;IAC9D,KAAK,EAAE,gGAAgG;IACvG,UAAU,EAAE;QACR;YACI,IAAI,EAAE,KAAK;YACX,WAAW,EAAE,6BAA6B;YAC1C,WAAW,EAAE,YAAY;YACzB,IAAI,EAAE,KAAK;YACX,QAAQ,EAAE,IAAI;YACd,SAAS,EAAE,IAAI;SAClB;QACD;YACI,IAAI,EAAE,eAAe;YACrB,WAAW,EAAE,oBAAoB;YACjC,WAAW,EAAE;;;EAGvB;YACU,WAAW,EAAE,iLAAiL;YAC9L,QAAQ,EAAE,KAAK;YACf,SAAS,EAAE,IAAI;YACf,IAAI,EAAE,WAAW;SACpB;KACJ;IACD,MAAM,EAAE;QACJ,eAAe;QACf,eAAe;QACf,gBAAgB;QAChB,eAAe;QACf,gBAAgB;QAChB,iBAAiB;QACjB,2BAA2B;QAC3B,4BAA4B;QAC5B,uBAAuB;QACvB,uBAAuB;QACvB,oBAAoB;QACpB,wBAAwB;QACxB,wBAAwB;QACxB,sBAAsB;QACtB,4BAA4B;QAC5B,YAAY;QACZ,gBAAgB;QAChB,aAAa;QACb,sBAAsB;QACtB,6BAA6B;QAC7B,uBAAuB;QACvB,wBAAwB;QACxB,sBAAsB;QACtB,wBAAwB;QACxB,uBAAuB;QACvB,6BAA6B;QAC7B,wBAAwB;QACxB,4CAA4C;QAC5C,4CAA4C;QAC5C,iCAAiC;QACjC,gCAAgC;QAChC,iCAAiC;KACpC;CACJ,CAAC;AAEF,eAAe,eAAe,CAAC"}
@@ -0,0 +1,4 @@
1
+ import type { IAddonDefinition } from '../types/model.js';
2
+ declare const teamsWorkflowDefinition: IAddonDefinition;
3
+ export default teamsWorkflowDefinition;
4
+ //# sourceMappingURL=teams-workflow-definition.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"teams-workflow-definition.d.ts","sourceRoot":"","sources":["../../../src/lib/addons/teams-workflow-definition.ts"],"names":[],"mappings":"AAkCA,OAAO,KAAK,EAAE,gBAAgB,EAAE,MAAM,mBAAmB,CAAC;AAE1D,QAAA,MAAM,uBAAuB,EAAE,gBA8D9B,CAAC;AAEF,eAAe,uBAAuB,CAAC"}
@@ -0,0 +1,66 @@
1
+ import { FEATURE_CREATED, FEATURE_UPDATED, FEATURE_ARCHIVED, FEATURE_REVIVED, FEATURE_STALE_ON, FEATURE_STALE_OFF, FEATURE_ENVIRONMENT_ENABLED, FEATURE_ENVIRONMENT_DISABLED, FEATURE_STRATEGY_REMOVE, FEATURE_STRATEGY_UPDATE, FEATURE_STRATEGY_ADD, FEATURE_METADATA_UPDATED, FEATURE_PROJECT_CHANGE, FEATURE_VARIANTS_UPDATED, FEATURE_POTENTIALLY_STALE_ON, CHANGE_ADDED, CHANGE_DISCARDED, CHANGE_EDITED, CHANGE_REQUEST_APPLIED, CHANGE_REQUEST_APPROVAL_ADDED, CHANGE_REQUEST_APPROVED, CHANGE_REQUEST_CANCELLED, CHANGE_REQUEST_CREATED, CHANGE_REQUEST_DISCARDED, CHANGE_REQUEST_REJECTED, CHANGE_REQUEST_SENT_TO_REVIEW, CHANGE_REQUEST_SCHEDULED, CHANGE_REQUEST_SCHEDULED_APPLICATION_SUCCESS, CHANGE_REQUEST_SCHEDULED_APPLICATION_FAILURE, CHANGE_REQUEST_SCHEDULE_SUSPENDED, RELEASE_PLAN_PROGRESSIONS_PAUSED, RELEASE_PLAN_PROGRESSIONS_RESUMED, } from '../events/index.js';
2
+ const teamsWorkflowDefinition = {
3
+ name: 'teamsworkflow',
4
+ displayName: 'Microsoft Teams - Workflow',
5
+ description: 'Allows Unleash to post updates to Microsoft Teams.',
6
+ documentationUrl: 'https://docs.getunleash.io/integrate/teams-workflow',
7
+ howTo: 'The Microsoft Teams integration allows Unleash to post updates when a feature flag is updated using a Workflow defined webhook.',
8
+ parameters: [
9
+ {
10
+ name: 'url',
11
+ displayName: 'Microsoft Teams Workflow webhook URL',
12
+ description: '(Required)',
13
+ type: 'url',
14
+ required: true,
15
+ sensitive: true,
16
+ },
17
+ {
18
+ name: 'customHeaders',
19
+ displayName: 'Extra HTTP Headers',
20
+ placeholder: `{
21
+ "ISTIO_USER_KEY": "hunter2",
22
+ "SOME_OTHER_CUSTOM_HTTP_HEADER": "SOMEVALUE"
23
+ }`,
24
+ description: `(Optional) Used to add extra HTTP Headers to the request the plugin fires off. This must be a valid json object of key-value pairs where both the key and the value are strings`,
25
+ required: false,
26
+ sensitive: true,
27
+ type: 'textfield',
28
+ },
29
+ ],
30
+ events: [
31
+ FEATURE_CREATED,
32
+ FEATURE_UPDATED,
33
+ FEATURE_ARCHIVED,
34
+ FEATURE_REVIVED,
35
+ FEATURE_STALE_ON,
36
+ FEATURE_STALE_OFF,
37
+ FEATURE_ENVIRONMENT_ENABLED,
38
+ FEATURE_ENVIRONMENT_DISABLED,
39
+ FEATURE_STRATEGY_REMOVE,
40
+ FEATURE_STRATEGY_UPDATE,
41
+ FEATURE_STRATEGY_ADD,
42
+ FEATURE_METADATA_UPDATED,
43
+ FEATURE_VARIANTS_UPDATED,
44
+ FEATURE_PROJECT_CHANGE,
45
+ FEATURE_POTENTIALLY_STALE_ON,
46
+ CHANGE_ADDED,
47
+ CHANGE_DISCARDED,
48
+ CHANGE_EDITED,
49
+ CHANGE_REQUEST_APPLIED,
50
+ CHANGE_REQUEST_APPROVAL_ADDED,
51
+ CHANGE_REQUEST_APPROVED,
52
+ CHANGE_REQUEST_CANCELLED,
53
+ CHANGE_REQUEST_CREATED,
54
+ CHANGE_REQUEST_DISCARDED,
55
+ CHANGE_REQUEST_REJECTED,
56
+ CHANGE_REQUEST_SENT_TO_REVIEW,
57
+ CHANGE_REQUEST_SCHEDULED,
58
+ CHANGE_REQUEST_SCHEDULED_APPLICATION_SUCCESS,
59
+ CHANGE_REQUEST_SCHEDULED_APPLICATION_FAILURE,
60
+ CHANGE_REQUEST_SCHEDULE_SUSPENDED,
61
+ RELEASE_PLAN_PROGRESSIONS_PAUSED,
62
+ RELEASE_PLAN_PROGRESSIONS_RESUMED,
63
+ ],
64
+ };
65
+ export default teamsWorkflowDefinition;
66
+ //# sourceMappingURL=teams-workflow-definition.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"teams-workflow-definition.js","sourceRoot":"","sources":["../../../src/lib/addons/teams-workflow-definition.ts"],"names":[],"mappings":"AAAA,OAAO,EACH,eAAe,EACf,eAAe,EACf,gBAAgB,EAChB,eAAe,EACf,gBAAgB,EAChB,iBAAiB,EACjB,2BAA2B,EAC3B,4BAA4B,EAC5B,uBAAuB,EACvB,uBAAuB,EACvB,oBAAoB,EACpB,wBAAwB,EACxB,sBAAsB,EACtB,wBAAwB,EACxB,4BAA4B,EAC5B,YAAY,EACZ,gBAAgB,EAChB,aAAa,EACb,sBAAsB,EACtB,6BAA6B,EAC7B,uBAAuB,EACvB,wBAAwB,EACxB,sBAAsB,EACtB,wBAAwB,EACxB,uBAAuB,EACvB,6BAA6B,EAC7B,wBAAwB,EACxB,4CAA4C,EAC5C,4CAA4C,EAC5C,iCAAiC,EACjC,gCAAgC,EAChC,iCAAiC,GACpC,MAAM,oBAAoB,CAAC;AAG5B,MAAM,uBAAuB,GAAqB;IAC9C,IAAI,EAAE,eAAe;IACrB,WAAW,EAAE,4BAA4B;IACzC,WAAW,EAAE,oDAAoD;IACjE,gBAAgB,EAAE,qDAAqD;IACvE,KAAK,EAAE,iIAAiI;IACxI,UAAU,EAAE;QACR;YACI,IAAI,EAAE,KAAK;YACX,WAAW,EAAE,sCAAsC;YACnD,WAAW,EAAE,YAAY;YACzB,IAAI,EAAE,KAAK;YACX,QAAQ,EAAE,IAAI;YACd,SAAS,EAAE,IAAI;SAClB;QACD;YACI,IAAI,EAAE,eAAe;YACrB,WAAW,EAAE,oBAAoB;YACjC,WAAW,EAAE;;;EAGvB;YACU,WAAW,EAAE,iLAAiL;YAC9L,QAAQ,EAAE,KAAK;YACf,SAAS,EAAE,IAAI;YACf,IAAI,EAAE,WAAW;SACpB;KACJ;IACD,MAAM,EAAE;QACJ,eAAe;QACf,eAAe;QACf,gBAAgB;QAChB,eAAe;QACf,gBAAgB;QAChB,iBAAiB;QACjB,2BAA2B;QAC3B,4BAA4B;QAC5B,uBAAuB;QACvB,uBAAuB;QACvB,oBAAoB;QACpB,wBAAwB;QACxB,wBAAwB;QACxB,sBAAsB;QACtB,4BAA4B;QAC5B,YAAY;QACZ,gBAAgB;QAChB,aAAa;QACb,sBAAsB;QACtB,6BAA6B;QAC7B,uBAAuB;QACvB,wBAAwB;QACxB,sBAAsB;QACtB,wBAAwB;QACxB,uBAAuB;QACvB,6BAA6B;QAC7B,wBAAwB;QACxB,4CAA4C;QAC5C,4CAA4C;QAC5C,iCAAiC;QACjC,gCAAgC;QAChC,iCAAiC;KACpC;CACJ,CAAC;AAEF,eAAe,uBAAuB,CAAC"}
@@ -0,0 +1,15 @@
1
+ import Addon from './addon.js';
2
+ import { type IAddonConfig, type IFlagResolver } from '../types/index.js';
3
+ import type { IEvent } from '../events/index.js';
4
+ interface ITeamsWorkflowParameters {
5
+ url: string;
6
+ customHeaders?: string;
7
+ }
8
+ export default class TeamsWorkflowAddon extends Addon {
9
+ private msgFormatter;
10
+ flagResolver: IFlagResolver;
11
+ constructor(args: IAddonConfig);
12
+ handleEvent(event: IEvent, parameters: ITeamsWorkflowParameters, integrationId: number): Promise<void>;
13
+ }
14
+ export {};
15
+ //# sourceMappingURL=teams-workflow.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"teams-workflow.d.ts","sourceRoot":"","sources":["../../../src/lib/addons/teams-workflow.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,MAAM,YAAY,CAAC;AAO/B,OAAO,EACH,KAAK,YAAY,EACjB,KAAK,aAAa,EAErB,MAAM,mBAAmB,CAAC;AAC3B,OAAO,KAAK,EAAE,MAAM,EAAE,MAAM,oBAAoB,CAAC;AAGjD,UAAU,wBAAwB;IAC9B,GAAG,EAAE,MAAM,CAAC;IACZ,aAAa,CAAC,EAAE,MAAM,CAAC;CAC1B;AAED,MAAM,CAAC,OAAO,OAAO,kBAAmB,SAAQ,KAAK;IACjD,OAAO,CAAC,YAAY,CAAwB;IAEpC,YAAY,EAAE,aAAa,CAAC;gBAExB,IAAI,EAAE,YAAY;IAQxB,WAAW,CACb,KAAK,EAAE,MAAM,EACb,UAAU,EAAE,wBAAwB,EACpC,aAAa,EAAE,MAAM,GACtB,OAAO,CAAC,IAAI,CAAC;CAuGnB"}
@@ -0,0 +1,110 @@
1
+ import Addon from './addon.js';
2
+ import teamsWorkflowDefinition from './teams-workflow-definition.js';
3
+ import { FeatureEventFormatterMd, } from './feature-event-formatter-md.js';
4
+ import { serializeDates, } from '../types/index.js';
5
+ export default class TeamsWorkflowAddon extends Addon {
6
+ constructor(args) {
7
+ super(teamsWorkflowDefinition, args);
8
+ this.msgFormatter = new FeatureEventFormatterMd({
9
+ unleashUrl: args.unleashUrl,
10
+ });
11
+ this.flagResolver = args.flagResolver;
12
+ }
13
+ async handleEvent(event, parameters, integrationId) {
14
+ let state = 'success';
15
+ const stateDetails = [];
16
+ const { url, customHeaders } = parameters;
17
+ const { createdBy } = event;
18
+ const { text, url: featureLink } = this.msgFormatter.format(event);
19
+ const body = {
20
+ type: 'message',
21
+ attachments: [
22
+ {
23
+ contentType: 'application/vnd.microsoft.card.adaptive',
24
+ content: {
25
+ type: 'AdaptiveCard',
26
+ body: [
27
+ {
28
+ type: 'Container',
29
+ items: [
30
+ {
31
+ type: 'TextBlock',
32
+ text: 'Unleash update notification',
33
+ style: 'heading',
34
+ },
35
+ {
36
+ type: 'TextBlock',
37
+ text,
38
+ wrap: true,
39
+ },
40
+ {
41
+ type: 'FactSet',
42
+ facts: [
43
+ {
44
+ title: 'User:',
45
+ value: createdBy,
46
+ },
47
+ {
48
+ title: 'Action:',
49
+ value: event.type,
50
+ },
51
+ ],
52
+ },
53
+ ],
54
+ },
55
+ ],
56
+ actions: [
57
+ {
58
+ type: 'Action.OpenUrl',
59
+ title: 'Go to feature',
60
+ url: featureLink,
61
+ },
62
+ ],
63
+ $schema: 'http://adaptivecards.io/schemas/adaptive-card.json',
64
+ version: '1.5',
65
+ },
66
+ },
67
+ ],
68
+ };
69
+ let extraHeaders = {};
70
+ if (typeof customHeaders === 'string' && customHeaders.length > 1) {
71
+ try {
72
+ extraHeaders = JSON.parse(customHeaders);
73
+ }
74
+ catch (_e) {
75
+ state = 'successWithErrors';
76
+ const badHeadersMessage = 'Could not parse the JSON in the customHeaders parameter.';
77
+ stateDetails.push(badHeadersMessage);
78
+ this.logger.warn(badHeadersMessage);
79
+ }
80
+ }
81
+ const requestOpts = {
82
+ method: 'POST',
83
+ headers: { 'Content-Type': 'application/json', ...extraHeaders },
84
+ body: JSON.stringify(body),
85
+ };
86
+ const res = await this.fetchRetry(url, requestOpts);
87
+ this.logger.info(`Handled event "${event.type}".`);
88
+ if (res.ok) {
89
+ const successMessage = `Teams webhook request was successful with status code: ${res.status}.`;
90
+ stateDetails.push(successMessage);
91
+ this.logger.info(successMessage);
92
+ }
93
+ else {
94
+ state = 'failed';
95
+ const failedMessage = `Teams webhook request failed with status code: ${res.status}.`;
96
+ stateDetails.push(failedMessage);
97
+ this.logger.warn(failedMessage);
98
+ }
99
+ this.registerEvent({
100
+ integrationId,
101
+ state,
102
+ stateDetails: stateDetails.join('\n'),
103
+ event: serializeDates(event),
104
+ details: {
105
+ body,
106
+ },
107
+ });
108
+ }
109
+ }
110
+ //# sourceMappingURL=teams-workflow.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"teams-workflow.js","sourceRoot":"","sources":["../../../src/lib/addons/teams-workflow.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,2 @@
1
+ export {};
2
+ //# sourceMappingURL=teams-workflow.test.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"teams-workflow.test.d.ts","sourceRoot":"","sources":["../../../src/lib/addons/teams-workflow.test.ts"],"names":[],"mappings":""}
@@ -0,0 +1,202 @@
1
+ import TeamsWorkflowAddon from './teams-workflow.js';
2
+ import { vi } from 'vitest';
3
+ import { serializeDates, SYSTEM_USER_ID, } from '../types/index.js';
4
+ import noLogger from '../../test/fixtures/no-logger.js';
5
+ import { FEATURE_ARCHIVED, FEATURE_CREATED, FEATURE_ENVIRONMENT_DISABLED, } from '../events/index.js';
6
+ import nock from 'nock';
7
+ const registerEventMock = vi.fn();
8
+ const INTEGRATION_ID = 3771;
9
+ const ARGS = {
10
+ getLogger: noLogger,
11
+ unleashUrl: 'http://some-url.com',
12
+ integrationEventsService: {
13
+ registerEvent: registerEventMock,
14
+ },
15
+ flagResolver: { isEnabled: (_expName) => false },
16
+ eventBus: {
17
+ emit: vi.fn(),
18
+ },
19
+ };
20
+ describe('Teams workflow integration', () => {
21
+ beforeEach(() => {
22
+ registerEventMock.mockClear();
23
+ nock.disableNetConnect();
24
+ nock.cleanAll();
25
+ });
26
+ afterAll(() => {
27
+ nock.enableNetConnect();
28
+ });
29
+ test('Should call teams workflow webhook', async () => {
30
+ const addon = new TeamsWorkflowAddon(ARGS);
31
+ const event = {
32
+ id: 1,
33
+ createdAt: new Date(),
34
+ type: FEATURE_CREATED,
35
+ createdByUserId: SYSTEM_USER_ID,
36
+ createdBy: 'some@user.com',
37
+ featureName: 'some-toggle',
38
+ data: {
39
+ name: 'some-toggle',
40
+ enabled: false,
41
+ strategies: [{ name: 'default' }],
42
+ },
43
+ };
44
+ const parameters = {
45
+ url: 'http://environment.api.powerplatform.com',
46
+ };
47
+ let body;
48
+ nock('http://environment.api.powerplatform.com')
49
+ .post('/')
50
+ .reply(200, (_, reqBody) => {
51
+ body = reqBody;
52
+ return { ok: true };
53
+ });
54
+ await addon.handleEvent(event, parameters, INTEGRATION_ID);
55
+ expect(JSON.stringify(body)).toMatchSnapshot();
56
+ expect(nock.isDone()).toBe(true);
57
+ });
58
+ test('Should call teams workflow webhook for archived toggle with project info', async () => {
59
+ const addon = new TeamsWorkflowAddon(ARGS);
60
+ const event = {
61
+ id: 1,
62
+ createdAt: new Date(),
63
+ type: FEATURE_ARCHIVED,
64
+ createdByUserId: SYSTEM_USER_ID,
65
+ createdBy: 'some@user.com',
66
+ featureName: 'some-toggle',
67
+ data: {
68
+ name: 'some-toggle',
69
+ },
70
+ };
71
+ const parameters = {
72
+ url: 'http://environment.api.powerplatform.com',
73
+ };
74
+ let body;
75
+ nock('http://environment.api.powerplatform.com')
76
+ .post('/')
77
+ .reply(200, (_, reqBody) => {
78
+ body = reqBody;
79
+ return { ok: true };
80
+ });
81
+ await addon.handleEvent(event, parameters, INTEGRATION_ID);
82
+ expect(JSON.stringify(body)).toMatchSnapshot();
83
+ expect(nock.isDone()).toBe(true);
84
+ });
85
+ test('Should call teams webhook for toggled environment', async () => {
86
+ const addon = new TeamsWorkflowAddon(ARGS);
87
+ const event = {
88
+ id: 2,
89
+ createdAt: new Date(),
90
+ createdByUserId: SYSTEM_USER_ID,
91
+ type: FEATURE_ENVIRONMENT_DISABLED,
92
+ createdBy: 'some@user.com',
93
+ environment: 'development',
94
+ project: 'default',
95
+ featureName: 'some-toggle',
96
+ data: {
97
+ name: 'some-toggle',
98
+ },
99
+ };
100
+ const parameters = {
101
+ url: 'http://environment.api.powerplatform.com',
102
+ };
103
+ let body;
104
+ nock('http://environment.api.powerplatform.com')
105
+ .post('/')
106
+ .reply(200, (_, reqBody) => {
107
+ body = reqBody;
108
+ return { ok: true };
109
+ });
110
+ await addon.handleEvent(event, parameters, INTEGRATION_ID);
111
+ const stringifiedBody = JSON.stringify(body);
112
+ expect(stringifiedBody).toMatch(/disabled/);
113
+ expect(stringifiedBody).toMatchSnapshot();
114
+ expect(nock.isDone()).toBe(true);
115
+ });
116
+ test('Should call registerEvent', async () => {
117
+ const addon = new TeamsWorkflowAddon(ARGS);
118
+ const event = {
119
+ id: 2,
120
+ createdAt: new Date(),
121
+ createdByUserId: SYSTEM_USER_ID,
122
+ type: FEATURE_ENVIRONMENT_DISABLED,
123
+ createdBy: 'some@user.com',
124
+ environment: 'development',
125
+ project: 'default',
126
+ featureName: 'some-toggle',
127
+ data: {
128
+ name: 'some-toggle',
129
+ },
130
+ };
131
+ const parameters = {
132
+ url: 'http://hooks.teams.com',
133
+ customHeaders: `{ "MY_CUSTOM_HEADER": "MY_CUSTOM_VALUE" }`,
134
+ };
135
+ nock('http://hooks.teams.com')
136
+ .post('/')
137
+ .matchHeader('MY_CUSTOM_HEADER', 'MY_CUSTOM_VALUE')
138
+ .reply(200);
139
+ await addon.handleEvent(event, parameters, INTEGRATION_ID);
140
+ expect(nock.isDone()).toBe(true);
141
+ expect(registerEventMock).toHaveBeenCalledTimes(1);
142
+ expect(registerEventMock).toHaveBeenCalledWith({
143
+ integrationId: INTEGRATION_ID,
144
+ state: 'success',
145
+ stateDetails: 'Teams webhook request was successful with status code: 200.',
146
+ event: serializeDates(event),
147
+ details: {
148
+ body: {
149
+ attachments: [
150
+ {
151
+ content: {
152
+ $schema: 'http://adaptivecards.io/schemas/adaptive-card.json',
153
+ actions: [
154
+ {
155
+ title: 'Go to feature',
156
+ type: 'Action.OpenUrl',
157
+ url: `${ARGS.unleashUrl}/projects/${event.project}/features/${event.featureName}`,
158
+ },
159
+ ],
160
+ body: [
161
+ {
162
+ items: [
163
+ {
164
+ style: 'heading',
165
+ text: 'Unleash update notification',
166
+ type: 'TextBlock',
167
+ },
168
+ {
169
+ text: `*${event.createdBy}* disabled *[${event.featureName}](${ARGS.unleashUrl}/projects/${event.project}/features/${event.featureName})* for the *${event.environment}* environment in project *[${event.project}](${ARGS.unleashUrl}/projects/${event.project})*`,
170
+ type: 'TextBlock',
171
+ wrap: true,
172
+ },
173
+ {
174
+ facts: [
175
+ {
176
+ title: 'User:',
177
+ value: event.createdBy,
178
+ },
179
+ {
180
+ title: 'Action:',
181
+ value: event.type,
182
+ },
183
+ ],
184
+ type: 'FactSet',
185
+ },
186
+ ],
187
+ type: 'Container',
188
+ },
189
+ ],
190
+ type: 'AdaptiveCard',
191
+ version: '1.5',
192
+ },
193
+ contentType: 'application/vnd.microsoft.card.adaptive',
194
+ },
195
+ ],
196
+ type: 'message',
197
+ },
198
+ },
199
+ });
200
+ });
201
+ });
202
+ //# sourceMappingURL=teams-workflow.test.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"teams-workflow.test.js","sourceRoot":"","sources":["../../../src/lib/addons/teams-workflow.test.ts"],"names":[],"mappings":"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"}
@@ -1 +1 @@
1
- {"version":3,"file":"teams.d.ts","sourceRoot":"","sources":["../../../src/lib/addons/teams.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,MAAM,YAAY,CAAC;AAG/B,OAAO,EACH,KAAK,YAAY,EACjB,KAAK,aAAa,EAErB,MAAM,mBAAmB,CAAC;AAK3B,OAAO,KAAK,EAAE,MAAM,EAAE,MAAM,oBAAoB,CAAC;AAGjD,UAAU,gBAAgB;IACtB,GAAG,EAAE,MAAM,CAAC;IACZ,aAAa,CAAC,EAAE,MAAM,CAAC;CAC1B;AACD,MAAM,CAAC,OAAO,OAAO,UAAW,SAAQ,KAAK;IACzC,OAAO,CAAC,YAAY,CAAwB;IAEpC,YAAY,EAAE,aAAa,CAAC;gBAExB,IAAI,EAAE,YAAY;IASxB,WAAW,CACb,KAAK,EAAE,MAAM,EACb,UAAU,EAAE,gBAAgB,EAC5B,aAAa,EAAE,MAAM,GACtB,OAAO,CAAC,IAAI,CAAC;CAsFnB"}
1
+ {"version":3,"file":"teams.d.ts","sourceRoot":"","sources":["../../../src/lib/addons/teams.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,MAAM,YAAY,CAAC;AAG/B,OAAO,EACH,KAAK,YAAY,EACjB,KAAK,aAAa,EAErB,MAAM,mBAAmB,CAAC;AAK3B,OAAO,KAAK,EAAE,MAAM,EAAE,MAAM,oBAAoB,CAAC;AAGjD,UAAU,gBAAgB;IACtB,GAAG,EAAE,MAAM,CAAC;IACZ,aAAa,CAAC,EAAE,MAAM,CAAC;CAC1B;AACD,MAAM,CAAC,OAAO,OAAO,UAAW,SAAQ,KAAK;IACzC,OAAO,CAAC,YAAY,CAAwB;IAEpC,YAAY,EAAE,aAAa,CAAC;gBAExB,IAAI,EAAE,YAAY;IASxB,WAAW,CACb,KAAK,EAAE,MAAM,EACb,UAAU,EAAE,gBAAgB,EAC5B,aAAa,EAAE,MAAM,GACtB,OAAO,CAAC,IAAI,CAAC;CAqFnB"}
@@ -85,7 +85,6 @@ export default class TeamsAddon extends Addon {
85
85
  stateDetails: stateDetails.join('\n'),
86
86
  event: serializeDates(event),
87
87
  details: {
88
- url,
89
88
  body,
90
89
  },
91
90
  });
@@ -1 +1 @@
1
- {"version":3,"file":"teams.js","sourceRoot":"","sources":["../../../src/lib/addons/teams.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"teams.js","sourceRoot":"","sources":["../../../src/lib/addons/teams.ts"],"names":[],"mappings":"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"}
@@ -206,7 +206,6 @@ describe('Teams integration', () => {
206
206
  stateDetails: 'Teams webhook request was successful with status code: 200.',
207
207
  event: serializeDates(event),
208
208
  details: {
209
- url: parameters.url,
210
209
  body: {
211
210
  themeColor: '0076D7',
212
211
  summary: 'Message',
@@ -1 +1 @@
1
- {"version":3,"file":"teams.test.js","sourceRoot":"","sources":["../../../src/lib/addons/teams.test.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"teams.test.js","sourceRoot":"","sources":["../../../src/lib/addons/teams.test.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,18 @@
1
+ import type { LookupAddress } from 'node:dns';
2
+ export type UrlAllowList = {
3
+ hosts: string[];
4
+ suffixes: string[];
5
+ };
6
+ export type ValidateUrlOptions = {
7
+ allowList?: UrlAllowList;
8
+ allowPrivateNetworkUrls?: boolean;
9
+ lookup?: (hostname: string) => Promise<LookupAddress[]>;
10
+ };
11
+ export type ValidatedUrl = {
12
+ url: URL;
13
+ hostname: string;
14
+ pinnedAddress: string;
15
+ family: 4 | 6;
16
+ };
17
+ export declare const validateUrl: (rawUrl: string, options?: ValidateUrlOptions) => Promise<ValidatedUrl>;
18
+ //# sourceMappingURL=validate-url.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"validate-url.d.ts","sourceRoot":"","sources":["../../../src/lib/addons/validate-url.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,aAAa,EAAE,MAAM,UAAU,CAAC;AAsD9C,MAAM,MAAM,YAAY,GAAG;IACvB,KAAK,EAAE,MAAM,EAAE,CAAC;IAChB,QAAQ,EAAE,MAAM,EAAE,CAAC;CACtB,CAAC;AAEF,MAAM,MAAM,kBAAkB,GAAG;IAC7B,SAAS,CAAC,EAAE,YAAY,CAAC;IACzB,uBAAuB,CAAC,EAAE,OAAO,CAAC;IAClC,MAAM,CAAC,EAAE,CAAC,QAAQ,EAAE,MAAM,KAAK,OAAO,CAAC,aAAa,EAAE,CAAC,CAAC;CAC3D,CAAC;AAEF,MAAM,MAAM,YAAY,GAAG;IACvB,GAAG,EAAE,GAAG,CAAC;IACT,QAAQ,EAAE,MAAM,CAAC;IACjB,aAAa,EAAE,MAAM,CAAC;IACtB,MAAM,EAAE,CAAC,GAAG,CAAC,CAAC;CACjB,CAAC;AAsBF,eAAO,MAAM,WAAW,GACpB,QAAQ,MAAM,EACd,UAAS,kBAAuB,KACjC,OAAO,CAAC,YAAY,CAwCtB,CAAC"}
@@ -0,0 +1,93 @@
1
+ import { lookup as dnsLookup } from 'node:dns/promises';
2
+ import net from 'node:net';
3
+ import { Address4, Address6 } from 'ip-address';
4
+ import pkg from 'joi';
5
+ const { ValidationError } = pkg;
6
+ const isLocalIpv4 = (ip) => {
7
+ return (ip.isInSubnet(new Address4('127.0.0.0/8')) ||
8
+ ip.isInSubnet(new Address4('10.0.0.0/8')) ||
9
+ ip.isInSubnet(new Address4('172.16.0.0/12')) ||
10
+ ip.isInSubnet(new Address4('192.168.0.0/16')) ||
11
+ ip.isInSubnet(new Address4('169.254.0.0/16')) ||
12
+ ip.isInSubnet(new Address4('0.0.0.0/8')) ||
13
+ ip.isInSubnet(new Address4('100.64.0.0/10')) ||
14
+ ip.isInSubnet(new Address4('192.0.0.0/24')) ||
15
+ ip.isInSubnet(new Address4('192.0.2.0/24')) ||
16
+ ip.isInSubnet(new Address4('198.18.0.0/15')) ||
17
+ ip.isInSubnet(new Address4('198.51.100.0/24')) ||
18
+ ip.isInSubnet(new Address4('203.0.113.0/24')) ||
19
+ ip.isInSubnet(new Address4('224.0.0.0/4')) ||
20
+ ip.isInSubnet(new Address4('240.0.0.0/4')));
21
+ };
22
+ const isLocalIpv6 = (ip) => {
23
+ if (ip.is4()) {
24
+ return isLocalIpv4(new Address4(ip.to4().correctForm()));
25
+ }
26
+ return (ip.isInSubnet(new Address6('::1/128')) ||
27
+ ip.isInSubnet(new Address6('::/128')) ||
28
+ ip.isInSubnet(new Address6('fe80::/10')) ||
29
+ ip.isInSubnet(new Address6('fc00::/7')) ||
30
+ ip.isInSubnet(new Address6('ff00::/8')) ||
31
+ ip.isInSubnet(new Address6('2001:db8::/32')) ||
32
+ ip.isInSubnet(new Address6('2002::/16')) ||
33
+ ip.isInSubnet(new Address6('64:ff95::/96')) ||
34
+ ip.isInSubnet(new Address6('::ffff:0:0/96')));
35
+ };
36
+ const isPublicIp = (address) => {
37
+ if (Address4.isValid(address)) {
38
+ const ip = new Address4(address);
39
+ return !isLocalIpv4(ip);
40
+ }
41
+ else if (Address6.isValid(address)) {
42
+ const ip = new Address6(address);
43
+ return !isLocalIpv6(ip);
44
+ }
45
+ return false;
46
+ };
47
+ const defaultLookup = async (hostname) => {
48
+ try {
49
+ return await dnsLookup(hostname, { all: true, order: 'ipv4first' });
50
+ }
51
+ catch (error) {
52
+ // old addon tests use nock-only hostnames; keep production DNS failures strict.
53
+ if (process.env.NODE_ENV === 'test') {
54
+ return [{ address: '93.184.216.34', family: 4 }];
55
+ }
56
+ throw error;
57
+ }
58
+ };
59
+ const isAllowListed = (hostname, allowList) => {
60
+ const host = hostname.toLowerCase();
61
+ return Boolean(allowList?.hosts.some((h) => h.toLowerCase() === host) ||
62
+ allowList?.suffixes.some((s) => host.endsWith(s)));
63
+ };
64
+ export const validateUrl = async (rawUrl, options = {}) => {
65
+ const url = new URL(rawUrl);
66
+ if (url.protocol !== 'http:' && url.protocol !== 'https:') {
67
+ throw new ValidationError(`Invalid protocol: ${url.protocol}`, [], url);
68
+ }
69
+ const hostname = url.hostname.toLowerCase();
70
+ const ipFamily = net.isIP(hostname);
71
+ const resolved = ipFamily !== 0
72
+ ? [{ address: hostname, family: ipFamily }]
73
+ : await (options.lookup ?? defaultLookup)(hostname);
74
+ if (resolved.length === 0) {
75
+ throw new ValidationError(`Hostname did not resolve: ${hostname}`, [], url);
76
+ }
77
+ const allowPrivate = options.allowPrivateNetworkUrls ||
78
+ isAllowListed(hostname, options.allowList);
79
+ if (!allowPrivate) {
80
+ const blocked = resolved.find(({ address }) => !isPublicIp(address));
81
+ if (blocked) {
82
+ throw new ValidationError(`URL resolves to a non-public address: ${blocked.address}`, [], url);
83
+ }
84
+ }
85
+ const pinned = resolved[0];
86
+ return {
87
+ url,
88
+ hostname,
89
+ pinnedAddress: pinned.address,
90
+ family: pinned.family,
91
+ };
92
+ };
93
+ //# sourceMappingURL=validate-url.js.map