unleash-server 7.5.0 → 7.5.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 (229) 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/new-relic.d.ts.map +1 -1
  10. package/dist/lib/addons/new-relic.js +0 -1
  11. package/dist/lib/addons/new-relic.js.map +1 -1
  12. package/dist/lib/addons/new-relic.test.js +0 -1
  13. package/dist/lib/addons/new-relic.test.js.map +1 -1
  14. package/dist/lib/addons/slack.test.js +1 -2
  15. package/dist/lib/addons/slack.test.js.map +1 -1
  16. package/dist/lib/addons/teams.d.ts.map +1 -1
  17. package/dist/lib/addons/teams.js +0 -1
  18. package/dist/lib/addons/teams.js.map +1 -1
  19. package/dist/lib/addons/teams.test.js +0 -1
  20. package/dist/lib/addons/teams.test.js.map +1 -1
  21. package/dist/lib/addons/validate-url.d.ts +18 -0
  22. package/dist/lib/addons/validate-url.d.ts.map +1 -0
  23. package/dist/lib/addons/validate-url.js +93 -0
  24. package/dist/lib/addons/validate-url.js.map +1 -0
  25. package/dist/lib/addons/validate-url.test.d.ts +2 -0
  26. package/dist/lib/addons/validate-url.test.d.ts.map +1 -0
  27. package/dist/lib/addons/validate-url.test.js +199 -0
  28. package/dist/lib/addons/validate-url.test.js.map +1 -0
  29. package/dist/lib/create-config.d.ts.map +1 -1
  30. package/dist/lib/create-config.js +7 -0
  31. package/dist/lib/create-config.js.map +1 -1
  32. package/dist/lib/error/bad-data-error.d.ts.map +1 -1
  33. package/dist/lib/error/bad-data-error.js +10 -2
  34. package/dist/lib/error/bad-data-error.js.map +1 -1
  35. package/dist/lib/error/unleash-error.test.js +23 -0
  36. package/dist/lib/error/unleash-error.test.js.map +1 -1
  37. package/dist/lib/features/client-feature-toggles/delta/client-feature-toggle-delta.d.ts +3 -0
  38. package/dist/lib/features/client-feature-toggles/delta/client-feature-toggle-delta.d.ts.map +1 -1
  39. package/dist/lib/features/client-feature-toggles/delta/client-feature-toggle-delta.js +50 -1
  40. package/dist/lib/features/client-feature-toggles/delta/client-feature-toggle-delta.js.map +1 -1
  41. package/dist/lib/features/events/event-store.d.ts +4 -0
  42. package/dist/lib/features/events/event-store.d.ts.map +1 -1
  43. package/dist/lib/features/events/event-store.js +62 -1
  44. package/dist/lib/features/events/event-store.js.map +1 -1
  45. package/dist/lib/features/feature-toggle/fakes/fake-features-read-model.d.ts +4 -1
  46. package/dist/lib/features/feature-toggle/fakes/fake-features-read-model.d.ts.map +1 -1
  47. package/dist/lib/features/feature-toggle/fakes/fake-features-read-model.js +5 -1
  48. package/dist/lib/features/feature-toggle/fakes/fake-features-read-model.js.map +1 -1
  49. package/dist/lib/features/feature-toggle/feature-toggle-service.d.ts.map +1 -1
  50. package/dist/lib/features/feature-toggle/feature-toggle-service.js +4 -0
  51. package/dist/lib/features/feature-toggle/feature-toggle-service.js.map +1 -1
  52. package/dist/lib/features/feature-toggle/features-read-model.d.ts +2 -1
  53. package/dist/lib/features/feature-toggle/features-read-model.d.ts.map +1 -1
  54. package/dist/lib/features/feature-toggle/features-read-model.js +10 -2
  55. package/dist/lib/features/feature-toggle/features-read-model.js.map +1 -1
  56. package/dist/lib/features/feature-toggle/tests/feature-toggle-service.e2e.test.js +17 -0
  57. package/dist/lib/features/feature-toggle/tests/feature-toggle-service.e2e.test.js.map +1 -1
  58. package/dist/lib/features/feature-toggle/tests/features-read-model.e2e.test.d.ts +2 -0
  59. package/dist/lib/features/feature-toggle/tests/features-read-model.e2e.test.d.ts.map +1 -0
  60. package/dist/lib/features/feature-toggle/tests/features-read-model.e2e.test.js +44 -0
  61. package/dist/lib/features/feature-toggle/tests/features-read-model.e2e.test.js.map +1 -0
  62. package/dist/lib/features/feature-toggle/types/features-read-model-type.d.ts +1 -0
  63. package/dist/lib/features/feature-toggle/types/features-read-model-type.d.ts.map +1 -1
  64. package/dist/lib/features/frontend-api/frontend-api-controller.d.ts.map +1 -1
  65. package/dist/lib/features/frontend-api/frontend-api-controller.js +3 -2
  66. package/dist/lib/features/frontend-api/frontend-api-controller.js.map +1 -1
  67. package/dist/lib/features/instance-stats/instance-stats-service.d.ts.map +1 -1
  68. package/dist/lib/features/instance-stats/instance-stats-service.js +2 -6
  69. package/dist/lib/features/instance-stats/instance-stats-service.js.map +1 -1
  70. package/dist/lib/features/metrics/instance/metrics.d.ts.map +1 -1
  71. package/dist/lib/features/metrics/instance/metrics.js +5 -2
  72. package/dist/lib/features/metrics/instance/metrics.js.map +1 -1
  73. package/dist/lib/features/metrics/instance/register.d.ts.map +1 -1
  74. package/dist/lib/features/metrics/instance/register.js +3 -1
  75. package/dist/lib/features/metrics/instance/register.js.map +1 -1
  76. package/dist/lib/features/release-plans/release-plan-milestone-strategy-service.d.ts +4 -3
  77. package/dist/lib/features/release-plans/release-plan-milestone-strategy-service.d.ts.map +1 -1
  78. package/dist/lib/features/release-plans/release-plan-milestone-strategy-store.d.ts.map +1 -1
  79. package/dist/lib/features/release-plans/release-plan-milestone-strategy-store.js +5 -2
  80. package/dist/lib/features/release-plans/release-plan-milestone-strategy-store.js.map +1 -1
  81. package/dist/lib/features/release-plans/release-plan-milestone-strategy.d.ts +1 -0
  82. package/dist/lib/features/release-plans/release-plan-milestone-strategy.d.ts.map +1 -1
  83. package/dist/lib/features/release-plans/release-plan-store.d.ts.map +1 -1
  84. package/dist/lib/features/release-plans/release-plan-store.js +7 -4
  85. package/dist/lib/features/release-plans/release-plan-store.js.map +1 -1
  86. package/dist/lib/features/release-plans/release-plan-template-store.d.ts.map +1 -1
  87. package/dist/lib/features/release-plans/release-plan-template-store.js +2 -1
  88. package/dist/lib/features/release-plans/release-plan-template-store.js.map +1 -1
  89. package/dist/lib/metrics.d.ts.map +1 -1
  90. package/dist/lib/metrics.js +1 -6
  91. package/dist/lib/metrics.js.map +1 -1
  92. package/dist/lib/middleware/bearer-token-middleware.test.js +12 -10
  93. package/dist/lib/middleware/bearer-token-middleware.test.js.map +1 -1
  94. package/dist/lib/openapi/spec/export-result-schema.d.ts +96 -0
  95. package/dist/lib/openapi/spec/export-result-schema.d.ts.map +1 -1
  96. package/dist/lib/openapi/spec/feature-environment-schema.d.ts +24 -0
  97. package/dist/lib/openapi/spec/feature-environment-schema.d.ts.map +1 -1
  98. package/dist/lib/openapi/spec/feature-schema.d.ts +48 -0
  99. package/dist/lib/openapi/spec/feature-schema.d.ts.map +1 -1
  100. package/dist/lib/openapi/spec/feature-search-environment-schema.d.ts +48 -0
  101. package/dist/lib/openapi/spec/feature-search-environment-schema.d.ts.map +1 -1
  102. package/dist/lib/openapi/spec/feature-search-response-schema.d.ts +48 -0
  103. package/dist/lib/openapi/spec/feature-search-response-schema.d.ts.map +1 -1
  104. package/dist/lib/openapi/spec/health-overview-schema.d.ts +96 -0
  105. package/dist/lib/openapi/spec/health-overview-schema.d.ts.map +1 -1
  106. package/dist/lib/openapi/spec/health-report-schema.d.ts +96 -0
  107. package/dist/lib/openapi/spec/health-report-schema.d.ts.map +1 -1
  108. package/dist/lib/openapi/spec/index.d.ts +1 -0
  109. package/dist/lib/openapi/spec/index.d.ts.map +1 -1
  110. package/dist/lib/openapi/spec/index.js +1 -0
  111. package/dist/lib/openapi/spec/index.js.map +1 -1
  112. package/dist/lib/openapi/spec/profile-schema.d.ts +48 -0
  113. package/dist/lib/openapi/spec/profile-schema.d.ts.map +1 -1
  114. package/dist/lib/openapi/spec/project-overview-schema.d.ts +96 -0
  115. package/dist/lib/openapi/spec/project-overview-schema.d.ts.map +1 -1
  116. package/dist/lib/openapi/spec/release-plan-milestone-schema.d.ts +6 -0
  117. package/dist/lib/openapi/spec/release-plan-milestone-schema.d.ts.map +1 -1
  118. package/dist/lib/openapi/spec/release-plan-milestone-strategy-schema.d.ts +6 -0
  119. package/dist/lib/openapi/spec/release-plan-milestone-strategy-schema.d.ts.map +1 -1
  120. package/dist/lib/openapi/spec/release-plan-milestone-strategy-schema.js +6 -2
  121. package/dist/lib/openapi/spec/release-plan-milestone-strategy-schema.js.map +1 -1
  122. package/dist/lib/openapi/spec/release-plan-schema.d.ts +12 -0
  123. package/dist/lib/openapi/spec/release-plan-schema.d.ts.map +1 -1
  124. package/dist/lib/openapi/spec/release-plan-template-schema.d.ts +12 -0
  125. package/dist/lib/openapi/spec/release-plan-template-schema.d.ts.map +1 -1
  126. package/dist/lib/openapi/spec/release-plans-schema.d.ts +3337 -0
  127. package/dist/lib/openapi/spec/release-plans-schema.d.ts.map +1 -0
  128. package/dist/lib/openapi/spec/release-plans-schema.js +35 -0
  129. package/dist/lib/openapi/spec/release-plans-schema.js.map +1 -0
  130. package/dist/lib/openapi/spec/search-features-schema.d.ts +96 -0
  131. package/dist/lib/openapi/spec/search-features-schema.d.ts.map +1 -1
  132. package/dist/lib/routes/admin-api/user-admin.d.ts.map +1 -1
  133. package/dist/lib/routes/admin-api/user-admin.js +3 -2
  134. package/dist/lib/routes/admin-api/user-admin.js.map +1 -1
  135. package/dist/lib/routes/auth/simple-password-provider.d.ts.map +1 -1
  136. package/dist/lib/routes/auth/simple-password-provider.js +2 -1
  137. package/dist/lib/routes/auth/simple-password-provider.js.map +1 -1
  138. package/dist/lib/routes/util.d.ts.map +1 -1
  139. package/dist/lib/routes/util.js +9 -6
  140. package/dist/lib/routes/util.js.map +1 -1
  141. package/dist/lib/routes/util.test.d.ts +2 -0
  142. package/dist/lib/routes/util.test.d.ts.map +1 -0
  143. package/dist/lib/routes/util.test.js +18 -0
  144. package/dist/lib/routes/util.test.js.map +1 -0
  145. package/dist/lib/server-impl.d.ts +5 -2
  146. package/dist/lib/server-impl.d.ts.map +1 -1
  147. package/dist/lib/server-impl.js +3 -1
  148. package/dist/lib/server-impl.js.map +1 -1
  149. package/dist/lib/services/addon-service.d.ts +6 -1
  150. package/dist/lib/services/addon-service.d.ts.map +1 -1
  151. package/dist/lib/services/addon-service.js +16 -1
  152. package/dist/lib/services/addon-service.js.map +1 -1
  153. package/dist/lib/services/addon-service.test.js +10 -8
  154. package/dist/lib/services/addon-service.test.js.map +1 -1
  155. package/dist/lib/types/experimental.d.ts +1 -1
  156. package/dist/lib/types/experimental.d.ts.map +1 -1
  157. package/dist/lib/types/experimental.js +1 -2
  158. package/dist/lib/types/experimental.js.map +1 -1
  159. package/dist/lib/types/model.d.ts +3 -4
  160. package/dist/lib/types/model.d.ts.map +1 -1
  161. package/dist/lib/types/model.js.map +1 -1
  162. package/dist/lib/types/option.d.ts +4 -0
  163. package/dist/lib/types/option.d.ts.map +1 -1
  164. package/dist/lib/types/stores/event-store.d.ts +4 -0
  165. package/dist/lib/types/stores/event-store.d.ts.map +1 -1
  166. package/dist/lib/util/extract-user.d.ts +3 -0
  167. package/dist/lib/util/extract-user.d.ts.map +1 -1
  168. package/dist/lib/util/extract-user.js +4 -1
  169. package/dist/lib/util/extract-user.js.map +1 -1
  170. package/dist/server-dev.js +0 -1
  171. package/dist/server-dev.js.map +1 -1
  172. package/dist/test/e2e/api/admin/addon.e2e.test.js +1 -0
  173. package/dist/test/e2e/api/admin/addon.e2e.test.js.map +1 -1
  174. package/dist/test/e2e/services/addon-service.e2e.test.js +2 -0
  175. package/dist/test/e2e/services/addon-service.e2e.test.js.map +1 -1
  176. package/dist/test/e2e/stores/event-store.e2e.test.js +140 -2
  177. package/dist/test/e2e/stores/event-store.e2e.test.js.map +1 -1
  178. package/dist/test/fixtures/fake-event-store.d.ts +4 -0
  179. package/dist/test/fixtures/fake-event-store.d.ts.map +1 -1
  180. package/dist/test/fixtures/fake-event-store.js +6 -0
  181. package/dist/test/fixtures/fake-event-store.js.map +1 -1
  182. package/frontend/build/index.html +1 -1
  183. package/frontend/build/static/AdvancedPlayground-CF0hkpiE.js +3 -0
  184. package/frontend/build/static/BackendConnections-DhZczar-.js +1 -0
  185. package/frontend/build/static/{CreateProject-DLXZ-0X5.js → CreateProject-DV-Ad8Sn.js} +1 -1
  186. package/frontend/build/static/{EnterpriseEdge-CBHzLvsx.js → EnterpriseEdge-D1To2ugP.js} +2 -2
  187. package/frontend/build/static/{FeatureMetricsChart-OmbUYN9n.js → FeatureMetricsChart-D8sRgx5P.js} +2 -2
  188. package/frontend/build/static/FeatureStaleDialog-DOkhgvaj.js +7 -0
  189. package/frontend/build/static/{FeatureViewLazyExport-JSvPNdBO.js → FeatureViewLazyExport-Bsw7-knb.js} +5 -5
  190. package/frontend/build/static/{FlagMetricsChart-D_AVQDU4.js → FlagMetricsChart-CF_kEyQa.js} +2 -2
  191. package/frontend/build/static/FrontendNetworkTrafficUsage-C8zJSvoc.js +1 -0
  192. package/frontend/build/static/GridLayoutWrapper-DpJcUbQB.js +3 -0
  193. package/frontend/build/static/{ImpactMetricsPage-PgSyQayh.js → ImpactMetricsPage-KLVv-tP4.js} +1 -1
  194. package/frontend/build/static/{LazyAdminExport-BYVn1j-Y.js → LazyAdminExport-CWQiknO-.js} +12 -12
  195. package/frontend/build/static/{LazyProjectExport-DkfLitTN.js → LazyProjectExport-DsMn4Yxm.js} +25 -25
  196. package/frontend/build/static/LifecycleChartComponent-cxR-TN3V.js +7 -0
  197. package/frontend/build/static/LineChartComponent-_yZEp3dd.js +1 -0
  198. package/frontend/build/static/{MarkCompletedDialogue-CkeYSNgH.js → MarkCompletedDialogue-DFtLyDN0.js} +1 -1
  199. package/frontend/build/static/{NetworkOverview-BQlqnxzn.js → NetworkOverview-DxaPXUzZ.js} +1 -1
  200. package/frontend/build/static/{NetworkPrometheusAPIWarning-Ba6dYYvk.js → NetworkPrometheusAPIWarning-ltyTlXFF.js} +1 -1
  201. package/frontend/build/static/{NetworkTraffic-p3aQqm31.js → NetworkTraffic-Dhw4yIBs.js} +1 -1
  202. package/frontend/build/static/{NetworkTrafficUsage-y1jnkey9.js → NetworkTrafficUsage-deKWRhIS.js} +1 -1
  203. package/frontend/build/static/{PercentageDonut-WlMbDfDd.js → PercentageDonut-JGNh2FVZ.js} +1 -1
  204. package/frontend/build/static/ReactJSONEditor-GHl7KvdS.js +3864 -0
  205. package/frontend/build/static/{RoleCell-BtYhy-KF.js → RoleCell-CjVCxBgl.js} +1 -1
  206. package/frontend/build/static/{aggregateFeatureMetrics-DqOEKfDa.js → aggregateFeatureMetrics-YEdZNNoV.js} +1 -1
  207. package/frontend/build/static/formatTickValue-BZb4ZIL9.js +6 -0
  208. package/frontend/build/static/heart-FRDdnX3J.svg +3 -0
  209. package/frontend/build/static/index-DMSjiFEm.js +583 -0
  210. package/frontend/build/static/index-DcWBU_a4.js +12 -0
  211. package/frontend/build/static/networkTrafficUsageHighlightPlugin-BbfAyDiQ.js +1 -0
  212. package/frontend/build/static/texture-signup-CpC2AFD3.png +0 -0
  213. package/frontend/build/static/{useApiTokens-BnZdG9it.js → useApiTokens-DBB3NvXL.js} +1 -1
  214. package/frontend/package.json +14 -9
  215. package/package.json +47 -47
  216. package/frontend/build/static/AdvancedPlayground-Bh4g1c_w.js +0 -3
  217. package/frontend/build/static/BackendConnections-BwktKdeU.js +0 -1
  218. package/frontend/build/static/FeatureStaleDialog-Ckz7F5lw.js +0 -7
  219. package/frontend/build/static/FrontendNetworkTrafficUsage-BXS05ybi.js +0 -1
  220. package/frontend/build/static/GridLayoutWrapper-CyXfGdie.js +0 -3
  221. package/frontend/build/static/LifecycleChartComponent-Clq_uGBn.js +0 -7
  222. package/frontend/build/static/LineChartComponent-kHzkQRMt.js +0 -1
  223. package/frontend/build/static/ReactJSONEditor-CD6u2VLM.js +0 -89
  224. package/frontend/build/static/formatTickValue-Ca6X6Ivj.js +0 -6
  225. package/frontend/build/static/index-Bj8wwcOa.js +0 -11
  226. package/frontend/build/static/index-CiWHTkEm.js +0 -580
  227. package/frontend/build/static/networkTrafficUsageHighlightPlugin-Y95iEJUb.js +0 -1
  228. package/frontend/build/static/unleash_logo_dark_no_label-DHgOj_XN.svg +0 -6
  229. package/frontend/build/static/unleash_logo_white_no_label-BazgWvcx.svg +0 -6
