@odigos/ui-kit 0.0.303 → 0.0.305

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 (47) hide show
  1. package/CHANGELOG.md +18 -0
  2. package/lib/chunks/{helpers-COsrWsYw.js → helpers-D9jCyoin.js} +1 -1
  3. package/lib/chunks/{index-UDCljNKR.js → index-C9PqEBy4.js} +2 -2
  4. package/lib/chunks/source-instrument-form-context-BLqtizcA.js +5 -0
  5. package/lib/chunks/ui-components-B-AB4_8e.js +2298 -0
  6. package/lib/components/_cards/data-card/index.d.ts +2 -0
  7. package/lib/components.js +1 -1
  8. package/lib/constants/index.d.ts +1 -0
  9. package/lib/constants/instrumentation-agents/index.d.ts +58 -0
  10. package/lib/constants/sources/index.d.ts +0 -1
  11. package/lib/constants.js +1 -1
  12. package/lib/containers/_drawers/index.d.ts +1 -0
  13. package/lib/containers/_drawers/instrumentation-agent-drawer/index.d.ts +7 -0
  14. package/lib/containers/_drawers/instrumentation-agent-drawer/offsets.d.ts +7 -0
  15. package/lib/containers/_drawers/instrumentation-agent-drawer/overview.d.ts +6 -0
  16. package/lib/containers/_drawers/instrumentation-agent-drawer/tabs.d.ts +4 -0
  17. package/lib/containers/_forms/insights/learning-policy-form/types.d.ts +1 -1
  18. package/lib/containers/index.d.ts +1 -0
  19. package/lib/containers/instrumentation-agents/agents-table.d.ts +8 -0
  20. package/lib/containers/instrumentation-agents/helpers.d.ts +4 -0
  21. package/lib/containers/instrumentation-agents/index.d.ts +4 -0
  22. package/lib/containers/instrumentation-agents/types.d.ts +3 -0
  23. package/lib/containers.js +594 -566
  24. package/lib/contexts/odigos-api/hooks/use-instrumentation-agents-api.d.ts +31 -0
  25. package/lib/contexts/odigos-api/types.d.ts +9 -1
  26. package/lib/contexts/odigos-api/use-odigos-api.d.ts +2 -0
  27. package/lib/contexts.js +1 -1
  28. package/lib/functions/agent-supports-offsets/index.d.ts +7 -0
  29. package/lib/functions/get-agent-badge-colors/index.d.ts +8 -0
  30. package/lib/functions/get-containers-counts/index.d.ts +1 -0
  31. package/lib/functions/index.d.ts +2 -0
  32. package/lib/functions.js +1 -1
  33. package/lib/hooks.js +1 -1
  34. package/lib/snippets.js +1 -1
  35. package/lib/store.js +1 -1
  36. package/lib/theme/palettes/index.d.ts +1 -0
  37. package/lib/theme.js +1 -1
  38. package/lib/types/common/index.d.ts +2 -1
  39. package/lib/types/enum/index.d.ts +0 -2
  40. package/lib/types/index.d.ts +1 -0
  41. package/lib/types/insights/index.d.ts +4 -5
  42. package/lib/types/instrumentation-agents/index.d.ts +71 -0
  43. package/lib/types.js +1 -1
  44. package/lib/visuals.js +1 -1
  45. package/package.json +1 -1
  46. package/lib/chunks/source-instrument-form-context-htaV7BiQ.js +0 -5
  47. package/lib/chunks/ui-components-Bpkus_DD.js +0 -2273
package/CHANGELOG.md CHANGED
@@ -1,5 +1,23 @@
1
1
  # Changelog
2
2
 
