@odigos/ui-kit 0.0.219 → 0.0.220

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.
@@ -1,4 +1,4 @@
1
- import{jsxs as e,jsx as t,Fragment as a}from"react/jsx-runtime";import{useEffect as n,Fragment as o,useState as l,useCallback as r,useContext as i,createContext as s,useMemo as c,useRef as d,Children as u}from"react";import p,{useTheme as m}from"styled-components";import{F as h,c as g,d as f,T as v,e as b,h as y,f as S,i as C,j as k,I as w,k as T,l as x,m as D,K as N,n as A,o as I,p as E,D as R,q as P,B as $,a as O,r as M,s as F,t as L,v as z,N as V,w as X,x as B,y as _,z as U,E as j,G as H,H as W,J as K,L as G,M as q,O as Y,P as J,Q,R as Z,U as ee,V as te,W as ae,X as ne,Y as oe,Z as le,_ as re,$ as ie,a0 as se,a1 as ce,a2 as de,a3 as ue,a4 as pe,a5 as me,a6 as he,a7 as ge,a8 as fe,a9 as ve,S as be,aa as ye,ab as Se,ac as Ce,ad as ke,ae as we,af as Te,ag as xe,ah as De,ai as Ne,aj as Ae,ak as Ie,al as Ee,am as Re,an as Pe,ao as $e,ap as Oe,aq as Me,ar as Fe,as as Le,at as ze,au as Ve,av as Xe,aw as Be,ax as _e,ay as Ue,az as je,aA as He,aB as We,aC as Ke,aD as Ge,aE as qe,aF as Ye,aG as Je,aH as Qe,aI as Ze,aJ as et,aK as tt,aL as at,aM as nt,aN as ot,aO as lt,aP as rt,aQ as it,aR as st,aS as ct,aT as dt,aU as ut,aV as pt,aW as mt,aX as ht,aY as gt,aZ as ft,a_ as vt,a$ as bt,b0 as yt,b1 as St,b2 as Ct,b3 as kt,b4 as wt,b5 as Tt,b6 as xt,b7 as Dt,b8 as Nt,b9 as At,ba as It,b as Et,bb as Rt,bc as Pt,bd as $t,be as Ot,bf as Mt,bg as Ft,bh as Lt,bi as zt,bj as Vt,bk as Xt,bl as Bt,bm as _t,bn as Ut,bo as jt,bp as Ht,bq as Wt,br as Kt,bs as Gt,bt as qt,bu as Yt,bv as Jt,bw as Qt,bx as Zt,by as ea,bz as ta,bA as aa,bB as na,bC as oa,u as la,bD as ra,bE as ia,bF as sa,bG as ca,bH as da,bI as ua,g as pa,bJ as ma,bK as ha,bL as ga,bM as fa,bN as va,A as ba,bO as ya,bP as Sa,bQ as Ca,bR as ka,bS as wa,bT as Ta,bU as xa,bV as Da,bW as Na,bX as Aa,bY as Ia,bZ as Ea,b_ as Ra,b$ as Pa,c0 as $a,c1 as Oa,c2 as Ma,c3 as Fa,c4 as La,c5 as za,c6 as Va,c7 as Xa,c8 as Ba,c9 as _a,ca as Ua,cb as ja,cc as Ha,cd as Wa,ce as Ka,cf as Ga,cg as qa}from"../chunks/ui-components-Dj10kYlT.js";import{ChevronRightIcon as Ya,TrashIcon as Ja,PlusIcon as Qa,BookIcon as Za,VSquareIcon as en,XSquareIcon as tn,DeleteIcon as an,EditIcon as nn,GoLogo as on,JavaLogo as ln,XIcon as rn,ActionIcon as sn,DestinationIcon as cn,ChevronUpIcon as dn,ChevronDownIcon as un,VIcon as pn,InstrumentationRuleIcon as mn,SourceIcon as hn,SamplingIcon as gn,SettingsIcon as fn,ExclamationTriangleIcon as vn,ExclamationCircleIcon as bn,KeyIcon as yn,DiagnoseIcon as Sn,DownloadIcon as Cn,TerminalIcon as kn,RefreshIcon as wn,ConnectionsIcon as Tn,OdigosLogo as xn,ArrowRightIcon as Dn,PodIcon as Nn,ArrowDownSquareIcon as An,ArrowUpSquareIcon as In,PipelineCollectorIcon as En,GatewayIcon as Rn,YamlIcon as Pn}from"../icons.js";import{SignalsCheckboxList as $n,DynamicField as On,ColoredSpanVariant as Mn,ColoredSpan as Fn,WideDrawer as Ln,WIDE_DRAWER_WIDTH as zn,DeleteModal as Vn,OdigosLogoTextByTier as Xn,UpgradeModal as Bn}from"../snippets/v2.js";import{Y as _n}from"../chunks/index-YIqbBRyO.js";import"zustand";import"javascript-time-ago";import"../chunks/vendor-C150cdxb.js";import"@xyflow/react";import"react-dom";import"prism-react-renderer";import"react-error-boundary";import"lottie-react";import"virtua";const Un=p.div`
1
+ import{jsxs as e,jsx as t,Fragment as a}from"react/jsx-runtime";import{useEffect as n,Fragment as o,useState as l,useCallback as r,useContext as i,createContext as s,useMemo as c,useRef as d,Children as u}from"react";import p,{useTheme as m}from"styled-components";import{F as h,c as g,d as f,T as v,e as b,h as y,f as S,i as C,j as k,I as w,k as T,l as x,m as D,K as N,n as A,o as I,p as E,D as R,q as P,B as $,a as O,r as M,s as L,t as F,v as z,N as V,w as X,x as B,y as _,z as U,E as j,G as H,H as W,J as K,L as G,M as q,O as Y,P as J,Q,R as Z,U as ee,V as te,W as ae,X as ne,Y as oe,Z as le,_ as re,$ as ie,a0 as se,a1 as ce,a2 as de,a3 as ue,a4 as pe,a5 as me,a6 as he,a7 as ge,a8 as fe,a9 as ve,S as be,aa as ye,ab as Se,ac as Ce,ad as ke,ae as we,af as Te,ag as xe,ah as De,ai as Ne,aj as Ae,ak as Ie,al as Ee,am as Re,an as Pe,ao as $e,ap as Oe,aq as Me,ar as Le,as as Fe,at as ze,au as Ve,av as Xe,aw as Be,ax as _e,ay as Ue,az as je,aA as He,aB as We,aC as Ke,aD as Ge,aE as qe,aF as Ye,aG as Je,aH as Qe,aI as Ze,aJ as et,aK as tt,aL as at,aM as nt,aN as ot,aO as lt,aP as rt,aQ as it,aR as st,aS as ct,aT as dt,aU as ut,aV as pt,aW as mt,aX as ht,aY as gt,aZ as ft,a_ as vt,a$ as bt,b0 as yt,b1 as St,b2 as Ct,b3 as kt,b4 as wt,b5 as Tt,b6 as xt,b7 as Dt,b8 as Nt,b9 as At,ba as It,b as Et,bb as Rt,bc as Pt,bd as $t,be as Ot,bf as Mt,bg as Lt,bh as Ft,bi as zt,bj as Vt,bk as Xt,bl as Bt,bm as _t,bn as Ut,bo as jt,bp as Ht,bq as Wt,br as Kt,bs as Gt,bt as qt,bu as Yt,bv as Jt,bw as Qt,bx as Zt,by as ea,bz as ta,bA as aa,bB as na,bC as oa,u as la,bD as ra,bE as ia,bF as sa,bG as ca,bH as da,bI as ua,g as pa,bJ as ma,bK as ha,bL as ga,bM as fa,bN as va,A as ba,bO as ya,bP as Sa,bQ as Ca,bR as ka,bS as wa,bT as Ta,bU as xa,bV as Da,bW as Na,bX as Aa,bY as Ia,bZ as Ea,b_ as Ra,b$ as Pa,c0 as $a,c1 as Oa,c2 as Ma,c3 as La,c4 as Fa,c5 as za,c6 as Va,c7 as Xa,c8 as Ba,c9 as _a,ca as Ua,cb as ja,cc as Ha,cd as Wa,ce as Ka,cf as Ga,cg as qa,ch as Ya}from"../chunks/ui-components-BRvjo2LR.js";import{ChevronRightIcon as Ja,TrashIcon as Qa,PlusIcon as Za,BookIcon as en,VSquareIcon as tn,XSquareIcon as an,DeleteIcon as nn,EditIcon as on,GoLogo as ln,JavaLogo as rn,XIcon as sn,ActionIcon as cn,DestinationIcon as dn,ChevronUpIcon as un,ChevronDownIcon as pn,VIcon as mn,InstrumentationRuleIcon as hn,SourceIcon as gn,SamplingIcon as fn,SettingsIcon as vn,ExclamationTriangleIcon as bn,ExclamationCircleIcon as yn,KeyIcon as Sn,DiagnoseIcon as Cn,DownloadIcon as kn,TerminalIcon as wn,RefreshIcon as Tn,ConnectionsIcon as xn,OdigosLogo as Dn,ArrowRightIcon as Nn,PodIcon as An,ArrowDownSquareIcon as In,ArrowUpSquareIcon as En,PipelineCollectorIcon as Rn,GatewayIcon as Pn,YamlIcon as $n}from"../icons.js";import{SignalsCheckboxList as On,DynamicField as Mn,ColoredSpanVariant as Ln,ColoredSpan as Fn,WideDrawer as zn,WIDE_DRAWER_WIDTH as Vn,DeleteModal as Xn,OdigosLogoTextByTier as Bn,UpgradeModal as _n}from"../snippets/v2.js";import{Y as Un}from"../chunks/index-BaYVU6Qp.js";import"zustand";import"javascript-time-ago";import"../chunks/vendor-C150cdxb.js";import"@xyflow/react";import"react-dom";import"prism-react-renderer";import"react-error-boundary";import"lottie-react";import"virtua";const jn=p.div`
2
2
  display: flex;
3
3
  align-items: center;
4
4
  justify-content: space-between;
@@ -11,68 +11,68 @@ import{jsxs as e,jsx as t,Fragment as a}from"react/jsx-runtime";import{useEffect
11
11
  &:hover {
12
12
  background-color: ${({$isSelected:e,$purpleColors:t,theme:a})=>e?t?a.v2.colors.purple[700]:a.v2.colors.silver[600]:t?a.v2.colors.purple[800]:a.v2.colors.silver[700]};
13
13
  }
14
- `,jn=p.div`
14
+ `,Hn=p.div`
15
15
  display: flex;
16
16
  align-items: center;
17
17
  justify-content: center;
18
18
  padding: 8px;
19
19
  border-radius: 8px;
20
20
  background-color: ${({theme:e})=>e.v2.colors.white[500]+y["004"]};
21
- `,Hn=({dataId:a,icon:n,title:o,description:l,withCarret:r,purpleColors:i,disabled:s,children:c,isSelected:d,onClick:u,isChecked:p,isPartiallyChecked:y,onCheckboxChange:S})=>{const C=m();return e(Un,{"data-id":a||`list-item-${o}`,$isSelected:d,$purpleColors:i,$disabled:s,onClick:()=>!d&&!s&&u(),children:[e(h,{$gap:4,children:[e(g,{$gap:12,children:[S&&t(f,{partiallyChecked:y||!1,value:p||!1,onChange:e=>S(e)}),n&&t(jn,{children:t(n,{size:20})}),t(v,{size:b.XS,children:o})]}),l&&t(v,{size:b.XXXS,color:C.v2.colors.silver[200],children:l})]}),(r||c)&&e(g,{$gap:8,children:[c,r&&t(Ya,{size:18})]})]})},Wn=[{id:"CREDIT_CARD",label:"Credit card"}],Kn=[{id:S.CollectContainerAttributes,label:"Collect container attributes"},{id:S.CollectReplicaSetAttributes,label:"Collect ReplicaSet attributes"},{id:S.CollectWorkloadId,label:"Collect workload ID"},{id:S.CollectClusterId,label:"Collect cluster ID"}],Gn=[{id:N.Pod,label:N.Pod},{id:N.Namespace,label:N.Namespace},{id:N.Node,label:N.Node}],qn=[{label:"Label key",keyName:"labelKey",placeholder:"app.kubernetes.io/name"},{label:"Attribute key",keyName:"attributeKey",placeholder:"app.kubernetes.name"},{label:"From sources",keyName:"fromSources",placeholder:"pod, namespace",tooltip:"Select multiple sources. Higher precedence sources (pod > namespace > node) will override lower ones.",componentType:"multi-dropdown",options:Gn}],Yn=[{label:"Annotation key",keyName:"annotationKey",placeholder:"kubectl.kubernetes.io/restartedAt"},{label:"Attribute key",keyName:"attributeKey",placeholder:"kubectl.kubernetes.restartedAt"},{label:"From sources",keyName:"fromSources",placeholder:"pod, namespace",tooltip:"Select multiple sources. Higher precedence sources (pod > namespace > node) will override lower ones.",componentType:"multi-dropdown",options:Gn}],Jn=[{label:"Service",keyName:"serviceName",placeholder:"e.g. my-service",tooltip:"Service name: The rule applies to a specific service name. Only traces originating from this service’s root span will be considered."},{label:"HTTP route",keyName:"httpRoute",placeholder:"e.g. /api/v1/users",tooltip:"HTTP route: The specific HTTP route prefix to match for sampling. Only traces with routes beginning with this prefix will be considered. For instance, configuring /buy will also match /buy/product."},{label:"Threshold",keyName:"minimumLatencyThreshold",placeholder:"e.g. 1000",tooltip:"Minimum latency threshold (ms): Specifies the minimum latency in milliseconds; traces with latency below this threshold are ignored.",inputType:T.Number},{label:"Fallback",keyName:"fallbackSamplingRatio",placeholder:"e.g. 100",tooltip:"Fallback sampling ratio: Specifies the percentage of traces that meet the service/http_route filter but fall below the threshold that you still want to retain. For example, if a rule is set for service A and http_route B with a minimum latency threshold of 1 second, you might still want to keep some traces below this threshold. Setting the ratio to 20% ensures that 20% of these traces will be retained.",inputType:T.Number}],Qn=S.UrlTemplatizationRulesGroups,Zn=[{keyName:"kind",label:"Kind",placeholder:"Any kind",componentType:"dropdown",options:[{id:"Deployment",label:"Deployment"},{id:"StatefulSet",label:"StatefulSet"},{id:"DaemonSet",label:"DaemonSet"}]},{keyName:"name",label:"Name",placeholder:"Any name"}],eo=[{label:"Service name",keyName:"serviceName",placeholder:"e.g. my-service",tooltip:"Specifies the service name to search within the trace (Across all available spans)."},{label:"Sampling ratio",keyName:"samplingRatio",placeholder:"e.g. 10",tooltip:"Specifies the sample rate for all traces.",inputType:T.Number},{label:"Fallback sampling ratio",keyName:"fallbackSamplingRatio",placeholder:"e.g. 100",tooltip:"Specifies the percentage of traces that don’t meet the service name filter and that you still like to retain.",inputType:T.Number}],to=[{label:"Service name",keyName:"serviceName",placeholder:"e.g. my-service",tooltip:"Specifies the service name to search within the trace (across all available spans)."},{label:"Attribute key",keyName:"attributeKey",placeholder:"e.g. http.request.method",tooltip:"Specifies the attribute key inside of the span."},{label:"Fallback sampling ratio",keyName:"fallbackSamplingRatio",placeholder:"e.g. 100",tooltip:"Specifies the percentage of traces that don’t meet the service name filter and that you still like to retain.",inputType:T.Number},{label:"Condition",keyName:"condition",tooltip:"An object representing the filters for span attributes filters.",componentType:M.Dropdown,options:[{id:"stringCondition",label:"String condition"},{id:"numberCondition",label:"Number condition"},{id:"booleanCondition",label:"Boolean condition"},{id:"jsonCondition",label:"JSON condition"}]},{label:"Operation",keyName:"operation",tooltip:"Specifies the operation to run against the attribute.",componentType:M.Dropdown,options:[{id:"exists",label:"Exists"},{id:"equals",label:"Equals"},{id:"not_equals",label:"Not equals"},{id:"contains",label:"Contains"},{id:"not_contains",label:"Not contains"},{id:"regex",label:"Regex"},{id:"greater_than",label:"Greater than"},{id:"less_than",label:"Less than"},{id:"greater_than_or_equal",label:"Greater than or equal"},{id:"less_than_or_equal",label:"Less than or equal"},{id:"is_valid_json",label:"Is valid JSON"},{id:"is_invalid_json",label:"Is invalid JSON"},{id:"jsonpath_exists",label:"JSON path exists"},{id:"key_equals",label:"Key equals"},{id:"key_not_equals",label:"Key not equals"}]},{label:"Expected value",keyName:"expectedValue",placeholder:"e.g. GET",tooltip:"The values to test the attribute against."},{label:"JSON path",keyName:"jsonPath",placeholder:"e.g. $.user.role",tooltip:"An expression used to navigate the JSON structure.",renderCondition:e=>"jsonCondition"===e.condition}],ao={[F.K8sAttributes]:({value:o,setValue:l,formErrors:r})=>(n(()=>{o[S.CollectContainerAttributes]||o[S.CollectReplicaSetAttributes]||o[S.CollectWorkloadId]||o[S.CollectClusterId]||o[S.LabelsAttributes]?.length||o[S.AnnotationsAttributes]?.length||(l(S.CollectContainerAttributes,!0),l(S.CollectReplicaSetAttributes,!0),l(S.CollectWorkloadId,!0),l(S.CollectClusterId,!0),l(S.LabelsAttributes,[]),l(S.AnnotationsAttributes,[]))},[]),e(a,{children:[t(h,{$gap:6,children:Kn.map(({id:a,label:n})=>e(h,{children:[t(f,{label:n,value:o[a]||!1,onChange:e=>l(a,e)}),t(k,{errorMessage:r[a]})]},a))}),t(D,{name:"labelsAttributes",label:"Label attributes",limitFieldsPerRow:2,columns:qn,values:o[S.LabelsAttributes]||[],setValues:e=>l(S.LabelsAttributes,e),errorMessage:r[S.LabelsAttributes]}),t(D,{name:"annotationsAttributes",label:"Annotation attributes",limitFieldsPerRow:2,columns:Yn,values:o[S.AnnotationsAttributes]||[],setValues:e=>l(S.AnnotationsAttributes,e),errorMessage:r[S.AnnotationsAttributes]})]})),[F.AddClusterInfo]:({value:n,setValue:o,formErrors:l})=>{const r=m();return e(a,{children:[t(A,{label:"Overwrite existing values",labelAlign:I.Left,labelColor:r.v2.colors.silver[200],tooltip:"If enabled, the resource attributes will overwrite any existing attributes with the same name.",value:n[S.OverwriteExistingValues]||!1,onChange:e=>o(S.OverwriteExistingValues,e)}),t(D,{name:"clusterAttributes",label:"Resource attributes",limitFieldsPerRow:2,columns:[{keyName:"attributeName",label:"Attribute name"},{keyName:"attributeStringValue",label:"Attribute value"}],values:n[S.ClusterAttributes]||[],setValues:e=>o(S.ClusterAttributes,e),errorMessage:l[S.ClusterAttributes]})]})},[F.DeleteAttributes]:({value:e,setValue:a,formErrors:n})=>t(E,{name:"attributeNamesToDelete",label:"Attributes to delete",values:e[S.AttributeNamesToDelete]||[],setValues:e=>a(S.AttributeNamesToDelete,e),errorMessage:n[S.AttributeNamesToDelete]}),[F.RenameAttributes]:({value:e,setValue:a,formErrors:n})=>t(D,{name:"renames",label:"Attributes to rename",limitFieldsPerRow:2,columns:[{keyName:"oldKey",label:"Old key"},{keyName:"newKey",label:"New key"}],values:Object.entries(e[S.Renames]||{}).map(([e,t])=>({oldKey:e,newKey:t})),setValues:e=>{const t={};e.forEach(e=>t[e.oldKey]=e.newKey),a(S.Renames,t)},errorMessage:n[S.Renames]}),[F.PiiMasking]:({value:a,setValue:o,formErrors:l})=>(n(()=>{a[S.PiiCategories]?.length||o(S.PiiCategories,Wn.map(({id:e})=>e))},[]),e(h,{$gap:12,children:[t(C,{label:"Attributes to mask"}),t(h,{$gap:6,children:Wn.map(({id:e,label:n})=>t(f,{label:n,value:a[S.PiiCategories]?.includes(e)||!1,onChange:t=>{const n=a[S.PiiCategories]||[],l=t?[...n,e]:n.filter(t=>t!==e);o(S.PiiCategories,l)}},e))}),t(k,{errorMessage:l[S.PiiCategories]})]})),[F.ErrorSampler]:({value:e,setValue:a,formErrors:n})=>{const o=n[S.FallbackSamplingRatio],l=x(e[S.FallbackSamplingRatio])?"":String(e[S.FallbackSamplingRatio]);return t(w,{name:"fallbackSamplingRatio",label:"Fallback sampling ratio",type:T.Number,min:0,max:100,value:l,placeholder:"0-100",onChange:e=>{return t=e.target.value,a(S.FallbackSamplingRatio,Math.max(0,Math.min(Number(t),100))||0);var t},errorMessage:o})},[F.ProbabilisticSampler]:({value:e,setValue:a,formErrors:n})=>{const o=n[S.SamplingPercentage],l=x(e[S.SamplingPercentage])?"":String(e[S.SamplingPercentage]);return t(w,{name:"samplingPercentage",label:"Sampling percentage",type:T.Number,min:0,max:100,value:l,placeholder:"0-100",onChange:e=>{return t=e.target.value,a(S.SamplingPercentage,Math.max(0,Math.min(Number(t),100))||0);var t},errorMessage:o})},[F.LatencySampler]:({value:e,setValue:a,formErrors:n})=>{const o=n[S.EndpointsFilters],l=e[S.EndpointsFilters]||[];return t(D,{name:"endpointsFilters",limitFieldsPerRow:2,columns:Jn,values:l,setValues:e=>{a(S.EndpointsFilters,e.map(({serviceName:e,httpRoute:t,minimumLatencyThreshold:a,fallbackSamplingRatio:n})=>({serviceName:e,httpRoute:t,minimumLatencyThreshold:Number(a),fallbackSamplingRatio:Number(n)})))},errorMessage:o})},[F.ServiceNameSampler]:({value:e,setValue:a,formErrors:n})=>{const o=n[S.ServicesNameFilters],l=e[S.ServicesNameFilters]||[];return t(D,{name:"servicesNameFilters",limitFieldsPerRow:2,columns:eo,values:l,setValues:e=>{a(S.ServicesNameFilters,e.map(({serviceName:e,samplingRatio:t,fallbackSamplingRatio:a})=>({serviceName:e,samplingRatio:Number(t),fallbackSamplingRatio:Number(a)})))},errorMessage:o})},[F.SpanAttributeSampler]:({value:e,setValue:a,formErrors:n})=>{const o=n[S.AttributeFilters],l=(e[S.AttributeFilters]||[]).map(({serviceName:e,attributeKey:t,fallbackSamplingRatio:a,condition:n})=>{const o=Object.entries(n).filter(([e,t])=>t)[0][0];return{serviceName:e,attributeKey:t,fallbackSamplingRatio:a,condition:o,operation:n[o]?.operation,expectedValue:n[o]?.expectedValue,jsonPath:n[o]?.jsonPath}});return t(D,{name:"attributeFilters",limitFieldsPerRow:2,columns:to,values:l,setValues:e=>{a(S.AttributeFilters,e.map(({serviceName:e,attributeKey:t,fallbackSamplingRatio:a,condition:n,operation:o,expectedValue:l,jsonPath:r})=>{const i={serviceName:e,attributeKey:t,fallbackSamplingRatio:Number(a),condition:{[n]:{operation:o,expectedValue:l}}};return r&&(i.condition[n].jsonPath=r),i}))},errorMessage:o})},[F.URLTemplatization]:({value:n,setValue:l,formErrors:r})=>{const i=m(),s=n[Qn]||[{filterK8sNamespace:"",workloadFilters:[],templatizationRules:[{template:""}],notes:""}],c=e=>l(Qn,e),d=(e,t)=>c(s.map((a,n)=>n===e?{...a,...t}:a));return e(a,{children:[s.map((a,n)=>e(o,{children:[t(R,{}),e(h,{$gap:12,children:[e(g,{$justifyContent:"space-between",$alignItems:"center",children:[t(C,{label:`Rule Group ${n+1}`}),t(P,{leftIcon:()=>t(Ja,{fill:i.v2.colors.red[500]}),variant:O.Secondary,size:$.S,onClick:()=>{return e=n,c(s.filter((t,a)=>a!==e));var e},disabled:1===s.length})]}),t(w,{name:`urlGroup-${n}-namespace`,label:"Namespace",placeholder:"All namespaces",tooltip:"Filter rules to a specific Kubernetes namespace.",value:a.filterK8sNamespace||"",onChange:e=>d(n,{filterK8sNamespace:e.target.value})}),t(D,{name:`urlGroup-${n}-workloadFilters`,label:"Workload filters",tooltip:"Optionally scope templates to specific workloads.",columns:Zn,values:a.workloadFilters||[],setValues:e=>d(n,{workloadFilters:e})}),t(E,{name:`urlGroup-${n}-templates`,label:"Templates",required:!0,placeholder:"e.g. /user/{id}",values:a.templatizationRules.map(e=>e.template),setValues:e=>d(n,{templatizationRules:e.map(e=>({template:e}))})})]}),t(k,{errorMessage:r[Qn]})]},`url-templatization-group-${n}`)),t(P,{variant:O.Secondary,label:"Add rule group",leftIcon:Qa,onClick:()=>c([...s,{filterK8sNamespace:"",workloadFilters:[],templatizationRules:[{template:""}],notes:""}])}),t(R,{})]})}},no=({actionType:e,value:a,setValue:n,formErrors:o})=>{if(!e)return null;const l=ao[e];return l?t(l,{value:a,setValue:n,formErrors:o}):null},oo={type:"",disabled:!1,name:"",notes:"",signals:[],fields:{}},lo=s({selectedOption:null,onSelectOption:()=>{},genericForm:void 0,validateFormData:()=>({preparedFormData:z(oo)}),errorMessage:void 0}),ro=({children:e})=>{const[a,n]=l(null),[o,i]=l(void 0),s=L(oo),c=r(e=>{s.resetFormData(),s.handleErrorChange(void 0,void 0,{}),i(void 0),e?.type&&s.handleFormChange("type",e.type),n(e)},[]),d=r(()=>{if(!a)return{errorMessage:"No action type selected",preparedFormData:z(oo)};const e=(t=s.formData,z(t));var t;const n={};s.handleErrorChange(void 0,void 0,n);const o=Object.keys(n).length>0?"Invalid form values":void 0;return i(o),{errorMessage:o,preparedFormData:e}},[s,a]);return t(lo.Provider,{value:{selectedOption:a,onSelectOption:c,genericForm:s,validateFormData:d,errorMessage:o},children:e})},io=()=>i(lo),so=()=>{const a=m(),{selectedOption:n,genericForm:o}=io();if(!o||!n)return t(V,{title:"No active form"});const{formData:l,handleFormChange:r,formErrors:i}=o;return e(h,{$gap:24,children:[e(g,{$gap:12,$justifyContent:"space-between",children:[t(v,{size:b.XXS,children:n.docsDescription}),t(P,{label:"Docs",leftIcon:Za,variant:O.Text,size:$.S,onClick:()=>window.open(`${X}${n.docsEndpoint}`,"_blank","noopener noreferrer")})]}),t(B,{options:[{icon:en,label:"Enabled",value:!1,selectedBgColor:a.v2.colors.green[800]},{icon:tn,label:"Disabled",value:!0,selectedBgColor:a.v2.colors.red[800]}],selected:l.disabled,setSelected:e=>r("disabled",e)}),t($n,{title:"Signals for processing",allowedSignals:n.allowedSignals,selectedSignals:l.signals||[],setSelectedSignals:e=>r("signals",e),errorMessage:i.signals}),t(w,{name:"actionName",label:"Action name",placeholder:"Use a name that describes the action...",value:l.name||"",onChange:({target:{value:e}})=>r("name",e),errorMessage:i.name}),t(no,{actionType:n.type,value:l.fields,setValue:(e,t)=>r(`fields.${e}`,t),formErrors:i}),t(_,{name:"notes",label:"Notes",placeholder:"Your personal notes...",value:l.notes||"",onChange:({target:{value:e}})=>r("notes",e),errorMessage:i.notes})]})},co=({signals:e,fields:a,disabled:n,formData:o,handleFormChange:l,formErrors:r})=>a?.map(({renderCondition:a,componentType:i,type:s,name:c,title:d,tooltip:u,placeholder:p,value:m,required:h,options:g})=>{if(!(!a||U(a,e,o.fields)))return null;const f=c,v=o.fields.find(e=>e.key===f),b=v?v.value:m;return t(On,{componentType:i,inputType:s,name:f,label:d,tooltip:u,disabled:n,required:h,placeholder:p,errorMessage:r[f],dropdownOptions:g,value:b||"",setValue:e=>l(f,e)},f)}),uo={type:"",name:"",currentStreamName:"",disabled:!1,exportedSignals:{logs:!1,metrics:!1,traces:!1},fields:[]},po={activeForm:null,onChangeActiveForm:()=>{},genericForm:void 0,formErrorMessage:void 0,validateFormData:()=>({isOk:!1,preparedFormData:z(uo)}),unsavedDestinations:[],thisUnsavedDestination:void 0,setUnsavedDestinations:()=>{},addUnsavedDestination:()=>{},updateUnsavedDestination:()=>{},deleteUnsavedDestination:()=>{}},mo=s(po),ho=({children:e})=>{const{selectedStreamName:a}=j(),[o,i]=l(null),[s,d]=l(),[u,p]=l(po.unsavedDestinations),m=c(()=>"number"==typeof o?.unsavedIdx?u[o.unsavedIdx]:void 0,[o,u]),h=r((e,t)=>{o&&(p(t=>[...t,{...e,option:o.option}]),i(t?e=>e?{...e,listType:H.UNSAVED,unsavedIdx:u.length}:null:null))},[o,u.length]),g=r((e,t,a)=>{o&&(p(a=>a.map((a,n)=>n===e?{...a,...t,option:o.option}:a)),i(a?e=>e?{...e,listType:H.UNSAVED}:null:null))},[o]),f=r(e=>{p(t=>t.filter((t,a)=>a!==e)),i(null)},[]),v=L({...uo,currentStreamName:a});n(()=>{if(o)if(m)v.handleFormChange(void 0,void 0,m.formData);else{v.handleFormChange("type",o.option.type),v.handleFormChange("name",o.option.displayName),v.handleFormChange("disabled",!1);const e=W(o.option.supportedSignals);v.handleFormChange("exportedSignals",{logs:e.includes(K.Logs),metrics:e.includes(K.Metrics),traces:e.includes(K.Traces)}),v.handleFormChange("fields",o.dynamicFields.map(e=>({key:e.name,value:e.value})))}},[o,m]);const b=r(e=>{var t;v.resetFormData(),v.handleErrorChange(void 0,void 0,{}),d(void 0),i(e?{...e,dynamicFields:e.option?.fields?(t=e.option.fields,t.filter(e=>!!e).map(e=>{const{name:t,componentType:a,componentProperties:n,displayName:o,initialValue:l,renderCondition:r}=e,i=a===M.Dropdown,s=q(n,{});return{componentType:a,renderCondition:r,name:t,title:o,value:l,placeholder:s.placeholder||(i?"Select an option":void 0),options:i&&Array.isArray(s.values)?s.values.map(e=>({id:e,value:e})):void 0,...s}})):[]}:null)},[]),y=r(()=>{const e=z(v.formData),t={};o?.dynamicFields.forEach(({name:a,required:n})=>{if(n){const n=e.fields.find(e=>e.key===a)?.value;x(n)&&(t[a]=Y.FIELD_IS_REQUIRED)}});G(e.exportedSignals).length||(t.exportedSignals=Y.FIELD_IS_REQUIRED);const a=0===Object.keys(t).length?void 0:"Invalid form values";return v.handleErrorChange(void 0,void 0,t),d(a),{errorMessage:a,preparedFormData:e}},[v,o]);return t(mo.Provider,{value:{activeForm:o,onChangeActiveForm:b,genericForm:v,formErrorMessage:s,validateFormData:y,unsavedDestinations:u,thisUnsavedDestination:m,setUnsavedDestinations:p,addUnsavedDestination:h,updateUnsavedDestination:g,deleteUnsavedDestination:f},children:e})},go=()=>i(mo),fo=p(g)`
21
+ `,Wn=({dataId:a,icon:n,title:o,description:l,withCarret:r,purpleColors:i,disabled:s,children:c,isSelected:d,onClick:u,isChecked:p,isPartiallyChecked:y,onCheckboxChange:S})=>{const C=m();return e(jn,{"data-id":a||`list-item-${o}`,$isSelected:d,$purpleColors:i,$disabled:s,onClick:()=>!d&&!s&&u(),children:[e(h,{$gap:4,children:[e(g,{$gap:12,children:[S&&t(f,{partiallyChecked:y||!1,value:p||!1,onChange:e=>S(e)}),n&&t(Hn,{children:t(n,{size:20})}),t(v,{size:b.XS,children:o})]}),l&&t(v,{size:b.XXXS,color:C.v2.colors.silver[200],children:l})]}),(r||c)&&e(g,{$gap:8,children:[c,r&&t(Ja,{size:18})]})]})},Kn=[{id:"CREDIT_CARD",label:"Credit card"}],Gn=[{id:S.CollectContainerAttributes,label:"Collect container attributes"},{id:S.CollectReplicaSetAttributes,label:"Collect ReplicaSet attributes"},{id:S.CollectWorkloadId,label:"Collect workload ID"},{id:S.CollectClusterId,label:"Collect cluster ID"}],qn=[{id:N.Pod,label:N.Pod},{id:N.Namespace,label:N.Namespace},{id:N.Node,label:N.Node}],Yn=[{label:"Label key",keyName:"labelKey",placeholder:"app.kubernetes.io/name"},{label:"Attribute key",keyName:"attributeKey",placeholder:"app.kubernetes.name"},{label:"From sources",keyName:"fromSources",placeholder:"pod, namespace",tooltip:"Select multiple sources. Higher precedence sources (pod > namespace > node) will override lower ones.",componentType:"multi-dropdown",options:qn}],Jn=[{label:"Annotation key",keyName:"annotationKey",placeholder:"kubectl.kubernetes.io/restartedAt"},{label:"Attribute key",keyName:"attributeKey",placeholder:"kubectl.kubernetes.restartedAt"},{label:"From sources",keyName:"fromSources",placeholder:"pod, namespace",tooltip:"Select multiple sources. Higher precedence sources (pod > namespace > node) will override lower ones.",componentType:"multi-dropdown",options:qn}],Qn=[{label:"Service",keyName:"serviceName",placeholder:"e.g. my-service",tooltip:"Service name: The rule applies to a specific service name. Only traces originating from this service’s root span will be considered."},{label:"HTTP route",keyName:"httpRoute",placeholder:"e.g. /api/v1/users",tooltip:"HTTP route: The specific HTTP route prefix to match for sampling. Only traces with routes beginning with this prefix will be considered. For instance, configuring /buy will also match /buy/product."},{label:"Threshold",keyName:"minimumLatencyThreshold",placeholder:"e.g. 1000",tooltip:"Minimum latency threshold (ms): Specifies the minimum latency in milliseconds; traces with latency below this threshold are ignored.",inputType:T.Number},{label:"Fallback",keyName:"fallbackSamplingRatio",placeholder:"e.g. 100",tooltip:"Fallback sampling ratio: Specifies the percentage of traces that meet the service/http_route filter but fall below the threshold that you still want to retain. For example, if a rule is set for service A and http_route B with a minimum latency threshold of 1 second, you might still want to keep some traces below this threshold. Setting the ratio to 20% ensures that 20% of these traces will be retained.",inputType:T.Number}],Zn=S.UrlTemplatizationRulesGroups,eo=[{keyName:"kind",label:"Kind",placeholder:"Any kind",componentType:"dropdown",options:[{id:"Deployment",label:"Deployment"},{id:"StatefulSet",label:"StatefulSet"},{id:"DaemonSet",label:"DaemonSet"}]},{keyName:"name",label:"Name",placeholder:"Any name"}],to=[{label:"Service name",keyName:"serviceName",placeholder:"e.g. my-service",tooltip:"Specifies the service name to search within the trace (Across all available spans)."},{label:"Sampling ratio",keyName:"samplingRatio",placeholder:"e.g. 10",tooltip:"Specifies the sample rate for all traces.",inputType:T.Number},{label:"Fallback sampling ratio",keyName:"fallbackSamplingRatio",placeholder:"e.g. 100",tooltip:"Specifies the percentage of traces that don’t meet the service name filter and that you still like to retain.",inputType:T.Number}],ao=[{label:"Service name",keyName:"serviceName",placeholder:"e.g. my-service",tooltip:"Specifies the service name to search within the trace (across all available spans)."},{label:"Attribute key",keyName:"attributeKey",placeholder:"e.g. http.request.method",tooltip:"Specifies the attribute key inside of the span."},{label:"Fallback sampling ratio",keyName:"fallbackSamplingRatio",placeholder:"e.g. 100",tooltip:"Specifies the percentage of traces that don’t meet the service name filter and that you still like to retain.",inputType:T.Number},{label:"Condition",keyName:"condition",tooltip:"An object representing the filters for span attributes filters.",componentType:M.Dropdown,options:[{id:"stringCondition",label:"String condition"},{id:"numberCondition",label:"Number condition"},{id:"booleanCondition",label:"Boolean condition"},{id:"jsonCondition",label:"JSON condition"}]},{label:"Operation",keyName:"operation",tooltip:"Specifies the operation to run against the attribute.",componentType:M.Dropdown,options:[{id:"exists",label:"Exists"},{id:"equals",label:"Equals"},{id:"not_equals",label:"Not equals"},{id:"contains",label:"Contains"},{id:"not_contains",label:"Not contains"},{id:"regex",label:"Regex"},{id:"greater_than",label:"Greater than"},{id:"less_than",label:"Less than"},{id:"greater_than_or_equal",label:"Greater than or equal"},{id:"less_than_or_equal",label:"Less than or equal"},{id:"is_valid_json",label:"Is valid JSON"},{id:"is_invalid_json",label:"Is invalid JSON"},{id:"jsonpath_exists",label:"JSON path exists"},{id:"key_equals",label:"Key equals"},{id:"key_not_equals",label:"Key not equals"}]},{label:"Expected value",keyName:"expectedValue",placeholder:"e.g. GET",tooltip:"The values to test the attribute against."},{label:"JSON path",keyName:"jsonPath",placeholder:"e.g. $.user.role",tooltip:"An expression used to navigate the JSON structure.",renderCondition:e=>"jsonCondition"===e.condition}],no={[L.K8sAttributes]:({value:o,setValue:l,formErrors:r})=>(n(()=>{o[S.CollectContainerAttributes]||o[S.CollectReplicaSetAttributes]||o[S.CollectWorkloadId]||o[S.CollectClusterId]||o[S.LabelsAttributes]?.length||o[S.AnnotationsAttributes]?.length||(l(S.CollectContainerAttributes,!0),l(S.CollectReplicaSetAttributes,!0),l(S.CollectWorkloadId,!0),l(S.CollectClusterId,!0),l(S.LabelsAttributes,[]),l(S.AnnotationsAttributes,[]))},[]),e(a,{children:[t(h,{$gap:6,children:Gn.map(({id:a,label:n})=>e(h,{children:[t(f,{label:n,value:o[a]||!1,onChange:e=>l(a,e)}),t(k,{errorMessage:r[a]})]},a))}),t(D,{name:"labelsAttributes",label:"Label attributes",limitFieldsPerRow:2,columns:Yn,values:o[S.LabelsAttributes]||[],setValues:e=>l(S.LabelsAttributes,e),errorMessage:r[S.LabelsAttributes]}),t(D,{name:"annotationsAttributes",label:"Annotation attributes",limitFieldsPerRow:2,columns:Jn,values:o[S.AnnotationsAttributes]||[],setValues:e=>l(S.AnnotationsAttributes,e),errorMessage:r[S.AnnotationsAttributes]})]})),[L.AddClusterInfo]:({value:n,setValue:o,formErrors:l})=>{const r=m();return e(a,{children:[t(A,{label:"Overwrite existing values",labelAlign:I.Left,labelColor:r.v2.colors.silver[200],tooltip:"If enabled, the resource attributes will overwrite any existing attributes with the same name.",value:n[S.OverwriteExistingValues]||!1,onChange:e=>o(S.OverwriteExistingValues,e)}),t(D,{name:"clusterAttributes",label:"Resource attributes",limitFieldsPerRow:2,columns:[{keyName:"attributeName",label:"Attribute name"},{keyName:"attributeStringValue",label:"Attribute value"}],values:n[S.ClusterAttributes]||[],setValues:e=>o(S.ClusterAttributes,e),errorMessage:l[S.ClusterAttributes]})]})},[L.DeleteAttributes]:({value:e,setValue:a,formErrors:n})=>t(E,{name:"attributeNamesToDelete",label:"Attributes to delete",values:e[S.AttributeNamesToDelete]||[],setValues:e=>a(S.AttributeNamesToDelete,e),errorMessage:n[S.AttributeNamesToDelete]}),[L.RenameAttributes]:({value:e,setValue:a,formErrors:n})=>t(D,{name:"renames",label:"Attributes to rename",limitFieldsPerRow:2,columns:[{keyName:"oldKey",label:"Old key"},{keyName:"newKey",label:"New key"}],values:Object.entries(e[S.Renames]||{}).map(([e,t])=>({oldKey:e,newKey:t})),setValues:e=>{const t={};e.forEach(e=>t[e.oldKey]=e.newKey),a(S.Renames,t)},errorMessage:n[S.Renames]}),[L.PiiMasking]:({value:a,setValue:o,formErrors:l})=>(n(()=>{a[S.PiiCategories]?.length||o(S.PiiCategories,Kn.map(({id:e})=>e))},[]),e(h,{$gap:12,children:[t(C,{label:"Attributes to mask"}),t(h,{$gap:6,children:Kn.map(({id:e,label:n})=>t(f,{label:n,value:a[S.PiiCategories]?.includes(e)||!1,onChange:t=>{const n=a[S.PiiCategories]||[],l=t?[...n,e]:n.filter(t=>t!==e);o(S.PiiCategories,l)}},e))}),t(k,{errorMessage:l[S.PiiCategories]})]})),[L.ErrorSampler]:({value:e,setValue:a,formErrors:n})=>{const o=n[S.FallbackSamplingRatio],l=x(e[S.FallbackSamplingRatio])?"":String(e[S.FallbackSamplingRatio]);return t(w,{name:"fallbackSamplingRatio",label:"Fallback sampling ratio",type:T.Number,min:0,max:100,value:l,placeholder:"0-100",onChange:e=>{return t=e.target.value,a(S.FallbackSamplingRatio,Math.max(0,Math.min(Number(t),100))||0);var t},errorMessage:o})},[L.ProbabilisticSampler]:({value:e,setValue:a,formErrors:n})=>{const o=n[S.SamplingPercentage],l=x(e[S.SamplingPercentage])?"":String(e[S.SamplingPercentage]);return t(w,{name:"samplingPercentage",label:"Sampling percentage",type:T.Number,min:0,max:100,value:l,placeholder:"0-100",onChange:e=>{return t=e.target.value,a(S.SamplingPercentage,Math.max(0,Math.min(Number(t),100))||0);var t},errorMessage:o})},[L.LatencySampler]:({value:e,setValue:a,formErrors:n})=>{const o=n[S.EndpointsFilters],l=e[S.EndpointsFilters]||[];return t(D,{name:"endpointsFilters",limitFieldsPerRow:2,columns:Qn,values:l,setValues:e=>{a(S.EndpointsFilters,e.map(({serviceName:e,httpRoute:t,minimumLatencyThreshold:a,fallbackSamplingRatio:n})=>({serviceName:e,httpRoute:t,minimumLatencyThreshold:Number(a),fallbackSamplingRatio:Number(n)})))},errorMessage:o})},[L.ServiceNameSampler]:({value:e,setValue:a,formErrors:n})=>{const o=n[S.ServicesNameFilters],l=e[S.ServicesNameFilters]||[];return t(D,{name:"servicesNameFilters",limitFieldsPerRow:2,columns:to,values:l,setValues:e=>{a(S.ServicesNameFilters,e.map(({serviceName:e,samplingRatio:t,fallbackSamplingRatio:a})=>({serviceName:e,samplingRatio:Number(t),fallbackSamplingRatio:Number(a)})))},errorMessage:o})},[L.SpanAttributeSampler]:({value:e,setValue:a,formErrors:n})=>{const o=n[S.AttributeFilters],l=(e[S.AttributeFilters]||[]).map(({serviceName:e,attributeKey:t,fallbackSamplingRatio:a,condition:n})=>{const o=Object.entries(n).filter(([e,t])=>t)[0][0];return{serviceName:e,attributeKey:t,fallbackSamplingRatio:a,condition:o,operation:n[o]?.operation,expectedValue:n[o]?.expectedValue,jsonPath:n[o]?.jsonPath}});return t(D,{name:"attributeFilters",limitFieldsPerRow:2,columns:ao,values:l,setValues:e=>{a(S.AttributeFilters,e.map(({serviceName:e,attributeKey:t,fallbackSamplingRatio:a,condition:n,operation:o,expectedValue:l,jsonPath:r})=>{const i={serviceName:e,attributeKey:t,fallbackSamplingRatio:Number(a),condition:{[n]:{operation:o,expectedValue:l}}};return r&&(i.condition[n].jsonPath=r),i}))},errorMessage:o})},[L.URLTemplatization]:({value:n,setValue:l,formErrors:r})=>{const i=m(),s=n[Zn]||[{filterK8sNamespace:"",workloadFilters:[],templatizationRules:[{template:""}],notes:""}],c=e=>l(Zn,e),d=(e,t)=>c(s.map((a,n)=>n===e?{...a,...t}:a));return e(a,{children:[s.map((a,n)=>e(o,{children:[t(R,{}),e(h,{$gap:12,children:[e(g,{$justifyContent:"space-between",$alignItems:"center",children:[t(C,{label:`Rule Group ${n+1}`}),t(P,{leftIcon:()=>t(Qa,{fill:i.v2.colors.red[500]}),variant:O.Secondary,size:$.S,onClick:()=>{return e=n,c(s.filter((t,a)=>a!==e));var e},disabled:1===s.length})]}),t(w,{name:`urlGroup-${n}-namespace`,label:"Namespace",placeholder:"All namespaces",tooltip:"Filter rules to a specific Kubernetes namespace.",value:a.filterK8sNamespace||"",onChange:e=>d(n,{filterK8sNamespace:e.target.value})}),t(D,{name:`urlGroup-${n}-workloadFilters`,label:"Workload filters",tooltip:"Optionally scope templates to specific workloads.",columns:eo,values:a.workloadFilters||[],setValues:e=>d(n,{workloadFilters:e})}),t(E,{name:`urlGroup-${n}-templates`,label:"Templates",required:!0,placeholder:"e.g. /user/{id}",values:a.templatizationRules.map(e=>e.template),setValues:e=>d(n,{templatizationRules:e.map(e=>({template:e}))})})]}),t(k,{errorMessage:r[Zn]})]},`url-templatization-group-${n}`)),t(P,{variant:O.Secondary,label:"Add rule group",leftIcon:Za,onClick:()=>c([...s,{filterK8sNamespace:"",workloadFilters:[],templatizationRules:[{template:""}],notes:""}])}),t(R,{})]})}},oo=({actionType:e,value:a,setValue:n,formErrors:o})=>{if(!e)return null;const l=no[e];return l?t(l,{value:a,setValue:n,formErrors:o}):null},lo={type:"",disabled:!1,name:"",notes:"",signals:[],fields:{}},ro=s({selectedOption:null,onSelectOption:()=>{},genericForm:void 0,validateFormData:()=>({preparedFormData:z(lo)}),errorMessage:void 0}),io=({children:e})=>{const[a,n]=l(null),[o,i]=l(void 0),s=F(lo),c=r(e=>{s.resetFormData(),s.handleErrorChange(void 0,void 0,{}),i(void 0),e?.type&&s.handleFormChange("type",e.type),n(e)},[]),d=r(()=>{if(!a)return{errorMessage:"No action type selected",preparedFormData:z(lo)};const e=(t=s.formData,z(t));var t;const n={};s.handleErrorChange(void 0,void 0,n);const o=Object.keys(n).length>0?"Invalid form values":void 0;return i(o),{errorMessage:o,preparedFormData:e}},[s,a]);return t(ro.Provider,{value:{selectedOption:a,onSelectOption:c,genericForm:s,validateFormData:d,errorMessage:o},children:e})},so=()=>i(ro),co=()=>{const a=m(),{selectedOption:n,genericForm:o}=so();if(!o||!n)return t(V,{title:"No active form"});const{formData:l,handleFormChange:r,formErrors:i}=o;return e(h,{$gap:24,children:[e(g,{$gap:12,$justifyContent:"space-between",children:[t(v,{size:b.XXS,children:n.docsDescription}),t(P,{label:"Docs",leftIcon:en,variant:O.Text,size:$.S,onClick:()=>window.open(`${X}${n.docsEndpoint}`,"_blank","noopener noreferrer")})]}),t(B,{options:[{icon:tn,label:"Enabled",value:!1,selectedBgColor:a.v2.colors.green[800]},{icon:an,label:"Disabled",value:!0,selectedBgColor:a.v2.colors.red[800]}],selected:l.disabled,setSelected:e=>r("disabled",e)}),t(On,{title:"Signals for processing",allowedSignals:n.allowedSignals,selectedSignals:l.signals||[],setSelectedSignals:e=>r("signals",e),errorMessage:i.signals}),t(w,{name:"actionName",label:"Action name",placeholder:"Use a name that describes the action...",value:l.name||"",onChange:({target:{value:e}})=>r("name",e),errorMessage:i.name}),t(oo,{actionType:n.type,value:l.fields,setValue:(e,t)=>r(`fields.${e}`,t),formErrors:i}),t(_,{name:"notes",label:"Notes",placeholder:"Your personal notes...",value:l.notes||"",onChange:({target:{value:e}})=>r("notes",e),errorMessage:i.notes})]})},uo=({signals:e,fields:a,disabled:n,formData:o,handleFormChange:l,formErrors:r})=>a?.map(({renderCondition:a,componentType:i,type:s,name:c,title:d,tooltip:u,placeholder:p,value:m,required:h,options:g})=>{if(!(!a||U(a,e,o.fields)))return null;const f=c,v=o.fields.find(e=>e.key===f),b=v?v.value:m;return t(Mn,{componentType:i,inputType:s,name:f,label:d,tooltip:u,disabled:n,required:h,placeholder:p,errorMessage:r[f],dropdownOptions:g,value:b||"",setValue:e=>l(f,e)},f)}),po={type:"",name:"",currentStreamName:"",disabled:!1,exportedSignals:{logs:!1,metrics:!1,traces:!1},fields:[]},mo={activeForm:null,onChangeActiveForm:()=>{},genericForm:void 0,formErrorMessage:void 0,validateFormData:()=>({isOk:!1,preparedFormData:z(po)}),unsavedDestinations:[],thisUnsavedDestination:void 0,setUnsavedDestinations:()=>{},addUnsavedDestination:()=>{},updateUnsavedDestination:()=>{},deleteUnsavedDestination:()=>{}},ho=s(mo),go=({children:e})=>{const{selectedStreamName:a}=j(),[o,i]=l(null),[s,d]=l(),[u,p]=l(mo.unsavedDestinations),m=c(()=>"number"==typeof o?.unsavedIdx?u[o.unsavedIdx]:void 0,[o,u]),h=r((e,t)=>{o&&(p(t=>[...t,{...e,option:o.option}]),i(t?e=>e?{...e,listType:H.UNSAVED,unsavedIdx:u.length}:null:null))},[o,u.length]),g=r((e,t,a)=>{o&&(p(a=>a.map((a,n)=>n===e?{...a,...t,option:o.option}:a)),i(a?e=>e?{...e,listType:H.UNSAVED}:null:null))},[o]),f=r(e=>{p(t=>t.filter((t,a)=>a!==e)),i(null)},[]),v=F({...po,currentStreamName:a});n(()=>{if(o)if(m)v.handleFormChange(void 0,void 0,m.formData);else{v.handleFormChange("type",o.option.type),v.handleFormChange("name",o.option.displayName),v.handleFormChange("disabled",!1);const e=W(o.option.supportedSignals);v.handleFormChange("exportedSignals",{logs:e.includes(K.Logs),metrics:e.includes(K.Metrics),traces:e.includes(K.Traces)}),v.handleFormChange("fields",o.dynamicFields.map(e=>({key:e.name,value:e.value})))}},[o,m]);const b=r(e=>{var t;v.resetFormData(),v.handleErrorChange(void 0,void 0,{}),d(void 0),i(e?{...e,dynamicFields:e.option?.fields?(t=e.option.fields,t.filter(e=>!!e).map(e=>{const{name:t,componentType:a,componentProperties:n,displayName:o,initialValue:l,renderCondition:r}=e,i=a===M.Dropdown,s=q(n,{});return{componentType:a,renderCondition:r,name:t,title:o,value:l,placeholder:s.placeholder||(i?"Select an option":void 0),options:i&&Array.isArray(s.values)?s.values.map(e=>({id:e,value:e})):void 0,...s}})):[]}:null)},[]),y=r(()=>{const e=z(v.formData),t={};o?.dynamicFields.forEach(({name:a,required:n})=>{if(n){const n=e.fields.find(e=>e.key===a)?.value;x(n)&&(t[a]=Y.FIELD_IS_REQUIRED)}});G(e.exportedSignals).length||(t.exportedSignals=Y.FIELD_IS_REQUIRED);const a=0===Object.keys(t).length?void 0:"Invalid form values";return v.handleErrorChange(void 0,void 0,t),d(a),{errorMessage:a,preparedFormData:e}},[v,o]);return t(ho.Provider,{value:{activeForm:o,onChangeActiveForm:b,genericForm:v,formErrorMessage:s,validateFormData:y,unsavedDestinations:u,thisUnsavedDestination:m,setUnsavedDestinations:p,addUnsavedDestination:h,updateUnsavedDestination:g,deleteUnsavedDestination:f},children:e})},fo=()=>i(ho),vo=p(g)`
22
22
  position: sticky;
23
23
  bottom: 0;
24
24
  margin-top: auto;
25
25
  padding: 12px 0;
26
26
  background-color: ${({theme:e})=>e.v2.colors.silver[900]};
27
27
  z-index: 1;
28
- `,vo=({testConnection:a})=>{const o=m(),{activeForm:r,genericForm:i,validateFormData:s,thisUnsavedDestination:c,addUnsavedDestination:d,updateUnsavedDestination:u,deleteUnsavedDestination:p}=go(),[f,v]=l(c?.testResult),[b,y]=l(!!c);if(n(()=>{c?(v(c.testResult),y(!0)):(v(void 0),y(!1))},[c]),!i||!r)return t(V,{title:"No active form"});const S=async()=>{if(!r.option.testConnectionSupported)return;const e=await a(i.formData);return v(e),e};return e(h,{$gap:24,style:{minHeight:"100%"},children:[e(g,{$gap:12,$justifyContent:"space-between",children:[f?f.succeeded?t(J,{status:Q.Success,message:f.message||"Connection OK",fullWidth:!0,smallIcon:!0}):t(J,{status:Q.Error,message:f.message||"Connection Failed",fullWidth:!0,smallIcon:!0}):t("div",{}),t(P,{"data-id":"dest-form-docs",label:"Docs",leftIcon:Za,variant:O.Text,size:$.S,onClick:()=>window.open(`${X}/backends/${r.option.type}`,"_blank","noopener noreferrer")})]}),t(B,{options:[{icon:en,label:"Enabled",value:!1,selectedBgColor:o.v2.colors.green[800]},{icon:tn,label:"Disabled",value:!0,selectedBgColor:o.v2.colors.red[800]}],selected:i.formData.disabled,setSelected:e=>i.handleFormChange("disabled",e),disabled:b}),t($n,{title:"This connection will monitor:",allowedSignals:W(r.option.supportedSignals),selectedSignals:G(i.formData.exportedSignals),setSelectedSignals:e=>i.handleFormChange("exportedSignals",{logs:e.includes(K.Logs),metrics:e.includes(K.Metrics),traces:e.includes(K.Traces)}),disabled:b,errorMessage:i.formErrors.exportedSignals}),t(w,{label:"Destination name",placeholder:"Use a name that describes the destination...",value:i.formData.name,onChange:({target:{value:e}})=>i.handleFormChange("name",e),disabled:b,errorMessage:i.formErrors.name}),t(co,{signals:G(i.formData.exportedSignals),fields:r.dynamicFields,disabled:b,formData:i.formData,handleFormChange:(e,t)=>{i.handleFormChange("fields",i.formData.fields.map(a=>a.key===e?{...a,value:t}:a))},formErrors:i.formErrors}),e(fo,{$gap:8,$justifyContent:"flex-end",children:[c&&t("div",{style:{width:"150px"},children:t(P,{"data-id":"dest-form-delete",fullWidth:!0,label:"Delete",rightIcon:an,variant:O.Secondary,textColor:o.v2.colors.red[500],onClick:()=>p(r.unsavedIdx)})}),(!c||c.option.testConnectionSupported&&!b)&&t("div",{style:{width:"150px"},children:t(P,{"data-id":"dest-form-test-connection",fullWidth:!0,label:"Test Connection",variant:O.Secondary,onClick:S})}),c&&t("div",b?{style:{width:"150px"},children:t(P,{"data-id":"dest-form-edit",fullWidth:!0,label:"Edit",rightIcon:nn,variant:O.Secondary,onClick:()=>y(!1)})}:{style:{width:"150px"},children:t(P,{"data-id":"dest-form-save",fullWidth:!0,label:"Save Changes",variant:O.Primary,onClick:async()=>{const{errorMessage:e,preparedFormData:t}=s();if(!e){const e=await S(),a=!!e&&!e.succeeded;u(r.unsavedIdx,{formData:t,testResult:e},a)}}})}),!c&&t("div",{style:{width:"150px"},children:t(P,{"data-id":"dest-form-add",fullWidth:!0,label:"Add Destination",variant:O.Primary,onClick:async()=>{const{errorMessage:e,preparedFormData:t}=s();if(!e){const e=await S(),a=!!e&&!e.succeeded;d({formData:t,testResult:e},a)}}})})]})]})},bo=[{id:Z.FilePath,label:"Collect file path",tooltip:"Indicates whether to record the `code.filepath` attribute."},{id:Z.Function,label:"Collect function",tooltip:"Indicates whether to record the `code.function` attribute."},{id:Z.LineNumber,label:"Collect line number",tooltip:"Indicates whether to record the `code.lineno` attribute."}],yo=[{id:Z.Column,label:"Collect column",tooltip:"Indicates whether to record the `code.column` attribute."},{id:Z.Namespace,label:"Collect namespace",tooltip:"Indicates whether to record the `code.namespace` attribute."},{id:Z.StackTrace,label:"Collect stacktrace",tooltip:"Indicates whether to record the `code.stacktrace` attribute."}],So=["*"],Co=[{id:ae.HttpRequest,label:"Collect HTTP request",tooltip:""},{id:ae.HttpResponse,label:"Collect HTTP response",tooltip:""},{id:ae.DbQuery,label:"Collect DB query",tooltip:""},{id:ae.Messaging,label:"Collect messaging",tooltip:""}],ko={[le.Java]:[new oe("","")],[le.Golang]:[new ne("")]},wo={[re.CodeAttributes]:({value:o,setValue:l,formErrors:r})=>{const i=m(),s=r.codeAttributes,d=c(()=>Object.entries(o.codeAttributes||{}).filter(([e,t])=>!!t).map(([e])=>e),[o]);n(()=>{if(!d.length&&!s){const e={[Z.FilePath]:!0,[Z.Function]:!0,[Z.LineNumber]:!0,[Z.Column]:null,[Z.Namespace]:null,[Z.StackTrace]:null};l("codeAttributes",e)}},[]);const u=(e,t)=>{const a=t?[...d,e]:d.filter(t=>t!==e),n=Object.values(Z).reduce((e,t)=>(e[t]=!!a.includes(t)||null,e),{});l("codeAttributes",n)};return e(a,{children:[e(h,{$gap:12,children:[t(v,{size:b.XS,color:i.v2.colors.silver[200],nowrap:!0,children:"Recommended data to collect"}),t(h,{$gap:6,children:bo.map(({id:e,label:a,tooltip:n})=>t(ee,{text:n,withIcon:!0,children:t(f,{label:a,value:d.includes(e),onChange:t=>u(e,t)})},e))}),t(k,{errorMessage:s})]}),e(h,{$gap:12,children:[t(v,{size:b.XS,color:i.v2.colors.silver[200],nowrap:!0,children:"Verbose data to collect"}),t(h,{$gap:6,children:yo.map(({id:e,label:a,tooltip:n})=>t(ee,{text:n,withIcon:!0,children:t(f,{label:a,value:d.includes(e),onChange:t=>u(e,t)})},e))}),t(k,{errorMessage:s})]})]})},[re.CustomInstrumentation]:({value:o,setValue:l,formErrors:r})=>{const i=r.customInstrumentations,s=c(()=>(o?.customInstrumentations?.[le.Golang]||[]).map(e=>new ne(e.packageName,e.functionName,e.receiverName,e.receiverMethodName)),[o]),d=c(()=>(o?.customInstrumentations?.[le.Java]||[]).map(e=>new oe(e.className,e.methodName)),[o]);return n(()=>{o?.customInstrumentations||i||l("customInstrumentations",{[le.Golang]:ko[le.Golang],[le.Java]:ko[le.Java]})},[]),e(a,{children:[e(h,{children:[e(g,{$gap:8,children:[t(on,{}),t(C,{label:"Golang custom probes"})]}),t(D,{name:"golangProbes",columns:[{keyName:"packageName",label:"Package name",placeholder:"e.g. github.com/my-org/my-package",tooltip:"The full import path of the package containing the function or method to be instrumented."},{keyName:"functionName",label:"Function name",placeholder:"e.g. myFunction",tooltip:"The name of the function to be instrumented. Leave empty if instrumenting a receiver method."},{keyName:"receiverName",label:"Receiver name",placeholder:"e.g. myReceiver",tooltip:"The name of the receiver type if instrumenting a method. Leave empty if instrumenting a standalone function."},{keyName:"receiverMethodName",label:"Receiver method name",placeholder:"e.g. myMethod",tooltip:"The name of the method to be instrumented. Leave empty if instrumenting a standalone function."}],values:s,setValues:e=>{const t={};t[le.Golang]=e.map(e=>new ne(e.packageName,e.functionName,e.receiverName,e.receiverMethodName)),t[le.Java]=d,l("customInstrumentations",t)},errorMessage:i,limitFieldsPerRow:2})]}),e(h,{children:[e(g,{$gap:8,children:[t(ln,{}),t(C,{label:"Java custom probes"})]}),t(D,{name:"javaProbes",columns:[{keyName:"className",label:"Class name",placeholder:"e.g. com.example.MyClass",tooltip:"The name of the class to be instrumented."},{keyName:"methodName",label:"Method name",placeholder:"e.g. myMethod",tooltip:"The name of the method to be instrumented."}],values:d,setValues:e=>{const t={};t[le.Golang]=s,t[le.Java]=e.map(e=>new oe(e.className,e.methodName)),l("customInstrumentations",t)},errorMessage:i,limitFieldsPerRow:2})]})]})},[re.HeadersCollection]:({value:e,setValue:a,formErrors:o})=>{const l=o.headersCollection,r=c(()=>e?.headersCollection?.[te.HeaderKeys]||[],[e]),i=e=>{const t={[te.HeaderKeys]:e};a("headersCollection",t)};return n(()=>{r.length||l||i(So)},[]),t(E,{name:"headerKeys",label:"Header keys",tooltip:"Specify which headers you want to collect",helpMessage:"Asterisk (*) will collect all headers",values:r,setValues:i,errorMessage:l})},[re.PayloadCollection]:({value:a,setValue:o,formErrors:l})=>{const r=m(),i=l.payloadCollection,s=c(()=>Object.entries(a.payloadCollection||{}).filter(([e,t])=>!!t).map(([e])=>e),[a]);n(()=>{if(!s.length&&!i){const e={[ae.HttpRequest]:{},[ae.HttpResponse]:{},[ae.DbQuery]:{},[ae.Messaging]:{}};o("payloadCollection",e)}},[]);return e(h,{$gap:12,children:[t(v,{size:b.XS,color:r.v2.colors.silver[200],nowrap:!0,children:"Type of data to collect"}),t(h,{$gap:6,children:Co.map(({id:e,label:a,tooltip:n})=>t(ee,{text:n,withIcon:!0,children:t(f,{label:a,value:s.includes(e),onChange:t=>((e,t)=>{const a=t?[...s,e]:s.filter(t=>t!==e),n={[ae.HttpRequest]:a.includes(ae.HttpRequest)?{}:null,[ae.HttpResponse]:a.includes(ae.HttpResponse)?{}:null,[ae.DbQuery]:a.includes(ae.DbQuery)?{}:null,[ae.Messaging]:a.includes(ae.Messaging)?{}:null};o("payloadCollection",n)})(e,t)})},e))}),t(k,{errorMessage:i})]})},[re.UnknownType]:null},To=({ruleType:e,value:a,setValue:n,formErrors:o})=>{if(!e)return null;const l=wo[e];return l?t(l,{value:a,setValue:n,formErrors:o}):null},xo={disabled:!1,ruleName:"",notes:"",workloads:null,instrumentationLibraries:null,payloadCollection:null,codeAttributes:null,headersCollection:null,customInstrumentations:null},Do=s({selectedOption:null,onSelectOption:()=>{},genericForm:void 0,validateFormData:()=>({preparedFormData:z(xo)}),errorMessage:void 0}),No=({children:e})=>{const[a,n]=l(null),[o,i]=l(void 0),s=L(xo),c=r(e=>{s.resetFormData(),s.handleErrorChange(void 0,void 0,{}),i(void 0),n(e)},[]),d=r(()=>{if(!a)return{errorMessage:"No rule type selected",preparedFormData:z(xo)};const e=(e=>{const t=z(e);return t.headersCollection?.[te.HeaderKeys]?.length&&(t.headersCollection[te.HeaderKeys]=t.headersCollection[te.HeaderKeys].map(e=>e.trim()).filter(e=>e)),t.customInstrumentations?.[le.Golang]?.length&&(t.customInstrumentations[le.Golang]=t.customInstrumentations[le.Golang].map(e=>new ne(e.packageName,e.functionName,e.receiverName,e.receiverMethodName)).filter(e=>e.Verify())),t.customInstrumentations?.[le.Java]?.length&&(t.customInstrumentations[le.Java]=t.customInstrumentations[le.Java].map(e=>new oe(e.className,e.methodName)).filter(e=>e.Verify())),t})(s.formData),t={};switch(a.type){case re.CodeAttributes:Object.values(e.codeAttributes||{}).some(e=>null!=e)||(t.codeAttributes="Code attributes are required");break;case re.PayloadCollection:Object.values(e.payloadCollection||{}).some(e=>null!=e)||(t.payloadCollection="Payload collection are required");break;case re.HeadersCollection:e.headersCollection?.[te.HeaderKeys]?.length||(t.headersCollection="Header keys are required");break;case re.CustomInstrumentation:e.customInstrumentations?.[le.Golang]?.length||e.customInstrumentations?.[le.Java]?.length||(t.customInstrumentations="Custom instrumentation are required")}s.handleErrorChange(void 0,void 0,t);const n=Object.keys(t).length>0?"Invalid form values":void 0;return i(n),{errorMessage:n,preparedFormData:e}},[s,a]);return t(Do.Provider,{value:{selectedOption:a,onSelectOption:c,genericForm:s,validateFormData:d,errorMessage:o},children:e})},Ao=()=>i(Do),Io=()=>{const a=m(),{selectedOption:n,genericForm:o}=Ao();if(!o||!n)return t(V,{title:"No active form"});const{formData:l,handleFormChange:r,formErrors:i}=o;return e(h,{$gap:24,children:[e(g,{$gap:12,$justifyContent:"space-between",children:[t(v,{size:b.XXS,children:n.docsDescription}),t(P,{label:"Docs",leftIcon:Za,variant:O.Text,size:$.S,onClick:()=>window.open(`${X}${n.docsEndpoint}`,"_blank","noopener noreferrer")})]}),e(g,{$gap:12,children:[t(v,{size:b.XS,color:a.v2.colors.silver[200],nowrap:!0,children:"Supported Languages:"}),n.supportedLanguages.map(e=>t(ie,{label:se[e],leftIcon:ce(e),status:Q.Default,useSecondaryTone:!0},e))]}),t(B,{options:[{icon:en,label:"Enabled",value:!1,selectedBgColor:a.v2.colors.green[800]},{icon:tn,label:"Disabled",value:!0,selectedBgColor:a.v2.colors.red[800]}],selected:l.disabled,setSelected:e=>r("disabled",e)}),t(w,{name:"ruleName",label:"Rule name",placeholder:"Use a name that describes the rule...",value:l.ruleName,onChange:({target:{value:e}})=>r("ruleName",e),errorMessage:i.ruleName}),t(To,{ruleType:n.type,value:l,setValue:(e,t)=>r(e,t),formErrors:i}),t(_,{name:"notes",label:"Notes",placeholder:"Your personal notes...",value:l.notes,onChange:({target:{value:e}})=>r("notes",e),errorMessage:i.notes})]})},Eo=s({isFetching:!1,formData:[],handleSourceChange:()=>{},handleSelectAll:()=>{},formDiff:{},isFormDirty:!1}),Ro=({children:e,selectedConnectionIds:a,getAllClusterSnapshots:o,fetchNamespacesWithWorkloads:i,initialInputs:s})=>{const{tier:d}=de(),u=d===fe.Onprem,{selectedStreamName:p}=j(),[m,h]=l(!1),[g,f]=l(null),v=r(async()=>{try{if(h(!0),o){const e=await o();e&&f(e)}else if(i){const e=await i();e.data?.length&&f({clusters:[{clusterId:pe,clusterName:ue,namespaces:e.data.map(e=>({name:e.name,selected:e.selected,workloads:e.sources?.map(e=>({namespace:e.namespace,name:e.name,kind:e.kind,selected:e.selected}))||[]}))}]})}}catch(e){}finally{h(!1)}},[]);n(()=>{v()},[]);const[b,y]=l([]);n(()=>{g&&y(e=>{const t=((e,t)=>z(((e,t)=>e.clusters.filter(({clusterId:e})=>!t||t.includes(e)))(e,t)))(g,a);return t.map(t=>{const a=e?.find(e=>e.clusterId===t.clusterId),n=a??t;if(s?.[t.clusterId]){const e=s[t.clusterId],a=z(n);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=>{me.has(e.kind)&&!u||(e.selected=!0)})}),a}return n})})},[g,a,s]);const{formDiff:S,isFormDirty:C}=c(()=>{const e=((e,t,a)=>{const n={};return e.forEach(e=>{e.namespaces.forEach(o=>{const l=t.find(t=>t.clusterId===e.clusterId)?.namespaces.find(e=>e.name===o.name),r=o.selected||!1,i=r!==l?.selected;if(i&&(n[e.clusterId]||(n[e.clusterId]=[]),n[e.clusterId].push({namespace:o.name,selected:r,currentStreamName:a}),r&&(n[e.clusterId]=n[e.clusterId].filter(e=>e.namespace!==o.name||e.namespace===o.name&&(!e.name||!e.kind)))),!i||!r){const t=((e,t,a)=>{const n=[];return t.workloads.forEach(o=>{const l=e?.workloads.find(e=>e.name===o.name&&e.kind===o.kind);o.selected!==l?.selected&&n.push({namespace:t.name,name:o.name,kind:o.kind,selected:o.selected||!1,currentStreamName:a})}),n})(l,o,a);t.length>0&&(n[e.clusterId]||(n[e.clusterId]=[]),n[e.clusterId].push(...t))}})}),n})(b,g?.clusters||[],p);return{formDiff:e,isFormDirty:Object.keys(e).length>0}},[b,g,p]),k=r(e=>!u&&me.has(e),[u]),w=r(({clusterId:e,workloadId:t,selected:a,auto:n})=>{y(o=>{const l=z(o),r=l.findIndex(t=>t.clusterId===e);if(-1===r)return l;const i=l[r].namespaces.findIndex(e=>e.name===t.namespace);if(-1===i)return l;if(t.kind&&t.name){const e=l[r].namespaces[i].workloads.findIndex(e=>e.name===t.name&&e.kind===t.kind);if(-1===e)return l;const n="boolean"==typeof a?a:!l[r].namespaces[i].workloads[e].selected;if(l[r].namespaces[i].workloads[e].selected=n,n){l[r].namespaces[i].workloads.filter(e=>!k(e.kind)).every(e=>e.selected)&&(l[r].namespaces[i].selected=!0)}else l[r].namespaces[i].selected=!1}else{const e="boolean"==typeof n?n:!l[r].namespaces[i].selected;l[r].namespaces[i].selected=e,e?l[r].namespaces[i].workloads.forEach(e=>{k(e.kind)||(e.selected=!0)}):"boolean"!=typeof a||a||l[r].namespaces[i].workloads.forEach(e=>{e.selected=!1})}return l})},[k]),T=r(({clusterId:e,namespaceName:t,boolean:a,searchText:n="",searchBy:o="",filters:l})=>{y(r=>{const i=z(r),s=o===ve.Namespace?n:"",c=o===ve.Source?n:"",d=!!s||!!c||!!l?.showOnlySelected;return i.forEach((n,o)=>{e&&n.clusterId!==e||n.namespaces.forEach(({name:e,workloads:n},r)=>{if(!t||e===t)if(d)if(t){n.forEach((e,t)=>{a&&k(e.kind)||he(e,c,l||{showOnlySelected:!1})&&(i[o].namespaces[r].workloads[t].selected=a)});const e=i[o].namespaces[r].workloads.filter(e=>!k(e.kind)).every(e=>e.selected);i[o].namespaces[r].selected=e}else{if(!ge(i[o].namespaces[r],s,l||{showOnlySelected:!1}))return;i[o].namespaces[r].selected=a,n.forEach((e,t)=>{a&&k(e.kind)||(i[o].namespaces[r].workloads[t].selected=a)})}else i[o].namespaces[r].selected=a,n.forEach((e,t)=>{a&&k(e.kind)||(i[o].namespaces[r].workloads[t].selected=a)})})}),i})},[k]);return t(Eo.Provider,{value:{isFetching:m,formData:b,handleSourceChange:w,handleSelectAll:T,formDiff:S,isFormDirty:C},children:e})},Po=()=>i(Eo),$o=p.div`
28
+ `,bo=({testConnection:a})=>{const o=m(),{activeForm:r,genericForm:i,validateFormData:s,thisUnsavedDestination:c,addUnsavedDestination:d,updateUnsavedDestination:u,deleteUnsavedDestination:p}=fo(),[f,v]=l(c?.testResult),[b,y]=l(!!c);if(n(()=>{c?(v(c.testResult),y(!0)):(v(void 0),y(!1))},[c]),!i||!r)return t(V,{title:"No active form"});const S=async()=>{if(!r.option.testConnectionSupported)return;const e=await a(i.formData);return v(e),e};return e(h,{$gap:24,style:{minHeight:"100%"},children:[e(g,{$gap:12,$justifyContent:"space-between",children:[f?f.succeeded?t(J,{status:Q.Success,message:f.message||"Connection OK",fullWidth:!0,smallIcon:!0}):t(J,{status:Q.Error,message:f.message||"Connection Failed",fullWidth:!0,smallIcon:!0}):t("div",{}),t(P,{"data-id":"dest-form-docs",label:"Docs",leftIcon:en,variant:O.Text,size:$.S,onClick:()=>window.open(`${X}/backends/${r.option.type}`,"_blank","noopener noreferrer")})]}),t(B,{options:[{icon:tn,label:"Enabled",value:!1,selectedBgColor:o.v2.colors.green[800]},{icon:an,label:"Disabled",value:!0,selectedBgColor:o.v2.colors.red[800]}],selected:i.formData.disabled,setSelected:e=>i.handleFormChange("disabled",e),disabled:b}),t(On,{title:"This connection will monitor:",allowedSignals:W(r.option.supportedSignals),selectedSignals:G(i.formData.exportedSignals),setSelectedSignals:e=>i.handleFormChange("exportedSignals",{logs:e.includes(K.Logs),metrics:e.includes(K.Metrics),traces:e.includes(K.Traces)}),disabled:b,errorMessage:i.formErrors.exportedSignals}),t(w,{label:"Destination name",placeholder:"Use a name that describes the destination...",value:i.formData.name,onChange:({target:{value:e}})=>i.handleFormChange("name",e),disabled:b,errorMessage:i.formErrors.name}),t(uo,{signals:G(i.formData.exportedSignals),fields:r.dynamicFields,disabled:b,formData:i.formData,handleFormChange:(e,t)=>{i.handleFormChange("fields",i.formData.fields.map(a=>a.key===e?{...a,value:t}:a))},formErrors:i.formErrors}),e(vo,{$gap:8,$justifyContent:"flex-end",children:[c&&t("div",{style:{width:"150px"},children:t(P,{"data-id":"dest-form-delete",fullWidth:!0,label:"Delete",rightIcon:nn,variant:O.Secondary,textColor:o.v2.colors.red[500],onClick:()=>p(r.unsavedIdx)})}),(!c||c.option.testConnectionSupported&&!b)&&t("div",{style:{width:"150px"},children:t(P,{"data-id":"dest-form-test-connection",fullWidth:!0,label:"Test Connection",variant:O.Secondary,onClick:S})}),c&&t("div",b?{style:{width:"150px"},children:t(P,{"data-id":"dest-form-edit",fullWidth:!0,label:"Edit",rightIcon:on,variant:O.Secondary,onClick:()=>y(!1)})}:{style:{width:"150px"},children:t(P,{"data-id":"dest-form-save",fullWidth:!0,label:"Save Changes",variant:O.Primary,onClick:async()=>{const{errorMessage:e,preparedFormData:t}=s();if(!e){const e=await S(),a=!!e&&!e.succeeded;u(r.unsavedIdx,{formData:t,testResult:e},a)}}})}),!c&&t("div",{style:{width:"150px"},children:t(P,{"data-id":"dest-form-add",fullWidth:!0,label:"Add Destination",variant:O.Primary,onClick:async()=>{const{errorMessage:e,preparedFormData:t}=s();if(!e){const e=await S(),a=!!e&&!e.succeeded;d({formData:t,testResult:e},a)}}})})]})]})},yo=[{id:Z.FilePath,label:"Collect file path",tooltip:"Indicates whether to record the `code.filepath` attribute."},{id:Z.Function,label:"Collect function",tooltip:"Indicates whether to record the `code.function` attribute."},{id:Z.LineNumber,label:"Collect line number",tooltip:"Indicates whether to record the `code.lineno` attribute."}],So=[{id:Z.Column,label:"Collect column",tooltip:"Indicates whether to record the `code.column` attribute."},{id:Z.Namespace,label:"Collect namespace",tooltip:"Indicates whether to record the `code.namespace` attribute."},{id:Z.StackTrace,label:"Collect stacktrace",tooltip:"Indicates whether to record the `code.stacktrace` attribute."}],Co=["*"],ko=[{id:ae.HttpRequest,label:"Collect HTTP request",tooltip:""},{id:ae.HttpResponse,label:"Collect HTTP response",tooltip:""},{id:ae.DbQuery,label:"Collect DB query",tooltip:""},{id:ae.Messaging,label:"Collect messaging",tooltip:""}],wo={[le.Java]:[new oe("","")],[le.Golang]:[new ne("")]},To={[re.CodeAttributes]:({value:o,setValue:l,formErrors:r})=>{const i=m(),s=r.codeAttributes,d=c(()=>Object.entries(o.codeAttributes||{}).filter(([e,t])=>!!t).map(([e])=>e),[o]);n(()=>{if(!d.length&&!s){const e={[Z.FilePath]:!0,[Z.Function]:!0,[Z.LineNumber]:!0,[Z.Column]:null,[Z.Namespace]:null,[Z.StackTrace]:null};l("codeAttributes",e)}},[]);const u=(e,t)=>{const a=t?[...d,e]:d.filter(t=>t!==e),n=Object.values(Z).reduce((e,t)=>(e[t]=!!a.includes(t)||null,e),{});l("codeAttributes",n)};return e(a,{children:[e(h,{$gap:12,children:[t(v,{size:b.XS,color:i.v2.colors.silver[200],nowrap:!0,children:"Recommended data to collect"}),t(h,{$gap:6,children:yo.map(({id:e,label:a,tooltip:n})=>t(ee,{text:n,withIcon:!0,children:t(f,{label:a,value:d.includes(e),onChange:t=>u(e,t)})},e))}),t(k,{errorMessage:s})]}),e(h,{$gap:12,children:[t(v,{size:b.XS,color:i.v2.colors.silver[200],nowrap:!0,children:"Verbose data to collect"}),t(h,{$gap:6,children:So.map(({id:e,label:a,tooltip:n})=>t(ee,{text:n,withIcon:!0,children:t(f,{label:a,value:d.includes(e),onChange:t=>u(e,t)})},e))}),t(k,{errorMessage:s})]})]})},[re.CustomInstrumentation]:({value:o,setValue:l,formErrors:r})=>{const i=r.customInstrumentations,s=c(()=>(o?.customInstrumentations?.[le.Golang]||[]).map(e=>new ne(e.packageName,e.functionName,e.receiverName,e.receiverMethodName)),[o]),d=c(()=>(o?.customInstrumentations?.[le.Java]||[]).map(e=>new oe(e.className,e.methodName)),[o]);return n(()=>{o?.customInstrumentations||i||l("customInstrumentations",{[le.Golang]:wo[le.Golang],[le.Java]:wo[le.Java]})},[]),e(a,{children:[e(h,{children:[e(g,{$gap:8,children:[t(ln,{}),t(C,{label:"Golang custom probes"})]}),t(D,{name:"golangProbes",columns:[{keyName:"packageName",label:"Package name",placeholder:"e.g. github.com/my-org/my-package",tooltip:"The full import path of the package containing the function or method to be instrumented."},{keyName:"functionName",label:"Function name",placeholder:"e.g. myFunction",tooltip:"The name of the function to be instrumented. Leave empty if instrumenting a receiver method."},{keyName:"receiverName",label:"Receiver name",placeholder:"e.g. myReceiver",tooltip:"The name of the receiver type if instrumenting a method. Leave empty if instrumenting a standalone function."},{keyName:"receiverMethodName",label:"Receiver method name",placeholder:"e.g. myMethod",tooltip:"The name of the method to be instrumented. Leave empty if instrumenting a standalone function."}],values:s,setValues:e=>{const t={};t[le.Golang]=e.map(e=>new ne(e.packageName,e.functionName,e.receiverName,e.receiverMethodName)),t[le.Java]=d,l("customInstrumentations",t)},errorMessage:i,limitFieldsPerRow:2})]}),e(h,{children:[e(g,{$gap:8,children:[t(rn,{}),t(C,{label:"Java custom probes"})]}),t(D,{name:"javaProbes",columns:[{keyName:"className",label:"Class name",placeholder:"e.g. com.example.MyClass",tooltip:"The name of the class to be instrumented."},{keyName:"methodName",label:"Method name",placeholder:"e.g. myMethod",tooltip:"The name of the method to be instrumented."}],values:d,setValues:e=>{const t={};t[le.Golang]=s,t[le.Java]=e.map(e=>new oe(e.className,e.methodName)),l("customInstrumentations",t)},errorMessage:i,limitFieldsPerRow:2})]})]})},[re.HeadersCollection]:({value:e,setValue:a,formErrors:o})=>{const l=o.headersCollection,r=c(()=>e?.headersCollection?.[te.HeaderKeys]||[],[e]),i=e=>{const t={[te.HeaderKeys]:e};a("headersCollection",t)};return n(()=>{r.length||l||i(Co)},[]),t(E,{name:"headerKeys",label:"Header keys",tooltip:"Specify which headers you want to collect",helpMessage:"Asterisk (*) will collect all headers",values:r,setValues:i,errorMessage:l})},[re.PayloadCollection]:({value:a,setValue:o,formErrors:l})=>{const r=m(),i=l.payloadCollection,s=c(()=>Object.entries(a.payloadCollection||{}).filter(([e,t])=>!!t).map(([e])=>e),[a]);n(()=>{if(!s.length&&!i){const e={[ae.HttpRequest]:{},[ae.HttpResponse]:{},[ae.DbQuery]:{},[ae.Messaging]:{}};o("payloadCollection",e)}},[]);return e(h,{$gap:12,children:[t(v,{size:b.XS,color:r.v2.colors.silver[200],nowrap:!0,children:"Type of data to collect"}),t(h,{$gap:6,children:ko.map(({id:e,label:a,tooltip:n})=>t(ee,{text:n,withIcon:!0,children:t(f,{label:a,value:s.includes(e),onChange:t=>((e,t)=>{const a=t?[...s,e]:s.filter(t=>t!==e),n={[ae.HttpRequest]:a.includes(ae.HttpRequest)?{}:null,[ae.HttpResponse]:a.includes(ae.HttpResponse)?{}:null,[ae.DbQuery]:a.includes(ae.DbQuery)?{}:null,[ae.Messaging]:a.includes(ae.Messaging)?{}:null};o("payloadCollection",n)})(e,t)})},e))}),t(k,{errorMessage:i})]})},[re.UnknownType]:null},xo=({ruleType:e,value:a,setValue:n,formErrors:o})=>{if(!e)return null;const l=To[e];return l?t(l,{value:a,setValue:n,formErrors:o}):null},Do={disabled:!1,ruleName:"",notes:"",workloads:null,instrumentationLibraries:null,payloadCollection:null,codeAttributes:null,headersCollection:null,customInstrumentations:null},No=s({selectedOption:null,onSelectOption:()=>{},genericForm:void 0,validateFormData:()=>({preparedFormData:z(Do)}),errorMessage:void 0}),Ao=({children:e})=>{const[a,n]=l(null),[o,i]=l(void 0),s=F(Do),c=r(e=>{s.resetFormData(),s.handleErrorChange(void 0,void 0,{}),i(void 0),n(e)},[]),d=r(()=>{if(!a)return{errorMessage:"No rule type selected",preparedFormData:z(Do)};const e=(e=>{const t=z(e);return t.headersCollection?.[te.HeaderKeys]?.length&&(t.headersCollection[te.HeaderKeys]=t.headersCollection[te.HeaderKeys].map(e=>e.trim()).filter(e=>e)),t.customInstrumentations?.[le.Golang]?.length&&(t.customInstrumentations[le.Golang]=t.customInstrumentations[le.Golang].map(e=>new ne(e.packageName,e.functionName,e.receiverName,e.receiverMethodName)).filter(e=>e.Verify())),t.customInstrumentations?.[le.Java]?.length&&(t.customInstrumentations[le.Java]=t.customInstrumentations[le.Java].map(e=>new oe(e.className,e.methodName)).filter(e=>e.Verify())),t})(s.formData),t={};switch(a.type){case re.CodeAttributes:Object.values(e.codeAttributes||{}).some(e=>null!=e)||(t.codeAttributes="Code attributes are required");break;case re.PayloadCollection:Object.values(e.payloadCollection||{}).some(e=>null!=e)||(t.payloadCollection="Payload collection are required");break;case re.HeadersCollection:e.headersCollection?.[te.HeaderKeys]?.length||(t.headersCollection="Header keys are required");break;case re.CustomInstrumentation:e.customInstrumentations?.[le.Golang]?.length||e.customInstrumentations?.[le.Java]?.length||(t.customInstrumentations="Custom instrumentation are required")}s.handleErrorChange(void 0,void 0,t);const n=Object.keys(t).length>0?"Invalid form values":void 0;return i(n),{errorMessage:n,preparedFormData:e}},[s,a]);return t(No.Provider,{value:{selectedOption:a,onSelectOption:c,genericForm:s,validateFormData:d,errorMessage:o},children:e})},Io=()=>i(No),Eo=()=>{const a=m(),{selectedOption:n,genericForm:o}=Io();if(!o||!n)return t(V,{title:"No active form"});const{formData:l,handleFormChange:r,formErrors:i}=o;return e(h,{$gap:24,children:[e(g,{$gap:12,$justifyContent:"space-between",children:[t(v,{size:b.XXS,children:n.docsDescription}),t(P,{label:"Docs",leftIcon:en,variant:O.Text,size:$.S,onClick:()=>window.open(`${X}${n.docsEndpoint}`,"_blank","noopener noreferrer")})]}),e(g,{$gap:12,children:[t(v,{size:b.XS,color:a.v2.colors.silver[200],nowrap:!0,children:"Supported Languages:"}),n.supportedLanguages.map(e=>t(ie,{label:se[e],leftIcon:ce(e),status:Q.Default,useSecondaryTone:!0},e))]}),t(B,{options:[{icon:tn,label:"Enabled",value:!1,selectedBgColor:a.v2.colors.green[800]},{icon:an,label:"Disabled",value:!0,selectedBgColor:a.v2.colors.red[800]}],selected:l.disabled,setSelected:e=>r("disabled",e)}),t(w,{name:"ruleName",label:"Rule name",placeholder:"Use a name that describes the rule...",value:l.ruleName,onChange:({target:{value:e}})=>r("ruleName",e),errorMessage:i.ruleName}),t(xo,{ruleType:n.type,value:l,setValue:(e,t)=>r(e,t),formErrors:i}),t(_,{name:"notes",label:"Notes",placeholder:"Your personal notes...",value:l.notes,onChange:({target:{value:e}})=>r("notes",e),errorMessage:i.notes})]})},Ro=s({isFetching:!1,formData:[],handleSourceChange:()=>{},handleSelectAll:()=>{},formDiff:{},isFormDirty:!1}),Po=({children:e,selectedConnectionIds:a,getAllClusterSnapshots:o,fetchNamespacesWithWorkloads:i,initialInputs:s})=>{const{tier:d}=de(),u=d===fe.Onprem,{selectedStreamName:p}=j(),[m,h]=l(!1),[g,f]=l(null),v=r(async()=>{try{if(h(!0),o){const e=await o();e&&f(e)}else if(i){const e=await i();e.data?.length&&f({clusters:[{clusterId:pe,clusterName:ue,namespaces:e.data.map(e=>({name:e.name,selected:e.selected,workloads:e.sources?.map(e=>({namespace:e.namespace,name:e.name,kind:e.kind,selected:e.selected}))||[]}))}]})}}catch(e){}finally{h(!1)}},[]);n(()=>{v()},[]);const[b,y]=l([]);n(()=>{g&&y(e=>{const t=((e,t)=>z(((e,t)=>e.clusters.filter(({clusterId:e})=>!t||t.includes(e)))(e,t)))(g,a);return t.map(t=>{const a=e?.find(e=>e.clusterId===t.clusterId),n=a??t;if(s?.[t.clusterId]){const e=s[t.clusterId],a=z(n);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=>{me.has(e.kind)&&!u||(e.selected=!0)})}),a}return n})})},[g,a,s]);const{formDiff:S,isFormDirty:C}=c(()=>{const e=((e,t,a)=>{const n={};return e.forEach(e=>{e.namespaces.forEach(o=>{const l=t.find(t=>t.clusterId===e.clusterId)?.namespaces.find(e=>e.name===o.name),r=o.selected||!1,i=r!==l?.selected;if(i&&(n[e.clusterId]||(n[e.clusterId]=[]),n[e.clusterId].push({namespace:o.name,selected:r,currentStreamName:a}),r&&(n[e.clusterId]=n[e.clusterId].filter(e=>e.namespace!==o.name||e.namespace===o.name&&(!e.name||!e.kind)))),!i||!r){const t=((e,t,a)=>{const n=[];return t.workloads.forEach(o=>{const l=e?.workloads.find(e=>e.name===o.name&&e.kind===o.kind);o.selected!==l?.selected&&n.push({namespace:t.name,name:o.name,kind:o.kind,selected:o.selected||!1,currentStreamName:a})}),n})(l,o,a);t.length>0&&(n[e.clusterId]||(n[e.clusterId]=[]),n[e.clusterId].push(...t))}})}),n})(b,g?.clusters||[],p);return{formDiff:e,isFormDirty:Object.keys(e).length>0}},[b,g,p]),k=r(e=>!u&&me.has(e),[u]),w=r(({clusterId:e,workloadId:t,selected:a,auto:n})=>{y(o=>{const l=z(o),r=l.findIndex(t=>t.clusterId===e);if(-1===r)return l;const i=l[r].namespaces.findIndex(e=>e.name===t.namespace);if(-1===i)return l;if(t.kind&&t.name){const e=l[r].namespaces[i].workloads.findIndex(e=>e.name===t.name&&e.kind===t.kind);if(-1===e)return l;const n="boolean"==typeof a?a:!l[r].namespaces[i].workloads[e].selected;if(l[r].namespaces[i].workloads[e].selected=n,n){l[r].namespaces[i].workloads.filter(e=>!k(e.kind)).every(e=>e.selected)&&(l[r].namespaces[i].selected=!0)}else l[r].namespaces[i].selected=!1}else{const e="boolean"==typeof n?n:!l[r].namespaces[i].selected;l[r].namespaces[i].selected=e,e?l[r].namespaces[i].workloads.forEach(e=>{k(e.kind)||(e.selected=!0)}):"boolean"!=typeof a||a||l[r].namespaces[i].workloads.forEach(e=>{e.selected=!1})}return l})},[k]),T=r(({clusterId:e,namespaceName:t,boolean:a,searchText:n="",searchBy:o="",filters:l})=>{y(r=>{const i=z(r),s=o===ve.Namespace?n:"",c=o===ve.Source?n:"",d=!!s||!!c||!!l?.showOnlySelected;return i.forEach((n,o)=>{e&&n.clusterId!==e||n.namespaces.forEach(({name:e,workloads:n},r)=>{if(!t||e===t)if(d)if(t){n.forEach((e,t)=>{a&&k(e.kind)||he(e,c,l||{showOnlySelected:!1})&&(i[o].namespaces[r].workloads[t].selected=a)});const e=i[o].namespaces[r].workloads.filter(e=>!k(e.kind)).every(e=>e.selected);i[o].namespaces[r].selected=e}else{if(!ge(i[o].namespaces[r],s,l||{showOnlySelected:!1}))return;i[o].namespaces[r].selected=a,n.forEach((e,t)=>{a&&k(e.kind)||(i[o].namespaces[r].workloads[t].selected=a)})}else i[o].namespaces[r].selected=a,n.forEach((e,t)=>{a&&k(e.kind)||(i[o].namespaces[r].workloads[t].selected=a)})})}),i})},[k]);return t(Ro.Provider,{value:{isFetching:m,formData:b,handleSourceChange:w,handleSelectAll:T,formDiff:S,isFormDirty:C},children:e})},$o=()=>i(Ro),Oo=p.div`
29
29
  display: flex;
30
30
  align-items: flex-end;
31
31
  gap: 16px;
32
- `,Oo=p.div`
32
+ `,Mo=p.div`
33
33
  width: 280px;
34
34
  flex-shrink: 0;
35
- `,Mo=p.div`
35
+ `,Lo=p.div`
36
36
  display: flex;
37
37
  flex-direction: column;
38
38
  gap: 4px;
39
39
  `,Fo=p.div`
40
40
  flex: 1;
41
41
  min-width: 0;
42
- `,Lo=[{value:"Relevance",label:"Relevance"},{value:"Error",label:"Error"},{value:"Duration",label:"Duration"}],zo=({category:a,formState:n,onChange:o})=>{const l=r(e=>o({name:e.target.value}),[o]),i=r(e=>o({notes:e.target.value}),[o]),s=r(e=>{o({ruleType:e,keepErrors:"Error"===e})},[o]);return t(be,{children:e($o,{children:[t(Oo,{children:t(w,{name:"sampling-input-rule-name",label:Se,tooltip:"Optional. Give this rule a name for easier identification.",placeholder:ye,value:n.name,onChange:l})}),"highlyRelevant"===a&&e(Mo,{children:[t(C,{label:Ce}),t(B,{size:ke.S,options:Lo,selected:n.ruleType,setSelected:s})]}),t(Fo,{children:t(w,{name:"sampling-input-note",label:xe,tooltip:Te,placeholder:we,value:n.notes,onChange:i})})]})})},Vo=p.div`
42
+ `,zo=[{value:"Relevance",label:"Relevance"},{value:"Error",label:"Error"},{value:"Duration",label:"Duration"}],Vo=({category:a,formState:n,onChange:o})=>{const l=r(e=>o({name:e.target.value}),[o]),i=r(e=>o({notes:e.target.value}),[o]),s=r(e=>{o({ruleType:e,keepErrors:"Error"===e})},[o]);return t(be,{children:e(Oo,{children:[t(Mo,{children:t(w,{name:"sampling-input-rule-name",label:Se,tooltip:"Optional. Give this rule a name for easier identification.",placeholder:ye,value:n.name,onChange:l})}),"highlyRelevant"===a&&e(Lo,{children:[t(C,{label:Ce}),t(B,{size:ke.S,options:zo,selected:n.ruleType,setSelected:s})]}),t(Fo,{children:t(w,{name:"sampling-input-note",label:xe,tooltip:Te,placeholder:we,value:n.notes,onChange:i})})]})})},Xo=p.div`
43
43
  display: flex;
44
44
  flex-wrap: wrap;
45
45
  align-items: flex-end;
46
46
  gap: 16px;
47
- `,Xo=p.div`
47
+ `,Bo=p.div`
48
48
  display: flex;
49
49
  align-items: flex-end;
50
50
  gap: 16px;
51
51
  padding: 12px 16px;
52
52
  border-radius: 8px;
53
53
  background-color: ${({theme:e})=>e.v2.colors.black[500]};
54
- `,Bo=p.div`
54
+ `,_o=p.div`
55
55
  display: flex;
56
56
  align-items: flex-end;
57
57
  gap: 10px;
58
58
  flex: 1;
59
- `,_o=p.div`
59
+ `,Uo=p.div`
60
60
  display: flex;
61
61
  align-items: center;
62
62
  height: 32px;
63
- `,Uo=p.div`
63
+ `,jo=p.div`
64
64
  display: flex;
65
65
  align-items: center;
66
66
  height: 32px;
67
- `,jo=()=>t(Uo,{children:t(v,{size:b.XS,weight:500,children:"And"})}),Ho=[{value:"all",label:"All operations"},{value:"httpServer",label:"HTTP server"},{value:"httpClient",label:"HTTP client"}],Wo=[{value:"all",label:"All operations"},{value:"httpServer",label:"HTTP server"},{value:"kafkaConsumer",label:"Kafka consumer"},{value:"kafkaProducer",label:"Kafka producer"}],Ko=[{id:"",label:"Any method"},{id:"GET",label:"GET"},{id:"POST",label:"POST"},{id:"PUT",label:"PUT"},{id:"DELETE",label:"DELETE"},{id:"PATCH",label:"PATCH"}],Go=({category:n,formState:o,onChange:l})=>{const i=c(()=>"noisy"===n?Ho:Wo,[n]),s=r(e=>l({operationType:e,route:"",serverAddress:"",method:"",kafkaTopic:""}),[l]),d=r(e=>t=>{t&&l({routeType:e,route:""})},[l]),u=r(e=>l({route:e.target.value}),[l]),p=r(e=>l({serverAddress:e.target.value}),[l]),m=r(e=>l({method:e[0]||""}),[l]),h=r(e=>l({kafkaTopic:e.target.value}),[l]),g="httpServer"===o.operationType||"httpClient"===o.operationType,f="kafkaConsumer"===o.operationType||"kafkaProducer"===o.operationType,v="httpClient"===o.operationType?Pe:$e,b="httpClient"===o.operationType?Oe:Me;return e(be,{richTitle:{title:Ne,subTitle:De},children:[t(B,{size:ke.S,options:i,selected:o.operationType,setSelected:s}),g&&e(Vo,{children:["httpClient"===o.operationType&&e(a,{children:[t("div",{style:{flex:1},children:t(w,{name:"sampling-input-server-address",label:Ie,placeholder:Ae,value:o.serverAddress,onChange:p})}),t(jo,{})]}),e(Xo,{children:[e(Bo,{children:[t(_o,{children:t(Ee,{"data-id":"sampling-radio-route",value:"route"===o.routeType,onChange:d("route")})}),t(w,{name:"sampling-input-route",label:v,placeholder:Re,value:"route"===o.routeType?o.route:"",onChange:u,disabled:"route"!==o.routeType})]}),e(Bo,{children:[t(_o,{children:t(Ee,{"data-id":"sampling-radio-route-prefix",value:"routePrefix"===o.routeType,onChange:d("routePrefix")})}),t(w,{name:"sampling-input-route-prefix",label:b,placeholder:Re,value:"routePrefix"===o.routeType?o.route:"",onChange:u,disabled:"routePrefix"!==o.routeType})]})]}),t(jo,{}),t(Fe,{items:Ko,selectedIds:[o.method||""],setSelectedIds:e=>m(e),buttonProps:{"data-id":"sampling-btn-method",label:Ko.find(e=>e.id===o.method)?.label||"Any method",size:$.S,variant:O.Secondary}})]}),f&&t(w,{name:"sampling-input-kafka-topic",label:Le,placeholder:"Type kafka topic",value:o.kafkaTopic,onChange:h,width:"320px"})]})},qo=p.div`
67
+ `,Ho=()=>t(jo,{children:t(v,{size:b.XS,weight:500,children:"And"})}),Wo=[{value:"all",label:"All operations"},{value:"httpServer",label:"HTTP server"},{value:"httpClient",label:"HTTP client"}],Ko=[{value:"all",label:"All operations"},{value:"httpServer",label:"HTTP server"},{value:"kafkaConsumer",label:"Kafka consumer"},{value:"kafkaProducer",label:"Kafka producer"}],Go=[{id:"",label:"Any method"},{id:"GET",label:"GET"},{id:"POST",label:"POST"},{id:"PUT",label:"PUT"},{id:"DELETE",label:"DELETE"},{id:"PATCH",label:"PATCH"}],qo=({category:n,formState:o,onChange:l})=>{const i=c(()=>"noisy"===n?Wo:Ko,[n]),s=r(e=>l({operationType:e,route:"",serverAddress:"",method:"",kafkaTopic:""}),[l]),d=r(e=>t=>{t&&l({routeType:e,route:""})},[l]),u=r(e=>l({route:e.target.value}),[l]),p=r(e=>l({serverAddress:e.target.value}),[l]),m=r(e=>l({method:e[0]||""}),[l]),h=r(e=>l({kafkaTopic:e.target.value}),[l]),g="httpServer"===o.operationType||"httpClient"===o.operationType,f="kafkaConsumer"===o.operationType||"kafkaProducer"===o.operationType,v="httpClient"===o.operationType?Pe:$e,b="httpClient"===o.operationType?Oe:Me;return e(be,{richTitle:{title:Ne,subTitle:De},children:[t(B,{size:ke.S,options:i,selected:o.operationType,setSelected:s}),g&&e(Xo,{children:["httpClient"===o.operationType&&e(a,{children:[t("div",{style:{flex:1},children:t(w,{name:"sampling-input-server-address",label:Ie,placeholder:Ae,value:o.serverAddress,onChange:p})}),t(Ho,{})]}),e(Bo,{children:[e(_o,{children:[t(Uo,{children:t(Ee,{"data-id":"sampling-radio-route",value:"route"===o.routeType,onChange:d("route")})}),t(w,{name:"sampling-input-route",label:v,placeholder:Re,value:"route"===o.routeType?o.route:"",onChange:u,disabled:"route"!==o.routeType})]}),e(_o,{children:[t(Uo,{children:t(Ee,{"data-id":"sampling-radio-route-prefix",value:"routePrefix"===o.routeType,onChange:d("routePrefix")})}),t(w,{name:"sampling-input-route-prefix",label:b,placeholder:Re,value:"routePrefix"===o.routeType?o.route:"",onChange:u,disabled:"routePrefix"!==o.routeType})]})]}),t(Ho,{}),t(Le,{items:Go,selectedIds:[o.method||""],setSelectedIds:e=>m(e),buttonProps:{"data-id":"sampling-btn-method",label:Go.find(e=>e.id===o.method)?.label||"Any method",size:$.S,variant:O.Secondary}})]}),f&&t(w,{name:"sampling-input-kafka-topic",label:Fe,placeholder:"Type kafka topic",value:o.kafkaTopic,onChange:h,width:"320px"})]})},Yo=p.div`
68
68
  display: flex;
69
69
  align-items: flex-end;
70
70
  gap: 16px;
71
- `,Yo=[{value:"all",label:"drop all"},{value:"sample",label:"sample"}],Jo=[{value:"all",label:"keep all"},{value:"sample",label:"sample"}],Qo=[{value:"50",label:"50%"},{value:"25",label:"25%"},{value:"10",label:"10%"},{value:"1",label:"1%"},{value:"custom",label:"Custom"}],Zo=[{value:"10",label:"10%"},{value:"1",label:"1%"},{value:"0.5",label:"0.5%"},{value:"0.1",label:"0.1%"},{value:"custom",label:"Custom"}],el=({category:n,formState:o,onChange:l})=>{const i="highlyRelevant"===n,s=i?Jo:Yo,c=i?Xe:Be,d=i?ze:Ve,u=i?_e:Ue,p="noisy"===n?Zo:Qo,m=r(e=>l({percentageMode:e}),[l]),h=r(e=>l({percentagePreset:e}),[l]),g=r(e=>l({customPercentage:e.target.value}),[l]);return e(be,{richTitle:{title:c,subTitle:d},children:["costReduction"!==n&&t(B,{size:ke.S,options:s,selected:o.percentageMode,setSelected:m}),("costReduction"===n||"sample"===o.percentageMode)&&e(a,{children:[t(v,{size:b.XXXS,children:u}),e(qo,{children:[t(B,{size:ke.S,options:p,selected:o.percentagePreset,setSelected:h}),"custom"===o.percentagePreset&&t(w,{name:"sampling-input-custom-percentage",label:je,placeholder:"5%",type:T.Number,value:o.customPercentage,onChange:g,width:160})]})]})]})},tl=p.div`
71
+ `,Jo=[{value:"all",label:"drop all"},{value:"sample",label:"sample"}],Qo=[{value:"all",label:"keep all"},{value:"sample",label:"sample"}],Zo=[{value:"50",label:"50%"},{value:"25",label:"25%"},{value:"10",label:"10%"},{value:"1",label:"1%"},{value:"custom",label:"Custom"}],el=[{value:"10",label:"10%"},{value:"1",label:"1%"},{value:"0.5",label:"0.5%"},{value:"0.1",label:"0.1%"},{value:"custom",label:"Custom"}],tl=({category:n,formState:o,onChange:l})=>{const i="highlyRelevant"===n,s=i?Qo:Jo,c=i?Xe:Be,d=i?ze:Ve,u=i?_e:Ue,p="noisy"===n?el:Zo,m=r(e=>l({percentageMode:e}),[l]),h=r(e=>l({percentagePreset:e}),[l]),g=r(e=>l({customPercentage:e.target.value}),[l]);return e(be,{richTitle:{title:c,subTitle:d},children:["costReduction"!==n&&t(B,{size:ke.S,options:s,selected:o.percentageMode,setSelected:m}),("costReduction"===n||"sample"===o.percentageMode)&&e(a,{children:[t(v,{size:b.XXXS,children:u}),e(Yo,{children:[t(B,{size:ke.S,options:p,selected:o.percentagePreset,setSelected:h}),"custom"===o.percentagePreset&&t(w,{name:"sampling-input-custom-percentage",label:je,placeholder:"5%",type:T.Number,value:o.customPercentage,onChange:g,width:160})]})]})]})},al=p.div`
72
72
  display: flex;
73
73
  flex-wrap: wrap;
74
74
  gap: 8px;
75
- `,al=p.div`
75
+ `,nl=p.div`
76
76
  display: flex;
77
77
  align-items: center;
78
78
  gap: 8px;
@@ -85,18 +85,18 @@ import{jsxs as e,jsx as t,Fragment as a}from"react/jsx-runtime";import{useEffect
85
85
  &:hover {
86
86
  background: ${({theme:e})=>e.v2.colors.silver[700]};
87
87
  }
88
- `,nl=p.div`
88
+ `,ol=p.div`
89
89
  display: flex;
90
90
  width: 32px;
91
91
  height: 32px;
92
92
  justify-content: center;
93
93
  align-items: center;
94
94
  flex-shrink: 0;
95
- `,ol=p.div`
95
+ `,ll=p.div`
96
96
  display: flex;
97
97
  flex-wrap: wrap;
98
98
  gap: 8px;
99
- `,ll=p.div`
99
+ `,rl=p.div`
100
100
  display: flex;
101
101
  align-items: center;
102
102
  gap: 6px;
@@ -104,7 +104,7 @@ import{jsxs as e,jsx as t,Fragment as a}from"react/jsx-runtime";import{useEffect
104
104
  border-radius: 8px;
105
105
  background-color: ${({theme:e})=>e.v2.colors.silver[700]};
106
106
  border: 1px solid ${({theme:e})=>e.v2.colors.silver[500]};
107
- `,rl=p.div`
107
+ `,il=p.div`
108
108
  display: flex;
109
109
  align-items: center;
110
110
  cursor: pointer;
@@ -112,21 +112,21 @@ import{jsxs as e,jsx as t,Fragment as a}from"react/jsx-runtime";import{useEffect
112
112
  &:hover {
113
113
  opacity: 1;
114
114
  }
115
- `,il={[Je.JavaScript]:"Node.js",[Je.DotNet]:".NET",[Je.Php]:"PHP"},sl=[Je.Python,Je.Java,Je.JavaScript,Je.DotNet,Je.Php,Je.Ruby,Je.Go].map(e=>({id:e,label:il[e]??e.charAt(0).toUpperCase()+e.slice(1),Icon:ce(e)})),cl=[{value:"all",label:"Entire Cluster"},{value:"source",label:"Specific source"},{value:"namespace",label:"Specific Namespace"},{value:"language",label:"Specific programming language"}];function dl(e){if("source"===e.scopeType){return[e.workloadNamespace,e.workloadKind,e.workloadName].filter(Boolean).join(" / ")}if("namespace"===e.scopeType)return`namespace: ${e.workloadNamespace}`;if("language"===e.scopeType){return`language: ${il[e.workloadLanguage]??e.workloadLanguage}`}return"Entire Cluster"}const ul=({formState:a,onChange:n,sourceOptions:o=[],namespaceOptions:i=[]})=>{const s=m(),[d,u]=l("all"),p=a.sourceScopes.length>0,h=c(()=>cl.map(e=>({...e,disabled:"all"===e.value&&p})),[p]),g=r(e=>{u(e)},[]),y=r(e=>{if(!e)return;const t=function(e){const t=e.split("/");return 3!==t.length?null:{namespace:t[0],kind:t[1],name:t[2]}}(e.id);if(!t)return;const o={scopeType:"source",workloadName:t.name,workloadKind:t.kind,workloadNamespace:t.namespace,workloadLanguage:""};n({sourceScopes:[...a.sourceScopes,o]})},[a.sourceScopes,n]),S=r(e=>{if(!e)return;const t={scopeType:"namespace",workloadName:"",workloadKind:"",workloadNamespace:e.id,workloadLanguage:""};n({sourceScopes:[...a.sourceScopes,t]})},[a.sourceScopes,n]),C=r(e=>{const t={scopeType:"language",workloadName:"",workloadKind:"",workloadNamespace:"",workloadLanguage:e};n({sourceScopes:[...a.sourceScopes,t]})},[a.sourceScopes,n]),k=r(e=>{const t=a.sourceScopes.filter((t,a)=>a!==e);n({sourceScopes:t})},[a.sourceScopes,n]),w=c(()=>{const e=new Set(a.sourceScopes.filter(e=>"source"===e.scopeType).map(e=>{return t=e.workloadNamespace,a=e.workloadKind,n=e.workloadName,`${t}/${a}/${n}`;var t,a,n}));return o.filter(t=>!e.has(t.id))},[o,a.sourceScopes]),T=c(()=>{const e=new Set(a.sourceScopes.filter(e=>"namespace"===e.scopeType).map(e=>e.workloadNamespace));return i.filter(t=>!e.has(t.id))},[i,a.sourceScopes]),x=c(()=>{const e=new Set(a.sourceScopes.filter(e=>"language"===e.scopeType).map(e=>e.workloadLanguage));return sl.filter(t=>!e.has(t.id))},[a.sourceScopes]),D=!p&&"all"===d;return e(be,{richTitle:{title:We,subTitle:He},children:[p&&t(ol,{children:a.sourceScopes.map((a,n)=>e(ll,{children:[t(v,{size:b.XXXS,color:s.v2.colors.white[500],nowrap:!0,children:dl(a)}),t(rl,{"data-id":`sampling-scope-remove-${n}`,onClick:()=>k(n),children:t(rn,{size:12,fill:s.v2.colors.grey[400]})})]},n))}),t(B,{size:ke.S,options:h,selected:d,setSelected:g}),D&&t(J,{status:Q.Default,message:Ke,fullWidth:!0}),"source"===d&&t(Ge,{"data-id":"sampling-autocomplete-source",options:w,value:"",onSelect:y,placeholder:qe}),"namespace"===d&&t(Ge,{"data-id":"sampling-autocomplete-namespace",options:T,value:"",onSelect:S,placeholder:"Search namespace"}),"language"===d&&t(tl,{children:x.map(({id:a,label:n,Icon:o})=>e(al,{$selected:!1,onClick:()=>C(a),children:[t(f,{name:`sampling-scope-lang-${a}`,size:Ye.S,value:!1,onChange:()=>C(a)}),t(nl,{children:t(o,{size:20})}),t(v,{size:b.XS,nowrap:!0,children:n})]},a))})]})};function pl(e){return{name:"",notes:"",disabled:!1,ruleType:"Relevance",sourceScopes:[],operationType:"all",routeType:"route",route:"",serverAddress:"",method:"",kafkaTopic:"",durationPreset:"500",customDurationMs:"",keepErrors:!1,percentageMode:"costReduction"===e?"sample":"all",percentagePreset:"noisy"===e?"10":"50",customPercentage:""}}const ml=s({category:"noisy",formData:pl("noisy"),handleChange:()=>{},resetForm:()=>{},duplicateWarning:null,setDuplicateWarning:()=>{},sourceOptions:[],namespaceOptions:[]}),hl=({category:e,sourceOptions:a=[],namespaceOptions:o=[],children:i})=>{const{formData:s,handleFormChange:c,resetFormData:d}=L(pl(e)),[u,p]=l(null);n(()=>{d(pl(e)),p(null)},[e]);const m=r(e=>{p(null),c(void 0,void 0,{...s,...e})},[s,c]),h=r(()=>{d(pl(e)),p(null)},[e,d]);return t(ml.Provider,{value:{category:e,formData:s,handleChange:m,resetForm:h,duplicateWarning:u,setDuplicateWarning:p,sourceOptions:a,namespaceOptions:o},children:i})},gl=()=>i(ml),fl=p.div`
115
+ `,sl={[Je.JavaScript]:"Node.js",[Je.DotNet]:".NET",[Je.Php]:"PHP"},cl=[Je.Python,Je.Java,Je.JavaScript,Je.DotNet,Je.Php,Je.Ruby,Je.Go].map(e=>({id:e,label:sl[e]??e.charAt(0).toUpperCase()+e.slice(1),Icon:ce(e)})),dl=[{value:"all",label:"Entire Cluster"},{value:"source",label:"Specific source"},{value:"namespace",label:"Specific Namespace"},{value:"language",label:"Specific programming language"}];function ul(e){if("source"===e.scopeType){return[e.workloadNamespace,e.workloadKind,e.workloadName].filter(Boolean).join(" / ")}if("namespace"===e.scopeType)return`namespace: ${e.workloadNamespace}`;if("language"===e.scopeType){return`language: ${sl[e.workloadLanguage]??e.workloadLanguage}`}return"Entire Cluster"}const pl=({formState:a,onChange:n,sourceOptions:o=[],namespaceOptions:i=[]})=>{const s=m(),[d,u]=l("all"),p=a.sourceScopes.length>0,h=c(()=>dl.map(e=>({...e,disabled:"all"===e.value&&p})),[p]),g=r(e=>{u(e)},[]),y=r(e=>{if(!e)return;const t=function(e){const t=e.split("/");return 3!==t.length?null:{namespace:t[0],kind:t[1],name:t[2]}}(e.id);if(!t)return;const o={scopeType:"source",workloadName:t.name,workloadKind:t.kind,workloadNamespace:t.namespace,workloadLanguage:""};n({sourceScopes:[...a.sourceScopes,o]})},[a.sourceScopes,n]),S=r(e=>{if(!e)return;const t={scopeType:"namespace",workloadName:"",workloadKind:"",workloadNamespace:e.id,workloadLanguage:""};n({sourceScopes:[...a.sourceScopes,t]})},[a.sourceScopes,n]),C=r(e=>{const t={scopeType:"language",workloadName:"",workloadKind:"",workloadNamespace:"",workloadLanguage:e};n({sourceScopes:[...a.sourceScopes,t]})},[a.sourceScopes,n]),k=r(e=>{const t=a.sourceScopes.filter((t,a)=>a!==e);n({sourceScopes:t})},[a.sourceScopes,n]),w=c(()=>{const e=new Set(a.sourceScopes.filter(e=>"source"===e.scopeType).map(e=>{return t=e.workloadNamespace,a=e.workloadKind,n=e.workloadName,`${t}/${a}/${n}`;var t,a,n}));return o.filter(t=>!e.has(t.id))},[o,a.sourceScopes]),T=c(()=>{const e=new Set(a.sourceScopes.filter(e=>"namespace"===e.scopeType).map(e=>e.workloadNamespace));return i.filter(t=>!e.has(t.id))},[i,a.sourceScopes]),x=c(()=>{const e=new Set(a.sourceScopes.filter(e=>"language"===e.scopeType).map(e=>e.workloadLanguage));return cl.filter(t=>!e.has(t.id))},[a.sourceScopes]),D=!p&&"all"===d;return e(be,{richTitle:{title:We,subTitle:He},children:[p&&t(ll,{children:a.sourceScopes.map((a,n)=>e(rl,{children:[t(v,{size:b.XXXS,color:s.v2.colors.white[500],nowrap:!0,children:ul(a)}),t(il,{"data-id":`sampling-scope-remove-${n}`,onClick:()=>k(n),children:t(sn,{size:12,fill:s.v2.colors.grey[400]})})]},n))}),t(B,{size:ke.S,options:h,selected:d,setSelected:g}),D&&t(J,{status:Q.Default,message:Ke,fullWidth:!0}),"source"===d&&t(Ge,{"data-id":"sampling-autocomplete-source",options:w,value:"",onSelect:y,placeholder:qe}),"namespace"===d&&t(Ge,{"data-id":"sampling-autocomplete-namespace",options:T,value:"",onSelect:S,placeholder:"Search namespace"}),"language"===d&&t(al,{children:x.map(({id:a,label:n,Icon:o})=>e(nl,{$selected:!1,onClick:()=>C(a),children:[t(f,{name:`sampling-scope-lang-${a}`,size:Ye.S,value:!1,onChange:()=>C(a)}),t(ol,{children:t(o,{size:20})}),t(v,{size:b.XS,nowrap:!0,children:n})]},a))})]})};function ml(e){return{name:"",notes:"",disabled:!1,ruleType:"Relevance",sourceScopes:[],operationType:"all",routeType:"route",route:"",serverAddress:"",method:"",kafkaTopic:"",durationPreset:"500",customDurationMs:"",keepErrors:!1,percentageMode:"costReduction"===e?"sample":"all",percentagePreset:"noisy"===e?"10":"50",customPercentage:""}}const hl=s({category:"noisy",formData:ml("noisy"),handleChange:()=>{},resetForm:()=>{},duplicateWarning:null,setDuplicateWarning:()=>{},sourceOptions:[],namespaceOptions:[]}),gl=({category:e,sourceOptions:a=[],namespaceOptions:o=[],children:i})=>{const{formData:s,handleFormChange:c,resetFormData:d}=F(ml(e)),[u,p]=l(null);n(()=>{d(ml(e)),p(null)},[e]);const m=r(e=>{p(null),c(void 0,void 0,{...s,...e})},[s,c]),h=r(()=>{d(ml(e)),p(null)},[e,d]);return t(hl.Provider,{value:{category:e,formData:s,handleChange:m,resetForm:h,duplicateWarning:u,setDuplicateWarning:p,sourceOptions:a,namespaceOptions:o},children:i})},fl=()=>i(hl),vl=p.div`
116
116
  display: flex;
117
117
  gap: 12px;
118
- `,vl=p.div`
118
+ `,bl=p.div`
119
119
  display: flex;
120
120
  align-items: flex-end;
121
121
  gap: 16px;
122
- `,bl=[{value:"5000",label:"5s"},{value:"1000",label:"1s"},{value:"500",label:"500ms"},{value:"100",label:"100ms"},{value:"50",label:"50ms"},{value:"custom",label:"Custom"}],yl=()=>{},Sl=({ruleType:a,formState:n,onChange:o})=>{const l=r(e=>o({durationPreset:e}),[o]),i=r(e=>o({customDurationMs:e.target.value}),[o]);return"Relevance"===a?null:e(fl,{children:["Duration"===a&&t("div",{style:{flex:1},children:e(be,{richTitle:{title:Ze,subTitle:Qe},children:[t(v,{size:b.XXXS,children:et}),e(vl,{children:[t(B,{size:ke.S,options:bl,selected:n.durationPreset,setSelected:l}),"custom"===n.durationPreset&&t(w,{name:"sampling-input-custom-duration",label:tt,placeholder:"200ms",type:T.Number,value:n.customDurationMs,onChange:i,width:160})]})]})}),"Error"===a&&t("div",{style:{flex:1},children:t(be,{richTitle:{title:nt,subTitle:at},children:t(A,{name:"sampling-toggle-keep-errors",value:!0,onChange:yl,size:lt.S,label:ot,labelAlign:I.Right})})})]})};function Cl(e){if(!e.sourceScopes.length)return;const t=[];for(const a of e.sourceScopes)if("source"===a.scopeType&&a.workloadName){const e={workloadName:a.workloadName};a.workloadKind&&(e.workloadKind=a.workloadKind),a.workloadNamespace&&(e.workloadNamespace=a.workloadNamespace),t.push(e)}else"namespace"===a.scopeType&&a.workloadNamespace?t.push({workloadNamespace:a.workloadNamespace}):"language"===a.scopeType&&a.workloadLanguage&&t.push({workloadLanguage:a.workloadLanguage});return t.length?t:void 0}function kl(e){if("all"===e.percentageMode)return null;if("custom"===e.percentagePreset){const t=parseFloat(e.customPercentage);return isNaN(t)?null:t}return parseFloat(e.percentagePreset)}function wl(e){if("custom"===e.durationPreset){const t=parseFloat(e.customDurationMs);return isNaN(t)?null:t}return parseInt(e.durationPreset,10)}function Tl(e){return{httpServer:{[e.routeType]:e.route||null,method:e.method||null}}}function xl(e){return"all"===e.operationType?null:"httpServer"===e.operationType?Tl(e):"httpClient"===e.operationType?{httpClient:{serverAddress:e.serverAddress||null,["route"===e.routeType?"templatedPath":"templatedPathPrefix"]:e.route||null,method:e.method||null}}:null}function Dl(e){return"all"===e.operationType?null:"httpServer"===e.operationType?Tl(e):"kafkaConsumer"===e.operationType?{kafkaConsumer:{kafkaTopic:e.kafkaTopic||null}}:"kafkaProducer"===e.operationType?{kafkaProducer:{kafkaTopic:e.kafkaTopic||null}}:null}var Nl;!function(e){e.Noisy="noisy",e.HighlyRelevant="highly-relevant",e.CostReduction="cost-reduction"}(Nl||(Nl={}));const Al=[{value:Nl.Noisy,label:"Noisy Operations",tooltip:"Rules that reduce noise from high-volume, low-value operations"},{value:Nl.HighlyRelevant,label:"Highly Relevant Operations",tooltip:"Rules that prioritize important traces for retention"},{value:Nl.CostReduction,label:"Cost Reduction",tooltip:"Rules that optimize costs by sampling less critical data"}],Il={[Nl.Noisy]:"This is the most efficient way to sample (with Head Sampling). Prefer to use it where possible.",[Nl.HighlyRelevant]:'Any trace from the "Noisy Operations" category is sampled prior to checking highly relevance.',[Nl.CostReduction]:"Cost reduction rules use Tail Sampling to drop traces that are unlikely to be useful for debugging or monitoring."},El={[Nl.Noisy]:"Noisy Operations rules list",[Nl.HighlyRelevant]:"Highly Relevant Operations rules list",[Nl.CostReduction]:"Cost Reduction rules list"},Rl={[Nl.Noisy]:"noisy",[Nl.HighlyRelevant]:"highlyRelevant",[Nl.CostReduction]:"costReduction"};function Pl(e){if(e.workloadName){const t=e.workloadKind?.toLowerCase()||"deployment";return e.workloadNamespace?`${t} '${e.workloadName}' in namespace '${e.workloadNamespace}'`:`${t} '${e.workloadName}'`}return e.workloadNamespace?`namespace '${e.workloadNamespace}'`:e.workloadLanguage?`${e.workloadLanguage} services`:""}function $l(e){if(!e?.length)return[{text:" for ",variant:Mn.Default},{text:"entire cluster",variant:Mn.Scope}];const t=e.map(Pl).filter(Boolean);if(!t.length)return[{text:" for ",variant:Mn.Default},{text:"entire cluster",variant:Mn.Scope}];const a=[{text:" for ",variant:Mn.Default}],n=t.slice(0,2),o=t.length-2;return n.forEach((e,t)=>{t>0&&a.push({text:", ",variant:Mn.Default}),a.push({text:e,variant:Mn.Scope})}),o>0&&a.push({text:` + ${o} more`,variant:Mn.Default}),a}function Ol(e,t){if(!e)return[];const a=[{text:" starting at ",variant:Mn.Default}];return t?a.push({text:`${t} /${e}`,variant:Mn.Endpoint}):a.push({text:`endpoint /${e}`,variant:Mn.Endpoint}),a}function Ml(e){const t=[];if(null!=e.percentageAtMost?(t.push({text:`Drop ${100-e.percentageAtMost}%`,variant:Mn.Action}),t.push({text:" of traces",variant:Mn.Default})):t.push({text:"Drop all traces",variant:Mn.Action}),e.operation){const a=e.operation.httpServer?.route||e.operation.httpServer?.routePrefix,n=e.operation.httpServer?.method||e.operation.httpClient?.method;t.push(...Ol(a,n));const o=e.operation.httpClient,l=o?.templatedPath||o?.templatedPathPrefix,r=o?.serverAddress;if((l||r)&&!a){const e=l&&r?`${r}/${l}`:l||r;t.push({text:" to ",variant:Mn.Default}),n?t.push({text:`${n} /${e}`,variant:Mn.Endpoint}):t.push({text:`/${e}`,variant:Mn.Endpoint})}}else t.push({text:" on ",variant:Mn.Default}),t.push({text:"any operation",variant:Mn.Endpoint});return t.push(...$l(e.sourceScopes)),t}function Fl(e){const t=[];if(null!=e.percentageAtLeast?(t.push({text:`Keep at least ${e.percentageAtLeast}%`,variant:Mn.Action}),t.push({text:" of traces",variant:Mn.Default})):t.push({text:"Keep all traces",variant:Mn.Action}),e.operation){const a=e.operation.httpServer?.route||e.operation.httpServer?.routePrefix,n=e.operation.httpServer?.method;t.push(...Ol(a,n))}else t.push({text:" on ",variant:Mn.Default}),t.push({text:"any operation",variant:Mn.Endpoint});return t.push(...$l(e.sourceScopes)),!e.error&&null!=e.durationAtLeastMs&&e.durationAtLeastMs>0&&(t.push({text:" with duration > ",variant:Mn.Default}),t.push({text:`${e.durationAtLeastMs}ms`,variant:Mn.Duration})),t}function Ll(e){const t=[];if(t.push({text:`Drop ${e.percentageAtMost}%`,variant:Mn.Action}),t.push({text:" of traces",variant:Mn.Default}),e.operation){const a=e.operation.httpServer?.route||e.operation.httpServer?.routePrefix,n=e.operation.httpServer?.method;t.push(...Ol(a,n));const o=e.operation.kafkaConsumer?.kafkaTopic;o&&!a&&(t.push({text:" from ",variant:Mn.Default}),t.push({text:`topic '${o}'`,variant:Mn.Endpoint}))}else t.push({text:" on ",variant:Mn.Default}),t.push({text:"any operation",variant:Mn.Endpoint});return t.push(...$l(e.sourceScopes)),t}function zl(e){return e.error?"Error":null!=e.durationAtLeastMs?"Duration":"Relevance"}function Vl(e,t){switch(e){case"noisy":return Ml(t);case"highlyRelevant":return Fl(t);case"costReduction":return Ll(t)}}function Xl(e,t,a,n){for(const o of e)if(o.id===t)switch(n){case"noisy":{const e=o.noisyOperations.find(e=>e.ruleId===a);if(e)return{category:"noisy",samplingId:o.id,rule:e};break}case"highlyRelevant":{const e=o.highlyRelevantOperations.find(e=>e.ruleId===a);if(e)return{category:"highlyRelevant",samplingId:o.id,rule:e};break}case"costReduction":{const e=o.costReductionRules.find(e=>e.ruleId===a);if(e)return{category:"costReduction",samplingId:o.id,rule:e};break}}return null}function Bl(e){return null==e||Array.isArray(e)&&0===e.length?null:e}function _l(e,t){return JSON.stringify({sourceScopes:Bl(e),operation:Bl(t)})}function Ul(e,t,a,n){return JSON.stringify({sourceScopes:Bl(e),error:t??!1,durationAtLeastMs:Bl(a),operation:Bl(n)})}function jl(e,t){return JSON.stringify({sourceScopes:Bl(e),operation:Bl(t)})}function Hl(e,t,a,n){switch(t){case"noisy":{const t=_l(a.sourceScopes,a.operation);for(const a of e)for(const e of a.noisyOperations)if((!n||e.ruleId!==n)&&_l(e.sourceScopes,e.operation)===t)return e.ruleId;return null}case"highlyRelevant":{const t=Ul(a.sourceScopes,a.error,a.durationAtLeastMs,a.operation);for(const a of e)for(const e of a.highlyRelevantOperations)if((!n||e.ruleId!==n)&&Ul(e.sourceScopes,e.error,e.durationAtLeastMs,e.operation)===t)return e.ruleId;return null}case"costReduction":{const t=jl(a.sourceScopes,a.operation);for(const a of e)for(const e of a.costReductionRules)if((!n||e.ruleId!==n)&&jl(e.sourceScopes,e.operation)===t)return e.ruleId;return null}}}function Wl(e){if(!e||!e.enabled)return[{text:"Auto rule is ",variant:Mn.Default},{text:"disabled",variant:Mn.Action}];return[{text:`Keep ${e.keepPercentage??0}%`,variant:Mn.Action},{text:" of ",variant:Mn.Default},{text:"traces for kubelet health probes in the entire cluster",variant:Mn.Scope}]}function Kl(e){return!(!0!==e.error||e.sourceScopes&&0!==e.sourceScopes.length||e.operation||null!=e.percentageAtLeast&&100!==e.percentageAtLeast)}function Gl(e){return!e||e.disabled?[{text:"Auto rule is ",variant:Mn.Default},{text:"disabled",variant:Mn.Action}]:[{text:"Keep 100%",variant:Mn.Action},{text:" of ",variant:Mn.Default},{text:"error traces across the entire cluster",variant:Mn.Scope}]}function ql(e){return!(e.sourceScopes&&0!==e.sourceScopes.length||e.operation)}function Yl(e){return!e||e.disabled?[{text:"Auto rule is ",variant:Mn.Default},{text:"disabled",variant:Mn.Action}]:[{text:`Drop ${e.percentageAtMost}%`,variant:Mn.Action},{text:" of ",variant:Mn.Default},{text:"traces across the entire cluster",variant:Mn.Scope}]}const Jl=p.div`
122
+ `,yl=[{value:"5000",label:"5s"},{value:"1000",label:"1s"},{value:"500",label:"500ms"},{value:"100",label:"100ms"},{value:"50",label:"50ms"},{value:"custom",label:"Custom"}],Sl=()=>{},Cl=({ruleType:a,formState:n,onChange:o})=>{const l=r(e=>o({durationPreset:e}),[o]),i=r(e=>o({customDurationMs:e.target.value}),[o]);return"Relevance"===a?null:e(vl,{children:["Duration"===a&&t("div",{style:{flex:1},children:e(be,{richTitle:{title:Ze,subTitle:Qe},children:[t(v,{size:b.XXXS,children:et}),e(bl,{children:[t(B,{size:ke.S,options:yl,selected:n.durationPreset,setSelected:l}),"custom"===n.durationPreset&&t(w,{name:"sampling-input-custom-duration",label:tt,placeholder:"200ms",type:T.Number,value:n.customDurationMs,onChange:i,width:160})]})]})}),"Error"===a&&t("div",{style:{flex:1},children:t(be,{richTitle:{title:nt,subTitle:at},children:t(A,{name:"sampling-toggle-keep-errors",value:!0,onChange:Sl,size:lt.S,label:ot,labelAlign:I.Right})})})]})};function kl(e){if(!e.sourceScopes.length)return;const t=[];for(const a of e.sourceScopes)if("source"===a.scopeType&&a.workloadName){const e={workloadName:a.workloadName};a.workloadKind&&(e.workloadKind=a.workloadKind),a.workloadNamespace&&(e.workloadNamespace=a.workloadNamespace),t.push(e)}else"namespace"===a.scopeType&&a.workloadNamespace?t.push({workloadNamespace:a.workloadNamespace}):"language"===a.scopeType&&a.workloadLanguage&&t.push({workloadLanguage:a.workloadLanguage});return t.length?t:void 0}function wl(e){if("all"===e.percentageMode)return null;if("custom"===e.percentagePreset){const t=parseFloat(e.customPercentage);return isNaN(t)?null:t}return parseFloat(e.percentagePreset)}function Tl(e){if("custom"===e.durationPreset){const t=parseFloat(e.customDurationMs);return isNaN(t)?null:t}return parseInt(e.durationPreset,10)}function xl(e){return{httpServer:{[e.routeType]:e.route||null,method:e.method||null}}}function Dl(e){return"all"===e.operationType?null:"httpServer"===e.operationType?xl(e):"httpClient"===e.operationType?{httpClient:{serverAddress:e.serverAddress||null,["route"===e.routeType?"templatedPath":"templatedPathPrefix"]:e.route||null,method:e.method||null}}:null}function Nl(e){return"all"===e.operationType?null:"httpServer"===e.operationType?xl(e):"kafkaConsumer"===e.operationType?{kafkaConsumer:{kafkaTopic:e.kafkaTopic||null}}:"kafkaProducer"===e.operationType?{kafkaProducer:{kafkaTopic:e.kafkaTopic||null}}:null}var Al;!function(e){e.Noisy="noisy",e.HighlyRelevant="highly-relevant",e.CostReduction="cost-reduction"}(Al||(Al={}));const Il=[{value:Al.Noisy,label:"Noisy Operations",tooltip:"Rules that reduce noise from high-volume, low-value operations"},{value:Al.HighlyRelevant,label:"Highly Relevant Operations",tooltip:"Rules that prioritize important traces for retention"},{value:Al.CostReduction,label:"Cost Reduction",tooltip:"Rules that optimize costs by sampling less critical data"}],El={[Al.Noisy]:"This is the most efficient way to sample (with Head Sampling). Prefer to use it where possible.",[Al.HighlyRelevant]:'Any trace from the "Noisy Operations" category is sampled prior to checking highly relevance.',[Al.CostReduction]:"Cost reduction rules use Tail Sampling to drop traces that are unlikely to be useful for debugging or monitoring."},Rl={[Al.Noisy]:"Noisy Operations rules list",[Al.HighlyRelevant]:"Highly Relevant Operations rules list",[Al.CostReduction]:"Cost Reduction rules list"},Pl={[Al.Noisy]:"noisy",[Al.HighlyRelevant]:"highlyRelevant",[Al.CostReduction]:"costReduction"};function $l(e){if(e.workloadName){const t=e.workloadKind?.toLowerCase()||"deployment";return e.workloadNamespace?`${t} '${e.workloadName}' in namespace '${e.workloadNamespace}'`:`${t} '${e.workloadName}'`}return e.workloadNamespace?`namespace '${e.workloadNamespace}'`:e.workloadLanguage?`${e.workloadLanguage} services`:""}function Ol(e){if(!e?.length)return[{text:" for ",variant:Ln.Default},{text:"entire cluster",variant:Ln.Scope}];const t=e.map($l).filter(Boolean);if(!t.length)return[{text:" for ",variant:Ln.Default},{text:"entire cluster",variant:Ln.Scope}];const a=[{text:" for ",variant:Ln.Default}],n=t.slice(0,2),o=t.length-2;return n.forEach((e,t)=>{t>0&&a.push({text:", ",variant:Ln.Default}),a.push({text:e,variant:Ln.Scope})}),o>0&&a.push({text:` + ${o} more`,variant:Ln.Default}),a}function Ml(e,t){if(!e)return[];const a=[{text:" starting at ",variant:Ln.Default}];return t?a.push({text:`${t} /${e}`,variant:Ln.Endpoint}):a.push({text:`endpoint /${e}`,variant:Ln.Endpoint}),a}function Ll(e){const t=[];if(null!=e.percentageAtMost?(t.push({text:`Drop ${100-e.percentageAtMost}%`,variant:Ln.Action}),t.push({text:" of traces",variant:Ln.Default})):t.push({text:"Drop all traces",variant:Ln.Action}),e.operation){const a=e.operation.httpServer?.route||e.operation.httpServer?.routePrefix,n=e.operation.httpServer?.method||e.operation.httpClient?.method;t.push(...Ml(a,n));const o=e.operation.httpClient,l=o?.templatedPath||o?.templatedPathPrefix,r=o?.serverAddress;if((l||r)&&!a){const e=l&&r?`${r}/${l}`:l||r;t.push({text:" to ",variant:Ln.Default}),n?t.push({text:`${n} /${e}`,variant:Ln.Endpoint}):t.push({text:`/${e}`,variant:Ln.Endpoint})}}else t.push({text:" on ",variant:Ln.Default}),t.push({text:"any operation",variant:Ln.Endpoint});return t.push(...Ol(e.sourceScopes)),t}function Fl(e){const t=[];if(null!=e.percentageAtLeast?(t.push({text:`Keep at least ${e.percentageAtLeast}%`,variant:Ln.Action}),t.push({text:" of traces",variant:Ln.Default})):t.push({text:"Keep all traces",variant:Ln.Action}),e.operation){const a=e.operation.httpServer?.route||e.operation.httpServer?.routePrefix,n=e.operation.httpServer?.method;t.push(...Ml(a,n))}else t.push({text:" on ",variant:Ln.Default}),t.push({text:"any operation",variant:Ln.Endpoint});return t.push(...Ol(e.sourceScopes)),!e.error&&null!=e.durationAtLeastMs&&e.durationAtLeastMs>0&&(t.push({text:" with duration > ",variant:Ln.Default}),t.push({text:`${e.durationAtLeastMs}ms`,variant:Ln.Duration})),t}function zl(e){const t=[];if(t.push({text:`Drop ${e.percentageAtMost}%`,variant:Ln.Action}),t.push({text:" of traces",variant:Ln.Default}),e.operation){const a=e.operation.httpServer?.route||e.operation.httpServer?.routePrefix,n=e.operation.httpServer?.method;t.push(...Ml(a,n));const o=e.operation.kafkaConsumer?.kafkaTopic;o&&!a&&(t.push({text:" from ",variant:Ln.Default}),t.push({text:`topic '${o}'`,variant:Ln.Endpoint}))}else t.push({text:" on ",variant:Ln.Default}),t.push({text:"any operation",variant:Ln.Endpoint});return t.push(...Ol(e.sourceScopes)),t}function Vl(e){return e.error?"Error":null!=e.durationAtLeastMs?"Duration":"Relevance"}function Xl(e,t){switch(e){case"noisy":return Ll(t);case"highlyRelevant":return Fl(t);case"costReduction":return zl(t)}}function Bl(e,t,a,n){for(const o of e)if(o.id===t)switch(n){case"noisy":{const e=o.noisyOperations.find(e=>e.ruleId===a);if(e)return{category:"noisy",samplingId:o.id,rule:e};break}case"highlyRelevant":{const e=o.highlyRelevantOperations.find(e=>e.ruleId===a);if(e)return{category:"highlyRelevant",samplingId:o.id,rule:e};break}case"costReduction":{const e=o.costReductionRules.find(e=>e.ruleId===a);if(e)return{category:"costReduction",samplingId:o.id,rule:e};break}}return null}function _l(e){return null==e||Array.isArray(e)&&0===e.length?null:e}function Ul(e,t){return JSON.stringify({sourceScopes:_l(e),operation:_l(t)})}function jl(e,t,a,n){return JSON.stringify({sourceScopes:_l(e),error:t??!1,durationAtLeastMs:_l(a),operation:_l(n)})}function Hl(e,t){return JSON.stringify({sourceScopes:_l(e),operation:_l(t)})}function Wl(e,t,a,n){switch(t){case"noisy":{const t=Ul(a.sourceScopes,a.operation);for(const a of e)for(const e of a.noisyOperations)if((!n||e.ruleId!==n)&&Ul(e.sourceScopes,e.operation)===t)return e.ruleId;return null}case"highlyRelevant":{const t=jl(a.sourceScopes,a.error,a.durationAtLeastMs,a.operation);for(const a of e)for(const e of a.highlyRelevantOperations)if((!n||e.ruleId!==n)&&jl(e.sourceScopes,e.error,e.durationAtLeastMs,e.operation)===t)return e.ruleId;return null}case"costReduction":{const t=Hl(a.sourceScopes,a.operation);for(const a of e)for(const e of a.costReductionRules)if((!n||e.ruleId!==n)&&Hl(e.sourceScopes,e.operation)===t)return e.ruleId;return null}}}function Kl(e){if(!e||!e.enabled)return[{text:"Auto rule is ",variant:Ln.Default},{text:"disabled",variant:Ln.Action}];return[{text:`Keep ${e.keepPercentage??0}%`,variant:Ln.Action},{text:" of ",variant:Ln.Default},{text:"traces for kubelet health probes in the entire cluster",variant:Ln.Scope}]}function Gl(e){return!(!0!==e.error||e.sourceScopes&&0!==e.sourceScopes.length||e.operation||null!=e.percentageAtLeast&&100!==e.percentageAtLeast)}function ql(e){return!e||e.disabled?[{text:"Auto rule is ",variant:Ln.Default},{text:"disabled",variant:Ln.Action}]:[{text:"Keep 100%",variant:Ln.Action},{text:" of ",variant:Ln.Default},{text:"error traces across the entire cluster",variant:Ln.Scope}]}function Yl(e){return!(e.sourceScopes&&0!==e.sourceScopes.length||e.operation)}function Jl(e){return!e||e.disabled?[{text:"Auto rule is ",variant:Ln.Default},{text:"disabled",variant:Ln.Action}]:[{text:`Drop ${e.percentageAtMost}%`,variant:Ln.Action},{text:" of ",variant:Ln.Default},{text:"traces across the entire cluster",variant:Ln.Scope}]}const Ql=p.div`
123
123
  display: flex;
124
124
  flex-direction: column;
125
125
  gap: 8px;
126
- `,Ql=p(g)`
126
+ `,Zl=p(g)`
127
127
  align-items: center;
128
128
  gap: 8px;
129
- `,Zl=p.div`
129
+ `,er=p.div`
130
130
  flex: 1;
131
131
  min-width: 0;
132
132
  padding: 8px 16px;
@@ -134,19 +134,19 @@ import{jsxs as e,jsx as t,Fragment as a}from"react/jsx-runtime";import{useEffect
134
134
  background-color: ${({theme:e})=>e.v2.colors.silver[800]};
135
135
  white-space: pre;
136
136
  overflow-x: auto;
137
- `,er=({category:a,formState:n,onChange:o})=>{const l=m(),r=c(()=>{switch(a){case"noisy":return Ml({ruleId:"",name:(e=n).name||null,disabled:!1,notes:e.notes||null,sourceScopes:Cl(e)??null,percentageAtMost:kl(e),operation:xl(e)});case"highlyRelevant":return Fl(function(e){return{ruleId:"",name:e.name||null,disabled:!1,notes:e.notes||null,sourceScopes:Cl(e)??null,error:e.keepErrors,durationAtLeastMs:"Duration"===e.ruleType?wl(e):null,percentageAtLeast:kl(e),operation:Dl(e)}}(n));case"costReduction":return Ll(function(e){return{ruleId:"",name:e.name||null,disabled:!1,notes:e.notes||null,sourceScopes:Cl(e)??null,percentageAtMost:kl(e)??0,operation:Dl(e)}}(n))}var e},[a,n]),i=1===r.length&&"default"===r[0].variant;return e(Jl,{children:[t(v,{size:b.XXS,color:l.v2.colors.silver[200],children:rt}),e(Ql,{children:[t(Zl,{children:i?t(v,{size:b.XXXS,color:l.v2.colors.grey[500],children:it}):t(Fn,{parts:r})}),o&&t(A,{name:"sampling-toggle-rule-enabled",value:!n.disabled,onChange:e=>o({disabled:!e}),size:lt.S,label:"Rule Enabled",labelAlign:I.Right})]})]})},tr=()=>{const{category:a,formData:n,handleChange:o,sourceOptions:l,namespaceOptions:r}=gl();return e(h,{$gap:12,children:[t(er,{category:a,formState:n,onChange:o}),t(zo,{category:a,formState:n,onChange:o}),t(ul,{formState:n,onChange:o,sourceOptions:l,namespaceOptions:r}),t(Go,{category:a,formState:n,onChange:o}),"highlyRelevant"===a&&t(Sl,{ruleType:n.ruleType,formState:n,onChange:o}),t(el,{category:a,formState:n,onChange:o})]})},ar=p.div`
137
+ `,tr=({category:a,formState:n,onChange:o})=>{const l=m(),r=c(()=>{switch(a){case"noisy":return Ll({ruleId:"",name:(e=n).name||null,disabled:!1,notes:e.notes||null,sourceScopes:kl(e)??null,percentageAtMost:wl(e),operation:Dl(e)});case"highlyRelevant":return Fl(function(e){return{ruleId:"",name:e.name||null,disabled:!1,notes:e.notes||null,sourceScopes:kl(e)??null,error:e.keepErrors,durationAtLeastMs:"Duration"===e.ruleType?Tl(e):null,percentageAtLeast:wl(e),operation:Nl(e)}}(n));case"costReduction":return zl(function(e){return{ruleId:"",name:e.name||null,disabled:!1,notes:e.notes||null,sourceScopes:kl(e)??null,percentageAtMost:wl(e)??0,operation:Nl(e)}}(n))}var e},[a,n]),i=1===r.length&&"default"===r[0].variant;return e(Ql,{children:[t(v,{size:b.XXS,color:l.v2.colors.silver[200],children:rt}),e(Zl,{children:[t(er,{children:i?t(v,{size:b.XXXS,color:l.v2.colors.grey[500],children:it}):t(Fn,{parts:r})}),o&&t(A,{name:"sampling-toggle-rule-enabled",value:!n.disabled,onChange:e=>o({disabled:!e}),size:lt.S,label:"Rule Enabled",labelAlign:I.Right})]})]})},ar=()=>{const{category:a,formData:n,handleChange:o,sourceOptions:l,namespaceOptions:r}=fl();return e(h,{$gap:12,children:[t(tr,{category:a,formState:n,onChange:o}),t(Vo,{category:a,formState:n,onChange:o}),t(pl,{formState:n,onChange:o,sourceOptions:l,namespaceOptions:r}),t(qo,{category:a,formState:n,onChange:o}),"highlyRelevant"===a&&t(Cl,{ruleType:n.ruleType,formState:n,onChange:o}),t(tl,{category:a,formState:n,onChange:o})]})},nr=p.div`
138
138
  display: flex;
139
139
  gap: 32px;
140
- `,nr=p.div`
140
+ `,or=p.div`
141
141
  display: flex;
142
142
  flex-direction: column;
143
143
  gap: 4px;
144
- `,or=p.div`
144
+ `,lr=p.div`
145
145
  display: flex;
146
146
  flex-direction: column;
147
147
  gap: 8px;
148
148
  border-radius: 8px;
149
- `,lr=p.div`
149
+ `,rr=p.div`
150
150
  flex: 1;
151
151
  min-width: 0;
152
152
  padding: 8px 16px;
@@ -154,62 +154,62 @@ import{jsxs as e,jsx as t,Fragment as a}from"react/jsx-runtime";import{useEffect
154
154
  background-color: ${({theme:e})=>e.v2.colors.silver[800]};
155
155
  white-space: pre;
156
156
  overflow-x: auto;
157
- `,rr=p.div`
157
+ `,ir=p.div`
158
158
  display: flex;
159
159
  align-items: flex-end;
160
160
  gap: 16px;
161
- `;function ir(e){return"highlyRelevant"===e.category?e.rule.error?"Error":null!=e.rule.durationAtLeastMs?"Duration":"Relevance":dt[e.category]}const sr=({data:a})=>{const n=m(),o=c(()=>[{id:"name",title:Se,value:a.rule.name||st},{id:"type",title:Ce,value:ir(a)}],[a]),l=a.rule.notes||ct;return e(be,{children:[t(ar,{children:o.map(({id:a,title:o,value:l})=>e(nr,{children:[t(v,{size:b.XXXS,color:n.v2.colors.silver[200],nowrap:!0,children:o}),t(v,{size:b.XS,nowrap:!0,children:l})]},a))}),e(nr,{children:[t(v,{size:b.XXXS,color:n.v2.colors.silver[200],children:xe}),t(v,{size:b.XS,children:l})]})]})};const cr=({data:a})=>{const n=m(),o=c(()=>function(e){switch(e.category){case"highlyRelevant":return null!=e.rule.percentageAtLeast?{title:Xe,method:pt,description:_e,value:`${e.rule.percentageAtLeast}%`}:{title:Xe,method:ht,description:null,value:null};case"noisy":return null!=e.rule.percentageAtMost?{title:Be,method:pt,description:Ue,value:`${e.rule.percentageAtMost}%`}:{title:Be,method:mt,description:null,value:null};case"costReduction":return{title:Be,method:pt,description:Ue,value:`${e.rule.percentageAtMost}%`}}}(a),[a]),l=[{id:"method",title:ut,value:o.method},...null!=o.description?[{id:"value",title:o.description,value:o.value}]:[]];return t(be,{richTitle:{title:o.title},children:t(ar,{children:l.map(({id:a,title:o,value:l})=>e(nr,{children:[t(v,{size:b.XXXS,color:n.v2.colors.silver[200],nowrap:!0,children:o}),t(v,{size:b.XS,nowrap:!0,children:l})]},a))})})},dr=p.div`
161
+ `;function sr(e){return"highlyRelevant"===e.category?e.rule.error?"Error":null!=e.rule.durationAtLeastMs?"Duration":"Relevance":dt[e.category]}const cr=({data:a})=>{const n=m(),o=c(()=>[{id:"name",title:Se,value:a.rule.name||st},{id:"type",title:Ce,value:sr(a)}],[a]),l=a.rule.notes||ct;return e(be,{children:[t(nr,{children:o.map(({id:a,title:o,value:l})=>e(or,{children:[t(v,{size:b.XXXS,color:n.v2.colors.silver[200],nowrap:!0,children:o}),t(v,{size:b.XS,nowrap:!0,children:l})]},a))}),e(or,{children:[t(v,{size:b.XXXS,color:n.v2.colors.silver[200],children:xe}),t(v,{size:b.XS,children:l})]})]})};const dr=({data:a})=>{const n=m(),o=c(()=>function(e){switch(e.category){case"highlyRelevant":return null!=e.rule.percentageAtLeast?{title:Xe,method:pt,description:_e,value:`${e.rule.percentageAtLeast}%`}:{title:Xe,method:ht,description:null,value:null};case"noisy":return null!=e.rule.percentageAtMost?{title:Be,method:pt,description:Ue,value:`${e.rule.percentageAtMost}%`}:{title:Be,method:mt,description:null,value:null};case"costReduction":return{title:Be,method:pt,description:Ue,value:`${e.rule.percentageAtMost}%`}}}(a),[a]),l=[{id:"method",title:ut,value:o.method},...null!=o.description?[{id:"value",title:o.description,value:o.value}]:[]];return t(be,{richTitle:{title:o.title},children:t(nr,{children:l.map(({id:a,title:o,value:l})=>e(or,{children:[t(v,{size:b.XXXS,color:n.v2.colors.silver[200],nowrap:!0,children:o}),t(v,{size:b.XS,nowrap:!0,children:l})]},a))})})},ur=p.div`
162
162
  display: flex;
163
163
  flex-direction: column;
164
164
  gap: 4px;
165
- `,ur=p.div`
165
+ `,pr=p.div`
166
166
  display: flex;
167
167
  align-items: center;
168
168
  gap: 8px;
169
169
  padding: 8px;
170
170
  border-radius: 8px;
171
171
  background-color: ${({theme:e})=>e.v2.colors.silver[900]};
172
- `,pr=p.div`
172
+ `,mr=p.div`
173
173
  display: flex;
174
174
  width: 24px;
175
175
  height: 24px;
176
176
  justify-content: center;
177
177
  align-items: center;
178
178
  flex-shrink: 0;
179
- `,mr={[Je.JavaScript]:"Node.js",[Je.DotNet]:".NET",[Je.Php]:"PHP",[Je.Java]:"Java",[Je.Go]:"Go",[Je.Python]:"Python",[Je.Ruby]:"Ruby",[Je.Rust]:"Rust"};function hr(e){const t=mr[e];return t||e.charAt(0).toUpperCase()+e.slice(1)}const gr=({scopes:a})=>{const n=m();return t(be,{richTitle:{title:We},children:a.length?t(dr,{children:a.map((a,o)=>function(a,n,o){if(a.workloadLanguage){const l=ce(a.workloadLanguage);return e(ur,{children:[l&&t(pr,{children:t(l,{size:18})}),t(v,{size:b.XS,color:o.v2.colors.white[500],children:hr(a.workloadLanguage)})]},n)}const l=[a.workloadNamespace,a.workloadKind,a.workloadName].filter(Boolean),r=l.length?l.join(" / "):"Unknown scope";return t(ur,{children:t(v,{size:b.XS,color:o.v2.colors.white[500],children:r})},n)}(a,o,n))}):t(J,{status:Q.Default,message:Ke,fullWidth:!0})})},fr=["5000","1000","500","100","50"],vr=["50","25","10","1","0.5","0.1"];function br(e){if(null==e)return{percentageMode:"all",percentagePreset:"50",customPercentage:""};const t=vr.find(t=>Number(t)===e);return t?{percentageMode:"sample",percentagePreset:t,customPercentage:""}:{percentageMode:"sample",percentagePreset:"custom",customPercentage:String(e)}}function yr(e){if(!e)return{operationType:"all",routeType:"route",route:"",serverAddress:"",method:"",kafkaTopic:""};const t=e;if(t.httpServer){return{operationType:"httpServer",routeType:t.httpServer.routePrefix?"routePrefix":"route",route:t.httpServer.route||t.httpServer.routePrefix||"",serverAddress:"",method:t.httpServer.method||"",kafkaTopic:""}}return t.kafkaConsumer?{operationType:"kafkaConsumer",routeType:"route",route:"",serverAddress:"",method:"",kafkaTopic:t.kafkaConsumer.kafkaTopic||""}:t.kafkaProducer?{operationType:"kafkaProducer",routeType:"route",route:"",serverAddress:"",method:"",kafkaTopic:t.kafkaProducer.kafkaTopic||""}:{operationType:"all",routeType:"route",route:"",serverAddress:"",method:"",kafkaTopic:""}}function Sr(e){const t=pl(),a=(n=e.rule.sourceScopes,n?.length?n.map(e=>e.workloadLanguage?{scopeType:"language",workloadName:"",workloadKind:"",workloadNamespace:"",workloadLanguage:e.workloadLanguage}:e.workloadName?{scopeType:"source",workloadName:e.workloadName,workloadKind:e.workloadKind??"",workloadNamespace:e.workloadNamespace??"",workloadLanguage:""}:e.workloadNamespace?{scopeType:"namespace",workloadName:"",workloadKind:"",workloadNamespace:e.workloadNamespace,workloadLanguage:""}:{scopeType:"all",workloadName:"",workloadKind:"",workloadNamespace:"",workloadLanguage:""}).filter(e=>"all"!==e.scopeType):[]);var n;const o=function(e){return"highlyRelevant"!==e.category?"Relevance":e.rule.error?"Error":null!=e.rule.durationAtLeastMs?"Duration":"Relevance"}(e);let l,r,i={durationPreset:"500",customDurationMs:""},s=!1;switch(e.category){case"noisy":l=function(e){const t=e.rule.operation;if(!t)return{operationType:"all",routeType:"route",route:"",serverAddress:"",method:"",kafkaTopic:""};if(t.httpServer)return{operationType:"httpServer",routeType:t.httpServer.routePrefix?"routePrefix":"route",route:t.httpServer.route||t.httpServer.routePrefix||"",serverAddress:"",method:t.httpServer.method||"",kafkaTopic:""};if(t.httpClient)return{operationType:"httpClient",routeType:t.httpClient.templatedPathPrefix?"routePrefix":"route",route:t.httpClient.templatedPath||t.httpClient.templatedPathPrefix||"",serverAddress:t.httpClient.serverAddress||"",method:t.httpClient.method||"",kafkaTopic:""};return{operationType:"all",routeType:"route",route:"",serverAddress:"",method:"",kafkaTopic:""}}(e),r=br(e.rule.percentageAtMost);break;case"highlyRelevant":l=yr(e.rule.operation),r=br(e.rule.percentageAtLeast),i=function(e){if(null==e)return{durationPreset:"500",customDurationMs:""};const t=fr.find(t=>Number(t)===e);return t?{durationPreset:t,customDurationMs:""}:{durationPreset:"custom",customDurationMs:String(e)}}(e.rule.durationAtLeastMs),s=e.rule.error;break;case"costReduction":l=yr(e.rule.operation),r=br(e.rule.percentageAtMost)}return{...t,name:e.rule.name||"",notes:e.rule.notes||"",disabled:e.rule.disabled,ruleType:o,sourceScopes:a,...l,...i,keepErrors:s,...r}}const Cr=s({data:null,isEditing:!1,formData:void 0,handleChange:()=>{},handleEdit:()=>{},handleCancelEdit:()=>{},duplicateWarning:null,setDuplicateWarning:()=>{},sourceOptions:[],namespaceOptions:[]}),kr=({data:e,defaultEditMode:a,sourceOptions:o=[],namespaceOptions:i=[],children:s})=>{const[c,u]=l(!1),{formData:p,handleFormChange:m,resetFormData:h}=L(void 0),g=d(null),[f,v]=l(null);n(()=>{e!==g.current&&(g.current=e,e&&a?(h(Sr(e)),v(null),u(!0)):(u(!1),v(null)))},[e,a]);const b=r(e=>{v(null),m(void 0,void 0,{...p,...e})},[p,m]),y=r(()=>{e&&(h(Sr(e)),v(null),u(!0))},[e,h]),S=r(()=>{u(!1),v(null)},[]);return t(Cr.Provider,{value:{data:e,isEditing:c,formData:p,handleChange:b,handleEdit:y,handleCancelEdit:S,duplicateWarning:f,setDuplicateWarning:v,sourceOptions:o,namespaceOptions:i},children:s})},wr=()=>i(Cr),Tr=()=>{},xr=p.div`
179
+ `,hr={[Je.JavaScript]:"Node.js",[Je.DotNet]:".NET",[Je.Php]:"PHP",[Je.Java]:"Java",[Je.Go]:"Go",[Je.Python]:"Python",[Je.Ruby]:"Ruby",[Je.Rust]:"Rust"};function gr(e){const t=hr[e];return t||e.charAt(0).toUpperCase()+e.slice(1)}const fr=({scopes:a})=>{const n=m();return t(be,{richTitle:{title:We},children:a.length?t(ur,{children:a.map((a,o)=>function(a,n,o){if(a.workloadLanguage){const l=ce(a.workloadLanguage);return e(pr,{children:[l&&t(mr,{children:t(l,{size:18})}),t(v,{size:b.XS,color:o.v2.colors.white[500],children:gr(a.workloadLanguage)})]},n)}const l=[a.workloadNamespace,a.workloadKind,a.workloadName].filter(Boolean),r=l.length?l.join(" / "):"Unknown scope";return t(pr,{children:t(v,{size:b.XS,color:o.v2.colors.white[500],children:r})},n)}(a,o,n))}):t(J,{status:Q.Default,message:Ke,fullWidth:!0})})},vr=["5000","1000","500","100","50"],br=["50","25","10","1","0.5","0.1"];function yr(e){if(null==e)return{percentageMode:"all",percentagePreset:"50",customPercentage:""};const t=br.find(t=>Number(t)===e);return t?{percentageMode:"sample",percentagePreset:t,customPercentage:""}:{percentageMode:"sample",percentagePreset:"custom",customPercentage:String(e)}}function Sr(e){if(!e)return{operationType:"all",routeType:"route",route:"",serverAddress:"",method:"",kafkaTopic:""};const t=e;if(t.httpServer){return{operationType:"httpServer",routeType:t.httpServer.routePrefix?"routePrefix":"route",route:t.httpServer.route||t.httpServer.routePrefix||"",serverAddress:"",method:t.httpServer.method||"",kafkaTopic:""}}return t.kafkaConsumer?{operationType:"kafkaConsumer",routeType:"route",route:"",serverAddress:"",method:"",kafkaTopic:t.kafkaConsumer.kafkaTopic||""}:t.kafkaProducer?{operationType:"kafkaProducer",routeType:"route",route:"",serverAddress:"",method:"",kafkaTopic:t.kafkaProducer.kafkaTopic||""}:{operationType:"all",routeType:"route",route:"",serverAddress:"",method:"",kafkaTopic:""}}function Cr(e){const t=ml(),a=(n=e.rule.sourceScopes,n?.length?n.map(e=>e.workloadLanguage?{scopeType:"language",workloadName:"",workloadKind:"",workloadNamespace:"",workloadLanguage:e.workloadLanguage}:e.workloadName?{scopeType:"source",workloadName:e.workloadName,workloadKind:e.workloadKind??"",workloadNamespace:e.workloadNamespace??"",workloadLanguage:""}:e.workloadNamespace?{scopeType:"namespace",workloadName:"",workloadKind:"",workloadNamespace:e.workloadNamespace,workloadLanguage:""}:{scopeType:"all",workloadName:"",workloadKind:"",workloadNamespace:"",workloadLanguage:""}).filter(e=>"all"!==e.scopeType):[]);var n;const o=function(e){return"highlyRelevant"!==e.category?"Relevance":e.rule.error?"Error":null!=e.rule.durationAtLeastMs?"Duration":"Relevance"}(e);let l,r,i={durationPreset:"500",customDurationMs:""},s=!1;switch(e.category){case"noisy":l=function(e){const t=e.rule.operation;if(!t)return{operationType:"all",routeType:"route",route:"",serverAddress:"",method:"",kafkaTopic:""};if(t.httpServer)return{operationType:"httpServer",routeType:t.httpServer.routePrefix?"routePrefix":"route",route:t.httpServer.route||t.httpServer.routePrefix||"",serverAddress:"",method:t.httpServer.method||"",kafkaTopic:""};if(t.httpClient)return{operationType:"httpClient",routeType:t.httpClient.templatedPathPrefix?"routePrefix":"route",route:t.httpClient.templatedPath||t.httpClient.templatedPathPrefix||"",serverAddress:t.httpClient.serverAddress||"",method:t.httpClient.method||"",kafkaTopic:""};return{operationType:"all",routeType:"route",route:"",serverAddress:"",method:"",kafkaTopic:""}}(e),r=yr(e.rule.percentageAtMost);break;case"highlyRelevant":l=Sr(e.rule.operation),r=yr(e.rule.percentageAtLeast),i=function(e){if(null==e)return{durationPreset:"500",customDurationMs:""};const t=vr.find(t=>Number(t)===e);return t?{durationPreset:t,customDurationMs:""}:{durationPreset:"custom",customDurationMs:String(e)}}(e.rule.durationAtLeastMs),s=e.rule.error;break;case"costReduction":l=Sr(e.rule.operation),r=yr(e.rule.percentageAtMost)}return{...t,name:e.rule.name||"",notes:e.rule.notes||"",disabled:e.rule.disabled,ruleType:o,sourceScopes:a,...l,...i,keepErrors:s,...r}}const kr=s({data:null,isEditing:!1,formData:void 0,handleChange:()=>{},handleEdit:()=>{},handleCancelEdit:()=>{},duplicateWarning:null,setDuplicateWarning:()=>{},sourceOptions:[],namespaceOptions:[]}),wr=({data:e,defaultEditMode:a,sourceOptions:o=[],namespaceOptions:i=[],children:s})=>{const[c,u]=l(!1),{formData:p,handleFormChange:m,resetFormData:h}=F(void 0),g=d(null),[f,v]=l(null);n(()=>{e!==g.current&&(g.current=e,e&&a?(h(Cr(e)),v(null),u(!0)):(u(!1),v(null)))},[e,a]);const b=r(e=>{v(null),m(void 0,void 0,{...p,...e})},[p,m]),y=r(()=>{e&&(h(Cr(e)),v(null),u(!0))},[e,h]),S=r(()=>{u(!1),v(null)},[]);return t(kr.Provider,{value:{data:e,isEditing:c,formData:p,handleChange:b,handleEdit:y,handleCancelEdit:S,duplicateWarning:f,setDuplicateWarning:v,sourceOptions:o,namespaceOptions:i},children:s})},Tr=()=>i(kr),xr=()=>{},Dr=p.div`
180
180
  display: flex;
181
181
  gap: 12px;
182
- `,Dr=({rule:a})=>{const n=m(),o=null!=a.durationAtLeastMs,l=a.error;return o||l?e(xr,{children:[o&&t("div",{style:{flex:1},children:t(be,{richTitle:{title:Ze},children:e("div",{children:[t(v,{size:b.XXXS,color:n.v2.colors.silver[200],children:et}),t(v,{size:b.XS,children:`${a.durationAtLeastMs}ms`})]})})}),l&&t("div",{style:{flex:1},children:t(be,{richTitle:{title:nt},children:t(A,{name:"sampling-view-toggle-keep-errors",onChange:Tr,value:!0,size:lt.S,label:ot,labelAlign:I.Right})})})]}):null},Nr=p.div`
182
+ `,Nr=({rule:a})=>{const n=m(),o=null!=a.durationAtLeastMs,l=a.error;return o||l?e(Dr,{children:[o&&t("div",{style:{flex:1},children:t(be,{richTitle:{title:Ze},children:e("div",{children:[t(v,{size:b.XXXS,color:n.v2.colors.silver[200],children:et}),t(v,{size:b.XS,children:`${a.durationAtLeastMs}ms`})]})})}),l&&t("div",{style:{flex:1},children:t(be,{richTitle:{title:nt},children:t(A,{name:"sampling-view-toggle-keep-errors",onChange:xr,value:!0,size:lt.S,label:ot,labelAlign:I.Right})})})]}):null},Ar=p.div`
183
183
  display: flex;
184
184
  flex-direction: column;
185
185
  gap: 8px;
186
186
  border-radius: 8px;
187
- `,Ar=p.div`
187
+ `,Ir=p.div`
188
188
  min-width: 0;
189
189
  padding: 8px 16px;
190
190
  border-radius: 8px;
191
191
  background-color: ${({theme:e})=>e.v2.colors.silver[800]};
192
192
  white-space: pre;
193
193
  overflow-x: auto;
194
- `,Ir=({summary:a})=>{const n=m();return e(Nr,{children:[t(v,{size:b.XXS,color:n.v2.colors.silver[200],children:rt}),t(Ar,{children:t(Fn,{parts:a})})]})},Er="Kafka topic",Rr="Any method";const Pr=({data:a})=>{const n=m(),o=c(()=>function(e){if("noisy"===e.category){const t=e.rule.operation;if(t?.httpServer)return[{id:"type",title:ft,value:gt},{id:"route",title:$e,value:t.httpServer.route||t.httpServer.routePrefix||ct},{id:"method",title:ut,value:t.httpServer.method||Rr}];if(t?.httpClient){const e=[{id:"type",title:ft,value:vt}];return t.httpClient.serverAddress&&e.push({id:"serverAddress",title:"Server address",value:t.httpClient.serverAddress}),e.push({id:"route",title:$e,value:t.httpClient.templatedPath||t.httpClient.templatedPathPrefix||ct}),e.push({id:"method",title:ut,value:t.httpClient.method||Rr}),e}return[{id:"type",title:ft,value:bt}]}const t=e.rule.operation;return t?.httpServer?[{id:"type",title:ft,value:gt},{id:"route",title:$e,value:t.httpServer.route||t.httpServer.routePrefix||ct},{id:"method",title:ut,value:t.httpServer.method||Rr}]:t?.kafkaConsumer?[{id:"type",title:ft,value:yt},{id:"topic",title:Er,value:t.kafkaConsumer.kafkaTopic||ct}]:t?.kafkaProducer?[{id:"type",title:ft,value:St},{id:"topic",title:Er,value:t.kafkaProducer.kafkaTopic||ct}]:[{id:"type",title:ft,value:bt}]}(a),[a]);return t(be,{richTitle:{title:Ne},children:t(ar,{children:o.map(({id:a,title:o,value:l})=>e(nr,{children:[t(v,{size:b.XXXS,color:n.v2.colors.silver[200],nowrap:!0,children:o}),t(v,{size:b.XS,nowrap:!0,children:l})]},a))})})},$r=()=>{const{data:a,isEditing:n,formData:o,handleChange:l,sourceOptions:r,namespaceOptions:i}=wr();return a?e(h,n?{$gap:12,children:[t(er,{category:a.category,formState:o,onChange:l}),t(zo,{category:a.category,formState:o,onChange:l}),t(ul,{formState:o,onChange:l,sourceOptions:r,namespaceOptions:i}),t(Go,{category:a.category,formState:o,onChange:l}),"highlyRelevant"===a.category&&t(Sl,{ruleType:o.ruleType,formState:o,onChange:l}),t(el,{category:a.category,formState:o,onChange:l})]}:{$gap:12,children:[t(Ir,{summary:a.summary}),t(sr,{data:a}),t(gr,{scopes:a.rule.sourceScopes??[]}),t(Pr,{data:a}),"highlyRelevant"===a.category&&t(Dr,{rule:a.rule}),t(cr,{data:a})]}):null},Or=s({localEnabled:!1,setLocalEnabled:()=>{},percentagePreset:"50",setPercentagePreset:()=>{},customPercentage:"",setCustomPercentage:()=>{},resolvedPercentage:0,summary:[]});function Mr(e){const t=String(e);return"50"===t||"25"===t||"10"===t||"1"===t?t:"custom"}const Fr=({enabled:e,keepPercentage:a,children:o})=>{const[r,i]=l(e),[s,d]=l(()=>Mr(a)),[u,p]=l(()=>"custom"===Mr(a)?String(a):"");n(()=>{i(e);const t=Mr(a);d(t),p("custom"===t?String(a):"")},[e,a]);const m=c(()=>"custom"===s?Number(u)||0:Number(s),[s,u]),h=c(()=>Wl({enabled:r,keepPercentage:m}),[r,m]);return t(Or.Provider,{value:{localEnabled:r,setLocalEnabled:i,percentagePreset:s,setPercentagePreset:d,customPercentage:u,setCustomPercentage:p,resolvedPercentage:m,summary:h},children:o})},Lr=()=>i(Or),zr=[{value:"50",label:"50%"},{value:"25",label:"25%"},{value:"10",label:"10%"},{value:"1",label:"1%"},{value:"custom",label:"Custom"}],Vr=()=>{const a=m(),{localEnabled:n,setLocalEnabled:o,percentagePreset:l,setPercentagePreset:i,customPercentage:s,setCustomPercentage:c,summary:d}=Lr(),u=r(e=>i(e),[i]),p=r(e=>c(e.target.value),[c]);return e(h,{$gap:12,children:[e(or,{children:[t(v,{size:b.XXS,color:a.v2.colors.silver[200],children:Ct}),e(g,{$gap:8,$alignItems:"center",children:[t(lr,{children:t(Fn,{parts:d})}),t(A,{name:"sampling-auto-toggle-enabled",value:n,onChange:o,size:lt.S,label:kt,labelAlign:I.Right})]})]}),e(be,{richTitle:{title:wt,subTitle:ze},children:[t(v,{size:b.XXXS,children:_e}),e(rr,{children:[t(B,{size:ke.S,options:zr,selected:l,setSelected:u}),"custom"===l&&t(w,{name:"sampling-auto-input-custom-percentage",label:je,placeholder:"5%",type:T.Number,value:s,onChange:p,width:160})]})]})]})},Xr=s({localEnabled:!1,setLocalEnabled:()=>{},summary:[]}),Br=({enabled:e,children:a})=>{const[o,r]=l(e);n(()=>{r(e)},[e]);const i=c(()=>Gl(o?{disabled:!1}:null),[o]);return t(Xr.Provider,{value:{localEnabled:o,setLocalEnabled:r,summary:i},children:a})},_r=()=>i(Xr),Ur=g,jr=()=>{const a=m(),{localEnabled:n,setLocalEnabled:o,summary:l}=_r();return t(h,{$gap:12,children:e(or,{children:[t(v,{size:b.XXS,color:a.v2.colors.silver[200],children:Tt}),e(Ur,{$gap:8,$alignItems:"center",children:[t(lr,{children:t(Fn,{parts:l})}),t(A,{name:"sampling-hr-auto-toggle-enabled",value:n,onChange:o,size:lt.S,label:kt,labelAlign:I.Right})]})]})})},Hr=s({localEnabled:!1,setLocalEnabled:()=>{},percentagePreset:"50",setPercentagePreset:()=>{},customPercentage:"",setCustomPercentage:()=>{},resolvedPercentage:0,summary:[]});function Wr(e){const t=String(e);return"50"===t||"25"===t||"10"===t||"1"===t?t:"custom"}const Kr=({enabled:e,dropPercentage:a,children:o})=>{const[r,i]=l(e),[s,d]=l(()=>Wr(a)),[u,p]=l(()=>"custom"===Wr(a)?String(a):"");n(()=>{i(e);const t=Wr(a);d(t),p("custom"===t?String(a):"")},[e,a]);const m=c(()=>"custom"===s?Number(u)||0:Number(s),[s,u]),h=c(()=>Yl(r?{disabled:!1,percentageAtMost:m}:null),[r,m]);return t(Hr.Provider,{value:{localEnabled:r,setLocalEnabled:i,percentagePreset:s,setPercentagePreset:d,customPercentage:u,setCustomPercentage:p,resolvedPercentage:m,summary:h},children:o})},Gr=()=>i(Hr),qr=[{value:"50",label:"50%"},{value:"25",label:"25%"},{value:"10",label:"10%"},{value:"1",label:"1%"},{value:"custom",label:"Custom"}],Yr=()=>{const a=m(),{localEnabled:n,setLocalEnabled:o,percentagePreset:l,setPercentagePreset:i,customPercentage:s,setCustomPercentage:c,summary:d}=Gr(),u=r(e=>i(e),[i]),p=r(e=>c(e.target.value),[c]);return e(h,{$gap:12,children:[e(or,{children:[t(v,{size:b.XXS,color:a.v2.colors.silver[200],children:xt}),e(g,{$gap:8,$alignItems:"center",children:[t(lr,{children:t(Fn,{parts:d})}),t(A,{name:"sampling-cr-auto-toggle-enabled",value:n,onChange:o,size:lt.S,label:kt,labelAlign:I.Right})]})]}),e(be,{richTitle:{title:Dt,subTitle:Ve},children:[t(v,{size:b.XXXS,children:Nt}),e(rr,{children:[t(B,{size:ke.S,options:qr,selected:l,setSelected:u}),"custom"===l&&t(w,{name:"sampling-cr-auto-input-custom-percentage",label:je,placeholder:"5%",type:T.Number,value:s,onChange:p,width:160})]})]})]})},Jr=p.div`
194
+ `,Er=({summary:a})=>{const n=m();return e(Ar,{children:[t(v,{size:b.XXS,color:n.v2.colors.silver[200],children:rt}),t(Ir,{children:t(Fn,{parts:a})})]})},Rr="Kafka topic",Pr="Any method";const $r=({data:a})=>{const n=m(),o=c(()=>function(e){if("noisy"===e.category){const t=e.rule.operation;if(t?.httpServer)return[{id:"type",title:ft,value:gt},{id:"route",title:$e,value:t.httpServer.route||t.httpServer.routePrefix||ct},{id:"method",title:ut,value:t.httpServer.method||Pr}];if(t?.httpClient){const e=[{id:"type",title:ft,value:vt}];return t.httpClient.serverAddress&&e.push({id:"serverAddress",title:"Server address",value:t.httpClient.serverAddress}),e.push({id:"route",title:$e,value:t.httpClient.templatedPath||t.httpClient.templatedPathPrefix||ct}),e.push({id:"method",title:ut,value:t.httpClient.method||Pr}),e}return[{id:"type",title:ft,value:bt}]}const t=e.rule.operation;return t?.httpServer?[{id:"type",title:ft,value:gt},{id:"route",title:$e,value:t.httpServer.route||t.httpServer.routePrefix||ct},{id:"method",title:ut,value:t.httpServer.method||Pr}]:t?.kafkaConsumer?[{id:"type",title:ft,value:yt},{id:"topic",title:Rr,value:t.kafkaConsumer.kafkaTopic||ct}]:t?.kafkaProducer?[{id:"type",title:ft,value:St},{id:"topic",title:Rr,value:t.kafkaProducer.kafkaTopic||ct}]:[{id:"type",title:ft,value:bt}]}(a),[a]);return t(be,{richTitle:{title:Ne},children:t(nr,{children:o.map(({id:a,title:o,value:l})=>e(or,{children:[t(v,{size:b.XXXS,color:n.v2.colors.silver[200],nowrap:!0,children:o}),t(v,{size:b.XS,nowrap:!0,children:l})]},a))})})},Or=()=>{const{data:a,isEditing:n,formData:o,handleChange:l,sourceOptions:r,namespaceOptions:i}=Tr();return a?e(h,n?{$gap:12,children:[t(tr,{category:a.category,formState:o,onChange:l}),t(Vo,{category:a.category,formState:o,onChange:l}),t(pl,{formState:o,onChange:l,sourceOptions:r,namespaceOptions:i}),t(qo,{category:a.category,formState:o,onChange:l}),"highlyRelevant"===a.category&&t(Cl,{ruleType:o.ruleType,formState:o,onChange:l}),t(tl,{category:a.category,formState:o,onChange:l})]}:{$gap:12,children:[t(Er,{summary:a.summary}),t(cr,{data:a}),t(fr,{scopes:a.rule.sourceScopes??[]}),t($r,{data:a}),"highlyRelevant"===a.category&&t(Nr,{rule:a.rule}),t(dr,{data:a})]}):null},Mr=s({localEnabled:!1,setLocalEnabled:()=>{},percentagePreset:"50",setPercentagePreset:()=>{},customPercentage:"",setCustomPercentage:()=>{},resolvedPercentage:0,summary:[]});function Lr(e){const t=String(e);return"50"===t||"25"===t||"10"===t||"1"===t?t:"custom"}const Fr=({enabled:e,keepPercentage:a,children:o})=>{const[r,i]=l(e),[s,d]=l(()=>Lr(a)),[u,p]=l(()=>"custom"===Lr(a)?String(a):"");n(()=>{i(e);const t=Lr(a);d(t),p("custom"===t?String(a):"")},[e,a]);const m=c(()=>"custom"===s?Number(u)||0:Number(s),[s,u]),h=c(()=>Kl({enabled:r,keepPercentage:m}),[r,m]);return t(Mr.Provider,{value:{localEnabled:r,setLocalEnabled:i,percentagePreset:s,setPercentagePreset:d,customPercentage:u,setCustomPercentage:p,resolvedPercentage:m,summary:h},children:o})},zr=()=>i(Mr),Vr=[{value:"50",label:"50%"},{value:"25",label:"25%"},{value:"10",label:"10%"},{value:"1",label:"1%"},{value:"custom",label:"Custom"}],Xr=()=>{const a=m(),{localEnabled:n,setLocalEnabled:o,percentagePreset:l,setPercentagePreset:i,customPercentage:s,setCustomPercentage:c,summary:d}=zr(),u=r(e=>i(e),[i]),p=r(e=>c(e.target.value),[c]);return e(h,{$gap:12,children:[e(lr,{children:[t(v,{size:b.XXS,color:a.v2.colors.silver[200],children:Ct}),e(g,{$gap:8,$alignItems:"center",children:[t(rr,{children:t(Fn,{parts:d})}),t(A,{name:"sampling-auto-toggle-enabled",value:n,onChange:o,size:lt.S,label:kt,labelAlign:I.Right})]})]}),e(be,{richTitle:{title:wt,subTitle:ze},children:[t(v,{size:b.XXXS,children:_e}),e(ir,{children:[t(B,{size:ke.S,options:Vr,selected:l,setSelected:u}),"custom"===l&&t(w,{name:"sampling-auto-input-custom-percentage",label:je,placeholder:"5%",type:T.Number,value:s,onChange:p,width:160})]})]})]})},Br=s({localEnabled:!1,setLocalEnabled:()=>{},summary:[]}),_r=({enabled:e,children:a})=>{const[o,r]=l(e);n(()=>{r(e)},[e]);const i=c(()=>ql(o?{disabled:!1}:null),[o]);return t(Br.Provider,{value:{localEnabled:o,setLocalEnabled:r,summary:i},children:a})},Ur=()=>i(Br),jr=g,Hr=()=>{const a=m(),{localEnabled:n,setLocalEnabled:o,summary:l}=Ur();return t(h,{$gap:12,children:e(lr,{children:[t(v,{size:b.XXS,color:a.v2.colors.silver[200],children:Tt}),e(jr,{$gap:8,$alignItems:"center",children:[t(rr,{children:t(Fn,{parts:l})}),t(A,{name:"sampling-hr-auto-toggle-enabled",value:n,onChange:o,size:lt.S,label:kt,labelAlign:I.Right})]})]})})},Wr=s({localEnabled:!1,setLocalEnabled:()=>{},percentagePreset:"50",setPercentagePreset:()=>{},customPercentage:"",setCustomPercentage:()=>{},resolvedPercentage:0,summary:[]});function Kr(e){const t=String(e);return"50"===t||"25"===t||"10"===t||"1"===t?t:"custom"}const Gr=({enabled:e,dropPercentage:a,children:o})=>{const[r,i]=l(e),[s,d]=l(()=>Kr(a)),[u,p]=l(()=>"custom"===Kr(a)?String(a):"");n(()=>{i(e);const t=Kr(a);d(t),p("custom"===t?String(a):"")},[e,a]);const m=c(()=>"custom"===s?Number(u)||0:Number(s),[s,u]),h=c(()=>Jl(r?{disabled:!1,percentageAtMost:m}:null),[r,m]);return t(Wr.Provider,{value:{localEnabled:r,setLocalEnabled:i,percentagePreset:s,setPercentagePreset:d,customPercentage:u,setCustomPercentage:p,resolvedPercentage:m,summary:h},children:o})},qr=()=>i(Wr),Yr=[{value:"50",label:"50%"},{value:"25",label:"25%"},{value:"10",label:"10%"},{value:"1",label:"1%"},{value:"custom",label:"Custom"}],Jr=()=>{const a=m(),{localEnabled:n,setLocalEnabled:o,percentagePreset:l,setPercentagePreset:i,customPercentage:s,setCustomPercentage:c,summary:d}=qr(),u=r(e=>i(e),[i]),p=r(e=>c(e.target.value),[c]);return e(h,{$gap:12,children:[e(lr,{children:[t(v,{size:b.XXS,color:a.v2.colors.silver[200],children:xt}),e(g,{$gap:8,$alignItems:"center",children:[t(rr,{children:t(Fn,{parts:d})}),t(A,{name:"sampling-cr-auto-toggle-enabled",value:n,onChange:o,size:lt.S,label:kt,labelAlign:I.Right})]})]}),e(be,{richTitle:{title:Dt,subTitle:Ve},children:[t(v,{size:b.XXXS,children:Nt}),e(ir,{children:[t(B,{size:ke.S,options:Yr,selected:l,setSelected:u}),"custom"===l&&t(w,{name:"sampling-cr-auto-input-custom-percentage",label:je,placeholder:"5%",type:T.Number,value:s,onChange:p,width:160})]})]})]})},Qr=p.div`
195
195
  display: flex;
196
196
  align-items: center;
197
197
  gap: 8px;
198
198
  padding: 8px;
199
- `,Qr=({onClose:a,selectedConnectionIds:n,setSelectedConnectionIds:o,createAction:r,withOverlay:i})=>{const s=m(),[u,p]=l(""),h=d(null),{selectedOption:g,onSelectOption:f,genericForm:y,validateFormData:S,errorMessage:C}=io(),k=c(()=>(u?At.filter(e=>e?.label?.toLowerCase().includes(u.toLowerCase())):At).filter(e=>!!e),[u]),w=c(()=>(u?It.filter(e=>e?.label?.toLowerCase().includes(u.toLowerCase())):It).filter(e=>!!e),[u]),T=c(()=>{const a=(a,n)=>e(Jr,{children:[t(v,{size:b.XS,color:s.v2.colors.silver[200],children:a}),t(ie,{label:n.toString()})]},a),n=e=>{const a=g?.type===e.type;return t(Hn,{dataId:e.type?`option-${e.type}`:void 0,title:e.label,description:e.description,withCarret:!0,isSelected:a,onClick:()=>{h.current?.clearErrors(),f(e)}},e.type)};return[a("Attributes",k.length),...k.map(n),a("Samplers",w.length),...w.map(n)]},[s,g?.type,k.length,w.length,f]),x=c(()=>g?[t(so,{},g.type)]:[t(Et,{$height:"100%",children:t(V,{icon:sn,title:"Action not selected",subTitle:"Please select an action to add"})},"no-data")],[g]);return t(Ln,{ref:h,isOpen:!0,withOverlay:i,onClose:a,onSave:async()=>{const{errorMessage:e,preparedFormData:t}=S();return e?Promise.resolve({error:e}):await r(t)},disableSave:!g||!y?.isFormDirty,isFormDirty:y?.isFormDirty,hideDirtyNote:!0,errorMessage:C,progress:{title:Rt.CREATING_ACTION,subTitle:Rt.CREATING_ACTION_SUBTITLE},header:{icon:sn,title:Rt.ADD_ACTION,subTitle:Rt.ADD_ACTION_DESCRIPTION},connectionIds:n&&o?{value:n,setValue:o}:void 0,search:{value:u,onChange:p},leftColumn:{width:"40%",list:T},rightColumn:{width:"60%",list:x}})},Zr=({testConnection:e})=>{const{activeForm:a}=go();return{width:"60%",list:a?[t(vo,{testConnection:e},a.option.type)]:[t(Et,{$height:"100%",children:t(V,{icon:cn,title:"Select destination from the list",subTitle:"Add destination so your data has somewhere to go."})},"no-data")]}},ei=p.div`
199
+ `,Zr=({onClose:a,selectedConnectionIds:n,setSelectedConnectionIds:o,createAction:r,withOverlay:i})=>{const s=m(),[u,p]=l(""),h=d(null),{selectedOption:g,onSelectOption:f,genericForm:y,validateFormData:S,errorMessage:C}=so(),k=c(()=>(u?At.filter(e=>e?.label?.toLowerCase().includes(u.toLowerCase())):At).filter(e=>!!e),[u]),w=c(()=>(u?It.filter(e=>e?.label?.toLowerCase().includes(u.toLowerCase())):It).filter(e=>!!e),[u]),T=c(()=>{const a=(a,n)=>e(Qr,{children:[t(v,{size:b.XS,color:s.v2.colors.silver[200],children:a}),t(ie,{label:n.toString()})]},a),n=e=>{const a=g?.type===e.type;return t(Wn,{dataId:e.type?`option-${e.type}`:void 0,title:e.label,description:e.description,withCarret:!0,isSelected:a,onClick:()=>{h.current?.clearErrors(),f(e)}},e.type)};return[a("Attributes",k.length),...k.map(n),a("Samplers",w.length),...w.map(n)]},[s,g?.type,k.length,w.length,f]),x=c(()=>g?[t(co,{},g.type)]:[t(Et,{$height:"100%",children:t(V,{icon:cn,title:"Action not selected",subTitle:"Please select an action to add"})},"no-data")],[g]);return t(zn,{ref:h,isOpen:!0,withOverlay:i,onClose:a,onSave:async()=>{const{errorMessage:e,preparedFormData:t}=S();return e?Promise.resolve({error:e}):await r(t)},disableSave:!g||!y?.isFormDirty,isFormDirty:y?.isFormDirty,hideDirtyNote:!0,errorMessage:C,progress:{title:Rt.CREATING_ACTION,subTitle:Rt.CREATING_ACTION_SUBTITLE},header:{icon:cn,title:Rt.ADD_ACTION,subTitle:Rt.ADD_ACTION_DESCRIPTION},connectionIds:n&&o?{value:n,setValue:o}:void 0,search:{value:u,onChange:p},leftColumn:{width:"40%",list:T},rightColumn:{width:"60%",list:x}})},ei=({testConnection:e})=>{const{activeForm:a}=fo();return{width:"60%",list:a?[t(bo,{testConnection:e},a.option.type)]:[t(Et,{$height:"100%",children:t(V,{icon:dn,title:"Select destination from the list",subTitle:"Add destination so your data has somewhere to go."})},"no-data")]}},ti=p.div`
200
200
  display: flex;
201
201
  flex-direction: column;
202
202
  padding: 8px;
203
203
  border-radius: 16px;
204
204
  border: ${({$purpleColors:e,theme:t})=>e?`1px solid ${t.v2.colors.purple[500]}`:"1px solid transparent"};
205
205
  background-color: ${({$noBgColor:e,$purpleColors:t,theme:a})=>e?"transparent":t?a.v2.colors.purple[900]:a.v2.colors.silver[800]};
206
- `,ti=p.div`
206
+ `,ai=p.div`
207
207
  display: flex;
208
208
  align-items: center;
209
209
  justify-content: space-between;
210
210
  gap: 12px;
211
211
  padding: ${({$isOpen:e})=>e?"2px 12px 8px 12px":"2px 12px"};
212
- `,ai=({title:a,tooltip:n,list:o,noBgColor:r,purpleColors:i})=>{const[s,c]=l(!0);return e(ei,{"data-id":`collapse-${a}`,$noBgColor:r,$purpleColors:i,children:[e(ti,{$isOpen:s,children:[e(g,{$gap:10,children:[t(v,{size:b.XS,children:a}),n&&t(ee,{text:n,withIcon:!0}),t(ie,{label:o.length,status:i?Q.Default:void 0})]}),t(Pt,{icon:s?dn:un,size:$t.M,onClick:()=>c(e=>!e)})]}),s?t(h,{children:o.length?u.toArray(o):t(Et,{$padding:"12px 0",children:t(V,{})})}):null]})},ni=(e,t,a)=>t||a.signalType?e.filter(e=>e.displayName.toLowerCase().includes(t.toLowerCase())&&(!a.signalType||W(e.supportedSignals).includes(a.signalType))):e,oi=({option:e,formData:a,testResult:n,isSelected:o,onSelect:l})=>t(Hn,{icon:Ft(e.type).icon,title:a?.name||e.displayName,withCarret:!0,purpleColors:!!a,isSelected:o,onClick:()=>l(),children:n&&t(ie,{status:n.succeeded?Q.Success:Q.Error,leftIcon:n.succeeded?pn:rn})}),li=({listType:e,destinationOptions:a,unsavedDestinations:n})=>{const{activeForm:o,onChangeActiveForm:l}=go();return a?.length?t(ai,{title:Mt[e].TITLE,tooltip:Mt[e].DESCRIPTION,list:a.map((a,n)=>t(oi,{option:a,isSelected:o?.listType===e&&"number"!=typeof o?.unsavedIdx&&(null!=a.id&&""!==a.id?o?.option.id===a.id:o?.option.type===a.type),onSelect:()=>l({listType:e,option:a})},`${e}-${a.id??a.type}-${n}`))}):n?.length?t(ai,{purpleColors:!0,title:Mt[e].TITLE,tooltip:Mt[e].DESCRIPTION,list:n.map(({option:a,formData:n,testResult:r},i)=>t(oi,{option:a,formData:n,testResult:r,isSelected:o?.unsavedIdx===i&&o?.listType===e,onSelect:()=>l({listType:e,option:a,unsavedIdx:i})},`${e}-${i}`))},e):void 0},ri=({isFetching:e,destinationsByCategory:a,searchText:n,filters:o})=>{const{unsavedDestinations:l}=go(),r=c(()=>{const e=[];l.length&&e.push(t(li,{listType:H.UNSAVED,unsavedDestinations:l},"unsaved"));for(const l of Object.values(H)){if(o.categoryType&&o.categoryType!==l)continue;const r=ni(a[l],n,o);r.length&&e.push(t(li,{listType:l,destinationOptions:r},l))}return e},[l,a,n,o]);return{width:"40%",list:r.length?r:e?[t(Et,{$height:"100%",children:t(Ot,{title:"Fetching destinations",subTitle:"Please wait while we fetch the destinations",withSpinner:!0})},"loading")]:[]}},ii=({destinationsByCategory:n,filters:o,setFilters:l})=>{const r=c(()=>Object.values(H).map(e=>({id:e,label:e.charAt(0).toUpperCase()+e.slice(1).toLowerCase()})).filter(e=>n[e.id]?.length),[n]),i=c(()=>{const e=Object.values(K).map(e=>({value:e,label:e.charAt(0).toUpperCase()+e.slice(1).toLowerCase()}));return e.unshift({value:null,label:"All"}),e},[]);return e(a,{children:[t(Lt,{placeholder:"Select category",options:r,values:o.categoryType?[o.categoryType]:[],setValues:e=>l({...o,categoryType:o.categoryType===e[0]?null:e[0]})}),t(B,{size:ke.S,options:i,selected:o.signalType,setSelected:e=>l({...o,signalType:e})})]})};var si;!function(e){e.SELF_HOSTED="self hosted",e.MANAGED="managed"}(si||(si={}));const ci=({onClose:e,onBack:a,onNext:o,selectedConnectionIds:i,setSelectedConnectionIds:s,getDestinationCategories:c,getPotentialDestinations:d,initialInputs:u,testConnection:p,createDestination:m,updateDestination:h,withOverlay:g,disableAnimation:f})=>{const[v,b]=l(""),[y,S]=l({categoryType:null,signalType:null}),{destinations:C}=zt(),{activeForm:k,genericForm:w,formErrorMessage:T,unsavedDestinations:x,setUnsavedDestinations:D}=go();n(()=>{u&&D(u)},[u]);const[N,A]=l(!0),[I,E]=l([]),[R,P]=l({[H.ALL]:[],[H.UNSAVED]:[],[H.EXISTS]:[],[H.DETECTED]:[],[H.SELF_HOSTED]:[],[H.MANAGED]:[]});n(()=>{const e=C.map(e=>{let t;for(const a of I){const n=a.items.find(t=>t.type===e.destinationType.type);if(n){t=n;break}}const a=q(e.fields,{});return{id:e.id,type:e.destinationType.type,displayName:e.name||e.destinationType.displayName,selected:!0,testConnectionSupported:t?.testConnectionSupported??!1,supportedSignals:e.destinationType.supportedSignals,fields:t?t.fields.map(e=>({...e,initialValue:a[e.name]??e.initialValue})):[]}});P(t=>({...t,[H.EXISTS]:e}))},[C,I]);const $=r(async()=>{try{A(!0);const[e,t]=await Promise.all([c(),d()]);e&&E(e.destinationCategories.categories);const{detectedDestinations:a,selfHostedDestinations:n,managedDestinations:o}=((e,t)=>{const a=[],n=[],o=[];return e&&e.destinationCategories.categories.forEach(e=>{e.name===si.SELF_HOSTED?n.push(...e.items):e.name===si.MANAGED&&o.push(...e.items)}),t&&t?.potentialDestinations.forEach(t=>{for(const n of e?.destinationCategories?.categories||[]){const e=z(n),o=e.items.findIndex(e=>e.type===t.type);if(-1!==o){const n=q(t.fields,{});Object.keys(n).length&&(e.items[o].fields=e.items[o].fields.map(e=>({...e,initialValue:n[e.name]})),a.push(e.items[o]))}}}),{detectedDestinations:a,selfHostedDestinations:n,managedDestinations:o}})(e,t);P(e=>({...e,[H.DETECTED]:a,[H.SELF_HOSTED]:n,[H.MANAGED]:o}))}catch(e){}finally{A(!1)}},[]);n(()=>{$()},[]);const O=r(async()=>{const e=(await Promise.all(x.map(({option:e,formData:t})=>{if(e.id){const a=Object.fromEntries(e.fields.map(e=>[e.name,e.initialValue??""])),n=Object.fromEntries(t.fields.map(e=>[e.key,e.value??""]));if(!Object.keys(a).some(e=>a[e]!==n[e]))return h(e.id,t,i)}return m(t,i)}))).filter(e=>e?.error);if(e.length)return{error:e.map(e=>e?.error).join("\n")}},[x,i,m,h]);return t(Ln,{isOpen:!0,withOverlay:g,disableAnimation:f,onClose:e,onBack:a?()=>a(x):void 0,onNext:o?()=>o(x):void 0,nextIsSkip:!x.length,onSave:O,disableSave:!k&&!x.length,isFetching:N,errorMessage:T,isFormDirty:w?.isFormDirty,hideDirtyNote:!0,progress:{title:Rt.CREATING_DESTINATION,subTitle:Rt.CREATING_DESTINATION_SUBTITLE},header:{icon:cn,title:Rt.ADD_DESTINATIONS,subTitle:Rt.ADD_DESTINATION_DRAWER_DESCRIPTION},connectionIds:i&&s?{value:i,setValue:s}:void 0,search:{value:v,onChange:b},filters:t(ii,{destinationsByCategory:R,filters:y,setFilters:S}),leftColumn:ri({isFetching:N,destinationsByCategory:R,searchText:v,filters:y}),rightColumn:Zr({testConnection:p})})},di=({onClose:e,selectedConnectionIds:a,setSelectedConnectionIds:n,createInstrumentationRule:o,withOverlay:r})=>{const[i,s]=l(""),u=d(null),{selectedOption:p,onSelectOption:m,genericForm:h,validateFormData:g,errorMessage:f}=Ao(),v=c(()=>i?Vt.filter(e=>e.label.toLowerCase().includes(i.toLowerCase())):Vt,[i]),b=c(()=>v.map(e=>{const a=p?.type===e.type;return t(Hn,{dataId:`option-${e.type}`,title:e.label,description:e.description,withCarret:!0,isSelected:a,onClick:()=>{u.current?.clearErrors(),m(e)}},e.type)}),[p,v.length,m]),y=c(()=>p?[t(Io,{},p.type)]:[t(Et,{$height:"100%",children:t(V,{icon:mn,title:"Instrumentation rule not selected",subTitle:"Please select an instrumentation rule to add"})},"no-data")],[p]);return t(Ln,{ref:u,isOpen:!0,withOverlay:r,onClose:e,onSave:async()=>{const{errorMessage:e,preparedFormData:t}=g();return e?Promise.resolve({error:e}):await o(t)},disableSave:!p||!h?.isFormDirty,isFormDirty:h?.isFormDirty,hideDirtyNote:!0,errorMessage:f,progress:{title:Rt.CREATING_INSTRUMENTATION_RULE,subTitle:Rt.CREATING_INSTRUMENTATION_RULE_SUBTITLE},header:{icon:mn,title:Rt.ADD_INSTRUMENTATION_RULE,subTitle:Rt.ADD_INSTRUMENTATION_RULE_DESCRIPTION},connectionIds:a&&n?{value:a,setValue:n}:void 0,search:{value:i,onChange:s},leftColumn:{width:"40%",list:b},rightColumn:{width:"60%",list:y}})},ui=p.div``,pi=p.div`
212
+ `,ni=({title:a,tooltip:n,list:o,noBgColor:r,purpleColors:i})=>{const[s,c]=l(!0);return e(ti,{"data-id":`collapse-${a}`,$noBgColor:r,$purpleColors:i,children:[e(ai,{$isOpen:s,children:[e(g,{$gap:10,children:[t(v,{size:b.XS,children:a}),n&&t(ee,{text:n,withIcon:!0}),t(ie,{label:o.length,status:i?Q.Default:void 0})]}),t(Pt,{icon:s?un:pn,size:$t.M,onClick:()=>c(e=>!e)})]}),s?t(h,{children:o.length?u.toArray(o):t(Et,{$padding:"12px 0",children:t(V,{})})}):null]})},oi=(e,t,a)=>t||a.signalType?e.filter(e=>e.displayName.toLowerCase().includes(t.toLowerCase())&&(!a.signalType||W(e.supportedSignals).includes(a.signalType))):e,li=({option:e,formData:a,testResult:n,isSelected:o,onSelect:l})=>t(Wn,{icon:Lt(e.type).icon,title:a?.name||e.displayName,withCarret:!0,purpleColors:!!a,isSelected:o,onClick:()=>l(),children:n&&t(ie,{status:n.succeeded?Q.Success:Q.Error,leftIcon:n.succeeded?mn:sn})}),ri=({listType:e,destinationOptions:a,unsavedDestinations:n})=>{const{activeForm:o,onChangeActiveForm:l}=fo();return a?.length?t(ni,{title:Mt[e].TITLE,tooltip:Mt[e].DESCRIPTION,list:a.map((a,n)=>t(li,{option:a,isSelected:o?.listType===e&&"number"!=typeof o?.unsavedIdx&&(null!=a.id&&""!==a.id?o?.option.id===a.id:o?.option.type===a.type),onSelect:()=>l({listType:e,option:a})},`${e}-${a.id??a.type}-${n}`))}):n?.length?t(ni,{purpleColors:!0,title:Mt[e].TITLE,tooltip:Mt[e].DESCRIPTION,list:n.map(({option:a,formData:n,testResult:r},i)=>t(li,{option:a,formData:n,testResult:r,isSelected:o?.unsavedIdx===i&&o?.listType===e,onSelect:()=>l({listType:e,option:a,unsavedIdx:i})},`${e}-${i}`))},e):void 0},ii=({isFetching:e,destinationsByCategory:a,searchText:n,filters:o})=>{const{unsavedDestinations:l}=fo(),r=c(()=>{const e=[];l.length&&e.push(t(ri,{listType:H.UNSAVED,unsavedDestinations:l},"unsaved"));for(const l of Object.values(H)){if(o.categoryType&&o.categoryType!==l)continue;const r=oi(a[l],n,o);r.length&&e.push(t(ri,{listType:l,destinationOptions:r},l))}return e},[l,a,n,o]);return{width:"40%",list:r.length?r:e?[t(Et,{$height:"100%",children:t(Ot,{title:"Fetching destinations",subTitle:"Please wait while we fetch the destinations",withSpinner:!0})},"loading")]:[]}},si=({destinationsByCategory:n,filters:o,setFilters:l})=>{const r=c(()=>Object.values(H).map(e=>({id:e,label:e.charAt(0).toUpperCase()+e.slice(1).toLowerCase()})).filter(e=>n[e.id]?.length),[n]),i=c(()=>{const e=Object.values(K).map(e=>({value:e,label:e.charAt(0).toUpperCase()+e.slice(1).toLowerCase()}));return e.unshift({value:null,label:"All"}),e},[]);return e(a,{children:[t(Ft,{placeholder:"Select category",options:r,values:o.categoryType?[o.categoryType]:[],setValues:e=>l({...o,categoryType:o.categoryType===e[0]?null:e[0]})}),t(B,{size:ke.S,options:i,selected:o.signalType,setSelected:e=>l({...o,signalType:e})})]})};var ci;!function(e){e.SELF_HOSTED="self hosted",e.MANAGED="managed"}(ci||(ci={}));const di=({onClose:e,onBack:a,onNext:o,selectedConnectionIds:i,setSelectedConnectionIds:s,getDestinationCategories:c,getPotentialDestinations:d,initialInputs:u,testConnection:p,createDestination:m,updateDestination:h,withOverlay:g,disableAnimation:f})=>{const[v,b]=l(""),[y,S]=l({categoryType:null,signalType:null}),{destinations:C}=zt(),{activeForm:k,genericForm:w,formErrorMessage:T,unsavedDestinations:x,setUnsavedDestinations:D}=fo();n(()=>{u&&D(u)},[u]);const[N,A]=l(!0),[I,E]=l([]),[R,P]=l({[H.ALL]:[],[H.UNSAVED]:[],[H.EXISTS]:[],[H.DETECTED]:[],[H.SELF_HOSTED]:[],[H.MANAGED]:[]});n(()=>{const e=C.map(e=>{let t;for(const a of I){const n=a.items.find(t=>t.type===e.destinationType.type);if(n){t=n;break}}const a=q(e.fields,{});return{id:e.id,type:e.destinationType.type,displayName:e.name||e.destinationType.displayName,selected:!0,testConnectionSupported:t?.testConnectionSupported??!1,supportedSignals:e.destinationType.supportedSignals,fields:t?t.fields.map(e=>({...e,initialValue:a[e.name]??e.initialValue})):[]}});P(t=>({...t,[H.EXISTS]:e}))},[C,I]);const $=r(async()=>{try{A(!0);const[e,t]=await Promise.all([c(),d()]);e&&E(e.destinationCategories.categories);const{detectedDestinations:a,selfHostedDestinations:n,managedDestinations:o}=((e,t)=>{const a=[],n=[],o=[];return e&&e.destinationCategories.categories.forEach(e=>{e.name===ci.SELF_HOSTED?n.push(...e.items):e.name===ci.MANAGED&&o.push(...e.items)}),t&&t?.potentialDestinations.forEach(t=>{for(const n of e?.destinationCategories?.categories||[]){const e=z(n),o=e.items.findIndex(e=>e.type===t.type);if(-1!==o){const n=q(t.fields,{});Object.keys(n).length&&(e.items[o].fields=e.items[o].fields.map(e=>({...e,initialValue:n[e.name]})),a.push(e.items[o]))}}}),{detectedDestinations:a,selfHostedDestinations:n,managedDestinations:o}})(e,t);P(e=>({...e,[H.DETECTED]:a,[H.SELF_HOSTED]:n,[H.MANAGED]:o}))}catch(e){}finally{A(!1)}},[]);n(()=>{$()},[]);const O=r(async()=>{const e=(await Promise.all(x.map(({option:e,formData:t})=>{if(e.id){const a=Object.fromEntries(e.fields.map(e=>[e.name,e.initialValue??""])),n=Object.fromEntries(t.fields.map(e=>[e.key,e.value??""]));if(!Object.keys(a).some(e=>a[e]!==n[e]))return h(e.id,t,i)}return m(t,i)}))).filter(e=>e?.error);if(e.length)return{error:e.map(e=>e?.error).join("\n")}},[x,i,m,h]);return t(zn,{isOpen:!0,withOverlay:g,disableAnimation:f,onClose:e,onBack:a?()=>a(x):void 0,onNext:o?()=>o(x):void 0,nextIsSkip:!x.length,onSave:O,disableSave:!k&&!x.length,isFetching:N,errorMessage:T,isFormDirty:w?.isFormDirty,hideDirtyNote:!0,progress:{title:Rt.CREATING_DESTINATION,subTitle:Rt.CREATING_DESTINATION_SUBTITLE},header:{icon:dn,title:Rt.ADD_DESTINATIONS,subTitle:Rt.ADD_DESTINATION_DRAWER_DESCRIPTION},connectionIds:i&&s?{value:i,setValue:s}:void 0,search:{value:v,onChange:b},filters:t(si,{destinationsByCategory:R,filters:y,setFilters:S}),leftColumn:ii({isFetching:N,destinationsByCategory:R,searchText:v,filters:y}),rightColumn:ei({testConnection:p})})},ui=({onClose:e,selectedConnectionIds:a,setSelectedConnectionIds:n,createInstrumentationRule:o,withOverlay:r})=>{const[i,s]=l(""),u=d(null),{selectedOption:p,onSelectOption:m,genericForm:h,validateFormData:g,errorMessage:f}=Io(),v=c(()=>i?Vt.filter(e=>e.label.toLowerCase().includes(i.toLowerCase())):Vt,[i]),b=c(()=>v.map(e=>{const a=p?.type===e.type;return t(Wn,{dataId:`option-${e.type}`,title:e.label,description:e.description,withCarret:!0,isSelected:a,onClick:()=>{u.current?.clearErrors(),m(e)}},e.type)}),[p,v.length,m]),y=c(()=>p?[t(Eo,{},p.type)]:[t(Et,{$height:"100%",children:t(V,{icon:hn,title:"Instrumentation rule not selected",subTitle:"Please select an instrumentation rule to add"})},"no-data")],[p]);return t(zn,{ref:u,isOpen:!0,withOverlay:r,onClose:e,onSave:async()=>{const{errorMessage:e,preparedFormData:t}=g();return e?Promise.resolve({error:e}):await o(t)},disableSave:!p||!h?.isFormDirty,isFormDirty:h?.isFormDirty,hideDirtyNote:!0,errorMessage:f,progress:{title:Rt.CREATING_INSTRUMENTATION_RULE,subTitle:Rt.CREATING_INSTRUMENTATION_RULE_SUBTITLE},header:{icon:hn,title:Rt.ADD_INSTRUMENTATION_RULE,subTitle:Rt.ADD_INSTRUMENTATION_RULE_DESCRIPTION},connectionIds:a&&n?{value:a,setValue:n}:void 0,search:{value:i,onChange:s},leftColumn:{width:"40%",list:b},rightColumn:{width:"60%",list:y}})},pi=p.div``,mi=p.div`
213
213
  visibility: hidden;
214
214
 
215
215
  transition: visibility 0s;
@@ -217,19 +217,19 @@ import{jsxs as e,jsx as t,Fragment as a}from"react/jsx-runtime";import{useEffect
217
217
  transition-duration: 0s;
218
218
  }
219
219
 
220
- ${ui}:hover & {
220
+ ${pi}:hover & {
221
221
  visibility: visible;
222
222
  }
223
- `,mi=({workloadName:e,workloadKind:a,isChecked:n,onToggle:o,disabled:l,disabledReason:r})=>{const i=m(),s=()=>{};return t(ui,{children:t(Hn,{dataId:`source-${e}`,title:e,disabled:l,onClick:l?s:o,isChecked:n,onCheckboxChange:l?s:o,children:l&&r?t(ie,{label:r,status:Q.Default,textSize:b.XXXS}):t(pi,{children:t(ie,{label:a,status:Q.Info,textSize:b.XXXS,backgroundColor:i.v2.colors.blue[900]})})})})},hi=({formData:a,handleSourceChange:n,handleSelectAll:o,selectedArea:l,searchText:r,searchBy:i,filters:s})=>{const{tier:d}=de(),u=d===fe.Onprem,p=c(()=>l.value.namespaceName?a.find(({clusterId:e})=>e===l.value.clusterId)?.namespaces.find(({name:e})=>e===l.value.namespaceName):void 0,[a,l.value.clusterId,l.value.namespaceName]),m=c(()=>p?[...p.workloads].sort((e,t)=>e.name.localeCompare(t.name)).filter(e=>he(e,r,s)):[],[p,r,s]),h=c(()=>!!m.length&&m.every(({selected:e})=>e),[m]),f=c(()=>{if(!p)return[];const{clusterId:e}=l.value,{name:a}=p;return m.map(({name:o,selected:l,kind:r})=>{const i=!u&&me.has(r);return t(mi,{workloadName:o,workloadKind:r,isChecked:!i&&(l||!1),onToggle:()=>n({clusterId:e,workloadId:{namespace:a,name:o,kind:r}}),disabled:i,disabledReason:"Enterprise only"},`${e}#${a}#${o}#${r}`)})},[m,p,l.value.clusterId]),{withFilterCount:y,filteredCount:S,totalCount:C}=c(()=>{const e=p?.workloads.length??0;return{withFilterCount:m.length!==e,filteredCount:m.length,totalCount:e}},[m,p]);return{width:"40%",header:e(g,{$width:"100%",$gap:12,$justifyContent:"space-between",children:[e(g,{$gap:8,children:[t(v,{size:b.XS,nowrap:!0,children:l.value.namespaceName?`${l.value.namespaceName} > Workloads`:"Workloads"}),t(ee,{text:y?Rt.FILTERED_COUNT_TOOLTIP:void 0,children:t(ie,{label:`${y?`${S} / ${C}`:C}`,status:Xt.Unknown})})]}),t(v,{"data-id":"workloads-select-all",onClick:()=>o({clusterId:l.value.clusterId,namespaceName:l.value.namespaceName,boolean:!h,searchText:r,searchBy:i,filters:s}),disabled:!f.length,size:b.XS,children:(h?"Unselect":"Select")+" all"})]}),list:p?f:[t(Et,{$height:"100%",children:t(V,{icon:hn,title:Rt.SELECT_NAMESPACE,subTitle:Rt.SELECT_NAMESPACE_SUBTITLE})},"no-data")]}},gi=p.div``,fi=p.div`
223
+ `,hi=({workloadName:e,workloadKind:a,isChecked:n,onToggle:o,disabled:l,disabledReason:r})=>{const i=m(),s=()=>{};return t(pi,{children:t(Wn,{dataId:`source-${e}`,title:e,disabled:l,onClick:l?s:o,isChecked:n,onCheckboxChange:l?s:o,children:l&&r?t(ie,{label:r,status:Q.Default,textSize:b.XXXS}):t(mi,{children:t(ie,{label:a,status:Q.Info,textSize:b.XXXS,backgroundColor:i.v2.colors.blue[900]})})})})},gi=({formData:a,handleSourceChange:n,handleSelectAll:o,selectedArea:l,searchText:r,searchBy:i,filters:s})=>{const{tier:d}=de(),u=d===fe.Onprem,p=c(()=>l.value.namespaceName?a.find(({clusterId:e})=>e===l.value.clusterId)?.namespaces.find(({name:e})=>e===l.value.namespaceName):void 0,[a,l.value.clusterId,l.value.namespaceName]),m=c(()=>p?[...p.workloads].sort((e,t)=>e.name.localeCompare(t.name)).filter(e=>he(e,r,s)):[],[p,r,s]),h=c(()=>!!m.length&&m.every(({selected:e})=>e),[m]),f=c(()=>{if(!p)return[];const{clusterId:e}=l.value,{name:a}=p;return m.map(({name:o,selected:l,kind:r})=>{const i=!u&&me.has(r);return t(hi,{workloadName:o,workloadKind:r,isChecked:!i&&(l||!1),onToggle:()=>n({clusterId:e,workloadId:{namespace:a,name:o,kind:r}}),disabled:i,disabledReason:"Enterprise only"},`${e}#${a}#${o}#${r}`)})},[m,p,l.value.clusterId]),{withFilterCount:y,filteredCount:S,totalCount:C}=c(()=>{const e=p?.workloads.length??0;return{withFilterCount:m.length!==e,filteredCount:m.length,totalCount:e}},[m,p]);return{width:"40%",header:e(g,{$width:"100%",$gap:12,$justifyContent:"space-between",children:[e(g,{$gap:8,children:[t(v,{size:b.XS,nowrap:!0,children:l.value.namespaceName?`${l.value.namespaceName} > Workloads`:"Workloads"}),t(ee,{text:y?Rt.FILTERED_COUNT_TOOLTIP:void 0,children:t(ie,{label:`${y?`${S} / ${C}`:C}`,status:Xt.Unknown})})]}),t(v,{"data-id":"workloads-select-all",onClick:()=>o({clusterId:l.value.clusterId,namespaceName:l.value.namespaceName,boolean:!h,searchText:r,searchBy:i,filters:s}),disabled:!f.length,size:b.XS,children:(h?"Unselect":"Select")+" all"})]}),list:p?f:[t(Et,{$height:"100%",children:t(V,{icon:gn,title:Rt.SELECT_NAMESPACE,subTitle:Rt.SELECT_NAMESPACE_SUBTITLE})},"no-data")]}},fi=p.div``,vi=p.div`
224
224
  visibility: ${({$visible:e})=>e?"visible":"hidden"};
225
225
 
226
226
  transition: visibility 0s;
227
227
  ${({$visible:e})=>!e&&"& * {\n transition-duration: 0s !important;\n }"}
228
228
 
229
- ${gi}:hover & {
229
+ ${fi}:hover & {
230
230
  visibility: visible;
231
231
  }
232
- `,vi=({clusterId:a,namespaceName:n,checkbox:o,isFutureApps:l,selectedCounts:r,isActive:i,onActive:s,handleSourceChange:c})=>{const d=m(),u=e=>{s(),c({clusterId:a,workloadId:{namespace:n},auto:e.auto,selected:e.all})};return t(gi,{children:t(Hn,{dataId:`namespace-${n}`,withCarret:!0,title:n,isSelected:i,onClick:s,isPartiallyChecked:o.partial,isChecked:o.all,onCheckboxChange:e=>u({auto:e,all:e}),children:e(g,{$gap:12,children:[t(fi,{$visible:i||l,children:t(ee,{text:"Automatically instrument all workloads currently in the namespace, and all workloads that will be deployed to this namespace in the future",children:t(A,{label:"Auto",size:lt.S,value:l,onChange:e=>u({auto:e,all:e||void 0})})})}),e(g,{$gap:8,children:[t(v,{variant:Bt.Span,size:b.XXXS,color:d.v2.colors.silver[200],align:"right",children:"Selected"}),t(ie,{label:`${r.sourced}/${r.total}`,status:i?Q.Default:Xt.Unknown,minWidth:"42px"})]})]})})})},bi=({withCollapse:e,clusterId:a,clusterName:n,namespaces:o,selectedArea:l,setSelectedArea:r,handleSourceChange:i})=>{const s=c(()=>o.map(({name:e,totalWorkloads:o,selectedCount:s,isAllSourced:c,isSomeSourced:d,isFutureApps:u})=>t(vi,{clusterId:a,namespaceName:e,isFutureApps:u,checkbox:{all:c,partial:d},selectedCounts:{sourced:s,total:o},isActive:l.clusterId===a&&l.namespaceName===e,onActive:()=>r({clusterId:a,clusterName:n,namespaceName:e}),handleSourceChange:i},`${a}#${e}`)),[a,n,o,l]);return e?t(ai,{title:n,list:s,noBgColor:!0}):s},yi=({isFetching:a,formData:n,handleSourceChange:o,handleSelectAll:l,selectedArea:r,setSelectedArea:i,searchText:s,searchBy:d,filters:u})=>{const p=c(()=>n.map(e=>{const t=[...e.namespaces].sort((e,t)=>e.name.localeCompare(t.name)).filter(e=>ge(e,s,u)).map(e=>({name:e.name,totalWorkloads:e.workloads.length,..._t(e)}));return{clusterId:e.clusterId,clusterName:e.clusterName,visibleNamespaces:t}}),[n,s,u]),m=c(()=>{let e=!1;for(const{visibleNamespaces:t}of p)for(const{totalWorkloads:a,selectedCount:n}of t)if(e=!0,n!==a)return!1;return e},[p]),{list:h,withFilterCount:f,filteredCount:y,totalCount:S}=c(()=>{const e=p.map(({clusterId:e,clusterName:a,visibleNamespaces:n})=>n.length?t(bi,{withCollapse:p.length>1,clusterId:e,clusterName:a,namespaces:n,selectedArea:r,setSelectedArea:i,handleSourceChange:o},e):null),a=e.filter(e=>null!==e);return{list:a,withFilterCount:a.length!==e.length,filteredCount:a.length,totalCount:e.length}},[p,r]);return{width:"60%",header:e(g,{$width:"100%",$gap:12,$justifyContent:"space-between",children:[e(g,{$gap:8,children:[t(v,{size:b.XS,nowrap:!0,children:"Namespaces"}),t(ee,{text:f?Rt.FILTERED_COUNT_TOOLTIP:void 0,children:t(ie,{label:`${f?`${y} / ${S}`:S}`,status:Xt.Unknown})})]}),t(v,{"data-id":"namespaces-select-all",onClick:()=>l({boolean:!m,searchText:s,searchBy:d,filters:u}),disabled:!h.length,size:b.XS,children:(m?"Unselect":"Select")+" all"})]}),list:h.length?h:a?[t(Et,{$height:"100%",children:t(Ot,{title:Rt.FETCHING_NAMESPACES,subTitle:Rt.FETCHING_NAMESPACES_SUBTITLE,withSpinner:!0})},"loading")]:[]}},Si=({onClose:a,onBack:n,onNext:o,selectedConnectionIds:r,setSelectedConnectionIds:i,persistSources:s,withOverlay:c,disableAnimation:d})=>{const u=m(),{progress:p,resetProgress:h}=Ut(),{isFetching:f,formData:y,handleSourceChange:S,handleSelectAll:C,formDiff:k,isFormDirty:w}=Po(),[T,x]=l(""),[D,N]=l(ve.Namespace),[I,E]=l({showOnlySelected:!1}),[R,P]=l({clusterId:"",clusterName:"",namespaceName:""});return t(Ln,{isOpen:!0,withOverlay:c,disableAnimation:d,onClose:a?()=>{h(jt.BulkInstrumenting),a()}:void 0,onBack:n?()=>n(k):void 0,onNext:o?()=>o(k):void 0,nextIsSkip:!w,onSave:()=>s(k),header:{icon:hn,title:Rt.ADD_SOURCE,subTitle:Rt.ADD_SOURCES_DESCRIPTION},connectionIds:r&&i?{value:r,setValue:i}:void 0,search:{value:T,onChange:e=>{x(e),D===ve.Namespace&&P({clusterId:"",clusterName:"",namespaceName:""})},segment:{options:[{label:"Namespace",value:ve.Namespace},{label:"Source",value:ve.Source}],selected:D,setSelected:N}},filters:e(g,{$gap:8,children:[t(v,{size:b.XXXS,color:u.v2.colors.silver[200],nowrap:!0,children:"Show only:"}),t(A,{name:"filter-selected",size:lt.S,label:"Selected",value:I.showOnlySelected,onChange:e=>E(t=>({...t,showOnlySelected:e}))})]}),isFormDirty:w,isFetching:f,progress:{title:Rt.CREATING_SOURCES,subTitle:Rt.CREATING_SOURCES_SUBTITLE,percentage:p[jt.BulkInstrumenting]?.percentage||0},leftColumn:yi({isFetching:f,formData:y,handleSourceChange:S,handleSelectAll:C,selectedArea:R,setSelectedArea:P,searchText:D===ve.Namespace?T:"",searchBy:D,filters:I}),rightColumn:hi({formData:y,handleSourceChange:S,handleSelectAll:C,selectedArea:{value:R},searchText:D===ve.Source?T:"",searchBy:D,filters:I})})},Ci=({isOpen:e,onClose:a,onSubmit:o,validateForm:l,onNavigateToDuplicate:i})=>{const{category:s,formData:c,resetForm:d,duplicateWarning:u,setDuplicateWarning:p}=gl();n(()=>{e&&d()},[e]);const m=r(()=>{if(l){const e=l(c);if(e)return void p(e)}o(c)},[c,o,l,p]),h={note:u?{status:Q.Warning,message:u.message,action:i?{"data-id":"sampling-create-btn-view-duplicate",label:"View rule",onClick:()=>i(u.ruleId)}:void 0}:void 0,actions:[{"data-id":"sampling-create-btn-cancel",label:Wt,variant:O.Secondary,size:$.S,onClick:a},{"data-id":"sampling-create-btn-submit",label:Kt,variant:O.Primary,size:$.S,onClick:m,disabled:!!u}]};return t(Ht,{isOpen:e,width:Yt,header:{icon:gn,title:qt[s],subTitle:Gt[s],onClose:a},footer:h,children:t(Jt,{$padding:"12px",children:t(tr,{})})})},ki=({category:e,sourceOptions:a,namespaceOptions:n,...o})=>t(hl,{category:e,sourceOptions:a,namespaceOptions:n,children:t(Ci,{...o})}),wi=({isOpen:e,onClose:a,onSave:n})=>{const{localEnabled:o,resolvedPercentage:l}=Lr(),i=r(()=>{n(o,l)},[o,l,n]);return t(Ht,{isOpen:e,width:Yt,header:{icon:gn,title:ea,subTitle:Zt,onClose:a},footer:{actions:[{"data-id":"sampling-edit-auto-rule-btn-cancel",label:Wt,variant:O.Secondary,size:$.S,onClick:a},{"data-id":"sampling-edit-auto-rule-btn-save",label:Qt,variant:O.Primary,size:$.S,onClick:i}]},children:t(Jt,{$padding:"12px",children:t(Vr,{})})})},Ti=({enabled:e,keepPercentage:a,...n})=>t(Fr,{enabled:e,keepPercentage:a,children:t(wi,{...n})}),xi=({isOpen:e,onClose:a,onSave:n})=>{const{localEnabled:o}=_r(),l=r(()=>{n(o)},[o,n]);return t(Ht,{isOpen:e,width:Yt,header:{icon:gn,title:aa,subTitle:ta,onClose:a},footer:{actions:[{"data-id":"sampling-edit-highly-relevant-auto-rule-btn-cancel",label:Wt,variant:O.Secondary,size:$.S,onClick:a},{"data-id":"sampling-edit-highly-relevant-auto-rule-btn-save",label:Qt,variant:O.Primary,size:$.S,onClick:l}]},children:t(Jt,{$padding:"12px",children:t(jr,{})})})},Di=({enabled:e,...a})=>t(Br,{enabled:e,children:t(xi,{...a})}),Ni=({isOpen:e,onClose:a,onSave:n})=>{const{localEnabled:o,resolvedPercentage:l}=Gr(),i=r(()=>{n(o,l)},[o,l,n]);return t(Ht,{isOpen:e,width:Yt,header:{icon:gn,title:oa,subTitle:na,onClose:a},footer:{actions:[{"data-id":"sampling-edit-cost-reduction-auto-rule-btn-cancel",label:Wt,variant:O.Secondary,size:$.S,onClick:a},{"data-id":"sampling-edit-cost-reduction-auto-rule-btn-save",label:Qt,variant:O.Primary,size:$.S,onClick:i}]},children:t(Jt,{$padding:"12px",children:t(Yr,{})})})},Ai=({enabled:e,dropPercentage:a,...n})=>t(Kr,{enabled:e,dropPercentage:a,children:t(Ni,{...n})}),Ii=({onClose:a,connections:o,selectedConnectionIds:r,setSelectedConnectionIds:i,getEffectiveConfig:s,onApply:d})=>{const u=m(),[p,h]=l(""),[f,y]=l({showOnlySelected:!1}),S=c(()=>o.filter(e=>{const t=!p||e.name.toLowerCase().includes(p.toLowerCase()),a=!f.showOnlySelected||f.showOnlySelected&&r.includes(e.id);return t&&a}),[o.length,r.length,p,f]),C=e=>{i(t=>t.includes(e)?t.filter(t=>t!==e):[...t,e])},[k,w]=l(!1),[T,x]=l(void 0),{formData:D,handleFormChange:N,areFormValuesEqual:I,resetFormData:E}=L(T||{rollout:{automaticRolloutDisabled:!1}}),R=c(()=>r.length>1||void 0!==T&&!I(T,D),[r.length,T,D]);return n(()=>{1===r.length?(async e=>{if(k)return;w(!0);const t=await s(e);if(t){const e={rollout:{automaticRolloutDisabled:t.rollout?.automaticRolloutDisabled??!1}};x(e),E(e)}w(!1)})(r[0]):x(void 0)},[r.length]),t(Ln,{isOpen:!0,onClose:a,onSave:()=>d(D,r),header:{icon:fn,title:"Cluster Configuration"},connectionIds:{value:r,setValue:i},search:{placeholder:"Search by cluster name",value:p,onChange:h},filters:e(g,{$gap:8,children:[t(v,{size:b.XXXS,color:u.v2.colors.silver[200],nowrap:!0,children:"Show only:"}),t(A,{size:lt.S,label:"Selected",value:f.showOnlySelected,onChange:e=>y(t=>({...t,showOnlySelected:e}))})]}),isFormDirty:R,isFetching:k,leftColumn:{width:"35%",header:e(g,{$width:"100%",$gap:12,$justifyContent:"space-between",children:[e(g,{$gap:8,children:[t(v,{size:b.XS,children:"Clusters"}),t(ie,{label:S.length,status:Xt.Unknown})]}),e(g,{$gap:8,children:[t(v,{size:b.XXXS,color:u.v2.colors.silver[200],align:"right",children:"Selected clusters"}),t(ie,{label:`${r.length}/${S.length}`,status:Xt.Unknown})]})]}),list:S.map(e=>t(Hn,{title:e.name,isChecked:r.includes(e.id),onClick:()=>C(e.id),onCheckboxChange:()=>C(e.id)},e.id))},rightColumn:{width:"65%",header:t(v,{size:b.XS,children:"Configurations"}),list:[t(A,{label:"Automatic rollout disabled",tooltip:"Odigos automatically triggers a one-time rollout for workloads when instrumenting or uninstrumenting, ensuring that changes are applied without requiring manual intervention. When automatic rollout is disabled, Odigos will not restart workloads, and users will need to manually trigger rollouts after adding or removing sources.",value:D.rollout?.automaticRolloutDisabled||!1,onChange:e=>N("rollout.automaticRolloutDisabled",e)},"automatic-rollout-disabled")]}})},Ei=({token:n,isLoading:o,isEditing:l,onEdit:r,onCancel:i,onSave:s,formData:c,handleFormChange:d,handleErrorChange:u,formErrors:p})=>{const{CopyButton:m}=la(),h=!l||o||!c.newToken;return ra({key:"Enter",active:!h},s),e(g,l?{$justifyContent:"space-between",$alignItems:"flex-start",$gap:12,children:[t(w,{type:"password",value:c.newToken,onChange:e=>{d("newToken",e.target.value),u("newToken",void 0)},width:"430px",autoFocus:!0,errorMessage:p.newToken}),t(g,{$margin:o?"8px 0 0 0":"2px 0 0 0",$alignItems:"center",children:o?t(Ot,{title:"Saving...",withGradient:!0}):e(a,{children:[t(P,{variant:O.Secondary,size:$.S,leftIcon:rn,onClick:i,disabled:o}),t(P,{variant:O.Primary,size:$.S,leftIcon:pn,onClick:s,disabled:h})]})})]}:{$justifyContent:"space-between",$gap:12,children:[t(v,{size:b.XS,children:new Array(55).fill("•").join("")}),e(g,{$alignItems:"center",$justifyContent:"space-between",children:[t(m,{value:n}),t(Pt,{icon:nn,onClick:r})]})]})},Ri=({expiresAt:e,callbackValid:a,callbackExpired:o})=>{const{formatTimeAgo:l}=ia(),r=c(()=>l(e),[e]),i=c(()=>new Date(e).toDateString().split(" ").slice(1).join(" "),[e]),s=c(()=>sa(e,0)?Q.Error:sa(e,2592e6)?Q.Warning:Q.Success,[e]),d=c(()=>s===Q.Success?pn:s===Q.Warning?vn:bn,[s]);return n(()=>{s===Q.Success?a():s===Q.Error&&o()},[s]),t(ee,{text:i,children:t(ie,{leftIcon:d,label:r,status:s,invertColors:!0,useSecondaryTone:!0})})},Pi=p.div`
232
+ `,bi=({clusterId:a,namespaceName:n,checkbox:o,isFutureApps:l,selectedCounts:r,isActive:i,onActive:s,handleSourceChange:c})=>{const d=m(),u=e=>{s(),c({clusterId:a,workloadId:{namespace:n},auto:e.auto,selected:e.all})};return t(fi,{children:t(Wn,{dataId:`namespace-${n}`,withCarret:!0,title:n,isSelected:i,onClick:s,isPartiallyChecked:o.partial,isChecked:o.all,onCheckboxChange:e=>u({auto:e,all:e}),children:e(g,{$gap:12,children:[t(vi,{$visible:i||l,children:t(ee,{text:"Automatically instrument all workloads currently in the namespace, and all workloads that will be deployed to this namespace in the future",children:t(A,{label:"Auto",size:lt.S,value:l,onChange:e=>u({auto:e,all:e||void 0})})})}),e(g,{$gap:8,children:[t(v,{variant:Bt.Span,size:b.XXXS,color:d.v2.colors.silver[200],align:"right",children:"Selected"}),t(ie,{label:`${r.sourced}/${r.total}`,status:i?Q.Default:Xt.Unknown,minWidth:"42px"})]})]})})})},yi=({withCollapse:e,clusterId:a,clusterName:n,namespaces:o,selectedArea:l,setSelectedArea:r,handleSourceChange:i})=>{const s=c(()=>o.map(({name:e,totalWorkloads:o,selectedCount:s,isAllSourced:c,isSomeSourced:d,isFutureApps:u})=>t(bi,{clusterId:a,namespaceName:e,isFutureApps:u,checkbox:{all:c,partial:d},selectedCounts:{sourced:s,total:o},isActive:l.clusterId===a&&l.namespaceName===e,onActive:()=>r({clusterId:a,clusterName:n,namespaceName:e}),handleSourceChange:i},`${a}#${e}`)),[a,n,o,l]);return e?t(ni,{title:n,list:s,noBgColor:!0}):s},Si=({isFetching:a,formData:n,handleSourceChange:o,handleSelectAll:l,selectedArea:r,setSelectedArea:i,searchText:s,searchBy:d,filters:u})=>{const p=c(()=>n.map(e=>{const t=[...e.namespaces].sort((e,t)=>e.name.localeCompare(t.name)).filter(e=>ge(e,s,u)).map(e=>({name:e.name,totalWorkloads:e.workloads.length,..._t(e)}));return{clusterId:e.clusterId,clusterName:e.clusterName,visibleNamespaces:t}}),[n,s,u]),m=c(()=>{let e=!1;for(const{visibleNamespaces:t}of p)for(const{totalWorkloads:a,selectedCount:n}of t)if(e=!0,n!==a)return!1;return e},[p]),{list:h,withFilterCount:f,filteredCount:y,totalCount:S}=c(()=>{const e=p.map(({clusterId:e,clusterName:a,visibleNamespaces:n})=>n.length?t(yi,{withCollapse:p.length>1,clusterId:e,clusterName:a,namespaces:n,selectedArea:r,setSelectedArea:i,handleSourceChange:o},e):null),a=e.filter(e=>null!==e);return{list:a,withFilterCount:a.length!==e.length,filteredCount:a.length,totalCount:e.length}},[p,r]);return{width:"60%",header:e(g,{$width:"100%",$gap:12,$justifyContent:"space-between",children:[e(g,{$gap:8,children:[t(v,{size:b.XS,nowrap:!0,children:"Namespaces"}),t(ee,{text:f?Rt.FILTERED_COUNT_TOOLTIP:void 0,children:t(ie,{label:`${f?`${y} / ${S}`:S}`,status:Xt.Unknown})})]}),t(v,{"data-id":"namespaces-select-all",onClick:()=>l({boolean:!m,searchText:s,searchBy:d,filters:u}),disabled:!h.length,size:b.XS,children:(m?"Unselect":"Select")+" all"})]}),list:h.length?h:a?[t(Et,{$height:"100%",children:t(Ot,{title:Rt.FETCHING_NAMESPACES,subTitle:Rt.FETCHING_NAMESPACES_SUBTITLE,withSpinner:!0})},"loading")]:[]}},Ci=({onClose:a,onBack:n,onNext:o,selectedConnectionIds:r,setSelectedConnectionIds:i,persistSources:s,withOverlay:c,disableAnimation:d})=>{const u=m(),{progress:p,resetProgress:h}=Ut(),{isFetching:f,formData:y,handleSourceChange:S,handleSelectAll:C,formDiff:k,isFormDirty:w}=$o(),[T,x]=l(""),[D,N]=l(ve.Namespace),[I,E]=l({showOnlySelected:!1}),[R,P]=l({clusterId:"",clusterName:"",namespaceName:""});return t(zn,{isOpen:!0,withOverlay:c,disableAnimation:d,onClose:a?()=>{h(jt.BulkInstrumenting),a()}:void 0,onBack:n?()=>n(k):void 0,onNext:o?()=>o(k):void 0,nextIsSkip:!w,onSave:()=>s(k),header:{icon:gn,title:Rt.ADD_SOURCE,subTitle:Rt.ADD_SOURCES_DESCRIPTION},connectionIds:r&&i?{value:r,setValue:i}:void 0,search:{value:T,onChange:e=>{x(e),D===ve.Namespace&&P({clusterId:"",clusterName:"",namespaceName:""})},segment:{options:[{label:"Namespace",value:ve.Namespace},{label:"Source",value:ve.Source}],selected:D,setSelected:N}},filters:e(g,{$gap:8,children:[t(v,{size:b.XXXS,color:u.v2.colors.silver[200],nowrap:!0,children:"Show only:"}),t(A,{name:"filter-selected",size:lt.S,label:"Selected",value:I.showOnlySelected,onChange:e=>E(t=>({...t,showOnlySelected:e}))})]}),isFormDirty:w,isFetching:f,progress:{title:Rt.CREATING_SOURCES,subTitle:Rt.CREATING_SOURCES_SUBTITLE,percentage:p[jt.BulkInstrumenting]?.percentage||0},leftColumn:Si({isFetching:f,formData:y,handleSourceChange:S,handleSelectAll:C,selectedArea:R,setSelectedArea:P,searchText:D===ve.Namespace?T:"",searchBy:D,filters:I}),rightColumn:gi({formData:y,handleSourceChange:S,handleSelectAll:C,selectedArea:{value:R},searchText:D===ve.Source?T:"",searchBy:D,filters:I})})},ki=({isOpen:e,onClose:a,onSubmit:o,validateForm:l,onNavigateToDuplicate:i})=>{const{category:s,formData:c,resetForm:d,duplicateWarning:u,setDuplicateWarning:p}=fl();n(()=>{e&&d()},[e]);const m=r(()=>{if(l){const e=l(c);if(e)return void p(e)}o(c)},[c,o,l,p]),h={note:u?{status:Q.Warning,message:u.message,action:i?{"data-id":"sampling-create-btn-view-duplicate",label:"View rule",onClick:()=>i(u.ruleId)}:void 0}:void 0,actions:[{"data-id":"sampling-create-btn-cancel",label:Wt,variant:O.Secondary,size:$.S,onClick:a},{"data-id":"sampling-create-btn-submit",label:Kt,variant:O.Primary,size:$.S,onClick:m,disabled:!!u}]};return t(Ht,{isOpen:e,width:Yt,header:{icon:fn,title:qt[s],subTitle:Gt[s],onClose:a},footer:h,children:t(Jt,{$padding:"12px",children:t(ar,{})})})},wi=({category:e,sourceOptions:a,namespaceOptions:n,...o})=>t(gl,{category:e,sourceOptions:a,namespaceOptions:n,children:t(ki,{...o})}),Ti=({isOpen:e,onClose:a,onSave:n})=>{const{localEnabled:o,resolvedPercentage:l}=zr(),i=r(()=>{n(o,l)},[o,l,n]);return t(Ht,{isOpen:e,width:Yt,header:{icon:fn,title:ea,subTitle:Zt,onClose:a},footer:{actions:[{"data-id":"sampling-edit-auto-rule-btn-cancel",label:Wt,variant:O.Secondary,size:$.S,onClick:a},{"data-id":"sampling-edit-auto-rule-btn-save",label:Qt,variant:O.Primary,size:$.S,onClick:i}]},children:t(Jt,{$padding:"12px",children:t(Xr,{})})})},xi=({enabled:e,keepPercentage:a,...n})=>t(Fr,{enabled:e,keepPercentage:a,children:t(Ti,{...n})}),Di=({isOpen:e,onClose:a,onSave:n})=>{const{localEnabled:o}=Ur(),l=r(()=>{n(o)},[o,n]);return t(Ht,{isOpen:e,width:Yt,header:{icon:fn,title:aa,subTitle:ta,onClose:a},footer:{actions:[{"data-id":"sampling-edit-highly-relevant-auto-rule-btn-cancel",label:Wt,variant:O.Secondary,size:$.S,onClick:a},{"data-id":"sampling-edit-highly-relevant-auto-rule-btn-save",label:Qt,variant:O.Primary,size:$.S,onClick:l}]},children:t(Jt,{$padding:"12px",children:t(Hr,{})})})},Ni=({enabled:e,...a})=>t(_r,{enabled:e,children:t(Di,{...a})}),Ai=({isOpen:e,onClose:a,onSave:n})=>{const{localEnabled:o,resolvedPercentage:l}=qr(),i=r(()=>{n(o,l)},[o,l,n]);return t(Ht,{isOpen:e,width:Yt,header:{icon:fn,title:oa,subTitle:na,onClose:a},footer:{actions:[{"data-id":"sampling-edit-cost-reduction-auto-rule-btn-cancel",label:Wt,variant:O.Secondary,size:$.S,onClick:a},{"data-id":"sampling-edit-cost-reduction-auto-rule-btn-save",label:Qt,variant:O.Primary,size:$.S,onClick:i}]},children:t(Jt,{$padding:"12px",children:t(Jr,{})})})},Ii=({enabled:e,dropPercentage:a,...n})=>t(Gr,{enabled:e,dropPercentage:a,children:t(Ai,{...n})}),Ei=({onClose:a,connections:o,selectedConnectionIds:r,setSelectedConnectionIds:i,getEffectiveConfig:s,onApply:d})=>{const u=m(),[p,h]=l(""),[f,y]=l({showOnlySelected:!1}),S=c(()=>o.filter(e=>{const t=!p||e.name.toLowerCase().includes(p.toLowerCase()),a=!f.showOnlySelected||f.showOnlySelected&&r.includes(e.id);return t&&a}),[o.length,r.length,p,f]),C=e=>{i(t=>t.includes(e)?t.filter(t=>t!==e):[...t,e])},[k,w]=l(!1),[T,x]=l(void 0),{formData:D,handleFormChange:N,areFormValuesEqual:I,resetFormData:E}=F(T||{rollout:{automaticRolloutDisabled:!1}}),R=c(()=>r.length>1||void 0!==T&&!I(T,D),[r.length,T,D]);return n(()=>{1===r.length?(async e=>{if(k)return;w(!0);const t=await s(e);if(t){const e={rollout:{automaticRolloutDisabled:t.rollout?.automaticRolloutDisabled??!1}};x(e),E(e)}w(!1)})(r[0]):x(void 0)},[r.length]),t(zn,{isOpen:!0,onClose:a,onSave:()=>d(D,r),header:{icon:vn,title:"Cluster Configuration"},connectionIds:{value:r,setValue:i},search:{placeholder:"Search by cluster name",value:p,onChange:h},filters:e(g,{$gap:8,children:[t(v,{size:b.XXXS,color:u.v2.colors.silver[200],nowrap:!0,children:"Show only:"}),t(A,{size:lt.S,label:"Selected",value:f.showOnlySelected,onChange:e=>y(t=>({...t,showOnlySelected:e}))})]}),isFormDirty:R,isFetching:k,leftColumn:{width:"35%",header:e(g,{$width:"100%",$gap:12,$justifyContent:"space-between",children:[e(g,{$gap:8,children:[t(v,{size:b.XS,children:"Clusters"}),t(ie,{label:S.length,status:Xt.Unknown})]}),e(g,{$gap:8,children:[t(v,{size:b.XXXS,color:u.v2.colors.silver[200],align:"right",children:"Selected clusters"}),t(ie,{label:`${r.length}/${S.length}`,status:Xt.Unknown})]})]}),list:S.map(e=>t(Wn,{title:e.name,isChecked:r.includes(e.id),onClick:()=>C(e.id),onCheckboxChange:()=>C(e.id)},e.id))},rightColumn:{width:"65%",header:t(v,{size:b.XS,children:"Configurations"}),list:[t(A,{label:"Automatic rollout disabled",tooltip:"Odigos automatically triggers a one-time rollout for workloads when instrumenting or uninstrumenting, ensuring that changes are applied without requiring manual intervention. When automatic rollout is disabled, Odigos will not restart workloads, and users will need to manually trigger rollouts after adding or removing sources.",value:D.rollout?.automaticRolloutDisabled||!1,onChange:e=>N("rollout.automaticRolloutDisabled",e)},"automatic-rollout-disabled")]}})},Ri=({token:n,isLoading:o,isEditing:l,onEdit:r,onCancel:i,onSave:s,formData:c,handleFormChange:d,handleErrorChange:u,formErrors:p})=>{const{CopyButton:m}=la(),h=!l||o||!c.newToken;return ra({key:"Enter",active:!h},s),e(g,l?{$justifyContent:"space-between",$alignItems:"flex-start",$gap:12,children:[t(w,{type:"password",value:c.newToken,onChange:e=>{d("newToken",e.target.value),u("newToken",void 0)},width:"430px",autoFocus:!0,errorMessage:p.newToken}),t(g,{$margin:o?"8px 0 0 0":"2px 0 0 0",$alignItems:"center",children:o?t(Ot,{title:"Saving...",withGradient:!0}):e(a,{children:[t(P,{variant:O.Secondary,size:$.S,leftIcon:sn,onClick:i,disabled:o}),t(P,{variant:O.Primary,size:$.S,leftIcon:mn,onClick:s,disabled:h})]})})]}:{$justifyContent:"space-between",$gap:12,children:[t(v,{size:b.XS,children:new Array(55).fill("•").join("")}),e(g,{$alignItems:"center",$justifyContent:"space-between",children:[t(m,{value:n}),t(Pt,{icon:on,onClick:r})]})]})},Pi=({expiresAt:e,callbackValid:a,callbackExpired:o})=>{const{formatTimeAgo:l}=ia(),r=c(()=>l(e),[e]),i=c(()=>new Date(e).toDateString().split(" ").slice(1).join(" "),[e]),s=c(()=>sa(e,0)?Q.Error:sa(e,2592e6)?Q.Warning:Q.Success,[e]),d=c(()=>s===Q.Success?mn:s===Q.Warning?bn:yn,[s]);return n(()=>{s===Q.Success?a():s===Q.Error&&o()},[s]),t(ee,{text:i,children:t(ie,{leftIcon:d,label:r,status:s,invertColors:!0,useSecondaryTone:!0})})},$i=p.div`
233
233
  display: flex;
234
234
  flex-direction: column;
235
235
  gap: 12px;
@@ -237,7 +237,7 @@ import{jsxs as e,jsx as t,Fragment as a}from"react/jsx-runtime";import{useEffect
237
237
  border-radius: 12px;
238
238
  border: 1px solid ${({theme:e,$isExpired:t})=>t?e.v2.colors.red[500]:e.v2.colors.silver[600]};
239
239
  background-color: ${({theme:e,$isExpired:t})=>t?e.v2.colors.red[1e3]:e.v2.colors.silver[800]};
240
- `,$i=({children:e})=>{const a=m();return t(v,{size:b.XXXS,color:a.v2.colors.grey[150],children:e})},Oi=({token:a,updateToken:n})=>{const[o,r]=l(!1),[i,s]=l(!1),[c,d]=l(!1),{formData:u,handleFormChange:p,formErrors:m,handleErrorChange:f,resetFormData:y}=L({newToken:""});return t(be,{richTitle:{icon:yn,title:"Odigos Pro Token"},children:e(Pi,{$isExpired:c,children:[e(g,{$justifyContent:"space-between",children:[e(h,{$gap:4,children:[t($i,{children:"Issued for"}),t(v,{size:b.XS,children:a.name||"N/A"})]}),e(h,{$gap:4,children:[t($i,{children:"Expiration"}),t(Ri,{expiresAt:a.expiresAt,callbackValid:()=>d(!1),callbackExpired:()=>d(!0)})]}),t(h,{})]}),t(g,{children:e(h,{children:[t($i,{children:"Token"}),t(Ei,{token:a.token,newToken:u.newToken,isLoading:i,isEditing:o,onEdit:()=>r(!0),onCancel:()=>(r(!1),s(!1),void p("newToken","")),onSave:()=>(async()=>{s(!0);const e=await n(u.newToken.trim());s(!1),e?.error?f("newToken",e.error):(r(!1),y())})(),formData:u,handleFormChange:p,handleErrorChange:f,formErrors:m})]})})]})})},Mi=p.div`
240
+ `,Oi=({children:e})=>{const a=m();return t(v,{size:b.XXXS,color:a.v2.colors.grey[150],children:e})},Mi=({token:a,updateToken:n})=>{const[o,r]=l(!1),[i,s]=l(!1),[c,d]=l(!1),{formData:u,handleFormChange:p,formErrors:m,handleErrorChange:f,resetFormData:y}=F({newToken:""});return t(be,{richTitle:{icon:Sn,title:"Odigos Pro Token"},children:e($i,{$isExpired:c,children:[e(g,{$justifyContent:"space-between",children:[e(h,{$gap:4,children:[t(Oi,{children:"Issued for"}),t(v,{size:b.XS,children:a.name||"N/A"})]}),e(h,{$gap:4,children:[t(Oi,{children:"Expiration"}),t(Pi,{expiresAt:a.expiresAt,callbackValid:()=>d(!1),callbackExpired:()=>d(!0)})]}),t(h,{})]}),t(g,{children:e(h,{children:[t(Oi,{children:"Token"}),t(Ri,{token:a.token,newToken:u.newToken,isLoading:i,isEditing:o,onEdit:()=>r(!0),onCancel:()=>(r(!1),s(!1),void p("newToken","")),onSave:()=>(async()=>{s(!0);const e=await n(u.newToken.trim());s(!1),e?.error?f("newToken",e.error):(r(!1),y())})(),formData:u,handleFormChange:p,handleErrorChange:f,formErrors:m})]})})]})})},Li=p.div`
241
241
  display: flex;
242
242
  flex-direction: column;
243
243
  align-items: center;
@@ -246,7 +246,7 @@ import{jsxs as e,jsx as t,Fragment as a}from"react/jsx-runtime";import{useEffect
246
246
  padding: 12px 24px;
247
247
  border-radius: 8px;
248
248
  background-color: ${({theme:e})=>e.v2.colors.silver[800]};
249
- `,Fi=({downloadDiagnose:a})=>{const n=m(),{progress:o}=Ut(),{namespaces:r}=zt(),[i,s]=l(null),{formData:c,handleFormChange:d,resetFormData:u}=L({includeProfiles:!0,includeMetrics:!0,includeSourceWorkloads:!1,sourceWorkloadNamespaces:[]});return t(be,{richTitle:{icon:Sn,title:"Diagnose"},children:i?e(Mi,{children:[t(Ot,{title:"Creating file...",subTitle:"This may take a few moments. Do not refresh the page.",withGradient:!0,withSpinner:"number"==typeof o[jt.DownloadingDiagnose]?.percentage,percentage:o[jt.DownloadingDiagnose]?.percentage,withVisual:"number"!=typeof o[jt.DownloadingDiagnose]?.percentage,visualIcon:Cn,startedAt:i}),o[jt.DownloadingDiagnose]?.list?.length&&t(h,{$width:"100%",children:o[jt.DownloadingDiagnose].list.map(a=>e(g,{$gap:4,$alignItems:"center",children:[a.status===Q.Success?t(pn,{size:16}):a.status===Q.Error?t(rn,{size:16}):t(Ot,{withSpinnerOld:!0,scaleSpinnerOld:.7}),t(v,{size:b.XXXS,color:n.v2.colors.silver[200],children:a.label})]},a.label))})]}):e(h,{$gap:24,children:[t(v,{size:b.XXS,color:n.v2.colors.silver[200],children:"Download a tar.gz file with diagnostics from this cluster. Select which data to include before downloading, and share the file with the Odigos support team for troubleshooting."}),e(h,{$gap:16,children:[e(g,{$gap:8,children:[t(f,{label:"Profiles",value:c.includeProfiles,onChange:e=>d("includeProfiles",e),tooltip:"Note: Adds 30s to diagnose download time to collect Profiles"}),t(v,{size:b.XXXS,color:n.v2.colors.silver[200],children:"Include pprof profiles"})]}),e(g,{$gap:8,children:[t(f,{label:"Metrics",value:c.includeMetrics,onChange:e=>d("includeMetrics",e)}),t(v,{size:b.XXXS,color:n.v2.colors.silver[200],children:"Include Prometheus metrics"})]}),e(g,{$gap:8,children:[t(f,{label:"Source Workloads",value:c.includeSourceWorkloads,onChange:e=>{d("includeSourceWorkloads",e),e&&d("sourceWorkloadNamespaces",[])}}),t(v,{size:b.XXXS,color:n.v2.colors.silver[200],children:"Include workload and pod manifests for instrumented sources"})]})]}),t(Fe,{alignX:da.Left,alignY:ca.Bottom,items:r.map(e=>({id:e.name,label:e.name,withCheckbox:!0})),selectedIds:c.sourceWorkloadNamespaces,setSelectedIds:e=>d("sourceWorkloadNamespaces",e),withMultiSelect:!0,withSearch:!0,fullWidth:!0,buttonProps:{label:(c.sourceWorkloadNamespaces.length?"Selected":"Select")+" Namespaces",variant:O.Secondary,disabled:c.includeSourceWorkloads,leftIcon:c.sourceWorkloadNamespaces.length?()=>t(ie,{label:c.sourceWorkloadNamespaces.length,status:Q.Default}):void 0}}),t(g,{$justifyContent:"flex-end",children:t(P,{label:"Download Diagnose",rightIcon:Cn,variant:O.Primary,onClick:async()=>{s(Date.now()),await a(c),s(null),u()},disabled:null!==i})})]})})},Li=({fetchDescribeOdigos:e})=>{const{platformType:a,version:o,tier:r}=de(),[i,s]=l(null);return n(()=>{e().then(({data:e})=>s(e?.describeOdigos||null))},[]),t(be,{richTitle:{icon:kn,title:"General Information"},children:t(ua,{cellsPerRow:2,items:[{id:pa(),title:"Odigos Version",label:o},{id:pa(),title:`${a.toUpperCase()} Version`,label:i?.kubernetesVersion?.value||"-"},{id:pa(),title:"Installation Method",label:i?.installationMethod?.value||"-"},{id:pa(),title:"Tier",label:r}]})})},zi=({isOpen:a,onClose:n,token:o,updateToken:l,fetchDescribeOdigos:r,downloadDiagnose:i})=>e(Ht,{isOpen:a,header:{icon:kn,title:"System Overview",onClose:n},children:[r&&t(Li,{fetchDescribeOdigos:r}),l&&o&&t(Oi,{token:o,updateToken:l}),i&&t(Fi,{downloadDiagnose:i})]}),Vi=p.div`
249
+ `,Fi=({downloadDiagnose:a})=>{const n=m(),{progress:o}=Ut(),{namespaces:r}=zt(),[i,s]=l(null),{formData:c,handleFormChange:d,resetFormData:u}=F({includeProfiles:!0,includeMetrics:!0,includeSourceWorkloads:!1,sourceWorkloadNamespaces:[]});return t(be,{richTitle:{icon:Cn,title:"Diagnose"},children:i?e(Li,{children:[t(Ot,{title:"Creating file...",subTitle:"This may take a few moments. Do not refresh the page.",withGradient:!0,withSpinner:"number"==typeof o[jt.DownloadingDiagnose]?.percentage,percentage:o[jt.DownloadingDiagnose]?.percentage,withVisual:"number"!=typeof o[jt.DownloadingDiagnose]?.percentage,visualIcon:kn,startedAt:i}),o[jt.DownloadingDiagnose]?.list?.length&&t(h,{$width:"100%",children:o[jt.DownloadingDiagnose].list.map(a=>e(g,{$gap:4,$alignItems:"center",children:[a.status===Q.Success?t(mn,{size:16}):a.status===Q.Error?t(sn,{size:16}):t(Ot,{withSpinnerOld:!0,scaleSpinnerOld:.7}),t(v,{size:b.XXXS,color:n.v2.colors.silver[200],children:a.label})]},a.label))})]}):e(h,{$gap:24,children:[t(v,{size:b.XXS,color:n.v2.colors.silver[200],children:"Download a tar.gz file with diagnostics from this cluster. Select which data to include before downloading, and share the file with the Odigos support team for troubleshooting."}),e(h,{$gap:16,children:[e(g,{$gap:8,children:[t(f,{label:"Profiles",value:c.includeProfiles,onChange:e=>d("includeProfiles",e),tooltip:"Note: Adds 30s to diagnose download time to collect Profiles"}),t(v,{size:b.XXXS,color:n.v2.colors.silver[200],children:"Include pprof profiles"})]}),e(g,{$gap:8,children:[t(f,{label:"Metrics",value:c.includeMetrics,onChange:e=>d("includeMetrics",e)}),t(v,{size:b.XXXS,color:n.v2.colors.silver[200],children:"Include Prometheus metrics"})]}),e(g,{$gap:8,children:[t(f,{label:"Source Workloads",value:c.includeSourceWorkloads,onChange:e=>{d("includeSourceWorkloads",e),e&&d("sourceWorkloadNamespaces",[])}}),t(v,{size:b.XXXS,color:n.v2.colors.silver[200],children:"Include workload and pod manifests for instrumented sources"})]})]}),t(Le,{alignX:da.Left,alignY:ca.Bottom,items:r.map(e=>({id:e.name,label:e.name,withCheckbox:!0})),selectedIds:c.sourceWorkloadNamespaces,setSelectedIds:e=>d("sourceWorkloadNamespaces",e),withMultiSelect:!0,withSearch:!0,fullWidth:!0,buttonProps:{label:(c.sourceWorkloadNamespaces.length?"Selected":"Select")+" Namespaces",variant:O.Secondary,disabled:c.includeSourceWorkloads,leftIcon:c.sourceWorkloadNamespaces.length?()=>t(ie,{label:c.sourceWorkloadNamespaces.length,status:Q.Default}):void 0}}),t(g,{$justifyContent:"flex-end",children:t(P,{label:"Download Diagnose",rightIcon:kn,variant:O.Primary,onClick:async()=>{s(Date.now()),await a(c),s(null),u()},disabled:null!==i})})]})})},zi=({fetchDescribeOdigos:e})=>{const{platformType:a,version:o,tier:r}=de(),[i,s]=l(null);return n(()=>{e().then(({data:e})=>s(e?.describeOdigos||null))},[]),t(be,{richTitle:{icon:wn,title:"General Information"},children:t(ua,{cellsPerRow:2,items:[{id:pa(),title:"Odigos Version",label:o},{id:pa(),title:`${a.toUpperCase()} Version`,label:i?.kubernetesVersion?.value||"-"},{id:pa(),title:"Installation Method",label:i?.installationMethod?.value||"-"},{id:pa(),title:"Tier",label:r}]})})},Vi=({isOpen:a,onClose:n,token:o,updateToken:l,fetchDescribeOdigos:r,downloadDiagnose:i})=>e(Ht,{isOpen:a,header:{icon:wn,title:"System Overview",onClose:n},children:[r&&t(zi,{fetchDescribeOdigos:r}),l&&o&&t(Mi,{token:o,updateToken:l}),i&&t(Fi,{downloadDiagnose:i})]}),Xi=p.div`
250
250
  display: flex;
251
251
  align-items: center;
252
252
  gap: 8px;
@@ -256,9 +256,9 @@ import{jsxs as e,jsx as t,Fragment as a}from"react/jsx-runtime";import{useEffect
256
256
  &:hover {
257
257
  background-color: ${({theme:e})=>e.v2.colors.silver[800]};
258
258
  }
259
- `,Xi=p.div`
259
+ `,Bi=p.div`
260
260
  flex: 1;
261
- `,Bi=({onClick:a})=>{const n=m().v2.colors.red[500];return e(Vi,{"data-id":"sampling-view-btn-delete",onClick:a,children:[t(v,{size:b.XS,weight:500,color:n,children:ga}),t(Ja,{size:16,fill:n})]})};function _i(n){if(n.isEditing){const{onCancelEdit:o,onSave:l,onDelete:r,duplicateWarning:i}=n;return{children:e(a,{children:[t(Bi,{onClick:r}),i&&t(J,{status:Q.Warning,message:i.message,action:i.onViewRule?{"data-id":"sampling-view-edit-btn-view-duplicate",label:"View rule",onClick:i.onViewRule}:void 0}),t(Xi,{}),t(P,{"data-id":"sampling-view-edit-btn-cancel",label:Wt,variant:O.Secondary,size:$.S,onClick:o}),t(P,{"data-id":"sampling-view-edit-btn-save",label:ma,variant:O.Primary,size:$.S,onClick:l,disabled:!!i})]})}}const{onDelete:o,onCancel:l,onEdit:r}=n;return{children:e(a,{children:[t(Bi,{onClick:o}),t(Xi,{}),t(P,{"data-id":"sampling-view-btn-cancel",label:Wt,variant:O.Secondary,size:$.S,onClick:l}),t(P,{"data-id":"sampling-view-btn-edit",label:ha,variant:O.Primary,size:$.S,onClick:r})]})}}const Ui=({onClose:e,onDelete:a,onSaveEdit:n,validateForm:o,onNavigateToDuplicate:l})=>{const{data:i,isEditing:s,formData:d,handleEdit:u,handleCancelEdit:p,duplicateWarning:m,setDuplicateWarning:h}=wr(),g=i?.rule.name||st,f=s&&i?fa[i.category]:`${g} preview`,v=r(()=>{if(i&&s){if(o){const e=o(d);if(e)return void h(e)}n(d,i.rule.ruleId,i.samplingId)}},[i,s,d,n,o,h]),b=r(()=>{i&&a(i.rule.ruleId,i.samplingId)},[i,a]),y=c(()=>{if(!i)return;const t=m?{message:m.message,onViewRule:l?()=>l(m.ruleId):void 0}:null;return _i(s?{isEditing:!0,onCancelEdit:p,onSave:v,onDelete:b,duplicateWarning:t}:{isEditing:!1,onDelete:b,onCancel:e,onEdit:u})},[i,s,m,p,v,b,u,e,l]);return t(Ht,{isOpen:!!i,width:Yt,header:{icon:gn,title:f,subTitle:i?Gt[i.category]:"",onClose:e},footer:y,children:i&&t(Jt,{$padding:"12px",children:t($r,{})})})},ji=({data:e,defaultEditMode:a,sourceOptions:n,namespaceOptions:o,...l})=>t(kr,{data:e,defaultEditMode:a,sourceOptions:n,namespaceOptions:o,children:t(Ui,{data:e,...l})});var Hi,Wi;!function(e){e.BulkConfig="bulk-config",e.BulkSource="bulk-source",e.BulkDestination="bulk-destination",e.BulkAction="bulk-action",e.BulkInstrumentationRule="bulk-instrumentation-rule",e.Delete="delete"}(Hi||(Hi={})),function(e){e.Id="id",e.Name="name",e.Type="type",e.Status="status",e.OdigosVersion="odigosVersion",e.ConnectedSince="connectedSince",e.LastActivity="lastActivity"}(Wi||(Wi={}));const Ki=[{key:Wi.Name,label:"Name"},{key:Wi.Type,label:"Type",textAlign:"right"},{key:Wi.Status,label:"Status"},{key:Wi.OdigosVersion,label:"Odigos Version"},{key:Wi.ConnectedSince,label:"Connected Since"},{key:Wi.LastActivity,label:"Last Activity"}],Gi=(e,t)=>{const a=e.find(e=>e.key===Wi.Id)?.rawValue;return t(a?.toString()||"")},qi=e=>{const{connections:t,configMinSupportedVersion:a,snapshotMinSupportedVersion:n,onDelete:o,onAddSource:l,onAddDestination:r,onAddAction:i,onAddInstrumentationRule:s,onEditConfiguration:c}=e;return({cells:e})=>{if(!(e=>e.find(e=>e.key===Wi.Status)?.rawValue===Q.Success)(e))return[{id:pa(),label:"Delete Connection",rightIcon:an,onClick:()=>Gi(e,o)}];const d=Gi(e,e=>{const n=t.find(t=>t.id===e);return!!n&&va(n.odigosVersion,a)}),u=Gi(e,e=>{const a=t.find(t=>t.id===e);return!!a&&va(a.odigosVersion,n)}),p=[];return l&&p.push({id:pa(),tooltip:u?Rt.ADD_SOURCE:`To use this feature, please upgrade to Odigos v${n} or later.`,rightIcon:hn,disabled:!u,onClick:()=>Gi(e,l)}),r&&p.push({id:pa(),tooltip:Rt.ADD_DESTINATION,rightIcon:cn,onClick:()=>Gi(e,r)}),i&&p.push({id:pa(),tooltip:Rt.ADD_ACTION,rightIcon:sn,onClick:()=>Gi(e,i)}),s&&p.push({id:pa(),tooltip:Rt.ADD_INSTRUMENTATION_RULE,rightIcon:mn,onClick:()=>Gi(e,s)}),c&&p.push({id:pa(),tooltip:d?"Edit Configuration":`To use this feature, please upgrade to Odigos v${a} or later.`,rightIcon:fn,disabled:!d,onClick:()=>Gi(e,c)}),p}},Yi=({tableRowsMaxHeight:a,connections:o,getConnections:i,onClickConnection:s,deleteConnection:d,configMinSupportedVersion:u=0,getEffectiveConfig:p,applyConfigurations:h,snapshotMinSupportedVersion:g=0,getAllClusterSnapshots:f,persistSources:v,getDestinationCategories:b,getPotentialDestinations:y,testConnection:S,createDestination:C,updateDestination:k,createAction:w,createInstrumentationRule:T})=>{const x=m(),{isVm:D}=de(),{formatTimeAgo:N}=ia(),[A,I]=l(!1),[E,R]=l(o||[]),P=r(async()=>{try{I(!0),R(await i()??[])}catch(e){}finally{I(!1)}},[]);n(()=>{E.length||P()},[]);const[M,F]=l(""),[L,z]=l(null),[V,X]=l([]),B=c(()=>L===Hi.BulkConfig?u:L===Hi.BulkSource?g:0,[L,u,g]),{supportedConnections:_,supportedConnectionIds:U}=c(()=>{const e=((e,t)=>e.filter(e=>{const a=e.status===Q.Success,n=va(e.odigosVersion,t);return a&&n}))(E,B);return{supportedConnections:e,supportedConnectionIds:e.map(e=>e.id)}},[E.length,B]);n(()=>{if(!L||L===Hi.Delete)return;const e=V.filter(e=>!U.includes(e));e.length&&X(t=>t.filter(t=>!e.includes(t)))},[L,V.length,U.length]);const j=c(()=>E.filter(e=>!M||e.name.toLowerCase().includes(M.toLowerCase())).map(e=>({cells:[{key:Wi.Id,rawValue:e.id},{key:Wi.Name,rawValue:e.name},{key:Wi.Type,rawValue:e.type},{key:Wi.Status,rawValue:e.status,component:()=>(e=>{const a=e===Q.Success?"Connection live":"Connection lost",n=e===Q.Success?pn:rn;return t(ie,{status:e,label:a,leftIcon:n})})(e.status)},{key:Wi.OdigosVersion,rawValue:e.odigosVersion},{key:Wi.ConnectedSince,rawValue:e.connectedAt?N(e.connectedAt):"-"},{key:Wi.LastActivity,rawValue:e.lastSeenAt?N(e.lastSeenAt):"-"}],onClick:e.status!==Q.Success||L?void 0:()=>s(e),isSelected:V.includes(e.id),onSelect:()=>X(t=>Array.from(new Set([...t,e.id]))),onDeselect:()=>X(t=>t.filter(t=>t!==e.id)),hideCheckbox:e.status!==Q.Success||L===Hi.BulkConfig&&!va(e.odigosVersion,u)||L===Hi.BulkSource&&!va(e.odigosVersion,g)})),[E,V,M,L,u,g]),H=c(()=>{const e=(e,t)=>{X([e]),z(t)};return qi({connections:E,configMinSupportedVersion:u,snapshotMinSupportedVersion:g,onDelete:t=>e(t,Hi.Delete),onAddSource:!D&&f&&v?t=>e(t,Hi.BulkSource):void 0,onAddDestination:!D&&b&&y&&C?t=>e(t,Hi.BulkDestination):void 0,onAddAction:!D&&w?t=>e(t,Hi.BulkAction):void 0,onAddInstrumentationRule:!D&&T?t=>e(t,Hi.BulkInstrumentationRule):void 0,onEditConfiguration:!D&&p&&h?t=>e(t,Hi.BulkConfig):void 0})},[D,E,u,p,h,g,f,v,b,y,C,w,T]),W=c(()=>(e=>{const{onCancel:t,onAddSource:a,onAddDestination:n,onAddAction:o,onAddInstrumentationRule:l,onManageConfigurations:r}=e,i=[];a&&i.push({id:pa(),type:ba.Button,buttonProps:{variant:O.Primary,size:$.S,label:"Add Sources",rightIcon:hn,onClick:a}});const s=[n?{id:Hi.BulkDestination,label:Rt.ADD_DESTINATION,icon:cn}:null,o?{id:Hi.BulkAction,label:Rt.ADD_ACTION,icon:sn}:null,l?{id:Hi.BulkInstrumentationRule,label:Rt.ADD_INSTRUMENTATION_RULE,icon:mn}:null,r?{id:Hi.BulkConfig,label:"Manage Configurations",icon:fn}:null];return s.some(Boolean)&&i.push({id:pa(),type:ba.ButtonDropData,buttonProps:{variant:O.Secondary,size:$.S,label:"Bulk Operations",onClick:e=>{e===Hi.BulkSource?a?.():e===Hi.BulkDestination?n?.():e===Hi.BulkAction?o?.():e===Hi.BulkInstrumentationRule?l?.():e===Hi.BulkConfig&&r?.()}},dropDataProps:{alignX:da.Left,items:s}}),i.push({id:pa(),type:ba.Button,buttonProps:{variant:O.Text,size:$.S,label:ya.CANCEL,onClick:t}}),i})({onCancel:()=>X([]),onAddSource:!D&&f&&v?()=>z(Hi.BulkSource):void 0,onAddDestination:!D&&b&&y&&C?()=>z(Hi.BulkDestination):void 0,onAddAction:!D&&w?()=>z(Hi.BulkAction):void 0,onAddInstrumentationRule:!D&&T?()=>z(Hi.BulkInstrumentationRule):void 0,onManageConfigurations:!D&&p&&h?()=>z(Hi.BulkConfig):void 0}),[D,p,h,f,v,b,y,C,w,T]);return t(Sa,{children:e(be,{richTitle:{icon:Tn,title:Rt.CONNECTIONS,badge:{label:E.length.toString(),status:Xt.Unknown}},search:{placeholder:"Search by cluster name",value:M,onChange:e=>F(e),width:"300px"},actions:[{id:pa(),type:ba.Button,buttonProps:{variant:O.Secondary,size:$.S,leftIcon:wn,onClick:P,disabled:A}}],children:[t(Ca,{variant:ka.Pretty,maxHeight:a,headerBackgroundColor:x.v2.colors.silver[1e3],isLoading:A,withCheckboxes:!0,columns:Ki,rows:j,rowActionsPushRightPosition:L?`calc(${zn} - 24px)`:void 0,getRowActions:H}),L===Hi.BulkConfig&&p&&h&&t(Ii,{onClose:()=>z(null),connections:_,selectedConnectionIds:V,setSelectedConnectionIds:X,getEffectiveConfig:p,onApply:h}),L===Hi.BulkSource&&f&&v&&t(Ro,{selectedConnectionIds:V,getAllClusterSnapshots:f,children:t(Si,{onClose:()=>z(null),selectedConnectionIds:V,setSelectedConnectionIds:X,persistSources:async e=>await(v?.(e))})}),L===Hi.BulkDestination&&b&&y&&S&&C&&k&&t(ho,{children:t(ci,{onClose:()=>z(null),selectedConnectionIds:V,setSelectedConnectionIds:X,getDestinationCategories:b,getPotentialDestinations:y,testConnection:e=>S(e,V),createDestination:e=>C(e,V),updateDestination:(e,t)=>k(e,t,V)})}),L===Hi.BulkAction&&w&&t(ro,{children:t(Qr,{onClose:()=>z(null),selectedConnectionIds:V,setSelectedConnectionIds:X,createAction:e=>w(e,V)})}),L===Hi.BulkInstrumentationRule&&T&&t(No,{children:t(di,{onClose:()=>z(null),selectedConnectionIds:V,setSelectedConnectionIds:X,createInstrumentationRule:e=>T(e,V)})}),t(Vn,{target:"connection",isOpen:L===Hi.Delete,onClose:()=>{X([]),z(null)},onApprove:async()=>{const e=V[0];e&&(await d(e),await P())}}),t(wa,{isOpen:!!V.length&&!L,richTitle:{icon:en,title:"Selected Clusters",badge:{label:V.length}},actions:W})]})})},Ji=p.div`
261
+ `,_i=({onClick:a})=>{const n=m().v2.colors.red[500];return e(Xi,{"data-id":"sampling-view-btn-delete",onClick:a,children:[t(v,{size:b.XS,weight:500,color:n,children:ga}),t(Qa,{size:16,fill:n})]})};function Ui(n){if(n.isEditing){const{onCancelEdit:o,onSave:l,onDelete:r,duplicateWarning:i}=n;return{children:e(a,{children:[t(_i,{onClick:r}),i&&t(J,{status:Q.Warning,message:i.message,action:i.onViewRule?{"data-id":"sampling-view-edit-btn-view-duplicate",label:"View rule",onClick:i.onViewRule}:void 0}),t(Bi,{}),t(P,{"data-id":"sampling-view-edit-btn-cancel",label:Wt,variant:O.Secondary,size:$.S,onClick:o}),t(P,{"data-id":"sampling-view-edit-btn-save",label:ma,variant:O.Primary,size:$.S,onClick:l,disabled:!!i})]})}}const{onDelete:o,onCancel:l,onEdit:r}=n;return{children:e(a,{children:[t(_i,{onClick:o}),t(Bi,{}),t(P,{"data-id":"sampling-view-btn-cancel",label:Wt,variant:O.Secondary,size:$.S,onClick:l}),t(P,{"data-id":"sampling-view-btn-edit",label:ha,variant:O.Primary,size:$.S,onClick:r})]})}}const ji=({onClose:e,onDelete:a,onSaveEdit:n,validateForm:o,onNavigateToDuplicate:l})=>{const{data:i,isEditing:s,formData:d,handleEdit:u,handleCancelEdit:p,duplicateWarning:m,setDuplicateWarning:h}=Tr(),g=i?.rule.name||st,f=s&&i?fa[i.category]:`${g} preview`,v=r(()=>{if(i&&s){if(o){const e=o(d);if(e)return void h(e)}n(d,i.rule.ruleId,i.samplingId)}},[i,s,d,n,o,h]),b=r(()=>{i&&a(i.rule.ruleId,i.samplingId)},[i,a]),y=c(()=>{if(!i)return;const t=m?{message:m.message,onViewRule:l?()=>l(m.ruleId):void 0}:null;return Ui(s?{isEditing:!0,onCancelEdit:p,onSave:v,onDelete:b,duplicateWarning:t}:{isEditing:!1,onDelete:b,onCancel:e,onEdit:u})},[i,s,m,p,v,b,u,e,l]);return t(Ht,{isOpen:!!i,width:Yt,header:{icon:fn,title:f,subTitle:i?Gt[i.category]:"",onClose:e},footer:y,children:i&&t(Jt,{$padding:"12px",children:t(Or,{})})})},Hi=({data:e,defaultEditMode:a,sourceOptions:n,namespaceOptions:o,...l})=>t(wr,{data:e,defaultEditMode:a,sourceOptions:n,namespaceOptions:o,children:t(ji,{data:e,...l})});var Wi,Ki;!function(e){e.BulkConfig="bulk-config",e.BulkSource="bulk-source",e.BulkDestination="bulk-destination",e.BulkAction="bulk-action",e.BulkInstrumentationRule="bulk-instrumentation-rule",e.Delete="delete"}(Wi||(Wi={})),function(e){e.Id="id",e.Name="name",e.Type="type",e.Status="status",e.OdigosVersion="odigosVersion",e.ConnectedSince="connectedSince",e.LastActivity="lastActivity"}(Ki||(Ki={}));const Gi=[{key:Ki.Name,label:"Name"},{key:Ki.Type,label:"Type",textAlign:"right"},{key:Ki.Status,label:"Status"},{key:Ki.OdigosVersion,label:"Odigos Version"},{key:Ki.ConnectedSince,label:"Connected Since"},{key:Ki.LastActivity,label:"Last Activity"}],qi=(e,t)=>{const a=e.find(e=>e.key===Ki.Id)?.rawValue;return t(a?.toString()||"")},Yi=e=>{const{connections:t,configMinSupportedVersion:a,snapshotMinSupportedVersion:n,onDelete:o,onAddSource:l,onAddDestination:r,onAddAction:i,onAddInstrumentationRule:s,onEditConfiguration:c}=e;return({cells:e})=>{if(!(e=>e.find(e=>e.key===Ki.Status)?.rawValue===Q.Success)(e))return[{id:pa(),label:"Delete Connection",rightIcon:nn,onClick:()=>qi(e,o)}];const d=qi(e,e=>{const n=t.find(t=>t.id===e);return!!n&&va(n.odigosVersion,a)}),u=qi(e,e=>{const a=t.find(t=>t.id===e);return!!a&&va(a.odigosVersion,n)}),p=[];return l&&p.push({id:pa(),tooltip:u?Rt.ADD_SOURCE:`To use this feature, please upgrade to Odigos v${n} or later.`,rightIcon:gn,disabled:!u,onClick:()=>qi(e,l)}),r&&p.push({id:pa(),tooltip:Rt.ADD_DESTINATION,rightIcon:dn,onClick:()=>qi(e,r)}),i&&p.push({id:pa(),tooltip:Rt.ADD_ACTION,rightIcon:cn,onClick:()=>qi(e,i)}),s&&p.push({id:pa(),tooltip:Rt.ADD_INSTRUMENTATION_RULE,rightIcon:hn,onClick:()=>qi(e,s)}),c&&p.push({id:pa(),tooltip:d?"Edit Configuration":`To use this feature, please upgrade to Odigos v${a} or later.`,rightIcon:vn,disabled:!d,onClick:()=>qi(e,c)}),p}},Ji=({tableRowsMaxHeight:a,connections:o,getConnections:i,onClickConnection:s,deleteConnection:d,configMinSupportedVersion:u=0,getEffectiveConfig:p,applyConfigurations:h,snapshotMinSupportedVersion:g=0,getAllClusterSnapshots:f,persistSources:v,getDestinationCategories:b,getPotentialDestinations:y,testConnection:S,createDestination:C,updateDestination:k,createAction:w,createInstrumentationRule:T})=>{const x=m(),{isVm:D}=de(),{formatTimeAgo:N}=ia(),[A,I]=l(!1),[E,R]=l(o||[]),P=r(async()=>{try{I(!0),R(await i()??[])}catch(e){}finally{I(!1)}},[]);n(()=>{E.length||P()},[]);const[M,L]=l(""),[F,z]=l(null),[V,X]=l([]),B=c(()=>F===Wi.BulkConfig?u:F===Wi.BulkSource?g:0,[F,u,g]),{supportedConnections:_,supportedConnectionIds:U}=c(()=>{const e=((e,t)=>e.filter(e=>{const a=e.status===Q.Success,n=va(e.odigosVersion,t);return a&&n}))(E,B);return{supportedConnections:e,supportedConnectionIds:e.map(e=>e.id)}},[E.length,B]);n(()=>{if(!F||F===Wi.Delete)return;const e=V.filter(e=>!U.includes(e));e.length&&X(t=>t.filter(t=>!e.includes(t)))},[F,V.length,U.length]);const j=c(()=>E.filter(e=>!M||e.name.toLowerCase().includes(M.toLowerCase())).map(e=>({cells:[{key:Ki.Id,rawValue:e.id},{key:Ki.Name,rawValue:e.name},{key:Ki.Type,rawValue:e.type},{key:Ki.Status,rawValue:e.status,component:()=>(e=>{const a=e===Q.Success?"Connection live":"Connection lost",n=e===Q.Success?mn:sn;return t(ie,{status:e,label:a,leftIcon:n})})(e.status)},{key:Ki.OdigosVersion,rawValue:e.odigosVersion},{key:Ki.ConnectedSince,rawValue:e.connectedAt?N(e.connectedAt):"-"},{key:Ki.LastActivity,rawValue:e.lastSeenAt?N(e.lastSeenAt):"-"}],onClick:e.status!==Q.Success||F?void 0:()=>s(e),isSelected:V.includes(e.id),onSelect:()=>X(t=>Array.from(new Set([...t,e.id]))),onDeselect:()=>X(t=>t.filter(t=>t!==e.id)),hideCheckbox:e.status!==Q.Success||F===Wi.BulkConfig&&!va(e.odigosVersion,u)||F===Wi.BulkSource&&!va(e.odigosVersion,g)})),[E,V,M,F,u,g]),H=c(()=>{const e=(e,t)=>{X([e]),z(t)};return Yi({connections:E,configMinSupportedVersion:u,snapshotMinSupportedVersion:g,onDelete:t=>e(t,Wi.Delete),onAddSource:!D&&f&&v?t=>e(t,Wi.BulkSource):void 0,onAddDestination:!D&&b&&y&&C?t=>e(t,Wi.BulkDestination):void 0,onAddAction:!D&&w?t=>e(t,Wi.BulkAction):void 0,onAddInstrumentationRule:!D&&T?t=>e(t,Wi.BulkInstrumentationRule):void 0,onEditConfiguration:!D&&p&&h?t=>e(t,Wi.BulkConfig):void 0})},[D,E,u,p,h,g,f,v,b,y,C,w,T]),W=c(()=>(e=>{const{onCancel:t,onAddSource:a,onAddDestination:n,onAddAction:o,onAddInstrumentationRule:l,onManageConfigurations:r}=e,i=[];a&&i.push({id:pa(),type:ba.Button,buttonProps:{variant:O.Primary,size:$.S,label:"Add Sources",rightIcon:gn,onClick:a}});const s=[n?{id:Wi.BulkDestination,label:Rt.ADD_DESTINATION,icon:dn}:null,o?{id:Wi.BulkAction,label:Rt.ADD_ACTION,icon:cn}:null,l?{id:Wi.BulkInstrumentationRule,label:Rt.ADD_INSTRUMENTATION_RULE,icon:hn}:null,r?{id:Wi.BulkConfig,label:"Manage Configurations",icon:vn}:null];return s.some(Boolean)&&i.push({id:pa(),type:ba.ButtonDropData,buttonProps:{variant:O.Secondary,size:$.S,label:"Bulk Operations",onClick:e=>{e===Wi.BulkSource?a?.():e===Wi.BulkDestination?n?.():e===Wi.BulkAction?o?.():e===Wi.BulkInstrumentationRule?l?.():e===Wi.BulkConfig&&r?.()}},dropDataProps:{alignX:da.Left,items:s}}),i.push({id:pa(),type:ba.Button,buttonProps:{variant:O.Text,size:$.S,label:ya.CANCEL,onClick:t}}),i})({onCancel:()=>X([]),onAddSource:!D&&f&&v?()=>z(Wi.BulkSource):void 0,onAddDestination:!D&&b&&y&&C?()=>z(Wi.BulkDestination):void 0,onAddAction:!D&&w?()=>z(Wi.BulkAction):void 0,onAddInstrumentationRule:!D&&T?()=>z(Wi.BulkInstrumentationRule):void 0,onManageConfigurations:!D&&p&&h?()=>z(Wi.BulkConfig):void 0}),[D,p,h,f,v,b,y,C,w,T]);return t(Sa,{children:e(be,{richTitle:{icon:xn,title:Rt.CONNECTIONS,badge:{label:E.length.toString(),status:Xt.Unknown}},search:{placeholder:"Search by cluster name",value:M,onChange:e=>L(e),width:"300px"},actions:[{id:pa(),type:ba.Button,buttonProps:{variant:O.Secondary,size:$.S,leftIcon:Tn,onClick:P,disabled:A}}],children:[t(Ca,{variant:ka.Pretty,maxHeight:a,headerBackgroundColor:x.v2.colors.silver[1e3],isLoading:A,withCheckboxes:!0,columns:Gi,rows:j,rowActionsPushRightPosition:F?`calc(${Vn} - 24px)`:void 0,getRowActions:H}),F===Wi.BulkConfig&&p&&h&&t(Ei,{onClose:()=>z(null),connections:_,selectedConnectionIds:V,setSelectedConnectionIds:X,getEffectiveConfig:p,onApply:h}),F===Wi.BulkSource&&f&&v&&t(Po,{selectedConnectionIds:V,getAllClusterSnapshots:f,children:t(Ci,{onClose:()=>z(null),selectedConnectionIds:V,setSelectedConnectionIds:X,persistSources:async e=>await(v?.(e))})}),F===Wi.BulkDestination&&b&&y&&S&&C&&k&&t(go,{children:t(di,{onClose:()=>z(null),selectedConnectionIds:V,setSelectedConnectionIds:X,getDestinationCategories:b,getPotentialDestinations:y,testConnection:e=>S(e,V),createDestination:e=>C(e,V),updateDestination:(e,t)=>k(e,t,V)})}),F===Wi.BulkAction&&w&&t(io,{children:t(Zr,{onClose:()=>z(null),selectedConnectionIds:V,setSelectedConnectionIds:X,createAction:e=>w(e,V)})}),F===Wi.BulkInstrumentationRule&&T&&t(Ao,{children:t(ui,{onClose:()=>z(null),selectedConnectionIds:V,setSelectedConnectionIds:X,createInstrumentationRule:e=>T(e,V)})}),t(Xn,{target:"connection",isOpen:F===Wi.Delete,onClose:()=>{X([]),z(null)},onApprove:async()=>{const e=V[0];e&&(await d(e),await P())}}),t(wa,{isOpen:!!V.length&&!F,richTitle:{icon:tn,title:"Selected Clusters",badge:{label:V.length}},actions:W})]})})},Qi=p.div`
262
262
  display: flex;
263
263
  align-items: center;
264
264
  justify-content: space-between;
@@ -267,26 +267,26 @@ import{jsxs as e,jsx as t,Fragment as a}from"react/jsx-runtime";import{useEffect
267
267
  width: calc(100% - 32px);
268
268
  border-radius: 16px;
269
269
  background-color: ${({theme:e})=>e.v2.colors.silver[800]};
270
- `,Qi=p.div`
270
+ `,Zi=p.div`
271
271
  display: flex;
272
272
  align-items: center;
273
273
  justify-content: center;
274
274
  padding: 8px;
275
275
  border-radius: 8px;
276
276
  background-color: ${({theme:e})=>e.v2.colors.white[500]+y["004"]};
277
- `,Zi=({setStep:a,onSave:n,sourcesPayload:o,destinationsPayload:l,disableAnimation:r})=>{const i=m(),s=()=>a(2),d=()=>a(3),u=c(()=>Object.values(o||{}).flatMap((a,n)=>a.map((a,o)=>{if(!a.selected)return null;const l=a.kind||ve.Namespace,r=l===ve.Namespace?a.namespace:`${a.namespace} → ${a.name}`;return e(Ji,{children:[t(v,{nowrap:!0,children:r}),t(ie,{label:l,status:Q.Info,backgroundColor:i.v2.colors.blue[900]})]},`source-${n}-${o}`)})).filter(Boolean),[o]),p=c(()=>l?.map((a,n)=>{const o=Ft(a.option.type).icon;return e(Ji,{children:[e(g,{$gap:8,children:[o&&t(Qi,{children:t(o,{size:24})}),t(v,{nowrap:!0,children:a.formData.name||a.option.displayName})]}),void 0!==a.testResult&&t(ie,{status:a.testResult.succeeded?Q.Success:Q.Error,leftIcon:a.testResult.succeeded?pn:rn})]},`destination-${n}`)})||[],[l]);return t(Ln,{isOpen:!0,disableAnimation:r,onBack:()=>a(3),onSave:n,header:{icon:xn,title:Rt.SUMMARY,subTitle:Rt.REVIEW_SETUP},leftColumn:{width:"50%",header:e(g,{$width:"100%",$gap:12,$justifyContent:"space-between",children:[e(g,{$gap:8,children:[t(hn,{size:24}),t(v,{nowrap:!0,children:Rt.SELECTED_SOURCES}),t(ie,{label:u.length})]}),t(P,{"data-id":"summary-edit-sources",leftIcon:nn,variant:O.Secondary,size:$.S,onClick:s})]}),list:u.length?u:[t(Et,{$height:"100%",children:t(V,{icon:hn,title:Rt.NO_SOURCES_SELECTED,subTitle:Rt.ADD_SOURCE_PROMPT,button:{leftIcon:Qa,label:Rt.ADD_SOURCE,onClick:s}})},"no-sources-data")]},rightColumn:{width:"50%",header:e(g,{$width:"100%",$gap:12,$justifyContent:"space-between",children:[e(g,{$gap:8,children:[t(cn,{size:24}),t(v,{nowrap:!0,children:Rt.SELECTED_DESTINATIONS}),t(ie,{label:p.length})]}),t(P,{"data-id":"summary-edit-destinations",leftIcon:nn,variant:O.Secondary,size:$.S,onClick:d})]}),list:p.length?p:[t(Et,{"data-id":"summary-no-destinations",$height:"100%",children:t(V,{icon:cn,title:Rt.NO_DESTINATIONS_SELECTED,subTitle:Rt.ADD_DESTINATION_PROMPT,button:{leftIcon:Qa,label:Rt.ADD_DESTINATIONS,onClick:d}})},"no-destinations-data")]}})},es=p.div`
277
+ `,es=({setStep:a,onSave:n,sourcesPayload:o,destinationsPayload:l,disableAnimation:r})=>{const i=m(),s=()=>a(2),d=()=>a(3),u=c(()=>Object.values(o||{}).flatMap((a,n)=>a.map((a,o)=>{if(!a.selected)return null;const l=a.kind||ve.Namespace,r=l===ve.Namespace?a.namespace:`${a.namespace} → ${a.name}`;return e(Qi,{children:[t(v,{nowrap:!0,children:r}),t(ie,{label:l,status:Q.Info,backgroundColor:i.v2.colors.blue[900]})]},`source-${n}-${o}`)})).filter(Boolean),[o]),p=c(()=>l?.map((a,n)=>{const o=Lt(a.option.type).icon;return e(Qi,{children:[e(g,{$gap:8,children:[o&&t(Zi,{children:t(o,{size:24})}),t(v,{nowrap:!0,children:a.formData.name||a.option.displayName})]}),void 0!==a.testResult&&t(ie,{status:a.testResult.succeeded?Q.Success:Q.Error,leftIcon:a.testResult.succeeded?mn:sn})]},`destination-${n}`)})||[],[l]);return t(zn,{isOpen:!0,disableAnimation:r,onBack:()=>a(3),onSave:n,header:{icon:Dn,title:Rt.SUMMARY,subTitle:Rt.REVIEW_SETUP},leftColumn:{width:"50%",header:e(g,{$width:"100%",$gap:12,$justifyContent:"space-between",children:[e(g,{$gap:8,children:[t(gn,{size:24}),t(v,{nowrap:!0,children:Rt.SELECTED_SOURCES}),t(ie,{label:u.length})]}),t(P,{"data-id":"summary-edit-sources",leftIcon:on,variant:O.Secondary,size:$.S,onClick:s})]}),list:u.length?u:[t(Et,{$height:"100%",children:t(V,{icon:gn,title:Rt.NO_SOURCES_SELECTED,subTitle:Rt.ADD_SOURCE_PROMPT,button:{leftIcon:Za,label:Rt.ADD_SOURCE,onClick:s}})},"no-sources-data")]},rightColumn:{width:"50%",header:e(g,{$width:"100%",$gap:12,$justifyContent:"space-between",children:[e(g,{$gap:8,children:[t(dn,{size:24}),t(v,{nowrap:!0,children:Rt.SELECTED_DESTINATIONS}),t(ie,{label:p.length})]}),t(P,{"data-id":"summary-edit-destinations",leftIcon:on,variant:O.Secondary,size:$.S,onClick:d})]}),list:p.length?p:[t(Et,{"data-id":"summary-no-destinations",$height:"100%",children:t(V,{icon:dn,title:Rt.NO_DESTINATIONS_SELECTED,subTitle:Rt.ADD_DESTINATION_PROMPT,button:{leftIcon:Za,label:Rt.ADD_DESTINATIONS,onClick:d}})},"no-destinations-data")]}})},ts=p.div`
278
278
  position: relative;
279
279
  overflow: hidden;
280
280
  width: calc(100vw - ${({$paddingXAxis:e})=>e});
281
281
  height: calc(100vh - ${({$paddingYAxis:e})=>e});
282
282
  box-sizing: border-box;
283
- `,ts=p.svg`
283
+ `,as=p.svg`
284
284
  position: absolute;
285
285
  top: 50%;
286
286
  left: 50%;
287
287
  transform: translate(-50%, -50%);
288
288
  z-index: -1;
289
- `,as=[{opacity:"0.1"},{offset:"0.31",opacity:"0.11"},{offset:"0.45",opacity:"0.14"},{offset:"0.56",opacity:"0.19"},{offset:"0.65",opacity:"0.26"},{offset:"0.73",opacity:"0.35"},{offset:"0.8",opacity:"0.46"},{offset:"0.86",opacity:"0.6"},{offset:"0.92",opacity:"0.76"},{offset:"0.98",opacity:"0.93"},{offset:"1"}],ns=[{width:1440,height:900,pathOpacity:.1,path:"M719.992 1169.99C322.351 1169.99 0 847.64 0 450C0 52.3591 322.351 -269.992 719.992 -269.992C1117.63 -269.992 1439.98 52.3591 1439.98 450C1439.98 847.64 1117.63 1169.99 719.992 1169.99Z",gradientTransform:"translate(814.309 444.011) rotate(180) scale(718.904)",stops:[{opacity:"0.1"},{offset:"0.41",opacity:"0.11"},{offset:"0.56",opacity:"0.13"},{offset:"0.67",opacity:"0.18"},{offset:"0.75",opacity:"0.25"},{offset:"0.83",opacity:"0.33"},{offset:"0.89",opacity:"0.44"},{offset:"0.95",opacity:"0.56"},{offset:"1",opacity:"0.7"}]},{width:1343,height:900,pathOpacity:.3,path:"M671.344 1121.34C300.571 1121.34 0 820.773 0 450C0 79.2264 300.571 -221.345 671.344 -221.345C1042.12 -221.345 1342.69 79.2264 1342.69 450C1342.69 820.773 1042.12 1121.34 671.344 1121.34Z",gradientTransform:"translate(644.026 441.551) rotate(180) scale(581.31)",stops:as},{width:1163,height:900,pathOpacity:.5,path:"M581.31 1031.31C260.261 1031.31 0 771.048 0 449.999C0 128.951 260.261 -131.311 581.31 -131.311C902.358 -131.311 1162.62 128.951 1162.62 449.999C1162.62 771.048 902.358 1031.31 581.31 1031.31Z",gradientTransform:"translate(644.026 441.551) rotate(180) scale(581.31)",stops:as},{width:798,height:798,pathOpacity:.7,path:"M398.581 797.162C178.451 797.162 0 618.711 0 398.581C0 178.451 178.451 0 398.581 0C618.711 0 797.162 178.451 797.162 398.581C797.162 618.711 618.711 797.162 398.581 797.162Z",gradientTransform:"translate(445.003 392.441) rotate(180) scale(398.23)",stops:as}],os=({paddingXAxis:a="0px",paddingYAxis:o="0px",children:r})=>{const[i,s]=l(window.innerWidth),d=c(()=>i/ns[0].width,[i]);return n(()=>{const e=()=>s(window.innerWidth);return window.addEventListener("resize",e),()=>window.removeEventListener("resize",e)},[]),e(es,{$paddingXAxis:a,$paddingYAxis:o,children:[ns.map(({width:a,height:n,pathOpacity:o,path:l,gradientTransform:r,stops:i},s)=>{const c=`purple-ring-${s}`;return e(ts,{width:a*d,height:"100%",viewBox:`0 0 ${a} ${n}`,fill:"none",children:[t("path",{opacity:o,d:l,fill:`url(#${c})`}),t("defs",{children:t("radialGradient",{id:c,cx:"0",cy:"0",r:"1",gradientUnits:"userSpaceOnUse",gradientTransform:r,children:i.map(({offset:e,opacity:a},n)=>t("stop",{offset:e,stopColor:"#7C3BFF",stopOpacity:a},n))})})]},c)}),r]})},ls=p.div`
289
+ `,ns=[{opacity:"0.1"},{offset:"0.31",opacity:"0.11"},{offset:"0.45",opacity:"0.14"},{offset:"0.56",opacity:"0.19"},{offset:"0.65",opacity:"0.26"},{offset:"0.73",opacity:"0.35"},{offset:"0.8",opacity:"0.46"},{offset:"0.86",opacity:"0.6"},{offset:"0.92",opacity:"0.76"},{offset:"0.98",opacity:"0.93"},{offset:"1"}],os=[{width:1440,height:900,pathOpacity:.1,path:"M719.992 1169.99C322.351 1169.99 0 847.64 0 450C0 52.3591 322.351 -269.992 719.992 -269.992C1117.63 -269.992 1439.98 52.3591 1439.98 450C1439.98 847.64 1117.63 1169.99 719.992 1169.99Z",gradientTransform:"translate(814.309 444.011) rotate(180) scale(718.904)",stops:[{opacity:"0.1"},{offset:"0.41",opacity:"0.11"},{offset:"0.56",opacity:"0.13"},{offset:"0.67",opacity:"0.18"},{offset:"0.75",opacity:"0.25"},{offset:"0.83",opacity:"0.33"},{offset:"0.89",opacity:"0.44"},{offset:"0.95",opacity:"0.56"},{offset:"1",opacity:"0.7"}]},{width:1343,height:900,pathOpacity:.3,path:"M671.344 1121.34C300.571 1121.34 0 820.773 0 450C0 79.2264 300.571 -221.345 671.344 -221.345C1042.12 -221.345 1342.69 79.2264 1342.69 450C1342.69 820.773 1042.12 1121.34 671.344 1121.34Z",gradientTransform:"translate(644.026 441.551) rotate(180) scale(581.31)",stops:ns},{width:1163,height:900,pathOpacity:.5,path:"M581.31 1031.31C260.261 1031.31 0 771.048 0 449.999C0 128.951 260.261 -131.311 581.31 -131.311C902.358 -131.311 1162.62 128.951 1162.62 449.999C1162.62 771.048 902.358 1031.31 581.31 1031.31Z",gradientTransform:"translate(644.026 441.551) rotate(180) scale(581.31)",stops:ns},{width:798,height:798,pathOpacity:.7,path:"M398.581 797.162C178.451 797.162 0 618.711 0 398.581C0 178.451 178.451 0 398.581 0C618.711 0 797.162 178.451 797.162 398.581C797.162 618.711 618.711 797.162 398.581 797.162Z",gradientTransform:"translate(445.003 392.441) rotate(180) scale(398.23)",stops:ns}],ls=({paddingXAxis:a="0px",paddingYAxis:o="0px",children:r})=>{const[i,s]=l(window.innerWidth),d=c(()=>i/os[0].width,[i]);return n(()=>{const e=()=>s(window.innerWidth);return window.addEventListener("resize",e),()=>window.removeEventListener("resize",e)},[]),e(ts,{$paddingXAxis:a,$paddingYAxis:o,children:[os.map(({width:a,height:n,pathOpacity:o,path:l,gradientTransform:r,stops:i},s)=>{const c=`purple-ring-${s}`;return e(as,{width:a*d,height:"100%",viewBox:`0 0 ${a} ${n}`,fill:"none",children:[t("path",{opacity:o,d:l,fill:`url(#${c})`}),t("defs",{children:t("radialGradient",{id:c,cx:"0",cy:"0",r:"1",gradientUnits:"userSpaceOnUse",gradientTransform:r,children:i.map(({offset:e,opacity:a},n)=>t("stop",{offset:e,stopColor:"#7C3BFF",stopOpacity:a},n))})})]},c)}),r]})},rs=p.div`
290
290
  display: flex;
291
291
  flex-direction: column;
292
292
  align-items: center;
@@ -297,7 +297,7 @@ import{jsxs as e,jsx as t,Fragment as a}from"react/jsx-runtime";import{useEffect
297
297
  width: 50vw;
298
298
  border-radius: 16px;
299
299
  background: ${({theme:e})=>e.v2.colors.silver[900]};
300
- `,rs=p.div`
300
+ `,is=p.div`
301
301
  display: flex;
302
302
  flex-direction: column;
303
303
  align-items: center;
@@ -307,12 +307,12 @@ import{jsxs as e,jsx as t,Fragment as a}from"react/jsx-runtime";import{useEffect
307
307
  & * {
308
308
  text-align: center;
309
309
  }
310
- `,is=({onStart:a})=>t(Ht,{width:"75vw",isOpen:!0,hideOverlay:!0,disableAnimation:!0,children:t(Et,{$height:"100%",children:e(ls,{children:[e(rs,{children:[t(v,{size:b.L,weight:500,children:Rt.GET_STARTED_WITH}),t(Xn,{size:260}),t(v,{size:b.S,weight:400,children:Rt.GET_STARTED_DESCRIPTION})]}),t(P,{"data-id":"onboarding-get-started",label:ya.GET_STARTED,rightIcon:Dn,size:$.L,onClick:a})]})})}),ss=[{step:1,label:Rt.INSTALLATION,forceDoneBadge:!0},{step:2,label:Rt.SOURCES_SETUP},{step:3,label:Rt.DESTINATIONS_SETUP},{step:4,label:Rt.SUMMARY}],cs=p.div`
310
+ `,ss=({onStart:a})=>t(Ht,{width:"75vw",isOpen:!0,hideOverlay:!0,disableAnimation:!0,children:t(Et,{$height:"100%",children:e(rs,{children:[e(is,{children:[t(v,{size:b.L,weight:500,children:Rt.GET_STARTED_WITH}),t(Bn,{size:260}),t(v,{size:b.S,weight:400,children:Rt.GET_STARTED_DESCRIPTION})]}),t(P,{"data-id":"onboarding-get-started",label:ya.GET_STARTED,rightIcon:Nn,size:$.L,onClick:a})]})})}),cs=[{step:1,label:Rt.INSTALLATION,forceDoneBadge:!0},{step:2,label:Rt.SOURCES_SETUP},{step:3,label:Rt.DESTINATIONS_SETUP},{step:4,label:Rt.SUMMARY}],ds=p.div`
311
311
  display: flex;
312
312
  flex-direction: column;
313
313
  gap: 32px;
314
314
  padding: 64px;
315
- `,ds=({pagePaddingXAxis:a,pagePaddingYAxis:n,fetchNamespacesWithWorkloads:o,persistSources:r,getDestinationCategories:i,getPotentialDestinations:s,testConnection:c,createDestination:d,updateDestination:u,onDone:p})=>{const[m,h]=l(1),[g,f]=l(!1),[v,b]=l(null),[y,S]=l(null),C=()=>h(e=>e+1),k=()=>h(e=>e-1);return e(os,{paddingXAxis:a,paddingYAxis:n,children:[e(cs,{children:[t(Xn,{}),t(Ta,{currentStep:m,data:ss,gap:32})]}),t(Ro,{fetchNamespacesWithWorkloads:o,initialInputs:v,children:e(ho,{children:[1===m&&t(is,{onStart:C}),2===m&&t(Si,{disableAnimation:!0,onBack:e=>{b(e),k()},onNext:e=>{b(e),C()},persistSources:r}),3===m&&t(ci,{disableAnimation:!0,onBack:e=>{S(e),k()},onNext:e=>{S(e),C()},getDestinationCategories:i,getPotentialDestinations:s,initialInputs:y,testConnection:c,createDestination:d,updateDestination:u}),4===m&&t(Zi,{disableAnimation:!0,setStep:h,onSave:async()=>{if(!g){f(!0);try{const e=[];v&&e.push(r(v)),y&&e.push(...y.map(e=>d(e.formData)));const t=await Promise.allSettled(e),a=[];for(const e of t)"rejected"===e.status?a.push(e.reason?.message||String(e.reason)):e.value?.error&&a.push(e.value.error);if(a.length)return{error:a.join("\n")};p()}catch(e){return f(!1),{error:e instanceof Error?e.message:String(e)}}}},sourcesPayload:v,destinationsPayload:y})]})})]})},us=p.div`
315
+ `,us=({pagePaddingXAxis:a,pagePaddingYAxis:n,fetchNamespacesWithWorkloads:o,persistSources:r,getDestinationCategories:i,getPotentialDestinations:s,testConnection:c,createDestination:d,updateDestination:u,onDone:p})=>{const[m,h]=l(1),[g,f]=l(!1),[v,b]=l(null),[y,S]=l(null),C=()=>h(e=>e+1),k=()=>h(e=>e-1);return e(ls,{paddingXAxis:a,paddingYAxis:n,children:[e(ds,{children:[t(Bn,{}),t(Ta,{currentStep:m,data:cs,gap:32})]}),t(Po,{fetchNamespacesWithWorkloads:o,initialInputs:v,children:e(go,{children:[1===m&&t(ss,{onStart:C}),2===m&&t(Ci,{disableAnimation:!0,onBack:e=>{b(e),k()},onNext:e=>{b(e),C()},persistSources:r}),3===m&&t(di,{disableAnimation:!0,onBack:e=>{S(e),k()},onNext:e=>{S(e),C()},getDestinationCategories:i,getPotentialDestinations:s,initialInputs:y,testConnection:c,createDestination:d,updateDestination:u}),4===m&&t(es,{disableAnimation:!0,setStep:h,onSave:async()=>{if(!g){f(!0);try{const e=[];v&&e.push(r(v)),y&&e.push(...y.map(e=>d(e.formData)));const t=await Promise.allSettled(e),a=[];for(const e of t)"rejected"===e.status?a.push(e.reason?.message||String(e.reason)):e.value?.error&&a.push(e.value.error);if(a.length)return{error:a.join("\n")};p()}catch(e){return f(!1),{error:e instanceof Error?e.message:String(e)}}}},sourcesPayload:v,destinationsPayload:y})]})})]})},ps=p.div`
316
316
  display: flex;
317
317
  align-items: center;
318
318
  justify-content: space-between;
@@ -324,13 +324,13 @@ import{jsxs as e,jsx as t,Fragment as a}from"react/jsx-runtime";import{useEffect
324
324
  &:hover {
325
325
  background: ${({theme:e})=>e.v2.colors.silver[700]};
326
326
  }
327
- `,ps=p.div`
327
+ `,ms=p.div`
328
328
  animation-name: ${Aa.in};
329
- `,ms=({pod:o,getExtendedPodInfo:r,onClose:i})=>{const{formatTimeAgo:s}=ia(),[d,u]=l(null),[p,m]=l(!1);n(()=>{o?r(o.namespace,o.name).then(e=>u(e??null)):(u(null),m(!1))},[o]);const g=c(()=>[{id:pa(),title:"Node",label:d?.node??"-",withCopy:!0},{id:pa(),title:"Status",badge:{status:xa(d?.status),label:d?.status??"-"}}],[d]),f=c(()=>d?.containers?.map(e=>({id:pa(),items:[{id:pa(),title:"Container",label:e.name??"-"},{id:pa(),title:"Status",label:e.startedAt?`${e.status} (since ${s(e.startedAt)})`:e.status},{id:pa(),title:"Ready",badge:{status:e.ready?Q.Success:Q.Error,leftIcon:e.ready?en:tn,label:e.ready?"True":"False",invertColors:!0}},{id:pa(),title:"Started",badge:{status:e.started?Q.Success:Q.Error,leftIcon:e.started?en:tn,label:e.started?"True":"False",invertColors:!0}},{id:pa(),title:"Image Version",label:e.image?.split(":")?.[1]??"-"},{id:pa(),title:"Image Repository",label:e.image?.split(":")?.[0]??"-"},{id:pa(),title:"Restarts",label:e.restarts.toString()},{id:pa(),title:"State Reason",label:e.stateReason??"-"},{id:pa(),title:"Resource Requests",label:`CPU ${e.resources.requests.cpu} • Memory ${e.resources.requests.memory}`},{id:pa(),title:"Resource Limits",label:`CPU ${e.resources.limits.cpu} • Memory ${e.resources.limits.memory}`}]}))||[],[d]);return e(Ht,{isOpen:!!o,header:{icon:Nn,title:"Pod Information",onClose:i},children:[d?null:t(Et,{children:t(Da,{})}),d?e(a,{children:[t(be,{richTitle:{icon:Nn,title:d.name,withCopy:!0},children:e(h,{$gap:24,children:[t(ua,{cellsPerRow:2,items:g}),f.length>0&&e(h,{$gap:12,children:[e(us,{onClick:()=>m(e=>!e),children:[t(v,{children:"Containers Overview"}),t(Pt,{icon:p?dn:un})]}),p&&f.map(({id:e,items:a})=>t(ps,{children:t(ua,{cellsPerRow:2,items:a})},e))]})]})}),t(be,{richTitle:{icon:kn,title:"Kubectl Commands"},children:e(h,{$gap:12,children:[t(Na,{value:`kubectl get pod ${d.name} -n ${d.namespace} -o yaml`}),t(Na,{value:`kubectl describe pod ${d.name} -n ${d.namespace}`}),t(Na,{value:`kubectl logs ${d.name} -n ${d.namespace}`})]})}),t(_n,{yaml:d.manifestYAML,defaultOpen:!0})]}):null]})};var hs;!function(e){e.PodName="podName",e.Status="status",e.Restarts="restarts",e.NodeName="nodeName",e.SpanDropDrate="spanDropDrate",e.Age="age",e.DockerImage="dockerImage"}(hs||(hs={}));const gs=[{key:hs.PodName,label:"Pod Name"},{key:hs.Status,label:"Status"},{key:hs.Restarts,label:"Restarts",textAlign:"right"},{key:hs.NodeName,label:"Node Name"},{key:hs.Age,label:"Age",textAlign:"right"},{key:hs.DockerImage,label:"Docker Image",textAlign:"right"}],fs=({isLoading:a,tableRowsMaxHeight:n,pods:o,getExtendedPodInfo:r})=>{const i=m(),{formatTimeAgo:s}=ia(),[d,u]=l(null),p=c(()=>o.map(a=>({onClick:()=>u(a),cells:[{key:hs.PodName,rawValue:a.name},{key:hs.Status,rawValue:a.status,component:()=>{return e=a.status,t(ie,{status:xa(e),label:e});var e}},{key:hs.Restarts,rawValue:a.restartsCount.toString()},{key:hs.NodeName,rawValue:a.nodeName},{key:hs.SpanDropDrate,rawValue:0,component:()=>{const{collectorMetrics:n}=a;if(!n)return t(v,{children:"-"});const o=(n?.metricsAcceptedRps??0)+(n?.metricsDroppedRps??0),l=o>0?Math.round((n?.metricsDroppedRps??0)/o*100):0,r=l>0?Q.Error:Q.Success,i=(n?.exporterSuccessRps??0)+(n?.exporterFailedRps??0),s=i>0?Math.round((n?.exporterFailedRps??0)/i*100):0,c=s>0?Q.Error:Q.Success;return e(g,{$gap:4,children:[t(ee,{text:`Accepted: ${n.metricsAcceptedRps.toLocaleString()}, Dropped: ${n.metricsDroppedRps.toLocaleString()}`,children:t(ie,{status:r,label:`Receiver ${l}%`,leftIcon:r===Q.Error?An:In,useSecondaryTone:!0,invertColors:!0})}),t(ee,{text:`Success: ${n.exporterSuccessRps.toLocaleString()}, Failed: ${n.exporterFailedRps.toLocaleString()}`,children:t(ie,{status:c,label:`Exporter ${s}%`,leftIcon:c===Q.Error?An:In,useSecondaryTone:!0,invertColors:!0})})]})}},{key:hs.Age,rawValue:s(a.creationTimestamp)},{key:hs.DockerImage,rawValue:a.image}]})),[o,i]);return e(be,{richTitle:{icon:Nn,title:"Pods"},children:[t(Ca,{variant:ka.Data,maxHeight:n,isLoading:a,columns:gs,rows:p}),t(ms,{pod:d,getExtendedPodInfo:r,onClose:()=>u(null)})]})};var vs;!function(e){e.Gateway="gateway",e.Node="node"}(vs||(vs={}));const bs=[{value:vs.Gateway,label:"Gateway"},{value:vs.Node,label:"Node Collector"}],ys=p.div`
329
+ `,hs=({pod:o,getExtendedPodInfo:r,onClose:i})=>{const{formatTimeAgo:s}=ia(),[d,u]=l(null),[p,m]=l(!1);n(()=>{o?r(o.namespace,o.name).then(e=>u(e??null)):(u(null),m(!1))},[o]);const g=c(()=>[{id:pa(),title:"Node",label:d?.node??"-",withCopy:!0},{id:pa(),title:"Status",badge:{status:xa(d?.status),label:d?.status??"-"}}],[d]),f=c(()=>d?.containers?.map(e=>({id:pa(),items:[{id:pa(),title:"Container",label:e.name??"-"},{id:pa(),title:"Status",label:e.startedAt?`${e.status} (since ${s(e.startedAt)})`:e.status},{id:pa(),title:"Ready",badge:{status:e.ready?Q.Success:Q.Error,leftIcon:e.ready?tn:an,label:e.ready?"True":"False",invertColors:!0}},{id:pa(),title:"Started",badge:{status:e.started?Q.Success:Q.Error,leftIcon:e.started?tn:an,label:e.started?"True":"False",invertColors:!0}},{id:pa(),title:"Image Version",label:e.image?.split(":")?.[1]??"-"},{id:pa(),title:"Image Repository",label:e.image?.split(":")?.[0]??"-"},{id:pa(),title:"Restarts",label:e.restarts.toString()},{id:pa(),title:"State Reason",label:e.stateReason??"-"},{id:pa(),title:"Resource Requests",label:`CPU ${e.resources.requests.cpu} • Memory ${e.resources.requests.memory}`},{id:pa(),title:"Resource Limits",label:`CPU ${e.resources.limits.cpu} • Memory ${e.resources.limits.memory}`}]}))||[],[d]);return e(Ht,{isOpen:!!o,header:{icon:An,title:"Pod Information",onClose:i},children:[d?null:t(Et,{children:t(Da,{})}),d?e(a,{children:[t(be,{richTitle:{icon:An,title:d.name,withCopy:!0},children:e(h,{$gap:24,children:[t(ua,{cellsPerRow:2,items:g}),f.length>0&&e(h,{$gap:12,children:[e(ps,{onClick:()=>m(e=>!e),children:[t(v,{children:"Containers Overview"}),t(Pt,{icon:p?un:pn})]}),p&&f.map(({id:e,items:a})=>t(ms,{children:t(ua,{cellsPerRow:2,items:a})},e))]})]})}),t(be,{richTitle:{icon:wn,title:"Kubectl Commands"},children:e(h,{$gap:12,children:[t(Na,{value:`kubectl get pod ${d.name} -n ${d.namespace} -o yaml`}),t(Na,{value:`kubectl describe pod ${d.name} -n ${d.namespace}`}),t(Na,{value:`kubectl logs ${d.name} -n ${d.namespace}`})]})}),t(Un,{yaml:d.manifestYAML,defaultOpen:!0})]}):null]})};var gs;!function(e){e.PodName="podName",e.Status="status",e.Restarts="restarts",e.NodeName="nodeName",e.SpanDropDrate="spanDropDrate",e.Age="age",e.DockerImage="dockerImage"}(gs||(gs={}));const fs=[{key:gs.PodName,label:"Pod Name"},{key:gs.Status,label:"Status"},{key:gs.Restarts,label:"Restarts",textAlign:"right"},{key:gs.NodeName,label:"Node Name"},{key:gs.Age,label:"Age",textAlign:"right"},{key:gs.DockerImage,label:"Docker Image",textAlign:"right"}],vs=({isLoading:a,tableRowsMaxHeight:n,pods:o,getExtendedPodInfo:r})=>{const i=m(),{formatTimeAgo:s}=ia(),[d,u]=l(null),p=c(()=>o.map(a=>({onClick:()=>u(a),cells:[{key:gs.PodName,rawValue:a.name},{key:gs.Status,rawValue:a.status,component:()=>{return e=a.status,t(ie,{status:xa(e),label:e});var e}},{key:gs.Restarts,rawValue:a.restartsCount.toString()},{key:gs.NodeName,rawValue:a.nodeName},{key:gs.SpanDropDrate,rawValue:0,component:()=>{const{collectorMetrics:n}=a;if(!n)return t(v,{children:"-"});const o=(n?.metricsAcceptedRps??0)+(n?.metricsDroppedRps??0),l=o>0?Math.round((n?.metricsDroppedRps??0)/o*100):0,r=l>0?Q.Error:Q.Success,i=(n?.exporterSuccessRps??0)+(n?.exporterFailedRps??0),s=i>0?Math.round((n?.exporterFailedRps??0)/i*100):0,c=s>0?Q.Error:Q.Success;return e(g,{$gap:4,children:[t(ee,{text:`Accepted: ${n.metricsAcceptedRps.toLocaleString()}, Dropped: ${n.metricsDroppedRps.toLocaleString()}`,children:t(ie,{status:r,label:`Receiver ${l}%`,leftIcon:r===Q.Error?In:En,useSecondaryTone:!0,invertColors:!0})}),t(ee,{text:`Success: ${n.exporterSuccessRps.toLocaleString()}, Failed: ${n.exporterFailedRps.toLocaleString()}`,children:t(ie,{status:c,label:`Exporter ${s}%`,leftIcon:c===Q.Error?In:En,useSecondaryTone:!0,invertColors:!0})})]})}},{key:gs.Age,rawValue:s(a.creationTimestamp)},{key:gs.DockerImage,rawValue:a.image}]})),[o,i]);return e(be,{richTitle:{icon:An,title:"Pods"},children:[t(Ca,{variant:ka.Data,maxHeight:n,isLoading:a,columns:fs,rows:p}),t(hs,{pod:d,getExtendedPodInfo:r,onClose:()=>u(null)})]})};var bs;!function(e){e.Gateway="gateway",e.Node="node"}(bs||(bs={}));const ys=[{value:bs.Gateway,label:"Gateway"},{value:bs.Node,label:"Node Collector"}],Ss=p.div`
330
330
  display: flex;
331
331
  align-items: center;
332
332
  justify-content: space-between;
333
- `,Ss=({selectedTab:a,setSelectedTab:n,onClickDownloadDiagnose:o,onClickRefresh:l,loading:r,disabled:i})=>{const s=c(()=>{const e=[];return o&&e.push({id:pa(),type:ba.Button,buttonProps:{label:"Download Diagnose",leftIcon:Cn,size:$.S,variant:O.Text,onClick:o,disabled:i}}),l&&e.push({id:pa(),type:ba.Button,buttonProps:{label:"Refresh",leftIcon:wn,size:$.S,variant:O.Text,onClick:l,disabled:i,loading:r}}),e},[o,l,i,r]);return e(ys,{children:[e(g,{$gap:12,$alignItems:"center",children:[t(Ia,{icon:En,title:"Pipeline Collectors"}),t(B,{options:bs,selected:a,setSelected:n,disabled:i})]}),t(Ea,{actions:s})]})},Cs=({isOpen:e,onClose:a,title:n,yaml:o})=>t(Ht,{isOpen:e,header:{icon:Rn,title:n,onClose:a},children:t(_n,{yaml:o,defaultOpen:!0})});var ks;!function(e){e.ManifestYaml="manifest-yaml",e.ConfigMapYaml="configmap-yaml"}(ks||(ks={}));const ws=({richTitle:a,statusCard:n,textCards:o,manifestYaml:r,configMapYaml:i})=>{const[s,c]=l(null);return e(be,{richTitle:a,actions:[{id:pa(),type:ba.ButtonDropData,buttonProps:{variant:O.Secondary,size:$.S,label:"View YAML",onClick:e=>c(e)},dropDataProps:{items:[{id:ks.ManifestYaml,label:a?.title??"",icon:Pn},{id:ks.ConfigMapYaml,label:"ConfigMap",icon:Pn}]}}],children:[e(g,{$gap:16,children:[t(Ra,{...n}),o.map(e=>t(Pa,{...e},e.title))]}),t(Cs,{isOpen:s===ks.ManifestYaml,onClose:()=>c(null),title:a?.title??"",yaml:r}),t(Cs,{isOpen:s===ks.ConfigMapYaml,onClose:()=>c(null),title:"ConfigMap",yaml:i})]})},Ts=e=>{switch(e){case $a.Healthy:return"All desired replicas are updated, available, and ready";case $a.Updating:return"Workload is progressing towards desired state (e.g., updating pods)";case $a.Degraded:return"Progressing but with availability issues (e.g., not enough available replicas)";case $a.Failed:return"Progress deadline exceeded or an unrecoverable error occurred";case $a.Down:return"No available replicas";case $a.Unknown:return"Status cannot be determined from current signals";default:return"Status unknown"}},xs=({minSupportedVersion:a=0,tableRowsMaxHeight:o,getGatewayInfo:i,getGatewayPods:s,getNodeCollectorInfo:d,getNodeCollectorPods:u,getExtendedPodInfo:p})=>{const{formatTimeAgo:m}=ia(),{isVersionSupported:h,version:g}=de(a),[f,v]=l(!1),[b,y]=l(vs.Gateway),[S,C]=l(null),[k,w]=l([]),[T,x]=l(null),[D,N]=l([]),A=r(async()=>{v(!0);try{switch(b){case vs.Gateway:C(await i()??null),w(await s()??[]);break;case vs.Node:x(await d()??null),N(await u()??[])}}catch(e){}v(!1)},[b]);n(()=>{A()},[A]);const I=c(()=>(e=>{switch(e){case vs.Gateway:return"Deployment";case vs.Node:return"DaemonSet";default:return"Pipeline Collectors"}})(b),[b]),E=c(()=>((e,t,a,n)=>{const o={status:Xt.Disabled,label:"No rollouts yet"};let l=!1,r=null;switch(e){case vs.Gateway:l=t?.rolloutInProgress??!1,r=t?.lastRolloutAt??null;break;case vs.Node:l=a?.rolloutInProgress??!1,r=a?.lastRolloutAt??null;break;default:return o}return l?{status:Q.Info,label:"Rollout in progress",rightIcon:wn,useSecondaryTone:!0}:r?{status:Xt.Disabled,label:`Last Rollout: ${n(r)}`}:o})(b,S,T,m),[S,T,b,m]),R=c(()=>((e,t,a,n)=>{let o=n?Q.Info:Xt.Unknown,l=n?"Loading":$a.Unknown,r=n?"Fetching data...":Ts($a.Unknown);switch(e){case vs.Gateway:o=t?.status?xa(t?.status):o,l=t?.status??l,r=t?.status?Ts(t.status):r;break;case vs.Node:o=a?.status?xa(a?.status):o,l=a?.status??l,r=a?.status?Ts(a.status):r}return{status:o,title:l,description:r}})(b,S,T,f),[S,T,b,f]),P=c(()=>((e,t,a,n)=>{switch(e){case vs.Gateway:return[{title:"HPA Spec (Replicas)",cells:[{label:"Min.",value:t?.hpa?.min.toString()??"-",isLoading:n},{label:"Max.",value:t?.hpa?.max.toString()??"-",isLoading:n},{label:"Current",value:t?.hpa?.current.toString()??"-",isLoading:n},{label:"Desired",value:t?.hpa?.desired.toString()??"-",isLoading:n}]},{title:"Requests",cells:[{label:"CPU",value:t?.resources?.requests.cpu??"-",isLoading:n},{label:"Memory",value:t?.resources?.requests.memory??"-",isLoading:n}]},{title:"Limits",cells:[{label:"CPU",value:t?.resources?.limits.cpu??"-",isLoading:n},{label:"Memory",value:t?.resources?.limits.memory??"-",isLoading:n}]},{title:"Docker Image",cells:[{value:t?.imageVersion??"-",isLoading:n}]}];case vs.Node:return[{title:"Nodes",cells:[{label:"Desired",value:a?.nodes?.desired.toString()??"-",isLoading:n},{label:"Ready",value:a?.nodes?.ready.toString()??"-",isLoading:n}]},{title:"Requests",cells:[{label:"CPU",value:a?.resources?.requests.cpu??"-",isLoading:n},{label:"Memory",value:a?.resources?.requests.memory??"-",isLoading:n}]},{title:"Limits",cells:[{label:"CPU",value:a?.resources?.limits.cpu??"-",isLoading:n},{label:"Memory",value:a?.resources?.limits.memory??"-",isLoading:n}]},{title:"Docker Image",cells:[{value:a?.imageVersion??"-",isLoading:n}]}];default:return[]}})(b,S,T,f),[S,T,b,f]),$=c(()=>(b===vs.Gateway?S?.manifestYAML:T?.manifestYAML)??"",[S,T,b]),O=c(()=>(b===vs.Gateway?S?.configMapYAML:T?.configMapYAML)??"",[S,T,b]),M=c(()=>b===vs.Gateway?k:D,[k,D,b]);return e(Sa,{children:[t(Ss,{disabled:!h,loading:f,selectedTab:b,setSelectedTab:y,onClickDownloadDiagnose:void 0,onClickRefresh:A}),e(Oa,{children:[t(ws,{richTitle:{icon:Rn,title:I,badge:E},statusCard:R,textCards:P,manifestYaml:$,configMapYaml:O}),t(fs,{isLoading:f,tableRowsMaxHeight:o,pods:M,getExtendedPodInfo:p}),!h&&t(Bn,{minSupportedVersion:a,currentVersion:g||""})]})]})},Ds=p.div`
333
+ `,Cs=({selectedTab:a,setSelectedTab:n,onClickDownloadDiagnose:o,onClickRefresh:l,loading:r,disabled:i})=>{const s=c(()=>{const e=[];return o&&e.push({id:pa(),type:ba.Button,buttonProps:{label:"Download Diagnose",leftIcon:kn,size:$.S,variant:O.Text,onClick:o,disabled:i}}),l&&e.push({id:pa(),type:ba.Button,buttonProps:{label:"Refresh",leftIcon:Tn,size:$.S,variant:O.Text,onClick:l,disabled:i,loading:r}}),e},[o,l,i,r]);return e(Ss,{children:[e(g,{$gap:12,$alignItems:"center",children:[t(Ia,{icon:Rn,title:"Pipeline Collectors"}),t(B,{options:ys,selected:a,setSelected:n,disabled:i})]}),t(Ea,{actions:s})]})},ks=({isOpen:e,onClose:a,title:n,yaml:o})=>t(Ht,{isOpen:e,header:{icon:Pn,title:n,onClose:a},children:t(Un,{yaml:o,defaultOpen:!0})});var ws;!function(e){e.ManifestYaml="manifest-yaml",e.ConfigMapYaml="configmap-yaml"}(ws||(ws={}));const Ts=({richTitle:a,statusCard:n,textCards:o,manifestYaml:r,configMapYaml:i})=>{const[s,c]=l(null);return e(be,{richTitle:a,actions:[{id:pa(),type:ba.ButtonDropData,buttonProps:{variant:O.Secondary,size:$.S,label:"View YAML",onClick:e=>c(e)},dropDataProps:{items:[{id:ws.ManifestYaml,label:a?.title??"",icon:$n},{id:ws.ConfigMapYaml,label:"ConfigMap",icon:$n}]}}],children:[e(g,{$gap:16,children:[t(Ra,{...n}),o.map(e=>t(Pa,{...e},e.title))]}),t(ks,{isOpen:s===ws.ManifestYaml,onClose:()=>c(null),title:a?.title??"",yaml:r}),t(ks,{isOpen:s===ws.ConfigMapYaml,onClose:()=>c(null),title:"ConfigMap",yaml:i})]})},xs=e=>{switch(e){case $a.Healthy:return"All desired replicas are updated, available, and ready";case $a.Updating:return"Workload is progressing towards desired state (e.g., updating pods)";case $a.Degraded:return"Progressing but with availability issues (e.g., not enough available replicas)";case $a.Failed:return"Progress deadline exceeded or an unrecoverable error occurred";case $a.Down:return"No available replicas";case $a.Unknown:return"Status cannot be determined from current signals";default:return"Status unknown"}},Ds=({minSupportedVersion:a=0,tableRowsMaxHeight:o,getGatewayInfo:i,getGatewayPods:s,getNodeCollectorInfo:d,getNodeCollectorPods:u,getExtendedPodInfo:p})=>{const{formatTimeAgo:m}=ia(),{isVersionSupported:h,version:g}=de(a),[f,v]=l(!1),[b,y]=l(bs.Gateway),[S,C]=l(null),[k,w]=l([]),[T,x]=l(null),[D,N]=l([]),A=r(async()=>{v(!0);try{switch(b){case bs.Gateway:C(await i()??null),w(await s()??[]);break;case bs.Node:x(await d()??null),N(await u()??[])}}catch(e){}v(!1)},[b]);n(()=>{A()},[A]);const I=c(()=>(e=>{switch(e){case bs.Gateway:return"Deployment";case bs.Node:return"DaemonSet";default:return"Pipeline Collectors"}})(b),[b]),E=c(()=>((e,t,a,n)=>{const o={status:Xt.Disabled,label:"No rollouts yet"};let l=!1,r=null;switch(e){case bs.Gateway:l=t?.rolloutInProgress??!1,r=t?.lastRolloutAt??null;break;case bs.Node:l=a?.rolloutInProgress??!1,r=a?.lastRolloutAt??null;break;default:return o}return l?{status:Q.Info,label:"Rollout in progress",rightIcon:Tn,useSecondaryTone:!0}:r?{status:Xt.Disabled,label:`Last Rollout: ${n(r)}`}:o})(b,S,T,m),[S,T,b,m]),R=c(()=>((e,t,a,n)=>{let o=n?Q.Info:Xt.Unknown,l=n?"Loading":$a.Unknown,r=n?"Fetching data...":xs($a.Unknown);switch(e){case bs.Gateway:o=t?.status?xa(t?.status):o,l=t?.status??l,r=t?.status?xs(t.status):r;break;case bs.Node:o=a?.status?xa(a?.status):o,l=a?.status??l,r=a?.status?xs(a.status):r}return{status:o,title:l,description:r}})(b,S,T,f),[S,T,b,f]),P=c(()=>((e,t,a,n)=>{switch(e){case bs.Gateway:return[{title:"HPA Spec (Replicas)",cells:[{label:"Min.",value:t?.hpa?.min.toString()??"-",isLoading:n},{label:"Max.",value:t?.hpa?.max.toString()??"-",isLoading:n},{label:"Current",value:t?.hpa?.current.toString()??"-",isLoading:n},{label:"Desired",value:t?.hpa?.desired.toString()??"-",isLoading:n}]},{title:"Requests",cells:[{label:"CPU",value:t?.resources?.requests.cpu??"-",isLoading:n},{label:"Memory",value:t?.resources?.requests.memory??"-",isLoading:n}]},{title:"Limits",cells:[{label:"CPU",value:t?.resources?.limits.cpu??"-",isLoading:n},{label:"Memory",value:t?.resources?.limits.memory??"-",isLoading:n}]},{title:"Docker Image",cells:[{value:t?.imageVersion??"-",isLoading:n}]}];case bs.Node:return[{title:"Nodes",cells:[{label:"Desired",value:a?.nodes?.desired.toString()??"-",isLoading:n},{label:"Ready",value:a?.nodes?.ready.toString()??"-",isLoading:n}]},{title:"Requests",cells:[{label:"CPU",value:a?.resources?.requests.cpu??"-",isLoading:n},{label:"Memory",value:a?.resources?.requests.memory??"-",isLoading:n}]},{title:"Limits",cells:[{label:"CPU",value:a?.resources?.limits.cpu??"-",isLoading:n},{label:"Memory",value:a?.resources?.limits.memory??"-",isLoading:n}]},{title:"Docker Image",cells:[{value:a?.imageVersion??"-",isLoading:n}]}];default:return[]}})(b,S,T,f),[S,T,b,f]),$=c(()=>(b===bs.Gateway?S?.manifestYAML:T?.manifestYAML)??"",[S,T,b]),O=c(()=>(b===bs.Gateway?S?.configMapYAML:T?.configMapYAML)??"",[S,T,b]),M=c(()=>b===bs.Gateway?k:D,[k,D,b]);return e(Sa,{children:[t(Cs,{disabled:!h,loading:f,selectedTab:b,setSelectedTab:y,onClickDownloadDiagnose:void 0,onClickRefresh:A}),e(Oa,{children:[t(Ts,{richTitle:{icon:Pn,title:I,badge:E},statusCard:R,textCards:P,manifestYaml:$,configMapYaml:O}),t(vs,{isLoading:f,tableRowsMaxHeight:o,pods:M,getExtendedPodInfo:p}),!h&&t(_n,{minSupportedVersion:a,currentVersion:g||""})]})]})},Ns=p.div`
334
334
  display: inline-flex;
335
335
  align-items: center;
336
336
  padding: 4px 8px;
@@ -340,7 +340,7 @@ import{jsxs as e,jsx as t,Fragment as a}from"react/jsx-runtime";import{useEffect
340
340
  overflow: hidden;
341
341
  white-space: pre;
342
342
  text-overflow: ellipsis;
343
- `,Ns=p.div`
343
+ `,As=p.div`
344
344
  display: inline-flex;
345
345
  align-items: center;
346
346
  gap: 24px;
@@ -350,24 +350,29 @@ import{jsxs as e,jsx as t,Fragment as a}from"react/jsx-runtime";import{useEffect
350
350
  overflow: hidden;
351
351
  white-space: pre;
352
352
  text-overflow: ellipsis;
353
- `,As=p(g)`
353
+ `,Is=p(g)`
354
354
  flex-shrink: 0;
355
355
  gap: 6px;
356
356
  align-items: center;
357
357
  min-height: 22px;
358
- `;const Is=[{key:"name",label:"Name",noSort:!0,noFilter:!0,flex:"0 0 156px",withTooltip:!0},{key:"summary",label:"Summary",noSort:!0,noFilter:!0},{key:"badges",label:"Type",noSort:!0,noFilter:!0,flex:"0 0 128px"}],Es=[{value:"all",label:Fa},{value:"Relevance",label:"Relevance"},{value:"Duration",label:"Duration"},{value:"Error",label:"Error"}],Rs=({title:a,items:n,isLoading:o,showTypeFilter:i,tableRowsMaxHeight:s,onRuleClick:d,onEditRule:u,onDeleteRule:p})=>{const h=m(),[g,f]=l(""),[y,S]=l("all"),C=c(()=>{let e=function(e,t,a){return a&&"all"!==t?e.filter(e=>e.typeBadge===t):e}(n,y,i);return e=function(e,t){if(!t.trim())return e;const a=t.toLowerCase();return e.filter(e=>{const t=e.name?.toLowerCase().includes(a),n=e.summary.map(e=>e.text).join("").toLowerCase();return t||n.includes(a)})}(e,g),e},[n,y,i,g]),k=c(()=>C.map(a=>{const n=a.typeBadge?function(e,t){const a=e.v2.colors;switch(t){case"Relevance":return{bg:a.blue[700],text:a.white[500]};case"Duration":return{bg:a.purple[700],text:a.white[500]};case"Error":return{bg:a.red[500],text:a.black[500]}}}(h,a.typeBadge):void 0;return{cells:[{key:"name",rawValue:a.name||"",component:()=>t(Ns,{$disabled:a.disabled,children:a.name&&t(v,{size:b.XXS,color:h.v2.colors.white[500],nowrap:!0,children:a.name})})},{key:"summary",rawValue:a.summary.map(e=>e.text).join(""),component:()=>t(Ns,{$disabled:a.disabled,children:t(Ds,{children:t(Fn,{parts:a.summary})})})},{key:"badges",rawValue:a.typeBadge||"",component:()=>e(As,{children:[a.disabled&&t(ie,{label:Ma,textSize:b.XXXS,backgroundColor:h.v2.colors.grey[700],textColor:h.v2.colors.grey[300]}),a.typeBadge&&n&&t(ie,{label:a.typeBadge,textSize:b.XXXS,backgroundColor:n.bg,textColor:n.text})]})}],onClick:()=>d(a)}}),[C,h,d]),w=c(()=>{const e=e=>t(an,{...e,fill:h.v2.colors.red[500]});return e.displayName="RedDeleteIcon",e},[h]),T=r(e=>{const t=k.indexOf(e);if(t<0)return[];const a=C[t];return a?[{id:"edit","data-id":"sampling-rule-action-edit",label:ha,leftIcon:nn,onClick:()=>u(a.ruleId,a.samplingId)},{id:"delete","data-id":"sampling-rule-action-delete",label:"",leftIcon:w,onClick:()=>p(a.ruleId,a.samplingId)}]:[]},[k,C,u,p,w]);return t(be,{fullHeight:!0,richTitle:{icon:gn,title:a,badge:{label:n.length,backgroundColor:h.v2.colors.silver[600],textColor:h.v2.colors.white[500]}},search:{"data-id":"sampling-search-rules",value:g,onChange:f,placeholder:"Search..",width:"500px",...i?{segment:{"data-id":"sampling-segment-type-filter",options:Es,selected:y,setSelected:S}}:{}},children:t(Ca,{variant:ka.Pretty,hideHeader:!0,maxHeight:s,isLoading:o,columns:Is,rows:k,getRowActions:T})})},Ps=p.div`
358
+ `;const Es=[{key:"name",label:"Name",noSort:!0,noFilter:!0,flex:"0 0 156px",withTooltip:!0},{key:"summary",label:"Summary",noSort:!0,noFilter:!0},{key:"badges",label:"Type",noSort:!0,noFilter:!0,flex:"0 0 128px"}],Rs=[{value:"all",label:La},{value:"Relevance",label:"Relevance"},{value:"Duration",label:"Duration"},{value:"Error",label:"Error"}],Ps=({title:a,items:n,isLoading:o,showTypeFilter:i,tableRowsMaxHeight:s,onRuleClick:d,onEditRule:u,onDeleteRule:p})=>{const h=m(),[g,f]=l(""),[y,S]=l("all"),C=c(()=>{let e=function(e,t,a){return a&&"all"!==t?e.filter(e=>e.typeBadge===t):e}(n,y,i);return e=function(e,t){if(!t.trim())return e;const a=t.toLowerCase();return e.filter(e=>{const t=e.name?.toLowerCase().includes(a),n=e.summary.map(e=>e.text).join("").toLowerCase();return t||n.includes(a)})}(e,g),e},[n,y,i,g]),k=c(()=>C.map(a=>{const n=a.typeBadge?function(e,t){const a=e.v2.colors;switch(t){case"Relevance":return{bg:a.blue[700],text:a.white[500]};case"Duration":return{bg:a.purple[700],text:a.white[500]};case"Error":return{bg:a.red[500],text:a.black[500]}}}(h,a.typeBadge):void 0;return{cells:[{key:"name",rawValue:a.name||"",component:()=>t(As,{$disabled:a.disabled,children:a.name&&t(v,{size:b.XXS,color:h.v2.colors.white[500],nowrap:!0,children:a.name})})},{key:"summary",rawValue:a.summary.map(e=>e.text).join(""),component:()=>t(As,{$disabled:a.disabled,children:t(Ns,{children:t(Fn,{parts:a.summary})})})},{key:"badges",rawValue:a.typeBadge||"",component:()=>e(Is,{children:[a.disabled&&t(ie,{label:Ma,textSize:b.XXXS,backgroundColor:h.v2.colors.grey[700],textColor:h.v2.colors.grey[300]}),a.typeBadge&&n&&t(ie,{label:a.typeBadge,textSize:b.XXXS,backgroundColor:n.bg,textColor:n.text})]})}],onClick:()=>d(a)}}),[C,h,d]),w=c(()=>{const e=e=>t(nn,{...e,fill:h.v2.colors.red[500]});return e.displayName="RedDeleteIcon",e},[h]),T=r(e=>{const t=k.indexOf(e);if(t<0)return[];const a=C[t];return a?[{id:"edit","data-id":"sampling-rule-action-edit",label:ha,leftIcon:on,onClick:()=>u(a.ruleId,a.samplingId)},{id:"delete","data-id":"sampling-rule-action-delete",label:"",leftIcon:w,onClick:()=>p(a.ruleId,a.samplingId)}]:[]},[k,C,u,p,w]);return t(be,{fullHeight:!0,richTitle:{icon:fn,title:a,badge:{label:n.length,backgroundColor:h.v2.colors.silver[600],textColor:h.v2.colors.white[500]}},search:{"data-id":"sampling-search-rules",value:g,onChange:f,placeholder:"Search..",width:"500px",...i?{segment:{"data-id":"sampling-segment-type-filter",options:Rs,selected:y,setSelected:S}}:{}},children:t(Ca,{variant:ka.Pretty,hideHeader:!0,maxHeight:s,isLoading:o,columns:Es,rows:k,getRowActions:T})})},$s=p.div`
359
359
  display: flex;
360
360
  flex-direction: column;
361
361
  gap: 8px;
362
362
  padding: 16px;
363
363
  border-radius: 12px;
364
364
  background-color: ${({theme:e})=>e.v2.colors.silver[900]};
365
- `,$s=p(g)`
365
+ `,Os=p(g)`
366
366
  align-items: center;
367
367
  gap: 24px;
368
- `,Os=p.div`
368
+ `,Ms=p.div`
369
369
  flex: 1;
370
370
  min-width: 0;
371
371
  white-space: pre;
372
372
  overflow-x: auto;
373
- `,Ms=({title:a,summary:n,onEdit:o})=>{const l=m();return e(Ps,{children:[t(v,{size:b.XXS,color:l.v2.colors.silver[200],children:a}),e($s,{children:[t(Os,{children:t(Fn,{parts:n})}),t(P,{"data-id":"sampling-btn-edit-auto-rule",label:La,rightIcon:nn,variant:O.Text,size:$.S,onClick:o})]})]})};function Fs(e){if(!e.sourceScopes.length)return null;const t=[];for(const a of e.sourceScopes)if("source"===a.scopeType&&a.workloadName){const e={workloadName:a.workloadName};a.workloadKind&&(e.workloadKind=a.workloadKind),a.workloadNamespace&&(e.workloadNamespace=a.workloadNamespace),t.push(e)}else"namespace"===a.scopeType&&a.workloadNamespace?t.push({workloadNamespace:a.workloadNamespace}):"language"===a.scopeType&&a.workloadLanguage&&t.push({workloadLanguage:a.workloadLanguage});return t.length?t:null}function Ls(e){if("all"===e.percentageMode)return null;if("custom"===e.percentagePreset){const t=parseFloat(e.customPercentage);return isNaN(t)?null:t}return parseFloat(e.percentagePreset)}function zs(e){if("custom"===e.durationPreset){const t=parseFloat(e.customDurationMs);return isNaN(t)?null:t}return parseInt(e.durationPreset,10)}function Vs(e){return"all"===e.operationType?null:"httpServer"===e.operationType?{httpServer:{[e.routeType]:e.route||null,method:e.method||null}}:"httpClient"===e.operationType?{httpClient:{serverAddress:e.serverAddress||null,["route"===e.routeType?"templatedPath":"templatedPathPrefix"]:e.route||null,method:e.method||null}}:null}function Xs(e){return"all"===e.operationType?null:"httpServer"===e.operationType?{httpServer:{[e.routeType]:e.route||null,method:e.method||null}}:"kafkaConsumer"===e.operationType?{kafkaConsumer:{kafkaTopic:e.kafkaTopic||null}}:"kafkaProducer"===e.operationType?{kafkaProducer:{kafkaTopic:e.kafkaTopic||null}}:null}function Bs(e){return{name:e.name||null,disabled:e.disabled,sourceScopes:Fs(e),operation:Vs(e),percentageAtMost:Ls(e),notes:e.notes||null}}function _s(e){return{name:e.name||null,disabled:e.disabled,sourceScopes:Fs(e),error:"Error"===e.ruleType,durationAtLeastMs:"Duration"===e.ruleType?zs(e):null,operation:Xs(e),percentageAtLeast:Ls(e),notes:e.notes||null}}function Us(e){const t=Ls(e);return{name:e.name||null,disabled:e.disabled,sourceScopes:Fs(e),operation:Xs(e),percentageAtMost:t??0,notes:e.notes||null}}const js=a=>{const{workloads:o,samplingRules:i,k8sHealthProbesConfig:s,loading:u,tableRowsMaxHeight:p,fetchSamplingRules:m,createNoisyOperationRule:f,updateNoisyOperationRule:v,createHighlyRelevantOperationRule:b,updateHighlyRelevantOperationRule:y,createCostReductionRule:S,updateCostReductionRule:C,deleteSamplingRule:k,updateK8sHealthProbesConfig:w}=a,T=c(()=>o.map(({id:e})=>({id:`${e.namespace}/${e.kind}/${e.name}`,label:`${e.namespace} / ${e.kind} / ${e.name}`})),[o]),x=c(()=>Array.from(new Set(o.map(({id:e})=>e.namespace))).sort().map(e=>({id:e,label:e})),[o]),[D,N]=l(Nl.Noisy),[A,I]=l(null),[E,R]=l(!1),[M,F]=l(!1),[L,z]=l(null),[V,X]=l(!1),[_,U]=l(!1),[j,H]=l(!1),W=c(()=>Wl(s),[s]),K=c(()=>function(e){for(const t of e){const e=t.highlyRelevantOperations.find(Kl);if(e)return{rule:e,samplingId:t.id}}return null}(i),[i]),G=c(()=>Gl(K?.rule??null),[K]),q=c(()=>function(e){for(const t of e){const e=t.costReductionRules.find(ql);if(e)return{rule:e,samplingId:t.id}}return null}(i),[i]),Y=c(()=>Yl(q?.rule??null),[q]),Z=d(A);Z.current=A,n(()=>{const e=Z.current;if(!e)return;const t=function(e,t){const a=Xl(e,t.samplingId,t.rule.ruleId,t.category);return a?{...a,summary:Vl(a.category,a.rule)}:null}(i,e);t?I(t):(I(null),R(!1))},[i]);const ee=c(()=>{const e=new Set;return K&&e.add(K.rule.ruleId),q&&e.add(q.rule.ruleId),e},[K,q]),te=c(()=>function(e,t,a){const n=Rl[t],o=[];for(const l of e)switch(t){case Nl.Noisy:for(const e of l.noisyOperations)a?.has(e.ruleId)||o.push({ruleId:e.ruleId,samplingId:l.id,name:e.name??null,disabled:e.disabled,notes:e.notes??null,summary:Ml(e),category:n});break;case Nl.HighlyRelevant:for(const e of l.highlyRelevantOperations)a?.has(e.ruleId)||o.push({ruleId:e.ruleId,samplingId:l.id,name:e.name??null,disabled:e.disabled,notes:e.notes??null,summary:Fl(e),category:n,typeBadge:zl(e)});break;case Nl.CostReduction:for(const e of l.costReductionRules)a?.has(e.ruleId)||o.push({ruleId:e.ruleId,samplingId:l.id,name:e.name??null,disabled:e.disabled,notes:e.notes??null,summary:Ll(e),category:n})}return o}(i,D,ee),[i,D,ee]),ae=r(()=>F(!0),[]),ne=r(()=>F(!1),[]),oe=r(e=>{const t=i[0]?.id??"default";switch(Rl[D]){case"noisy":f(t,Bs(e));break;case"highlyRelevant":b(t,_s(e));break;case"costReduction":S(t,Us(e))}F(!1)},[i,D,f,b,S]),le=r(e=>{const t=function(e,t){const a=Xl(e,t.samplingId,t.ruleId,t.category);return a?{...a,summary:t.summary}:null}(i,e);t&&(R(!1),I(t))},[i]),re=r(()=>{I(null),R(!1)},[]),ie=r((e,t)=>{const a=A;if(a&&a.rule.ruleId===e&&a.samplingId===t)R(!0),I({...a});else for(const a of i){if(a.id!==t)continue;const n=[...a.noisyOperations.map(e=>({category:"noisy",rule:e})),...a.highlyRelevantOperations.map(e=>({category:"highlyRelevant",rule:e})),...a.costReductionRules.map(e=>({category:"costReduction",rule:e}))].find(t=>t.rule.ruleId===e);if(n)return R(!0),void I({category:n.category,rule:n.rule,samplingId:t,summary:Vl(n.category,n.rule)})}},[A,i]),se=r((e,t,a)=>{const n=A?.category;if(n){switch(n){case"noisy":v(a,t,Bs(e));break;case"highlyRelevant":y(a,t,_s(e));break;case"costReduction":C(a,t,Us(e))}R(!1)}},[A,v,y,C]),ce=r((e,t)=>{z({ruleId:e,samplingId:t})},[]),de=r(()=>{if(!L)return;const{ruleId:e,samplingId:t}=L;k(t,e,A?.category||Rl[D]),I(null),R(!1),z(null)},[L,A,D,k]),ue=r(()=>z(null),[]),pe=r((e,t)=>{w(e,t),X(!1)},[w]),me=r(e=>{const t=i[0]?.id??"default",a=K;a?y(a.samplingId,a.rule.ruleId,{name:a.rule.name,disabled:!e,error:!0,sourceScopes:[],operation:null,percentageAtLeast:null,notes:a.rule.notes}):e&&b(t,{name:"Auto - Keep All Error Traces",disabled:!1,error:!0,sourceScopes:[],operation:null,percentageAtLeast:null}),U(!1)},[i,K,b,y]),he=r((e,t)=>{const a=i[0]?.id??"default",n=q;n?C(n.samplingId,n.rule.ruleId,{name:n.rule.name,disabled:!e,sourceScopes:[],operation:null,percentageAtMost:t,notes:n.rule.notes}):e&&S(a,{name:"Auto - Drop Traces Cluster-Wide",disabled:!1,sourceScopes:[],operation:null,percentageAtMost:t}),H(!1)},[i,q,S,C]),ge=r(e=>{const t=Rl[D];let a=null;switch(t){case"noisy":{const n=Bs(e);a=Hl(i,t,{sourceScopes:n.sourceScopes,operation:n.operation});break}case"highlyRelevant":{const n=_s(e);a=Hl(i,t,{sourceScopes:n.sourceScopes,operation:n.operation,error:n.error??!1,durationAtLeastMs:n.durationAtLeastMs});break}case"costReduction":{const n=Us(e);a=Hl(i,t,{sourceScopes:n.sourceScopes,operation:n.operation});break}}return a?{message:za,ruleId:a}:null},[i,D]),fe=r(e=>{const t=A?.category,a=A?.rule.ruleId;if(!t)return null;let n=null;switch(t){case"noisy":{const o=Bs(e);n=Hl(i,t,{sourceScopes:o.sourceScopes,operation:o.operation},a);break}case"highlyRelevant":{const o=_s(e);n=Hl(i,t,{sourceScopes:o.sourceScopes,operation:o.operation,error:o.error??!1,durationAtLeastMs:o.durationAtLeastMs},a);break}case"costReduction":{const o=Us(e);n=Hl(i,t,{sourceScopes:o.sourceScopes,operation:o.operation},a);break}}return n?{message:za,ruleId:n}:null},[i,A]),ve=r(e=>{F(!1);for(const t of i){const a=[...t.noisyOperations.map(e=>({category:"noisy",rule:e})),...t.highlyRelevantOperations.map(e=>({category:"highlyRelevant",rule:e})),...t.costReductionRules.map(e=>({category:"costReduction",rule:e}))].find(t=>t.rule.ruleId===e);if(a)return R(!0),void I({category:a.category,rule:a.rule,samplingId:t.id,summary:Vl(a.category,a.rule)})}},[i]),be=c(()=>{const e=[];return a.docsUrl&&e.push({id:pa(),type:ba.Button,buttonProps:{"data-id":"sampling-btn-docs",label:Va,leftIcon:Za,size:$.S,variant:O.Text,onClick:()=>window.open(a.docsUrl,"_blank")}}),e.push({id:pa(),type:ba.Button,buttonProps:{"data-id":"sampling-btn-refresh",label:Xa,leftIcon:wn,size:$.S,variant:O.Text,onClick:m,loading:u}}),e.push({id:pa(),type:ba.Button,buttonProps:{"data-id":"sampling-btn-create-rule",label:Ba,rightIcon:Qa,size:$.S,variant:O.Primary,onClick:ae}}),e},[a.docsUrl,m,u,ae]);return e(Sa,{children:[e(g,{$gap:12,$justifyContent:"space-between",children:[t(Ia,{icon:gn,title:Ua,subTitle:_a}),t(Ea,{actions:be})]}),e(h,{$gap:12,children:[t(B,{variant:ja.Underline,options:Al,selected:D,setSelected:N}),e(g,{$justifyContent:"space-between",children:[t(J,{status:Q.Default,message:Il[D]}),a.docsUrl&&t(P,{"data-id":"sampling-btn-docs-banner",label:"Docs",leftIcon:Za,size:$.S,variant:O.Text,onClick:()=>window.open(a.docsUrl,"_blank")})]}),D===Nl.Noisy&&t(Ms,{title:Ct,summary:W,onEdit:()=>X(!0)}),D===Nl.HighlyRelevant&&t(Ms,{title:Tt,summary:G,onEdit:()=>U(!0)}),D===Nl.CostReduction&&t(Ms,{title:xt,summary:Y,onEdit:()=>H(!0)}),t(Rs,{title:El[D],items:te,isLoading:u,showTypeFilter:D===Nl.HighlyRelevant,tableRowsMaxHeight:p,onRuleClick:le,onEditRule:ie,onDeleteRule:ce})]}),t(ji,{data:A,defaultEditMode:E,onClose:re,onDelete:ce,onSaveEdit:se,sourceOptions:T,namespaceOptions:x,validateForm:fe,onNavigateToDuplicate:ve}),t(ki,{isOpen:M,category:Rl[D],onClose:ne,onSubmit:oe,sourceOptions:T,namespaceOptions:x,validateForm:ge,onNavigateToDuplicate:ve}),t(Ti,{isOpen:V,enabled:s?.enabled??!1,keepPercentage:s?.keepPercentage??0,onClose:()=>X(!1),onSave:pe}),t(Di,{isOpen:_,enabled:!!K&&!K.rule.disabled,onClose:()=>U(!1),onSave:me}),t(Ai,{isOpen:j,enabled:!!q&&!q.rule.disabled,dropPercentage:q?.rule.percentageAtMost??25,onClose:()=>H(!1),onSave:he}),t(Ha,{title:qa,description:Ga,isOpen:!!L,onClose:ue,onApprove:de,approveLabel:Ka,denyLabel:Wa})]})},Hs=e=>"general"===e.name?0:"advanced"===e.name?2:1,Ws=e=>{const t=[M.Toggle,M.Checkbox].includes(e.componentType);return e.isHelmOnly?t?2:3:t?0:1},Ks=({minSupportedVersion:a=0,pageHeightOffset:o=0,configYamls:l,configYamlsLoading:r,effectiveConfig:i,effectiveConfigLoading:s,onSave:d,saveLoading:u})=>{const{isVersionSupported:p,version:m}=de(a),f=c(()=>{if(!i)return{};const{manifestYAML:e,provenance:t,...a}=i;return a},[i]),{formData:v,handleFormChange:b,getNestedValue:y,getFormDiff:S,isFormDirty:C}=L(f);n(()=>{"{}"!==JSON.stringify(f)&&"{}"===JSON.stringify(v)&&b(void 0,void 0,f)},[f,v]);const k=c(()=>[...l].sort((e,t)=>Hs(e)-Hs(t)).map(e=>({...e,fields:[...e.fields].sort((e,t)=>Ws(e)-Ws(t))})),[l]),w=c(()=>(e=>{if(!e)return{};const t={};for(const a of e)t[a.helmPath]=a.reconciledFrom;return t})(i?.provenance),[i?.provenance]),T=c(()=>[{id:pa(),type:ba.Button,buttonProps:{"data-id":"settings-save",variant:O.Primary,size:$.S,label:"Save Changes",leftIcon:pn,loading:u,onClick:()=>d?.(S(f,v))?.then(()=>b(void 0,void 0,{}))}},{id:pa(),type:ba.Button,buttonProps:{"data-id":"settings-cancel",variant:O.Secondary,size:$.S,label:"Cancel",leftIcon:rn,onClick:()=>b(void 0,void 0,f)}}],[u,d,S,f,v,b]);return t(Sa,{$heightOffset:o,children:e(Oa,{children:[!p&&t(Bn,{minSupportedVersion:a,currentVersion:m||""}),t(wa,{isOpen:C,richTitle:{icon:fn,title:"Config Settings"},actions:T}),e(g,{$gap:24,$alignItems:"flex-start",children:[t(h,{$gap:24,$width:"100%",children:l.length?k.map(e=>t(be,{richTitle:{icon:fn,title:e.displayName},children:e.fields.map(e=>{const a=q(e.componentProps||"{}",{}),n=w[e.helmValuePath]||"N/A";return t(On,{componentType:e.componentType,inputType:a.type,name:e.helmValuePath,label:e.displayName,tooltip:e.description,badge:{status:Xt.Unknown,label:n,tooltip:`This field is reconciled from the following resource: ${n}`},disabled:e.isHelmOnly||u,value:y("formData",e.helmValuePath),setValue:t=>b(e.helmValuePath,t),warnMessage:e.isHelmOnly?"This field can only be updated via Helm values.yaml file":"",dropdownOptions:a.options?.map(e=>({id:e,value:e}))},e.helmValuePath)})},e.name)):r?t(Et,{$height:"30vh",children:t(Ot,{withSpinner:!0})}):t(be,{richTitle:{icon:fn,title:"Config Settings"},children:t(V,{title:"YAML not found",subTitle:"The YAML for this resource is not available"})})}),s&&!i?.manifestYAML?t(Et,{$height:"30vh",children:t(Ot,{withSpinner:!0})}):t(_n,{title:"Effective Config YAML",yaml:i?.manifestYAML?.replaceAll(" |",""),defaultOpen:!0,fullHeight:!0})]})]})})};export{Qr as AddActionDrawer,so as AddActionForm,ro as AddActionFormContextProvider,ci as AddDestinationDrawer,vo as AddDestinationForm,ho as AddDestinationFormContextProvider,di as AddRuleDrawer,Io as AddRuleForm,No as AddRuleFormContextProvider,Si as AddSourceDrawer,Ro as AddSourceFormContextProvider,Yi as CentralConnections,ki as CreateSamplingRuleDrawer,tr as CreateSamplingRuleForm,hl as CreateSamplingRuleFormContextProvider,Ti as EditAutoRuleDrawer,Vr as EditAutoRuleForm,Fr as EditAutoRuleFormContextProvider,Ii as EditConfigDrawer,Ai as EditCostReductionAutoRuleDrawer,Yr as EditCostReductionAutoRuleForm,Kr as EditCostReductionAutoRuleFormContextProvider,Di as EditHighlyRelevantAutoRuleDrawer,jr as EditHighlyRelevantAutoRuleForm,Br as EditHighlyRelevantAutoRuleFormContextProvider,ds as Onboarding,xs as PipelineCollectors,js as SamplingRules,Ks as Settings,zi as SystemDrawer,ji as ViewSamplingRuleDrawer,$r as ViewSamplingRuleForm,kr as ViewSamplingRuleFormContextProvider,io as useAddActionFormContext,go as useAddDestinationFormContext,Ao as useAddRuleFormContext,Po as useAddSourceFormContext,gl as useCreateSamplingRuleFormContext,Lr as useEditAutoRuleFormContext,Gr as useEditCostReductionAutoRuleFormContext,_r as useEditHighlyRelevantAutoRuleFormContext,wr as useViewSamplingRuleFormContext};
373
+ `,Ls=({title:a,summary:n,onEdit:o})=>{const l=m();return e($s,{children:[t(v,{size:b.XXS,color:l.v2.colors.silver[200],children:a}),e(Os,{children:[t(Ms,{children:t(Fn,{parts:n})}),t(P,{"data-id":"sampling-btn-edit-auto-rule",label:Fa,rightIcon:on,variant:O.Text,size:$.S,onClick:o})]})]})};function Fs(e){if(!e.sourceScopes.length)return null;const t=[];for(const a of e.sourceScopes)if("source"===a.scopeType&&a.workloadName){const e={workloadName:a.workloadName};a.workloadKind&&(e.workloadKind=a.workloadKind),a.workloadNamespace&&(e.workloadNamespace=a.workloadNamespace),t.push(e)}else"namespace"===a.scopeType&&a.workloadNamespace?t.push({workloadNamespace:a.workloadNamespace}):"language"===a.scopeType&&a.workloadLanguage&&t.push({workloadLanguage:a.workloadLanguage});return t.length?t:null}function zs(e){if("all"===e.percentageMode)return null;if("custom"===e.percentagePreset){const t=parseFloat(e.customPercentage);return isNaN(t)?null:t}return parseFloat(e.percentagePreset)}function Vs(e){if("custom"===e.durationPreset){const t=parseFloat(e.customDurationMs);return isNaN(t)?null:t}return parseInt(e.durationPreset,10)}function Xs(e){return"all"===e.operationType?null:"httpServer"===e.operationType?{httpServer:{[e.routeType]:e.route||null,method:e.method||null}}:"httpClient"===e.operationType?{httpClient:{serverAddress:e.serverAddress||null,["route"===e.routeType?"templatedPath":"templatedPathPrefix"]:e.route||null,method:e.method||null}}:null}function Bs(e){return"all"===e.operationType?null:"httpServer"===e.operationType?{httpServer:{[e.routeType]:e.route||null,method:e.method||null}}:"kafkaConsumer"===e.operationType?{kafkaConsumer:{kafkaTopic:e.kafkaTopic||null}}:"kafkaProducer"===e.operationType?{kafkaProducer:{kafkaTopic:e.kafkaTopic||null}}:null}function _s(e){return{name:e.name||null,disabled:e.disabled,sourceScopes:Fs(e),operation:Xs(e),percentageAtMost:zs(e),notes:e.notes||null}}function Us(e){return{name:e.name||null,disabled:e.disabled,sourceScopes:Fs(e),error:"Error"===e.ruleType,durationAtLeastMs:"Duration"===e.ruleType?Vs(e):null,operation:Bs(e),percentageAtLeast:zs(e),notes:e.notes||null}}function js(e){const t=zs(e);return{name:e.name||null,disabled:e.disabled,sourceScopes:Fs(e),operation:Bs(e),percentageAtMost:t??0,notes:e.notes||null}}const Hs=a=>{const{workloads:o,samplingRules:i,k8sHealthProbesConfig:s,loading:u,tableRowsMaxHeight:p,fetchSamplingRules:m,createNoisyOperationRule:f,updateNoisyOperationRule:v,createHighlyRelevantOperationRule:b,updateHighlyRelevantOperationRule:y,createCostReductionRule:S,updateCostReductionRule:C,deleteSamplingRule:k,updateK8sHealthProbesConfig:w}=a,T=c(()=>o.map(({id:e})=>({id:`${e.namespace}/${e.kind}/${e.name}`,label:`${e.namespace} / ${e.kind} / ${e.name}`})),[o]),x=c(()=>Array.from(new Set(o.map(({id:e})=>e.namespace))).sort().map(e=>({id:e,label:e})),[o]),[D,N]=l(Al.Noisy),[A,I]=l(null),[E,R]=l(!1),[M,L]=l(!1),[F,z]=l(null),[V,X]=l(!1),[_,U]=l(!1),[j,H]=l(!1),W=c(()=>Kl(s),[s]),K=c(()=>function(e){for(const t of e){const e=t.highlyRelevantOperations.find(Gl);if(e)return{rule:e,samplingId:t.id}}return null}(i),[i]),G=c(()=>ql(K?.rule??null),[K]),q=c(()=>function(e){for(const t of e){const e=t.costReductionRules.find(Yl);if(e)return{rule:e,samplingId:t.id}}return null}(i),[i]),Y=c(()=>Jl(q?.rule??null),[q]),Z=d(A);Z.current=A,n(()=>{const e=Z.current;if(!e)return;const t=function(e,t){const a=Bl(e,t.samplingId,t.rule.ruleId,t.category);return a?{...a,summary:Xl(a.category,a.rule)}:null}(i,e);t?I(t):(I(null),R(!1))},[i]);const ee=c(()=>{const e=new Set;return K&&e.add(K.rule.ruleId),q&&e.add(q.rule.ruleId),e},[K,q]),te=c(()=>function(e,t,a){const n=Pl[t],o=[];for(const l of e)switch(t){case Al.Noisy:for(const e of l.noisyOperations)a?.has(e.ruleId)||o.push({ruleId:e.ruleId,samplingId:l.id,name:e.name??null,disabled:e.disabled,notes:e.notes??null,summary:Ll(e),category:n});break;case Al.HighlyRelevant:for(const e of l.highlyRelevantOperations)a?.has(e.ruleId)||o.push({ruleId:e.ruleId,samplingId:l.id,name:e.name??null,disabled:e.disabled,notes:e.notes??null,summary:Fl(e),category:n,typeBadge:Vl(e)});break;case Al.CostReduction:for(const e of l.costReductionRules)a?.has(e.ruleId)||o.push({ruleId:e.ruleId,samplingId:l.id,name:e.name??null,disabled:e.disabled,notes:e.notes??null,summary:zl(e),category:n})}return o}(i,D,ee),[i,D,ee]),ae=r(()=>L(!0),[]),ne=r(()=>L(!1),[]),oe=r(e=>{const t=i[0]?.id??"default";switch(Pl[D]){case"noisy":f(t,_s(e));break;case"highlyRelevant":b(t,Us(e));break;case"costReduction":S(t,js(e))}L(!1)},[i,D,f,b,S]),le=r(e=>{const t=function(e,t){const a=Bl(e,t.samplingId,t.ruleId,t.category);return a?{...a,summary:t.summary}:null}(i,e);t&&(R(!1),I(t))},[i]),re=r(()=>{I(null),R(!1)},[]),ie=r((e,t)=>{const a=A;if(a&&a.rule.ruleId===e&&a.samplingId===t)R(!0),I({...a});else for(const a of i){if(a.id!==t)continue;const n=[...a.noisyOperations.map(e=>({category:"noisy",rule:e})),...a.highlyRelevantOperations.map(e=>({category:"highlyRelevant",rule:e})),...a.costReductionRules.map(e=>({category:"costReduction",rule:e}))].find(t=>t.rule.ruleId===e);if(n)return R(!0),void I({category:n.category,rule:n.rule,samplingId:t,summary:Xl(n.category,n.rule)})}},[A,i]),se=r((e,t,a)=>{const n=A?.category;if(n){switch(n){case"noisy":v(a,t,_s(e));break;case"highlyRelevant":y(a,t,Us(e));break;case"costReduction":C(a,t,js(e))}R(!1)}},[A,v,y,C]),ce=r((e,t)=>{z({ruleId:e,samplingId:t})},[]),de=r(()=>{if(!F)return;const{ruleId:e,samplingId:t}=F;k(t,e,A?.category||Pl[D]),I(null),R(!1),z(null)},[F,A,D,k]),ue=r(()=>z(null),[]),pe=r((e,t)=>{w(e,t),X(!1)},[w]),me=r(e=>{const t=i[0]?.id??"default",a=K;a?y(a.samplingId,a.rule.ruleId,{name:a.rule.name,disabled:!e,error:!0,sourceScopes:[],operation:null,percentageAtLeast:null,notes:a.rule.notes}):e&&b(t,{name:"Auto - Keep All Error Traces",disabled:!1,error:!0,sourceScopes:[],operation:null,percentageAtLeast:null}),U(!1)},[i,K,b,y]),he=r((e,t)=>{const a=i[0]?.id??"default",n=q;n?C(n.samplingId,n.rule.ruleId,{name:n.rule.name,disabled:!e,sourceScopes:[],operation:null,percentageAtMost:t,notes:n.rule.notes}):e&&S(a,{name:"Auto - Drop Traces Cluster-Wide",disabled:!1,sourceScopes:[],operation:null,percentageAtMost:t}),H(!1)},[i,q,S,C]),ge=r(e=>{const t=Pl[D];let a=null;switch(t){case"noisy":{const n=_s(e);a=Wl(i,t,{sourceScopes:n.sourceScopes,operation:n.operation});break}case"highlyRelevant":{const n=Us(e);a=Wl(i,t,{sourceScopes:n.sourceScopes,operation:n.operation,error:n.error??!1,durationAtLeastMs:n.durationAtLeastMs});break}case"costReduction":{const n=js(e);a=Wl(i,t,{sourceScopes:n.sourceScopes,operation:n.operation});break}}return a?{message:za,ruleId:a}:null},[i,D]),fe=r(e=>{const t=A?.category,a=A?.rule.ruleId;if(!t)return null;let n=null;switch(t){case"noisy":{const o=_s(e);n=Wl(i,t,{sourceScopes:o.sourceScopes,operation:o.operation},a);break}case"highlyRelevant":{const o=Us(e);n=Wl(i,t,{sourceScopes:o.sourceScopes,operation:o.operation,error:o.error??!1,durationAtLeastMs:o.durationAtLeastMs},a);break}case"costReduction":{const o=js(e);n=Wl(i,t,{sourceScopes:o.sourceScopes,operation:o.operation},a);break}}return n?{message:za,ruleId:n}:null},[i,A]),ve=r(e=>{L(!1);for(const t of i){const a=[...t.noisyOperations.map(e=>({category:"noisy",rule:e})),...t.highlyRelevantOperations.map(e=>({category:"highlyRelevant",rule:e})),...t.costReductionRules.map(e=>({category:"costReduction",rule:e}))].find(t=>t.rule.ruleId===e);if(a)return R(!0),void I({category:a.category,rule:a.rule,samplingId:t.id,summary:Xl(a.category,a.rule)})}},[i]),be=c(()=>{const e=[];return a.docsUrl&&e.push({id:pa(),type:ba.Button,buttonProps:{"data-id":"sampling-btn-docs",label:Va,leftIcon:en,size:$.S,variant:O.Text,onClick:()=>window.open(a.docsUrl,"_blank")}}),e.push({id:pa(),type:ba.Button,buttonProps:{"data-id":"sampling-btn-refresh",label:Xa,leftIcon:Tn,size:$.S,variant:O.Text,onClick:m,loading:u}}),e.push({id:pa(),type:ba.Button,buttonProps:{"data-id":"sampling-btn-create-rule",label:Ba,rightIcon:Za,size:$.S,variant:O.Primary,onClick:ae}}),e},[a.docsUrl,m,u,ae]);return e(Sa,{children:[e(g,{$gap:12,$justifyContent:"space-between",children:[t(Ia,{icon:fn,title:Ua,subTitle:_a}),t(Ea,{actions:be})]}),e(h,{$gap:12,children:[t(B,{variant:ja.Underline,options:Il,selected:D,setSelected:N}),e(g,{$justifyContent:"space-between",children:[t(J,{status:Q.Default,message:El[D]}),a.docsUrl&&t(P,{"data-id":"sampling-btn-docs-banner",label:"Docs",leftIcon:en,size:$.S,variant:O.Text,onClick:()=>window.open(a.docsUrl,"_blank")})]}),D===Al.Noisy&&t(Ls,{title:Ct,summary:W,onEdit:()=>X(!0)}),D===Al.HighlyRelevant&&t(Ls,{title:Tt,summary:G,onEdit:()=>U(!0)}),D===Al.CostReduction&&t(Ls,{title:xt,summary:Y,onEdit:()=>H(!0)}),t(Ps,{title:Rl[D],items:te,isLoading:u,showTypeFilter:D===Al.HighlyRelevant,tableRowsMaxHeight:p,onRuleClick:le,onEditRule:ie,onDeleteRule:ce})]}),t(Hi,{data:A,defaultEditMode:E,onClose:re,onDelete:ce,onSaveEdit:se,sourceOptions:T,namespaceOptions:x,validateForm:fe,onNavigateToDuplicate:ve}),t(wi,{isOpen:M,category:Pl[D],onClose:ne,onSubmit:oe,sourceOptions:T,namespaceOptions:x,validateForm:ge,onNavigateToDuplicate:ve}),t(xi,{isOpen:V,enabled:s?.enabled??!1,keepPercentage:s?.keepPercentage??0,onClose:()=>X(!1),onSave:pe}),t(Ni,{isOpen:_,enabled:!!K&&!K.rule.disabled,onClose:()=>U(!1),onSave:me}),t(Ii,{isOpen:j,enabled:!!q&&!q.rule.disabled,dropPercentage:q?.rule.percentageAtMost??25,onClose:()=>H(!1),onSave:he}),t(Ha,{title:qa,description:Ga,isOpen:!!F,onClose:ue,onApprove:de,approveLabel:Ka,denyLabel:Wa})]})},Ws=p.div`
374
+ display: flex;
375
+ align-items: center;
376
+ justify-content: space-between;
377
+ padding: 0 12px;
378
+ `,Ks=({disabled:a,loading:n,tabs:o,selectedTab:r,setSelectedTab:i,onClickReset:s,onClickRefresh:d})=>{const[u,p]=l(!1),m=c(()=>{const e=[];return s&&e.push({id:pa(),type:ba.Button,buttonProps:{label:"Reset",leftIcon:Qa,size:$.S,variant:O.Text,onClick:()=>p(!0),disabled:a}}),d&&e.push({id:pa(),type:ba.Button,buttonProps:{label:"Refresh",leftIcon:Tn,size:$.S,variant:O.Text,onClick:d,disabled:a,loading:n}}),e},[a,n,d]);return e(Ws,{children:[e(g,{$gap:12,$alignItems:"center",children:[t(Ia,{icon:vn,title:"Odigos Settings"}),t(Ft,{width:"350px",options:o,values:[r],setValues:e=>i(e[0]),disabled:a})]}),t(Ea,{actions:m}),t(Ha,{isOpen:u,onClose:()=>p(!1),onDeny:()=>p(!1),onApprove:s,title:"Reset Settings",description:"Are you sure you want to reset the settings? This will clear the odigos-local-ui-config and reset the settings to the default values."})]})},Gs=e=>"general"===e.name?0:"advanced"===e.name?2:1,qs=({minSupportedVersion:a=0,pageHeightOffset:o=0,configYamls:r,configYamlsLoading:i,effectiveConfig:s,effectiveConfigLoading:d,refetch:u,factoryReset:p,onSave:m,saveLoading:f})=>{const{isVersionSupported:v,version:b,isEnterprise:y}=de(a),S=c(()=>{if(!s)return{};const{manifestYAML:e,provenance:t,...a}=s;return a},[s]),{formData:C,handleFormChange:k,getNestedValue:w,getFormDiff:T,isFormDirty:x}=F(S);n(()=>{"{}"!==JSON.stringify(S)&&"{}"===JSON.stringify(C)&&k(void 0,void 0,S)},[S,C]);const D=c(()=>[...r].sort((e,t)=>Gs(e)-Gs(t)),[r]),N=c(()=>(e=>{if(!e)return{};const t={};for(const a of e)t[a.helmPath]=a.reconciledFrom;return t})(s?.provenance),[s?.provenance]),A=c(()=>{const e=new Set;for(const t of r)for(const a of t.fields)a.componentType===M.Dropdown&&e.add(a.helmValuePath);return e},[r]),[I,E]=l(!1),R=c(()=>[{id:pa(),type:ba.Button,buttonProps:{"data-id":"settings-save",variant:O.Primary,size:$.S,label:"Save Changes",leftIcon:mn,loading:f,onClick:()=>E(!0)}},{id:pa(),type:ba.Button,buttonProps:{"data-id":"settings-cancel",variant:O.Secondary,size:$.S,label:"Cancel",leftIcon:sn,onClick:()=>k(void 0,void 0,S)}}],[f,T,S,C,k]),P=c(()=>D.map(e=>({id:e.name,label:e.displayName})),[D]),L=c(()=>D.map(e=>e.name),[D]),{selectedSection:z,setSelectedSection:X,setSectionRef:B}=Ya({sectionNames:L});return e(Sa,{$heightOffset:o,$gap:12,children:[t(Ks,{disabled:!v,loading:i||d,tabs:P,selectedTab:z,setSelectedTab:X,onClickReset:p?()=>p().then(()=>u?.()):void 0,onClickRefresh:u?()=>u():void 0}),e(Oa,{children:[!v&&t(_n,{minSupportedVersion:a,currentVersion:b||""}),t(wa,{isOpen:x,richTitle:{icon:vn,title:"Config Settings"},actions:R}),t(Ha,{isOpen:I,title:"Save Changes via UI?",description:"We recommend updating via your Helm values.yaml to ensure changes are version-controlled and go through a proper review process.",onClose:()=>E(!1),approveLabel:"Save changes",onApprove:async()=>{const e=((e,t)=>{const a=(e,t,a)=>{for(let a=0;a<t.length-1;a++){const n=t[a];n in e&&"object"==typeof e[n]&&null!==e[n]||(e[n]={}),e=e[n]}e[t[t.length-1]]=a},n=JSON.parse(JSON.stringify(e));for(const e of t){const t=e.split(".");let o=n;for(const e of t){if(null==o||"object"!=typeof o){o=void 0;break}o=o[e]}"string"==typeof o&&a(n,t,o.replaceAll("-","_"))}return n})(T(S,C),A);await(m?.(e)),k(void 0,void 0,{})},denyLabel:"Keep editing",onDeny:()=>E(!1)}),e(g,{$gap:24,$alignItems:"flex-start",children:[t(h,{$gap:24,$width:"100%",children:r.length?D.map(a=>t(be,{id:a.name,ref:e=>B(a.name,e),richTitle:{icon:vn,title:a.displayName},children:a.fields.map(a=>{if(a.isEnterpriseOnly&&!y)return null;const n=q(a.componentProps||"{}",{}),o=N[a.helmValuePath];return e(h,{$gap:4,children:[t(Mn,{componentType:a.componentType,inputType:n.type,name:a.helmValuePath,label:a.displayName,tooltip:a.description,badge:o?{status:"odigos-local-ui-config"===o?Q.Warning:Xt.Unknown,label:o,tooltip:`This field is reconciled from the following resource: ${o}`}:void 0,disabled:a.isHelmOnly||f,value:w("formData",a.helmValuePath),setValue:e=>k(a.helmValuePath,e),dropdownOptions:n.options?.map(e=>({id:e,value:e})),dropdownNoSearch:!0,dropdownNoCheckbox:!0},a.helmValuePath),a.isHelmOnly?t(J,{status:Q.Info,smallIcon:!0,message:"This field can only be updated via Helm values.yaml file"}):null]},a.helmValuePath)})},a.name)):i?t(Et,{$height:"30vh",children:t(Ot,{withSpinner:!0})}):t(be,{richTitle:{icon:vn,title:"Config Settings"},children:t(V,{title:"YAML not found",subTitle:"The YAML for this resource is not available"})})}),d&&!s?.manifestYAML?t(Et,{$height:"30vh",children:t(Ot,{withSpinner:!0})}):t(Un,{title:"Effective Config YAML",yaml:s?.manifestYAML?.replaceAll(" |",""),defaultOpen:!0,fullHeight:!0})]})]})]})};export{Zr as AddActionDrawer,co as AddActionForm,io as AddActionFormContextProvider,di as AddDestinationDrawer,bo as AddDestinationForm,go as AddDestinationFormContextProvider,ui as AddRuleDrawer,Eo as AddRuleForm,Ao as AddRuleFormContextProvider,Ci as AddSourceDrawer,Po as AddSourceFormContextProvider,Ji as CentralConnections,wi as CreateSamplingRuleDrawer,ar as CreateSamplingRuleForm,gl as CreateSamplingRuleFormContextProvider,xi as EditAutoRuleDrawer,Xr as EditAutoRuleForm,Fr as EditAutoRuleFormContextProvider,Ei as EditConfigDrawer,Ii as EditCostReductionAutoRuleDrawer,Jr as EditCostReductionAutoRuleForm,Gr as EditCostReductionAutoRuleFormContextProvider,Ni as EditHighlyRelevantAutoRuleDrawer,Hr as EditHighlyRelevantAutoRuleForm,_r as EditHighlyRelevantAutoRuleFormContextProvider,us as Onboarding,Ds as PipelineCollectors,Hs as SamplingRules,qs as Settings,Vi as SystemDrawer,Hi as ViewSamplingRuleDrawer,Or as ViewSamplingRuleForm,wr as ViewSamplingRuleFormContextProvider,so as useAddActionFormContext,fo as useAddDestinationFormContext,Io as useAddRuleFormContext,$o as useAddSourceFormContext,fl as useCreateSamplingRuleFormContext,zr as useEditAutoRuleFormContext,qr as useEditCostReductionAutoRuleFormContext,Ur as useEditHighlyRelevantAutoRuleFormContext,Tr as useViewSamplingRuleFormContext};