@@ -1 +0,0 @@
1
- import{F as _,H as z,j as i,ew as w,k0 as j,eu as N,s as u,k as W,J,r as d,et as P,B as H,hx as G,k1 as O,k2 as D,k3 as V,ga as Y,ex as R,cs as B,b7 as L,b9 as T,er as K,ey as Q,dg as X,b as Z,bq as tt,jU as et}from"./index-CiWHTkEm.js";import{a as p,f as b,T as ot,p as y,b as g,d as at,c as rt,u as nt,e as st,g as lt,h as ct}from"./LazyAdminExport-BYVn1j-Y.js";import{f as it}from"./formatTickValue-Ca6X6Ivj.js";var f={},ut=z;Object.defineProperty(f,"__esModule",{value:!0});var q=f.default=void 0,dt=ut(_()),pt=i,gt=(0,dt.default)((0,pt.jsx)("path",{d:"m7 14 5-5 5 5z"}),"ArrowDropUp");q=f.default=gt;const M=(t,e,r=!0)=>{const o=t.getFullYear(),a=t.getMonth(),s=b(t),n=N(t);return{key:s,year:o,month:a,dayCount:n,shortLabel:t.toLocaleString("en-US",{month:"short"}),label:e||t.toLocaleString("en-US",{month:"long",year:"numeric"}),selectable:r}},ht=t=>{const e=[M(t,"Current month")],r=w(t);for(let o=1;o<12;o++){const a=j(r,o);e.push(M(a,void 0,a>=ot))}return e},C=ht(p),mt=Object.fromEntries(C.map(t=>[t.key,t])),I="15rem",x=t=>t.spacing(3),$=u("button",{shouldForwardProp:t=>t!=="selected"})(({theme:t,selected:e})=>({cursor:"pointer",border:"none",backgroundColor:e?t.palette.secondary.light:"inherit",fontSize:t.typography.body1.fontSize,padding:t.spacing(.5),borderRadius:t.shape.borderRadius,color:t.palette.text.primary,transition:"background-color 0.2s ease",":focus-visible":{outline:`2px solid ${t.palette.primary.main}`},":hover:not(:disabled)":{backgroundColor:t.palette.action.hover}})),bt=u($)(({theme:t})=>({":disabled":{cursor:"default",color:t.palette.text.disabled}})),yt=u($)(({theme:t})=>({width:"100%",paddingBlock:t.spacing(1),textAlign:"left",borderRadius:0,paddingInline:x(t)})),ft=u(W)(({theme:t})=>({whiteSpace:"nowrap",width:I,justifyContent:"space-between",fontWeight:"normal",color:t.palette.text.primary,borderColor:t.palette.divider,":focus-within":{borderColor:t.palette.primary.main},":hover":{borderColor:t.palette.text.disabled,backgroundColor:"inherit"},transition:"border-color 0.1s ease"})),Ct=u("article")(({theme:t})=>({width:I,paddingBlock:t.spacing(2),display:"flex",flexFlow:"column",gap:t.spacing(2)})),xt=u("article")(({theme:t})=>({paddingInline:x(t)})),St=u("hgroup")(({theme:t})=>({h3:{margin:0,fontSize:t.typography.h3.fontSize},p:{color:t.palette.text.secondary,fontSize:t.typography.body2.fontSize}})),vt=u("ul")(({theme:t})=>({listStyle:"none",padding:0,display:"grid",gridTemplateColumns:"repeat(4, 1fr)",rowGap:t.spacing(1)})),Dt=u("article")(({theme:t})=>({display:"flex",width:"100%",flexFlow:"column",gap:t.spacing(.5)})),Rt=u("p")(({theme:t})=>({paddingInline:x(t),fontSize:t.typography.body2.fontSize,margin:0,color:t.palette.text.secondary,fontWeight:"bold"})),Mt=u("ul")(({theme:t})=>({listStyle:"none",margin:0,padding:0,width:"100%",li:{width:"100%"}})),kt=u(J)(({theme:t})=>({"& .MuiPaper-root":{borderRadius:t.shape.borderRadiusLarge,border:`1px solid ${t.palette.divider}`}})),_t=({selectedPeriod:t,setPeriod:e})=>{const r=[3,6,12].map(l=>({value:l,label:`Last ${l} months`})),[o,a]=d.useState(!1),s=d.useRef(null),n=l=>{e(l),a(!1)},c=t.grouping==="daily"?t.month===P(new Date,"yyyy-MM")?"Current month":y(t.month).toLocaleDateString("en-US",{month:"long",year:"numeric"}):`Last ${t.monthsBack} months`;return i.jsxs(H,{ref:s,children:[i.jsx(ft,{endIcon:o?i.jsx(q,{}):i.jsx(G,{}),variant:"outlined",disableRipple:!0,onClick:()=>a(!0),children:c}),i.jsxs(kt,{open:o,anchorEl:s.current,onClose:()=>a(!1),anchorOrigin:{vertical:"bottom",horizontal:"center"},transformOrigin:{vertical:"top",horizontal:"center"},children:[i.jsxs(Ct,{children:[i.jsxs(xt,{children:[i.jsxs(St,{children:[i.jsx("h3",{children:"Select month"}),i.jsx("p",{children:"Last 12 months"})]}),i.jsx(vt,{children:C.map(l=>i.jsx("li",{children:i.jsx(bt,{selected:t.grouping==="daily"&&l.key===t.month,disabled:!l.selectable,onClick:()=>{n({grouping:"daily",month:l.key})},children:l.shortLabel})},l.label))})]}),i.jsxs(Dt,{children:[i.jsx(Rt,{children:"Range"}),i.jsx(Mt,{children:r.map(l=>i.jsx("li",{children:i.jsxs(yt,{selected:t.grouping==="monthly"&&l.value===t.monthsBack,type:"button",onClick:()=>{n({grouping:"monthly",monthsBack:l.value})},children:["Last ",l.value," months"]})},l.label))})]})]})," "]})]})},h={"/api/admin":{label:"Admin",color:"#6D66D9",order:1},"/api/frontend":{label:"Frontend",color:"#A39EFF",order:2},"/api/client":{label:"Server",color:"#D8D6FF",order:3}},wt=(t,e)=>{const{newRecord:r,labels:o}=S(t);return{datasets:t.apiData.filter(s=>!0).sort((s,n)=>h[s.apiPath].order-h[n.apiPath].order).map(s=>{const n=r();for(const l of Object.values(s.dataPoints))n[l.period]=l.trafficTypes[0].count;const c=h[s.apiPath];return{label:c.label,data:Object.values(n),backgroundColor:c.color,hoverBackgroundColor:c.color}}),labels:o}},jt=t=>{const{newRecord:e,labels:r}=S(t);return{datasets:t.apiData.map(a=>{const s=e();for(const c of Object.values(a.dataPoints)){const l=c.connections;s[c.period]=l}const n={label:"Connections",color:"#6D66D9",order:1};return{label:n.label,data:Object.values(s),backgroundColor:n.color,hoverBackgroundColor:n.color}}),labels:r}},Pt=t=>{const{newRecord:e,labels:r}=S(t);return{datasets:t.apiData.map(a=>{const s=e();for(const c of Object.values(a.dataPoints)){const l=c.requests;s[c.period]=l}const n={label:"Frontend requests",color:"#A39EFF",order:1};return{label:n.label,data:Object.values(s),backgroundColor:n.color,hoverBackgroundColor:n.color}}),labels:r}},S=t=>{if(t.grouping==="monthly"){const e=g(t.dateRange.from),r=g(t.dateRange.to),o=Math.abs(O(r,e))+1,a={};for(let n=0;n<o;n++)a[b(D(e,n))]=0;const s=Array.from({length:o}).map((n,c)=>c===o-1?"Current month":b(D(e,c)));return{newRecord:()=>({...a}),labels:s}}else{const e=g(t.dateRange.from),r=g(t.dateRange.to),o=Math.abs(V(r,e))+1,a={};for(let n=0;n<o;n++)a[at(Y(e,n))]=0;const s=Array.from({length:o}).map((n,c)=>(c+1).toString());return{newRecord:()=>({...a}),labels:s}}},[Ot,...Bt]=Object.values(h).map(t=>t.label.toLowerCase()).toReversed(),k=`${Bt.toReversed().join(", ")}, and ${Ot}`,zt=t=>t.grouping==="daily"?`A bar chart showing daily traffic usage for ${new Date(t.month).toLocaleDateString("en-US",{month:"long",year:"numeric"})}. Each date shows ${k} requests.`:`A bar chart showing monthly total traffic usage for the current month and the preceding ${t.monthsBack} months. Each month shows ${k} requests.`,v=(t,e=new Date)=>{const r=o=>P(o,"yyyy-MM-dd");if(t.grouping==="daily"){const o=y(t.month),a=r(o),s=r(R(o));return{from:a,to:s}}else{const o=r(w(j(e,t.monthsBack))),a=r(R(e));return{from:o,to:a}}},Lt=t=>{if(t.grouping==="daily")return 0;const e=Math.abs(O(new Date(t.dateRange.to),new Date(t.dateRange.from))),r=t.apiData.map(o=>o.dataPoints.filter(({period:a})=>a!==rt).reduce((a,s)=>a+s.trafficTypes[0].count,0)).reduce((o,a)=>o+a,0);return Math.round(r/e)},Tt=(t,{from:e,to:r})=>{const o=`api/admin/metrics/connection?grouping=${t}&from=${e}&to=${r}`,{data:a,error:s,mutate:n}=B(L(o),qt);return d.useMemo(()=>({refetch:()=>n(),result:a?{state:"success",data:a}:s?{state:"error",error:s}:{state:"loading"}}),[a,s,n])},qt=t=>fetch(t).then(T("Metered Connections Metrics")).then(e=>e.json()),It=(t,{from:e,to:r})=>{const o=`api/admin/metrics/request?grouping=${t}&from=${e}&to=${r}`,{data:a,error:s,mutate:n}=B(L(o),$t);return d.useMemo(()=>({refetch:()=>n(),result:a?{state:"success",data:a}:s?{state:"error",error:s}:{state:"loading"}}),[a,s,n])},$t=t=>fetch(t).then(T("Consumption Requests Metrics")).then(e=>e.json()),Nt=(t,e,r)=>{const{result:o}=nt(e.grouping,v(e,p)),{instanceStatus:a}=K(),{instancePrices:s}=Q(),n=(a==null?void 0:a.billing)==="pay-as-you-go"?s.payg.traffic:s.pro.traffic;return d.useMemo(()=>{if(o.state!=="success")return{chartData:{datasets:[],labels:[]},usageTotal:0,overageCost:0,estimatedMonthlyCost:0,requestSummaryUsage:0};const l=o.data,A=wt(l),m=st(l),F=lt(m,t,n),E=ct(l.apiData,t,p,n),U=e.grouping==="daily"?m:Lt(l);return{chartData:A,usageTotal:m,overageCost:F,estimatedMonthlyCost:E,requestSummaryUsage:U}},[JSON.stringify(o),t,JSON.stringify(e),n])},Wt=t=>{const{result:e}=Tt(t.grouping,v(t,p));return d.useMemo(()=>{if(e.state!=="success")return{chartData:{datasets:[],labels:[]}};const o=e.data;return{chartData:jt(o)}},[JSON.stringify(e),JSON.stringify(t)])},Jt=t=>{const{result:e}=It(t.grouping,v(t,p));return d.useMemo(()=>{if(e.state!=="success")return{chartData:{datasets:[],labels:[]}};const o=e.data;return{chartData:Pt(o)}},[JSON.stringify(e),JSON.stringify(t)])},Ht=u(X)(({theme:t})=>({display:"grid",gap:t.spacing(5)})),Gt=u("div")(({theme:t})=>({display:"flex",flexFlow:"row wrap",justifyContent:"space-between",gap:t.spacing(2,4),alignItems:"start"})),Vt=u("span")(({theme:t})=>({fontWeight:"bold"})),At=(t,e,r,o)=>({plugins:{annotation:{clip:!1,annotations:{line:{type:"line",borderDash:[5,5],yMin:r?r/30:0,yMax:r?r/30:0,borderColor:"gray",borderWidth:1,display:!!r&&!!o,label:{backgroundColor:"rgba(192, 192, 192, 0.8)",color:"black",padding:{top:10,bottom:10,left:10,right:10},content:"Average daily requests included in your plan",display:!!r}}}},legend:{position:"bottom",labels:{color:t.palette.text.primary,pointStyle:"circle",usePointStyle:!0,boxHeight:6,padding:15,boxPadding:5}},tooltip:{backgroundColor:t.palette.background.paper,titleColor:t.palette.text.primary,bodyColor:t.palette.text.primary,bodySpacing:6,padding:{top:20,bottom:20,left:30,right:30},borderColor:"rgba(0, 0, 0, 0.05)",borderWidth:3,usePointStyle:!0,caretSize:0,boxPadding:10,callbacks:{title:e}}},responsive:!0,scales:{x:{stacked:!0,ticks:{color:t.palette.text.secondary},grid:{display:!1}},y:{stacked:!0,ticks:{color:t.palette.text.secondary,maxTicksLimit:5,callback:it},grid:{drawBorder:!1}}},elements:{bar:{borderRadius:5}},interaction:{mode:"index",intersect:!1}}),Yt=t=>{const e=Z(),{locationSettings:r}=tt(),[o,a]=d.useState({grouping:"daily",month:C[0].key}),s=d.useMemo(()=>At(e,n=>{if(o.grouping==="daily"){const c=mt[o.month];return new Date(c.year,c.month,Number.parseInt(n[0].label,10)).toLocaleDateString((r==null?void 0:r.locale)??"en-US",{month:"long",day:"numeric",year:"numeric"})}else{const c=y(n[0].label);return Number.isNaN(c.getTime())?"Current month to date":c.toLocaleDateString((r==null?void 0:r.locale)??"en-US",{month:"long",year:"numeric"})}},t,o.grouping==="daily"),[e,o,t]);return{chartDataSelection:o,setChartDataSelection:a,options:s}},Kt=et({bottomOverflow:34});export{Vt as B,_t as P,Ht as S,Gt as T,Nt as a,Wt as b,Jt as c,zt as g,Kt as n,Yt as u};
@@ -1,6 +0,0 @@
1
- <svg width="160" height="160" viewBox="0 0 160 160" fill="none" xmlns="http://www.w3.org/2000/svg">
2
- <path d="M80 160C124.183 160 160 124.183 160 80C160 35.8172 124.183 0 80 0C35.8172 0 0 35.8172 0 80C0 124.183 35.8172 160 80 160Z" fill="#1A4049"/>
3
- <path d="M91.43 45.71V91.43H114.28V45.71H91.43ZM68.57 68.57V45.71H45.71V114.28H91.43V91.43H68.57V68.57Z" fill="white"/>
4
- <path d="M91.43 45.71V91.43H114.28V45.71H91.43ZM68.57 68.57V45.71H45.71V114.28H91.43V91.43H68.57V68.57Z" fill="white"/>
5
- <path d="M91.4299 91.43H114.29V114.29H91.4299V91.43Z" fill="#817AFE"/>
6
- </svg>
@@ -1,6 +0,0 @@
1
- <svg width="161" height="161" viewBox="0 0 161 161" fill="none" xmlns="http://www.w3.org/2000/svg">
2
- <path d="M80.6201 160.62C124.803 160.62 160.62 124.803 160.62 80.62C160.62 36.4372 124.803 0.619995 80.6201 0.619995C36.4373 0.619995 0.620117 36.4372 0.620117 80.62C0.620117 124.803 36.4373 160.62 80.6201 160.62Z" fill="white"/>
3
- <path d="M92.0501 46.33V92.05H114.9V46.33H92.0501ZM69.1901 69.19V46.33H46.3301V114.9H92.0501V92.05H69.1901V69.19Z" fill="white"/>
4
- <path d="M92.0501 46.33V92.05H114.9V46.33H92.0501ZM69.1901 69.19V46.33H46.3301V114.9H92.0501V92.05H69.1901V69.19Z" fill="#1A4049"/>
5
- <path d="M92.05 92.05H114.91V114.91H92.05V92.05Z" fill="#817AFE"/>
6
- </svg>