3
+ ## [0.0.305](https://github.com/odigos-io/ui-kit/compare/ui-kit-v0.0.304...ui-kit-v0.0.305) (2026-09-22)
4
+
5
+
6
+ ### Features
7
+
8
+ * add instrumentation agents page with agent drawer and Go offsets tab ([#1312](https://github.com/odigos-io/ui-kit/issues/1312)) ([8ecfe03](https://github.com/odigos-io/ui-kit/commit/8ecfe03015ea186e1ecb96be08bfb00c0c328ff6))
9
+
10
+ ## [0.0.304](https://github.com/odigos-io/ui-kit/compare/ui-kit-v0.0.303...ui-kit-v0.0.304) (2026-09-17)
11
+
12
+
13
+ ### Bug Fixes
14
+
15
+ * **destinations:** read supported signals from the catalog (PLAT-1510) ([#1324](https://github.com/odigos-io/ui-kit/issues/1324)) ([38e52b6](https://github.com/odigos-io/ui-kit/commit/38e52b613714ab303fba6797cf5beaa273f8cd43))
16
+ * **navbar, tooltip:** side menu stacking + clipped labels (PLAT-1493), tooltip contrast on dark surfaces ([#1326](https://github.com/odigos-io/ui-kit/issues/1326)) ([9f0bccb](https://github.com/odigos-io/ui-kit/commit/9f0bccbe81ee939eac9f66b29d103fdf5fef001e))
17
+ * **onboarding:** drop the dirty-state footer note in wizard mode (PLAT-1492) ([#1325](https://github.com/odigos-io/ui-kit/issues/1325)) ([dbcd4e8](https://github.com/odigos-io/ui-kit/commit/dbcd4e845369089250545d2b5f5bbefca8150dd8))
18
+ * **overview:** key bulk source persist by cluster id, not namespace PLAT-1502 ([#1321](https://github.com/odigos-io/ui-kit/issues/1321)) ([a7136a9](https://github.com/odigos-io/ui-kit/commit/a7136a941431257b3be46ab85bcc61c662bd2fec))
19
+ * remove browser-community and ruby-enterprise distro options (PLAT-1512) ([#1322](https://github.com/odigos-io/ui-kit/issues/1322)) ([1c43c4a](https://github.com/odigos-io/ui-kit/commit/1c43c4a0500161961bf76b114872786f1c27285b))
20
+
3
21
  ## [0.0.303](https://github.com/odigos-io/ui-kit/compare/ui-kit-v0.0.302...ui-kit-v0.0.303) (2026-09-16)
4
22
 
5
23
 
@@ -1,4 +1,4 @@
1
- import{jsx as e,Fragment as t,jsxs as r}from"react/jsx-runtime";import{Fragment as n,useMemo as o,useContext as a,createContext as s}from"react";import{T as i,t as u,b as l,P as c}from"./ui-components-Bpkus_DD.js";import p from"styled-components";var d;(e=>{e.Default="default",e.Action="action",e.Endpoint="endpoint",e.Scope="scope",e.Duration="duration"})(d||(d={}));const f=[d.Action,d.Endpoint,d.Scope,d.Duration],h=p.span`
1
+ import{jsx as e,Fragment as t,jsxs as r}from"react/jsx-runtime";import{Fragment as n,useMemo as o,useContext as a,createContext as s}from"react";import{T as i,t as u,b as l,P as c}from"./ui-components-B-AB4_8e.js";import p from"styled-components";var d;(e=>{e.Default="default",e.Action="action",e.Endpoint="endpoint",e.Scope="scope",e.Duration="duration"})(d||(d={}));const f=[d.Action,d.Endpoint,d.Scope,d.Duration],h=p.span`
2
2
  font-family: ${({theme:e,$isMono:t})=>t?e.font_family.secondary:e.font_family.primary};
3
3
  font-size: ${({theme:e})=>e.v2.text.size.xxs}px;
4
4
  line-height: 20px;
@@ -1,4 +1,4 @@
1
- import{jsx as e,jsxs as t,Fragment as a}from"react/jsx-runtime";import o,{css as r,useTheme as s}from"styled-components";import l from"elkjs/lib/elk.bundled.js";import i,{useMemo as n,useRef as c,useCallback as p,useState as d,memo as u,useEffect as h,Fragment as g,forwardRef as m,useImperativeHandle as f}from"react";import{Handle as v,Position as y,useReactFlow as b,ReactFlowProvider as C,ReactFlow as x,Background as $,getSmoothStepPath as w,BaseEdge as S,EdgeLabelRenderer as k,MarkerType as F}from"@xyflow/react";import{D as T,c as O,F as M,d as B,e as P,f as L,g as A,h as _,B as E,i as I,j as N,k as R,u as V,l as z,m as X,C as D,N as H,n as U,W as j,o as G,p as q,q as K,r as W,s as Y,v as Z,w as J,x as Q,I as ee,y as te,z as ae,E as oe,G as re,H as se,J as le,K as ie,S as ne,L as ce,M as pe,U as de,O as ue,Q as he,V as ge,X as me,Y as fe,Z as ve,_ as ye,$ as be,a0 as Ce,a1 as xe,a2 as $e,a3 as we,a4 as Se,a5 as ke,a6 as Fe,a7 as Te,T as Oe,a8 as Me,a9 as Be,aa as Pe,ab as Le,ac as Ae,ad as _e,ae as Ee,af as Ie,ag as Ne,ah as Re,ai as Ve,aj as ze,ak as Xe,b as De,al as He,am as Ue,an as je,ao as Ge,ap as qe,aq as Ke,ar as We,as as Ye,at as Ze,au as Je,av as Qe,aw as et,ax as tt,ay as at,az as ot,aA as rt,aB as st,aC as lt,aD as it,aE as nt,aF as ct,aG as pt,aH as dt,aI as ut,aJ as ht,aK as gt,aL as mt,aM as ft,aN as vt,aO as yt,aP as bt,aQ as Ct,aR as xt,aS as $t,aT as wt,aU as St,aV as kt,aW as Ft,aX as Tt,aY as Ot,aZ as Mt,a_ as Bt,a$ as Pt,b0 as Lt,b1 as At,b2 as _t,b3 as Et,b4 as It,b5 as Nt,b6 as Rt,R as Vt,b7 as zt,b8 as Xt,b9 as Dt,A as Ht,ba as Ut,bb as jt,bc as Gt}from"./ui-components-Bpkus_DD.js";import{UserIcon as qt,DestinationIcon as Kt,HomeIcon as Wt,TrashIcon as Yt,PlusIcon as Zt,VSquareIcon as Jt,XSquareIcon as Qt,EditIcon as ea,OdigosLogoTextCentral as ta,OdigosLogoTextEnterprise as aa,OdigosLogoTextCommunity as oa,OdigosLogoTextColoredCentral as ra,OdigosLogoTextColoredEnterprise as sa,OdigosLogoTextColoredCommunity as la,ArrowLeftIcon as ia,ArrowRightIcon as na,YamlIcon as ca}from"../icons.js";import"@xyflow/react/dist/style.css";import{i as pa,m as da,u as ua,n as ha,a as ga,C as ma,b as fa,d as va,e as ya,f as ba,g as Ca,h as xa,j as $a,k as wa}from"./helpers-COsrWsYw.js";const Sa=/^[a-zA-Z]$/,ka=new Set(["*","+","?"]),Fa=new Set(["^","$"]),Ta={group:"rgba(102, 242, 102, 0.5)","anchor-quantifier":"rgba(102, 191, 255, 0.5)","class-bracket":"rgba(255, 153, 153, 0.5)","class-content":"rgba(178, 1, 1, 0.5)",alternation:"rgba(255, 153, 153, 0.5)",literal:"transparent"},Oa=o.div`
1
+ import{jsx as e,jsxs as t,Fragment as a}from"react/jsx-runtime";import o,{css as r,useTheme as s}from"styled-components";import l from"elkjs/lib/elk.bundled.js";import i,{useMemo as n,useRef as c,useCallback as p,useState as d,memo as u,useEffect as h,Fragment as g,forwardRef as m,useImperativeHandle as f}from"react";import{Handle as v,Position as y,useReactFlow as b,ReactFlowProvider as C,ReactFlow as x,Background as $,getSmoothStepPath as w,BaseEdge as S,EdgeLabelRenderer as k,MarkerType as F}from"@xyflow/react";import{D as T,c as O,F as M,d as B,e as P,f as L,g as A,h as _,B as E,i as I,j as N,k as R,u as V,l as z,m as X,C as D,N as H,n as U,W as j,o as G,p as q,q as K,r as W,s as Y,v as Z,w as J,x as Q,I as ee,y as te,z as ae,E as oe,G as re,H as se,J as le,K as ie,S as ne,L as ce,M as pe,U as de,O as ue,Q as he,V as ge,X as me,Y as fe,Z as ve,_ as ye,$ as be,a0 as Ce,a1 as xe,a2 as $e,a3 as we,a4 as Se,a5 as ke,a6 as Fe,a7 as Te,T as Oe,a8 as Me,a9 as Be,aa as Pe,ab as Le,ac as Ae,ad as _e,ae as Ee,af as Ie,ag as Ne,ah as Re,ai as Ve,aj as ze,ak as Xe,b as De,al as He,am as Ue,an as je,ao as Ge,ap as qe,aq as Ke,ar as We,as as Ye,at as Ze,au as Je,av as Qe,aw as et,ax as tt,ay as at,az as ot,aA as rt,aB as st,aC as lt,aD as it,aE as nt,aF as ct,aG as pt,aH as dt,aI as ut,aJ as ht,aK as gt,aL as mt,aM as ft,aN as vt,aO as yt,aP as bt,aQ as Ct,aR as xt,aS as $t,aT as wt,aU as St,aV as kt,aW as Ft,aX as Tt,aY as Ot,aZ as Mt,a_ as Bt,a$ as Pt,b0 as Lt,b1 as At,b2 as _t,b3 as Et,b4 as It,b5 as Nt,b6 as Rt,R as Vt,b7 as zt,b8 as Xt,b9 as Dt,A as Ht,ba as Ut,bb as jt,bc as Gt}from"./ui-components-B-AB4_8e.js";import{UserIcon as qt,DestinationIcon as Kt,HomeIcon as Wt,TrashIcon as Yt,PlusIcon as Zt,VSquareIcon as Jt,XSquareIcon as Qt,EditIcon as ea,OdigosLogoTextCentral as ta,OdigosLogoTextEnterprise as aa,OdigosLogoTextCommunity as oa,OdigosLogoTextColoredCentral as ra,OdigosLogoTextColoredEnterprise as sa,OdigosLogoTextColoredCommunity as la,ArrowLeftIcon as ia,ArrowRightIcon as na,YamlIcon as ca}from"../icons.js";import"@xyflow/react/dist/style.css";import{i as pa,m as da,u as ua,n as ha,a as ga,C as ma,b as fa,d as va,e as ya,f as ba,g as Ca,h as xa,j as $a,k as wa}from"./helpers-D9jCyoin.js";const Sa=/^[a-zA-Z]$/,ka=new Set(["*","+","?"]),Fa=new Set(["^","$"]),Ta={group:"rgba(102, 242, 102, 0.5)","anchor-quantifier":"rgba(102, 191, 255, 0.5)","class-bracket":"rgba(255, 153, 153, 0.5)","class-content":"rgba(178, 1, 1, 0.5)",alternation:"rgba(255, 153, 153, 0.5)",literal:"transparent"},Oa=o.div`
2
2
  padding: 8px 16px;
3
3
  border-radius: 6px;
4
4
  border: 1px solid ${({theme:e})=>e.v2.colors.silver[500]};
@@ -331,7 +331,7 @@ import{jsx as e,jsxs as t,Fragment as a}from"react/jsx-runtime";import o,{css as
331
331
  padding: 5vh 10vw;
332
332
  border-radius: 12px;
333
333
  background-color: ${({theme:e})=>e.v2.colors.silver[800]};
334
- `,gs=m(({isOpen:a,withOverlay:o,disableAnimation:r,onClose:s,onBack:l,onNext:i,nextIsSkip:c,onSave:u,disableSave:h,connectionIds:g,header:m,subHeader:v,leftColumn:y,rightColumn:b,search:C,filters:x,errorMessage:$,isFormDirty:w,allowSaveWhenPristine:S,hideDirtyNote:k,forcedNote:F,isFetching:O,progress:M},B)=>{const[P,L]=d(!1),[_,E]=d(!1),[I,R]=d(void 0);f(B,()=>({clearErrors:()=>R(void 0)}));const V=_,z=p(()=>{w&&!P?L(!0):(L(!1),s?.())},[w,P,s]),X=h||_||!S&&"boolean"==typeof w&&!w,H=p(async()=>{E(!0);const e=await u();E(!1),!1!==e&&(e?.error?R(e.error):(g?.setValue([]),s?.()))},[u,g,s]),U=!!C||!!g||!!x,G=!!v,q=(U?48:0)+(G?50:0),K=n(()=>F||(O?{status:ne.Info,message:"Fetching Data..."}:_&&!M?{status:ne.Info,message:"Saving Changes..."}:I||$?{status:ne.Error,message:I||$}:"boolean"!=typeof w||k?void 0:w?{status:ne.Info,message:'The values don\'t reflect the current configurations of the selected clusters.\n"Save" will override the current configurations.'}:{status:ne.Success,message:"The values reflect the current configuration of the selected cluster."}),[O,_,M,I,$,w,k,F]),W=n(()=>l?{label:"Back",leftIcon:ia,variant:N.Secondary,onClick:l}:{label:"Cancel",variant:N.Secondary,onClick:z,disabled:V},[l,z,V]),[Y,Z]=d(!1),J=n(()=>i?c?{"data-id":"wide-drawer-skip",label:"Skip",rightIcon:na,variant:N.Secondary,onClick:()=>Z(!0)}:{"data-id":"wide-drawer-next",label:"Next",rightIcon:na,variant:N.Primary,onClick:i}:{"data-id":"wide-drawer-save",label:"Save",variant:N.Primary,onClick:H,disabled:X},[i,c,H,X]);return t(T,{width:ns,isOpen:a,disableAnimation:r,hideOverlay:!_&&!o,header:{...m,onClose:s?z:void 0,onCloseDisabled:V},footer:{note:K,actions:[W,J]},children:[_?e(D,{$height:"calc(100vh - 136px)",children:e(hs,{children:e(Rt,{titleSize:A.S,subTitleSize:A.XXXS,withGradient:!0,withSpinner:!0,...M})})}):t(cs,{children:[U&&t(ps,{children:[g&&e(Vt,{icon:Jt,title:"Selected Clusters",badge:{label:g.value.length}}),C&&e(zt,{...C,width:C.width??"100%"}),x]}),G&&e(ds,{children:e(Vt,{icon:v.icon,title:v.title,subTitle:v.description,badge:v.badge})}),t(us,{children:[e(is,{isLeft:!0,heightOffset:q,...y}),e(is,{isRight:!0,heightOffset:q,...b})]})]}),e(xo,{isOpen:P,onClose:()=>L(!1),onApprove:z}),e(j,{title:"Skip setup?",description:"Without completing setup, Odigos won't be able to collect and send your telemetry data. This may interrupt your data flow and limit the platform's ability to provide value.",isOpen:Y,onClose:()=>Z(!1),denyButton:{label:"Go Back",variant:N.Secondary,onClick:()=>Z(!1)},approveButton:{label:"Skip",variant:N.Primary,onClick:()=>{i?.(),Z(!1)}}})]})});gs.displayName=gs.name;const ms=o.div`
334
+ `,gs=m(({isOpen:a,withOverlay:o,disableAnimation:r,onClose:s,onBack:l,onNext:i,nextIsSkip:c,onSave:u,disableSave:h,connectionIds:g,header:m,subHeader:v,leftColumn:y,rightColumn:b,search:C,filters:x,errorMessage:$,isFormDirty:w,allowSaveWhenPristine:S,hideDirtyNote:k,forcedNote:F,isFetching:O,progress:M},B)=>{const[P,L]=d(!1),[_,E]=d(!1),[I,R]=d(void 0);f(B,()=>({clearErrors:()=>R(void 0)}));const V=_,z=p(()=>{w&&!P?L(!0):(L(!1),s?.())},[w,P,s]),X=h||_||!S&&"boolean"==typeof w&&!w,H=p(async()=>{E(!0);const e=await u();E(!1),!1!==e&&(e?.error?R(e.error):(g?.setValue([]),s?.()))},[u,g,s]),U=!!C||!!g||!!x,G=!!v,q=(U?48:0)+(G?50:0),K=n(()=>F||(O?{status:ne.Info,message:"Fetching Data..."}:_&&!M?{status:ne.Info,message:"Saving Changes..."}:I||$?{status:ne.Error,message:I||$}:"boolean"!=typeof w||k||i?void 0:w?{status:ne.Info,message:'The values don\'t reflect the current configurations of the selected clusters.\n"Save" will override the current configurations.'}:{status:ne.Success,message:"The values reflect the current configuration of the selected cluster."}),[O,_,M,I,$,w,k,F,i]),W=n(()=>l?{label:"Back",leftIcon:ia,variant:N.Secondary,onClick:l}:{label:"Cancel",variant:N.Secondary,onClick:z,disabled:V},[l,z,V]),[Y,Z]=d(!1),J=n(()=>i?c?{"data-id":"wide-drawer-skip",label:"Skip",rightIcon:na,variant:N.Secondary,onClick:()=>Z(!0)}:{"data-id":"wide-drawer-next",label:"Next",rightIcon:na,variant:N.Primary,onClick:i}:{"data-id":"wide-drawer-save",label:"Save",variant:N.Primary,onClick:H,disabled:X},[i,c,H,X]);return t(T,{width:ns,isOpen:a,disableAnimation:r,hideOverlay:!_&&!o,header:{...m,onClose:s?z:void 0,onCloseDisabled:V},footer:{note:K,actions:[W,J]},children:[_?e(D,{$height:"calc(100vh - 136px)",children:e(hs,{children:e(Rt,{titleSize:A.S,subTitleSize:A.XXXS,withGradient:!0,withSpinner:!0,...M})})}):t(cs,{children:[U&&t(ps,{children:[g&&e(Vt,{icon:Jt,title:"Selected Clusters",badge:{label:g.value.length}}),C&&e(zt,{...C,width:C.width??"100%"}),x]}),G&&e(ds,{children:e(Vt,{icon:v.icon,title:v.title,subTitle:v.description,badge:v.badge})}),t(us,{children:[e(is,{isLeft:!0,heightOffset:q,...y}),e(is,{isRight:!0,heightOffset:q,...b})]})]}),e(xo,{isOpen:P,onClose:()=>L(!1),onApprove:z}),e(j,{title:"Skip setup?",description:"Without completing setup, Odigos won't be able to collect and send your telemetry data. This may interrupt your data flow and limit the platform's ability to provide value.",isOpen:Y,onClose:()=>Z(!1),denyButton:{label:"Go Back",variant:N.Secondary,onClick:()=>Z(!1)},approveButton:{label:"Skip",variant:N.Primary,onClick:()=>{i?.(),Z(!1)}}})]})});gs.displayName=gs.name;const ms=o.div`
335
335
  padding: 0 24px;
336
336
  border-radius: 12px;
337
337
  background-color: ${({$codeBgColor:e})=>e||"transparent"};
@@ -0,0 +1,5 @@
1
+ import{jsx as e,jsxs as t}from"react/jsx-runtime";import{useMemo as a,useContext as r,createContext as n,useCallback as s,useState as o,useEffect as i,useRef as c}from"react";import{t as l,bd as d,be as u,b3 as m,S,bf as p,bg as E,bh as T,P as I,bi as f,bj as y,bk as _,bl as h,bm as g,bn as N,bo as v,bp as A,bq as R,br as O,bs as C,bt as G,bu as D,bv as b,bw as L,bx as w,by as P,bz as U,bA as F,bB as k,bC as M,bD as H,bE as x,bF as K,bG as $,b1 as V,bH as Y,bI as B,o as W,bJ as j,bK as q,bL as Q,bM as z,bN as X,bO as J,y as Z,bP as ee,h as te,M as ae,bQ as re,T as ne,bR as se,bS as oe,bT as ie,bU as ce,bV as le,bW as de,bX as ue,bY as me,bZ as Se,b_ as pe,b$ as Ee,c0 as Te,c1 as Ie,c2 as fe,c3 as ye,c4 as _e,c5 as he,c6 as ge,c7 as Ne,c8 as ve,c9 as Ae,ca as Re,cb as Oe,cc as Ce,cd as Ge,ah as De,ad as be,af as Le,ae as we,ag as Pe,ac as Ue,ce as Fe,b as ke}from"./ui-components-B-AB4_8e.js";import{i as Me,n as He,m as xe,l as Ke,o as $e,p as Ve,v as Ye,q as Be,u as We}from"./helpers-D9jCyoin.js";import{ApolloProvider as je,useLazyQuery as qe,useApolloClient as Qe,useQuery as ze}from"@apollo/client/react";import{ErrorLink as Xe}from"@apollo/client/link/error";import{SetContextLink as Je}from"@apollo/client/link/context";import{getMainDefinition as Ze}from"@apollo/client/utilities";import{CombinedGraphQLErrors as et,ServerError as tt}from"@apollo/client/errors";import{HttpLink as at,ApolloLink as rt,ApolloClient as nt,InMemoryCache as st,gql as ot}from"@apollo/client";const it=e=>{if(!e)return!1;const t=e.toLowerCase();return t.includes("authentication required")||t.includes("authentication expired")||t.includes("http 401")},ct=n(null),lt=()=>{const e=r(ct);if(!e)throw new Error("[ui-kit] useOdigosApi() / useXxxApi() called outside of <OdigosApiProvider>. Make sure the host app mounts the provider at its layout level.");return e},dt=({apolloConfig:t,operations:r,context:n,children:s})=>{const o=a(()=>(e=>{const t=new at({uri:e.httpUrl,credentials:e.credentials??"same-origin"}),a=new Xe(({error:t})=>{et.is(t)?t.errors.some(e=>it(e.message))&&e.onAuthError?.():(tt.is(t)&&401===t.statusCode||it(t.message))&&e.onAuthError?.()}),r=new Je(async t=>{const a={...t.headers};if(e.authHeader){const t=await e.authHeader();Object.assign(a,t)}return e.csrfHeader&&Object.assign(a,e.csrfHeader()),{headers:a}}),n=[];e.additionalLinks?.length&&n.push(...e.additionalLinks),n.push(r,a,t);let s=rt.from(n);e.wsLink&&(s=rt.split(({query:e})=>{const t=Ze(e);return"OperationDefinition"===t.kind&&"subscription"===t.operation},e.wsLink,s));const o=e.defaultFetchPolicies;return new nt({link:s,cache:new st({typePolicies:e.cacheTypePolicies}),defaultOptions:{watchQuery:{fetchPolicy:o?.watchQuery??"cache-and-network"},query:{fetchPolicy:o?.query??"cache-first"},mutate:{fetchPolicy:o?.mutate??"network-only"}}})})(t),[t.httpUrl,t.wsLink,t.credentials,t.clientKey]),i=a(()=>({operations:r,context:n,apolloConfig:t}),[r,n,t]);return e(je,{client:o,children:e(ct.Provider,{value:i,children:s})})},ut=ct,mt=e=>e.map(e=>`${e.id}:${e.odigosVersion}:${e.type}`).join(","),St=(e,t,a)=>{const r=t.length?t.map(e=>e.id):a??[],n={...e,connectionIds:r};if(!t.length||l(e.version)>0)return n;const s=t[0];return{...n,version:s.odigosVersion||e.version,platformType:s.type??e.platformType}},pt=({connections:t,connectionIds:r,children:n})=>{const s=lt(),o=a(()=>({operations:s.operations,context:St(s.context,t,r),apolloConfig:s.apolloConfig}),[s.operations,s.context,s.apolloConfig,mt(t),r?.join(",")]);return e(ut.Provider,{value:o,children:n})},Et=(e,t)=>{if(e)return"string"==typeof e?e:p(e,t)},Tt=e=>{const{addNotification:t}=d(),a=(a,r,n,s,o)=>t({type:a,title:r,message:n,crdType:e,target:Et(s,e),hideFromHistory:o});return{notify:a,notifyError:(e,t,r)=>a(S.Error,e,t,r),notifySuccess:(e,t,r)=>a(S.Success,e,t,r),notifyPending:(e,t)=>a(S.Default,"Pending",e,t,!0),notifyReadonly:()=>{t({type:S.Warning,title:m.READONLY,message:u.READONLY_WARNING,hideFromHistory:!0})}}},It=e=>{e({type:S.Warning,title:m.READONLY,message:u.READONLY_WARNING,hideFromHistory:!0})},ft=e=>({error:e,results:[],allSucceeded:!1,anySucceeded:!1,successCount:0,failureCount:0}),yt=(e,t)=>{if(e)return"function"==typeof e?e(t):e},_t=e=>{if(!e)return"Unknown error";if(e instanceof Error)return e.cause instanceof Error?e.cause.message:e.message;if("object"==typeof e){const t=e;return t.cause?.message||t.message||String(e)}return String(e)},ht=(e,t)=>e.client??t,gt=async(e,t,a,r,n)=>{if(!t)return{error:"Query operation not configured"};if(t.canRun&&!t.canRun(r))return{data:void 0};if(t.run)try{return await t.run(ht(t,e),a,r)}catch(e){return{error:_t(e)}}const s=yt(t.document,r);if(!s)return{error:"Query operation not supported in this context"};const o=t.transformVariables?t.transformVariables(a,r):a,i=ht(t,e);try{const e=await i.query({query:s,variables:o,fetchPolicy:n??"network-only"});return{data:t.transformResult?t.transformResult(e.data,r):e.data,error:e.error?_t(e.error):void 0}}catch(e){return{error:_t(e)}}},Nt=async(e,t,a,r)=>{if(!t)return{error:"Mutation operation not configured"};if(t.canRun&&!t.canRun(r))return{error:"Mutation operation not supported in this context"};if(t.run)try{return await t.run(ht(t,e),a,r)}catch(e){return{error:_t(e)}}const n=yt(t.document,r);if(!n)return{error:"Mutation operation not supported in this context"};const s=t.transformVariables?t.transformVariables(a,r):a,o=ht(t,e);try{const e=await o.mutate({mutation:n,variables:s});return{data:t.transformResult?t.transformResult(e.data,r):e.data,error:void 0}}catch(e){return{error:_t(e)}}},vt=async(e,t,a,r,n)=>{if(!t)return ft("Multi fetch operation not configured");if(!a.length)return ft("No proxy ids supplied for multi fetch");const s=ht(t,e);if(t.transformVariablesMulti&&(t.documentMulti||t.document)){const e=t.transformVariablesMulti(a,r,n),o=[];for(const a of e)try{const e=await s.query({query:a.document,variables:a.variables,fetchPolicy:"network-only"});t.transformMultiResult?t.transformMultiResult(e.data,n).forEach(e=>o.push(e)):a.proxyIDs.forEach(t=>{o.push({proxyID:t,success:!e.error,data:e.data,error:e.error?.message})})}catch(e){const t=_t(e);a.proxyIDs.forEach(e=>o.push({proxyID:e,success:!1,error:t}))}const i=o.filter(e=>e.success).length,c=o.length-i,l=Array.from(new Set(o.filter(e=>!!e.error).map(e=>e.error)));return{results:o,allSucceeded:0===c,anySucceeded:i>0,successCount:i,failureCount:c,error:l.length?l.join(", "):void 0}}const o=await Promise.all(a.map(async a=>{const s={...n,proxyID:a},o=await gt(e,t,r,s);return{proxyID:a,success:!o.error,data:o.data,error:o.error}})),i=o.filter(e=>e.success).length,c=o.length-i,l=Array.from(new Set(o.filter(e=>!!e.error).map(e=>e.error)));return{results:o,allSucceeded:0===c,anySucceeded:i>0,successCount:i,failureCount:c,error:l.length?l.join(", "):void 0}},At=ot`
2
+ query OdigosApiNoop {
3
+ __typename
4
+ }
5
+ `,Rt=(e,t)=>{if(e)return"function"==typeof e?e(t):e},Ot=(e,t)=>e[t],Ct=(e,t,a)=>{if(void 0!==t)return e?.transformResult?e.transformResult(t,a):t},Gt=(e,t,a)=>{if(!e)return;const r=e.transformVariables;return r?r(t,a):t},Dt=(e,t,r)=>{const{operations:n,context:o}=lt(),c=Ot(n,e),l=a(()=>Rt(c?.document,o),[c,o]),d=a(()=>Gt(c,t,o),[c,t,o]),u=!c||!l,m=!!c?.canRun&&!c.canRun(o),S=r?.skip||u||m,p=ze(l??At,{variables:d,skip:S,pollInterval:r?.pollInterval,fetchPolicy:r?.fetchPolicy??"cache-and-network",notifyOnNetworkStatusChange:r?.notifyOnNetworkStatusChange,client:c?.client}),E=a(()=>{if(!S)return Ct(c,p.data,o)},[c,o,p.data,S]);i(()=>{S||void 0===E||r?.onCompleted?.(E)},[S,E,r?.onCompleted]),i(()=>{p.error&&r?.onError?.(p.error)},[p.error,r?.onError]);const T=s(async()=>{if(S)return{data:void 0};const e=await p.refetch();return{data:Ct(c,e.data,o)}},[c,o,p,S]);return{data:E,loading:!S&&p.loading,error:p.error,refetch:T,unsupported:u}},bt=(e,t)=>{const{operations:r,context:n}=lt(),o=Ot(r,e),i=a(()=>Rt(o?.document,n),[o,n]),c=!o||!i,[l,d]=qe(i??At,{fetchPolicy:t?.fetchPolicy??"network-only",notifyOnNetworkStatusChange:t?.notifyOnNetworkStatusChange,client:o?.client});return{execute:s(async e=>{if(c)return{error:void 0};if(o?.canRun&&!o.canRun(n))return{data:void 0};const t=Gt(o,e,n),a=await l({variables:t});return a.error?{error:a.error}:{data:Ct(o,a.data,n)}},[o,n,l,c]),data:a(()=>Ct(o,d.data,n),[o,n,d.data]),loading:d.loading,error:d.error,called:d.called,unsupported:c}},Lt=(e,t)=>{const{operations:r,context:n}=lt(),i=Qe(),c=Ot(r,e),l=a(()=>Rt(c?.document,n),[c,n]),d=!c||!l,[u,m]=o({loading:!1,called:!1}),S=s(()=>m({loading:!1,called:!1}),[]);return[s(async e=>{if(d||!l)return{error:void 0};if(c?.canRun&&!c.canRun(n))return{data:void 0};const a=Gt(c,e,n),r=c?.client??i;m(e=>({...e,loading:!0,called:!0}));try{const e=await r.mutate({mutation:l,variables:a}),s=Ct(c,e.data,n);if(m({data:s,loading:!1,error:void 0,called:!0}),t?.refetchQueries){const e=r.refetchQueries({include:t.refetchQueries});t?.awaitRefetchQueries&&await e}return void 0!==s&&t?.onCompleted?.(s),{data:s}}catch(e){const a=e;return m({data:void 0,loading:!1,error:a,called:!0}),t?.onError?.(a),{error:a}}},[c,n,i,l,d,t]),{data:u.data,loading:u.loading,error:u.error,called:u.called,unsupported:d,reset:S}]},wt=[],Pt=(e,t,a,r)=>{let n=!0;const s={sources:[]};for(const[o,i]of Object.entries(e)){if(!i.length)continue;n=!1;const e=i.map(({id:e,selected:t,currentStreamName:r})=>({namespace:e.namespace,name:e.name,kind:e.kind,selected:void 0!==t&&t,currentStreamName:r||a}));let c=0,l=0;for(const a of e){const e=t.find(e=>e.id.namespace===o&&e.id.name===a.name&&e.id.kind===a.kind),r=e?.dataStreamNames||[];a.selected&&!e?c++:!a.selected&&e&&r.length<=1&&l++}r(c,l),s.sources.push(...e)}return{payload:s,isEmpty:n}},Ut=(e,t)=>{let a=!0;const r={namespaces:[]};for(const[n,{selected:s,currentStreamName:o}]of Object.entries(e))"boolean"==typeof s&&(a=!1,r.namespaces.push({namespace:n,selected:s,currentStreamName:o||t}));return{payload:r,isEmpty:a}},Ft={filter:{markedForInstrumentation:!0}},kt=[],Mt=e=>{const t=e.markedForInstrumentation?.markedForInstrumentation;return"boolean"==typeof t?e:{...e,markedForInstrumentation:{...e.markedForInstrumentation??{markedForInstrumentation:!0},markedForInstrumentation:!0}}},Ht=e=>{let t=!1;const a=e.map(e=>{const a=Mt(e);return a!==e&&(t=!0),a});return t?a:e},xt=[],Kt=[],$t=[],Vt=(e,t)=>{const a=Qe(),{notifyError:r,notifySuccess:n,notifyReadonly:s}=Tt(A.Finding),o=async()=>{e.GET_INSIGHTS_FINDINGS&&await gt(a,e.GET_INSIGHTS_FINDINGS,void 0,t)},i=async()=>{e.GET_INSIGHTS_ANOMALIES&&await gt(a,e.GET_INSIGHTS_ANOMALIES,void 0,t)},c=async()=>{e.GET_INSIGHTS_TRANSACTIONS&&await gt(a,e.GET_INSIGHTS_TRANSACTIONS,void 0,t)},l=async()=>{if(!e.GET_INSIGHTS_POLICIES)return;const r="function"==typeof e.GET_INSIGHTS_POLICIES.document?e.GET_INSIGHTS_POLICIES.document(t):e.GET_INSIGHTS_POLICIES.document;r?await a.refetchQueries({include:[r]}):await gt(a,e.GET_INSIGHTS_POLICIES,void 0,t)},d=async()=>{e.GET_INSIGHTS_LEARNING_POLICIES&&await gt(a,e.GET_INSIGHTS_LEARNING_POLICIES,void 0,t)},u=async()=>{e.GET_INSIGHTS_GUARDRAILS&&await gt(a,e.GET_INSIGHTS_GUARDRAILS,void 0,t)},m=async()=>{e.GET_INSIGHTS_GUARDRAIL_VIOLATIONS&&await gt(a,e.GET_INSIGHTS_GUARDRAIL_VIOLATIONS,void 0,t)};return{useServices:e=>Dt("GET_INSIGHTS_SERVICES",void 0,e),useServiceNames:e=>Dt("GET_INSIGHTS_SERVICE_NAMES",void 0,e),useTransactions:(e,t)=>Dt("GET_INSIGHTS_TRANSACTIONS",e,t),useTransaction:(e,t)=>Dt("GET_INSIGHTS_TRANSACTION",e,t),useBaseline:(e,t)=>Dt("GET_INSIGHTS_BASELINE",e,t),useObservations:(e,t)=>Dt("GET_INSIGHTS_OBSERVATIONS",e,t),useObservation:(e,t)=>Dt("GET_INSIGHTS_OBSERVATION",e,t),useFindings:(e,t)=>Dt("GET_INSIGHTS_FINDINGS",e,t),useAnomalies:(e,t)=>Dt("GET_INSIGHTS_ANOMALIES",e,t),useAnomaly:(e,t)=>Dt("GET_INSIGHTS_ANOMALY",e,t),usePolicies:e=>Dt("GET_INSIGHTS_POLICIES",void 0,e),useLearningPolicies:e=>Dt("GET_INSIGHTS_LEARNING_POLICIES",void 0,e),useGuardrails:e=>Dt("GET_INSIGHTS_GUARDRAILS",void 0,e),useGuardrailViolations:(e,t)=>Dt("GET_INSIGHTS_GUARDRAIL_VIOLATIONS",e,t),useGuardrailViolation:(e,t)=>Dt("GET_INSIGHTS_GUARDRAIL_VIOLATION",e,t),useServiceProfile:(e,t)=>Dt("GET_INSIGHTS_SERVICE_PROFILE",e,t),useBlastRadius:(e,t)=>Dt("GET_INSIGHTS_BLAST_RADIUS",e,t),useCatalog:e=>Dt("GET_INSIGHTS_CATALOG",void 0,e),useSystemSettings:e=>Dt("GET_INSIGHTS_SYSTEM_SETTINGS",void 0,e),useStorageHealth:e=>Dt("GET_INSIGHTS_STORAGE_HEALTH",void 0,e),getServices:e.GET_INSIGHTS_SERVICES?async()=>gt(a,e.GET_INSIGHTS_SERVICES,void 0,t):void 0,getServiceNames:e.GET_INSIGHTS_SERVICE_NAMES?async()=>gt(a,e.GET_INSIGHTS_SERVICE_NAMES,void 0,t):void 0,getTransactions:e.GET_INSIGHTS_TRANSACTIONS?async r=>gt(a,e.GET_INSIGHTS_TRANSACTIONS,r,t):void 0,getTransaction:e.GET_INSIGHTS_TRANSACTION?async r=>gt(a,e.GET_INSIGHTS_TRANSACTION,r,t):void 0,getFindings:e.GET_INSIGHTS_FINDINGS?async r=>gt(a,e.GET_INSIGHTS_FINDINGS,r,t):void 0,getAnomalies:e.GET_INSIGHTS_ANOMALIES?async r=>gt(a,e.GET_INSIGHTS_ANOMALIES,r,t):void 0,getAnomaly:e.GET_INSIGHTS_ANOMALY?async r=>gt(a,e.GET_INSIGHTS_ANOMALY,r,t):void 0,getPolicies:e.GET_INSIGHTS_POLICIES?async()=>gt(a,e.GET_INSIGHTS_POLICIES,void 0,t):void 0,getLearningPolicies:e.GET_INSIGHTS_LEARNING_POLICIES?async()=>gt(a,e.GET_INSIGHTS_LEARNING_POLICIES,void 0,t):void 0,getGuardrails:e.GET_INSIGHTS_GUARDRAILS?async()=>gt(a,e.GET_INSIGHTS_GUARDRAILS,void 0,t):void 0,getGuardrailViolation:e.GET_INSIGHTS_GUARDRAIL_VIOLATION?async r=>gt(a,e.GET_INSIGHTS_GUARDRAIL_VIOLATION,r,t):void 0,getServiceProfile:e.GET_INSIGHTS_SERVICE_PROFILE?async r=>gt(a,e.GET_INSIGHTS_SERVICE_PROFILE,r,t):void 0,getBlastRadius:e.GET_INSIGHTS_BLAST_RADIUS?async r=>gt(a,e.GET_INSIGHTS_BLAST_RADIUS,r,t):void 0,getCatalog:e.GET_INSIGHTS_CATALOG?async()=>gt(a,e.GET_INSIGHTS_CATALOG,void 0,t):void 0,getSystemSettings:e.GET_INSIGHTS_SYSTEM_SETTINGS?async()=>gt(a,e.GET_INSIGHTS_SYSTEM_SETTINGS,void 0,t):void 0,getStorageHealth:e.GET_INSIGHTS_STORAGE_HEALTH?async()=>gt(a,e.GET_INSIGHTS_STORAGE_HEALTH,void 0,t):void 0,promoteBaselineClass:e.PROMOTE_INSIGHTS_BASELINE_CLASS?async o=>{if(t.isReadonly)return s();const{data:i,error:c}=await Nt(a,e.PROMOTE_INSIGHTS_BASELINE_CLASS,o,t);return c?r(E.Update,c):n(E.Update,"Successfully promoted baseline class"),{data:i,error:c}}:void 0,resetBaselineClass:e.RESET_INSIGHTS_BASELINE_CLASS?async(o,i)=>{if(t.isReadonly)return s();const{error:c}=await Nt(a,e.RESET_INSIGHTS_BASELINE_CLASS,{transactionId:o,class:i},t);return c?r(E.Update,c):n(E.Update,"Successfully reset baseline class"),c?{error:c}:void 0}:void 0,resetTransactionBaselines:e.RESET_INSIGHTS_TRANSACTION_BASELINES?async o=>{if(t.isReadonly)return s();const{error:i}=await Nt(a,e.RESET_INSIGHTS_TRANSACTION_BASELINES,{transactionId:o},t);return i?r(E.Update,i):n(E.Update,"Successfully reset transaction baselines"),i?{error:i}:void 0}:void 0,promoteTransactionBaselines:e.PROMOTE_INSIGHTS_TRANSACTION_BASELINES?async o=>{if(t.isReadonly)return s();const{error:i}=await Nt(a,e.PROMOTE_INSIGHTS_TRANSACTION_BASELINES,{transactionId:o},t);return i?r(E.Update,i):(n(E.Update,"Successfully promoted transaction baselines"),await Promise.all([c(),u()])),i?{error:i}:void 0}:void 0,bulkPromoteTransactions:e.BULK_PROMOTE_INSIGHTS_TRANSACTIONS?async o=>{if(t.isReadonly)return s();const i={transactionIds:o},{data:l,error:d}=await Nt(a,e.BULK_PROMOTE_INSIGHTS_TRANSACTIONS,i,t);return d?r(E.Update,d):(n(E.Update,`Successfully promoted ${l?.promoted??o.length} transactions`),await Promise.all([c(),u()])),{data:l,error:d}}:void 0,forcePromoteService:e.FORCE_PROMOTE_INSIGHTS_SERVICE?async o=>{if(t.isReadonly)return s();const{error:i}=await Nt(a,e.FORCE_PROMOTE_INSIGHTS_SERVICE,o,t);return i?r(E.Update,i):(n(E.Update,"Successfully force-promoted service transactions"),await Promise.all([c(),u()])),i?{error:i}:void 0}:void 0,enableTransactionGuardrail:e.ENABLE_INSIGHTS_TRANSACTION_GUARDRAIL?async o=>{if(t.isReadonly)return s();const{error:i}=await Nt(a,e.ENABLE_INSIGHTS_TRANSACTION_GUARDRAIL,o,t);return i?r(E.Update,i):(n(E.Update,"Successfully enabled transaction guardrail"),await u()),i?{error:i}:void 0}:void 0,disableTransactionGuardrail:e.DISABLE_INSIGHTS_TRANSACTION_GUARDRAIL?async o=>{if(t.isReadonly)return s();const{error:i}=await Nt(a,e.DISABLE_INSIGHTS_TRANSACTION_GUARDRAIL,o,t);return i?r(E.Update,i):(n(E.Update,"Successfully disabled transaction guardrail"),await u()),i?{error:i}:void 0}:void 0,deleteTransaction:e.DELETE_INSIGHTS_TRANSACTION?async l=>{if(t.isReadonly)return s();const{error:d}=await Nt(a,e.DELETE_INSIGHTS_TRANSACTION,{transactionId:l},t);return d?r(E.Delete,d):(n(E.Delete,"Successfully deleted transaction"),await Promise.all([c(),o(),i()])),d?{error:d}:void 0}:void 0,bulkDeleteTransactions:e.BULK_DELETE_INSIGHTS_TRANSACTIONS?async l=>{if(t.isReadonly)return s();const d={transactionIds:l},{data:u,error:m}=await Nt(a,e.BULK_DELETE_INSIGHTS_TRANSACTIONS,d,t);return m?r(E.Delete,m):(n(E.Delete,`Successfully deleted ${u?.deleted??l.length} transactions`),await Promise.all([c(),o(),i()])),{data:u,error:m}}:void 0,upsertPolicy:e.UPSERT_INSIGHTS_POLICY?async o=>{if(t.isReadonly)return s();const{data:i,error:c}=await Nt(a,e.UPSERT_INSIGHTS_POLICY,{policy:o},t);return c?r(E.Update,c):(n(E.Update,`Successfully saved policy "${o.name}"`),await l()),{data:i,error:c}}:void 0,deletePolicy:e.DELETE_INSIGHTS_POLICY?async(o,i)=>{if(t.isReadonly)return s();const{error:c}=await Nt(a,e.DELETE_INSIGHTS_POLICY,{scope:o,scopeKey:i},t);return c?r(E.Delete,c):(n(E.Delete,"Successfully deleted policy"),await l()),c?{error:c}:void 0}:void 0,upsertLearningPolicy:e.UPSERT_INSIGHTS_LEARNING_POLICY?async o=>{if(t.isReadonly)return s();const{data:i,error:c}=await Nt(a,e.UPSERT_INSIGHTS_LEARNING_POLICY,{policy:o},t);return c?r(E.Update,c):(n(E.Update,"Successfully saved learning policy"),await d()),{data:i,error:c}}:void 0,deleteLearningPolicy:e.DELETE_INSIGHTS_LEARNING_POLICY?async(o,i,c)=>{if(t.isReadonly)return s();const{error:l}=await Nt(a,e.DELETE_INSIGHTS_LEARNING_POLICY,{class:o,scope:i,scopeKey:c},t);return l?r(E.Delete,l):(n(E.Delete,"Successfully deleted learning policy"),await d()),l?{error:l}:void 0}:void 0,resolveAnomaly:e.RESOLVE_INSIGHTS_ANOMALY?async c=>{if(t.isReadonly)return s();const{error:l}=await Nt(a,e.RESOLVE_INSIGHTS_ANOMALY,c,t);return l?r(E.Update,l):(n(E.Update,`Successfully ${c.resolution}ed anomaly`),await Promise.all([i(),o()])),l?{error:l}:void 0}:void 0,bulkResolveAnomalies:e.BULK_RESOLVE_INSIGHTS_ANOMALIES?async(c,l)=>{if(t.isReadonly)return s();const d={resolution:c,items:l},{data:u,error:m}=await Nt(a,e.BULK_RESOLVE_INSIGHTS_ANOMALIES,d,t);return m?r(E.Update,m):(n(E.Update,`Successfully ${c}ed ${u?.resolved??l.length} anomalies`),await Promise.all([i(),o()])),{data:u,error:m}}:void 0,upsertGuardrail:e.UPSERT_INSIGHTS_GUARDRAIL?async o=>{if(t.isReadonly)return s();const{data:i,error:c}=await Nt(a,e.UPSERT_INSIGHTS_GUARDRAIL,{guardrail:o},t);return c?r(E.Update,c):(n(E.Update,"Successfully saved guardrail"),await u()),{data:i,error:c}}:void 0,deleteGuardrail:e.DELETE_INSIGHTS_GUARDRAIL?async(o,i)=>{if(t.isReadonly)return s();const{error:c}=await Nt(a,e.DELETE_INSIGHTS_GUARDRAIL,{scopeKey:o,scope:i},t);return c?r(E.Delete,c):(n(E.Delete,"Successfully deleted guardrail"),await u()),c?{error:c}:void 0}:void 0,seedGuardrail:e.SEED_INSIGHTS_GUARDRAIL?async o=>{if(t.isReadonly)return s();const{error:i}=await Nt(a,e.SEED_INSIGHTS_GUARDRAIL,{seed:o},t);return i?r(E.Create,i):(n(E.Create,"Successfully seeded guardrail"),await u()),i?{error:i}:void 0}:void 0,acceptViolation:e.ACCEPT_INSIGHTS_GUARDRAIL_VIOLATION?async i=>{if(t.isReadonly)return s();const{error:c}=await Nt(a,e.ACCEPT_INSIGHTS_GUARDRAIL_VIOLATION,{action:i},t);return c?r(E.Update,c):(n(E.Update,"Successfully accepted violation"),await Promise.all([m(),o()])),c?{error:c}:void 0}:void 0,dismissViolation:e.DISMISS_INSIGHTS_GUARDRAIL_VIOLATION?async i=>{if(t.isReadonly)return s();const{error:c}=await Nt(a,e.DISMISS_INSIGHTS_GUARDRAIL_VIOLATION,{action:i},t);return c?r(E.Update,c):(n(E.Update,"Successfully dismissed violation"),await Promise.all([m(),o()])),c?{error:c}:void 0}:void 0,reopenViolation:e.REOPEN_INSIGHTS_GUARDRAIL_VIOLATION?async i=>{if(t.isReadonly)return s();const{error:c}=await Nt(a,e.REOPEN_INSIGHTS_GUARDRAIL_VIOLATION,{action:i},t);return c?r(E.Update,c):(n(E.Update,"Successfully reopened violation"),await Promise.all([m(),o()])),c?{error:c}:void 0}:void 0,updateSystemSettings:e.UPDATE_INSIGHTS_SYSTEM_SETTINGS?async o=>{if(t.isReadonly)return s();const{data:i,error:c}=await Nt(a,e.UPDATE_INSIGHTS_SYSTEM_SETTINGS,{settings:o},t);return c?r(E.Update,c):(n(E.Update,"Successfully updated system settings"),await(async()=>{e.GET_INSIGHTS_SYSTEM_SETTINGS&&await gt(a,e.GET_INSIGHTS_SYSTEM_SETTINGS,void 0,t)})()),{data:i,error:c}}:void 0}},Yt=[],Bt=e=>{if(e)return{clusters:[e],totalNamespaces:e.namespaces?.length??0,totalWorkloads:(e.namespaces??[]).reduce((e,t)=>e+(t.workloads?.length??0),0),lastUpdated:e.timestamp}},Wt=[],jt=[],qt=[],Qt=[],zt=(e,t)=>({...e,fields:e.fields.filter(({value:e})=>void 0!==e),currentStreamName:t}),Xt=[],Jt=[],Zt=async()=>{const e=await fetch(K);if(!e.ok)throw new Error(`${M} (HTTP ${e.status})`);return e.text()},ea=()=>{const{operations:e,context:t}=lt(),r=Qe(),n=((e,t)=>{const r=Qe(),{notifyError:n,notifySuccess:o,notifyPending:i,notifyReadonly:c}=Tt(T.Source),{selectedStreamName:l}=f(),{setProgress:d,resetProgress:u}=y(),{setConfiguredSources:m,setConfiguredFutureApps:S}=_(),p=(e,t)=>{const{progress:a}=y.getState();e>0&&d(h.Instrumenting,{total:(a[h.Instrumenting]?.total||0)+e,current:a[h.Instrumenting]?.current||0}),t>0&&d(h.Uninstrumenting,{total:(a[h.Uninstrumenting]?.total||0)+t,current:a[h.Uninstrumenting]?.current||0})},I=s(async()=>{const{error:a}=await gt(r,e.GET_WORKLOADS,Ft,t);a&&n(E.Read,a)},[r,e.GET_WORKLOADS,t,n]);return{useSources:()=>{const e=Dt("GET_WORKLOADS",Ft,{fetchPolicy:"cache-first"}),t=e.data?.workloads;return{items:a(()=>t?Ht(t):kt,[t]),loading:e.loading,refetch:I}},fetchAll:I,fetchByTargets:async(a,s)=>{const o=!!s?.slim,i=a.map(e=>g(e,T.Source)).filter(e=>e.namespace&&e.name&&e.kind);if(0===i.length)return;if(i.length>50)return void await I();const c=o&&e.GET_WORKLOADS_BY_IDS_SLIM?e.GET_WORKLOADS_BY_IDS_SLIM:e.GET_WORKLOADS_BY_IDS,{error:l}=await gt(r,c,{ids:i.map(({namespace:e,kind:t,name:a,region:r})=>({namespace:e,kind:t,name:a,region:r||void 0}))},t);l?n(E.Read,l):await I()},fetchById:async a=>{const{data:s,error:o}=await gt(r,e.GET_WORKLOADS_BY_IDS,{ids:[{namespace:a.namespace,kind:a.kind,name:a.name,...a.region?{region:a.region}:{}}]},t);if(o)return void n(E.Read,o);const i=s?.workloadsByIds?.find(e=>e.id.namespace===a.namespace&&e.id.kind===a.kind&&e.id.name===a.name&&(e.id.region??"")===(a.region??""));return i?Mt(i):void 0},fetchLibraries:async a=>gt(r,e.GET_SOURCE_LIBRARIES,a,t),fetchPeerSources:async a=>gt(r,e.GET_PEER_SOURCES,{serviceName:a},t),usePeerSources:(e,t)=>Dt("GET_PEER_SOURCES",e,t),useInstrumentationInstructions:(e,t)=>Dt("GET_INSTRUMENTATION_INSTRUCTIONS",e,{...t,skip:t?.skip||!e?.name}),persist:async(a,s)=>{if(t.isReadonly)return c();const{data:o}=await gt(r,e.GET_WORKLOADS,Ft,t,"cache-first"),d=Ht(o?.workloads??kt),{payload:T,isEmpty:I}=Pt(a,d,l,p),{payload:f,isEmpty:y}=Ut(s,l);let _=!1;I||(_=!0,i("Persisting sources...")),y||_||i("Persisting namespaces...");const{error:g}=await Nt(r,e.PERSIST_SOURCES,T,t);if(g&&(u(h.Instrumenting),u(h.Uninstrumenting),n(E.Update,g)),e.PERSIST_NAMESPACES){const{error:a}=await Nt(r,e.PERSIST_NAMESPACES,f,t);a&&n(E.Update,a)}m({}),S({})},persistV2:async a=>{if(t.isReadonly)return c(),{error:"readonly"};const n=[];for(const[s,o]of Object.entries(a)){const a={sources:[]},i={namespaces:[]};for(const e of o)e.name&&e.kind?a.sources.push(e):i.namespaces.push(e);const c=s&&s!==N?{...t,proxyID:s}:t,l=e=>s&&s!==N?`${s}: ${e}`:e;if(i.namespaces.length>0&&e.PERSIST_NAMESPACES){const{error:t}=await Nt(r,e.PERSIST_NAMESPACES,i,c);t&&n.push(l(t))}if(a.sources.length>0){const{error:t}=await Nt(r,e.PERSIST_SOURCES,a,c);t&&n.push(l(t))}}return n.length?{error:n.join(", ")}:void 0},update:async(a,s)=>{if(t.isReadonly)return c();i("Updating source...");const d={sourceId:a,patchSourceRequest:{...s,currentStreamName:l}},{data:u,error:m}=await Nt(r,e.UPDATE_SOURCE,d,t);m?n(E.Update,m,a):u?.updateK8sActualSource&&o(E.Update,`Successfully updated "${a.name}" source`,a)},restartWorkloads:async a=>{if(t.isReadonly)return c();i("Restarting sources...");const{data:s,error:l}=await Nt(r,e.RESTART_WORKLOADS,{sourceIds:a},t);l?n(E.Update,l):s?.restartWorkloads&&o(E.Update,`Successfully restarted ${a.length} sources`)},restartPod:async(a,s)=>{if(t.isReadonly)return c();i("Restarting pod...");const{data:l,error:d}=await Nt(r,e.RESTART_POD,{namespace:a,name:s},t);d?n(E.Update,d):l?.restartPod&&o(E.Update,`Successfully restarted pod ${a}/${s}`)},recoverFromRollback:async a=>{if(t.isReadonly)return c();i("Recovering from rollback...");const{data:s,error:l}=await Nt(r,e.RECOVER_FROM_ROLLBACK,{sourceId:a},t);l?n(E.Update,l,a):s?.recoverFromRollbackForWorkload&&o(E.Update,"Successfully triggered recovery from rollback")}}})(e,t),o=((e,t)=>{const a=Qe(),{notifyError:r,notifySuccess:n,notifyReadonly:s}=Tt(T.Destination),{selectedStreamName:o}=f(),i=async()=>{const{error:n}=await gt(a,e.GET_DESTINATIONS,void 0,t);n&&r(E.Read,n)};return{useDestinations:()=>{const e=Dt("GET_DESTINATIONS",void 0,{fetchPolicy:"cache-first"});return{items:e.data?.computePlatform?.destinations??e.data?.destinations??Qt,loading:e.loading,refetch:i}},useDestinationCategories:()=>{const e=Dt("GET_DESTINATION_CATEGORIES",void 0);return{data:e.data,loading:e.loading}},usePotentialDestinations:()=>{const e=Dt("GET_POTENTIAL_DESTINATIONS",void 0);return{data:e.data,loading:e.loading}},fetchAll:i,testConnection:async r=>{const{data:n}=await Nt(a,e.TEST_DESTINATION_CONNECTION,{destination:zt(r,o)},t);return n},create:async c=>{if(t.isReadonly)return s();const{error:l}=await Nt(a,e.CREATE_DESTINATION,{destination:zt(c,o)},t);l?r(E.Create,l):(n(E.Create,`Successfully created "${c.type}" destination`),await i())},update:async(c,l)=>{if(t.isReadonly)return s();const{data:d,error:u}=await Nt(a,e.UPDATE_DESTINATION,{id:c,destination:zt(l,o)},t);u?r(E.Update,u,c):d?.updateDestination&&(n(E.Update,`Successfully updated "${l.type}" destination`,c),await i())},remove:async c=>{if(t.isReadonly)return s();const{data:l}=await gt(a,e.GET_DESTINATIONS,void 0,t,"cache-first"),d=l?.computePlatform?.destinations??l?.destinations??Qt,u=d.find(e=>O(e)===c)?.destinationType?.type,{error:m}=await Nt(a,e.DELETE_DESTINATION,{id:c,currentStreamName:o},t);m?r(E.Delete,m,c):(n(E.Delete,`Successfully deleted "${u??c}" destination`,c),await i())}}})(e,t),l=((e,t)=>{const r=Qe(),{notifyError:n,notifySuccess:s,notifyReadonly:o}=Tt(T.Action),i=async()=>{const{error:a}=await gt(r,e.GET_ACTIONS,void 0,t);a&&n(E.Read,a)};return{useActions:()=>{const e=Dt("GET_ACTIONS",void 0,{fetchPolicy:"cache-first"});return{items:e.data?.computePlatform?.actions??e.data?.actions??xt,loading:e.loading,refetch:i}},useActionTypes:()=>{const e=Dt("GET_ACTION_TYPES",void 0,{fetchPolicy:"cache-first"});return{options:a(()=>v(e.data)||Kt,[e.data]),loading:e.loading}},fetchAll:i,create:async a=>{if(t.isReadonly)return o(),{error:u.READONLY_WARNING};if(!e.CREATE_ACTION)return{error:"Action creation is not supported"};const{error:c}=await Nt(r,e.CREATE_ACTION,{action:a},t);return c?n(E.Create,c):(s(E.Create,`Successfully created "${a.type}" action`),await i()),c?{error:c}:void 0},update:async(a,c)=>{if(t.isReadonly)return o();if(!e.UPDATE_ACTION)return;const{error:l}=await Nt(r,e.UPDATE_ACTION,{id:a,action:c},t);l?n(E.Update,l,a):(s(E.Update,`Successfully updated "${c.type}" action`,a),await i())},remove:async(a,c)=>{if(t.isReadonly)return o();if(!e.DELETE_ACTION)return;const{error:l}=await Nt(r,e.DELETE_ACTION,{id:a,actionType:c},t);l?n(E.Delete,l,a):(s(E.Delete,`Successfully deleted "${c}" action`,a),await i())}}})(e,t),m=((e,t)=>{const r=Qe(),{notifyError:n,notifySuccess:s,notifyReadonly:o}=Tt(T.InstrumentationRule),i=async()=>{const{error:a}=await gt(r,e.GET_INSTRUMENTATION_RULES,void 0,t);a&&n(E.Read,a)};return{useRules:()=>{const e=Dt("GET_INSTRUMENTATION_RULES",void 0,{fetchPolicy:"cache-first"});return{items:a(()=>(e.data?.computePlatform?.instrumentationRules??e.data?.instrumentationRules??[]).map(P),[e.data]),loading:e.loading,refetch:i}},useRuleTypes:()=>{const e=Dt("GET_INSTRUMENTATION_RULE_TYPES",void 0,{fetchPolicy:"cache-first"});return{options:a(()=>w(e.data)||Jt,[e.data]),loading:e.loading}},fetchAll:i,create:async(a,c)=>{if(t.isReadonly)return o();if(!e.CREATE_INSTRUMENTATION_RULE)return;const{error:l}=await Nt(r,e.CREATE_INSTRUMENTATION_RULE,{instrumentationRule:L(a)},t);l?n(E.Create,l):(s(E.Create,`Successfully created${c?` "${c}"`:""} rule`),await i())},update:async(a,c,l)=>{if(t.isReadonly)return o();if(!e.UPDATE_INSTRUMENTATION_RULE)return;const{error:d}=await Nt(r,e.UPDATE_INSTRUMENTATION_RULE,{ruleId:a,instrumentationRule:L(c)},t);d?n(E.Update,d,a):(s(E.Update,`Successfully updated${l?` "${l}"`:""} rule`,a),await i())},remove:async(a,c)=>{if(t.isReadonly)return o();if(!e.DELETE_INSTRUMENTATION_RULE)return;const{error:l}=await Nt(r,e.DELETE_INSTRUMENTATION_RULE,{ruleId:a},t);l?n(E.Delete,l,a):(s(E.Delete,`Successfully deleted${c?` "${c}"`:""} rule`,a),await i())}}})(e,t),p=((e,t)=>{const a=Qe(),{notifyError:r,notifySuccess:n,notifyReadonly:o}=Tt(R.InstrumentationAgent),i=c(r);i.current=r;const l=s(e=>{i.current(U,e?.message??F)},[]);return{useInstrumentationAgents:e=>Dt("GET_INSTRUMENTATION_AGENTS",void 0,e),useGoOffsets:e=>Dt("GET_GO_OFFSETS",void 0,{...e,onError:e?.onError??l}),getInstrumentationAgents:e.GET_INSTRUMENTATION_AGENTS?async()=>gt(a,e.GET_INSTRUMENTATION_AGENTS,void 0,t):void 0,getGoOffsets:e.GET_GO_OFFSETS?async()=>gt(a,e.GET_GO_OFFSETS,void 0,t):void 0,checkGoOffsetsUpdates:e.CHECK_GO_OFFSETS_UPDATES?async()=>{let n;try{n=await Zt()}catch(e){const t=e instanceof Error?e.message:M;return r(x,t),{error:t}}const{data:s,error:o}=await Nt(a,e.CHECK_GO_OFFSETS_UPDATES,{content:n},t);return o&&r(x,o),{data:s,error:o}}:void 0,updateGoOffsets:e.UPDATE_GO_OFFSETS?async()=>{if(t.isReadonly)return o();let s;try{s=await Zt()}catch(e){const t=e instanceof Error?e.message:M;return r(k,t),{error:t}}const{error:i}=await Nt(a,e.UPDATE_GO_OFFSETS,{content:s},t);return i?r(k,i):(n(E.Update,H),await(async()=>{e.GET_GO_OFFSETS&&await gt(a,e.GET_GO_OFFSETS,void 0,t)})()),i?{error:i}:void 0}:void 0}})(e,t),A=((e,t)=>{const a=Qe(),{addNotification:r}=d(),{setDataStreams:n}=f(),s=(e,t)=>r({type:S.Error,title:e,message:t}),o=async()=>{const{data:r,error:o}=await gt(a,e.GET_DATA_STREAMS,void 0,t);if(o)s(E.Read,o);else if(r){const e=r.computePlatform?.dataStreams??r.dataStreams??[];n(e)}},c=e.CREATE_DATA_STREAM?async n=>{if(t.isReadonly)return It(r);const{error:i}=await Nt(a,e.CREATE_DATA_STREAM,{stream:n},t);i?s(E.Create,i):await o()}:void 0;return{useDataStreams:()=>{const e=Dt("GET_DATA_STREAMS",void 0,{fetchPolicy:"cache-first"}),t=e.data?.computePlatform?.dataStreams??e.data?.dataStreams??qt;return i(()=>{n(t)},[JSON.stringify(t.map(e=>e.name))]),{items:t,loading:e.loading,refetch:o}},fetchAll:o,create:c,update:async(n,i)=>{if(t.isReadonly)return It(r);const{error:c}=await Nt(a,e.UPDATE_DATA_STREAM,{id:n,dataStream:i},t);c?s(E.Update,c):await o()},remove:async n=>{if(t.isReadonly)return It(r);const{error:i}=await Nt(a,e.DELETE_DATA_STREAM,{id:n},t);i?s(E.Delete,i):await o()}}})(e,t),K=((e,t)=>{const a=Qe(),{notifyError:r,notifyReadonly:n}=Tt(T.Namespace),s=async()=>{const n=await gt(a,e.GET_NAMESPACES_WITH_WORKLOADS,void 0,t);return n.error&&r(E.Read,n.error),n};return{useNamespaces:e=>{const t=Dt("GET_NAMESPACES_WITH_WORKLOADS",void 0,{fetchPolicy:"cache-and-network",skip:e?.skip});return{items:t.data?.namespaces??Yt,loading:t.loading,refetch:s}},fetchAll:s,persist:async s=>{if(t.isReadonly)return n();const{error:o}=await Nt(a,e.PERSIST_NAMESPACES,s,t);return o&&r(E.Update,o),o?{error:o}:void 0}}})(e,t),$=((e,t)=>{const a=Qe(),{notifyError:r}=Tt(T.Source);return{fetch:async n=>{const s=await gt(a,e.GET_K8S_MANIFEST,n,t);return s.error&&r(E.Read,s.error),s}}})(e,t),V=((e,t)=>{const a=Qe(),{notifyError:r,notifySuccess:n,notifyReadonly:s}=Tt(T.Source);return{useEffectiveConfig:(e,t)=>Dt("GET_EFFECTIVE_CONFIG",e,t),useConfigYamls:e=>Dt("GET_CONFIG_YAMLS",void 0,e),getEffectiveConfig:async r=>e.GET_EFFECTIVE_CONFIG?gt(a,e.GET_EFFECTIVE_CONFIG,{id:r},t):{error:"GET_EFFECTIVE_CONFIG not configured"},applyConfigurations:e.UPDATE_REMOTE_CONFIG?async(n,o)=>{if(t.isReadonly)return s();if(!o.length)return{error:"No connections selected"};const i={formData:n,connectionIds:o},c=e.UPDATE_REMOTE_CONFIG;let l;return 1===o.length?({error:l}=await Nt(a,c,i,t)):({error:l}=await vt(a,c,o,i,t)),l&&r(E.Update,l),l?{error:l}:void 0}:void 0,getConfigYamls:e.GET_CONFIG_YAMLS?async()=>gt(a,e.GET_CONFIG_YAMLS,void 0,t):void 0,updateLocalUiConfig:e.UPDATE_LOCAL_UI_CONFIG?async o=>{if(t.isReadonly)return s();const{error:i}=await Nt(a,e.UPDATE_LOCAL_UI_CONFIG,{config:o},t);return i?r(E.Update,i):n(E.Update,"Local UI configuration updated successfully"),i?{error:i}:void 0}:void 0,resetLocalUiConfigToDefaults:e.RESET_LOCAL_UI_CONFIG_TO_FACTORY_DEFAULTS?async()=>{if(t.isReadonly)return s();const{error:o}=await Nt(a,e.RESET_LOCAL_UI_CONFIG_TO_FACTORY_DEFAULTS,void 0,t);return o?r(E.Update,o):n(E.Update,"Local UI configuration reset to factory defaults"),o?{error:o}:void 0}:void 0}})(e,t),Y=((e,t)=>{const a=Qe(),{apolloConfig:r}=lt();return{fetchDescribeOdigos:e.GET_DESCRIBE_ODIGOS?async()=>gt(a,e.GET_DESCRIBE_ODIGOS,void 0,t):void 0,fetchDescribeSource:e.GET_DESCRIBE_SOURCE?async r=>gt(a,e.GET_DESCRIBE_SOURCE,r,t):void 0,downloadDiagnose:e.GET_DIAGNOSE?async(n,s)=>{const o=await gt(a,e.GET_DIAGNOSE,{input:n,dryRun:s?.dryRun??!1},t),i=o?.data?.stats?.fileCount??0;return!o.error&&i>0&&!s?.dryRun&&await(async e=>{const t=(e=>{try{return new URL("/diagnose/download",e).toString()}catch{return null}})(e.httpUrl);if(t)try{const[a,r]=await Promise.all([Promise.resolve(e.authHeader?.()??{}),Promise.resolve(e.csrfHeader?.()??{})]),n=await fetch(t,{credentials:e.credentials??"same-origin",headers:{...a,...r}});if(!n.ok)throw new Error(`Failed to download diagnose archive: ${n.status} ${n.statusText}`);((e,t)=>{if("undefined"==typeof document)return;const a=URL.createObjectURL(e),r=document.createElement("a");r.href=a,r.download=t,document.body.appendChild(r),r.click(),document.body.removeChild(r),URL.revokeObjectURL(a)})(await n.blob(),`odigos-diagnose-${Date.now()}.tar.gz`)}catch(e){}})(r),o}:void 0}})(e,t),B=((e,t)=>{const a=Qe(),{notifyError:r,notifyReadonly:n}=Tt(T.Source),s=async()=>{e.GET_TOKENS&&await gt(a,e.GET_TOKENS,void 0,t)};return{useTokens:()=>{const e=Dt("GET_TOKENS",void 0,{fetchPolicy:"cache-first"});return{items:e.data??wt,loading:e.loading,refetch:s}},updateToken:e.UPDATE_TOKEN?async s=>{if(t.isReadonly)return n();const{error:o}=await Nt(a,e.UPDATE_TOKEN,{token:s},t);return o&&r(E.Update,o),o?{error:o}:void 0}:void 0}})(e,t),W=((e,t)=>{const a=Qe();return{useMetrics:e=>Dt("GET_METRICS",void 0,e),fetch:async()=>gt(a,e.GET_METRICS,void 0,t)}})(e,t),j=((e,t)=>{const a=Qe();return{useServiceMap:e=>Dt("GET_SERVICE_MAP",void 0,e),fetch:e.GET_SERVICE_MAP?async()=>gt(a,e.GET_SERVICE_MAP,void 0,t):void 0}})(e,t),q=((e,t)=>{const a=Qe();return{useSlots:e=>Dt("GET_PROFILING_SLOTS",void 0,e),useSourceProfiling:(e,t)=>Dt("GET_SOURCE_PROFILING",e,t),useHotFunctions:(e,t)=>Dt("GET_PROFILE_HOT_FUNCTIONS",e,t),fetchSlots:e.GET_PROFILING_SLOTS?async()=>gt(a,e.GET_PROFILING_SLOTS,void 0,t):void 0,fetchSourceProfiling:e.GET_SOURCE_PROFILING?async r=>gt(a,e.GET_SOURCE_PROFILING,r,t):void 0,enableProfiling:e.ENABLE_SOURCE_PROFILING?async r=>Nt(a,e.ENABLE_SOURCE_PROFILING,r,t):void 0,fetchHotFunctions:e.GET_PROFILE_HOT_FUNCTIONS?async r=>gt(a,e.GET_PROFILE_HOT_FUNCTIONS,r,t):void 0,clearProfileCache:e.CLEAR_PROFILE_CACHE?async()=>Nt(a,e.CLEAR_PROFILE_CACHE,void 0,t):void 0}})(e,t),Q=((e,t)=>{const a=Qe();return{useGatewayInfo:e=>Dt("GET_GATEWAY_INFO",void 0,e),useGatewayPods:e=>Dt("GET_GATEWAY_PODS",void 0,e),useNodeCollectorInfo:e=>Dt("GET_NODE_COLLECTOR_INFO",void 0,e),useNodeCollectorPods:e=>Dt("GET_NODE_COLLECTOR_PODS",void 0,e),usePodInfo:(e,t)=>Dt("GET_COLLECTOR_POD_INFO",e,t),getGatewayInfo:e.GET_GATEWAY_INFO?async()=>gt(a,e.GET_GATEWAY_INFO,void 0,t):void 0,getGatewayPods:e.GET_GATEWAY_PODS?async()=>gt(a,e.GET_GATEWAY_PODS,void 0,t):void 0,getNodeCollectorInfo:e.GET_NODE_COLLECTOR_INFO?async()=>gt(a,e.GET_NODE_COLLECTOR_INFO,void 0,t):void 0,getNodeCollectorPods:e.GET_NODE_COLLECTOR_PODS?async()=>gt(a,e.GET_NODE_COLLECTOR_PODS,void 0,t):void 0,getExtendedPodInfo:e.GET_COLLECTOR_POD_INFO?async(r,n)=>gt(a,e.GET_COLLECTOR_POD_INFO,{namespace:r,name:n},t):void 0}})(e,t),z=((e,t)=>{const a=Qe(),{notifyError:r,notifySuccess:n,notifyReadonly:s}=Tt(T.SamplingRule),o=async()=>{e.GET_SAMPLING_RULES&&await gt(a,e.GET_SAMPLING_RULES,void 0,t)},i=(e,i)=>e?async c=>{if(t.isReadonly)return s();const{error:l}=await Nt(a,e,c,t);return l?r(i,l):(n(E.Create,"Successfully created sampling rule"),await o()),l?{error:l}:void 0}:void 0,c=(e,i)=>e?async(c,l)=>{if(t.isReadonly)return s();const{error:d}=await Nt(a,e,{samplingId:l.samplingId,ruleId:c,rule:l.rule},t);return d?r(i,d):(n(E.Update,"Successfully updated sampling rule"),await o()),d?{error:d}:void 0}:void 0,l=e=>e?async(i,c)=>{if(t.isReadonly)return s();const{error:l}=await Nt(a,e,{samplingId:c,ruleId:i},t);return l?r(E.Delete,l):(n(E.Delete,"Successfully deleted sampling rule"),await o()),l?{error:l}:void 0}:void 0;return{useSamplingRules:()=>{const e=Dt("GET_SAMPLING_RULES",void 0,{fetchPolicy:"cache-first"});return{items:e.data?.computePlatform?.samplingRules??e.data?.samplingRules??$t,k8sHealthProbesConfig:e.data?.computePlatform?.k8sHealthProbesConfig??e.data?.k8sHealthProbesConfig??null,loading:e.loading,refetch:o}},fetchAll:e.GET_SAMPLING_RULES?async()=>gt(a,e.GET_SAMPLING_RULES,void 0,t):void 0,createNoisy:i(e.CREATE_NOISY_OPERATION_RULE,E.Create),updateNoisy:c(e.UPDATE_NOISY_OPERATION_RULE,E.Update),deleteNoisy:l(e.DELETE_NOISY_OPERATION_RULE),createHighlyRelevant:i(e.CREATE_HIGHLY_RELEVANT_OPERATION_RULE,E.Create),updateHighlyRelevant:c(e.UPDATE_HIGHLY_RELEVANT_OPERATION_RULE,E.Update),deleteHighlyRelevant:l(e.DELETE_HIGHLY_RELEVANT_OPERATION_RULE),createCostReduction:i(e.CREATE_COST_REDUCTION_RULE,E.Create),updateCostReduction:c(e.UPDATE_COST_REDUCTION_RULE,E.Update),deleteCostReduction:l(e.DELETE_COST_REDUCTION_RULE),updateK8sHealthProbesConfig:e.UPDATE_LOCAL_UI_SAMPLING_CONFIG?async n=>{if(t.isReadonly)return s();const{error:i}=await Nt(a,e.UPDATE_LOCAL_UI_SAMPLING_CONFIG,{config:{k8sHealthProbesSampling:n}},t);return i?r(E.Update,i):await o(),i?{error:i}:void 0}:void 0}})(e,t),X=((e,t)=>{const a=Qe(),{notifyError:r,notifySuccess:n,notifyReadonly:s}=Tt(T.Recommendation),o=async()=>{e.GET_RECOMMENDATIONS&&await gt(a,e.GET_RECOMMENDATIONS,void 0,t)};return{useRecommendations:()=>{const e=Dt("GET_RECOMMENDATIONS",void 0,{fetchPolicy:"cache-first"});return{items:e.data?.computePlatform?.recommendations??e.data?.recommendations??Xt,loading:e.loading,refetch:o}},fetchAll:e.GET_RECOMMENDATIONS?async()=>gt(a,e.GET_RECOMMENDATIONS,void 0,t):void 0,setDismissed:e.SET_RECOMMENDATION_DISMISSED?async(i,c)=>{if(t.isReadonly)return s(),{error:u.READONLY_WARNING};const{error:l}=await Nt(a,e.SET_RECOMMENDATION_DISMISSED,{name:i,dismissed:c},t);return l?r(E.Update,l):(n(E.Update,c?D:b),await o()),l?{error:l}:void 0}:void 0,applyRemediation:e.APPLY_RECOMMENDATION_REMEDIATION?async(i,c)=>{if(t.isReadonly)return s(),{error:u.READONLY_WARNING};const{data:l,error:d}=await Nt(a,e.APPLY_RECOMMENDATION_REMEDIATION,{recommendationType:i,remediationType:c},t),m=d||!l?.applyRecommendationRemediation;return m?r(E.Update,d||C):(n(E.Update,G),await o()),m?{error:d||C}:void 0}:void 0}})(e,t),J=((e,t)=>{const r=Qe();return{useSnapshots:()=>{const e=t.proxyID,r=!!e,n=Dt("GET_ALL_CLUSTER_SNAPSHOTS",void 0,{fetchPolicy:"cache-and-network",skip:r}),o=Dt("GET_CLUSTER_SNAPSHOT",e?{clusterId:e}:void 0,{fetchPolicy:"cache-and-network",skip:!r}),i=a(()=>r?Bt(o.data):n.data,[r,o.data,n.data]),c=r?o.loading:n.loading,l=s(async()=>{if(!r)return n.refetch();const{data:e}=await o.refetch();return{data:Bt(e)}},[r,n.refetch,o.refetch]);return{data:i,loading:c,pending:c&&!i,unsupported:r?o.unsupported:n.unsupported,refetch:l}},getAllClusterSnapshots:e.GET_ALL_CLUSTER_SNAPSHOTS?async()=>gt(r,e.GET_ALL_CLUSTER_SNAPSHOTS,void 0,t):void 0,getClusterSnapshot:e.GET_CLUSTER_SNAPSHOT?async a=>gt(r,e.GET_CLUSTER_SNAPSHOT,{clusterId:a},t):void 0}})(e,t),Z=((e,t)=>{const a=Qe(),{notifyError:r,notifySuccess:n,notifyReadonly:o}=Tt(R.Connection),i=s(async()=>{if(!e.GET_COMPUTE_PLATFORMS)return[];const{data:n,error:s}=await gt(a,e.GET_COMPUTE_PLATFORMS,void 0,t);return s&&r(E.Read,s),n??[]},[a,e.GET_COMPUTE_PLATFORMS,t,r]);return{useConnections:()=>{const e=Dt("GET_COMPUTE_PLATFORMS",void 0,{fetchPolicy:"cache-and-network"});return{items:e.data??Wt,loading:e.loading,unsupported:e.unsupported,refetch:i}},useCloudConnectorProviders:()=>{const e=Dt("GET_CLOUD_CONNECTOR_PROVIDERS",void 0,{fetchPolicy:"cache-first"});return{items:e.data??jt,loading:e.loading,unsupported:e.unsupported}},createCloudConnector:e.CREATE_CLOUD_CONNECTOR?async n=>{if(t.isReadonly)throw o(),new Error("Readonly");const{data:s,error:c}=await Nt(a,e.CREATE_CLOUD_CONNECTOR,{input:n},t);if(c)throw r(E.Create,c),new Error(c);if(!s)throw new Error("No result returned from create connector");return s.created&&await i(),s}:void 0,deleteConnection:e.DELETE_PROXY_CONNECTION||e.DELETE_CLOUD_CONNECTOR?async(s,c)=>{if(t.isReadonly)return o();if(c===I.Connector){if(!e.DELETE_CLOUD_CONNECTOR)return r(E.Delete,"DELETE_CLOUD_CONNECTOR not configured"),{success:!1,error:"DELETE_CLOUD_CONNECTOR not configured"};const{data:o,error:c}=await Nt(a,e.DELETE_CLOUD_CONNECTOR,{connectorId:s},t);if(c)return r(E.Delete,c),{success:!1,error:c};const l=o??{success:!1,error:"Failed to delete connection"};return l.success?(n(E.Delete,"Connection deleted successfully"),await i(),l):(r(E.Delete,l.error||"Failed to delete connection"),l)}if(!e.DELETE_PROXY_CONNECTION)return r(E.Delete,"DELETE_PROXY_CONNECTION not configured"),{success:!1,error:"DELETE_PROXY_CONNECTION not configured"};const{data:l,error:d}=await Nt(a,e.DELETE_PROXY_CONNECTION,{proxyID:s},t);if(d)return r(E.Delete,d),{success:!1,error:d};const u=l??{success:!1,error:"Failed to delete connection"};return u.success?(n(E.Delete,"Connection deleted successfully"),await i(),u):(r(E.Delete,u.error||"Failed to delete connection"),u)}:void 0}})(e,t);return{sourcesApi:n,destinationsApi:o,actionsApi:l,instrumentationRulesApi:m,instrumentationAgentsApi:p,dataStreamsApi:A,namespacesApi:K,k8sManifestApi:$,configApi:V,describeApi:Y,tokensApi:B,metricsApi:W,serviceMapApi:j,profilingApi:q,collectorsApi:Q,samplingApi:z,recommendationsApi:X,snapshotsApi:J,connectionsApi:Z,insightsApi:Vt(e,t),capabilities:a(()=>((e,t)=>{const a=t.platformType===I.K8s,r=a,n=a,s=t.platformType===I.Vm,o=!s,i=!(t.platformType===I.Connector);return{canBulkPersistSources:o&&!!e.PERSIST_SOURCES,canInstrumentNamespaces:n&&!!e.PERSIST_NAMESPACES,canFetchSnapshots:r&&!!e.GET_ALL_CLUSTER_SNAPSHOTS,canRecoverFromRollback:r&&!!e.RECOVER_FROM_ROLLBACK,canRestartWorkloads:r&&!!e.RESTART_WORKLOADS,canFetchPeerSources:!!e.GET_PEER_SOURCES,canFetchSourceLibraries:!!e.GET_SOURCE_LIBRARIES,canFetchInstrumentationInstructions:!!e.GET_INSTRUMENTATION_INSTRUCTIONS,canFetchK8sManifest:r&&!!e.GET_K8S_MANIFEST,canCreateDestination:!!e.CREATE_DESTINATION,canTestConnection:o&&!!e.TEST_DESTINATION_CONNECTION,canFetchDestinationCategories:!!e.GET_DESTINATION_CATEGORIES,canFetchPotentialDestinations:o&&!!e.GET_POTENTIAL_DESTINATIONS,canManageActions:i&&!!e.GET_ACTIONS,canCreateAction:i&&!!e.CREATE_ACTION,canFetchActionTypes:i&&!!e.GET_ACTION_TYPES,canManageInstrumentationRules:i&&!!e.GET_INSTRUMENTATION_RULES,canCreateInstrumentationRule:i&&!!e.CREATE_INSTRUMENTATION_RULE,canFetchInstrumentationRuleTypes:i&&!!e.GET_INSTRUMENTATION_RULE_TYPES,canApplyEffectiveConfig:o&&!!e.UPDATE_REMOTE_CONFIG,canFetchEffectiveConfig:!!e.GET_EFFECTIVE_CONFIG,canFetchConfigYamls:!!e.GET_CONFIG_YAMLS,canFetchProfiling:r&&!!e.GET_PROFILING_SLOTS||s&&(!!e.GET_SOURCE_PROFILING||!!e.GET_PROFILE_HOT_FUNCTIONS),canFetchCollectorInfo:r&&!!e.GET_GATEWAY_INFO,canManageSamplingRules:!!e.GET_SAMPLING_RULES,canManageInsightsPolicies:!!e.GET_INSIGHTS_POLICIES,canFetchInsights:!!e.GET_INSIGHTS_FINDINGS,canManageRecommendations:r&&!!e.GET_RECOMMENDATIONS}})(e,t),[e,t]),resetCache:s(async()=>{await r.cache.reset()},[r])}},ta={type:"",disabled:!1,name:"",notes:"",signals:[],fields:{}},aa=n(null),ra=e=>e?.length?e.map(e=>!e.fromSources?.length&&e.from?{...e,fromSources:[e.from]}:e):e,na=(e,t)=>{const a=V(e??{}),r=a[B.ExtractAttribute];var n;r?.extractions?.length&&(r.extractions=r.extractions.map(e=>{const t=e;return{...t,method:t.method||(t.regex?.trim()?"regex":"preset")}})),a[B.LabelsAttributes]&&(a[B.LabelsAttributes]=ra(a[B.LabelsAttributes])),a[B.AnnotationsAttributes]&&(a[B.AnnotationsAttributes]=ra(a[B.AnnotationsAttributes])),a[B.UrlTemplatizationRulesGroups]&&(a[B.UrlTemplatizationRulesGroups]=(n=a[B.UrlTemplatizationRulesGroups],n?.length?n.map(e=>{const t=e.filterK8sWorkloadKind,a=e.filterK8sWorkloadName;return e.workloadFilters?.length||!t&&!a?e:{...e,workloadFilters:[{kind:t,name:a||void 0}]}}):n));const s=new Set((t?.fields||[]).filter(e=>e.componentType===W.SourceScopes).map(e=>e.name));return void 0!==a[B.Scopes]&&s.add(B.Scopes),s.forEach(e=>{const t=e;a[t]=He(a[t])}),a},sa="All row fields are required",oa="At least one row is required",ia=(e,t)=>!!e&&t.every(t=>{const a=e[t];return Array.isArray(a)?a.length>0:!("string"==typeof(r=a)?!r.trim():q(r));var r}),ca=({children:t,sourceOptions:r=[],namespaceOptions:n=[]})=>{const[i,c]=o(null),l=$(ta),d=s(e=>{l.resetFormData(),l.handleErrorChange(void 0,void 0,{}),e?.type&&l.handleFormChange("type",e.type),c(e)},[]),m=s((e,t)=>{const a=t??(r=e.type,Y.find(e=>e.type===r)??null);var r;l.resetFormData((({type:e,name:t,notes:a,disabled:r,signals:n,fields:s},o)=>({type:e,name:t||"",notes:a||"",disabled:!!r,signals:n??[],fields:na(s,o)}))(e,a)),l.handleErrorChange(void 0,void 0,{}),c(a)},[]),S=s(()=>{if(!i)return{errorMessage:"No action type selected",preparedFormData:V(ta)};const e=((e,t)=>{const a=V(e),r=a.fields||{},n=r[B.UrlTemplatizationRulesGroups];n?.length&&(r[B.UrlTemplatizationRulesGroups]=n.map(e=>({...e,templatizationRules:(e.templatizationRules||[]).filter(e=>!!e.template?.trim())})));const s=r[B.AttributeNamesToDelete];s?.length&&(r[B.AttributeNamesToDelete]=s.filter(e=>!!e?.trim()));const o=r[B.Renames];if(o){const e=Array.isArray(o)?o.map(e=>[e?.key??"",e?.value??""]):Object.entries(o);r[B.Renames]=Object.fromEntries(e.filter(([e,t])=>!!e?.trim()&&!!t?.trim()))}const i=new Set((t?.fields||[]).filter(e=>e.componentType===W.SourceScopes).map(e=>e.name));void 0!==r[B.Scopes]&&i.add(B.Scopes),i.forEach(e=>{const t=r[e];void 0!==t&&(r[e]=Me(t)?null:t)});const c=r[B.ExtractAttribute];return c?.extractions?.length&&(r[B.ExtractAttribute]={extractions:c.extractions.map(e=>{const t=e,a=t.method||(t.regex?.trim()?"regex":"preset"),r=t.targetAttributeName?.trim()||"";if("regex"===a)return{targetAttributeName:r,lookupKey:"",regex:t.regex?.trim()||""};const n={targetAttributeName:r,lookupKey:t.lookupKey?.trim()||"",regex:""};return t.dataFormat&&(n.dataFormat=t.dataFormat),n}).filter(e=>!!(e.targetAttributeName||e.lookupKey||e.dataFormat||e.regex))}),a.fields=r,a})(l.formData,i),t={};return q(e.signals)&&(t.signals=u.FIELD_IS_REQUIRED),i.type&&Object.assign(t,((e,t,a)=>{const r={},n=t.fields||{},s=a.fields||{};switch(e){case j.K8sAttributes:{const e=!(n[B.CollectContainerAttributes]||n[B.CollectReplicaSetAttributes]||n[B.CollectWorkloadId]||n[B.CollectClusterId]),t=!n[B.LabelsAttributes]?.length,a=!n[B.AnnotationsAttributes]?.length;e&&t&&a&&(r[B.CollectContainerAttributes]="Enable at least one option or add a label/annotation row");const s=n[B.LabelsAttributes];s?.some(e=>!ia(e,["labelKey","attributeKey","fromSources"]))&&(r[B.LabelsAttributes]=sa);const o=n[B.AnnotationsAttributes];o?.some(e=>!ia(e,["annotationKey","attributeKey","fromSources"]))&&(r[B.AnnotationsAttributes]=sa);break}case j.AddClusterInfo:{const e=n[B.ClusterAttributes];e?.length?e.some(e=>!ia(e,["attributeName","attributeStringValue"]))&&(r[B.ClusterAttributes]=sa):r[B.ClusterAttributes]=oa;break}case j.DeleteAttributes:{const e=s[B.AttributeNamesToDelete]||[],t=n[B.AttributeNamesToDelete]||[];t.length?e.length>t.length&&(r[B.AttributeNamesToDelete]=sa):r[B.AttributeNamesToDelete]=e.length?sa:oa;break}case j.RenameAttributes:{const e=Object.entries(s[B.Renames]||{}),t=Object.entries(n[B.Renames]||{}),a=e.some(([e,t])=>!e?.trim()||!t?.trim());t.length?a&&(r[B.Renames]=sa):r[B.Renames]=e.length?sa:oa;break}case j.PiiMasking:{const e=n[B.PiiCategories];e?.length||(r[B.PiiCategories]="Select at least one attribute to mask");break}case j.URLTemplatization:{const e=n[B.UrlTemplatizationRulesGroups];(!e?.length||e.some(e=>!e.templatizationRules?.length))&&(r[B.UrlTemplatizationRulesGroups]="Each rule group needs at least one non-blank template");break}case j.ExtractAttribute:{const e=n[B.ExtractAttribute]?.extractions||[],t=s[B.ExtractAttribute]?.extractions||[];if(e.length)if(e.some(e=>{if(!e.targetAttributeName?.trim())return!0;const t=!!e.regex?.trim(),a=!!e.lookupKey?.trim();return a!==!!e.dataFormat||t===a}))r[B.ExtractAttribute]="Each row needs a target attribute name and either a regex or both lookup key and data format";else{const t=new Set;e.some(e=>{const a=e.targetAttributeName?.trim()||"";return!!t.has(a)||(t.add(a),!1)})&&(r[B.ExtractAttribute]="Each new span attribute name must be unique")}else r[B.ExtractAttribute]=t.length?sa:oa;break}}return r})(i.type,e,l.formData)),l.handleErrorChange(void 0,void 0,t),{errorMessage:Object.keys(t).length>0?"Invalid form values":void 0,preparedFormData:e}},[l,i]),p=a(()=>({selectedOption:i,onSelectOption:d,loadAction:m,genericForm:l,validateFormData:S,sourceOptions:r,namespaceOptions:n}),[i,d,m,l,S,r,n]);return e(aa.Provider,{value:p,children:t})},la=()=>{const e=r(aa);if(!e)throw new Error("useActionFormContext must be used within an ActionFormContextProvider");return e},da={provider:"",permission:"",customCapabilities:{},authMethod:"",setupMethod:"",accountId:"",credentials:{},accessToken:"",secretId:"",name:""},ua=n(null),ma=({children:t})=>{const{connectionsApi:r}=ea(),{items:n}=r.useCloudConnectorProviders(),o=$(da),i=s(()=>{const e=V(o.formData);return e.provider?e.permission?{errorMessage:void 0,preparedFormData:e}:{errorMessage:"Please select a permission level",preparedFormData:e}:{errorMessage:"Please select a provider",preparedFormData:e}},[o]),c=a(()=>({providers:n,genericForm:o,validateFormData:i}),[n,o,i]);return e(ua.Provider,{value:c,children:t})},Sa=()=>{const e=r(ua);if(!e)throw new Error("useCloudConnectorFormContext must be used within a CloudConnectorFormContextProvider");return e},pa={name:""},Ea=n(null),Ta=({children:t,defaultExcludeName:r=""})=>{const{dataStreams:n}=f(),[i,l]=o(void 0),[d,m]=o(r),[S,p]=o(void 0),[E,T]=o(null),I=c(null),y=$(pa),_=s(e=>{y.resetFormData({name:e}),y.handleErrorChange(void 0,void 0,{}),l(void 0),m(e),p(e),T(null),I.current=null},[]),h=s(()=>{const e=V(y.formData),t=(e=>{const t={};return e.name?Q(e.name)||(t.name=u.ILLEGAL_K8S_LABEL):t.name=u.FIELD_IS_REQUIRED,t})(e);y.handleErrorChange(void 0,void 0,t);const a=Object.keys(t).length>0?u.REQUIRED_FIELDS:void 0;return l(a),{errorMessage:a,preparedFormData:e}},[y]),g=s(async e=>{const{errorMessage:t,preparedFormData:a}=h();if(t)return;const r=n.find(e=>e.name===a.name&&e.name!==d);if(r)return I.current=e,void T({preparedFormData:a,existingName:r.name,editingName:S});await e(a)},[h,n,d,S]),N=s(async()=>{const e=I.current,t=E?.preparedFormData;I.current=null,T(null),e&&t&&await e(t)},[E]),v=s(()=>{I.current=null,T(null)},[]),A=a(()=>({genericForm:y,loadDataStream:_,editingName:S,validateFormData:h,requestSubmit:g,pendingMerge:E,confirmMerge:N,cancelMerge:v,errorMessage:i,excludeName:d,setExcludeName:m}),[y,_,S,h,g,E,N,v,i,d]);return e(Ea.Provider,{value:A,children:t})},Ia=()=>{const e=r(Ea);if(!e)throw new Error("useDataStreamFormContext must be used within a DataStreamFormContextProvider");return e},fa={type:"",name:"",currentStreamName:"",disabled:!1,exportedSignals:{logs:!1,metrics:!1,traces:!1,profiles:!1},fields:[]},ya={activeForm:null,onChangeActiveForm:()=>{},loadDestination:()=>{},genericForm:void 0,validateFormData:()=>({isOk:!1,preparedFormData:V(fa)}),unsavedDestinations:[],thisUnsavedDestination:void 0,setUnsavedDestinations:()=>{},addUnsavedDestination:()=>{},updateUnsavedDestination:()=>{},deleteUnsavedDestination:()=>{}},_a=n(ya),ha=e=>e.filter(e=>!!e).map(e=>{const{name:t,componentType:a,componentProperties:r,displayName:n,initialValue:s,renderCondition:o}=e,i=a===W.Dropdown,c=Z(r,{});return{componentType:a,renderCondition:o,name:t,title:n,value:s,placeholder:c.placeholder||(i?"Select an option":void 0),options:i&&Array.isArray(c.values)?c.values.map(e=>({id:e,label:e})):void 0,...c}}),ga=({children:t})=>{const{selectedStreamName:r}=f(),{items:n}=ea().destinationsApi.useDestinations(),[c,l]=o(null),[d,m]=o(ya.unsavedDestinations),S=a(()=>"number"==typeof c?.unsavedIdx?d[c.unsavedIdx]:void 0,[c,d]),p=s((e,t)=>{c&&(m(t=>[...t,{...e,option:c.option}]),l(t?e=>e?{...e,listType:z.UNSAVED,unsavedIdx:d.length}:null:null))},[c,d.length]),E=s((e,t,a)=>{c&&(m(a=>a.map((a,r)=>r===e?{...a,...t,option:c.option}:a)),l(a?e=>e?{...e,listType:z.UNSAVED}:null:null))},[c]),T=s(e=>{m(t=>t.filter((t,a)=>a!==e)),l(null)},[]),I=$({...fa,currentStreamName:r});i(()=>{if(!c)return;if(S)return void I.resetFormData({...S.formData});if(c.listType===z.EXISTS&&c.option.id){const e=n.find(e=>e.id===c.option.id);if(e)return void I.resetFormData({type:e.destinationType.type,name:e.name||e.destinationType.displayName,currentStreamName:r,disabled:!!e.disabled,exportedSignals:{logs:!!e.exportedSignals?.logs,metrics:!!e.exportedSignals?.metrics,traces:!!e.exportedSignals?.traces,profiles:!!e.exportedSignals?.profiles},fields:c.dynamicFields.map(e=>({key:e.name,value:e.value}))})}const e=X(c.option.supportedSignals);I.resetFormData({type:c.option.type,name:c.option.displayName,currentStreamName:r,disabled:!1,exportedSignals:{logs:e.includes(J.Logs),metrics:e.includes(J.Metrics),traces:e.includes(J.Traces),profiles:e.includes(J.Profiles)},fields:c.dynamicFields.map(e=>({key:e.name,value:e.value}))})},[c,S]);const y=s(e=>{I.resetFormData(),I.handleErrorChange(void 0,void 0,{}),l(e?{...e,dynamicFields:e.option?.fields?ha(e.option.fields):[]}:null)},[]),_=s((e,t)=>{let a;for(const r of t){const t=r.items.find(t=>t.type===e.destinationType.type);if(t){a=t;break}}const r=Z(e.fields,{}),n={id:e.id,type:e.destinationType.type,displayName:e.name||e.destinationType.displayName,selected:!0,testConnectionSupported:a?.testConnectionSupported??!1,supportedSignals:a?.supportedSignals??e.destinationType.supportedSignals,fields:a?a.fields.map(e=>({...e,initialValue:r[e.name]??e.initialValue})):[]},s=ha(n.fields);l({listType:z.EXISTS,option:n,dynamicFields:s})},[]),h=s(()=>{const e=V(I.formData),t={};return c?.dynamicFields.forEach(({name:a,required:r})=>{if(r){const r=e.fields.find(e=>e.key===a)?.value;q(r)&&(t[a]=u.FIELD_IS_REQUIRED)}}),ee(e.exportedSignals).length||(t.exportedSignals=u.FIELD_IS_REQUIRED),I.handleErrorChange(void 0,void 0,t),{errorMessage:0===Object.keys(t).length?void 0:"Invalid form values",preparedFormData:e}},[I,c]);return e(_a.Provider,{value:{activeForm:c,onChangeActiveForm:y,loadDestination:_,genericForm:I,validateFormData:h,unsavedDestinations:d,thisUnsavedDestination:S,setUnsavedDestinations:m,addUnsavedDestination:p,updateUnsavedDestination:E,deleteUnsavedDestination:T},children:t})},Na=()=>r(_a),va="http.response.status_code",Aa="rpc.grpc.status_code",Ra="http.status_code",Oa=(e,t)=>{switch(e){case va:case Ra:return t;case Aa:return`gRPC ${t}`;default:return t}},Ca=({operationName:e,identityDimensions:t})=>{const a=e||"",r=t??[];return r.length?`${a} · ${r.map(e=>Oa(e.key,e.value)).join(" · ")}`:a},Ga=e=>{const t=e.indexOf("\t"),a=t>=0?e.slice(0,t):"",r=t>=0?e.slice(t+1):e,{operationName:n,identityDimensions:s}=Da(r),o=Ca({operationName:n,identityDimensions:s});return a?`${a} ${o}`:o},Da=e=>{const t=e.indexOf(" [");if(t<0)return{operationName:e,identityDimensions:[]};const a=e.slice(0,t),r=[];let n=e.slice(t+1);for(;n.startsWith("[");){const e=n.indexOf("="),t=n.indexOf("]");if(e<0||t<0||e>t)break;r.push({key:n.slice(1,e),value:n.slice(e+1,t)}),n=n.slice(t+1)}return{operationName:a,identityDimensions:r}},ba=e=>{const t=`${e.namespace}/${e.service}`,a=Ca(e);return a?`${t} · ${a}`:t},La=({operationName:a,identityDimensions:r,tagVariant:n=re.Blue,fallback:s="-"})=>{const o=r??[];return t(te,{$gap:6,$alignItems:"center",children:[e(ae,{label:a||s,variant:n}),o.map(t=>e(ne,{text:t.key,children:e(ae,{label:Oa(t.key,t.value)})},`${t.key}=${t.value}`))]})};var wa,Pa;(e=>{e.Global="global",e.Service="service",e.Transaction="transaction"})(wa||(wa={})),(e=>{e.Low="low",e.Medium="medium",e.High="high",e.Critical="critical"})(Pa||(Pa={}));const Ua=e=>e.scope===wa.Global,Fa=n(null),ka=(e,t)=>`${e}/${t}`,Ma={scopeType:wa.Service,selectedKey:""},Ha=({children:t,services:r,transactions:n,existingScopeKeys:c,onSubmit:l})=>{const d=$(Ma),[u,m]=o(!1),{scopeType:S,selectedKey:p}=d.formData,E=a(()=>{const e=new Set,t=[];for(const a of r){if(!a.namespace||!a.service)continue;const r=ka(a.namespace,a.service);e.has(r)||(e.add(r),t.push({id:r,label:r}))}return t.sort((e,t)=>e.label.localeCompare(t.label))},[r]),T=a(()=>n.filter(e=>!!e.id).map(e=>({id:e.id,label:ba(e)})).sort((e,t)=>e.label.localeCompare(t.label)),[n]),I=S===wa.Service?E:T;i(()=>{const e=I.find(e=>!c.includes(e.id))?.id||I[0]?.id||"";p&&I.some(e=>e.id===p)||d.handleFormChange("selectedKey",e)},[I,c,p,d]);const f=!!p&&!u,y=s(async()=>{if(!f)return;const e=I.find(e=>e.id===p);m(!0);try{await l({scope:S,scopeKey:p,name:e?.label||p})}finally{m(!1)}},[f,I,p,S,l]),_=a(()=>({services:r,transactions:n,existingScopeKeys:c,genericForm:d,serviceOptions:E,transactionOptions:T,options:I,canCreate:f,submitting:u,handleSubmit:y}),[r,n,c,d,E,T,I,f,u,y]);return e(Fa.Provider,{value:_,children:t})},xa=()=>{const e=r(Fa);if(!e)throw new Error("useDetectionOverrideFormContext must be used within a DetectionOverrideFormContextProvider");return e},Ka=[{id:Pa.Low,label:se},{id:Pa.Medium,label:oe},{id:Pa.High,label:ie},{id:Pa.Critical,label:ce}],$a={[Pa.Low]:20,[Pa.Medium]:40,[Pa.High]:60,[Pa.Critical]:75},Va=n(null),Ya=({children:t,policy:r,onSave:n,onDelete:c})=>{const l=$(r),[d,u]=o(!1),[m,S]=o(!1);i(()=>{l.resetFormData(r)},[r]);const p=l.isFormDirty,E=d||m,T=p&&!E,I=p&&!E,f=s(e=>{const t=e[0]||Pa.Medium,a=l.formData;l.handleFormChange(void 0,void 0,{...a,riskLevel:t,fireAtScore:$a[t],summary:Ua(a)?a.summary:le($a[t],a.signalWeightOverrideCount)})},[l]),y=s(e=>{const t=l.formData;l.handleFormChange(void 0,void 0,{...t,signalWeights:e.signalWeights,enricherLists:e.enricherLists,signalWeightOverrideCount:e.overrideCount,summary:Ua(t)?t.summary:le(t.fireAtScore,e.overrideCount)})},[l]),_=s(async()=>{if(T){u(!0);try{await n(l.formData)}finally{u(!1)}}},[l.formData,T,n]),h=s(()=>{l.resetFormData(r)},[l,r]),g=s(async()=>{if(c){S(!0);try{await c()}finally{S(!1)}}},[c]),N=a(()=>({policy:r,genericForm:l,isDirty:p,canUpdate:T,canDiscard:I,isSaving:d,isDeleting:m,handleSave:_,handleDiscard:h,handleDelete:g,handleRiskLevelChange:f,handleSignalWeightsChange:y}),[r,l,p,T,I,d,m,_,h,g,f,y]);return e(Va.Provider,{value:N,children:t})},Ba=()=>{const e=r(Va);if(!e)throw new Error("useDetectionPolicyFormContext must be used within a DetectionPolicyFormContextProvider");return e},Wa=()=>({name:"",left:{service:"",span:"",attr:"",extract:""},right:{service:"",span:"",attr:"",extract:""},relation:ue.Equals,severity:de.Critical,why:""}),ja=e=>({name:e.name,left:{service:e.left.service,span:e.left.span,attr:e.left.attr,extract:e.left.extract??""},right:{service:e.right.service,span:e.right.span,attr:e.right.attr,extract:e.right.extract??""},relation:e.relation,severity:e.severity,why:e.why??""}),qa=(e,t)=>{const a=e.rules.map(e=>({key:e.key,label:e.label,allowlistCount:e.allowlist?.length??0,correlationCount:e.correlations?.length??0,isAuto:e.origin===_e}));return{id:(r=e.scope,n=e.scopeKey,`${r}::${n}`),scope:e.scope,scopeKey:e.scopeKey,title:t||e.scopeKey,rules:a,mode:Xa(e),hasAuto:a.some(e=>e.isAuto)};var r,n},Qa=(e,t)=>e.rules.find(e=>e.key===t)?.allowlist?.filter(Boolean)??[],za=(e,t=Se)=>(e.rules.find(e=>e.key===t)?.correlations??[]).map(ja),Xa=e=>e.rules[0]?.mode||Ee.Suggest,Ja=(...e)=>{const t=new Set,a=[];for(const r of e)for(const e of r??[])e&&!t.has(e)&&(t.add(e),a.push(e));return a},Za=e=>{const t=e.name.trim(),a={service:e.left.service.trim(),span:e.left.span.trim(),attr:e.left.attr.trim(),extract:e.left.extract?.trim()||void 0},r={service:e.right.service.trim(),span:e.right.span.trim(),attr:e.right.attr.trim(),extract:e.right.extract?.trim()||void 0};return t&&a.service&&a.span&&a.attr&&r.service&&r.span&&r.attr?{name:t,left:a,right:r,relation:e.relation||ue.Equals,severity:e.severity||de.Critical,why:e.why?.trim()||void 0}:null},er=e=>!!Za(e),tr=[""],ar={scopeType:pe.Service,mode:Ee.Enforce,callers:[],callees:[],egress:[],transactions:[],extraCallers:tr,extraCallees:tr,extraEgress:tr,correlations:[Wa()]},rr=e=>{const t=e.scope===pe.Transaction;return{scopeType:t?pe.Transaction:pe.Service,mode:Xa(e),callers:Qa(e,Te),callees:Qa(e,Ie),egress:Qa(e,fe),transactions:Qa(e,ye),extraCallers:tr,extraCallees:tr,extraEgress:tr,correlations:t?za(e):[Wa()]}},nr=(e,t)=>({scopeType:t,mode:Ee.Enforce,callers:e?.callers??[],callees:e?.callees??[],egress:e?.egress??[],transactions:e?.transactions??[],extraCallers:tr,extraCallees:tr,extraEgress:tr,correlations:[Wa()]}),sr=e=>e.map(e=>e.trim()).filter(Boolean),or=n(null),ir=(e,t,a)=>a?Array.from(new Set([...e,t])):e.filter(e=>e!==t),cr=({children:t,profile:r,profileLoading:n=!1,transactions:c=[],guardrail:l=null,namespace:d="",service:u="",transactionId:m="",initialScopeType:S=pe.Service,onTransactionChange:p,hideActions:E=!1,onSubmit:T,onDelete:I})=>{const f=!!l,y=$({...ar,scopeType:S}),[_,h]=o(!1);i(()=>{l?y.resetFormData(rr(l)):y.resetFormData(nr(r,y.formData.scopeType))},[l,r]);const g=a(()=>l&&l.scope===pe.Service?(e=>{const t=e.indexOf("/");return t<0?{namespace:"",service:e}:{namespace:e.slice(0,t),service:e.slice(t+1)}})(l.scopeKey):null,[l]),N=f?g?.namespace||"":d,v=f?g?.service||"":u,A=f&&l?.scope===pe.Transaction?l.scopeKey:m,{scopeType:R,mode:O,callers:C,callees:G,egress:D,transactions:b,extraCallers:L,extraCallees:w,extraEgress:P,correlations:U}=y.formData,F=a(()=>l?Ja(Qa(l,Te),r?.callers):r?.callers??[],[l,r?.callers]),k=a(()=>l?Ja(Qa(l,Ie),r?.callees):r?.callees??[],[l,r?.callees]),M=a(()=>l?Ja(Qa(l,fe),r?.egress):r?.egress??[],[l,r?.egress]),H=a(()=>l?Ja(Qa(l,ye),r?.transactions):r?.transactions??[],[l,r?.transactions]),x=a(()=>sr(L),[L]),K=a(()=>sr(w),[w]),V=a(()=>sr(P),[P]),Y=a(()=>l?{callers:F.length>0||x.length>0||l.rules.some(e=>e.key===Te),callees:k.length>0||K.length>0||l.rules.some(e=>e.key===Ie),egress:M.length>0||V.length>0||l.rules.some(e=>e.key===fe),transactions:H.length>0||l.rules.some(e=>e.key===ye)}:{callers:F.length>0||x.length>0,callees:k.length>0||K.length>0,egress:M.length>0||V.length>0,transactions:(r?.transactions?.length??0)>0},[l,r,F,k,M,H,x,K,V]),B=y.isFormDirty,W=!!N&&!!v,j=!!A,q=U.some(er),Q=!f&&!_&&(R===pe.Service?W:j&&q),z=f&&!_&&B&&(R===pe.Service||q),X=f&&B&&!_,J=f&&!!I,Z=s(()=>{f&&y.resetFormData(l?rr(l):nr(r,R))},[f,l,r,R,y]),ee=s(e=>y.handleFormChange("mode",e),[y]),te=s(e=>{f||y.handleFormChange("scopeType",e)},[y,f]),ae=s(e=>y.handleFormChange("correlations",e),[y]),re=s(e=>y.handleFormChange("extraCallers",e),[y]),ne=s(e=>y.handleFormChange("extraCallees",e),[y]),se=s(e=>y.handleFormChange("extraEgress",e),[y]),oe=s((e,t)=>y.handleFormChange("callers",ir(y.formData.callers,e,t)),[y]),ie=s((e,t)=>y.handleFormChange("callees",ir(y.formData.callees,e,t)),[y]),ce=s((e,t)=>y.handleFormChange("egress",ir(y.formData.egress,e,t)),[y]),le=s((e,t)=>y.handleFormChange("transactions",ir(y.formData.transactions,e,t)),[y]),de=s(e=>y.handleFormChange("callers",e?[...F]:[]),[y,F]),ue=s(e=>y.handleFormChange("callees",e?[...k]:[]),[y,k]),Ee=s(e=>y.handleFormChange("egress",e?[...M]:[]),[y,M]),_e=s(e=>y.handleFormChange("transactions",e?[...H]:[]),[y,H]),he=s(()=>{if(R===pe.Transaction){const e=l?.rules.find(e=>e.key===Se)?.origin;return(e=>{const t=e.correlations.map(Za).filter(e=>!!e);return e.scopeKey.trim()&&t.length?{scope:pe.Transaction,scopeKey:e.scopeKey.trim(),rules:[{key:Se,label:me,mode:e.mode,correlations:t,origin:e.origin||void 0}]}:null})({scopeKey:A,mode:O,correlations:U,origin:e})}return W?(e=>{const t=e.governed??{},a=e.origins??{},r=[{key:Te,label:"Allowed callers",allowlist:e.callers,keep:e.callers.length>0||!!t.callers},{key:Ie,label:"Allowed callees",allowlist:e.callees,keep:e.callees.length>0||!!t.callees},{key:fe,label:"Allowed egress",allowlist:e.egress,keep:e.egress.length>0||!!t.egress},{key:ye,label:"Allowed transactions",allowlist:e.transactions,keep:e.transactions.length>0||!!t.transactions}].filter(e=>e.keep).map(t=>({key:t.key,label:t.label,allowlist:t.allowlist,mode:e.mode,origin:a[t.key]||void 0}));return{scope:e.scope,scopeKey:e.scopeKey,rules:r}})({scope:pe.Service,scopeKey:f&&l?l.scopeKey:`${N}/${v}`,mode:O,callers:Ja(C,x),callees:Ja(G,K),egress:Ja(D,V),transactions:b,governed:Y,origins:l?Object.fromEntries(l.rules.map(e=>[e.key,e.origin])):void 0}):null},[R,A,O,U,W,f,l,N,v,C,G,D,b,x,K,V,Y]),ge=s(async()=>{if(!(f?z:Q))return;const e=he();if(e){h(!0);try{await T(e)}finally{h(!1)}}},[f,z,Q,he,T]),Ne=s(async()=>{if(I&&l&&!_){h(!0);try{await I(l.scopeKey,l.scope)}finally{h(!1)}}},[I,l,_]),ve=a(()=>({profile:r,profileLoading:n,guardrail:l,isEdit:f,namespace:N,service:v,transactionId:A,transactions:c,onTransactionChange:p,genericForm:y,isDirty:B,isSubmitting:_,canCreate:Q,canUpdate:z,canDiscard:X,canDelete:J,hideActions:E,handleDiscard:Z,handleSubmit:ge,handleDelete:Ne,setMode:ee,setScopeType:te,setCorrelations:ae,callerItems:F,calleeItems:k,egressItems:M,transactionItems:H,setExtraCallers:re,setExtraCallees:ne,setExtraEgress:se,toggleCaller:oe,toggleCallee:ie,toggleEgress:ce,toggleTransaction:le,toggleAllCallers:de,toggleAllCallees:ue,toggleAllEgress:Ee,toggleAllTransactions:_e}),[r,n,l,f,N,v,A,c,p,y,B,_,Q,z,X,J,E,Z,ge,Ne,ee,te,ae,F,k,M,H,re,ne,se,oe,ie,ce,le,de,ue,Ee,_e]);return e(or.Provider,{value:ve,children:t})},lr=()=>{const e=r(or);if(!e)throw new Error("useGuardrailFormContext must be used within a GuardrailFormContextProvider");return e};var dr;(e=>{e.Minutes="minutes",e.Hours="hours",e.Days="days"})(dr||(dr={}));const ur=e=>e.scope===pe.Global,mr=Object.values(he),Sr=n(null),pr=(e,t)=>`${e}/${t}`,Er=({children:t,services:r,transactions:n,existingOverrides:c,initialClass:l,onSubmit:d})=>{const u=$((e=>({deviationClass:e||mr[0],scopeType:pe.Service,selectedKey:""}))(l)),[m,S]=o(!1),{deviationClass:p,scopeType:E,selectedKey:T}=u.formData;i(()=>{l&&u.handleFormChange("deviationClass",l)},[l,u]);const I=a(()=>c.filter(e=>e.class===p).map(e=>e.scopeKey),[c,p]),f=a(()=>{const e=new Set,t=[];for(const a of r){if(!a.namespace||!a.service)continue;const r=pr(a.namespace,a.service);e.has(r)||(e.add(r),t.push({id:r,label:r}))}return t.sort((e,t)=>e.label.localeCompare(t.label))},[r]),y=a(()=>n.filter(e=>!!e.id).map(e=>({id:String(e.id),label:ba(e)})).sort((e,t)=>e.label.localeCompare(t.label)),[n]),_=E===pe.Service?f:y;i(()=>{const e=_.find(e=>!I.includes(e.id))?.id||_[0]?.id||"";T&&_.some(e=>e.id===T)||u.handleFormChange("selectedKey",e)},[_,I,T,u]);const h=!!p&&!!T&&!m,g=s(async()=>{if(!h)return;const e=_.find(e=>e.id===T);S(!0);try{await d({class:p,scope:E,scopeKey:T,name:e?.label||T})}finally{S(!1)}},[h,_,T,p,E,d]),N=a(()=>({services:r,transactions:n,existingOverrides:c,genericForm:u,options:_,canCreate:h,submitting:m,handleSubmit:g}),[r,n,c,u,_,h,m,g]);return e(Sr.Provider,{value:N,children:t})},Tr=()=>{const e=r(Sr);if(!e)throw new Error("useLearningOverrideFormContext must be used within a LearningOverrideFormContextProvider");return e};let Ir=0;const fr=()=>"cond-"+ ++Ir,yr=(e,t,a)=>`${e}:${t||"global"}:${a}`,_r=(e,t)=>{switch(t){case dr.Days:return Math.max(0,Math.round(24*e*60));case dr.Hours:return Math.max(0,Math.round(60*e));case dr.Minutes:default:return Math.max(0,Math.round(e))}},hr=e=>e<=0?{value:0,unit:dr.Minutes}:e%1440==0?{value:e/1440,unit:dr.Days}:e%60==0?{value:e/60,unit:dr.Hours}:{value:e,unit:dr.Minutes},gr=e=>{const{value:t,unit:a}=hr(e);return a===dr.Days?7===t?"1w":`${t}d`:a===dr.Hours?`${t}h`:`${t}m`},Nr=e=>{const{value:t,unit:a}=hr(e);return a===dr.Days?1===t?"1 day":`${t} days`:a===dr.Hours?1===t?"1 hour":`${t} hours`:1===t?"1 minute":`${t} minutes`},vr=e=>{switch(e.type){case Ne.StableObservations:return`Unchanged for ${e.value} observations`;case Ne.StableDuration:return`unchanged for ${gr(_r(e.value,e.durationUnit))}`;case Ne.MinObservations:return`Min ${e.value} observations`;case Ne.MinDuration:return`min ${gr(_r(e.value,e.durationUnit))}`;default:return""}},Ar=e=>{switch(e.type){case Ne.StableObservations:return`unchanged for ${e.value} observations`;case Ne.StableDuration:return`unchanged for ${Nr(_r(e.value,e.durationUnit))}`;case Ne.MinObservations:return`at least ${e.value} observations`;case Ne.MinDuration:return`at least ${Nr(_r(e.value,e.durationUnit))}`;default:return""}},Rr=(e,t,a)=>t.length?((e,t,a)=>{if(!e.length)return"";const r=e.map((e,t)=>0===t?e.charAt(0).toUpperCase()+e.slice(1):0===t?e:e.charAt(0).toLowerCase()+e.slice(1));if(1===r.length)return r[0];const n=t===Ae.All?" AND ":t===Ae.KOf?` (${ge} ${a??1}) `:" OR ";return r.join(n)})(t.map(vr),e,a):"Falls back to count-only default",Or=e=>{const{value:t,durationUnit:a}=(e=>{switch(e.type){case Ne.StableObservations:return{value:e.stableObservations??0,durationUnit:dr.Hours};case Ne.MinObservations:return{value:e.minObservations??0,durationUnit:dr.Hours};case Ne.StableDuration:{const t=e.stableMinutes??0,a=hr(t);return{value:a.value,durationUnit:a.unit}}case Ne.MinDuration:{const t=e.minDurationMinutes??0,a=hr(t);return{value:a.value,durationUnit:a.unit}}default:return{value:0,durationUnit:dr.Hours}}})(e);return{key:fr(),type:e.type,value:t,durationUnit:a}},Cr=e=>{const t=_r(e.value,e.durationUnit);switch(e.type){case Ne.StableObservations:return{type:e.type,minObservations:null,minDurationMinutes:null,stableObservations:e.value,stableMinutes:null};case Ne.MinObservations:return{type:e.type,minObservations:e.value,minDurationMinutes:null,stableObservations:null,stableMinutes:null};case Ne.StableDuration:return{type:e.type,minObservations:null,minDurationMinutes:null,stableObservations:null,stableMinutes:t};case Ne.MinDuration:return{type:e.type,minObservations:null,minDurationMinutes:t,stableObservations:null,stableMinutes:null};default:return{type:e.type}}},Gr=(e=Ne.StableObservations)=>({key:fr(),type:e,value:ve(e)?1:100,durationUnit:dr.Hours}),Dr=e=>{const t=(e.conditions??[]).map(Or),a=e.mode,r=e.minMatches??null,n=e.scope,s=Re[e.class],o=n===pe.Global?s:`${s} · ${e.scopeKey}`;return{id:yr(n,e.scopeKey,e.class),name:o,class:e.class,mode:a,conditions:t,minMatches:r,scope:n,scopeKey:e.scopeKey,summary:Rr(a,t,r)}},br=(e,t)=>{if(!t.length)return e;const a=new Map(t.map(e=>[String(e.id),e]));return e.map(e=>{if(e.scope!==pe.Transaction)return e;const t=a.get(e.scopeKey);return t?{...e,name:`${Re[e.class]} · ${ba(t)}`}:e})},Lr=e=>({class:e.class,mode:e.mode,conditions:e.conditions.map(Cr),minMatches:e.mode===Ae.KOf?e.minMatches??1:null,scope:e.scope,scopeKey:e.scopeKey}),wr=({scope:e,scopeKey:t,source:a,displayName:r})=>{const n=a.conditions.map(e=>({...e,key:fr()})),s=r||t;return{id:yr(e,t,a.class),name:`${Re[a.class]} · ${s}`,class:a.class,mode:a.mode,conditions:n,minMatches:a.minMatches,scope:e,scopeKey:t,summary:Rr(a.mode,n,a.minMatches)}},Pr=e=>{const t=[Gr()],a=Ae.Any;return{id:yr(pe.Global,"",e),name:Re[e],class:e,mode:a,conditions:t,minMatches:null,scope:pe.Global,scopeKey:"",summary:Rr(a,t,null)}},Ur=e=>({...e,summary:Rr(e.mode,e.conditions,e.minMatches)}),Fr=n(null),kr=({children:t,policy:r,onSave:n,onDelete:c})=>{const l=$(r),[d,u]=o(!1),[m,S]=o(!1),p=l.formData,E=!ur(p);i(()=>{l.resetFormData(r)},[r]);const T=l.isFormDirty,I=d||m,f=T&&!I,y=T&&!I,_=a(()=>((e,t,a)=>{if(!t.length)return{parts:["Falls back to the count-only default"],joiner:null};const r=t.map(Ar).map((e,t)=>0===t?e:e.charAt(0).toLowerCase()+e.slice(1));return 1===r.length?{parts:r,joiner:null}:{parts:r,joiner:e===Ae.All?"AND":e===Ae.KOf?`${ge} ${a??1}`:"OR"}})(p.mode,p.conditions,p.minMatches),[p.mode,p.conditions,p.minMatches]),h=a(()=>Rr(p.mode,p.conditions,p.minMatches),[p.mode,p.conditions,p.minMatches]),g=s(e=>{l.handleFormChange(void 0,void 0,Ur({...l.formData,conditions:e(l.formData.conditions)}))},[l]),N=s(e=>{const t=e[0]||Ae.Any,a=l.formData;l.handleFormChange(void 0,void 0,Ur({...a,mode:t,minMatches:t===Ae.KOf?a.minMatches??1:null}))},[l]),v=s((e,t)=>{g(a=>a.map(a=>a.key===e?((e,t)=>{const a=ve(e.type),r=ve(t);return a===r?{...e,type:t}:{...e,type:t,value:r?1:100,durationUnit:e.durationUnit||dr.Hours}})(a,t):a))},[g]),A=s((e,t)=>{const a=Number(t);g(t=>t.map(t=>t.key===e?{...t,value:Number.isFinite(a)?a:0}:t))},[g]),R=s((e,t)=>{g(a=>a.map(a=>a.key===e?{...a,durationUnit:t}:a))},[g]),O=s(e=>{g(t=>t.filter(t=>t.key!==e))},[g]),C=s(()=>{g(e=>[...e,Gr()])},[g]),G=s(e=>{l.handleFormChange(void 0,void 0,Ur({...l.formData,minMatches:Math.max(1,e||1)}))},[l]),D=s(async()=>{if(f){u(!0);try{await n(Ur(l.formData))}finally{u(!1)}}},[l.formData,f,n]),b=s(()=>{l.resetFormData(r)},[l,r]),L=s(async()=>{if(c){S(!0);try{await c()}finally{S(!1)}}},[c]),w=a(()=>({policy:r,genericForm:l,isDirty:T,canUpdate:f,canDiscard:y,isOverride:E,isSaving:d,isDeleting:m,promotesWhen:_,currently:h,handleModeChange:N,handleConditionTypeChange:v,handleConditionValueChange:A,handleDurationUnitChange:R,handleRemoveCondition:O,handleAddCondition:C,handleMinMatchesChange:G,handleSave:D,handleDiscard:b,handleDelete:L}),[r,l,T,f,y,E,d,m,_,h,N,v,A,R,O,C,G,D,b,L]);return e(Fr.Provider,{value:w,children:t})},Mr=()=>{const e=r(Fr);if(!e)throw new Error("useLearningPolicyFormContext must be used within a LearningPolicyFormContextProvider");return e},Hr={examplesPerTransaction:0,exampleSampleIntervalSeconds:0,observationRetentionDays:0,maxResidentTransactions:0,maxBaselineSetMembers:0,flushIntervalSeconds:0,autoTransactionGuardrail:!0,identityDimensions:[...Oe]},xr=e=>e.map(e=>({key:e.key.trim(),enabled:e.enabled})).filter(e=>e.key.length>0),Kr=e=>({examplesPerTransaction:e.sampling.examplesPerTransaction,exampleSampleIntervalSeconds:e.sampling.exampleSampleIntervalSeconds,observationRetentionDays:e.retention.observationRetentionDays,maxResidentTransactions:e.capacity.maxResidentTransactions,maxBaselineSetMembers:e.capacity.maxBaselineSetMembers,flushIntervalSeconds:e.writeback.flushIntervalSeconds,autoTransactionGuardrail:e.detection?.autoTransactionGuardrail??!0,identityDimensions:e.identity?.transactionIdentityDimensions?.length?e.identity.transactionIdentityDimensions.map(e=>({key:e.key,enabled:e.enabled})):[...Oe]}),$r=n(null),Vr=({children:t,settings:r,onSave:n})=>{const c=$(Hr),[l,d]=o(!1),[u,m]=o(!1),S=a(()=>r?JSON.stringify(Kr(r)):"",[r]);i(()=>{r&&S&&c.resetFormData(Kr(r))},[S]);const p=c.formData,E=!!r&&c.isFormDirty,T=E&&(e=>{const t=e.identityDimensions.filter(e=>e.enabled&&e.key.trim()).length,a=e.identityDimensions.map(e=>e.key.trim()).filter(Boolean),r=new Set(a);return[e.examplesPerTransaction,e.exampleSampleIntervalSeconds,e.observationRetentionDays,e.maxResidentTransactions,e.maxBaselineSetMembers,e.flushIntervalSeconds].every(e=>Number.isFinite(e)&&e>0)&&t<=Ce&&r.size===a.length})(p)&&!l,I=E&&!l,f=p.identityDimensions.filter(e=>e.enabled&&e.key.trim()).length,y=s(async e=>{if(r){d(!0);try{await n(((e,t)=>({sampling:{examplesPerTransaction:e.examplesPerTransaction,exampleSampleIntervalSeconds:e.exampleSampleIntervalSeconds},retention:{observationRetentionDays:e.observationRetentionDays},capacity:{maxResidentTransactions:e.maxResidentTransactions,maxBaselineSetMembers:e.maxBaselineSetMembers},writeback:{flushIntervalSeconds:e.flushIntervalSeconds},detection:{autoTransactionGuardrail:e.autoTransactionGuardrail},identity:{transactionIdentityDimensions:xr(e.identityDimensions)},resetTransactions:t||void 0}))(p,e))}finally{d(!1),m(!1)}}},[r,p,n]),_=s(async()=>{r&&T&&(((e,t)=>{const a=Kr(t);return r=xr(e.identityDimensions),n=xr(a.identityDimensions),!(r.length===n.length&&r.every((e,t)=>e.key===n[t].key&&e.enabled===n[t].enabled));var r,n})(p,r)?m(!0):await y(!1))},[r,T,p,y]),h=s(()=>{r&&I&&c.resetFormData(Kr(r))},[r,I,c]),g=s((e,t)=>{c.handleFormChange(void 0,void 0,{...c.formData,identityDimensions:c.formData.identityDimensions.map((a,r)=>r===e?{...a,...t}:a)})},[c]),N=s(e=>{c.handleFormChange(void 0,void 0,{...c.formData,identityDimensions:c.formData.identityDimensions.filter((t,a)=>a!==e)})},[c]),v=s(()=>{const e=c.formData.identityDimensions.filter(e=>e.enabled&&e.key.trim()).length;c.handleFormChange(void 0,void 0,{...c.formData,identityDimensions:[...c.formData.identityDimensions,{key:"",enabled:e<Ce}]})},[c]),A=a(()=>({settings:r,genericForm:c,isDirty:E,canUpdate:T,canDiscard:I,isSaving:l,enabledDimCount:f,identityConfirmOpen:u,setIdentityConfirmOpen:m,handleSave:_,handleDiscard:h,persist:y,updateDim:g,removeDim:N,addDim:v}),[r,c,E,T,I,l,f,u,_,h,y,g,N,v]);return e($r.Provider,{value:A,children:t})},Yr=()=>{const e=r($r);if(!e)throw new Error("useSystemSettingsFormContext must be used within a SystemSettingsFormContextProvider");return e},Br={disabled:!1,ruleName:"",notes:"",sourceScopes:xe(),workloads:null,instrumentationLibraries:null,payloadCollection:null,codeAttributes:null,headersCollection:null,customInstrumentations:null,networkMetrics:null},Wr=n(null),jr=({children:t,sourceOptions:r=[],namespaceOptions:n=[]})=>{const[i,c]=o(null),l=$(Br),d=s(e=>{l.resetFormData(),l.handleErrorChange(void 0,void 0,{}),c(e)},[]),u=s((e,t)=>{var a;l.resetFormData((({ruleName:e,notes:t,disabled:a,sourceScopes:r,instrumentationLibraries:n,payloadCollection:s,codeAttributes:o,headersCollection:i,customInstrumentations:c,networkMetrics:l,workloads:d})=>({ruleName:e||"",notes:t||"",disabled:!!a,sourceScopes:He(r),workloads:d??null,instrumentationLibraries:n??null,payloadCollection:s??null,codeAttributes:o??null,headersCollection:i??null,customInstrumentations:c??null,networkMetrics:l??null}))(e)),l.handleErrorChange(void 0,void 0,{}),c(t??(a=e.type,Ge.find(e=>e.type===a)??null))},[]),m=s(()=>{if(!i)return{errorMessage:"No rule type selected",preparedFormData:V(Br)};const e=((e,t)=>{const a=V(e),{workloads:r,...n}=a,s={...n,sourceScopes:Me(a.sourceScopes)?null:a.sourceScopes,...r?.length?{workloads:r}:{}};return s.headersCollection?.[De.HeaderKeys]?.length&&(s.headersCollection[De.HeaderKeys]=s.headersCollection[De.HeaderKeys].map(e=>e.trim()).filter(e=>e)),s.customInstrumentations?.[be.Golang]?.length&&(s.customInstrumentations[be.Golang]=s.customInstrumentations[be.Golang].map(e=>new Le(e.packageName,e.functionName,e.receiverName,e.receiverMethodName)).filter(e=>{return t=e,!!(t.packageName?.trim()||t.functionName?.trim()||t.receiverName?.trim()||t.receiverMethodName?.trim());var t})),s.customInstrumentations?.[be.Java]?.length&&(s.customInstrumentations[be.Java]=s.customInstrumentations[be.Java].map(e=>new we(e.className,e.methodName)).filter(e=>{return t=e,!(!t.className?.trim()&&!t.methodName?.trim());var t})),s.customInstrumentations?.[be.Php]?.length&&(s.customInstrumentations[be.Php]=s.customInstrumentations[be.Php].map(e=>new Pe(e.className,e.functionName)).filter(e=>{return t=e,!(!t.className?.trim()&&!t.functionName?.trim());var t})),t===Ue.NetworkMetrics&&(s.networkMetrics=!0),s})(l.formData,i.type),t=((e,t)=>{const a={};switch(e){case Ue.CodeAttributes:Object.values(t.codeAttributes||{}).some(e=>null!=e)||(a.codeAttributes="Code attributes are required");break;case Ue.PayloadCollection:Object.values(t.payloadCollection||{}).some(e=>null!=e)||(a.payloadCollection="Payload collection are required");break;case Ue.HeadersCollection:t.headersCollection?.[De.HeaderKeys]?.length||(a.headersCollection="Header keys are required");break;case Ue.CustomInstrumentation:{const e=t.customInstrumentations?.[be.Golang]||[],r=t.customInstrumentations?.[be.Java]||[],n=t.customInstrumentations?.[be.Php]||[];if(!e.length&&!r.length&&!n.length){a.customInstrumentations="Custom instrumentation are required";break}const s=e.findIndex(e=>!new Le(e.packageName,e.functionName,e.receiverName,e.receiverMethodName).Verify());if(-1!==s){a.customInstrumentations=`Golang probe #${s+1} is invalid: provide a package name plus either a function name OR both a receiver name and receiver method name`;break}const o=r.findIndex(e=>!new we(e.className,e.methodName).Verify());if(-1!==o){a.customInstrumentations=`Java probe #${o+1} is invalid: both class name and method name are required`;break}const i=n.findIndex(e=>!new Pe(e.className,e.functionName).Verify());if(-1!==i){a.customInstrumentations=`PHP probe #${i+1} is invalid: function name is required`;break}break}}return a})(i.type,e);return l.handleErrorChange(void 0,void 0,t),{errorMessage:Object.keys(t).length>0?"Invalid form values":void 0,preparedFormData:e}},[l,i]),S=a(()=>({selectedOption:i,onSelectOption:d,loadRule:u,genericForm:l,validateFormData:m,sourceOptions:r,namespaceOptions:n}),[i,d,u,l,m,r,n]);return e(Wr.Provider,{value:S,children:t})},qr=()=>{const e=r(Wr);if(!e)throw new Error("useRuleFormContext must be used within a RuleFormContextProvider");return e};var Qr;(e=>{e.Create="create",e.View="view",e.EditAutoNoisy="edit-auto-noisy",e.EditAutoCostReduction="edit-auto-cost-reduction",e.EditAutoHighlyRelevant="edit-auto-highly-relevant"})(Qr||(Qr={}));const zr=n(null),Xr=["50","25","10","1"];function Jr(e){const t=String(e);return Xr.includes(t)?t:"custom"}const Zr=({category:t,sourceOptions:r=[],namespaceOptions:n=[],children:c})=>{const{formData:l,handleFormChange:d,resetFormData:u}=$(Be(t)),[m,S]=o(null);i(()=>{u(Be(t)),S(null)},[t]);const p=s(e=>{S(null),d(void 0,void 0,{...l,...e})},[l,d]),E=s(()=>{u(Be(t)),S(null)},[t,u]),T=a(()=>({formType:Qr.Create,category:t,formData:l,handleChange:p,resetForm:E,duplicateWarning:m,setDuplicateWarning:S,sourceOptions:r,namespaceOptions:n}),[t,l,p,E,m,r,n]);return e(zr.Provider,{value:T,children:c})},en=({data:t,defaultEditMode:r,sourceOptions:n=[],namespaceOptions:l=[],children:d})=>{const[u,m]=o(!1),{formData:S,handleFormChange:p,resetFormData:E}=$(void 0),T=c(null),[I,f]=o(null);i(()=>{t!==T.current&&(T.current=t,t&&r?(E(Ye(t)),f(null),m(!0)):(m(!1),f(null)))},[t,r]);const y=s(e=>{f(null),p(void 0,void 0,{...S,...e})},[S,p]),_=s(()=>{t&&(E(Ye(t)),f(null),m(!0))},[t,E]),h=s(()=>{m(!1),f(null)},[]),g=a(()=>({formType:Qr.View,data:t,isEditing:u,formData:S,handleChange:y,handleEdit:_,handleCancelEdit:h,duplicateWarning:I,setDuplicateWarning:f,sourceOptions:n,namespaceOptions:l}),[t,u,S,y,_,h,I,n,l]);return e(zr.Provider,{value:g,children:d})};function tn(e){const[t,r]=o(()=>0===e?"all":"sample"),[n,s]=o(()=>Jr(e)),[c,l]=o(()=>"custom"===Jr(e)?String(e):"");i(()=>{r(0===e?"all":"sample");const t=Jr(e);s(t),l("custom"===t?String(e):"")},[e]);const d=a(()=>"all"===t?0:"custom"===n?Number(c)||0:Number(n),[t,n,c]);return{percentageMode:t,setPercentageMode:r,percentagePreset:n,setPercentagePreset:s,customPercentage:c,setCustomPercentage:l,resolvedPercentage:d}}const an=({enabled:t,keepPercentage:r,children:n})=>{const[s,c]=o(t),l=tn(r);i(()=>{c(t)},[t]);const d=a(()=>Ve({enabled:s,keepPercentage:l.resolvedPercentage}),[s,l.resolvedPercentage]),u=a(()=>({formType:Qr.EditAutoNoisy,localEnabled:s,setLocalEnabled:c,...l,summary:d}),[s,l,d]);return e(zr.Provider,{value:u,children:n})},rn=({enabled:t,dropPercentage:r,children:n})=>{const[s,c]=o(t),l=tn(r);i(()=>{c(t)},[t]);const d=a(()=>$e(s?{disabled:!1,percentageAtMost:l.resolvedPercentage}:null),[s,l.resolvedPercentage]),u=a(()=>({formType:Qr.EditAutoCostReduction,localEnabled:s,setLocalEnabled:c,...l,summary:d}),[s,l,d]);return e(zr.Provider,{value:u,children:n})},nn=({enabled:t,children:r})=>{const[n,s]=o(t);i(()=>{s(t)},[t]);const c=a(()=>Ke(n?{disabled:!1}:null),[n]),l=a(()=>({formType:Qr.EditAutoHighlyRelevant,localEnabled:n,setLocalEnabled:s,summary:c}),[n,c]);return e(zr.Provider,{value:l,children:r})},sn=t=>{switch(t.formType){case Qr.Create:return e(Zr,{...t});case Qr.View:return e(en,{...t});case Qr.EditAutoNoisy:return e(an,{...t});case Qr.EditAutoCostReduction:return e(rn,{...t});case Qr.EditAutoHighlyRelevant:return e(nn,{...t})}};function on(e){const t=r(zr);if(!t)throw new Error("useSamplingRulesFormContext must be used within a SamplingRulesFormProvider");if(e&&t.formType!==e)throw new Error(`Expected formType "${e}" but found "${t.formType}"`);return t}const cn={otelServiceName:"",currentStreamName:""},ln=n(null),dn=({children:t})=>{const[r,n]=o(void 0),i=$(cn),c=s(e=>{i.resetFormData((({serviceName:e,id:t})=>({otelServiceName:e||t.name||"",currentStreamName:""}))(e)),i.handleErrorChange(void 0,void 0,{}),n(void 0)},[]),l=s(()=>{const e=V(i.formData);return i.handleErrorChange(void 0,void 0,{}),n(void 0),{errorMessage:void 0,preparedFormData:e}},[i]),d=a(()=>({loadSource:c,genericForm:i,validateFormData:l,errorMessage:r}),[c,i,l,r]);return e(ln.Provider,{value:d,children:t})},un=()=>{const e=r(ln);if(!e)throw new Error("useSourceEditFormContext must be used within a SourceEditFormContextProvider");return e},mn=new Set([Fe.StaticPod]),Sn=e=>{const t=e.workloads.filter(({selected:e})=>e).length,a=e.workloads.length;return{selectedCount:t,isAllSourced:t>0&&t===a,isSomeSourced:t>0&&t<a,isFutureApps:e.selected||!1}},pn=(e,t,a)=>{if(t&&!e.name.toLowerCase().includes(t.toLowerCase()))return!1;if(a.showOnlySelected){const{isAllSourced:t,isSomeSourced:a,isFutureApps:r}=Sn(e);return t||a||r}return!0},En=(e,t,a)=>!(t&&!e.name.toLowerCase().includes(t.toLowerCase()))&&(!a.showOnlySelected||e.selected),Tn=n({snapshots:null,setSnapshots:()=>{},isFetching:!1,setIsFetching:()=>{},formData:[],handleSourceChange:()=>{},handleSelectAll:()=>{},formDiff:{},isFormDirty:!1}),In=(e,t)=>`${e}\0${t}`,fn=(e,t,a,r)=>`${e}\0${t}\0${a}/${r}`,yn=(e,t)=>e.name===t.name&&e.kind===t.kind&&(e.region??"")===(t.region??""),_n=(e,t,a)=>{const r=[];return t.workloads.forEach(n=>{const s=e?.workloads.find(e=>yn(e,n));n.selected!==s?.selected&&r.push({namespace:t.name,name:n.name,kind:n.kind,region:n.region||void 0,selected:n.selected||!1,currentStreamName:a})}),r},hn=({children:t,selectedConnectionIds:r,initialInputs:n})=>{const{tier:l}=We(),d=l===ke.Onprem,{capabilities:u}=ea(),m=u.canInstrumentNamespaces,{selectedStreamName:S}=f(),[p,E]=o(!1),[I,y]=o(null),[_,h]=o([]),g=c(new Set),N=s((e,t)=>{t.forEach(t=>{const a=e.find(e=>e.clusterId===t.clusterId);a&&t.namespaces.forEach(e=>{const r=a.namespaces.find(t=>t.name===e.name);r&&(r.selected!==e.selected&&g.current.add(In(t.clusterId,e.name)),e.workloads.forEach(a=>{const n=r.workloads.find(e=>e.name===a.name&&e.kind===a.kind);n&&n.selected!==a.selected&&g.current.add(fn(t.clusterId,e.name,a.kind,a.name))}))})})},[]);i(()=>{I&&h(e=>{const t=((e,t)=>V(((e,t)=>e.clusters.filter(({clusterId:e})=>!t||t.includes(e)))(e,t)))(I,r);return t.map(t=>{const a=e?.find(e=>e.clusterId===t.clusterId),r=((e,t,a)=>{if(!t)return e;const r=new Map(t.namespaces.map(e=>[e.name,e]));return{...e,namespaces:e.namespaces.map(t=>{const n=r.get(t.name);if(!n)return t;const s=new Map(n.workloads.map(e=>[`${e.kind}/${e.name}`,e])),o=a.has(In(e.clusterId,t.name));return{...t,selected:o?n.selected:t.selected,workloads:t.workloads.map(r=>{const n=s.get(`${r.kind}/${r.name}`),o=a.has(fn(e.clusterId,t.name,r.kind,r.name));return n&&o?{...r,selected:n.selected}:r})}})}})(t,a,g.current);if(n?.[t.clusterId]){const e=n[t.clusterId],a=V(r);return e.forEach(e=>{const t=a.namespaces.find(t=>t.name===e.namespace);if(t)if(e.name&&e.kind){const a=t.workloads.find(t=>t.name===e.name&&t.kind===e.kind);a&&(a.selected=e.selected)}else t.selected=e.selected,e.selected&&t.workloads.forEach(e=>{mn.has(e.kind)&&!d||(e.selected=!0)})}),a}return r})})},[I,r,n]);const{formDiff:v,isFormDirty:A}=a(()=>{const e=((e,t,a,r)=>{const n={};return e.forEach(e=>{e.namespaces.forEach(s=>{const o=t.find(t=>t.clusterId===e.clusterId)?.namespaces.find(e=>e.name===s.name);if(!r){const t=_n(o,s,a);return void(t.length>0&&(n[e.clusterId]||(n[e.clusterId]=[]),n[e.clusterId].push(...t)))}const i=s.selected||!1;if(i!==o?.selected)n[e.clusterId]||(n[e.clusterId]=[]),n[e.clusterId].push({namespace:s.name,selected:i,currentStreamName:a}),i?n[e.clusterId]=n[e.clusterId].filter(e=>e.namespace!==s.name||e.namespace===s.name&&(!e.name||!e.kind)):s.workloads.forEach(t=>{t.selected&&n[e.clusterId].push({namespace:s.name,name:t.name,kind:t.kind,region:t.region||void 0,selected:!0,currentStreamName:a})});else{const t=_n(o,s,a);t.length>0&&(n[e.clusterId]||(n[e.clusterId]=[]),n[e.clusterId].push(...t))}})}),n})(_,I?.clusters||[],S,m);return{formDiff:e,isFormDirty:Object.keys(e).length>0}},[_,I,S,m]),R=s(e=>!d&&mn.has(e),[d]),O=s(({clusterId:e,workloadId:t,selected:a,auto:r})=>{h(n=>{const s=V(n),o=s.findIndex(t=>t.clusterId===e);if(-1===o)return s;const i=s[o].namespaces.findIndex(e=>e.name===t.namespace);if(-1===i)return s;if(t.kind&&t.name){const e=s[o].namespaces[i].workloads.findIndex(e=>yn(e,{name:t.name,kind:t.kind,region:t.region}));if(-1===e)return s;const r="boolean"==typeof a?a:!s[o].namespaces[i].workloads[e].selected;s[o].namespaces[i].workloads[e].selected=r,m&&(r?s[o].namespaces[i].workloads.filter(e=>!R(e.kind)).every(e=>e.selected)&&(s[o].namespaces[i].selected=!0):s[o].namespaces[i].selected=!1)}else if(m){const e="boolean"==typeof r?r:!s[o].namespaces[i].selected;s[o].namespaces[i].selected=e,e?s[o].namespaces[i].workloads.forEach(e=>{R(e.kind)||(e.selected=!0)}):"boolean"!=typeof a||a||s[o].namespaces[i].workloads.forEach(e=>{e.selected=!1})}else{const e="boolean"==typeof a?a:"boolean"!=typeof r||r;s[o].namespaces[i].workloads.forEach(t=>{e&&R(t.kind)||(t.selected=e)})}return N(n,s),s})},[R,m,N]),C=s(({clusterId:e,namespaceName:t,boolean:a,searchText:r="",searchBy:n="",filters:s})=>{h(o=>{const i=V(o),c=n===T.Namespace?r:"",l=n===T.Source?r:"",d=!!c||!!l||!!s?.showOnlySelected;return i.forEach((r,n)=>{e&&r.clusterId!==e||r.namespaces.forEach(({name:e,workloads:r},o)=>{if(!t||e===t)if(d)if(t){if(r.forEach((e,t)=>{a&&R(e.kind)||En(e,l,s||{showOnlySelected:!1})&&(i[n].namespaces[o].workloads[t].selected=a)}),m){const e=i[n].namespaces[o].workloads.filter(e=>!R(e.kind)).every(e=>e.selected);i[n].namespaces[o].selected=e}}else{if(!pn(i[n].namespaces[o],c,s||{showOnlySelected:!1}))return;m&&(i[n].namespaces[o].selected=a),r.forEach((e,t)=>{a&&R(e.kind)||(i[n].namespaces[o].workloads[t].selected=a)})}else m&&(i[n].namespaces[o].selected=a),r.forEach((e,t)=>{a&&R(e.kind)||(i[n].namespaces[o].workloads[t].selected=a)})})}),N(o,i),i})},[R,m,N]);return e(Tn.Provider,{value:{snapshots:I,setSnapshots:y,isFetching:p,setIsFetching:E,formData:_,handleSourceChange:O,handleSelectAll:C,formDiff:v,isFormDirty:A},children:t})},gn=()=>r(Tn);export{mn as $,ca as A,ea as B,ma as C,Ta as D,qr as E,on as F,cr as G,un as H,gn as I,Yr as J,va as K,Er as L,Ra as M,Aa as N,pt as O,ba as P,Oa as Q,jr as R,Qr as S,Ga as T,dr as U,mr as V,Ka as W,Ua as X,wa as Y,Pa as Z,En as _,vt as a,pn as a0,Sn as a1,La as a2,Ca as a3,ur as a4,Pr as a5,wr as a6,br as a7,Dr as a8,Lr as a9,$a as aa,qa as ab,ga as b,Ha as c,Ya as d,kr as e,dt as f,sn as g,dn as h,hn as i,Vr as j,Pt as k,la as l,bt as m,Lt as n,Dt as o,Ut as p,Sa as q,Nt as r,Ia as s,Na as t,lt as u,xa as v,Ba as w,lr as x,Tr as y,Mr as z};