@odigos/ui-kit 0.0.224 → 0.0.226

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (118) hide show
  1. package/CHANGELOG.md +31 -0
  2. package/DEVELOPMENT.md +27 -0
  3. package/Makefile +7 -0
  4. package/lib/chunks/index-BWi3du_1.js +149 -0
  5. package/lib/chunks/{index-Au62BabI.js → index-BYYemmZD.js} +1 -1
  6. package/lib/chunks/ui-components-B4LvruCJ.js +2620 -0
  7. package/lib/components/_v2/autocomplete/index.d.ts +13 -3
  8. package/lib/components/_v2/cards/data-card/index.d.ts +16 -3
  9. package/lib/components/_v2/condition/index.d.ts +13 -0
  10. package/lib/components/_v2/conditions/index.d.ts +8 -0
  11. package/lib/components/_v2/drawer/header/index.d.ts +8 -1
  12. package/lib/components/_v2/drop-data/index.d.ts +2 -0
  13. package/lib/components/_v2/icon-button/index.d.ts +1 -0
  14. package/lib/components/_v2/index.d.ts +3 -0
  15. package/lib/components/_v2/tag/index.d.ts +2 -1
  16. package/lib/components/_v2/time-input/index.d.ts +24 -0
  17. package/lib/components/v2.js +1 -1
  18. package/lib/components.js +1 -1
  19. package/lib/constants/sampling/index.d.ts +9 -4
  20. package/lib/constants/sources/index.d.ts +1 -0
  21. package/lib/constants.js +1 -1
  22. package/lib/containers/_v2/_drawers/add-destination-drawer/index.d.ts +1 -1
  23. package/lib/containers/_v2/_drawers/add-source-drawer/index.d.ts +3 -1
  24. package/lib/containers/_v2/_drawers/edit-action-drawer/helpers.d.ts +12 -0
  25. package/lib/containers/_v2/_drawers/edit-action-drawer/index.d.ts +9 -0
  26. package/lib/containers/_v2/_drawers/edit-destination-drawer/helpers.d.ts +11 -0
  27. package/lib/containers/_v2/_drawers/edit-destination-drawer/index.d.ts +11 -0
  28. package/lib/containers/_v2/_drawers/edit-rule-drawer/helpers.d.ts +13 -0
  29. package/lib/containers/_v2/_drawers/edit-rule-drawer/index.d.ts +9 -0
  30. package/lib/containers/_v2/_drawers/index.d.ts +4 -5
  31. package/lib/containers/_v2/_drawers/sampling-rule-drawer/index.d.ts +50 -0
  32. package/lib/containers/_v2/_forms/add-action-form/index.d.ts +0 -1
  33. package/lib/containers/_v2/_forms/add-destination-form/index.d.ts +8 -4
  34. package/lib/containers/_v2/_forms/add-rule-form/index.d.ts +0 -1
  35. package/lib/containers/_v2/_forms/index.d.ts +1 -6
  36. package/lib/containers/_v2/_forms/sampling-rule-form/index.d.ts +2 -0
  37. package/lib/containers/_v2/onboarding/summary/index.d.ts +1 -1
  38. package/lib/containers/_v2/sampling-rules/converters.d.ts +9 -0
  39. package/lib/containers/_v2/sampling-rules/helpers.d.ts +2 -2
  40. package/lib/containers/_v2/sampling-rules/rules-table/index.d.ts +1 -1
  41. package/lib/containers/_v2/sampling-rules/toolbar/index.d.ts +1 -1
  42. package/lib/containers/_v2/sampling-rules/types.d.ts +1 -42
  43. package/lib/containers/source-drawer/profiling/index.d.ts +1 -1
  44. package/lib/containers/v2.js +62 -199
  45. package/lib/containers.js +48 -48
  46. package/lib/contexts/action-form-context.d.ts +19 -0
  47. package/lib/{containers/_v2/_forms/add-destination-form/context.d.ts → contexts/destination-form-context.d.ts} +5 -4
  48. package/lib/contexts/index.d.ts +5 -0
  49. package/lib/contexts/rule-form-context.d.ts +19 -0
  50. package/lib/contexts/sampling-rules-form-context.d.ts +90 -0
  51. package/lib/contexts/source-instrument-form-context.d.ts +22 -0
  52. package/lib/contexts.js +1 -1
  53. package/lib/functions/get-status-color/index.d.ts +2 -2
  54. package/lib/functions/get-status-icon/index.d.ts +2 -2
  55. package/lib/functions.js +1 -1
  56. package/lib/hooks/useScrollTo.d.ts +1 -0
  57. package/lib/hooks.js +1 -1
  58. package/lib/snippets/_v2/colored-span/index.d.ts +1 -0
  59. package/lib/snippets/_v2/dynamic-field/index.d.ts +3 -1
  60. package/lib/snippets/_v2/index.d.ts +1 -0
  61. package/lib/snippets/_v2/sampling-rule-form-sections/duration-errors.d.ts +13 -0
  62. package/lib/snippets/_v2/sampling-rule-form-sections/index.d.ts +7 -0
  63. package/lib/snippets/_v2/sampling-rule-form-sections/operation.d.ts +12 -0
  64. package/lib/snippets/_v2/sampling-rule-form-sections/percentage.d.ts +12 -0
  65. package/lib/snippets/_v2/sampling-rule-form-sections/preset-with-custom-input.d.ts +29 -0
  66. package/lib/snippets/_v2/sampling-rule-form-sections/rule-info.d.ts +12 -0
  67. package/lib/snippets/_v2/sampling-rule-form-sections/sampling-preview.d.ts +12 -0
  68. package/lib/{containers/_v2/_forms/create-sampling-rule-form/sections → snippets/_v2/sampling-rule-form-sections}/source-scope.d.ts +8 -4
  69. package/lib/snippets/_v2/sampling-rule-form-sections/styled.d.ts +2 -0
  70. package/lib/snippets/v2.js +1 -53
  71. package/lib/snippets.js +1 -1
  72. package/lib/store.js +1 -1
  73. package/lib/theme.js +1 -1
  74. package/lib/types/common/index.d.ts +2 -1
  75. package/lib/types/enum/index.d.ts +1 -0
  76. package/lib/types/sampling.d.ts +77 -0
  77. package/lib/types/sources/index.d.ts +18 -6
  78. package/lib/types.js +1 -1
  79. package/lib/visuals.js +1 -1
  80. package/package.json +1 -1
  81. package/lib/chunks/ui-components-CI2PiWkX.js +0 -2516
  82. package/lib/components/_v2/cards/section-part-card/index.d.ts +0 -11
  83. package/lib/containers/_v2/_drawers/create-sampling-rule-drawer/index.d.ts +0 -20
  84. package/lib/containers/_v2/_drawers/edit-auto-rule-drawer/index.d.ts +0 -9
  85. package/lib/containers/_v2/_drawers/edit-cost-reduction-auto-rule-drawer/index.d.ts +0 -9
  86. package/lib/containers/_v2/_drawers/edit-highly-relevant-auto-rule-drawer/index.d.ts +0 -8
  87. package/lib/containers/_v2/_drawers/view-sampling-rule-drawer/index.d.ts +0 -21
  88. package/lib/containers/_v2/_forms/add-action-form/context.d.ts +0 -18
  89. package/lib/containers/_v2/_forms/add-rule-form/context.d.ts +0 -18
  90. package/lib/containers/_v2/_forms/add-source-form/context.d.ts +0 -21
  91. package/lib/containers/_v2/_forms/add-source-form/index.d.ts +0 -1
  92. package/lib/containers/_v2/_forms/create-sampling-rule-form/context.d.ts +0 -34
  93. package/lib/containers/_v2/_forms/create-sampling-rule-form/converters.d.ts +0 -5
  94. package/lib/containers/_v2/_forms/create-sampling-rule-form/form-helpers.d.ts +0 -5
  95. package/lib/containers/_v2/_forms/create-sampling-rule-form/index.d.ts +0 -3
  96. package/lib/containers/_v2/_forms/create-sampling-rule-form/sections/duration-errors.d.ts +0 -9
  97. package/lib/containers/_v2/_forms/create-sampling-rule-form/sections/operation.d.ts +0 -9
  98. package/lib/containers/_v2/_forms/create-sampling-rule-form/sections/percentage.d.ts +0 -9
  99. package/lib/containers/_v2/_forms/create-sampling-rule-form/sections/rule-info.d.ts +0 -9
  100. package/lib/containers/_v2/_forms/create-sampling-rule-form/sections/sampling-preview.d.ts +0 -9
  101. package/lib/containers/_v2/_forms/create-sampling-rule-form/styled.d.ts +0 -5
  102. package/lib/containers/_v2/_forms/create-sampling-rule-form/types.d.ts +0 -54
  103. package/lib/containers/_v2/_forms/edit-auto-rule-form/context.d.ts +0 -21
  104. package/lib/containers/_v2/_forms/edit-auto-rule-form/index.d.ts +0 -3
  105. package/lib/containers/_v2/_forms/edit-cost-reduction-auto-rule-form/context.d.ts +0 -21
  106. package/lib/containers/_v2/_forms/edit-cost-reduction-auto-rule-form/index.d.ts +0 -3
  107. package/lib/containers/_v2/_forms/edit-highly-relevant-auto-rule-form/context.d.ts +0 -14
  108. package/lib/containers/_v2/_forms/edit-highly-relevant-auto-rule-form/index.d.ts +0 -3
  109. package/lib/containers/_v2/_forms/view-sampling-rule-form/context.d.ts +0 -37
  110. package/lib/containers/_v2/_forms/view-sampling-rule-form/index.d.ts +0 -3
  111. package/lib/containers/_v2/_forms/view-sampling-rule-form/reverse-converters.d.ts +0 -3
  112. package/lib/containers/_v2/_forms/view-sampling-rule-form/sections/duration-errors.d.ts +0 -6
  113. package/lib/containers/_v2/_forms/view-sampling-rule-form/sections/operation-details.d.ts +0 -6
  114. package/lib/containers/_v2/_forms/view-sampling-rule-form/sections/percentage.d.ts +0 -6
  115. package/lib/containers/_v2/_forms/view-sampling-rule-form/sections/rule-info.d.ts +0 -6
  116. package/lib/containers/_v2/_forms/view-sampling-rule-form/sections/sampling-preview.d.ts +0 -6
  117. package/lib/containers/_v2/_forms/view-sampling-rule-form/sections/source-scopes.d.ts +0 -6
  118. /package/lib/containers/_v2/{_forms/view-sampling-rule-form/footer.d.ts → _drawers/sampling-rule-drawer/view-footer.d.ts} +0 -0
@@ -1,200 +1,53 @@
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,aa as be,S 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,bb as Et,bc as Rt,b 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,bD as la,bE as ra,u as ia,bF as sa,bG as ca,bH as da,bI as ua,bJ as pa,bK as ma,g as ha,bL as ga,bM as fa,bN as va,bO as ba,bP as ya,A 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,ch as Ya,ci as Ja}from"../chunks/ui-components-CI2PiWkX.js";import{ChevronRightIcon as Qa,TrashIcon as Za,PlusIcon as en,BookIcon as tn,VSquareIcon as an,XSquareIcon as nn,DeleteIcon as on,EditIcon as ln,GoLogo as rn,JavaLogo as sn,XIcon as cn,ActionIcon as dn,DestinationIcon as un,ChevronUpIcon as pn,ChevronDownIcon as mn,VIcon as hn,InstrumentationRuleIcon as gn,SourceIcon as fn,SamplingIcon as vn,SettingsIcon as bn,ExclamationTriangleIcon as yn,ExclamationCircleIcon as Sn,KeyIcon as Cn,DiagnoseIcon as kn,DownloadIcon as wn,TerminalIcon as Tn,RefreshIcon as xn,ConnectionsIcon as Dn,OdigosLogo as Nn,ArrowRightIcon as An,PodIcon as In,ArrowDownSquareIcon as En,ArrowUpSquareIcon as Rn,PipelineCollectorIcon as Pn,GatewayIcon as $n,YamlIcon as On}from"../icons.js";import{SignalsCheckboxList as Mn,DynamicField as Fn,ColoredSpanVariant as Ln,ColoredSpan as zn,WideDrawer as Vn,WIDE_DRAWER_WIDTH as Xn,DeleteModal as Bn,OdigosLogoTextByTier as _n,UpgradeModal as Un}from"../snippets/v2.js";import{Y as jn}from"../chunks/index-Au62BabI.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 Hn=p.div`
2
- display: flex;
3
- align-items: center;
4
- justify-content: space-between;
5
- gap: 12px;
6
- padding: 8px 12px;
7
- border-radius: 12px;
8
- background-color: ${({$isSelected:e,$purpleColors:t,theme:a})=>e?t?a.v2.colors.purple[800]:a.v2.colors.silver[600]:t?a.v2.colors.purple[900]:"transparent"};
9
- cursor: ${({$disabled:e})=>e?"not-allowed":"pointer"};
10
- opacity: ${({$disabled:e})=>e?.5:1};
11
- &:hover {
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
- }
14
- `,Wn=p.div`
15
- display: flex;
16
- align-items: center;
17
- justify-content: center;
18
- padding: 8px;
19
- border-radius: 8px;
20
- background-color: ${({theme:e})=>e.v2.colors.white[500]+y["004"]};
21
- `,Kn=({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(Hn,{"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(Wn,{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(Qa,{size:18})]})]})},Gn=[{id:"CREDIT_CARD",label:"Credit card"}],qn=[{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"}],Yn=[{id:N.Pod,label:N.Pod},{id:N.Namespace,label:N.Namespace},{id:N.Node,label:N.Node}],Jn=[{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:Yn}],Qn=[{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:Yn}],Zn=[{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}],eo=S.UrlTemplatizationRulesGroups,to=[{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"}],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:"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}],no=[{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}],oo={[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:qn.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:Jn,values:o[S.LabelsAttributes]||[],setValues:e=>l(S.LabelsAttributes,e),errorMessage:r[S.LabelsAttributes]}),t(D,{name:"annotationsAttributes",label:"Annotation attributes",limitFieldsPerRow:2,columns:Qn,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,Gn.map(({id:e})=>e))},[]),e(h,{$gap:12,children:[t(C,{label:"Attributes to mask"}),t(h,{$gap:6,children:Gn.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:Zn,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:ao,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:no,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[eo]||[{filterK8sNamespace:"",workloadFilters:[],templatizationRules:[{template:""}],notes:""}],c=e=>l(eo,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(Za,{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:to,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[eo]})]},`url-templatization-group-${n}`)),t(P,{variant:O.Secondary,label:"Add rule group",leftIcon:en,onClick:()=>c([...s,{filterK8sNamespace:"",workloadFilters:[],templatizationRules:[{template:""}],notes:""}])}),t(R,{})]})}},lo=({actionType:e,value:a,setValue:n,formErrors:o})=>{if(!e)return null;const l=oo[e];return l?t(l,{value:a,setValue:n,formErrors:o}):null},ro={type:"",disabled:!1,name:"",notes:"",signals:[],fields:{}},io=s({selectedOption:null,onSelectOption:()=>{},genericForm:void 0,validateFormData:()=>({preparedFormData:z(ro)}),errorMessage:void 0}),so=({children:e})=>{const[a,n]=l(null),[o,i]=l(void 0),s=L(ro),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(ro)};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(io.Provider,{value:{selectedOption:a,onSelectOption:c,genericForm:s,validateFormData:d,errorMessage:o},children:e})},co=()=>i(io),uo=()=>{const a=m(),{selectedOption:n,genericForm:o}=co();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:tn,variant:O.Text,size:$.S,onClick:()=>window.open(`${X}${n.docsEndpoint}`,"_blank","noopener noreferrer")})]}),t(B,{options:[{icon:an,label:"Enabled",value:!1,selectedBgColor:a.v2.colors.green[800]},{icon:nn,label:"Disabled",value:!0,selectedBgColor:a.v2.colors.red[800]}],selected:l.disabled,setSelected:e=>r("disabled",e)}),t(Mn,{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(lo,{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})]})},po=({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(Fn,{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)}),mo={type:"",name:"",currentStreamName:"",disabled:!1,exportedSignals:{logs:!1,metrics:!1,traces:!1},fields:[]},ho={activeForm:null,onChangeActiveForm:()=>{},genericForm:void 0,formErrorMessage:void 0,validateFormData:()=>({isOk:!1,preparedFormData:z(mo)}),unsavedDestinations:[],thisUnsavedDestination:void 0,setUnsavedDestinations:()=>{},addUnsavedDestination:()=>{},updateUnsavedDestination:()=>{},deleteUnsavedDestination:()=>{}},go=s(ho),fo=({children:e})=>{const{selectedStreamName:a}=j(),[o,i]=l(null),[s,d]=l(),[u,p]=l(ho.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({...mo,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(go.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})},vo=()=>i(go),bo=p(g)`
1
+ import{jsxs as e,jsx as t,Fragment as a}from"react/jsx-runtime";import{useEffect as n,Fragment as i,forwardRef as o,useState as l,useImperativeHandle as s,useMemo as r,useCallback as c,useRef as d,Children as u}from"react";import p,{useTheme as m}from"styled-components";import{c as h,F as g,d as b,e as f,f as y,I as v,h as C,i as S,j as w,K as k,T,k as N,l as A,D as I,m as D,n as E,B as $,a as R,o as x,p as O,q as P,N as L,r as F,s as M,t as V,v as B,w as z,x as _,y as U,z as j,E as X,G as H,H as W,J as G,L as K,M as Y,O as q,P as J,Q,R as Z,U as ee,V as te,W as ae,X as ne,Y as ie,Z as oe,_ as le,$ as se,a0 as re,a1 as ce,a2 as de,a3 as ue,a4 as pe,a5 as me,a6 as he,a7 as ge,a8 as be,a9 as fe,S as ye,aa as ve,ab as Ce,ac as Se,ad as we,b as ke,ae as Te,af as Ne,ag as Ae,ah as Ie,ai as De,aj as Ee,ak as $e,al as Re,am as xe,an as Oe,ao as Pe,ap as Le,aq as Fe,ar as Me,as as Ve,at as Be,au as ze,av as _e,aw as Ue,ax as je,ay as Xe,az as He,aA as We,aB as Ge,aC as Ke,aD as Ye,aE as qe,aF as Je,aG as Qe,aH as Ze,aI as et,aJ as tt,aK as at,aL as nt,aM as it,aN as ot,aO as lt,aP as st,aQ as rt,aR as ct,aS as dt,aT as ut,aU as pt,aV as mt,aW as ht,aX as gt,aY as bt,aZ as ft,a_ as yt,a$ as vt,b0 as Ct,b1 as St,b2 as wt,b3 as kt,b4 as Tt,b5 as Nt,b6 as At,b7 as It,b8 as Dt,b9 as Et,ba as $t,bb as Rt,bc as xt,bd as Ot,be as Pt,bf as Lt,u as Ft,bg as Mt,bh as Vt,bi as Bt,bj as zt,bk as _t,bl as Ut,g as jt,bm as Xt,A as Ht,bn as Wt,bo as Gt,bp as Kt,bq as Yt,br as qt,bs as Jt,bt as Qt,bu as Zt,bv as ea,bw as ta,bx as aa,by as na,bz as ia,bA as oa,bB as la,bC as sa,bD as ra,bE as ca,bF as da,bG as ua,bH as pa,bI as ma,bJ as ha,bK as ga,bL as ba,bM as fa,bN as ya,bO as va,bP as Ca,bQ as Sa,bR as wa,bS as ka,bT as Ta,bU as Na,bV as Aa,bW as Ia,bX as Da,bY as Ea,bZ as $a,b_ as Ra,b$ as xa,c0 as Oa,c1 as Pa,c2 as La,c3 as Fa,c4 as Ma,c5 as Va,c6 as Ba,c7 as za,c8 as _a,c9 as Ua,ca as ja,cb as Xa}from"../chunks/ui-components-B4LvruCJ.js";import{TrashIcon as Ha,PlusIcon as Wa,BookIcon as Ga,VSquareIcon as Ka,XSquareIcon as Ya,DeleteIcon as qa,EditIcon as Ja,GoLogo as Qa,JavaLogo as Za,ChevronRightIcon as en,ActionIcon as tn,DestinationIcon as an,ChevronUpIcon as nn,ChevronDownIcon as on,VIcon as ln,XIcon as sn,InstrumentationRuleIcon as rn,SourceIcon as cn,NamespacesIcon as dn,SettingsIcon as un,SamplingIcon as pn,ExclamationTriangleIcon as mn,ExclamationCircleIcon as hn,KeyIcon as gn,DiagnoseIcon as bn,DownloadIcon as fn,TerminalIcon as yn,RefreshIcon as vn,ConnectionsIcon as Cn,OdigosLogo as Sn,ArrowRightIcon as wn,PodIcon as kn,ArrowDownSquareIcon as Tn,ArrowUpSquareIcon as Nn,PipelineCollectorIcon as An,GatewayIcon as In,YamlIcon as Dn}from"../icons.js";import{S as En,D as $n,A as Rn,P as xn,a as On,b as Pn,R as Ln,c as Fn,O as Mn,d as Vn,e as Bn,W as zn,f as _n,g as Un,h as jn,U as Xn}from"../chunks/index-BWi3du_1.js";import{Y as Hn}from"../chunks/index-BYYemmZD.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 Wn=[{id:"CREDIT_CARD",label:"Credit card"}],Gn=[{id:h.CollectContainerAttributes,label:"Collect container attributes"},{id:h.CollectReplicaSetAttributes,label:"Collect ReplicaSet attributes"},{id:h.CollectWorkloadId,label:"Collect workload ID"},{id:h.CollectClusterId,label:"Collect cluster ID"}],Kn=[{id:k.Pod,label:k.Pod},{id:k.Namespace,label:k.Namespace},{id:k.Node,label:k.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:Kn}],qn=[{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:Kn}],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:C.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:C.Number}],Qn=h.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"}],ei=[{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:C.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:C.Number}],ti=[{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:C.Number},{label:"Condition",keyName:"condition",tooltip:"An object representing the filters for span attributes filters.",componentType:x.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:x.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}],ai={[O.K8sAttributes]:({value:i,setValue:o,formErrors:l})=>(n(()=>{i[h.CollectContainerAttributes]||i[h.CollectReplicaSetAttributes]||i[h.CollectWorkloadId]||i[h.CollectClusterId]||i[h.LabelsAttributes]?.length||i[h.AnnotationsAttributes]?.length||(o(h.CollectContainerAttributes,!0),o(h.CollectReplicaSetAttributes,!0),o(h.CollectWorkloadId,!0),o(h.CollectClusterId,!0),o(h.LabelsAttributes,[]),o(h.AnnotationsAttributes,[]))},[]),e(a,{children:[t(g,{$gap:6,children:Gn.map(({id:a,label:n})=>e(g,{children:[t(f,{label:n,value:i[a]||!1,onChange:e=>o(a,e)}),t(y,{errorMessage:l[a]})]},a))}),t(w,{name:"labelsAttributes",label:"Label attributes",limitFieldsPerRow:2,columns:Yn,values:i[h.LabelsAttributes]||[],setValues:e=>o(h.LabelsAttributes,e),errorMessage:l[h.LabelsAttributes]}),t(w,{name:"annotationsAttributes",label:"Annotation attributes",limitFieldsPerRow:2,columns:qn,values:i[h.AnnotationsAttributes]||[],setValues:e=>o(h.AnnotationsAttributes,e),errorMessage:l[h.AnnotationsAttributes]})]})),[O.AddClusterInfo]:({value:n,setValue:i,formErrors:o})=>{const l=m();return e(a,{children:[t(T,{label:"Overwrite existing values",labelAlign:N.Left,labelColor:l.v2.colors.silver[200],tooltip:"If enabled, the resource attributes will overwrite any existing attributes with the same name.",value:n[h.OverwriteExistingValues]||!1,onChange:e=>i(h.OverwriteExistingValues,e)}),t(w,{name:"clusterAttributes",label:"Resource attributes",limitFieldsPerRow:2,columns:[{keyName:"attributeName",label:"Attribute name"},{keyName:"attributeStringValue",label:"Attribute value"}],values:n[h.ClusterAttributes]||[],setValues:e=>i(h.ClusterAttributes,e),errorMessage:o[h.ClusterAttributes]})]})},[O.DeleteAttributes]:({value:e,setValue:a,formErrors:n})=>t(A,{name:"attributeNamesToDelete",label:"Attributes to delete",values:e[h.AttributeNamesToDelete]||[],setValues:e=>a(h.AttributeNamesToDelete,e),errorMessage:n[h.AttributeNamesToDelete]}),[O.RenameAttributes]:({value:e,setValue:a,formErrors:n})=>t(w,{name:"renames",label:"Attributes to rename",limitFieldsPerRow:2,columns:[{keyName:"oldKey",label:"Old key"},{keyName:"newKey",label:"New key"}],values:Object.entries(e[h.Renames]||{}).map(([e,t])=>({oldKey:e,newKey:t})),setValues:e=>{const t={};e.forEach(e=>t[e.oldKey]=e.newKey),a(h.Renames,t)},errorMessage:n[h.Renames]}),[O.PiiMasking]:({value:a,setValue:i,formErrors:o})=>(n(()=>{a[h.PiiCategories]?.length||i(h.PiiCategories,Wn.map(({id:e})=>e))},[]),e(g,{$gap:12,children:[t(b,{label:"Attributes to mask"}),t(g,{$gap:6,children:Wn.map(({id:e,label:n})=>t(f,{label:n,value:a[h.PiiCategories]?.includes(e)||!1,onChange:t=>{const n=a[h.PiiCategories]||[],o=t?[...n,e]:n.filter(t=>t!==e);i(h.PiiCategories,o)}},e))}),t(y,{errorMessage:o[h.PiiCategories]})]})),[O.ErrorSampler]:({value:e,setValue:a,formErrors:n})=>{const i=n[h.FallbackSamplingRatio],o=S(e[h.FallbackSamplingRatio])?"":String(e[h.FallbackSamplingRatio]);return t(v,{name:"fallbackSamplingRatio",label:"Fallback sampling ratio",type:C.Number,min:0,max:100,value:o,placeholder:"0-100",onChange:e=>{return t=e.target.value,a(h.FallbackSamplingRatio,Math.max(0,Math.min(Number(t),100))||0);var t},errorMessage:i})},[O.ProbabilisticSampler]:({value:e,setValue:a,formErrors:n})=>{const i=n[h.SamplingPercentage],o=S(e[h.SamplingPercentage])?"":String(e[h.SamplingPercentage]);return t(v,{name:"samplingPercentage",label:"Sampling percentage",type:C.Number,min:0,max:100,value:o,placeholder:"0-100",onChange:e=>{return t=e.target.value,a(h.SamplingPercentage,Math.max(0,Math.min(Number(t),100))||0);var t},errorMessage:i})},[O.LatencySampler]:({value:e,setValue:a,formErrors:n})=>{const i=n[h.EndpointsFilters],o=e[h.EndpointsFilters]||[];return t(w,{name:"endpointsFilters",limitFieldsPerRow:2,columns:Jn,values:o,setValues:e=>{a(h.EndpointsFilters,e.map(({serviceName:e,httpRoute:t,minimumLatencyThreshold:a,fallbackSamplingRatio:n})=>({serviceName:e,httpRoute:t,minimumLatencyThreshold:Number(a),fallbackSamplingRatio:Number(n)})))},errorMessage:i})},[O.ServiceNameSampler]:({value:e,setValue:a,formErrors:n})=>{const i=n[h.ServicesNameFilters],o=e[h.ServicesNameFilters]||[];return t(w,{name:"servicesNameFilters",limitFieldsPerRow:2,columns:ei,values:o,setValues:e=>{a(h.ServicesNameFilters,e.map(({serviceName:e,samplingRatio:t,fallbackSamplingRatio:a})=>({serviceName:e,samplingRatio:Number(t),fallbackSamplingRatio:Number(a)})))},errorMessage:i})},[O.SpanAttributeSampler]:({value:e,setValue:a,formErrors:n})=>{const i=n[h.AttributeFilters],o=(e[h.AttributeFilters]||[]).map(({serviceName:e,attributeKey:t,fallbackSamplingRatio:a,condition:n})=>{const i=Object.entries(n).filter(([e,t])=>t)[0][0];return{serviceName:e,attributeKey:t,fallbackSamplingRatio:a,condition:i,operation:n[i]?.operation,expectedValue:n[i]?.expectedValue,jsonPath:n[i]?.jsonPath}});return t(w,{name:"attributeFilters",limitFieldsPerRow:2,columns:ti,values:o,setValues:e=>{a(h.AttributeFilters,e.map(({serviceName:e,attributeKey:t,fallbackSamplingRatio:a,condition:n,operation:i,expectedValue:o,jsonPath:l})=>{const s={serviceName:e,attributeKey:t,fallbackSamplingRatio:Number(a),condition:{[n]:{operation:i,expectedValue:o}}};return l&&(s.condition[n].jsonPath=l),s}))},errorMessage:i})},[O.URLTemplatization]:({value:n,setValue:o,formErrors:l})=>{const s=m(),r=n[Qn]||[{filterK8sNamespace:"",workloadFilters:[],templatizationRules:[{template:""}],notes:""}],c=e=>o(Qn,e),d=(e,t)=>c(r.map((a,n)=>n===e?{...a,...t}:a));return e(a,{children:[r.map((a,n)=>e(i,{children:[t(I,{}),e(g,{$gap:12,children:[e(D,{$justifyContent:"space-between",$alignItems:"center",children:[t(b,{label:`Rule Group ${n+1}`}),t(E,{leftIcon:()=>t(Ha,{fill:s.v2.colors.red[500]}),variant:R.Secondary,size:$.S,onClick:()=>{return e=n,c(r.filter((t,a)=>a!==e));var e},disabled:1===r.length})]}),t(v,{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(w,{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(A,{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(y,{errorMessage:l[Qn]})]},`url-templatization-group-${n}`)),t(E,{variant:R.Secondary,label:"Add rule group",leftIcon:Wa,onClick:()=>c([...r,{filterK8sNamespace:"",workloadFilters:[],templatizationRules:[{template:""}],notes:""}])}),t(I,{})]})}},ni=({actionType:e,value:a,setValue:n,formErrors:i})=>{if(!e)return null;const o=ai[e];return o?t(o,{value:a,setValue:n,formErrors:i}):null},ii=()=>{const a=m(),{selectedOption:n,genericForm:i}=P();if(!i||!n)return t(L,{title:"No active form"});const{formData:o,handleFormChange:l,formErrors:s}=i;return e(g,{$gap:24,children:[e(D,{$gap:12,$justifyContent:"space-between",children:[t(F,{size:M.XXS,children:n.docsDescription}),t(E,{label:"Docs",leftIcon:Ga,variant:R.Text,size:$.S,onClick:()=>window.open(`${V}${n.docsEndpoint}`,"_blank","noopener noreferrer")})]}),t(B,{options:[{icon:Ka,label:"Enabled",value:!1,selectedBgColor:a.v2.colors.green[800]},{icon:Ya,label:"Disabled",value:!0,selectedBgColor:a.v2.colors.red[800]}],selected:o.disabled,setSelected:e=>l("disabled",e)}),t(En,{title:"Signals for processing",allowedSignals:n.allowedSignals,selectedSignals:o.signals||[],setSelectedSignals:e=>l("signals",e),errorMessage:s.signals}),t(v,{name:"actionName",label:"Action name",placeholder:"Use a name that describes the action...",value:o.name||"",onChange:({target:{value:e}})=>l("name",e),errorMessage:s.name}),t(ni,{actionType:n.type,value:o.fields,setValue:(e,t)=>l(`fields.${e}`,t),formErrors:s}),t(z,{name:"notes",label:"Notes",placeholder:"Your personal notes...",value:o.notes||"",onChange:({target:{value:e}})=>l("notes",e),errorMessage:s.notes})]})},oi=({signals:e,fields:a,disabled:n,formData:i,handleFormChange:o,formErrors:l})=>a?.map(({renderCondition:a,componentType:s,type:r,name:c,title:d,tooltip:u,placeholder:p,value:m,required:h,options:g})=>{if(!(!a||_(a,e,i.fields)))return null;const b=c,f=i.fields.find(e=>e.key===b),y=f?f.value:m;return t($n,{componentType:s,inputType:r,name:b,label:d,tooltip:u,disabled:n,required:h,placeholder:p,errorMessage:l[b],dropdownOptions:g,value:y||"",setValue:e=>o(b,e)},b)}),li=p(D)`
22
2
  position: sticky;
23
3
  bottom: 0;
24
4
  margin-top: auto;
25
5
  padding: 12px 0;
26
6
  background-color: ${({theme:e})=>e.v2.colors.silver[900]};
27
7
  z-index: 1;
28
- `,yo=({testConnection:a})=>{const o=m(),{activeForm:r,genericForm:i,validateFormData:s,thisUnsavedDestination:c,addUnsavedDestination:d,updateUnsavedDestination:u,deleteUnsavedDestination:p}=vo(),[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(Z(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:tn,variant:O.Text,size:$.S,onClick:()=>window.open(`${X}/backends/${r.option.type}`,"_blank","noopener noreferrer")})]}),t(B,{options:[{icon:an,label:"Enabled",value:!1,selectedBgColor:o.v2.colors.green[800]},{icon:nn,label:"Disabled",value:!0,selectedBgColor:o.v2.colors.red[800]}],selected:i.formData.disabled,setSelected:e=>i.handleFormChange("disabled",e),disabled:b}),t(Mn,{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(po,{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(bo,{$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:on,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:ln,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)}}})})]})]})},So=[{id:ee.FilePath,label:"Collect file path",tooltip:"Indicates whether to record the `code.filepath` attribute."},{id:ee.Function,label:"Collect function",tooltip:"Indicates whether to record the `code.function` attribute."},{id:ee.LineNumber,label:"Collect line number",tooltip:"Indicates whether to record the `code.lineno` attribute."}],Co=[{id:ee.Column,label:"Collect column",tooltip:"Indicates whether to record the `code.column` attribute."},{id:ee.Namespace,label:"Collect namespace",tooltip:"Indicates whether to record the `code.namespace` attribute."},{id:ee.StackTrace,label:"Collect stacktrace",tooltip:"Indicates whether to record the `code.stacktrace` attribute."}],ko=["*"],wo=[{id:ne.HttpRequest,label:"Collect HTTP request",tooltip:""},{id:ne.HttpResponse,label:"Collect HTTP response",tooltip:""},{id:ne.DbQuery,label:"Collect DB query",tooltip:""},{id:ne.Messaging,label:"Collect messaging",tooltip:""}],To={[re.Java]:[new le("","")],[re.Golang]:[new oe("")]},xo={[ie.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={[ee.FilePath]:!0,[ee.Function]:!0,[ee.LineNumber]:!0,[ee.Column]:null,[ee.Namespace]:null,[ee.StackTrace]:null};l("codeAttributes",e)}},[]);const u=(e,t)=>{const a=t?[...d,e]:d.filter(t=>t!==e),n=Object.values(ee).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:So.map(({id:e,label:a,tooltip:n})=>t(te,{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:Co.map(({id:e,label:a,tooltip:n})=>t(te,{text:n,withIcon:!0,children:t(f,{label:a,value:d.includes(e),onChange:t=>u(e,t)})},e))}),t(k,{errorMessage:s})]})]})},[ie.CustomInstrumentation]:({value:o,setValue:l,formErrors:r})=>{const i=r.customInstrumentations,s=c(()=>(o?.customInstrumentations?.[re.Golang]||[]).map(e=>new oe(e.packageName,e.functionName,e.receiverName,e.receiverMethodName)),[o]),d=c(()=>(o?.customInstrumentations?.[re.Java]||[]).map(e=>new le(e.className,e.methodName)),[o]);return n(()=>{o?.customInstrumentations||i||l("customInstrumentations",{[re.Golang]:To[re.Golang],[re.Java]:To[re.Java]})},[]),e(a,{children:[e(h,{children:[e(g,{$gap:8,children:[t(rn,{}),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[re.Golang]=e.map(e=>new oe(e.packageName,e.functionName,e.receiverName,e.receiverMethodName)),t[re.Java]=d,l("customInstrumentations",t)},errorMessage:i,limitFieldsPerRow:2})]}),e(h,{children:[e(g,{$gap:8,children:[t(sn,{}),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[re.Golang]=s,t[re.Java]=e.map(e=>new le(e.className,e.methodName)),l("customInstrumentations",t)},errorMessage:i,limitFieldsPerRow:2})]})]})},[ie.HeadersCollection]:({value:e,setValue:a,formErrors:o})=>{const l=o.headersCollection,r=c(()=>e?.headersCollection?.[ae.HeaderKeys]||[],[e]),i=e=>{const t={[ae.HeaderKeys]:e};a("headersCollection",t)};return n(()=>{r.length||l||i(ko)},[]),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})},[ie.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={[ne.HttpRequest]:{},[ne.HttpResponse]:{},[ne.DbQuery]:{},[ne.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:wo.map(({id:e,label:a,tooltip:n})=>t(te,{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={[ne.HttpRequest]:a.includes(ne.HttpRequest)?{}:null,[ne.HttpResponse]:a.includes(ne.HttpResponse)?{}:null,[ne.DbQuery]:a.includes(ne.DbQuery)?{}:null,[ne.Messaging]:a.includes(ne.Messaging)?{}:null};o("payloadCollection",n)})(e,t)})},e))}),t(k,{errorMessage:i})]})},[ie.UnknownType]:null},Do=({ruleType:e,value:a,setValue:n,formErrors:o})=>{if(!e)return null;const l=xo[e];return l?t(l,{value:a,setValue:n,formErrors:o}):null},No={disabled:!1,ruleName:"",notes:"",workloads:null,instrumentationLibraries:null,payloadCollection:null,codeAttributes:null,headersCollection:null,customInstrumentations:null},Ao=s({selectedOption:null,onSelectOption:()=>{},genericForm:void 0,validateFormData:()=>({preparedFormData:z(No)}),errorMessage:void 0}),Io=({children:e})=>{const[a,n]=l(null),[o,i]=l(void 0),s=L(No),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(No)};const e=(e=>{const t=z(e);return t.headersCollection?.[ae.HeaderKeys]?.length&&(t.headersCollection[ae.HeaderKeys]=t.headersCollection[ae.HeaderKeys].map(e=>e.trim()).filter(e=>e)),t.customInstrumentations?.[re.Golang]?.length&&(t.customInstrumentations[re.Golang]=t.customInstrumentations[re.Golang].map(e=>new oe(e.packageName,e.functionName,e.receiverName,e.receiverMethodName)).filter(e=>e.Verify())),t.customInstrumentations?.[re.Java]?.length&&(t.customInstrumentations[re.Java]=t.customInstrumentations[re.Java].map(e=>new le(e.className,e.methodName)).filter(e=>e.Verify())),t})(s.formData),t={};switch(a.type){case ie.CodeAttributes:Object.values(e.codeAttributes||{}).some(e=>null!=e)||(t.codeAttributes="Code attributes are required");break;case ie.PayloadCollection:Object.values(e.payloadCollection||{}).some(e=>null!=e)||(t.payloadCollection="Payload collection are required");break;case ie.HeadersCollection:e.headersCollection?.[ae.HeaderKeys]?.length||(t.headersCollection="Header keys are required");break;case ie.CustomInstrumentation:e.customInstrumentations?.[re.Golang]?.length||e.customInstrumentations?.[re.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(Ao.Provider,{value:{selectedOption:a,onSelectOption:c,genericForm:s,validateFormData:d,errorMessage:o},children:e})},Eo=()=>i(Ao),Ro=()=>{const a=m(),{selectedOption:n,genericForm:o}=Eo();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:tn,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(se,{label:ce[e],leftIcon:de(e),status:Q.Default,useSecondaryTone:!0},e))]}),t(B,{options:[{icon:an,label:"Enabled",value:!1,selectedBgColor:a.v2.colors.green[800]},{icon:nn,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(Do,{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})]})},Po=s({isFetching:!1,formData:[],handleSourceChange:()=>{},handleSelectAll:()=>{},formDiff:{},isFormDirty:!1}),$o=({children:e,selectedConnectionIds:a,getAllClusterSnapshots:o,fetchNamespacesWithWorkloads:i,initialInputs:s})=>{const{tier:d}=ue(),u=d===ve.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:me,clusterName:pe,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=>{he.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&&he.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===be.Namespace?n:"",c=o===be.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)||ge(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(!fe(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(Po.Provider,{value:{isFetching:m,formData:b,handleSourceChange:w,handleSelectAll:T,formDiff:S,isFormDirty:C},children:e})},Oo=()=>i(Po),Mo=p.div`
29
- display: flex;
30
- align-items: flex-end;
31
- gap: 16px;
32
- `,Fo=p.div`
33
- width: 280px;
34
- flex-shrink: 0;
35
- `,Lo=p.div`
8
+ `,si=o(({testConnection:a,isEdit:i},o)=>{const r=m(),{activeForm:c,genericForm:d,validateFormData:u,thisUnsavedDestination:p,addUnsavedDestination:h,updateUnsavedDestination:b,deleteUnsavedDestination:f}=U(),[y,C]=l(p?.testResult),[S,w]=l(!!p);n(()=>{p?(C(p.testResult),w(!0)):(C(void 0),w(!1))},[p]);const k=async()=>{if(!c?.option.testConnectionSupported||!d)return;const e=await a(K(d.formData));return C(e),e};return s(o,()=>({testConnection:k,testConnectionSupported:!!c?.option.testConnectionSupported}),[c?.option.testConnectionSupported,d,a]),d&&c?e(g,{$gap:24,style:{minHeight:"100%"},children:[e(D,{$gap:12,$justifyContent:"space-between",children:[y?y.succeeded?t(j,{status:X.Success,message:y.message||"Connection OK",fullWidth:!0,smallIcon:!0}):t(j,{status:X.Error,message:y.message||"Connection Failed",fullWidth:!0,smallIcon:!0}):t("div",{}),t(E,{"data-id":"dest-form-docs",label:"Docs",leftIcon:Ga,variant:R.Text,size:$.S,onClick:()=>window.open(`${V}/backends/${c.option.type}`,"_blank","noopener noreferrer")})]}),t(B,{options:[{icon:Ka,label:"Enabled",value:!1,selectedBgColor:r.v2.colors.green[800]},{icon:Ya,label:"Disabled",value:!0,selectedBgColor:r.v2.colors.red[800]}],selected:d.formData.disabled,setSelected:e=>d.handleFormChange("disabled",e),disabled:S}),t(En,{title:"This connection will monitor:",allowedSignals:G(c.option.supportedSignals),selectedSignals:W(d.formData.exportedSignals),setSelectedSignals:e=>d.handleFormChange("exportedSignals",{logs:e.includes(H.Logs),metrics:e.includes(H.Metrics),traces:e.includes(H.Traces)}),disabled:S,errorMessage:d.formErrors.exportedSignals}),t(v,{name:"destinationName",label:"Destination name",placeholder:"Use a name that describes the destination...",value:d.formData.name,onChange:({target:{value:e}})=>d.handleFormChange("name",e),disabled:S,errorMessage:d.formErrors.name}),t(oi,{signals:W(d.formData.exportedSignals),fields:c.dynamicFields,disabled:S,formData:d.formData,handleFormChange:(e,t)=>{d.handleFormChange("fields",d.formData.fields.map(a=>a.key===e?{...a,value:t}:a))},formErrors:d.formErrors}),!i&&e(li,{$gap:8,$justifyContent:"flex-end",children:[p&&t("div",{style:{width:"150px"},children:t(E,{"data-id":"dest-form-delete",fullWidth:!0,label:"Delete",rightIcon:qa,variant:R.Secondary,textColor:r.v2.colors.red[500],onClick:()=>f(c.unsavedIdx)})}),(!p||p.option.testConnectionSupported&&!S)&&t("div",{style:{width:"150px"},children:t(E,{"data-id":"dest-form-test-connection",fullWidth:!0,label:"Test Connection",variant:R.Secondary,onClick:k})}),p&&t("div",S?{style:{width:"150px"},children:t(E,{"data-id":"dest-form-edit",fullWidth:!0,label:"Edit",rightIcon:Ja,variant:R.Secondary,onClick:()=>w(!1)})}:{style:{width:"150px"},children:t(E,{"data-id":"dest-form-save",fullWidth:!0,label:"Save Changes",variant:R.Primary,onClick:async()=>{const{errorMessage:e,preparedFormData:t}=u();if(!e){const e=await k(),a=!!e&&!e.succeeded;b(c.unsavedIdx,{formData:t,testResult:e},a)}}})}),!p&&t("div",{style:{width:"150px"},children:t(E,{"data-id":"dest-form-add",fullWidth:!0,label:"Add Destination",variant:R.Primary,onClick:async()=>{const{errorMessage:e,preparedFormData:t}=u();if(!e){const e=await k(),a=!!e&&!e.succeeded;h({formData:t,testResult:e},a)}}})})]})]}):t(L,{title:"No active form"})});si.displayName="AddDestinationForm";const ri=[{id:Y.FilePath,label:"Collect file path",tooltip:"Indicates whether to record the `code.filepath` attribute."},{id:Y.Function,label:"Collect function",tooltip:"Indicates whether to record the `code.function` attribute."},{id:Y.LineNumber,label:"Collect line number",tooltip:"Indicates whether to record the `code.lineno` attribute."}],ci=[{id:Y.Column,label:"Collect column",tooltip:"Indicates whether to record the `code.column` attribute."},{id:Y.Namespace,label:"Collect namespace",tooltip:"Indicates whether to record the `code.namespace` attribute."},{id:Y.StackTrace,label:"Collect stacktrace",tooltip:"Indicates whether to record the `code.stacktrace` attribute."}],di=["*"],ui=[{id:Q.HttpRequest,label:"Collect HTTP request",tooltip:""},{id:Q.HttpResponse,label:"Collect HTTP response",tooltip:""},{id:Q.DbQuery,label:"Collect DB query",tooltip:""},{id:Q.Messaging,label:"Collect messaging",tooltip:""}],pi={[te.Java]:[new ee("","")],[te.Golang]:[new Z("")]},mi={[ae.CodeAttributes]:({value:i,setValue:o,formErrors:l})=>{const s=m(),c=l.codeAttributes,d=r(()=>Object.entries(i.codeAttributes||{}).filter(([e,t])=>!!t).map(([e])=>e),[i]);n(()=>{if(!d.length&&!c){const e={[Y.FilePath]:!0,[Y.Function]:!0,[Y.LineNumber]:!0,[Y.Column]:null,[Y.Namespace]:null,[Y.StackTrace]:null};o("codeAttributes",e)}},[]);const u=(e,t)=>{const a=t?[...d,e]:d.filter(t=>t!==e),n=Object.values(Y).reduce((e,t)=>(e[t]=!!a.includes(t)||null,e),{});o("codeAttributes",n)};return e(a,{children:[e(g,{$gap:12,children:[t(F,{size:M.XS,color:s.v2.colors.silver[200],nowrap:!0,children:"Recommended data to collect"}),t(g,{$gap:6,children:ri.map(({id:e,label:a,tooltip:n})=>t(q,{text:n,withIcon:!0,children:t(f,{label:a,value:d.includes(e),onChange:t=>u(e,t)})},e))}),t(y,{errorMessage:c})]}),e(g,{$gap:12,children:[t(F,{size:M.XS,color:s.v2.colors.silver[200],nowrap:!0,children:"Verbose data to collect"}),t(g,{$gap:6,children:ci.map(({id:e,label:a,tooltip:n})=>t(q,{text:n,withIcon:!0,children:t(f,{label:a,value:d.includes(e),onChange:t=>u(e,t)})},e))}),t(y,{errorMessage:c})]})]})},[ae.CustomInstrumentation]:({value:i,setValue:o,formErrors:l})=>{const s=l.customInstrumentations,c=r(()=>(i?.customInstrumentations?.[te.Golang]||[]).map(e=>new Z(e.packageName,e.functionName,e.receiverName,e.receiverMethodName)),[i]),d=r(()=>(i?.customInstrumentations?.[te.Java]||[]).map(e=>new ee(e.className,e.methodName)),[i]);return n(()=>{i?.customInstrumentations||s||o("customInstrumentations",{[te.Golang]:pi[te.Golang],[te.Java]:pi[te.Java]})},[]),e(a,{children:[e(g,{children:[e(D,{$gap:8,children:[t(Qa,{}),t(b,{label:"Golang custom probes"})]}),t(w,{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:c,setValues:e=>{const t={};t[te.Golang]=e.map(e=>new Z(e.packageName,e.functionName,e.receiverName,e.receiverMethodName)),t[te.Java]=d,o("customInstrumentations",t)},errorMessage:s,limitFieldsPerRow:2})]}),e(g,{children:[e(D,{$gap:8,children:[t(Za,{}),t(b,{label:"Java custom probes"})]}),t(w,{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[te.Golang]=c,t[te.Java]=e.map(e=>new ee(e.className,e.methodName)),o("customInstrumentations",t)},errorMessage:s,limitFieldsPerRow:2})]})]})},[ae.HeadersCollection]:({value:e,setValue:a,formErrors:i})=>{const o=i.headersCollection,l=r(()=>e?.headersCollection?.[J.HeaderKeys]||[],[e]),s=e=>{const t={[J.HeaderKeys]:e};a("headersCollection",t)};return n(()=>{l.length||o||s(di)},[]),t(A,{name:"headerKeys",label:"Header keys",tooltip:"Specify which headers you want to collect",helpMessage:"Asterisk (*) will collect all headers",values:l,setValues:s,errorMessage:o})},[ae.PayloadCollection]:({value:a,setValue:i,formErrors:o})=>{const l=m(),s=o.payloadCollection,c=r(()=>Object.entries(a.payloadCollection||{}).filter(([e,t])=>!!t).map(([e])=>e),[a]);n(()=>{if(!c.length&&!s){const e={[Q.HttpRequest]:{},[Q.HttpResponse]:{},[Q.DbQuery]:{},[Q.Messaging]:{}};i("payloadCollection",e)}},[]);return e(g,{$gap:12,children:[t(F,{size:M.XS,color:l.v2.colors.silver[200],nowrap:!0,children:"Type of data to collect"}),t(g,{$gap:6,children:ui.map(({id:e,label:a,tooltip:n})=>t(q,{text:n,withIcon:!0,children:t(f,{label:a,value:c.includes(e),onChange:t=>((e,t)=>{const a=t?[...c,e]:c.filter(t=>t!==e),n={[Q.HttpRequest]:a.includes(Q.HttpRequest)?{}:null,[Q.HttpResponse]:a.includes(Q.HttpResponse)?{}:null,[Q.DbQuery]:a.includes(Q.DbQuery)?{}:null,[Q.Messaging]:a.includes(Q.Messaging)?{}:null};i("payloadCollection",n)})(e,t)})},e))}),t(y,{errorMessage:s})]})},[ae.UnknownType]:null},hi=({ruleType:e,value:a,setValue:n,formErrors:i})=>{if(!e)return null;const o=mi[e];return o?t(o,{value:a,setValue:n,formErrors:i}):null},gi=()=>{const a=m(),{selectedOption:n,genericForm:i}=ne();if(!i||!n)return t(L,{title:"No active form"});const{formData:o,handleFormChange:l,formErrors:s}=i;return e(g,{$gap:24,children:[e(D,{$gap:12,$justifyContent:"space-between",children:[t(F,{size:M.XXS,children:n.docsDescription}),t(E,{label:"Docs",leftIcon:Ga,variant:R.Text,size:$.S,onClick:()=>window.open(`${V}${n.docsEndpoint}`,"_blank","noopener noreferrer")})]}),e(D,{$gap:12,children:[t(F,{size:M.XS,color:a.v2.colors.silver[200],nowrap:!0,children:"Supported Languages:"}),n.supportedLanguages.map(e=>t(ie,{label:oe[e],leftIcon:le(e),status:X.Default,useSecondaryTone:!0},e))]}),t(B,{options:[{icon:Ka,label:"Enabled",value:!1,selectedBgColor:a.v2.colors.green[800]},{icon:Ya,label:"Disabled",value:!0,selectedBgColor:a.v2.colors.red[800]}],selected:o.disabled,setSelected:e=>l("disabled",e)}),t(v,{name:"ruleName",label:"Rule name",placeholder:"Use a name that describes the rule...",value:o.ruleName,onChange:({target:{value:e}})=>l("ruleName",e),errorMessage:s.ruleName}),t(hi,{ruleType:n.type,value:o,setValue:(e,t)=>l(e,t),formErrors:s}),t(z,{name:"notes",label:"Notes",placeholder:"Your personal notes...",value:o.notes,onChange:({target:{value:e}})=>l("notes",e),errorMessage:s.notes})]})},bi=p.div`
36
9
  display: flex;
37
10
  flex-direction: column;
38
- gap: 4px;
39
- `,zo=p.div`
40
- flex: 1;
41
- min-width: 0;
42
- `,Vo=[{value:"Relevance",label:"Relevance"},{value:"Error",label:"Error"},{value:"Duration",label:"Duration"}],Xo=({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(ye,{children:e(Mo,{children:[t(Fo,{children:t(w,{name:"sampling-input-rule-name",label:Ce,tooltip:"Optional. Give this rule a name for easier identification.",placeholder:Se,value:n.name,onChange:l})}),"highlyRelevant"===a&&e(Lo,{children:[t(C,{label:ke}),t(B,{size:we.S,options:Vo,selected:n.ruleType,setSelected:s})]}),t(zo,{children:t(w,{name:"sampling-input-note",label:De,tooltip:xe,placeholder:Te,value:n.notes,onChange:i})})]})})},Bo=p.div`
43
- display: flex;
44
- flex-wrap: wrap;
45
- align-items: flex-end;
46
- gap: 16px;
47
- `,_o=p.div`
48
- display: flex;
49
- align-items: flex-end;
50
- gap: 16px;
51
- padding: 12px 16px;
52
- border-radius: 8px;
53
- background-color: ${({theme:e})=>e.v2.colors.black[500]};
54
- `,Uo=p.div`
55
- display: flex;
56
- align-items: flex-end;
57
- gap: 10px;
58
- flex: 1;
59
- `,jo=p.div`
60
- display: flex;
61
- align-items: center;
62
- height: 32px;
63
- `,Ho=p.div`
64
- display: flex;
65
- align-items: center;
66
- height: 32px;
67
- `,Wo=()=>t(Ho,{children:t(v,{size:b.XS,weight:500,children:"And"})}),Ko=[{value:"all",label:"All operations"},{value:"httpServer",label:"HTTP server"},{value:"httpClient",label:"HTTP client"}],Go=[{value:"all",label:"All operations"},{value:"httpServer",label:"HTTP server"},{value:"kafkaConsumer",label:"Kafka consumer"},{value:"kafkaProducer",label:"Kafka producer"}],qo=[{id:"",label:"Any method"},{id:"GET",label:"GET"},{id:"POST",label:"POST"},{id:"PUT",label:"PUT"},{id:"DELETE",label:"DELETE"},{id:"PATCH",label:"PATCH"}],Yo=({category:n,formState:o,onChange:l})=>{const i=c(()=>"noisy"===n?Ko:Go,[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?$e:Oe,b="httpClient"===o.operationType?Me:Fe;return e(ye,{richTitle:{title:Ae,subTitle:Ne},children:[t(B,{size:we.S,options:i,selected:o.operationType,setSelected:s}),g&&e(Bo,{children:["httpClient"===o.operationType&&e(a,{children:[t("div",{style:{flex:1},children:t(w,{name:"sampling-input-server-address",label:Ee,placeholder:Ie,value:o.serverAddress,onChange:p})}),t(Wo,{})]}),e(_o,{children:[e(Uo,{children:[t(jo,{children:t(Re,{"data-id":"sampling-radio-route",value:"route"===o.routeType,onChange:d("route")})}),t(w,{name:"sampling-input-route",label:v,placeholder:Pe,value:"route"===o.routeType?o.route:"",onChange:u,disabled:"route"!==o.routeType})]}),e(Uo,{children:[t(jo,{children:t(Re,{"data-id":"sampling-radio-route-prefix",value:"routePrefix"===o.routeType,onChange:d("routePrefix")})}),t(w,{name:"sampling-input-route-prefix",label:b,placeholder:Pe,value:"routePrefix"===o.routeType?o.route:"",onChange:u,disabled:"routePrefix"!==o.routeType})]})]}),t(Wo,{}),t(Le,{items:qo,selectedIds:[o.method||""],setSelectedIds:e=>m(e),buttonProps:{"data-id":"sampling-btn-method",label:qo.find(e=>e.id===o.method)?.label||"Any method",size:$.S,variant:O.Secondary}})]}),f&&t(w,{name:"sampling-input-kafka-topic",label:ze,placeholder:"Type kafka topic",value:o.kafkaTopic,onChange:h,width:"320px"})]})},Jo=p.div`
68
- display: flex;
69
- align-items: flex-end;
70
- gap: 16px;
71
- `,Qo=[{value:"all",label:"drop all"},{value:"sample",label:"sample"}],Zo=[{value:"all",label:"keep all"},{value:"sample",label:"sample"}],el=[{value:"50",label:"50%"},{value:"25",label:"25%"},{value:"10",label:"10%"},{value:"1",label:"1%"},{value:"custom",label:"Custom"}],tl=[{value:"10",label:"10%"},{value:"1",label:"1%"},{value:"0.5",label:"0.5%"},{value:"0.1",label:"0.1%"},{value:"custom",label:"Custom"}],al=({category:n,formState:o,onChange:l})=>{const i="highlyRelevant"===n,s=i?Zo:Qo,c=i?Be:_e,d=i?Ve:Xe,u=i?Ue:je,p="noisy"===n?tl:el,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(ye,{richTitle:{title:c,subTitle:d},children:["costReduction"!==n&&t(B,{size:we.S,options:s,selected:o.percentageMode,setSelected:m}),("costReduction"===n||"sample"===o.percentageMode)&&e(a,{children:[t(v,{size:b.XXXS,children:u}),e(Jo,{children:[t(B,{size:we.S,options:p,selected:o.percentagePreset,setSelected:h}),"custom"===o.percentagePreset&&t(w,{name:"sampling-input-custom-percentage",label:He,placeholder:"5%",type:T.Number,value:o.customPercentage,onChange:g,width:160})]})]})]})},nl=p.div`
72
- display: flex;
73
- flex-wrap: wrap;
74
- gap: 8px;
75
- `,ol=p.div`
11
+ gap: 24px;
12
+ `,fi=()=>{const e=se();switch(e.formType){case re.Create:return t(yi,{category:e.category,formData:e.formData,onChange:e.handleChange,sourceOptions:e.sourceOptions,namespaceOptions:e.namespaceOptions});case re.View:return e.data?e.isEditing?t(yi,{category:e.data.category,formData:e.formData,onChange:e.handleChange,sourceOptions:e.sourceOptions,namespaceOptions:e.namespaceOptions}):t(vi,{data:e.data}):null;case re.EditAutoNoisy:return t(Ci,{enabled:e.localEnabled,summary:e.summary,inactiveTitle:fe,sectionTitle:be,sectionSubTitle:ge,presetLabel:he,customInputName:"sampling-auto-input-custom-percentage",percentagePreset:e.percentagePreset,setPercentagePreset:e.setPercentagePreset,customPercentage:e.customPercentage,setCustomPercentage:e.setCustomPercentage});case re.EditAutoCostReduction:return t(Ci,{enabled:e.localEnabled,summary:e.summary,inactiveTitle:me,sectionTitle:pe,sectionSubTitle:ue,presetLabel:de,customInputName:"sampling-cr-auto-input-custom-percentage",percentagePreset:e.percentagePreset,setPercentagePreset:e.setPercentagePreset,customPercentage:e.customPercentage,setCustomPercentage:e.setCustomPercentage});case re.EditAutoHighlyRelevant:return t(bi,{children:t(Rn,{title:e.localEnabled?void 0:ce,summary:e.summary})})}},yi=({category:a,formData:n,onChange:i,sourceOptions:o,namespaceOptions:l})=>e(bi,{children:[t(Pn,{category:a,formState:n}),t(Ln,{category:a,formState:n,onChange:i}),t(Fn,{formState:n,onChange:i,sourceOptions:o,namespaceOptions:l}),t(Mn,{category:a,formState:n,onChange:i}),t(Vn,{category:a,formState:n,onChange:i}),"highlyRelevant"===a&&t(Bn,{ruleType:n.ruleType,formState:n,onChange:i})]}),vi=({data:a})=>e(bi,{children:[t(Pn,{readOnly:!0,summary:a.summary}),t(Ln,{readOnly:!0,data:a}),t(Fn,{readOnly:!0,scopes:a.rule.sourceScopes??[]}),t(Mn,{readOnly:!0,data:a}),t(Vn,{readOnly:!0,data:a}),"highlyRelevant"===a.category&&t(Bn,{readOnly:!0,rule:a.rule})]}),Ci=({enabled:a,summary:n,inactiveTitle:i,sectionTitle:o,sectionSubTitle:l,presetLabel:s,customInputName:r,percentagePreset:d,setPercentagePreset:u,customPercentage:p,setCustomPercentage:m})=>{const h=c(e=>u(e),[u]),g=c(e=>m(e.target.value),[m]);return e(bi,{children:[t(Rn,{title:a?void 0:i,summary:n}),t(ye,{richTitle:{title:o,subTitle:l},children:t(xn,{description:s,options:On,selected:d,onSelect:h,customName:r,customLabel:ve,customPlaceholder:"5%",customValue:p,onCustomChange:g})})]})},Si=p.div`
76
13
  display: flex;
77
14
  align-items: center;
78
- gap: 8px;
15
+ justify-content: space-between;
16
+ gap: 12px;
79
17
  padding: 8px 12px;
80
- border-radius: 8px;
81
- cursor: pointer;
82
- background: ${({theme:e,$selected:t})=>t?e.v2.colors.silver[700]:e.v2.colors.silver[900]};
83
- border: 1px solid ${({theme:e,$selected:t})=>t?e.v2.colors.silver[500]:e.v2.colors.silver[800]};
84
-
85
- &:hover {
86
- background: ${({theme:e})=>e.v2.colors.silver[700]};
87
- }
88
- `,ll=p.div`
89
- display: flex;
90
- width: 32px;
91
- height: 32px;
92
- justify-content: center;
93
- align-items: center;
94
- flex-shrink: 0;
95
- `,rl=p.div`
96
- display: flex;
97
- flex-wrap: wrap;
98
- gap: 8px;
99
- `,il=p.div`
100
- display: flex;
101
- align-items: center;
102
- gap: 6px;
103
- padding: 4px 10px;
104
- border-radius: 8px;
105
- background-color: ${({theme:e})=>e.v2.colors.silver[700]};
106
- border: 1px solid ${({theme:e})=>e.v2.colors.silver[500]};
107
- `,sl=p.div`
108
- display: flex;
109
- align-items: center;
110
- cursor: pointer;
111
- opacity: 0.6;
18
+ border-radius: 12px;
19
+ background-color: ${({$isSelected:e,$purpleColors:t,theme:a})=>e?t?a.v2.colors.purple[800]:a.v2.colors.silver[600]:t?a.v2.colors.purple[900]:"transparent"};
20
+ cursor: ${({$disabled:e})=>e?"not-allowed":"pointer"};
21
+ opacity: ${({$disabled:e})=>e?.5:1};
112
22
  &:hover {
113
- opacity: 1;
23
+ 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]};
114
24
  }
115
- `,cl={[Qe.JavaScript]:"Node.js",[Qe.DotNet]:".NET",[Qe.Php]:"PHP"},dl=[Qe.Python,Qe.Java,Qe.JavaScript,Qe.DotNet,Qe.Php,Qe.Ruby,Qe.Go].map(e=>({id:e,label:cl[e]??e.charAt(0).toUpperCase()+e.slice(1),Icon:de(e)})),ul=[{value:"all",label:"Entire Cluster"},{value:"source",label:"Specific source"},{value:"namespace",label:"Specific Namespace"},{value:"language",label:"Specific programming language"}];function pl(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: ${cl[e.workloadLanguage]??e.workloadLanguage}`}return"Entire Cluster"}const ml=({formState:a,onChange:n,sourceOptions:o=[],namespaceOptions:i=[]})=>{const s=m(),[d,u]=l("all"),p=a.sourceScopes.length>0,h=c(()=>ul.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 dl.filter(t=>!e.has(t.id))},[a.sourceScopes]),D=!p&&"all"===d;return e(ye,{richTitle:{title:Ke,subTitle:We},children:[p&&t(rl,{children:a.sourceScopes.map((a,n)=>e(il,{children:[t(v,{size:b.XXXS,color:s.v2.colors.white[500],nowrap:!0,children:pl(a)}),t(sl,{"data-id":`sampling-scope-remove-${n}`,onClick:()=>k(n),children:t(cn,{size:12,fill:s.v2.colors.grey[400]})})]},n))}),t(B,{size:we.S,options:h,selected:d,setSelected:g}),D&&t(J,{status:Q.Default,message:Ge,fullWidth:!0}),"source"===d&&t(qe,{"data-id":"sampling-autocomplete-source",options:w,value:"",onSelect:y,placeholder:Ye}),"namespace"===d&&t(qe,{"data-id":"sampling-autocomplete-namespace",options:T,value:"",onSelect:S,placeholder:"Search namespace"}),"language"===d&&t(nl,{children:x.map(({id:a,label:n,Icon:o})=>e(ol,{$selected:!1,onClick:()=>C(a),children:[t(f,{name:`sampling-scope-lang-${a}`,size:Je.S,value:!1,onChange:()=>C(a)}),t(ll,{children:t(o,{size:20})}),t(v,{size:b.XS,nowrap:!0,children:n})]},a))})]})};function hl(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 gl=s({category:"noisy",formData:hl("noisy"),handleChange:()=>{},resetForm:()=>{},duplicateWarning:null,setDuplicateWarning:()=>{},sourceOptions:[],namespaceOptions:[]}),fl=({category:e,sourceOptions:a=[],namespaceOptions:o=[],children:i})=>{const{formData:s,handleFormChange:c,resetFormData:d}=L(hl(e)),[u,p]=l(null);n(()=>{d(hl(e)),p(null)},[e]);const m=r(e=>{p(null),c(void 0,void 0,{...s,...e})},[s,c]),h=r(()=>{d(hl(e)),p(null)},[e,d]);return t(gl.Provider,{value:{category:e,formData:s,handleChange:m,resetForm:h,duplicateWarning:u,setDuplicateWarning:p,sourceOptions:a,namespaceOptions:o},children:i})},vl=()=>i(gl),bl=p.div`
116
- display: flex;
117
- gap: 12px;
118
- `,yl=p.div`
119
- display: flex;
120
- align-items: flex-end;
121
- gap: 16px;
122
- `,Sl=[{value:"5000",label:"5s"},{value:"1000",label:"1s"},{value:"500",label:"500ms"},{value:"100",label:"100ms"},{value:"50",label:"50ms"},{value:"custom",label:"Custom"}],Cl=()=>{},kl=({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(bl,{children:["Duration"===a&&t("div",{style:{flex:1},children:e(ye,{richTitle:{title:et,subTitle:Ze},children:[t(v,{size:b.XXXS,children:tt}),e(yl,{children:[t(B,{size:we.S,options:Sl,selected:n.durationPreset,setSelected:l}),"custom"===n.durationPreset&&t(w,{name:"sampling-input-custom-duration",label:at,placeholder:"200ms",type:T.Number,value:n.customDurationMs,onChange:i,width:160})]})]})}),"Error"===a&&t("div",{style:{flex:1},children:t(ye,{richTitle:{title:ot,subTitle:nt},children:t(A,{name:"sampling-toggle-keep-errors",value:!0,onChange:Cl,size:rt.S,label:lt,labelAlign:I.Right})})})]})},wl=p.div`
123
- display: flex;
124
- align-items: center;
125
- gap: 24px;
126
- padding: 8px 16px;
127
- border-radius: 12px;
128
- background-color: ${({theme:e})=>e.v2.colors.silver[800]};
129
- `,Tl=p.div`
130
- flex: 1;
131
- min-width: 0;
132
- white-space: pre;
133
- overflow-x: auto;
134
- `,xl=({title:a,summary:n,onEdit:o,renderAction:l})=>{const r=c(()=>{const e=[];return a&&(e.push({text:a,variant:Ln.Default}),e.push({text:" - ",variant:Ln.Default})),e.push(...n),e},[a,n]);return e(wl,{children:[t(Tl,{children:t(zn,{parts:r})}),l&&l(),o&&t(P,{"data-id":"sampling-btn-edit-auto-rule",label:it,rightIcon:ln,variant:O.Text,size:$.S,onClick:o})]})};var Dl;!function(e){e.Noisy="noisy",e.HighlyRelevant="highly-relevant",e.CostReduction="cost-reduction"}(Dl||(Dl={}));const Nl=[{value:Dl.Noisy,label:"1. Noisy Operations",tooltip:"Rules that reduce noise from high-volume, low-value operations"},{value:Dl.HighlyRelevant,label:"2. Highly Relevant Operations",tooltip:"Rules that prioritize important traces for retention"},{value:Dl.CostReduction,label:"3. Cost Reduction",tooltip:"Rules that optimize costs by sampling less critical data"}],Al={[Dl.Noisy]:"This is the most efficient way to sample (with Head Sampling). Prefer to use it where possible.",[Dl.HighlyRelevant]:'Any trace from the "Noisy Operations" category is sampled prior to checking highly relevance.',[Dl.CostReduction]:"Cost reduction rules use Tail Sampling to drop traces that are unlikely to be useful for debugging or monitoring."},Il={[Dl.Noisy]:"Noisy Operations rules list",[Dl.HighlyRelevant]:"Highly Relevant Operations rules list",[Dl.CostReduction]:"Cost Reduction rules list"},El={[Dl.Noisy]:"noisy",[Dl.HighlyRelevant]:"highlyRelevant",[Dl.CostReduction]:"costReduction"};function Rl(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 Pl(e){if(!e?.length)return[{text:" for ",variant:Ln.Default},{text:"entire cluster",variant:Ln.Scope}];const t=e.map(Rl).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 $l(e,t){if(!e)return[];const a=(n=e).startsWith("/")?n.slice(1):n;var n;const o=[{text:" starting at ",variant:Ln.Default}];return t?o.push({text:`${t} /${a}`,variant:Ln.Endpoint}):o.push({text:`endpoint /${a}`,variant:Ln.Endpoint}),o}function Ol(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(...$l(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(...Pl(e.sourceScopes)),t}function Ml(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(...$l(a,n))}else t.push({text:" on ",variant:Ln.Default}),t.push({text:"any operation",variant:Ln.Endpoint});return t.push(...Pl(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 Fl(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(...$l(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(...Pl(e.sourceScopes)),t}function Ll(e){return e.error?"Error":null!=e.durationAtLeastMs?"Duration":"Relevance"}function zl(e,t){switch(e){case"noisy":return Ol(t);case"highlyRelevant":return Ml(t);case"costReduction":return Fl(t)}}function Vl(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 Xl(e){return null==e||Array.isArray(e)&&0===e.length?null:e}function Bl(e,t){return JSON.stringify({sourceScopes:Xl(e),operation:Xl(t)})}function _l(e,t,a,n){return JSON.stringify({sourceScopes:Xl(e),error:t??!1,durationAtLeastMs:Xl(a),operation:Xl(n)})}function Ul(e,t){return JSON.stringify({sourceScopes:Xl(e),operation:Xl(t)})}function jl(e,t,a,n){switch(t){case"noisy":{const t=Bl(a.sourceScopes,a.operation);for(const a of e)for(const e of a.noisyOperations)if((!n||e.ruleId!==n)&&Bl(e.sourceScopes,e.operation)===t)return e.ruleId;return null}case"highlyRelevant":{const t=_l(a.sourceScopes,a.error,a.durationAtLeastMs,a.operation);for(const a of e)for(const e of a.highlyRelevantOperations)if((!n||e.ruleId!==n)&&_l(e.sourceScopes,e.error,e.durationAtLeastMs,e.operation)===t)return e.ruleId;return null}case"costReduction":{const t=Ul(a.sourceScopes,a.operation);for(const a of e)for(const e of a.costReductionRules)if((!n||e.ruleId!==n)&&Ul(e.sourceScopes,e.operation)===t)return e.ruleId;return null}}}function Hl(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 Wl(e){return!(!0!==e.error||e.sourceScopes&&0!==e.sourceScopes.length||e.operation||null!=e.percentageAtLeast&&100!==e.percentageAtLeast)}function Kl(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 Gl(e){return!(e.sourceScopes&&0!==e.sourceScopes.length||e.operation)}function ql(e){return!e||e.disabled?[{text:" 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}]}function Yl(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 Jl(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 Ql(e){if("custom"===e.durationPreset){const t=parseFloat(e.customDurationMs);return isNaN(t)?null:t}return parseInt(e.durationPreset,10)}function Zl(e){return{httpServer:{[e.routeType]:e.route||null,method:e.method||null}}}function er(e){return"all"===e.operationType?null:"httpServer"===e.operationType?Zl(e):"httpClient"===e.operationType?{httpClient:{serverAddress:e.serverAddress||null,["route"===e.routeType?"templatedPath":"templatedPathPrefix"]:e.route||null,method:e.method||null}}:null}function tr(e){return"all"===e.operationType?null:"httpServer"===e.operationType?Zl(e):"kafkaConsumer"===e.operationType?{kafkaConsumer:{kafkaTopic:e.kafkaTopic||null}}:"kafkaProducer"===e.operationType?{kafkaProducer:{kafkaTopic:e.kafkaTopic||null}}:null}const ar=({category:e,formState:a,onChange:n})=>{const o=c(()=>{switch(e){case"noisy":return Ol({ruleId:"",name:(t=a).name||null,disabled:!1,notes:t.notes||null,sourceScopes:Yl(t)??null,percentageAtMost:Jl(t),operation:er(t)});case"highlyRelevant":return Ml(function(e){return{ruleId:"",name:e.name||null,disabled:!1,notes:e.notes||null,sourceScopes:Yl(e)??null,error:e.keepErrors,durationAtLeastMs:"Duration"===e.ruleType?Ql(e):null,percentageAtLeast:Jl(e),operation:tr(e)}}(a));case"costReduction":return Fl(function(e){return{ruleId:"",name:e.name||null,disabled:!1,notes:e.notes||null,sourceScopes:Yl(e)??null,percentageAtMost:Jl(e)??0,operation:tr(e)}}(a))}var t},[e,a]),l=1===o.length&&"default"===o[0].variant;return t(xl,{title:l?st:ct,summary:l?[]:o,renderAction:n?()=>t(A,{name:"sampling-toggle-rule-enabled",value:!a.disabled,onChange:e=>n({disabled:!e}),size:rt.S,label:"Rule Enabled",labelAlign:I.Right}):void 0})},nr=()=>{const{category:a,formData:n,handleChange:o,sourceOptions:l,namespaceOptions:r}=vl();return e(h,{$gap:12,children:[t(ar,{category:a,formState:n,onChange:o}),t(Xo,{category:a,formState:n,onChange:o}),t(ml,{formState:n,onChange:o,sourceOptions:l,namespaceOptions:r}),t(Yo,{category:a,formState:n,onChange:o}),"highlyRelevant"===a&&t(kl,{ruleType:n.ruleType,formState:n,onChange:o}),t(al,{category:a,formState:n,onChange:o})]})},or=p.div`
135
- display: flex;
136
- gap: 32px;
137
- `,lr=p.div`
138
- display: flex;
139
- flex-direction: column;
140
- gap: 4px;
141
- `;p.div`
142
- display: flex;
143
- flex-direction: column;
144
- gap: 8px;
145
- border-radius: 8px;
146
- `,p.div`
147
- flex: 1;
148
- min-width: 0;
149
- padding: 8px 16px;
150
- border-radius: 8px;
151
- background-color: ${({theme:e})=>e.v2.colors.silver[800]};
152
- white-space: pre;
153
- overflow-x: auto;
154
- `;const rr=p.div`
155
- display: flex;
156
- align-items: flex-end;
157
- gap: 16px;
158
- `;function ir(e){return"highlyRelevant"===e.category?e.rule.error?"Error":null!=e.rule.durationAtLeastMs?"Duration":"Relevance":pt[e.category]}const sr=({data:a})=>{const n=m(),o=c(()=>[{id:"name",title:Ce,value:a.rule.name||dt},{id:"type",title:ke,value:ir(a)}],[a]),l=a.rule.notes||ut;return e(ye,{children:[t(or,{children:o.map(({id:a,title:o,value:l})=>e(lr,{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(lr,{children:[t(v,{size:b.XXXS,color:n.v2.colors.silver[200],children:De}),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:Be,method:ht,description:Ue,value:`${e.rule.percentageAtLeast}%`}:{title:Be,method:ft,description:null,value:null};case"noisy":return null!=e.rule.percentageAtMost?{title:_e,method:ht,description:je,value:`${e.rule.percentageAtMost}%`}:{title:_e,method:gt,description:null,value:null};case"costReduction":return{title:_e,method:ht,description:je,value:`${e.rule.percentageAtMost}%`}}}(a),[a]),l=[{id:"method",title:mt,value:o.method},...null!=o.description?[{id:"value",title:o.description,value:o.value}]:[]];return t(ye,{richTitle:{title:o.title},children:t(or,{children:l.map(({id:a,title:o,value:l})=>e(lr,{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`
159
- display: flex;
160
- flex-direction: column;
161
- gap: 4px;
162
- `,ur=p.div`
25
+ `,wi=p.div`
163
26
  display: flex;
164
27
  align-items: center;
165
- gap: 8px;
28
+ justify-content: center;
166
29
  padding: 8px;
167
30
  border-radius: 8px;
168
- background-color: ${({theme:e})=>e.v2.colors.silver[900]};
169
- `,pr=p.div`
170
- display: flex;
171
- width: 24px;
172
- height: 24px;
173
- justify-content: center;
174
- align-items: center;
175
- flex-shrink: 0;
176
- `,mr={[Qe.JavaScript]:"Node.js",[Qe.DotNet]:".NET",[Qe.Php]:"PHP",[Qe.Java]:"Java",[Qe.Go]:"Go",[Qe.Python]:"Python",[Qe.Ruby]:"Ruby",[Qe.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(ye,{richTitle:{title:Ke},children:a.length?t(dr,{children:a.map((a,o)=>function(a,n,o){if(a.workloadLanguage){const l=de(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:Ge,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=hl(),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`
177
- display: flex;
178
- gap: 12px;
179
- `,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(ye,{richTitle:{title:et},children:e("div",{children:[t(v,{size:b.XXXS,color:n.v2.colors.silver[200],children:tt}),t(v,{size:b.XS,children:`${a.durationAtLeastMs}ms`})]})})}),l&&t("div",{style:{flex:1},children:t(ye,{richTitle:{title:ot},children:t(A,{name:"sampling-view-toggle-keep-errors",onChange:Tr,value:!0,size:rt.S,label:lt,labelAlign:I.Right})})})]}):null},Nr=({summary:e})=>t(xl,{title:ct,summary:e}),Ar="Kafka topic",Ir="Any method";const Er=({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:bt,value:vt},{id:"route",title:Oe,value:t.httpServer.route||t.httpServer.routePrefix||ut},{id:"method",title:mt,value:t.httpServer.method||Ir}];if(t?.httpClient){const e=[{id:"type",title:bt,value:yt}];return t.httpClient.serverAddress&&e.push({id:"serverAddress",title:"Server address",value:t.httpClient.serverAddress}),e.push({id:"route",title:Oe,value:t.httpClient.templatedPath||t.httpClient.templatedPathPrefix||ut}),e.push({id:"method",title:mt,value:t.httpClient.method||Ir}),e}return[{id:"type",title:bt,value:St}]}const t=e.rule.operation;return t?.httpServer?[{id:"type",title:bt,value:vt},{id:"route",title:Oe,value:t.httpServer.route||t.httpServer.routePrefix||ut},{id:"method",title:mt,value:t.httpServer.method||Ir}]:t?.kafkaConsumer?[{id:"type",title:bt,value:Ct},{id:"topic",title:Ar,value:t.kafkaConsumer.kafkaTopic||ut}]:t?.kafkaProducer?[{id:"type",title:bt,value:kt},{id:"topic",title:Ar,value:t.kafkaProducer.kafkaTopic||ut}]:[{id:"type",title:bt,value:St}]}(a),[a]);return t(ye,{richTitle:{title:Ae},children:t(or,{children:o.map(({id:a,title:o,value:l})=>e(lr,{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))})})},Rr=()=>{const{data:a,isEditing:n,formData:o,handleChange:l,sourceOptions:r,namespaceOptions:i}=wr();return a?e(h,n?{$gap:12,children:[t(ar,{category:a.category,formState:o,onChange:l}),t(Xo,{category:a.category,formState:o,onChange:l}),t(ml,{formState:o,onChange:l,sourceOptions:r,namespaceOptions:i}),t(Yo,{category:a.category,formState:o,onChange:l}),"highlyRelevant"===a.category&&t(kl,{ruleType:o.ruleType,formState:o,onChange:l}),t(al,{category:a.category,formState:o,onChange:l})]}:{$gap:12,children:[t(Nr,{summary:a.summary}),t(sr,{data:a}),t(gr,{scopes:a.rule.sourceScopes??[]}),t(Er,{data:a}),"highlyRelevant"===a.category&&t(Dr,{rule:a.rule}),t(cr,{data:a})]}):null},Pr=s({localEnabled:!1,setLocalEnabled:()=>{},percentagePreset:"50",setPercentagePreset:()=>{},customPercentage:"",setCustomPercentage:()=>{},resolvedPercentage:0,summary:[]});function $r(e){const t=String(e);return"50"===t||"25"===t||"10"===t||"1"===t?t:"custom"}const Or=({enabled:e,keepPercentage:a,children:o})=>{const[r,i]=l(e),[s,d]=l(()=>$r(a)),[u,p]=l(()=>"custom"===$r(a)?String(a):"");n(()=>{i(e);const t=$r(a);d(t),p("custom"===t?String(a):"")},[e,a]);const m=c(()=>"custom"===s?Number(u)||0:Number(s),[s,u]),h=c(()=>Hl({enabled:r,keepPercentage:m}),[r,m]);return t(Pr.Provider,{value:{localEnabled:r,setLocalEnabled:i,percentagePreset:s,setPercentagePreset:d,customPercentage:u,setCustomPercentage:p,resolvedPercentage:m,summary:h},children:o})},Mr=()=>i(Pr),Fr=[{value:"50",label:"50%"},{value:"25",label:"25%"},{value:"10",label:"10%"},{value:"1",label:"1%"},{value:"custom",label:"Custom"}],Lr=()=>{const{localEnabled:a,setLocalEnabled:n,percentagePreset:o,setPercentagePreset:l,customPercentage:i,setCustomPercentage:s,summary:c}=Mr(),d=r(e=>l(e),[l]),u=r(e=>s(e.target.value),[s]);return e(h,{$gap:12,children:[t(xl,{title:a?void 0:wt,summary:c,renderAction:()=>t(A,{name:"sampling-auto-toggle-enabled",value:a,onChange:n,size:rt.S,label:Tt,labelAlign:I.Right})}),e(ye,{richTitle:{title:xt,subTitle:Ve},children:[t(v,{size:b.XXXS,children:Ue}),e(rr,{children:[t(B,{size:we.S,options:Fr,selected:o,setSelected:d}),"custom"===o&&t(w,{name:"sampling-auto-input-custom-percentage",label:He,placeholder:"5%",type:T.Number,value:i,onChange:u,width:160})]})]})]})},zr=s({localEnabled:!1,setLocalEnabled:()=>{},summary:[]}),Vr=({enabled:e,children:a})=>{const[o,r]=l(e);n(()=>{r(e)},[e]);const i=c(()=>Kl(o?{disabled:!1}:null),[o]);return t(zr.Provider,{value:{localEnabled:o,setLocalEnabled:r,summary:i},children:a})},Xr=()=>i(zr),Br=()=>{const{localEnabled:e,setLocalEnabled:a,summary:n}=Xr();return t(xl,{title:e?void 0:Dt,summary:n,renderAction:()=>t(A,{name:"sampling-hr-auto-toggle-enabled",value:e,onChange:a,size:rt.S,label:Tt,labelAlign:I.Right})})},_r=s({localEnabled:!1,setLocalEnabled:()=>{},percentagePreset:"50",setPercentagePreset:()=>{},customPercentage:"",setCustomPercentage:()=>{},resolvedPercentage:0,summary:[]});function Ur(e){const t=String(e);return"50"===t||"25"===t||"10"===t||"1"===t?t:"custom"}const jr=({enabled:e,dropPercentage:a,children:o})=>{const[r,i]=l(e),[s,d]=l(()=>Ur(a)),[u,p]=l(()=>"custom"===Ur(a)?String(a):"");n(()=>{i(e);const t=Ur(a);d(t),p("custom"===t?String(a):"")},[e,a]);const m=c(()=>"custom"===s?Number(u)||0:Number(s),[s,u]),h=c(()=>ql(r?{disabled:!1,percentageAtMost:m}:null),[r,m]);return t(_r.Provider,{value:{localEnabled:r,setLocalEnabled:i,percentagePreset:s,setPercentagePreset:d,customPercentage:u,setCustomPercentage:p,resolvedPercentage:m,summary:h},children:o})},Hr=()=>i(_r),Wr=[{value:"50",label:"50%"},{value:"25",label:"25%"},{value:"10",label:"10%"},{value:"1",label:"1%"},{value:"custom",label:"Custom"}],Kr=()=>{const{localEnabled:a,setLocalEnabled:n,percentagePreset:o,setPercentagePreset:l,customPercentage:i,setCustomPercentage:s,summary:c}=Hr(),d=r(e=>l(e),[l]),u=r(e=>s(e.target.value),[s]);return e(h,{$gap:12,children:[t(xl,{title:a?void 0:Nt,summary:c,renderAction:()=>t(A,{name:"sampling-cr-auto-toggle-enabled",value:a,onChange:n,size:rt.S,label:Tt,labelAlign:I.Right})}),e(ye,{richTitle:{title:At,subTitle:Xe},children:[t(v,{size:b.XXXS,children:It}),e(rr,{children:[t(B,{size:we.S,options:Wr,selected:o,setSelected:d}),"custom"===o&&t(w,{name:"sampling-cr-auto-input-custom-percentage",label:He,placeholder:"5%",type:T.Number,value:i,onChange:u,width:160})]})]})]})},Gr=p.div`
31
+ background-color: ${({theme:e})=>e.v2.colors.white[500]+Ce["004"]};
32
+ `,ki=({dataId:a,icon:n,title:i,description:o,withCarret:l,purpleColors:s,disabled:r,children:c,isSelected:d,onClick:u,isChecked:p,isPartiallyChecked:h,onCheckboxChange:b})=>{const y=m();return e(Si,{"data-id":a||`list-item-${i}`,$isSelected:d,$purpleColors:s,$disabled:r,onClick:()=>!d&&!r&&u(),children:[e(g,{$gap:4,children:[e(D,{$gap:12,children:[b&&t(f,{partiallyChecked:h||!1,value:p||!1,onChange:e=>b(e)}),n&&t(wi,{children:t(n,{size:20})}),t(F,{size:M.XS,children:i})]}),o&&t(F,{size:M.XXXS,color:y.v2.colors.silver[200],children:o})]}),(l||c)&&e(D,{$gap:8,children:[c,l&&t(en,{size:18})]})]})},Ti=p.div`
180
33
  display: flex;
181
34
  align-items: center;
182
35
  gap: 8px;
183
36
  padding: 8px;
184
- `,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}=co(),k=c(()=>(u?Et.filter(e=>e?.label?.toLowerCase().includes(u.toLowerCase())):Et).filter(e=>!!e),[u]),w=c(()=>(u?Rt.filter(e=>e?.label?.toLowerCase().includes(u.toLowerCase())):Rt).filter(e=>!!e),[u]),T=c(()=>{const a=(a,n)=>e(Gr,{children:[t(v,{size:b.XS,color:s.v2.colors.silver[200],children:a}),t(se,{label:n.toString()})]},a),n=e=>{const a=g?.type===e.type;return t(Kn,{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(uo,{},g.type)]:[t(Pt,{$height:"100%",children:t(V,{icon:dn,title:"Action not selected",subTitle:"Please select an action to add"})},"no-data")],[g]);return t(Vn,{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:$t.CREATING_ACTION,subTitle:$t.CREATING_ACTION_SUBTITLE},header:{icon:dn,title:$t.ADD_ACTION,subTitle:$t.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}})},Yr=({testConnection:e})=>{const{activeForm:a}=vo();return{width:"60%",list:a?[t(yo,{testConnection:e},a.option.type)]:[t(Pt,{$height:"100%",children:t(V,{icon:un,title:"Select destination from the list",subTitle:"Add destination so your data has somewhere to go."})},"no-data")]}},Jr=p.div`
37
+ `,Ni=({onClose:a,selectedConnectionIds:n,setSelectedConnectionIds:i,createAction:o,withOverlay:s})=>{const c=m(),[u,p]=l(""),h=d(null),{selectedOption:g,onSelectOption:b,genericForm:f,validateFormData:y,errorMessage:v}=P(),C=r(()=>(u?Se.filter(e=>e?.label?.toLowerCase().includes(u.toLowerCase())):Se).filter(e=>!!e),[u]),S=r(()=>(u?we.filter(e=>e?.label?.toLowerCase().includes(u.toLowerCase())):we).filter(e=>!!e),[u]),w=r(()=>{const a=(a,n)=>e(Ti,{children:[t(F,{size:M.XS,color:c.v2.colors.silver[200],children:a}),t(ie,{label:n.toString()})]},a),n=e=>{const a=g?.type===e.type;return t(ki,{dataId:e.type?`option-${e.type}`:void 0,title:e.label,description:e.description,withCarret:!0,isSelected:a,onClick:()=>{h.current?.clearErrors(),b(e)}},e.type)};return[a("Attributes",C.length),...C.map(n),a("Samplers",S.length),...S.map(n)]},[c,g?.type,C.length,S.length,b]),k=r(()=>g?[t(ii,{},g.type)]:[t(ke,{$height:"100%",children:t(L,{icon:tn,title:"Action not selected",subTitle:"Please select an action to add"})},"no-data")],[g]);return t(zn,{ref:h,isOpen:!0,withOverlay:s,onClose:a,onSave:async()=>{const{errorMessage:e,preparedFormData:t}=y();return e?Promise.resolve({error:e}):await o(t)},disableSave:!g||!f?.isFormDirty,isFormDirty:f?.isFormDirty,hideDirtyNote:!0,errorMessage:v,progress:{title:Te.CREATING_ACTION,subTitle:Te.CREATING_ACTION_SUBTITLE},header:{icon:tn,title:Te.ADD_ACTION,subTitle:Te.ADD_ACTION_DESCRIPTION},connectionIds:n&&i?{value:n,setValue:i}:void 0,search:{value:u,onChange:p},leftColumn:{width:"40%",list:w},rightColumn:{width:"60%",list:k}})},Ai=({testConnection:e})=>{const{activeForm:a}=U();return{width:"60%",list:a?[t(si,{testConnection:e},a.option.type)]:[t(ke,{$height:"100%",children:t(L,{icon:an,title:"Select destination from the list",subTitle:"Add destination so your data has somewhere to go."})},"no-data")]}},Ii=p.div`
185
38
  display: flex;
186
39
  flex-direction: column;
187
40
  padding: 8px;
188
41
  border-radius: 16px;
189
42
  border: ${({$purpleColors:e,theme:t})=>e?`1px solid ${t.v2.colors.purple[500]}`:"1px solid transparent"};
190
43
  background-color: ${({$noBgColor:e,$purpleColors:t,theme:a})=>e?"transparent":t?a.v2.colors.purple[900]:a.v2.colors.silver[800]};
191
- `,Qr=p.div`
44
+ `,Di=p.div`
192
45
  display: flex;
193
46
  align-items: center;
194
47
  justify-content: space-between;
195
48
  gap: 12px;
196
49
  padding: ${({$isOpen:e})=>e?"2px 12px 8px 12px":"2px 12px"};
197
- `,Zr=({title:a,tooltip:n,list:o,noBgColor:r,purpleColors:i})=>{const[s,c]=l(!0);return e(Jr,{"data-id":`collapse-${a}`,$noBgColor:r,$purpleColors:i,children:[e(Qr,{$isOpen:s,children:[e(g,{$gap:10,children:[t(v,{size:b.XS,children:a}),n&&t(te,{text:n,withIcon:!0}),t(se,{label:o.length,status:i?Q.Default:void 0})]}),t(Ot,{icon:s?pn:mn,size:Mt.M,onClick:()=>c(e=>!e)})]}),s?t(h,{children:o.length?u.toArray(o):t(Pt,{$padding:"12px 0",children:t(V,{})})}):null]})},ei=(e,t,a)=>t||a.signalType?e.filter(e=>e.displayName.toLowerCase().includes(t.toLowerCase())&&(!a.signalType||W(e.supportedSignals).includes(a.signalType))):e,ti=({option:e,formData:a,testResult:n,isSelected:o,onSelect:l})=>t(Kn,{icon:zt(e.type).icon,title:a?.name||e.displayName,withCarret:!0,purpleColors:!!a,isSelected:o,onClick:()=>l(),children:n&&t(se,{status:n.succeeded?Q.Success:Q.Error,leftIcon:n.succeeded?hn:cn})}),ai=({listType:e,destinationOptions:a,unsavedDestinations:n})=>{const{activeForm:o,onChangeActiveForm:l}=vo();return a?.length?t(Zr,{title:Lt[e].TITLE,tooltip:Lt[e].DESCRIPTION,list:a.map((a,n)=>t(ti,{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(Zr,{purpleColors:!0,title:Lt[e].TITLE,tooltip:Lt[e].DESCRIPTION,list:n.map(({option:a,formData:n,testResult:r},i)=>t(ti,{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},ni=({isFetchingCategories:e,isFetchingPotentialDestinations:a,destinationsByCategory:n,searchText:o,filters:l})=>{const{unsavedDestinations:r}=vo();return{width:"40%",list:c(()=>{const i=[];r.length&&i.push(t(ai,{listType:H.UNSAVED,unsavedDestinations:r},"unsaved"));for(const e of Object.values(H)){if(l.categoryType&&l.categoryType!==e)continue;const a=ei(n[e],o,l);a.length&&i.push(t(ai,{listType:e,destinationOptions:a},e))}return(e||a)&&i.push(t(Pt,{children:t(Ft,{title:"Fetching destinations",withSpinner:!0})},"loading-more")),i},[r,n,o,l,e,a])}},oi=({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(Vt,{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:we.S,options:i,selected:o.signalType,setSelected:e=>l({...o,signalType:e})})]})};var li;!function(e){e.SELF_HOSTED="self hosted",e.MANAGED="managed"}(li||(li={}));const ri=(e,t)=>{const a=[],n=[],o=[];return e&&e.destinationCategories.categories.forEach(e=>{e.name===li.SELF_HOSTED?n.push(...e.items):e.name===li.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}},ii=({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}=Xt(),{activeForm:k,genericForm:w,formErrorMessage:T,unsavedDestinations:x,setUnsavedDestinations:D}=vo();n(()=>{u&&D(u)},[u]);const[N,A]=l(!0),[I,E]=l(!0),[R,P]=l([]),[$,O]=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 R){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})):[]}});O(t=>({...t,[H.EXISTS]:e}))},[C,R]);const M=r(async()=>{try{A(!0),E(!0);const e=await c();e&&P(e.destinationCategories.categories);const{selfHostedDestinations:t,managedDestinations:a}=ri(e);O(e=>({...e,[H.SELF_HOSTED]:t,[H.MANAGED]:a})),A(!1);const n=await d(),{detectedDestinations:o}=ri(e,n);O(e=>({...e,[H.DETECTED]:o}))}catch(e){}finally{A(!1),E(!1)}},[]);n(()=>{M()},[]);const F=r(async()=>{const e=(await Promise.all(x.map(({option:e,formData:t})=>{const a=Z(t);if(e.id){const t=Object.fromEntries(e.fields.map(e=>[e.name,e.initialValue??""])),n=Object.fromEntries(a.fields.map(e=>[e.key,e.value??""]));if(!Object.keys(t).some(e=>t[e]!==n[e]))return h(e.id,a,i)}return m(a,i)}))).filter(e=>e?.error);if(e.length)return{error:e.map(e=>e?.error).join("\n")}},[x,i,m,h]);return t(Vn,{isOpen:!0,withOverlay:g,disableAnimation:f,onClose:e,onBack:a?()=>a(x):void 0,onNext:o?()=>o(x):void 0,nextIsSkip:!x.length,onSave:F,disableSave:!k&&!x.length,isFetching:N||I,errorMessage:T,isFormDirty:w?.isFormDirty,hideDirtyNote:!0,progress:{title:$t.CREATING_DESTINATION,subTitle:$t.CREATING_DESTINATION_SUBTITLE},header:{icon:un,title:$t.ADD_DESTINATIONS,subTitle:$t.ADD_DESTINATION_DRAWER_DESCRIPTION},connectionIds:i&&s?{value:i,setValue:s}:void 0,search:{value:v,onChange:b},filters:t(oi,{destinationsByCategory:$,filters:y,setFilters:S}),leftColumn:ni({isFetchingCategories:N,isFetchingPotentialDestinations:I,destinationsByCategory:$,searchText:v,filters:y}),rightColumn:Yr({testConnection:p})})},si=({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}=Eo(),v=c(()=>i?Bt.filter(e=>e.label.toLowerCase().includes(i.toLowerCase())):Bt,[i]),b=c(()=>v.map(e=>{const a=p?.type===e.type;return t(Kn,{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(Ro,{},p.type)]:[t(Pt,{$height:"100%",children:t(V,{icon:gn,title:"Instrumentation rule not selected",subTitle:"Please select an instrumentation rule to add"})},"no-data")],[p]);return t(Vn,{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:$t.CREATING_INSTRUMENTATION_RULE,subTitle:$t.CREATING_INSTRUMENTATION_RULE_SUBTITLE},header:{icon:gn,title:$t.ADD_INSTRUMENTATION_RULE,subTitle:$t.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}})},ci=p.div``,di=p.div`
50
+ `,Ei=({title:a,tooltip:n,list:i,noBgColor:o,purpleColors:s})=>{const[r,c]=l(!0);return e(Ii,{"data-id":`collapse-${a}`,$noBgColor:o,$purpleColors:s,children:[e(Di,{$isOpen:r,children:[e(D,{$gap:10,children:[t(F,{size:M.XS,children:a}),n&&t(q,{text:n,withIcon:!0}),t(ie,{label:i.length,status:s?X.Default:void 0})]}),t(Ne,{icon:r?nn:on,size:Ae.M,onClick:()=>c(e=>!e)})]}),r?t(g,{children:i.length?u.toArray(i):t(ke,{$padding:"12px 0",children:t(L,{})})}):null]})},$i=(e,t,a)=>t||a.signalType?e.filter(e=>e.displayName.toLowerCase().includes(t.toLowerCase())&&(!a.signalType||G(e.supportedSignals).includes(a.signalType))):e,Ri=({option:e,formData:a,testResult:n,isSelected:i,onSelect:o})=>t(ki,{icon:$e(e.type).icon,title:a?.name||e.displayName,withCarret:!0,purpleColors:!!a,isSelected:i,onClick:()=>o(),children:n&&t(ie,{status:n.succeeded?X.Success:X.Error,leftIcon:n.succeeded?ln:sn})}),xi=({listType:e,destinationOptions:a,unsavedDestinations:n})=>{const{activeForm:i,onChangeActiveForm:o}=U();return a?.length?t(Ei,{title:Ee[e].TITLE,tooltip:Ee[e].DESCRIPTION,list:a.map((a,n)=>t(Ri,{option:a,isSelected:i?.listType===e&&"number"!=typeof i?.unsavedIdx&&(null!=a.id&&""!==a.id?i?.option.id===a.id:i?.option.type===a.type),onSelect:()=>o({listType:e,option:a})},`${e}-${a.id??a.type}-${n}`))}):n?.length?t(Ei,{purpleColors:!0,title:Ee[e].TITLE,tooltip:Ee[e].DESCRIPTION,list:n.map(({option:a,formData:n,testResult:l},s)=>t(Ri,{option:a,formData:n,testResult:l,isSelected:i?.unsavedIdx===s&&i?.listType===e,onSelect:()=>o({listType:e,option:a,unsavedIdx:s})},`${e}-${s}`))},e):void 0},Oi=({isFetchingCategories:e,isFetchingPotentialDestinations:a,destinationsByCategory:n,searchText:i,filters:o})=>{const{unsavedDestinations:l}=U();return{width:"40%",list:r(()=>{const s=[];l.length&&s.push(t(xi,{listType:Ie.UNSAVED,unsavedDestinations:l},"unsaved"));for(const e of Object.values(Ie)){if(o.categoryType&&o.categoryType!==e)continue;const a=$i(n[e],i,o);a.length&&s.push(t(xi,{listType:e,destinationOptions:a},e))}return(e||a)&&s.push(t(ke,{children:t(De,{title:"Fetching destinations",withSpinner:!0})},"loading-more")),s},[l,n,i,o,e,a])}},Pi=({destinationsByCategory:n,filters:i,setFilters:o})=>{const l=r(()=>Object.values(Ie).map(e=>({id:e,label:e.charAt(0).toUpperCase()+e.slice(1).toLowerCase()})).filter(e=>n[e.id]?.length),[n]),s=r(()=>{const e=Object.values(H).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(Re,{placeholder:"Select category",options:l,values:i.categoryType?[i.categoryType]:[],setValues:e=>o({...i,categoryType:i.categoryType===e[0]?null:e[0]})}),t(B,{size:xe.S,options:s,selected:i.signalType,setSelected:e=>o({...i,signalType:e})})]})};var Li;!function(e){e.SELF_HOSTED="self hosted",e.MANAGED="managed"}(Li||(Li={}));const Fi=(e,t)=>{const a=[],n=[],i=[];return e&&e.destinationCategories.categories.forEach(e=>{e.name===Li.SELF_HOSTED?n.push(...e.items):e.name===Li.MANAGED&&i.push(...e.items)}),t&&t?.potentialDestinations.forEach(t=>{for(const n of e?.destinationCategories?.categories||[]){const e=Oe(n),i=e.items.findIndex(e=>e.type===t.type);if(-1!==i){const n=Pe(t.fields,{});Object.keys(n).length&&(e.items[i].fields=e.items[i].fields.map(e=>({...e,initialValue:n[e.name]})),a.push(e.items[i]))}}}),{detectedDestinations:a,selfHostedDestinations:n,managedDestinations:i}},Mi=({onClose:e,onBack:a,onNext:i,selectedConnectionIds:o,setSelectedConnectionIds:s,getDestinationCategories:r,getPotentialDestinations:d,initialInputs:u,testConnection:p,createDestination:m,updateDestination:h,withOverlay:g,disableAnimation:b})=>{const[f,y]=l(""),[v,C]=l({categoryType:null,signalType:null}),{destinations:S}=Le(),{activeForm:w,genericForm:k,formErrorMessage:T,unsavedDestinations:N,setUnsavedDestinations:A}=U();n(()=>{u&&A(u)},[u]);const[I,D]=l(!0),[E,$]=l(!0),[R,x]=l([]),[O,P]=l({[Ie.ALL]:[],[Ie.UNSAVED]:[],[Ie.EXISTS]:[],[Ie.DETECTED]:[],[Ie.SELF_HOSTED]:[],[Ie.MANAGED]:[]});n(()=>{const e=S.map(e=>{let t;for(const a of R){const n=a.items.find(t=>t.type===e.destinationType.type);if(n){t=n;break}}const a=Pe(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,[Ie.EXISTS]:e}))},[S,R]);const L=c(async()=>{try{D(!0),$(!0);const e=await r();e&&x(e.destinationCategories.categories);const{selfHostedDestinations:t,managedDestinations:a}=Fi(e);P(e=>({...e,[Ie.SELF_HOSTED]:t,[Ie.MANAGED]:a})),D(!1);const n=await d(),{detectedDestinations:i}=Fi(e,n);P(e=>({...e,[Ie.DETECTED]:i}))}catch(e){}finally{D(!1),$(!1)}},[]);n(()=>{L()},[]);const F=c(async()=>{const e=(await Promise.all(N.map(({option:e,formData:t})=>{const a=K(t);if(e.id){const t=Object.fromEntries(e.fields.map(e=>[e.name,e.initialValue??""])),n=Object.fromEntries(a.fields.map(e=>[e.key,e.value??""]));if(!Object.keys(t).some(e=>t[e]!==n[e]))return h(e.id,a,o)}return m(a,o)}))).filter(e=>e?.error);if(e.length)return{error:e.map(e=>e?.error).join("\n")}},[N,o,m,h]);return t(zn,{isOpen:!0,withOverlay:g,disableAnimation:b,onClose:e,onBack:a?()=>a(N):void 0,onNext:i?()=>i(N):void 0,nextIsSkip:!N.length,onSave:F,disableSave:!w&&!N.length,isFetching:I||E,errorMessage:T,isFormDirty:k?.isFormDirty,hideDirtyNote:!0,progress:{title:Te.CREATING_DESTINATION,subTitle:Te.CREATING_DESTINATION_SUBTITLE},header:{icon:an,title:Te.ADD_DESTINATIONS,subTitle:Te.ADD_DESTINATION_DRAWER_DESCRIPTION},connectionIds:o&&s?{value:o,setValue:s}:void 0,search:{value:f,onChange:y},filters:t(Pi,{destinationsByCategory:O,filters:v,setFilters:C}),leftColumn:Oi({isFetchingCategories:I,isFetchingPotentialDestinations:E,destinationsByCategory:O,searchText:f,filters:v}),rightColumn:Ai({testConnection:p})})},Vi=({onClose:e,selectedConnectionIds:a,setSelectedConnectionIds:n,createInstrumentationRule:i,withOverlay:o})=>{const[s,c]=l(""),u=d(null),{selectedOption:p,onSelectOption:m,genericForm:h,validateFormData:g,errorMessage:b}=ne(),f=r(()=>s?Fe.filter(e=>e.label.toLowerCase().includes(s.toLowerCase())):Fe,[s]),y=r(()=>f.map(e=>{const a=p?.type===e.type;return t(ki,{dataId:`option-${e.type}`,title:e.label,description:e.description,withCarret:!0,isSelected:a,onClick:()=>{u.current?.clearErrors(),m(e)}},e.type)}),[p,f.length,m]),v=r(()=>p?[t(gi,{},p.type)]:[t(ke,{$height:"100%",children:t(L,{icon:rn,title:"Instrumentation rule not selected",subTitle:"Please select an instrumentation rule to add"})},"no-data")],[p]);return t(zn,{ref:u,isOpen:!0,withOverlay:o,onClose:e,onSave:async()=>{const{errorMessage:e,preparedFormData:t}=g();return e?Promise.resolve({error:e}):await i(t)},disableSave:!p||!h?.isFormDirty,isFormDirty:h?.isFormDirty,hideDirtyNote:!0,errorMessage:b,progress:{title:Te.CREATING_INSTRUMENTATION_RULE,subTitle:Te.CREATING_INSTRUMENTATION_RULE_SUBTITLE},header:{icon:rn,title:Te.ADD_INSTRUMENTATION_RULE,subTitle:Te.ADD_INSTRUMENTATION_RULE_DESCRIPTION},connectionIds:a&&n?{value:a,setValue:n}:void 0,search:{value:s,onChange:c},leftColumn:{width:"40%",list:y},rightColumn:{width:"60%",list:v}})},Bi=p.div``,zi=p.div`
198
51
  visibility: hidden;
199
52
 
200
53
  transition: visibility 0s;
@@ -202,19 +55,31 @@ import{jsxs as e,jsx as t,Fragment as a}from"react/jsx-runtime";import{useEffect
202
55
  transition-duration: 0s;
203
56
  }
204
57
 
205
- ${ci}:hover & {
58
+ ${Bi}:hover & {
206
59
  visibility: visible;
207
60
  }
208
- `,ui=({workloadName:e,workloadKind:a,isChecked:n,onToggle:o,disabled:l,disabledReason:r})=>{const i=m(),s=()=>{};return t(ci,{children:t(Kn,{dataId:`source-${e}`,title:e,disabled:l,onClick:l?s:o,isChecked:n,onCheckboxChange:l?s:o,children:l&&r?t(se,{label:r,status:Q.Default,textSize:b.XXXS}):t(di,{children:t(se,{label:a,status:Q.Info,textSize:b.XXXS,backgroundColor:i.v2.colors.blue[900]})})})})},pi=({formData:a,handleSourceChange:n,handleSelectAll:o,selectedArea:l,searchText:r,searchBy:i,filters:s})=>{const{tier:d}=ue(),u=d===ve.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=>ge(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&&he.has(r);return t(ui,{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(te,{text:y?$t.FILTERED_COUNT_TOOLTIP:void 0,children:t(se,{label:`${y?`${S} / ${C}`:C}`,status:_t.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(Pt,{$height:"100%",children:t(V,{icon:fn,title:$t.SELECT_NAMESPACE,subTitle:$t.SELECT_NAMESPACE_SUBTITLE})},"no-data")]}},mi=p.div``,hi=p.div`
61
+ `,_i=({workloadName:e,workloadKind:a,isChecked:n,onToggle:i,disabled:o,disabledReason:l})=>{const s=m(),r=()=>{};return t(Bi,{children:t(ki,{dataId:`source-${e}`,title:e,disabled:o,onClick:o?r:i,isChecked:n,onCheckboxChange:o?r:i,children:o&&l?t(ie,{label:l,status:X.Default,textSize:M.XXXS}):t(zi,{children:t(ie,{label:a,status:X.Info,textSize:M.XXXS,backgroundColor:s.v2.colors.blue[900]})})})})},Ui=({formData:a,handleSourceChange:n,handleSelectAll:i,selectedArea:o,searchText:l,searchBy:s,filters:c})=>{const{tier:d}=Me(),u=d===_e.Onprem,p=r(()=>o.value.namespaceName?a.find(({clusterId:e})=>e===o.value.clusterId)?.namespaces.find(({name:e})=>e===o.value.namespaceName):void 0,[a,o.value.clusterId,o.value.namespaceName]),m=r(()=>p?[...p.workloads].sort((e,t)=>e.name.localeCompare(t.name)).filter(e=>Ve(e,l,c)):[],[p,l,c]),h=r(()=>!!m.length&&m.every(({selected:e})=>e),[m]),g=r(()=>{if(!p)return[];const{clusterId:e}=o.value,{name:a}=p;return m.map(({name:i,selected:o,kind:l})=>{const s=!u&&Be.has(l);return t(_i,{workloadName:i,workloadKind:l,isChecked:!s&&(o||!1),onToggle:()=>n({clusterId:e,workloadId:{namespace:a,name:i,kind:l}}),disabled:s,disabledReason:"Enterprise only"},`${e}#${a}#${i}#${l}`)})},[m,p,o.value.clusterId]),{withFilterCount:b,filteredCount:f,totalCount:y}=r(()=>{const e=p?.workloads.length??0;return{withFilterCount:m.length!==e,filteredCount:m.length,totalCount:e}},[m,p]);return{width:"40%",header:e(D,{$width:"100%",$gap:12,$justifyContent:"space-between",children:[e(D,{$gap:8,children:[t(F,{size:M.XS,nowrap:!0,children:o.value.namespaceName?`${o.value.namespaceName} > Workloads`:"Workloads"}),t(q,{text:b?Te.FILTERED_COUNT_TOOLTIP:void 0,children:t(ie,{label:`${b?`${f} / ${y}`:y}`,status:ze.Unknown})})]}),t(F,{"data-id":"workloads-select-all",onClick:()=>i({clusterId:o.value.clusterId,namespaceName:o.value.namespaceName,boolean:!h,searchText:l,searchBy:s,filters:c}),disabled:!g.length,size:M.XS,children:(h?"Unselect":"Select")+" all"})]}),list:g.length?g:[t(ke,{$height:"100%",children:t(L,p?l?{icon:cn,title:"No matches",subTitle:`No sources matched the filter '${l}'`}:{icon:cn,title:"No sources",subTitle:"No sources found in this namespace"}:{icon:cn,title:Te.SELECT_NAMESPACE,subTitle:Te.SELECT_NAMESPACE_SUBTITLE})},"no-data")]}},ji=p.div``,Xi=p.div`
209
62
  visibility: ${({$visible:e})=>e?"visible":"hidden"};
210
63
 
211
64
  transition: visibility 0s;
212
65
  ${({$visible:e})=>!e&&"& * {\n transition-duration: 0s !important;\n }"}
213
66
 
214
- ${mi}:hover & {
67
+ ${ji}:hover & {
215
68
  visibility: visible;
216
69
  }
217
- `,gi=({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(mi,{children:t(Kn,{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(hi,{$visible:i||l,children:t(te,{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:rt.S,value:l,onChange:e=>u({auto:e,all:e||void 0})})})}),e(g,{$gap:8,children:[t(v,{variant:Ut.Span,size:b.XXXS,color:d.v2.colors.silver[200],align:"right",children:"Selected"}),t(se,{label:`${r.sourced}/${r.total}`,status:i?Q.Default:_t.Unknown,minWidth:"42px"})]})]})})})},fi=({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(gi,{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(Zr,{title:n,list:s,noBgColor:!0}):s},vi=({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=>fe(e,s,u)).map(e=>({name:e.name,totalWorkloads:e.workloads.length,...jt(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(fi,{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(te,{text:f?$t.FILTERED_COUNT_TOOLTIP:void 0,children:t(se,{label:`${f?`${y} / ${S}`:S}`,status:_t.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(Pt,{$height:"100%",children:t(Ft,{title:$t.FETCHING_NAMESPACES,subTitle:$t.FETCHING_NAMESPACES_SUBTITLE,withSpinner:!0})},"loading")]:[]}},bi=({onClose:a,onBack:n,onNext:o,selectedConnectionIds:r,setSelectedConnectionIds:i,persistSources:s,withOverlay:c,disableAnimation:d})=>{const u=m(),{progress:p,resetProgress:h}=Ht(),{isFetching:f,formData:y,handleSourceChange:S,handleSelectAll:C,formDiff:k,isFormDirty:w}=Oo(),[T,x]=l(""),[D,N]=l(be.Namespace),[I,E]=l({showOnlySelected:!1}),[R,P]=l({clusterId:"",clusterName:"",namespaceName:""});return t(Vn,{isOpen:!0,withOverlay:c,disableAnimation:d,onClose:a?()=>{h(Wt.BulkInstrumenting),a()}:void 0,onBack:n?()=>n(k):void 0,onNext:o?()=>o(k):void 0,nextIsSkip:!w,onSave:()=>s(k),header:{icon:fn,title:$t.ADD_SOURCE,subTitle:$t.ADD_SOURCES_DESCRIPTION},connectionIds:r&&i?{value:r,setValue:i}:void 0,search:{value:T,onChange:e=>{x(e),D===be.Namespace&&P({clusterId:"",clusterName:"",namespaceName:""})},segment:{options:[{label:"Namespace",value:be.Namespace},{label:"Source",value:be.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:rt.S,label:"Selected",value:I.showOnlySelected,onChange:e=>E(t=>({...t,showOnlySelected:e}))})]}),isFormDirty:w,isFetching:f,progress:{title:$t.CREATING_SOURCES,subTitle:$t.CREATING_SOURCES_SUBTITLE,percentage:p[Wt.BulkInstrumenting]?.percentage||0},leftColumn:vi({isFetching:f,formData:y,handleSourceChange:S,handleSelectAll:C,selectedArea:R,setSelectedArea:P,searchText:D===be.Namespace?T:"",searchBy:D,filters:I}),rightColumn:pi({formData:y,handleSourceChange:S,handleSelectAll:C,selectedArea:{value:R},searchText:D===be.Source?T:"",searchBy:D,filters:I})})},yi=({isOpen:e,onClose:a,onSubmit:o,validateForm:l,onNavigateToDuplicate:i})=>{const{category:s,formData:c,resetForm:d,duplicateWarning:u,setDuplicateWarning:p}=vl();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:Gt,variant:O.Secondary,size:$.S,onClick:a},{"data-id":"sampling-create-btn-submit",label:qt,variant:O.Primary,size:$.S,onClick:m,disabled:!!u}]};return t(Kt,{isOpen:e,width:Qt,header:{icon:vn,title:Jt[s],subTitle:Yt[s],onClose:a},footer:h,children:t(Zt,{$padding:"12px",children:t(nr,{})})})},Si=({category:e,sourceOptions:a,namespaceOptions:n,...o})=>t(fl,{category:e,sourceOptions:a,namespaceOptions:n,children:t(yi,{...o})}),Ci=({isOpen:e,onClose:a,onSave:n})=>{const{localEnabled:o,resolvedPercentage:l}=Mr(),i=r(()=>{n(o,l)},[o,l,n]);return t(Kt,{isOpen:e,width:Qt,header:{icon:vn,title:aa,subTitle:ta,onClose:a},footer:{actions:[{"data-id":"sampling-edit-auto-rule-btn-cancel",label:Gt,variant:O.Secondary,size:$.S,onClick:a},{"data-id":"sampling-edit-auto-rule-btn-save",label:ea,variant:O.Primary,size:$.S,onClick:i}]},children:t(Zt,{$padding:"12px",children:t(Lr,{})})})},ki=({enabled:e,keepPercentage:a,...n})=>t(Or,{enabled:e,keepPercentage:a,children:t(Ci,{...n})}),wi=({isOpen:e,onClose:a,onSave:n})=>{const{localEnabled:o}=Xr(),l=r(()=>{n(o)},[o,n]);return t(Kt,{isOpen:e,width:Qt,header:{icon:vn,title:oa,subTitle:na,onClose:a},footer:{actions:[{"data-id":"sampling-edit-highly-relevant-auto-rule-btn-cancel",label:Gt,variant:O.Secondary,size:$.S,onClick:a},{"data-id":"sampling-edit-highly-relevant-auto-rule-btn-save",label:ea,variant:O.Primary,size:$.S,onClick:l}]},children:t(Zt,{$padding:"12px",children:t(Br,{})})})},Ti=({enabled:e,...a})=>t(Vr,{enabled:e,children:t(wi,{...a})}),xi=({isOpen:e,onClose:a,onSave:n})=>{const{localEnabled:o,resolvedPercentage:l}=Hr(),i=r(()=>{n(o,l)},[o,l,n]);return t(Kt,{isOpen:e,width:Qt,header:{icon:vn,title:ra,subTitle:la,onClose:a},footer:{actions:[{"data-id":"sampling-edit-cost-reduction-auto-rule-btn-cancel",label:Gt,variant:O.Secondary,size:$.S,onClick:a},{"data-id":"sampling-edit-cost-reduction-auto-rule-btn-save",label:ea,variant:O.Primary,size:$.S,onClick:i}]},children:t(Zt,{$padding:"12px",children:t(Kr,{})})})},Di=({enabled:e,dropPercentage:a,...n})=>t(jr,{enabled:e,dropPercentage:a,children:t(xi,{...n})}),Ni=({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(Vn,{isOpen:!0,onClose:a,onSave:()=>d(D,r),header:{icon:bn,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:rt.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(se,{label:S.length,status:_t.Unknown})]}),e(g,{$gap:8,children:[t(v,{size:b.XXXS,color:u.v2.colors.silver[200],align:"right",children:"Selected clusters"}),t(se,{label:`${r.length}/${S.length}`,status:_t.Unknown})]})]}),list:S.map(e=>t(Kn,{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")]}})},Ai=({token:n,isLoading:o,isEditing:l,onEdit:r,onCancel:i,onSave:s,formData:c,handleFormChange:d,handleErrorChange:u,formErrors:p})=>{const{CopyButton:m}=ia(),h=!l||o||!c.newToken;return sa({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(Ft,{title:"Saving...",withGradient:!0}):e(a,{children:[t(P,{variant:O.Secondary,size:$.S,leftIcon:cn,onClick:i,disabled:o}),t(P,{variant:O.Primary,size:$.S,leftIcon:hn,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(Ot,{icon:ln,onClick:r})]})]})},Ii=({expiresAt:e,callbackValid:a,callbackExpired:o})=>{const{formatTimeAgo:l}=ca(),r=c(()=>l(e),[e]),i=c(()=>new Date(e).toDateString().split(" ").slice(1).join(" "),[e]),s=c(()=>da(e,0)?Q.Error:da(e,2592e6)?Q.Warning:Q.Success,[e]),d=c(()=>s===Q.Success?hn:s===Q.Warning?yn:Sn,[s]);return n(()=>{s===Q.Success?a():s===Q.Error&&o()},[s]),t(te,{text:i,children:t(se,{leftIcon:d,label:r,status:s,invertColors:!0,useSecondaryTone:!0})})},Ei=p.div`
70
+ `,Hi=({clusterId:a,namespaceName:n,checkbox:i,isFutureApps:o,selectedCounts:l,isActive:s,onActive:r,handleSourceChange:c})=>{const d=m(),u=e=>{r(),c({clusterId:a,workloadId:{namespace:n},auto:e.auto,selected:e.all})};return t(ji,{children:t(ki,{dataId:`namespace-${n}`,withCarret:!0,title:n,isSelected:s,onClick:r,isPartiallyChecked:i.partial,isChecked:i.all,onCheckboxChange:e=>u({auto:e,all:e}),children:e(D,{$gap:12,children:[t(Xi,{$visible:s||o,children:t(q,{text:"Automatically instrument all workloads currently in the namespace, and all workloads that will be deployed to this namespace in the future",children:t(T,{label:"Auto",size:Ue.S,value:o,onChange:e=>u({auto:e,all:e||void 0})})})}),e(D,{$gap:8,children:[t(F,{variant:je.Span,size:M.XXXS,color:d.v2.colors.silver[200],align:"right",children:"Selected"}),t(ie,{label:`${l.sourced}/${l.total}`,status:s?X.Default:ze.Unknown,minWidth:"42px"})]})]})})})},Wi=({withCollapse:e,clusterId:a,clusterName:n,namespaces:i,selectedArea:o,setSelectedArea:l,handleSourceChange:s})=>{const c=r(()=>i.map(({name:e,totalWorkloads:i,selectedCount:r,isAllSourced:c,isSomeSourced:d,isFutureApps:u})=>t(Hi,{clusterId:a,namespaceName:e,isFutureApps:u,checkbox:{all:c,partial:d},selectedCounts:{sourced:r,total:i},isActive:o.clusterId===a&&o.namespaceName===e,onActive:()=>l({clusterId:a,clusterName:n,namespaceName:e}),handleSourceChange:s},`${a}#${e}`)),[a,n,i,o]);return e?t(Ei,{title:n,list:c,noBgColor:!0}):c},Gi=({isFetching:a,formData:n,handleSourceChange:i,handleSelectAll:o,selectedArea:l,setSelectedArea:s,searchText:c,searchBy:d,filters:u})=>{const p=r(()=>n.map(e=>{const t=[...e.namespaces].sort((e,t)=>e.name.localeCompare(t.name)).filter(e=>Xe(e,c,u)).map(e=>({name:e.name,totalWorkloads:e.workloads.length,...He(e)}));return{clusterId:e.clusterId,clusterName:e.clusterName,visibleNamespaces:t}}),[n,c,u]),m=r(()=>{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:g,filteredCount:b,totalCount:f}=r(()=>{const e=p.map(({clusterId:e,clusterName:a,visibleNamespaces:n})=>n.length?t(Wi,{withCollapse:p.length>1,clusterId:e,clusterName:a,namespaces:n,selectedArea:l,setSelectedArea:s,handleSourceChange:i},e):null),a=e.filter(e=>null!==e);return{list:a,withFilterCount:a.length!==e.length,filteredCount:a.length,totalCount:e.length}},[p,l]);return{width:"60%",header:e(D,{$width:"100%",$gap:12,$justifyContent:"space-between",children:[e(D,{$gap:8,children:[t(F,{size:M.XS,nowrap:!0,children:"Namespaces"}),t(q,{text:g?Te.FILTERED_COUNT_TOOLTIP:void 0,children:t(ie,{label:`${g?`${b} / ${f}`:f}`,status:ze.Unknown})})]}),t(F,{"data-id":"namespaces-select-all",onClick:()=>o({boolean:!m,searchText:c,searchBy:d,filters:u}),disabled:!h.length,size:M.XS,children:(m?"Unselect":"Select")+" all"})]}),list:h.length?h:a?[t(ke,{$height:"100%",children:t(De,{title:Te.FETCHING_NAMESPACES,subTitle:Te.FETCHING_NAMESPACES_SUBTITLE,withSpinner:!0})},"loading")]:[t(ke,{$height:"100%",children:t(L,c?{icon:dn,title:"No matches",subTitle:`No namespace matched the filter '${c}'`}:{icon:dn,title:"No namespaces",subTitle:"No namespaces found in this cluster"})},"no-data")]}},Ki=({onClose:a,onBack:i,onNext:o,selectedConnectionIds:s,setSelectedConnectionIds:r,persistSources:c,getAllClusterSnapshots:d,fetchNamespacesWithWorkloads:u,withOverlay:p,disableAnimation:h})=>{const g=m(),{progress:b,resetProgress:f}=We(),{isFetching:y,setIsFetching:v,setSnapshots:C,formData:S,handleSourceChange:w,handleSelectAll:k,formDiff:N,isFormDirty:A}=Ge();n(()=>{let e=!1;v(!0);return(async()=>{try{if(d){const t=await d();!e&&t&&C(t)}else if(u){const t=await u();if(!e&&t.data?.length){const e={clusters:[{clusterId:Je,clusterName:qe,namespaces:t.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}))||[]}))}]};C(e)}}}catch(e){}finally{e||v(!1)}})(),()=>{e=!0}},[]);const[I,E]=l(""),[$,R]=l(Ke.Namespace),[x,O]=l({showOnlySelected:!1}),[P,L]=l({clusterId:"",clusterName:"",namespaceName:""});return t(zn,{isOpen:!0,withOverlay:p,disableAnimation:h,onClose:a?()=>{f(Ye.BulkInstrumenting),a()}:void 0,onBack:i?()=>i(N):void 0,onNext:o?()=>o(N):void 0,nextIsSkip:!A,onSave:()=>c(N),header:{icon:cn,title:Te.ADD_SOURCE,subTitle:Te.ADD_SOURCES_DESCRIPTION},connectionIds:s&&r?{value:s,setValue:r}:void 0,search:{value:I,onChange:e=>{E(e),$===Ke.Namespace&&L({clusterId:"",clusterName:"",namespaceName:""})},segment:{options:[{label:"Namespace",value:Ke.Namespace},{label:"Source",value:Ke.Source}],selected:$,setSelected:R}},filters:e(D,{$gap:8,children:[t(F,{size:M.XXXS,color:g.v2.colors.silver[200],nowrap:!0,children:"Show only:"}),t(T,{name:"filter-selected",size:Ue.S,label:"Selected",value:x.showOnlySelected,onChange:e=>O(t=>({...t,showOnlySelected:e}))})]}),isFormDirty:A,isFetching:y,progress:{title:Te.CREATING_SOURCES,subTitle:Te.CREATING_SOURCES_SUBTITLE,percentage:b[Ye.BulkInstrumenting]?.percentage||0},leftColumn:Gi({isFetching:y,formData:S,handleSourceChange:w,handleSelectAll:k,selectedArea:P,setSelectedArea:L,searchText:$===Ke.Namespace?I:"",searchBy:$,filters:x}),rightColumn:Ui({formData:S,handleSourceChange:w,handleSelectAll:k,selectedArea:{value:P},searchText:$===Ke.Source?I:"",searchBy:$,filters:x})})},Yi=({onClose:i,actionId:o,updateAction:s,deleteAction:d})=>{const u=m(),{actions:p}=Le(),{selectedOption:h,loadAction:b,validateFormData:f}=P(),[y,v]=l(!1),[C,S]=l(!1),w=r(()=>p?.find(e=>Qe(e)===o),[o,p]),T=r(()=>Se.find(({type:e})=>e===w?.type)??we.find(({type:e})=>e===w?.type)??null,[w?.type]);n(()=>{w&&b(w)},[w]);const N=c(()=>{w&&v(!0)},[w]),A=c(()=>{w&&(b(w),v(!1))},[w,b]),I=c(async()=>{if(w){const{errorMessage:e,preparedFormData:t}=f();e||(await s(w.id,t),v(!1))}},[w,f,s]),D=c(()=>{w&&S(!0)},[w]),E=c(async()=>{w&&(await d(w.id,w.type),i())},[w,d,i]);if(!w||!T)return null;const $=(e=>{const t=[],{type:a,fields:n}=e,i=e=>({status:e?X.Success:ze.Unknown,label:e?"True":"False",invertColors:!0});return a===O.K8sAttributes&&(t.push({id:"collectContainerAttributes",title:"Collect Container Attributes",badge:i(n.collectContainerAttributes)}),t.push({id:"collectReplicaSetAttributes",title:"Collect ReplicaSet Attributes",badge:i(n.collectReplicaSetAttributes)}),t.push({id:"collectWorkloadId",title:"Collect Workload ID",badge:i(n.collectWorkloadId)}),t.push({id:"collectClusterId",title:"Collect Cluster ID",badge:i(n.collectClusterId)}),n.labelsAttributes?.forEach(({labelKey:e,attributeKey:a,from:i,fromSources:o},l)=>{const s=o?.length?o.join(", "):i||k.Pod,r=(n.labelsAttributes?.length??0)>1?`Label #${l+1} `:"Label ";t.push({id:`label-${l}-key`,title:`${r}Key`,label:e}),t.push({id:`label-${l}-attr`,title:`${r}Attribute Key`,label:a}),t.push({id:`label-${l}-from`,title:`${r}From`,label:s})}),n.annotationsAttributes?.forEach(({annotationKey:e,attributeKey:a,from:i,fromSources:o},l)=>{const s=o?.length?o.join(", "):i||k.Pod,r=(n.annotationsAttributes?.length??0)>1?`Annotation #${l+1} `:"Annotation ";t.push({id:`annotation-${l}-key`,title:`${r}Key`,label:e}),t.push({id:`annotation-${l}-attr`,title:`${r}Attribute Key`,label:a}),t.push({id:`annotation-${l}-from`,title:`${r}From`,label:s})})),a===O.AddClusterInfo&&(t.push({id:"overwriteExistingValues",title:"Overwrite Existing Values",badge:i(n.overwriteExistingValues)}),n.clusterAttributes?.forEach(({attributeName:e,attributeStringValue:a},n)=>{t.push({id:`cluster-attr-${n}`,title:e,label:a})})),a===O.DeleteAttributes&&n.attributeNamesToDelete?.forEach((e,a)=>{t.push({id:`del-attr-${a}`,title:"Attribute"+((n.attributeNamesToDelete?.length??0)>1?` #${a+1}`:""),label:e})}),a===O.RenameAttributes&&Object.entries(n.renames||{}).forEach(([e,a],n)=>{t.push({id:`rename-${n}`,title:e,label:a})}),a===O.PiiMasking&&n.piiCategories?.forEach((e,a)=>{t.push({id:`pii-${a}`,title:"Category"+((n.piiCategories?.length??0)>1?` #${a+1}`:""),label:e})}),a===O.ErrorSampler&&t.push({id:"fallbackSamplingRatio",title:"Sampling Ratio",label:String(n.fallbackSamplingRatio??"-")}),a===O.ProbabilisticSampler&&t.push({id:"samplingPercentage",title:"Sampling Percentage",label:String(n.samplingPercentage??"-")}),a===O.LatencySampler&&n.endpointsFilters?.forEach(({serviceName:e,httpRoute:a,minimumLatencyThreshold:i,fallbackSamplingRatio:o},l)=>{const s=(n.endpointsFilters?.length??0)>1?`Endpoint #${l+1} `:"Endpoint ";t.push({id:`endpoint-${l}-service`,title:`${s}Service Name`,label:e}),t.push({id:`endpoint-${l}-route`,title:`${s}HTTP Route`,label:a}),t.push({id:`endpoint-${l}-latency`,title:`${s}Min. Latency`,label:String(i)}),t.push({id:`endpoint-${l}-fallback`,title:`${s}Fallback Sampling Ratio`,label:String(o)})}),a===O.ServiceNameSampler&&n.servicesNameFilters?.forEach(({serviceName:e,samplingRatio:a,fallbackSamplingRatio:i},o)=>{const l=(n.servicesNameFilters?.length??0)>1?`Filter #${o+1} `:"Filter ";t.push({id:`service-${o}-name`,title:`${l}Service Name`,label:e}),t.push({id:`service-${o}-ratio`,title:`${l}Sampling Ratio`,label:String(a)}),t.push({id:`service-${o}-fallback`,title:`${l}Fallback Sampling Ratio`,label:String(i)})}),a===O.SpanAttributeSampler&&n.attributeFilters?.forEach(({serviceName:e,attributeKey:a,fallbackSamplingRatio:i,condition:o},l)=>{const s=Object.keys(o)[0],r=o[s],c=(n.attributeFilters?.length??0)>1?`Filter #${l+1} `:"Filter ";t.push({id:`attr-${l}-service`,title:`${c}Service Name`,label:e}),t.push({id:`attr-${l}-key`,title:`${c}Attribute Key`,label:a}),t.push({id:`attr-${l}-fallback`,title:`${c}Fallback Sampling Ratio`,label:String(i)}),t.push({id:`attr-${l}-condition`,title:`${c}Condition`,label:s}),t.push({id:`attr-${l}-operation`,title:`${c}Operation`,label:r?.operation??"-"}),t.push({id:`attr-${l}-expected`,title:`${c}Expected Value`,label:String(r?.expectedValue??"-")}),"jsonCondition"===s&&t.push({id:`attr-${l}-jsonpath`,title:`${c}JSON Path`,label:r?.jsonPath??"-"})}),a===O.URLTemplatization&&n.urlTemplatizationRulesGroups?.forEach((e,a)=>{const i=(n.urlTemplatizationRulesGroups?.length??0)>1?`Group #${a+1} `:"Group ";e.filterK8sNamespace&&t.push({id:`group-${a}-ns`,title:`${i}Namespace`,label:e.filterK8sNamespace}),e.workloadFilters?.forEach((n,o)=>{const l=[n.kind,n.name].filter(Boolean).join("/");l&&t.push({id:`group-${a}-wf-${o}`,title:`${i}Workload${(e.workloadFilters?.length??0)>1?` #${o+1}`:""}`,label:l})});const o=e.templatizationRules?.map(e=>e.template).filter(Boolean).join(", ");o&&t.push({id:`group-${a}-templates`,title:`${i}Templates`,label:o}),e.notes&&t.push({id:`group-${a}-notes`,title:`${i}Notes`,label:e.notes})}),t})(w);return e(a,{children:[t(Ze,{isOpen:!0,header:{icon:it(w.type),title:T.label,onClose:i,actions:[{id:"edit-action-btn-edit",label:et.EDIT,icon:Ja,active:y,onClick:N},{id:"edit-action-btn-delete",label:et.DELETE,icon:Ha,color:u.v2.colors.red[500],active:C,onClick:D}]},footer:{actions:y?[{"data-id":"edit-action-btn-cancel",label:et.CANCEL,variant:R.Secondary,onClick:A},{"data-id":"edit-action-btn-save",label:et.SAVE,variant:R.Primary,onClick:I}]:[]},children:t(tt,{$padding:"4px 12px 12px",children:y&&h?t(ii,{}):t(g,{$gap:16,children:e(at,{bgTint:"1000",children:[e(at,{bgTint:"900",children:[t(nt,{conditions:w.conditions||[]}),t(at,{bgTint:"800",cellsPerRow:2,items:(x=w,L=T,[{id:"type",title:Te.TYPE,label:L.label},{id:"status",title:Te.STATUS,badge:{status:x.disabled?ze.Unknown:X.Success,label:x.disabled?Te.DISABLED:Te.ENABLED}},{id:"signals",title:Te.SIGNALS_FOR_PROCESSING,label:x.signals?.map(e=>{let t=e.toLowerCase();return t=`${t.charAt(0).toUpperCase()}${t.slice(1)}`,t}).join(", ")||"-"},{id:"name",title:Te.NAME,label:x.name||"-"},{id:"notes",title:Te.NOTES,label:x.notes||"-"}])})]}),!!$?.length&&t(at,{bgTint:"900",richTitle:{title:"Configuration"},withCollapse:!0,collapseIsDefaultOpen:!0,children:t(at,{bgTint:"800",cellsPerRow:2,items:$})})]})})})}),t(_n,{target:"action",isOpen:C,onClose:()=>S(!1),onApprove:E})]});var x,L},qi=({onClose:a,connections:i,selectedConnectionIds:o,setSelectedConnectionIds:s,getEffectiveConfig:c,onApply:d})=>{const u=m(),[p,h]=l(""),[g,b]=l({showOnlySelected:!1}),f=r(()=>i.filter(e=>{const t=!p||e.name.toLowerCase().includes(p.toLowerCase()),a=!g.showOnlySelected||g.showOnlySelected&&o.includes(e.id);return t&&a}),[i.length,o.length,p,g]),y=e=>{s(t=>t.includes(e)?t.filter(t=>t!==e):[...t,e])},[v,C]=l(!1),[S,w]=l(void 0),{formData:k,handleFormChange:N,areFormValuesEqual:A,resetFormData:I}=ot(S||{rollout:{automaticRolloutDisabled:!1}}),E=r(()=>o.length>1||void 0!==S&&!A(S,k),[o.length,S,k]);return n(()=>{1===o.length?(async e=>{if(v)return;C(!0);const t=await c(e);if(t){const e={rollout:{automaticRolloutDisabled:t.rollout?.automaticRolloutDisabled??!1}};w(e),I(e)}C(!1)})(o[0]):w(void 0)},[o.length]),t(zn,{isOpen:!0,onClose:a,onSave:()=>d(k,o),header:{icon:un,title:"Cluster Configuration"},connectionIds:{value:o,setValue:s},search:{placeholder:"Search by cluster name",value:p,onChange:h},filters:e(D,{$gap:8,children:[t(F,{size:M.XXXS,color:u.v2.colors.silver[200],nowrap:!0,children:"Show only:"}),t(T,{size:Ue.S,label:"Selected",value:g.showOnlySelected,onChange:e=>b(t=>({...t,showOnlySelected:e}))})]}),isFormDirty:E,isFetching:v,leftColumn:{width:"35%",header:e(D,{$width:"100%",$gap:12,$justifyContent:"space-between",children:[e(D,{$gap:8,children:[t(F,{size:M.XS,children:"Clusters"}),t(ie,{label:f.length,status:ze.Unknown})]}),e(D,{$gap:8,children:[t(F,{size:M.XXXS,color:u.v2.colors.silver[200],align:"right",children:"Selected clusters"}),t(ie,{label:`${o.length}/${f.length}`,status:ze.Unknown})]})]}),list:f.map(e=>t(ki,{title:e.name,isChecked:o.includes(e.id),onClick:()=>y(e.id),onCheckboxChange:()=>y(e.id)},e.id))},rightColumn:{width:"65%",header:t(F,{size:M.XS,children:"Configurations"}),list:[t(T,{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:k.rollout?.automaticRolloutDisabled||!1,onChange:e=>N("rollout.automaticRolloutDisabled",e)},"automatic-rollout-disabled")]}})},Ji=({onClose:i,destinationId:o,getDestinationCategories:s,testConnection:u,updateDestination:p,deleteDestination:h})=>{const b=m(),{destinations:f}=Le(),{selectedStreamName:y}=st(),{activeForm:v,loadDestination:C,validateFormData:S}=U(),w=d(null),[k,T]=l(!1),[N,A]=l(!1),[I,D]=l(null),[E,$]=l(!0),x=r(()=>rt(f,y),[f,y]),O=r(()=>x?.find(e=>Qe(e)===o),[o,x]);n(()=>{let e=!1;return $(!0),s().then(t=>{e||D(t?.destinationCategories.categories??[])}).catch(t=>{e||D([])}).finally(()=>{e||$(!1)}),()=>{e=!0}},[]),n(()=>{O&&I&&C(O,I)},[O,I]);const P=r(()=>O&&I?ct(I,O):[],[O,I]),L=c(()=>{O&&T(!0)},[O]),F=c(()=>{O&&I&&(C(O,I),T(!1))},[O,I,C]),M=c(async()=>{if(O){const{errorMessage:e,preparedFormData:t}=S();e||(await p(O.id,K(t)),T(!1))}},[O,S,p]),V=c(()=>{O&&A(!0)},[O]),B=c(async()=>{O&&(await h(O.id),i())},[O,h,i]);if(!O)return null;const{icon:z,iconSrc:j}=$e(O.destinationType.type),H=((e,t)=>{const a=[],n=lt(e,t),i=n.map(e=>({name:e.key,value:e.value})),o=W(e.exportedSignals);return n.forEach(({key:e,name:n,value:l})=>{const s=t.find(t=>t.name===e),{secret:r,componentProperties:c,hideFromReadData:d,customReadDataLabels:u}=s||{};if(d?.length&&_(d,o,i))return;const{type:p}=Pe(c,{type:""}),m=(r||"password"===p)&&l?.length?new Array(10).fill("•").join(""):"";u?.length?u.forEach(({condition:t,...n},i)=>{t==l&&a.push({id:`${e}-custom-${i}`,title:n.title,label:n.value})}):a.push({id:e,title:n,label:m||l||"-"})}),a})(O,P);return e(a,{children:[t(Ze,{isOpen:!0,header:{icon:z,iconSrc:j,title:O.name||O.destinationType.displayName,onClose:i,actions:[{id:"edit-destination-btn-edit",label:et.EDIT,icon:Ja,active:k,onClick:L},{id:"edit-destination-btn-delete",label:et.DELETE,icon:Ha,color:b.v2.colors.red[500],active:N,onClick:V}]},footer:{actions:k?[{"data-id":"edit-destination-btn-cancel",label:et.CANCEL,variant:R.Secondary,onClick:F},...v?.option.testConnectionSupported?[{"data-id":"edit-destination-btn-test-connection",label:et.TEST_CONNECTION,variant:R.Secondary,onClick:()=>w.current?.testConnection()}]:[],{"data-id":"edit-destination-btn-save",label:et.SAVE,variant:R.Primary,onClick:M}]:[]},children:t(tt,{$padding:"4px 12px 12px",children:E?t(ke,{$height:"50vh",children:t(De,{withSpinner:!0})}):k&&v?t(si,{ref:w,isEdit:!0,testConnection:u}):t(g,{$gap:16,children:e(at,{bgTint:"1000",children:[e(at,{bgTint:"900",children:[t(nt,{conditions:O.conditions||[]}),t(at,{bgTint:"800",cellsPerRow:2,items:(G=O,[{id:"type",title:Te.TYPE,label:G.destinationType.displayName},{id:"status",title:Te.STATUS,badge:{status:G.disabled?ze.Unknown:X.Success,label:G.disabled?Te.DISABLED:Te.ENABLED}},{id:"monitors",title:Te.MONITORS,label:W(G.exportedSignals).map(e=>{let t=e.toLowerCase();return t=`${t.charAt(0).toUpperCase()}${t.slice(1)}`,t}).join(", ")||"-"},{id:"name",title:Te.NAME,label:G.name||"-"}])})]}),!!H?.length&&t(at,{bgTint:"900",richTitle:{title:"Configuration"},withCollapse:!0,collapseIsDefaultOpen:!0,children:t(at,{bgTint:"800",cellsPerRow:2,items:H})})]})})})}),t(_n,{target:"destination",isOpen:N,onClose:()=>A(!1),onApprove:B})]});var G},Qi=({onClose:i,ruleId:o,updateInstrumentationRule:s,deleteInstrumentationRule:d})=>{const u=m(),{instrumentationRules:p}=Le(),{addNotification:h}=ut(),{selectedOption:b,loadRule:f,validateFormData:y}=ne(),[v,C]=l(!1),[S,w]=l(!1),k=r(()=>p?.find(e=>Qe(e)===o),[o,p]),T=r(()=>Fe.find(({type:e})=>e===k?.type)??null,[k?.type]);n(()=>{k&&f(k)},[k]);const N=c(()=>{if(k){if(!k.mutable)return void h({type:X.Warning,title:pt.FORBIDDEN,message:pt.CANNOT_EDIT_RULE,crdType:Ke.InstrumentationRule,target:k.ruleId,hideFromHistory:!0});C(!0)}},[k,h]),A=c(()=>{k&&(f(k),C(!1))},[k,f]),I=c(async()=>{if(k){const{errorMessage:e,preparedFormData:t}=y();e||(await s(k.ruleId,t),C(!1))}},[k,y,s]),E=c(()=>{if(k){if(!k.mutable)return void h({type:X.Warning,title:pt.FORBIDDEN,message:pt.CANNOT_DELETE_RULE,crdType:Ke.InstrumentationRule,target:k.ruleId,hideFromHistory:!0});w(!0)}},[k,h]),$=c(async()=>{k&&(await d(k.ruleId),i())},[k,d,i]);if(!k||!T)return null;const x=((e,a)=>{const n=[];return e.payloadCollection&&Object.entries(e.payloadCollection).forEach(([e,a])=>{a&&n.push(t(F,{size:M.XS,children:`• ${dt(e).toLowerCase()}`},e))}),e.codeAttributes&&Object.entries(e.codeAttributes).forEach(([e,a])=>{a&&n.push(t(F,{size:M.XS,children:`• ${dt(e).toLowerCase()}`},e))}),e.headersCollection?.[J.HeaderKeys]?.length&&e.headersCollection[J.HeaderKeys].forEach(e=>{e&&n.push(t(F,{size:M.XS,children:e},e))}),e.customInstrumentations&&(e.customInstrumentations[te.Java]?.forEach((e,i)=>{const o=new ee(e.className,e.methodName);if(o.Verify()){0===i&&n.push(t(F,{size:M.XS,children:"Java Custom Probes:"},"java-custom-probes"));const e=o.toString();n.push(t(F,{size:M.XXS,color:a.v2.colors.grey[200],children:`• ${e}`},e))}}),e.customInstrumentations[te.Golang]?.forEach((e,i)=>{const o=new Z(e.packageName,e.functionName,e.receiverName,e.receiverMethodName);if(o.Verify()){0===i&&n.push(t(F,{size:M.XS,children:"Golang Custom Probes:"},"golang-custom-probes"));const e=o.toString();n.push(t(F,{size:M.XXS,color:a.v2.colors.grey[200],children:`• ${e}`},e))}})),n})(k,u);return e(a,{children:[t(Ze,{isOpen:!0,header:{icon:ht(k.type),title:T.label,onClose:i,actions:[{id:"edit-rule-btn-edit",label:et.EDIT,icon:Ja,active:v,onClick:N},{id:"edit-rule-btn-delete",label:et.DELETE,icon:Ha,color:u.v2.colors.red[500],active:S,onClick:E}]},footer:{actions:v?[{"data-id":"edit-rule-btn-cancel",label:et.CANCEL,variant:R.Secondary,onClick:A},{"data-id":"edit-rule-btn-save",label:et.SAVE,variant:R.Primary,onClick:I}]:[]},children:t(tt,{$padding:"4px 12px 12px",children:v&&b?t(gi,{}):t(g,{$gap:16,children:e(at,{bgTint:"1000",children:[e(at,{bgTint:"900",children:[t(nt,{conditions:k.conditions||[]}),t(at,{bgTint:"800",cellsPerRow:2,items:(O=k,P=T,[{id:"type",title:Te.TYPE,label:P.label},{id:"status",title:Te.STATUS,badge:{status:O.disabled?ze.Unknown:X.Success,label:O.disabled?Te.DISABLED:Te.ENABLED}},{id:"name",title:Te.NAME,label:O.ruleName||"-"},{id:"profile",title:Te.MANAGED_BY_PROFILE,label:O.profileName||"-"},{id:"notes",title:Te.NOTES,label:O.notes||"-"}])})]}),!!x.length&&t(at,{bgTint:"900",richTitle:{title:"Collect"},withCollapse:!0,collapseIsDefaultOpen:!0,children:t(at,{bgTint:"800",children:x})}),!!T.supportedLanguages.length&&t(at,{bgTint:"900",richTitle:{title:"Supported languages"},withCollapse:!0,collapseIsDefaultOpen:!0,children:t(at,{bgTint:"800",children:t(D,{$gap:12,$wrap:"wrap",children:T.supportedLanguages.map(e=>t(mt,{label:oe[e],leftIcon:le(e),flex:"0.5"},e))})})})]})})})}),t(_n,{target:"instrumentation rule",isOpen:S,onClose:()=>w(!1),onApprove:$})]});var O,P},Zi=p.div`
71
+ display: flex;
72
+ align-items: center;
73
+ gap: 8px;
74
+ padding: 8px;
75
+ cursor: pointer;
76
+ border-radius: 6px;
77
+ &:hover {
78
+ background-color: ${({theme:e})=>e.v2.colors.silver[800]};
79
+ }
80
+ `,eo=p.div`
81
+ flex: 1;
82
+ `,to=({onClick:a})=>{const n=m().v2.colors.red[500];return e(Zi,{"data-id":"sampling-view-btn-delete",onClick:a,children:[t(F,{size:M.XS,weight:500,color:n,children:yt}),t(Ha,{size:16,fill:n})]})};function ao(n){if(n.isEditing){const{onCancelEdit:i,onSave:o,onDelete:l,duplicateWarning:s}=n;return{children:e(a,{children:[t(to,{onClick:l}),s&&t(j,{status:X.Warning,message:s.message,action:s.onViewRule?{"data-id":"sampling-view-edit-btn-view-duplicate",label:"View rule",onClick:s.onViewRule}:void 0}),t(eo,{}),t(E,{"data-id":"sampling-view-edit-btn-cancel",label:gt,variant:R.Secondary,size:$.S,onClick:i}),t(E,{"data-id":"sampling-view-edit-btn-save",label:bt,variant:R.Primary,size:$.S,onClick:o,disabled:!!s})]})}}const{onDelete:i,onCancel:o,onEdit:l}=n;return{children:e(a,{children:[t(to,{onClick:i}),t(eo,{}),t(E,{"data-id":"sampling-view-btn-cancel",label:gt,variant:R.Secondary,size:$.S,onClick:o}),t(E,{"data-id":"sampling-view-btn-edit",label:ft,variant:R.Primary,size:$.S,onClick:l})]})}}const no={[re.EditAutoNoisy]:{title:$t,subTitle:Et,toggleId:"sampling-toggle-rule-enabled",cancelId:"sampling-edit-auto-rule-btn-cancel",saveId:"sampling-edit-auto-rule-btn-save"},[re.EditAutoCostReduction]:{title:Dt,subTitle:It,toggleId:"sampling-cr-auto-toggle-enabled",cancelId:"sampling-edit-cost-reduction-auto-rule-btn-cancel",saveId:"sampling-edit-cost-reduction-auto-rule-btn-save"},[re.EditAutoHighlyRelevant]:{title:At,subTitle:Nt,toggleId:"sampling-hr-auto-toggle-enabled",cancelId:"sampling-edit-highly-relevant-auto-rule-btn-cancel",saveId:"sampling-edit-highly-relevant-auto-rule-btn-save"}};function io(e){return{name:e.name,value:e.value,onChange:e.onChange,variant:Lt.SuccessError,size:Ue.S,label:e.value?Ot:Pt,labelAlign:N.Left}}const oo=({isOpen:e,title:a,subTitle:n,onClose:i,toggleProps:o,footer:l,renderBody:s})=>t(Ze,{isOpen:e,width:xt,header:{icon:pn,title:a,subTitle:n,onClose:i,toggleProps:o},footer:l,children:s?s():t(tt,{$padding:"12px",children:t(fi,{})})}),lo=({isOpen:e,onClose:a,onSubmit:i,validateForm:o,onNavigateToDuplicate:l})=>{const{category:s,formData:r,handleChange:d,resetForm:u,duplicateWarning:p,setDuplicateWarning:m}=se(re.Create);n(()=>{e&&u()},[e]);const h=c(()=>{if(o){const e=o(r);if(e)return void m(e)}i(r)},[r,i,o,m]),g={note:p?{status:X.Warning,message:p.message,action:l?{"data-id":"sampling-create-btn-view-duplicate",label:"View rule",onClick:()=>l(p.ruleId)}:void 0}:void 0,actions:[{"data-id":"sampling-create-btn-cancel",label:gt,variant:R.Secondary,size:$.S,onClick:a},{"data-id":"sampling-create-btn-submit",label:kt,variant:R.Primary,size:$.S,onClick:h,disabled:!!p}]};return t(oo,{isOpen:e,title:Tt[s],subTitle:Ct[s],onClose:a,toggleProps:io({name:"sampling-toggle-rule-enabled",value:!r.disabled,onChange:e=>d({disabled:!e})}),footer:g})},so=({onClose:e,onDelete:a,onSaveEdit:n,validateForm:i,onNavigateToDuplicate:o})=>{const{data:l,isEditing:s,formData:d,handleEdit:u,handleCancelEdit:p,duplicateWarning:m,setDuplicateWarning:h}=se(re.View),g=l?.rule.name||wt,b=s&&l?St[l.category]:`${g} preview`,f=c(()=>{if(l&&s){if(i){const e=i(d);if(e)return void h(e)}n(d,l.rule.ruleId,l.samplingId)}},[l,s,d,n,i,h]),y=c(()=>{l&&a(l.rule.ruleId,l.samplingId)},[l,a]),v=r(()=>{if(!l)return;const t=m?{message:m.message,onViewRule:o?()=>o(m.ruleId):void 0}:null;return ao(s?{isEditing:!0,onCancelEdit:p,onSave:f,onDelete:y,duplicateWarning:t}:{isEditing:!1,onDelete:y,onCancel:e,onEdit:u})},[l,s,m,p,f,y,u,e,o]);return t(oo,{isOpen:!!l,title:b,subTitle:l?Ct[l.category]:"",onClose:e,footer:v})},ro=({isOpen:e,onClose:a,onSave:n})=>{const{localEnabled:i,setLocalEnabled:o,resolvedPercentage:l}=se(re.EditAutoNoisy),s=c(()=>n(i,l),[n,i,l]);return t(po,{formType:re.EditAutoNoisy,isOpen:e,onClose:a,localEnabled:i,setLocalEnabled:o,onSave:s})},co=({isOpen:e,onClose:a,onSave:n})=>{const{localEnabled:i,setLocalEnabled:o,resolvedPercentage:l}=se(re.EditAutoCostReduction),s=c(()=>n(i,l),[n,i,l]);return t(po,{formType:re.EditAutoCostReduction,isOpen:e,onClose:a,localEnabled:i,setLocalEnabled:o,onSave:s})},uo=({isOpen:e,onClose:a,onSave:n})=>{const{localEnabled:i,setLocalEnabled:o}=se(re.EditAutoHighlyRelevant),l=c(()=>n(i),[n,i]);return t(po,{formType:re.EditAutoHighlyRelevant,isOpen:e,onClose:a,localEnabled:i,setLocalEnabled:o,onSave:l})},po=({formType:e,isOpen:a,onClose:n,localEnabled:i,setLocalEnabled:o,onSave:l})=>{const s=no[e];return t(oo,{isOpen:a,title:s.title,subTitle:s.subTitle,onClose:n,toggleProps:io({name:s.toggleId,value:i,onChange:o}),footer:{actions:[{"data-id":s.cancelId,label:gt,variant:R.Secondary,size:$.S,onClick:n},{"data-id":s.saveId,label:Rt,variant:R.Primary,size:$.S,onClick:l}]}})},mo=e=>{switch(e.formType){case re.Create:return t(vt,{formType:re.Create,category:e.category,sourceOptions:e.sourceOptions,namespaceOptions:e.namespaceOptions,children:t(lo,{...e})});case re.View:return t(vt,{formType:re.View,data:e.data,defaultEditMode:e.defaultEditMode,sourceOptions:e.sourceOptions,namespaceOptions:e.namespaceOptions,children:t(so,{...e})});case re.EditAutoNoisy:return t(vt,{formType:re.EditAutoNoisy,enabled:e.enabled,keepPercentage:e.keepPercentage,children:t(ro,{...e})});case re.EditAutoCostReduction:return t(vt,{formType:re.EditAutoCostReduction,enabled:e.enabled,dropPercentage:e.dropPercentage,children:t(co,{...e})});case re.EditAutoHighlyRelevant:return t(vt,{formType:re.EditAutoHighlyRelevant,enabled:e.enabled,children:t(uo,{...e})})}},ho=({token:n,isLoading:i,isEditing:o,onEdit:l,onCancel:s,onSave:r,formData:c,handleFormChange:d,handleErrorChange:u,formErrors:p})=>{const{CopyButton:m}=Ft(),h=!o||i||!c.newToken;return Mt({key:"Enter",active:!h},r),e(D,o?{$justifyContent:"space-between",$alignItems:"flex-start",$gap:12,children:[t(v,{type:"password",value:c.newToken,onChange:e=>{d("newToken",e.target.value),u("newToken",void 0)},width:"430px",autoFocus:!0,errorMessage:p.newToken}),t(D,{$margin:i?"8px 0 0 0":"2px 0 0 0",$alignItems:"center",children:i?t(De,{title:"Saving...",withGradient:!0}):e(a,{children:[t(E,{variant:R.Secondary,size:$.S,leftIcon:sn,onClick:s,disabled:i}),t(E,{variant:R.Primary,size:$.S,leftIcon:ln,onClick:r,disabled:h})]})})]}:{$justifyContent:"space-between",$gap:12,children:[t(F,{size:M.XS,children:new Array(55).fill("•").join("")}),e(D,{$alignItems:"center",$justifyContent:"space-between",children:[t(m,{value:n}),t(Ne,{icon:Ja,onClick:l})]})]})},go=({expiresAt:e,callbackValid:a,callbackExpired:i})=>{const{formatTimeAgo:o}=Vt(),l=r(()=>o(e),[e]),s=r(()=>new Date(e).toDateString().split(" ").slice(1).join(" "),[e]),c=r(()=>Bt(e,0)?X.Error:Bt(e,2592e6)?X.Warning:X.Success,[e]),d=r(()=>c===X.Success?ln:c===X.Warning?mn:hn,[c]);return n(()=>{c===X.Success?a():c===X.Error&&i()},[c]),t(q,{text:s,children:t(ie,{leftIcon:d,label:l,status:c,invertColors:!0,useSecondaryTone:!0})})},bo=p.div`
218
83
  display: flex;
219
84
  flex-direction: column;
220
85
  gap: 12px;
@@ -222,7 +87,7 @@ import{jsxs as e,jsx as t,Fragment as a}from"react/jsx-runtime";import{useEffect
222
87
  border-radius: 12px;
223
88
  border: 1px solid ${({theme:e,$isExpired:t})=>t?e.v2.colors.red[500]:e.v2.colors.silver[600]};
224
89
  background-color: ${({theme:e,$isExpired:t})=>t?e.v2.colors.red[1e3]:e.v2.colors.silver[800]};
225
- `,Ri=({children:e})=>{const a=m();return t(v,{size:b.XXXS,color:a.v2.colors.grey[150],children:e})},Pi=({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(ye,{richTitle:{icon:Cn,title:"Odigos Pro Token"},children:e(Ei,{$isExpired:c,children:[e(g,{$justifyContent:"space-between",children:[e(h,{$gap:4,children:[t(Ri,{children:"Issued for"}),t(v,{size:b.XS,children:a.name||"N/A"})]}),e(h,{$gap:4,children:[t(Ri,{children:"Expiration"}),t(Ii,{expiresAt:a.expiresAt,callbackValid:()=>d(!1),callbackExpired:()=>d(!0)})]}),t(h,{})]}),t(g,{children:e(h,{children:[t(Ri,{children:"Token"}),t(Ai,{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})]})})]})})},$i=p.div`
90
+ `,fo=({children:e})=>{const a=m();return t(F,{size:M.XXXS,color:a.v2.colors.grey[150],children:e})},yo=({token:a,updateToken:n})=>{const[i,o]=l(!1),[s,r]=l(!1),[c,d]=l(!1),{formData:u,handleFormChange:p,formErrors:m,handleErrorChange:h,resetFormData:b}=ot({newToken:""});return t(ye,{richTitle:{icon:gn,title:"Odigos Pro Token"},children:e(bo,{$isExpired:c,children:[e(D,{$justifyContent:"space-between",children:[e(g,{$gap:4,children:[t(fo,{children:"Issued for"}),t(F,{size:M.XS,children:a.name||"N/A"})]}),e(g,{$gap:4,children:[t(fo,{children:"Expiration"}),t(go,{expiresAt:a.expiresAt,callbackValid:()=>d(!1),callbackExpired:()=>d(!0)})]}),t(g,{})]}),t(D,{children:e(g,{children:[t(fo,{children:"Token"}),t(ho,{token:a.token,newToken:u.newToken,isLoading:s,isEditing:i,onEdit:()=>o(!0),onCancel:()=>(o(!1),r(!1),void p("newToken","")),onSave:()=>(async()=>{r(!0);const e=await n(u.newToken.trim());r(!1),e?.error?h("newToken",e.error):(o(!1),b())})(),formData:u,handleFormChange:p,handleErrorChange:h,formErrors:m})]})})]})})},vo=p.div`
226
91
  display: flex;
227
92
  flex-direction: column;
228
93
  align-items: center;
@@ -231,19 +96,7 @@ import{jsxs as e,jsx as t,Fragment as a}from"react/jsx-runtime";import{useEffect
231
96
  padding: 12px 24px;
232
97
  border-radius: 8px;
233
98
  background-color: ${({theme:e})=>e.v2.colors.silver[800]};
234
- `,Oi=({downloadDiagnose:a})=>{const n=m(),{progress:o}=Ht(),{namespaces:r}=Xt(),[i,s]=l(null),{formData:c,handleFormChange:d,resetFormData:u}=L({includeProfiles:!0,includeMetrics:!0,includeSourceWorkloads:!1,sourceWorkloadNamespaces:[]});return t(ye,{richTitle:{icon:kn,title:"Diagnose"},children:i?e($i,{children:[t(Ft,{title:"Creating file...",subTitle:"This may take a few moments. Do not refresh the page.",withGradient:!0,withSpinner:"number"==typeof o[Wt.DownloadingDiagnose]?.percentage,percentage:o[Wt.DownloadingDiagnose]?.percentage,withVisual:"number"!=typeof o[Wt.DownloadingDiagnose]?.percentage,visualIcon:wn,startedAt:i}),o[Wt.DownloadingDiagnose]?.list?.length&&t(h,{$width:"100%",children:o[Wt.DownloadingDiagnose].list.map(a=>e(g,{$gap:4,$alignItems:"center",children:[a.status===Q.Success?t(hn,{size:16}):a.status===Q.Error?t(cn,{size:16}):t(Ft,{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:pa.Left,alignY:ua.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(se,{label:c.sourceWorkloadNamespaces.length,status:Q.Default}):void 0}}),t(g,{$justifyContent:"flex-end",children:t(P,{label:"Download Diagnose",rightIcon:wn,variant:O.Primary,onClick:async()=>{s(Date.now()),await a(c),s(null),u()},disabled:null!==i})})]})})},Mi=({fetchDescribeOdigos:e})=>{const{platformType:a,version:o,tier:r}=ue(),[i,s]=l(null);return n(()=>{e().then(({data:e})=>s(e?.describeOdigos||null))},[]),t(ye,{richTitle:{icon:Tn,title:"General Information"},children:t(ma,{cellsPerRow:2,items:[{id:ha(),title:"Odigos Version",label:o},{id:ha(),title:`${a.toUpperCase()} Version`,label:i?.kubernetesVersion?.value||"-"},{id:ha(),title:"Installation Method",label:i?.installationMethod?.value||"-"},{id:ha(),title:"Tier",label:r}]})})},Fi=({isOpen:a,onClose:n,token:o,updateToken:l,fetchDescribeOdigos:r,downloadDiagnose:i})=>e(Kt,{isOpen:a,header:{icon:Tn,title:"System Overview",onClose:n},children:[r&&t(Mi,{fetchDescribeOdigos:r}),l&&o&&t(Pi,{token:o,updateToken:l}),i&&t(Oi,{downloadDiagnose:i})]}),Li=p.div`
235
- display: flex;
236
- align-items: center;
237
- gap: 8px;
238
- padding: 8px;
239
- cursor: pointer;
240
- border-radius: 6px;
241
- &:hover {
242
- background-color: ${({theme:e})=>e.v2.colors.silver[800]};
243
- }
244
- `,zi=p.div`
245
- flex: 1;
246
- `,Vi=({onClick:a})=>{const n=m().v2.colors.red[500];return e(Li,{"data-id":"sampling-view-btn-delete",onClick:a,children:[t(v,{size:b.XS,weight:500,color:n,children:va}),t(Za,{size:16,fill:n})]})};function Xi(n){if(n.isEditing){const{onCancelEdit:o,onSave:l,onDelete:r,duplicateWarning:i}=n;return{children:e(a,{children:[t(Vi,{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(zi,{}),t(P,{"data-id":"sampling-view-edit-btn-cancel",label:Gt,variant:O.Secondary,size:$.S,onClick:o}),t(P,{"data-id":"sampling-view-edit-btn-save",label:ga,variant:O.Primary,size:$.S,onClick:l,disabled:!!i})]})}}const{onDelete:o,onCancel:l,onEdit:r}=n;return{children:e(a,{children:[t(Vi,{onClick:o}),t(zi,{}),t(P,{"data-id":"sampling-view-btn-cancel",label:Gt,variant:O.Secondary,size:$.S,onClick:l}),t(P,{"data-id":"sampling-view-btn-edit",label:fa,variant:O.Primary,size:$.S,onClick:r})]})}}const Bi=({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||dt,f=s&&i?ba[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 Xi(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(Kt,{isOpen:!!i,width:Qt,header:{icon:vn,title:f,subTitle:i?Yt[i.category]:"",onClose:e},footer:y,children:i&&t(Zt,{$padding:"12px",children:t(Rr,{})})})},_i=({data:e,defaultEditMode:a,sourceOptions:n,namespaceOptions:o,...l})=>t(kr,{data:e,defaultEditMode:a,sourceOptions:n,namespaceOptions:o,children:t(Bi,{data:e,...l})});var Ui,ji;!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"}(Ui||(Ui={})),function(e){e.Id="id",e.Name="name",e.Type="type",e.Status="status",e.OdigosVersion="odigosVersion",e.ConnectedSince="connectedSince",e.LastActivity="lastActivity"}(ji||(ji={}));const Hi=[{key:ji.Name,label:"Name"},{key:ji.Type,label:"Type",textAlign:"right"},{key:ji.Status,label:"Status"},{key:ji.OdigosVersion,label:"Odigos Version"},{key:ji.ConnectedSince,label:"Connected Since"},{key:ji.LastActivity,label:"Last Activity"}],Wi=(e,t)=>{const a=e.find(e=>e.key===ji.Id)?.rawValue;return t(a?.toString()||"")},Ki=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===ji.Status)?.rawValue===Q.Success)(e))return[{id:ha(),label:"Delete Connection",rightIcon:on,onClick:()=>Wi(e,o)}];const d=Wi(e,e=>{const n=t.find(t=>t.id===e);return!!n&&ya(n.odigosVersion,a)}),u=Wi(e,e=>{const a=t.find(t=>t.id===e);return!!a&&ya(a.odigosVersion,n)}),p=[];return l&&p.push({id:ha(),tooltip:u?$t.ADD_SOURCE:`To use this feature, please upgrade to Odigos v${n} or later.`,rightIcon:fn,disabled:!u,onClick:()=>Wi(e,l)}),r&&p.push({id:ha(),tooltip:$t.ADD_DESTINATION,rightIcon:un,onClick:()=>Wi(e,r)}),i&&p.push({id:ha(),tooltip:$t.ADD_ACTION,rightIcon:dn,onClick:()=>Wi(e,i)}),s&&p.push({id:ha(),tooltip:$t.ADD_INSTRUMENTATION_RULE,rightIcon:gn,onClick:()=>Wi(e,s)}),c&&p.push({id:ha(),tooltip:d?"Edit Configuration":`To use this feature, please upgrade to Odigos v${a} or later.`,rightIcon:bn,disabled:!d,onClick:()=>Wi(e,c)}),p}},Gi=({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}=ue(),{formatTimeAgo:N}=ca(),[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===Ui.BulkConfig?u:L===Ui.BulkSource?g:0,[L,u,g]),{supportedConnections:_,supportedConnectionIds:U}=c(()=>{const e=((e,t)=>e.filter(e=>{const a=e.status===Q.Success,n=ya(e.odigosVersion,t);return a&&n}))(E,B);return{supportedConnections:e,supportedConnectionIds:e.map(e=>e.id)}},[E.length,B]);n(()=>{if(!L||L===Ui.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:ji.Id,rawValue:e.id},{key:ji.Name,rawValue:e.name},{key:ji.Type,rawValue:e.type},{key:ji.Status,rawValue:e.status,component:()=>(e=>{const a=e===Q.Success?"Connection live":"Connection lost",n=e===Q.Success?hn:cn;return t(se,{status:e,label:a,leftIcon:n})})(e.status)},{key:ji.OdigosVersion,rawValue:e.odigosVersion},{key:ji.ConnectedSince,rawValue:e.connectedAt?N(e.connectedAt):"-"},{key:ji.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===Ui.BulkConfig&&!ya(e.odigosVersion,u)||L===Ui.BulkSource&&!ya(e.odigosVersion,g)})),[E,V,M,L,u,g]),H=c(()=>{const e=(e,t)=>{X([e]),z(t)};return Ki({connections:E,configMinSupportedVersion:u,snapshotMinSupportedVersion:g,onDelete:t=>e(t,Ui.Delete),onAddSource:!D&&f&&v?t=>e(t,Ui.BulkSource):void 0,onAddDestination:!D&&b&&y&&C?t=>e(t,Ui.BulkDestination):void 0,onAddAction:!D&&w?t=>e(t,Ui.BulkAction):void 0,onAddInstrumentationRule:!D&&T?t=>e(t,Ui.BulkInstrumentationRule):void 0,onEditConfiguration:!D&&p&&h?t=>e(t,Ui.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:ha(),type:Sa.Button,buttonProps:{variant:O.Primary,size:$.S,label:"Add Sources",rightIcon:fn,onClick:a}});const s=[n?{id:Ui.BulkDestination,label:$t.ADD_DESTINATION,icon:un}:null,o?{id:Ui.BulkAction,label:$t.ADD_ACTION,icon:dn}:null,l?{id:Ui.BulkInstrumentationRule,label:$t.ADD_INSTRUMENTATION_RULE,icon:gn}:null,r?{id:Ui.BulkConfig,label:"Manage Configurations",icon:bn}:null];return s.some(Boolean)&&i.push({id:ha(),type:Sa.ButtonDropData,buttonProps:{variant:O.Secondary,size:$.S,label:"Bulk Operations",onClick:e=>{e===Ui.BulkSource?a?.():e===Ui.BulkDestination?n?.():e===Ui.BulkAction?o?.():e===Ui.BulkInstrumentationRule?l?.():e===Ui.BulkConfig&&r?.()}},dropDataProps:{alignX:pa.Left,items:s}}),i.push({id:ha(),type:Sa.Button,buttonProps:{variant:O.Text,size:$.S,label:Ca.CANCEL,onClick:t}}),i})({onCancel:()=>X([]),onAddSource:!D&&f&&v?()=>z(Ui.BulkSource):void 0,onAddDestination:!D&&b&&y&&C?()=>z(Ui.BulkDestination):void 0,onAddAction:!D&&w?()=>z(Ui.BulkAction):void 0,onAddInstrumentationRule:!D&&T?()=>z(Ui.BulkInstrumentationRule):void 0,onManageConfigurations:!D&&p&&h?()=>z(Ui.BulkConfig):void 0}),[D,p,h,f,v,b,y,C,w,T]);return t(ka,{children:e(ye,{richTitle:{icon:Dn,title:$t.CONNECTIONS,badge:{label:E.length.toString(),status:_t.Unknown}},search:{placeholder:"Search by cluster name",value:M,onChange:e=>F(e),width:"300px"},actions:[{id:ha(),type:Sa.Button,buttonProps:{variant:O.Secondary,size:$.S,leftIcon:xn,onClick:P,disabled:A}}],children:[t(wa,{variant:Ta.Pretty,maxHeight:a,headerBackgroundColor:x.v2.colors.silver[1e3],isLoading:A,withCheckboxes:!0,columns:Hi,rows:j,rowActionsPushRightPosition:L?`calc(${Xn} - 24px)`:void 0,getRowActions:H}),L===Ui.BulkConfig&&p&&h&&t(Ni,{onClose:()=>z(null),connections:_,selectedConnectionIds:V,setSelectedConnectionIds:X,getEffectiveConfig:p,onApply:h}),L===Ui.BulkSource&&f&&v&&t($o,{selectedConnectionIds:V,getAllClusterSnapshots:f,children:t(bi,{onClose:()=>z(null),selectedConnectionIds:V,setSelectedConnectionIds:X,persistSources:async e=>await(v?.(e))})}),L===Ui.BulkDestination&&b&&y&&S&&C&&k&&t(fo,{children:t(ii,{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===Ui.BulkAction&&w&&t(so,{children:t(qr,{onClose:()=>z(null),selectedConnectionIds:V,setSelectedConnectionIds:X,createAction:e=>w(e,V)})}),L===Ui.BulkInstrumentationRule&&T&&t(Io,{children:t(si,{onClose:()=>z(null),selectedConnectionIds:V,setSelectedConnectionIds:X,createInstrumentationRule:e=>T(e,V)})}),t(Bn,{target:"connection",isOpen:L===Ui.Delete,onClose:()=>{X([]),z(null)},onApprove:async()=>{const e=V[0];e&&(await d(e),await P())}}),t(xa,{isOpen:!!V.length&&!L,richTitle:{icon:an,title:"Selected Clusters",badge:{label:V.length}},actions:W})]})})},qi=p.div`
99
+ `,Co=({downloadDiagnose:a})=>{const n=m(),{progress:i}=We(),{namespaces:o}=Le(),[s,r]=l(null),{formData:c,handleFormChange:d,resetFormData:u}=ot({includeProfiles:!0,includeMetrics:!0,includeSourceWorkloads:!1,sourceWorkloadNamespaces:[]});return t(ye,{richTitle:{icon:bn,title:"Diagnose"},children:s?e(vo,{children:[t(De,{title:"Creating file...",subTitle:"This may take a few moments. Do not refresh the page.",withGradient:!0,withSpinner:"number"==typeof i[Ye.DownloadingDiagnose]?.percentage,percentage:i[Ye.DownloadingDiagnose]?.percentage,withVisual:"number"!=typeof i[Ye.DownloadingDiagnose]?.percentage,visualIcon:fn,startedAt:s}),i[Ye.DownloadingDiagnose]?.list?.length&&t(g,{$width:"100%",children:i[Ye.DownloadingDiagnose].list.map(a=>e(D,{$gap:4,$alignItems:"center",children:[a.status===X.Success?t(ln,{size:16}):a.status===X.Error?t(sn,{size:16}):t(De,{withSpinnerOld:!0,scaleSpinnerOld:.7}),t(F,{size:M.XXXS,color:n.v2.colors.silver[200],children:a.label})]},a.label))})]}):e(g,{$gap:24,children:[t(F,{size:M.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(g,{$gap:16,children:[e(D,{$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(F,{size:M.XXXS,color:n.v2.colors.silver[200],children:"Include pprof profiles"})]}),e(D,{$gap:8,children:[t(f,{label:"Metrics",value:c.includeMetrics,onChange:e=>d("includeMetrics",e)}),t(F,{size:M.XXXS,color:n.v2.colors.silver[200],children:"Include Prometheus metrics"})]}),e(D,{$gap:8,children:[t(f,{label:"Source Workloads",value:c.includeSourceWorkloads,onChange:e=>{d("includeSourceWorkloads",e),e&&d("sourceWorkloadNamespaces",[])}}),t(F,{size:M.XXXS,color:n.v2.colors.silver[200],children:"Include workload and pod manifests for instrumented sources"})]})]}),t(zt,{alignX:Ut.Left,alignY:_t.Bottom,items:o.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:R.Secondary,disabled:c.includeSourceWorkloads,leftIcon:c.sourceWorkloadNamespaces.length?()=>t(ie,{label:c.sourceWorkloadNamespaces.length,status:X.Default}):void 0}}),t(D,{$justifyContent:"flex-end",children:t(E,{label:"Download Diagnose",rightIcon:fn,variant:R.Primary,onClick:async()=>{r(Date.now()),await a(c),r(null),u()},disabled:null!==s})})]})})},So=({fetchDescribeOdigos:e})=>{const{platformType:a,version:i,tier:o}=Me(),[s,r]=l(null);return n(()=>{e().then(({data:e})=>r(e?.describeOdigos||null))},[]),t(ye,{richTitle:{icon:yn,title:"General Information"},children:t(at,{cellsPerRow:2,items:[{id:jt(),title:"Odigos Version",label:i},{id:jt(),title:`${a.toUpperCase()} Version`,label:s?.kubernetesVersion?.value||"-"},{id:jt(),title:"Installation Method",label:s?.installationMethod?.value||"-"},{id:jt(),title:"Tier",label:o}]})})},wo=({isOpen:a,onClose:n,token:i,updateToken:o,fetchDescribeOdigos:l,downloadDiagnose:s})=>e(Ze,{isOpen:a,header:{icon:yn,title:"System Overview",onClose:n},children:[l&&t(So,{fetchDescribeOdigos:l}),o&&i&&t(yo,{token:i,updateToken:o}),s&&t(Co,{downloadDiagnose:s})]});var ko,To;!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"}(ko||(ko={})),function(e){e.Id="id",e.Name="name",e.Type="type",e.Status="status",e.OdigosVersion="odigosVersion",e.ConnectedSince="connectedSince",e.LastActivity="lastActivity"}(To||(To={}));const No=[{key:To.Name,label:"Name"},{key:To.Type,label:"Type",textAlign:"right"},{key:To.Status,label:"Status"},{key:To.OdigosVersion,label:"Odigos Version"},{key:To.ConnectedSince,label:"Connected Since"},{key:To.LastActivity,label:"Last Activity"}],Ao=(e,t)=>{const a=e.find(e=>e.key===To.Id)?.rawValue;return t(a?.toString()||"")},Io=e=>{const{connections:t,configMinSupportedVersion:a,snapshotMinSupportedVersion:n,onDelete:i,onAddSource:o,onAddDestination:l,onAddAction:s,onAddInstrumentationRule:r,onEditConfiguration:c}=e;return({cells:e})=>{if(!(e=>e.find(e=>e.key===To.Status)?.rawValue===X.Success)(e))return[{id:jt(),label:"Delete Connection",rightIcon:qa,onClick:()=>Ao(e,i)}];const d=Ao(e,e=>{const n=t.find(t=>t.id===e);return!!n&&Xt(n.odigosVersion,a)}),u=Ao(e,e=>{const a=t.find(t=>t.id===e);return!!a&&Xt(a.odigosVersion,n)}),p=[];return o&&p.push({id:jt(),tooltip:u?Te.ADD_SOURCE:`To use this feature, please upgrade to Odigos v${n} or later.`,rightIcon:cn,disabled:!u,onClick:()=>Ao(e,o)}),l&&p.push({id:jt(),tooltip:Te.ADD_DESTINATION,rightIcon:an,onClick:()=>Ao(e,l)}),s&&p.push({id:jt(),tooltip:Te.ADD_ACTION,rightIcon:tn,onClick:()=>Ao(e,s)}),r&&p.push({id:jt(),tooltip:Te.ADD_INSTRUMENTATION_RULE,rightIcon:rn,onClick:()=>Ao(e,r)}),c&&p.push({id:jt(),tooltip:d?"Edit Configuration":`To use this feature, please upgrade to Odigos v${a} or later.`,rightIcon:un,disabled:!d,onClick:()=>Ao(e,c)}),p}},Do=({tableRowsMaxHeight:a,connections:i,getConnections:o,onClickConnection:s,deleteConnection:d,configMinSupportedVersion:u=0,getEffectiveConfig:p,applyConfigurations:h,snapshotMinSupportedVersion:g=0,getAllClusterSnapshots:b,persistSources:f,getDestinationCategories:y,getPotentialDestinations:v,testConnection:C,createDestination:S,updateDestination:w,createAction:k,createInstrumentationRule:T})=>{const N=m(),{isVm:A}=Me(),{formatTimeAgo:I}=Vt(),[D,E]=l(!1),[x,O]=l(i||[]),P=c(async()=>{try{E(!0),O(await o()??[])}catch(e){}finally{E(!1)}},[]);n(()=>{x.length||P()},[]);const[L,F]=l(""),[M,V]=l(null),[B,z]=l([]),_=r(()=>M===ko.BulkConfig?u:M===ko.BulkSource?g:0,[M,u,g]),{supportedConnections:U,supportedConnectionIds:j}=r(()=>{const e=((e,t)=>e.filter(e=>{const a=e.status===X.Success,n=Xt(e.odigosVersion,t);return a&&n}))(x,_);return{supportedConnections:e,supportedConnectionIds:e.map(e=>e.id)}},[x.length,_]);n(()=>{if(!M||M===ko.Delete)return;const e=B.filter(e=>!j.includes(e));e.length&&z(t=>t.filter(t=>!e.includes(t)))},[M,B.length,j.length]);const H=r(()=>x.filter(e=>!L||e.name.toLowerCase().includes(L.toLowerCase())).map(e=>({cells:[{key:To.Id,rawValue:e.id},{key:To.Name,rawValue:e.name},{key:To.Type,rawValue:e.type},{key:To.Status,rawValue:e.status,component:()=>(e=>{const a=e===X.Success?"Connection live":"Connection lost",n=e===X.Success?ln:sn;return t(ie,{status:e,label:a,leftIcon:n})})(e.status)},{key:To.OdigosVersion,rawValue:e.odigosVersion},{key:To.ConnectedSince,rawValue:e.connectedAt?I(e.connectedAt):"-"},{key:To.LastActivity,rawValue:e.lastSeenAt?I(e.lastSeenAt):"-"}],onClick:e.status!==X.Success||M?void 0:()=>s(e),isSelected:B.includes(e.id),onSelect:()=>z(t=>Array.from(new Set([...t,e.id]))),onDeselect:()=>z(t=>t.filter(t=>t!==e.id)),hideCheckbox:e.status!==X.Success||M===ko.BulkConfig&&!Xt(e.odigosVersion,u)||M===ko.BulkSource&&!Xt(e.odigosVersion,g)})),[x,B,L,M,u,g]),W=r(()=>{const e=(e,t)=>{z([e]),V(t)};return Io({connections:x,configMinSupportedVersion:u,snapshotMinSupportedVersion:g,onDelete:t=>e(t,ko.Delete),onAddSource:!A&&b&&f?t=>e(t,ko.BulkSource):void 0,onAddDestination:!A&&y&&v&&S?t=>e(t,ko.BulkDestination):void 0,onAddAction:!A&&k?t=>e(t,ko.BulkAction):void 0,onAddInstrumentationRule:!A&&T?t=>e(t,ko.BulkInstrumentationRule):void 0,onEditConfiguration:!A&&p&&h?t=>e(t,ko.BulkConfig):void 0})},[A,x,u,p,h,g,b,f,y,v,S,k,T]),G=r(()=>(e=>{const{onCancel:t,onAddSource:a,onAddDestination:n,onAddAction:i,onAddInstrumentationRule:o,onManageConfigurations:l}=e,s=[];a&&s.push({id:jt(),type:Ht.Button,buttonProps:{variant:R.Primary,size:$.S,label:"Add Sources",rightIcon:cn,onClick:a}});const r=[n?{id:ko.BulkDestination,label:Te.ADD_DESTINATION,icon:an}:null,i?{id:ko.BulkAction,label:Te.ADD_ACTION,icon:tn}:null,o?{id:ko.BulkInstrumentationRule,label:Te.ADD_INSTRUMENTATION_RULE,icon:rn}:null,l?{id:ko.BulkConfig,label:"Manage Configurations",icon:un}:null];return r.some(Boolean)&&s.push({id:jt(),type:Ht.ButtonDropData,buttonProps:{variant:R.Secondary,size:$.S,label:"Bulk Operations",onClick:e=>{e===ko.BulkSource?a?.():e===ko.BulkDestination?n?.():e===ko.BulkAction?i?.():e===ko.BulkInstrumentationRule?o?.():e===ko.BulkConfig&&l?.()}},dropDataProps:{alignX:Ut.Left,items:r}}),s.push({id:jt(),type:Ht.Button,buttonProps:{variant:R.Text,size:$.S,label:et.CANCEL,onClick:t}}),s})({onCancel:()=>z([]),onAddSource:!A&&b&&f?()=>V(ko.BulkSource):void 0,onAddDestination:!A&&y&&v&&S?()=>V(ko.BulkDestination):void 0,onAddAction:!A&&k?()=>V(ko.BulkAction):void 0,onAddInstrumentationRule:!A&&T?()=>V(ko.BulkInstrumentationRule):void 0,onManageConfigurations:!A&&p&&h?()=>V(ko.BulkConfig):void 0}),[A,p,h,b,f,y,v,S,k,T]);return t(Wt,{children:e(ye,{richTitle:{icon:Cn,title:Te.CONNECTIONS,badge:{label:x.length.toString(),status:ze.Unknown}},search:{placeholder:"Search by cluster name",value:L,onChange:e=>F(e),width:"300px"},actions:[{id:jt(),type:Ht.Button,buttonProps:{variant:R.Secondary,size:$.S,leftIcon:vn,onClick:P,disabled:D}}],children:[t(Gt,{variant:Kt.Pretty,maxHeight:a,headerBackgroundColor:N.v2.colors.silver[1e3],isLoading:D,withCheckboxes:!0,columns:No,rows:H,rowActionsPushRightPosition:M?`calc(${Un} - 24px)`:void 0,getRowActions:W}),M===ko.BulkConfig&&p&&h&&t(qi,{onClose:()=>V(null),connections:U,selectedConnectionIds:B,setSelectedConnectionIds:z,getEffectiveConfig:p,onApply:h}),M===ko.BulkSource&&b&&f&&t(Yt,{selectedConnectionIds:B,children:t(Ki,{onClose:()=>V(null),selectedConnectionIds:B,setSelectedConnectionIds:z,getAllClusterSnapshots:b,persistSources:async e=>await(f?.(e))})}),M===ko.BulkDestination&&y&&v&&C&&S&&w&&t(qt,{children:t(Mi,{onClose:()=>V(null),selectedConnectionIds:B,setSelectedConnectionIds:z,getDestinationCategories:y,getPotentialDestinations:v,testConnection:e=>C(e,B),createDestination:e=>S(e,B),updateDestination:(e,t)=>w(e,t,B)})}),M===ko.BulkAction&&k&&t(Jt,{children:t(Ni,{onClose:()=>V(null),selectedConnectionIds:B,setSelectedConnectionIds:z,createAction:e=>k(e,B)})}),M===ko.BulkInstrumentationRule&&T&&t(Qt,{children:t(Vi,{onClose:()=>V(null),selectedConnectionIds:B,setSelectedConnectionIds:z,createInstrumentationRule:e=>T(e,B)})}),t(_n,{target:"connection",isOpen:M===ko.Delete,onClose:()=>{z([]),V(null)},onApprove:async()=>{const e=B[0];e&&(await d(e),await P())}}),t(Zt,{isOpen:!!B.length&&!M,richTitle:{icon:Ka,title:"Selected Clusters",badge:{label:B.length}},actions:G})]})})},Eo=p.div`
247
100
  display: flex;
248
101
  align-items: center;
249
102
  justify-content: space-between;
@@ -252,26 +105,26 @@ import{jsxs as e,jsx as t,Fragment as a}from"react/jsx-runtime";import{useEffect
252
105
  width: calc(100% - 32px);
253
106
  border-radius: 16px;
254
107
  background-color: ${({theme:e})=>e.v2.colors.silver[800]};
255
- `,Yi=p.div`
108
+ `,$o=p.div`
256
109
  display: flex;
257
110
  align-items: center;
258
111
  justify-content: center;
259
112
  padding: 8px;
260
113
  border-radius: 8px;
261
- background-color: ${({theme:e})=>e.v2.colors.white[500]+y["004"]};
262
- `,Ji=({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||be.Namespace,r=l===be.Namespace?a.namespace:`${a.namespace} → ${a.name}`;return e(qi,{children:[t(v,{nowrap:!0,children:r}),t(se,{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=zt(a.option.type).icon;return e(qi,{children:[e(g,{$gap:8,children:[o&&t(Yi,{children:t(o,{size:24})}),t(v,{nowrap:!0,children:a.formData.name||a.option.displayName})]}),void 0!==a.testResult&&t(se,{status:a.testResult.succeeded?Q.Success:Q.Error,leftIcon:a.testResult.succeeded?hn:cn})]},`destination-${n}`)})||[],[l]);return t(Vn,{isOpen:!0,disableAnimation:r,onBack:()=>a(3),onSave:n,header:{icon:Nn,title:$t.SUMMARY,subTitle:$t.REVIEW_SETUP},leftColumn:{width:"50%",header:e(g,{$width:"100%",$gap:12,$justifyContent:"space-between",children:[e(g,{$gap:8,children:[t(fn,{size:24}),t(v,{nowrap:!0,children:$t.SELECTED_SOURCES}),t(se,{label:u.length})]}),t(P,{"data-id":"summary-edit-sources",leftIcon:ln,variant:O.Secondary,size:$.S,onClick:s})]}),list:u.length?u:[t(Pt,{$height:"100%",children:t(V,{icon:fn,title:$t.NO_SOURCES_SELECTED,subTitle:$t.ADD_SOURCE_PROMPT,button:{leftIcon:en,label:$t.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(un,{size:24}),t(v,{nowrap:!0,children:$t.SELECTED_DESTINATIONS}),t(se,{label:p.length})]}),t(P,{"data-id":"summary-edit-destinations",leftIcon:ln,variant:O.Secondary,size:$.S,onClick:d})]}),list:p.length?p:[t(Pt,{"data-id":"summary-no-destinations",$height:"100%",children:t(V,{icon:un,title:$t.NO_DESTINATIONS_SELECTED,subTitle:$t.ADD_DESTINATION_PROMPT,button:{leftIcon:en,label:$t.ADD_DESTINATIONS,onClick:d}})},"no-destinations-data")]}})},Qi=p.div`
114
+ background-color: ${({theme:e})=>e.v2.colors.white[500]+Ce["004"]};
115
+ `,Ro=({setStep:a,onSave:n,sourcesPayload:i,destinationsPayload:o,disableAnimation:l})=>{const s=m(),c=()=>a(2),d=()=>a(3),u=r(()=>Object.values(i||{}).flatMap((a,n)=>a.map((a,i)=>{if(!a.selected)return null;const o=a.kind||Ke.Namespace,l=o===Ke.Namespace?a.namespace:`${a.namespace} → ${a.name}`;return e(Eo,{children:[t(F,{nowrap:!0,children:l}),t(ie,{label:o,status:X.Info,backgroundColor:s.v2.colors.blue[900]})]},`source-${n}-${i}`)})).filter(Boolean),[i]),p=r(()=>o?.map((a,n)=>{const i=$e(a.option.type).icon;return e(Eo,{children:[e(D,{$gap:8,children:[i&&t($o,{children:t(i,{size:24})}),t(F,{nowrap:!0,children:a.formData.name||a.option.displayName})]}),void 0!==a.testResult&&t(ie,{status:a.testResult.succeeded?X.Success:X.Error,leftIcon:a.testResult.succeeded?ln:sn})]},`destination-${n}`)})||[],[o]);return t(zn,{isOpen:!0,disableAnimation:l,onBack:()=>a(3),onSave:n,header:{icon:Sn,title:Te.SUMMARY,subTitle:Te.REVIEW_SETUP},leftColumn:{width:"50%",header:e(D,{$width:"100%",$gap:12,$justifyContent:"space-between",children:[e(D,{$gap:8,children:[t(cn,{size:24}),t(F,{nowrap:!0,children:Te.SELECTED_SOURCES}),t(ie,{label:u.length})]}),t(E,{"data-id":"summary-edit-sources",leftIcon:Ja,variant:R.Secondary,size:$.S,onClick:c})]}),list:u.length?u:[t(ke,{$height:"100%",children:t(L,{icon:cn,title:Te.NO_SOURCES_SELECTED,subTitle:Te.ADD_SOURCE_PROMPT,button:{leftIcon:Wa,label:Te.ADD_SOURCE,onClick:c}})},"no-sources-data")]},rightColumn:{width:"50%",header:e(D,{$width:"100%",$gap:12,$justifyContent:"space-between",children:[e(D,{$gap:8,children:[t(an,{size:24}),t(F,{nowrap:!0,children:Te.SELECTED_DESTINATIONS}),t(ie,{label:p.length})]}),t(E,{"data-id":"summary-edit-destinations",leftIcon:Ja,variant:R.Secondary,size:$.S,onClick:d})]}),list:p.length?p:[t(ke,{"data-id":"summary-no-destinations",$height:"100%",children:t(L,{icon:an,title:Te.NO_DESTINATIONS_SELECTED,subTitle:Te.ADD_DESTINATION_PROMPT,button:{leftIcon:Wa,label:Te.ADD_DESTINATIONS,onClick:d}})},"no-destinations-data")]}})},xo=p.div`
263
116
  position: relative;
264
117
  overflow: hidden;
265
118
  width: calc(100vw - ${({$paddingXAxis:e})=>e});
266
119
  height: calc(100vh - ${({$paddingYAxis:e})=>e});
267
120
  box-sizing: border-box;
268
- `,Zi=p.svg`
121
+ `,Oo=p.svg`
269
122
  position: absolute;
270
123
  top: 50%;
271
124
  left: 50%;
272
125
  transform: translate(-50%, -50%);
273
126
  z-index: -1;
274
- `,es=[{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"}],ts=[{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:es},{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:es},{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:es}],as=({paddingXAxis:a="0px",paddingYAxis:o="0px",children:r})=>{const[i,s]=l(window.innerWidth),d=c(()=>i/ts[0].width,[i]);return n(()=>{const e=()=>s(window.innerWidth);return window.addEventListener("resize",e),()=>window.removeEventListener("resize",e)},[]),e(Qi,{$paddingXAxis:a,$paddingYAxis:o,children:[ts.map(({width:a,height:n,pathOpacity:o,path:l,gradientTransform:r,stops:i},s)=>{const c=`purple-ring-${s}`;return e(Zi,{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]})},ns=p.div`
127
+ `,Po=[{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"}],Lo=[{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:Po},{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:Po},{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:Po}],Fo=({paddingXAxis:a="0px",paddingYAxis:i="0px",children:o})=>{const[s,c]=l(window.innerWidth),d=r(()=>s/Lo[0].width,[s]);return n(()=>{const e=()=>c(window.innerWidth);return window.addEventListener("resize",e),()=>window.removeEventListener("resize",e)},[]),e(xo,{$paddingXAxis:a,$paddingYAxis:i,children:[Lo.map(({width:a,height:n,pathOpacity:i,path:o,gradientTransform:l,stops:s},r)=>{const c=`purple-ring-${r}`;return e(Oo,{width:a*d,height:"100%",viewBox:`0 0 ${a} ${n}`,fill:"none",children:[t("path",{opacity:i,d:o,fill:`url(#${c})`}),t("defs",{children:t("radialGradient",{id:c,cx:"0",cy:"0",r:"1",gradientUnits:"userSpaceOnUse",gradientTransform:l,children:s.map(({offset:e,opacity:a},n)=>t("stop",{offset:e,stopColor:"#7C3BFF",stopOpacity:a},n))})})]},c)}),o]})},Mo=p.div`
275
128
  display: flex;
276
129
  flex-direction: column;
277
130
  align-items: center;
@@ -282,7 +135,7 @@ import{jsxs as e,jsx as t,Fragment as a}from"react/jsx-runtime";import{useEffect
282
135
  width: 50vw;
283
136
  border-radius: 16px;
284
137
  background: ${({theme:e})=>e.v2.colors.silver[900]};
285
- `,os=p.div`
138
+ `,Vo=p.div`
286
139
  display: flex;
287
140
  flex-direction: column;
288
141
  align-items: center;
@@ -292,12 +145,12 @@ import{jsxs as e,jsx as t,Fragment as a}from"react/jsx-runtime";import{useEffect
292
145
  & * {
293
146
  text-align: center;
294
147
  }
295
- `,ls=({onStart:a})=>t(Kt,{width:"75vw",isOpen:!0,hideOverlay:!0,disableAnimation:!0,children:t(Pt,{$height:"100%",children:e(ns,{children:[e(os,{children:[t(v,{size:b.L,weight:500,children:$t.GET_STARTED_WITH}),t(_n,{size:260}),t(v,{size:b.S,weight:400,children:$t.GET_STARTED_DESCRIPTION})]}),t(P,{"data-id":"onboarding-get-started",label:Ca.GET_STARTED,rightIcon:An,size:$.L,onClick:a})]})})}),rs=[{step:1,label:$t.INSTALLATION,forceDoneBadge:!0},{step:2,label:$t.SOURCES_SETUP},{step:3,label:$t.DESTINATIONS_SETUP},{step:4,label:$t.SUMMARY}],is=p.div`
148
+ `,Bo=({onStart:a})=>t(Ze,{width:"75vw",isOpen:!0,hideOverlay:!0,disableAnimation:!0,children:t(ke,{$height:"100%",children:e(Mo,{children:[e(Vo,{children:[t(F,{size:M.L,weight:500,children:Te.GET_STARTED_WITH}),t(jn,{size:260}),t(F,{size:M.S,weight:400,children:Te.GET_STARTED_DESCRIPTION})]}),t(E,{"data-id":"onboarding-get-started",label:et.GET_STARTED,rightIcon:wn,size:$.L,onClick:a})]})})}),zo=[{step:1,label:Te.INSTALLATION,forceDoneBadge:!0},{step:2,label:Te.SOURCES_SETUP},{step:3,label:Te.DESTINATIONS_SETUP},{step:4,label:Te.SUMMARY}],_o=p.div`
296
149
  display: flex;
297
150
  flex-direction: column;
298
151
  gap: 32px;
299
152
  padding: 64px;
300
- `,ss=({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(as,{paddingXAxis:a,paddingYAxis:n,children:[e(is,{children:[t(_n,{}),t(Da,{currentStep:m,data:rs,gap:32})]}),t($o,{fetchNamespacesWithWorkloads:o,initialInputs:v,children:e(fo,{children:[1===m&&t(ls,{onStart:C}),2===m&&t(bi,{disableAnimation:!0,onBack:e=>{b(e),k()},onNext:e=>{b(e),C()},persistSources:r}),3===m&&t(ii,{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(Ji,{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})]})})]})},cs=p.div`
153
+ `,Uo=({pagePaddingXAxis:a,pagePaddingYAxis:n,fetchNamespacesWithWorkloads:i,persistSources:o,getDestinationCategories:s,getPotentialDestinations:r,testConnection:c,createDestination:d,updateDestination:u,onDone:p})=>{const[m,h]=l(1),[g,b]=l(!1),[f,y]=l(null),[v,C]=l(null),S=()=>h(e=>e+1),w=()=>h(e=>e-1);return e(Fo,{paddingXAxis:a,paddingYAxis:n,children:[e(_o,{children:[t(jn,{}),t(ea,{currentStep:m,data:zo,gap:32})]}),t(Yt,{initialInputs:f,children:e(qt,{children:[1===m&&t(Bo,{onStart:S}),2===m&&t(Ki,{disableAnimation:!0,onBack:e=>{y(e),w()},onNext:e=>{y(e),S()},fetchNamespacesWithWorkloads:i,persistSources:o}),3===m&&t(Mi,{disableAnimation:!0,onBack:e=>{C(e),w()},onNext:e=>{C(e),S()},getDestinationCategories:s,getPotentialDestinations:r,initialInputs:v,testConnection:c,createDestination:d,updateDestination:u}),4===m&&t(Ro,{disableAnimation:!0,setStep:h,onSave:async()=>{if(!g){b(!0);try{const e=[];f&&e.push(o(f)),v&&e.push(...v.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 b(!1),{error:e instanceof Error?e.message:String(e)}}}},sourcesPayload:f,destinationsPayload:v})]})})]})},jo=p.div`
301
154
  display: flex;
302
155
  align-items: center;
303
156
  justify-content: space-between;
@@ -309,13 +162,13 @@ import{jsxs as e,jsx as t,Fragment as a}from"react/jsx-runtime";import{useEffect
309
162
  &:hover {
310
163
  background: ${({theme:e})=>e.v2.colors.silver[700]};
311
164
  }
312
- `,ds=p.div`
313
- animation-name: ${Ea.in};
314
- `,us=({pod:o,getExtendedPodInfo:r,onClose:i})=>{const{formatTimeAgo:s}=ca(),[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:ha(),title:"Node",label:d?.node??"-",withCopy:!0},{id:ha(),title:"Status",badge:{status:Na(d?.status),label:d?.status??"-"}}],[d]),f=c(()=>d?.containers?.map(e=>({id:ha(),items:[{id:ha(),title:"Container",label:e.name??"-"},{id:ha(),title:"Status",label:e.startedAt?`${e.status} (since ${s(e.startedAt)})`:e.status},{id:ha(),title:"Ready",badge:{status:e.ready?Q.Success:Q.Error,leftIcon:e.ready?an:nn,label:e.ready?"True":"False",invertColors:!0}},{id:ha(),title:"Started",badge:{status:e.started?Q.Success:Q.Error,leftIcon:e.started?an:nn,label:e.started?"True":"False",invertColors:!0}},{id:ha(),title:"Image Version",label:e.image?.split(":")?.[1]??"-"},{id:ha(),title:"Image Repository",label:e.image?.split(":")?.[0]??"-"},{id:ha(),title:"Restarts",label:e.restarts.toString()},{id:ha(),title:"State Reason",label:e.stateReason??"-"},{id:ha(),title:"Resource Requests",label:`CPU ${e.resources.requests.cpu} • Memory ${e.resources.requests.memory}`},{id:ha(),title:"Resource Limits",label:`CPU ${e.resources.limits.cpu} • Memory ${e.resources.limits.memory}`}]}))||[],[d]);return e(Kt,{isOpen:!!o,header:{icon:In,title:"Pod Information",onClose:i},children:[d?null:t(Pt,{children:t(Aa,{})}),d?e(a,{children:[t(ye,{richTitle:{icon:In,title:d.name,withCopy:!0},children:e(h,{$gap:24,children:[t(ma,{cellsPerRow:2,items:g}),f.length>0&&e(h,{$gap:12,children:[e(cs,{onClick:()=>m(e=>!e),children:[t(v,{children:"Containers Overview"}),t(Ot,{icon:p?pn:mn})]}),p&&f.map(({id:e,items:a})=>t(ds,{children:t(ma,{cellsPerRow:2,items:a})},e))]})]})}),t(ye,{richTitle:{icon:Tn,title:"Kubectl Commands"},children:e(h,{$gap:12,children:[t(Ia,{value:`kubectl get pod ${d.name} -n ${d.namespace} -o yaml`}),t(Ia,{value:`kubectl describe pod ${d.name} -n ${d.namespace}`}),t(Ia,{value:`kubectl logs ${d.name} -n ${d.namespace}`})]})}),t(jn,{yaml:d.manifestYAML,defaultOpen:!0})]}):null]})};var ps;!function(e){e.PodName="podName",e.Status="status",e.Restarts="restarts",e.NodeName="nodeName",e.SpanDropDrate="spanDropDrate",e.Age="age",e.DockerImage="dockerImage"}(ps||(ps={}));const ms=[{key:ps.PodName,label:"Pod Name"},{key:ps.Status,label:"Status"},{key:ps.Restarts,label:"Restarts",textAlign:"right"},{key:ps.NodeName,label:"Node Name"},{key:ps.Age,label:"Age",textAlign:"right"},{key:ps.DockerImage,label:"Docker Image",textAlign:"right"}],hs=({isLoading:a,tableRowsMaxHeight:n,pods:o,getExtendedPodInfo:r})=>{const i=m(),{formatTimeAgo:s}=ca(),[d,u]=l(null),p=c(()=>o.map(a=>({onClick:()=>u(a),cells:[{key:ps.PodName,rawValue:a.name},{key:ps.Status,rawValue:a.status,component:()=>{return e=a.status,t(se,{status:Na(e),label:e});var e}},{key:ps.Restarts,rawValue:a.restartsCount.toString()},{key:ps.NodeName,rawValue:a.nodeName},{key:ps.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(te,{text:`Accepted: ${n.metricsAcceptedRps.toLocaleString()}, Dropped: ${n.metricsDroppedRps.toLocaleString()}`,children:t(se,{status:r,label:`Receiver ${l}%`,leftIcon:r===Q.Error?En:Rn,useSecondaryTone:!0,invertColors:!0})}),t(te,{text:`Success: ${n.exporterSuccessRps.toLocaleString()}, Failed: ${n.exporterFailedRps.toLocaleString()}`,children:t(se,{status:c,label:`Exporter ${s}%`,leftIcon:c===Q.Error?En:Rn,useSecondaryTone:!0,invertColors:!0})})]})}},{key:ps.Age,rawValue:s(a.creationTimestamp)},{key:ps.DockerImage,rawValue:a.image}]})),[o,i]);return e(ye,{richTitle:{icon:In,title:"Pods"},children:[t(wa,{variant:Ta.Data,maxHeight:n,isLoading:a,columns:ms,rows:p}),t(us,{pod:d,getExtendedPodInfo:r,onClose:()=>u(null)})]})};var gs;!function(e){e.Gateway="gateway",e.Node="node"}(gs||(gs={}));const fs=[{value:gs.Gateway,label:"Gateway"},{value:gs.Node,label:"Node Collector"}],vs=p.div`
165
+ `,Xo=p.div`
166
+ animation-name: ${ia.in};
167
+ `,Ho=({pod:i,getExtendedPodInfo:o,onClose:s})=>{const{formatTimeAgo:c}=Vt(),[d,u]=l(null),[p,m]=l(!1);n(()=>{i?o(i.namespace,i.name).then(e=>u(e??null)):(u(null),m(!1))},[i]);const h=r(()=>[{id:jt(),title:"Node",label:d?.node??"-",withCopy:!0},{id:jt(),title:"Status",badge:{status:ta(d?.status),label:d?.status??"-"}}],[d]),b=r(()=>d?.containers?.map(e=>({id:jt(),items:[{id:jt(),title:"Container",label:e.name??"-"},{id:jt(),title:"Status",label:e.startedAt?`${e.status} (since ${c(e.startedAt)})`:e.status},{id:jt(),title:"Ready",badge:{status:e.ready?X.Success:X.Error,leftIcon:e.ready?Ka:Ya,label:e.ready?"True":"False",invertColors:!0}},{id:jt(),title:"Started",badge:{status:e.started?X.Success:X.Error,leftIcon:e.started?Ka:Ya,label:e.started?"True":"False",invertColors:!0}},{id:jt(),title:"Image Version",label:e.image?.split(":")?.[1]??"-"},{id:jt(),title:"Image Repository",label:e.image?.split(":")?.[0]??"-"},{id:jt(),title:"Restarts",label:e.restarts.toString()},{id:jt(),title:"State Reason",label:e.stateReason??"-"},{id:jt(),title:"Resource Requests",label:`CPU ${e.resources.requests.cpu} • Memory ${e.resources.requests.memory}`},{id:jt(),title:"Resource Limits",label:`CPU ${e.resources.limits.cpu} • Memory ${e.resources.limits.memory}`}]}))||[],[d]);return e(Ze,{isOpen:!!i,header:{icon:kn,title:"Pod Information",onClose:s},children:[d?null:t(ke,{children:t(aa,{})}),d?e(a,{children:[t(ye,{richTitle:{icon:kn,title:d.name,withCopy:!0},children:e(g,{$gap:24,children:[t(at,{cellsPerRow:2,items:h}),b.length>0&&e(g,{$gap:12,children:[e(jo,{onClick:()=>m(e=>!e),children:[t(F,{children:"Containers Overview"}),t(Ne,{icon:p?nn:on})]}),p&&b.map(({id:e,items:a})=>t(Xo,{children:t(at,{cellsPerRow:2,items:a})},e))]})]})}),t(ye,{richTitle:{icon:yn,title:"Kubectl Commands"},children:e(g,{$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(Hn,{yaml:d.manifestYAML,defaultOpen:!0})]}):null]})};var Wo;!function(e){e.PodName="podName",e.Status="status",e.Restarts="restarts",e.NodeName="nodeName",e.SpanDropDrate="spanDropDrate",e.Age="age",e.DockerImage="dockerImage"}(Wo||(Wo={}));const Go=[{key:Wo.PodName,label:"Pod Name"},{key:Wo.Status,label:"Status"},{key:Wo.Restarts,label:"Restarts",textAlign:"right"},{key:Wo.NodeName,label:"Node Name"},{key:Wo.Age,label:"Age",textAlign:"right"},{key:Wo.DockerImage,label:"Docker Image",textAlign:"right"}],Ko=({isLoading:a,tableRowsMaxHeight:n,pods:i,getExtendedPodInfo:o})=>{const s=m(),{formatTimeAgo:c}=Vt(),[d,u]=l(null),p=r(()=>i.map(a=>({onClick:()=>u(a),cells:[{key:Wo.PodName,rawValue:a.name},{key:Wo.Status,rawValue:a.status,component:()=>{return e=a.status,t(ie,{status:ta(e),label:e});var e}},{key:Wo.Restarts,rawValue:a.restartsCount.toString()},{key:Wo.NodeName,rawValue:a.nodeName},{key:Wo.SpanDropDrate,rawValue:0,component:()=>{const{collectorMetrics:n}=a;if(!n)return t(F,{children:"-"});const i=(n?.metricsAcceptedRps??0)+(n?.metricsDroppedRps??0),o=i>0?Math.round((n?.metricsDroppedRps??0)/i*100):0,l=o>0?X.Error:X.Success,s=(n?.exporterSuccessRps??0)+(n?.exporterFailedRps??0),r=s>0?Math.round((n?.exporterFailedRps??0)/s*100):0,c=r>0?X.Error:X.Success;return e(D,{$gap:4,children:[t(q,{text:`Accepted: ${n.metricsAcceptedRps.toLocaleString()}, Dropped: ${n.metricsDroppedRps.toLocaleString()}`,children:t(ie,{status:l,label:`Receiver ${o}%`,leftIcon:l===X.Error?Tn:Nn,useSecondaryTone:!0,invertColors:!0})}),t(q,{text:`Success: ${n.exporterSuccessRps.toLocaleString()}, Failed: ${n.exporterFailedRps.toLocaleString()}`,children:t(ie,{status:c,label:`Exporter ${r}%`,leftIcon:c===X.Error?Tn:Nn,useSecondaryTone:!0,invertColors:!0})})]})}},{key:Wo.Age,rawValue:c(a.creationTimestamp)},{key:Wo.DockerImage,rawValue:a.image}]})),[i,s]);return e(ye,{richTitle:{icon:kn,title:"Pods"},children:[t(Gt,{variant:Kt.Data,maxHeight:n,isLoading:a,columns:Go,rows:p}),t(Ho,{pod:d,getExtendedPodInfo:o,onClose:()=>u(null)})]})};var Yo;!function(e){e.Gateway="gateway",e.Node="node"}(Yo||(Yo={}));const qo=[{value:Yo.Gateway,label:"Gateway"},{value:Yo.Node,label:"Node Collector"}],Jo=p.div`
315
168
  display: flex;
316
169
  align-items: center;
317
170
  justify-content: space-between;
318
- `,bs=({selectedTab:a,setSelectedTab:n,onClickDownloadDiagnose:o,onClickRefresh:l,loading:r,disabled:i})=>{const s=c(()=>{const e=[];return o&&e.push({id:ha(),type:Sa.Button,buttonProps:{label:"Download Diagnose",leftIcon:wn,size:$.S,variant:O.Text,onClick:o,disabled:i}}),l&&e.push({id:ha(),type:Sa.Button,buttonProps:{label:"Refresh",leftIcon:xn,size:$.S,variant:O.Text,onClick:l,disabled:i,loading:r}}),e},[o,l,i,r]);return e(vs,{children:[e(g,{$gap:12,$alignItems:"center",children:[t(Ra,{icon:Pn,title:"Pipeline Collectors"}),t(B,{options:fs,selected:a,setSelected:n,disabled:i})]}),t(Pa,{actions:s})]})},ys=({isOpen:e,onClose:a,title:n,yaml:o})=>t(Kt,{isOpen:e,header:{icon:$n,title:n,onClose:a},children:t(jn,{yaml:o,defaultOpen:!0})});var Ss;!function(e){e.ManifestYaml="manifest-yaml",e.ConfigMapYaml="configmap-yaml"}(Ss||(Ss={}));const Cs=({richTitle:a,statusCard:n,textCards:o,manifestYaml:r,configMapYaml:i})=>{const[s,c]=l(null);return e(ye,{richTitle:a,actions:[{id:ha(),type:Sa.ButtonDropData,buttonProps:{variant:O.Secondary,size:$.S,label:"View YAML",onClick:e=>c(e)},dropDataProps:{items:[{id:Ss.ManifestYaml,label:a?.title??"",icon:On},{id:Ss.ConfigMapYaml,label:"ConfigMap",icon:On}]}}],children:[e(g,{$gap:16,children:[t($a,{...n}),o.map(e=>t(Oa,{...e},e.title))]}),t(ys,{isOpen:s===Ss.ManifestYaml,onClose:()=>c(null),title:a?.title??"",yaml:r}),t(ys,{isOpen:s===Ss.ConfigMapYaml,onClose:()=>c(null),title:"ConfigMap",yaml:i})]})},ks=e=>{switch(e){case Ma.Healthy:return"All desired replicas are updated, available, and ready";case Ma.Updating:return"Workload is progressing towards desired state (e.g., updating pods)";case Ma.Degraded:return"Progressing but with availability issues (e.g., not enough available replicas)";case Ma.Failed:return"Progress deadline exceeded or an unrecoverable error occurred";case Ma.Down:return"No available replicas";case Ma.Unknown:return"Status cannot be determined from current signals";default:return"Status unknown"}},ws=({minSupportedVersion:a=0,tableRowsMaxHeight:o,getGatewayInfo:i,getGatewayPods:s,getNodeCollectorInfo:d,getNodeCollectorPods:u,getExtendedPodInfo:p})=>{const{formatTimeAgo:m}=ca(),{isVersionSupported:h,version:g}=ue(a),[f,v]=l(!1),[b,y]=l(gs.Gateway),[S,C]=l(null),[k,w]=l([]),[T,x]=l(null),[D,N]=l([]),A=r(async()=>{v(!0);try{switch(b){case gs.Gateway:C(await i()??null),w(await s()??[]);break;case gs.Node:x(await d()??null),N(await u()??[])}}catch(e){}v(!1)},[b]);n(()=>{A()},[A]);const I=c(()=>(e=>{switch(e){case gs.Gateway:return"Deployment";case gs.Node:return"DaemonSet";default:return"Pipeline Collectors"}})(b),[b]),E=c(()=>((e,t,a,n)=>{const o={status:_t.Disabled,label:"No rollouts yet"};let l=!1,r=null;switch(e){case gs.Gateway:l=t?.rolloutInProgress??!1,r=t?.lastRolloutAt??null;break;case gs.Node:l=a?.rolloutInProgress??!1,r=a?.lastRolloutAt??null;break;default:return o}return l?{status:Q.Info,label:"Rollout in progress",rightIcon:xn,useSecondaryTone:!0}:r?{status:_t.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:_t.Unknown,l=n?"Loading":Ma.Unknown,r=n?"Fetching data...":ks(Ma.Unknown);switch(e){case gs.Gateway:o=t?.status?Na(t?.status):o,l=t?.status??l,r=t?.status?ks(t.status):r;break;case gs.Node:o=a?.status?Na(a?.status):o,l=a?.status??l,r=a?.status?ks(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 gs.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 gs.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===gs.Gateway?S?.manifestYAML:T?.manifestYAML)??"",[S,T,b]),O=c(()=>(b===gs.Gateway?S?.configMapYAML:T?.configMapYAML)??"",[S,T,b]),M=c(()=>b===gs.Gateway?k:D,[k,D,b]);return e(ka,{children:[t(bs,{disabled:!h,loading:f,selectedTab:b,setSelectedTab:y,onClickDownloadDiagnose:void 0,onClickRefresh:A}),e(Fa,{children:[t(Cs,{richTitle:{icon:$n,title:I,badge:E},statusCard:R,textCards:P,manifestYaml:$,configMapYaml:O}),t(hs,{isLoading:f,tableRowsMaxHeight:o,pods:M,getExtendedPodInfo:p}),!h&&t(Un,{minSupportedVersion:a,currentVersion:g||""})]})]})},Ts=p.div`
171
+ `,Qo=({selectedTab:a,setSelectedTab:n,onClickDownloadDiagnose:i,onClickRefresh:o,loading:l,disabled:s})=>{const c=r(()=>{const e=[];return i&&e.push({id:jt(),type:Ht.Button,buttonProps:{label:"Download Diagnose",leftIcon:fn,size:$.S,variant:R.Text,onClick:i,disabled:s}}),o&&e.push({id:jt(),type:Ht.Button,buttonProps:{label:"Refresh",leftIcon:vn,size:$.S,variant:R.Text,onClick:o,disabled:s,loading:l}}),e},[i,o,s,l]);return e(Jo,{children:[e(D,{$gap:12,$alignItems:"center",children:[t(oa,{icon:An,title:"Pipeline Collectors"}),t(B,{options:qo,selected:a,setSelected:n,disabled:s})]}),t(la,{actions:c})]})},Zo=({isOpen:e,onClose:a,title:n,yaml:i})=>t(Ze,{isOpen:e,header:{icon:In,title:n,onClose:a},children:t(Hn,{yaml:i,defaultOpen:!0})});var el;!function(e){e.ManifestYaml="manifest-yaml",e.ConfigMapYaml="configmap-yaml"}(el||(el={}));const tl=({richTitle:a,statusCard:n,textCards:i,manifestYaml:o,configMapYaml:s})=>{const[r,c]=l(null);return e(ye,{richTitle:a,actions:[{id:jt(),type:Ht.ButtonDropData,buttonProps:{variant:R.Secondary,size:$.S,label:"View YAML",onClick:e=>c(e)},dropDataProps:{items:[{id:el.ManifestYaml,label:a?.title??"",icon:Dn},{id:el.ConfigMapYaml,label:"ConfigMap",icon:Dn}]}}],children:[e(D,{$gap:16,children:[t(sa,{...n}),i.map(e=>t(ra,{...e},e.title))]}),t(Zo,{isOpen:r===el.ManifestYaml,onClose:()=>c(null),title:a?.title??"",yaml:o}),t(Zo,{isOpen:r===el.ConfigMapYaml,onClose:()=>c(null),title:"ConfigMap",yaml:s})]})},al=e=>{switch(e){case ca.Healthy:return"All desired replicas are updated, available, and ready";case ca.Updating:return"Workload is progressing towards desired state (e.g., updating pods)";case ca.Degraded:return"Progressing but with availability issues (e.g., not enough available replicas)";case ca.Failed:return"Progress deadline exceeded or an unrecoverable error occurred";case ca.Down:return"No available replicas";case ca.Unknown:return"Status cannot be determined from current signals";default:return"Status unknown"}},nl=({minSupportedVersion:a=0,tableRowsMaxHeight:i,getGatewayInfo:o,getGatewayPods:s,getNodeCollectorInfo:d,getNodeCollectorPods:u,getExtendedPodInfo:p})=>{const{formatTimeAgo:m}=Vt(),{isVersionSupported:h,version:g}=Me(a),[b,f]=l(!1),[y,v]=l(Yo.Gateway),[C,S]=l(null),[w,k]=l([]),[T,N]=l(null),[A,I]=l([]),D=c(async()=>{f(!0);try{switch(y){case Yo.Gateway:S(await o()??null),k(await s()??[]);break;case Yo.Node:N(await d()??null),I(await u()??[])}}catch(e){}f(!1)},[y]);n(()=>{D()},[D]);const E=r(()=>(e=>{switch(e){case Yo.Gateway:return"Deployment";case Yo.Node:return"DaemonSet";default:return"Pipeline Collectors"}})(y),[y]),$=r(()=>((e,t,a,n)=>{const i={status:ze.Disabled,label:"No rollouts yet"};let o=!1,l=null;switch(e){case Yo.Gateway:o=t?.rolloutInProgress??!1,l=t?.lastRolloutAt??null;break;case Yo.Node:o=a?.rolloutInProgress??!1,l=a?.lastRolloutAt??null;break;default:return i}return o?{status:X.Info,label:"Rollout in progress",rightIcon:vn,useSecondaryTone:!0}:l?{status:ze.Disabled,label:`Last Rollout: ${n(l)}`}:i})(y,C,T,m),[C,T,y,m]),R=r(()=>((e,t,a,n)=>{let i=n?X.Info:ze.Unknown,o=n?"Loading":ca.Unknown,l=n?"Fetching data...":al(ca.Unknown);switch(e){case Yo.Gateway:i=t?.status?ta(t?.status):i,o=t?.status??o,l=t?.status?al(t.status):l;break;case Yo.Node:i=a?.status?ta(a?.status):i,o=a?.status??o,l=a?.status?al(a.status):l}return{status:i,title:o,description:l}})(y,C,T,b),[C,T,y,b]),x=r(()=>((e,t,a,n)=>{switch(e){case Yo.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 Yo.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[]}})(y,C,T,b),[C,T,y,b]),O=r(()=>(y===Yo.Gateway?C?.manifestYAML:T?.manifestYAML)??"",[C,T,y]),P=r(()=>(y===Yo.Gateway?C?.configMapYAML:T?.configMapYAML)??"",[C,T,y]),L=r(()=>y===Yo.Gateway?w:A,[w,A,y]);return e(Wt,{children:[t(Qo,{disabled:!h,loading:b,selectedTab:y,setSelectedTab:v,onClickDownloadDiagnose:void 0,onClickRefresh:D}),e(da,{children:[t(tl,{richTitle:{icon:In,title:E,badge:$},statusCard:R,textCards:x,manifestYaml:O,configMapYaml:P}),t(Ko,{isLoading:b,tableRowsMaxHeight:i,pods:L,getExtendedPodInfo:p}),!h&&t(Xn,{minSupportedVersion:a,currentVersion:g||""})]})]})},il=p.div`
319
172
  display: inline-flex;
320
173
  align-items: center;
321
174
  padding: 4px 8px;
@@ -325,7 +178,7 @@ import{jsxs as e,jsx as t,Fragment as a}from"react/jsx-runtime";import{useEffect
325
178
  overflow: hidden;
326
179
  white-space: pre;
327
180
  text-overflow: ellipsis;
328
- `,xs=p.div`
181
+ `,ol=p.div`
329
182
  display: inline-flex;
330
183
  align-items: center;
331
184
  gap: 24px;
@@ -335,14 +188,24 @@ import{jsxs as e,jsx as t,Fragment as a}from"react/jsx-runtime";import{useEffect
335
188
  overflow: hidden;
336
189
  white-space: pre;
337
190
  text-overflow: ellipsis;
338
- `,Ds=p(g)`
191
+ `,ll=p(D)`
339
192
  flex-shrink: 0;
340
193
  gap: 6px;
341
194
  align-items: center;
342
195
  min-height: 22px;
343
- `;const Ns=[{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"}],As=[{value:"all",label:za},{value:"Relevance",label:"Relevance"},{value:"Duration",label:"Duration"},{value:"Error",label:"Error"}],Is=({title:a,items:n,isLoading:o,showTypeFilter:i,tableRowsMaxHeight:s,onRuleClick:d,onCreateRule:u,onEditRule:p,onDeleteRule:h})=>{const g=m(),[f,y]=l(""),[S,C]=l("all"),k=c(()=>{let e=function(e,t,a){return a&&"all"!==t?e.filter(e=>e.typeBadge===t):e}(n,S,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,f),e},[n,S,i,f]),w=c(()=>k.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]}}}(g,a.typeBadge):void 0;return{cells:[{key:"name",rawValue:a.name||"",component:()=>t(xs,{$disabled:a.disabled,children:a.name&&t(v,{size:b.XXS,color:g.v2.colors.white[500],nowrap:!0,children:a.name})})},{key:"summary",rawValue:a.summary.map(e=>e.text).join(""),component:()=>t(xs,{$disabled:a.disabled,children:t(Ts,{children:t(zn,{parts:a.summary})})})},{key:"badges",rawValue:a.typeBadge||"",component:()=>e(Ds,{children:[a.disabled&&t(se,{label:La,textSize:b.XXXS,backgroundColor:g.v2.colors.grey[700],textColor:g.v2.colors.grey[300]}),a.typeBadge&&n&&t(se,{label:a.typeBadge,textSize:b.XXXS,backgroundColor:n.bg,textColor:n.text})]})}],onClick:()=>d(a)}}),[k,g,d]),T=c(()=>{const e=e=>t(on,{...e,fill:g.v2.colors.red[500]});return e.displayName="RedDeleteIcon",e},[g]),x=r(e=>{const t=w.indexOf(e);if(t<0)return[];const a=k[t];return a?[{id:"edit","data-id":"sampling-rule-action-edit",label:fa,leftIcon:ln,onClick:()=>p(a.ruleId,a.samplingId)},{id:"delete","data-id":"sampling-rule-action-delete",label:"",leftIcon:T,onClick:()=>h(a.ruleId,a.samplingId)}]:[]},[w,k,p,h,T]);return t(ye,{fullHeight:!0,richTitle:{icon:vn,title:a,badge:{label:n.length,backgroundColor:g.v2.colors.silver[600],textColor:g.v2.colors.white[500]}},search:{"data-id":"sampling-search-rules",value:f,onChange:y,placeholder:"Search..",width:"500px",...i?{segment:{"data-id":"sampling-segment-type-filter",options:As,selected:S,setSelected:C}}:{}},children:t(wa,{variant:Ta.Pretty,hideHeader:!0,maxHeight:s,isLoading:o,noDataProps:{hideIcon:!0,title:"No Rules Exist",button:{label:"Create your first rule",onClick:u}},columns:Ns,rows:w,getRowActions:x})})};function Es(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 Rs(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 Ps(e){if("custom"===e.durationPreset){const t=parseFloat(e.customDurationMs);return isNaN(t)?null:t}return parseInt(e.durationPreset,10)}function $s(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 Os(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 Ms(e){return{name:e.name||null,disabled:e.disabled,sourceScopes:Es(e),operation:$s(e),percentageAtMost:Rs(e),notes:e.notes||null}}function Fs(e){return{name:e.name||null,disabled:e.disabled,sourceScopes:Es(e),error:"Error"===e.ruleType,durationAtLeastMs:"Duration"===e.ruleType?Ps(e):null,operation:Os(e),percentageAtLeast:Rs(e),notes:e.notes||null}}function Ls(e){const t=Rs(e);return{name:e.name||null,disabled:e.disabled,sourceScopes:Es(e),operation:Os(e),percentageAtMost:t??0,notes:e.notes||null}}const zs=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(Dl.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(()=>Hl(s),[s]),K=c(()=>function(e){for(const t of e){const e=t.highlyRelevantOperations.find(Wl);if(e)return{rule:e,samplingId:t.id}}return null}(i),[i]),G=c(()=>Kl(K?.rule??null),[K]),q=c(()=>function(e){for(const t of e){const e=t.costReductionRules.find(Gl);if(e)return{rule:e,samplingId:t.id}}return null}(i),[i]),Y=c(()=>ql(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=Vl(e,t.samplingId,t.rule.ruleId,t.category);return a?{...a,summary:zl(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=El[t],o=[];for(const l of e)switch(t){case Dl.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:Ol(e),category:n});break;case Dl.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:Ml(e),category:n,typeBadge:Ll(e)});break;case Dl.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:Fl(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(El[D]){case"noisy":f(t,Ms(e));break;case"highlyRelevant":b(t,Fs(e));break;case"costReduction":S(t,Ls(e))}F(!1)},[i,D,f,b,S]),le=r(e=>{const t=function(e,t){const a=Vl(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:zl(n.category,n.rule)})}},[A,i]),se=r((e,t,a)=>{const n=A?.category;if(n){switch(n){case"noisy":v(a,t,Ms(e));break;case"highlyRelevant":y(a,t,Fs(e));break;case"costReduction":C(a,t,Ls(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||El[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=El[D];let a=null;switch(t){case"noisy":{const n=Ms(e);a=jl(i,t,{sourceScopes:n.sourceScopes,operation:n.operation});break}case"highlyRelevant":{const n=Fs(e);a=jl(i,t,{sourceScopes:n.sourceScopes,operation:n.operation,error:n.error??!1,durationAtLeastMs:n.durationAtLeastMs});break}case"costReduction":{const n=Ls(e);a=jl(i,t,{sourceScopes:n.sourceScopes,operation:n.operation});break}}return a?{message:Va,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=Ms(e);n=jl(i,t,{sourceScopes:o.sourceScopes,operation:o.operation},a);break}case"highlyRelevant":{const o=Fs(e);n=jl(i,t,{sourceScopes:o.sourceScopes,operation:o.operation,error:o.error??!1,durationAtLeastMs:o.durationAtLeastMs},a);break}case"costReduction":{const o=Ls(e);n=jl(i,t,{sourceScopes:o.sourceScopes,operation:o.operation},a);break}}return n?{message:Va,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:zl(a.category,a.rule)})}},[i]),be=c(()=>{const e=[];return a.docsUrl&&e.push({id:ha(),type:Sa.Button,buttonProps:{"data-id":"sampling-btn-docs",label:Xa,leftIcon:tn,size:$.S,variant:O.Text,onClick:()=>window.open(a.docsUrl,"_blank")}}),e.push({id:ha(),type:Sa.Button,buttonProps:{"data-id":"sampling-btn-refresh",label:Ba,leftIcon:xn,size:$.S,variant:O.Text,onClick:m,loading:u}}),e.push({id:ha(),type:Sa.Button,buttonProps:{"data-id":"sampling-btn-create-rule",label:_a,rightIcon:en,size:$.S,variant:O.Primary,onClick:ae}}),e},[a.docsUrl,m,u,ae]);return e(ka,{children:[e(g,{$gap:12,$justifyContent:"space-between",children:[t(Ra,{icon:vn,title:ja,subTitle:Ua}),t(Pa,{actions:be})]}),e(h,{$gap:12,children:[t(B,{variant:Ha.Underline,options:Nl,selected:D,setSelected:N}),e(g,{$justifyContent:"space-between",children:[t(J,{status:Q.Default,message:Al[D]}),a.docsUrl&&t(P,{"data-id":"sampling-btn-docs-banner",label:"Docs",leftIcon:tn,size:$.S,variant:O.Text,onClick:()=>window.open(a.docsUrl,"_blank")})]}),D===Dl.Noisy&&t(xl,{title:wt,summary:W,onEdit:()=>X(!0)}),D===Dl.HighlyRelevant&&t(xl,{title:Dt,summary:G,onEdit:()=>U(!0)}),D===Dl.CostReduction&&t(xl,{title:Nt,summary:Y,onEdit:()=>H(!0)}),t(Is,{title:Il[D],items:te,isLoading:u,showTypeFilter:D===Dl.HighlyRelevant,tableRowsMaxHeight:p,onRuleClick:le,onCreateRule:ae,onEditRule:ie,onDeleteRule:ce})]}),t(_i,{data:A,defaultEditMode:E,onClose:re,onDelete:ce,onSaveEdit:se,sourceOptions:T,namespaceOptions:x,validateForm:fe,onNavigateToDuplicate:ve}),t(Si,{isOpen:M,category:El[D],onClose:ne,onSubmit:oe,sourceOptions:T,namespaceOptions:x,validateForm:ge,onNavigateToDuplicate:ve}),t(ki,{isOpen:V,enabled:s?.enabled??!1,keepPercentage:s?.keepPercentage??0,onClose:()=>X(!1),onSave:pe}),t(Ti,{isOpen:_,enabled:!!K&&!K.rule.disabled,onClose:()=>U(!1),onSave:me}),t(Di,{isOpen:j,enabled:!!q&&!q.rule.disabled,dropPercentage:q?.rule.percentageAtMost??25,onClose:()=>H(!1),onSave:he}),t(Wa,{title:Ya,description:qa,isOpen:!!L,onClose:ue,onApprove:de,approveLabel:Ga,denyLabel:Ka})]})},Vs=p.div`
196
+ `;const sl=[{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"}],rl=[{value:"all",label:ma},{value:"Relevance",label:"Relevance"},{value:"Duration",label:"Duration"},{value:"Error",label:"Error"}],cl=({title:a,items:n,isLoading:i,showTypeFilter:o,tableRowsMaxHeight:s,onRuleClick:d,onCreateRule:u,onEditRule:p,onDeleteRule:h})=>{const g=m(),[b,f]=l(""),[y,v]=l("all"),C=r(()=>{let e=function(e,t,a){return a&&"all"!==t?e.filter(e=>e.typeBadge===t):e}(n,y,o);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,b),e},[n,y,o,b]),S=r(()=>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]}}}(g,a.typeBadge):void 0;return{cells:[{key:"name",rawValue:a.name||"",component:()=>t(ol,{$disabled:a.disabled,children:a.name&&t(F,{size:M.XXS,color:g.v2.colors.white[500],nowrap:!0,children:a.name})})},{key:"summary",rawValue:a.summary.map(e=>e.text).join(""),component:()=>t(ol,{$disabled:a.disabled,children:t(il,{children:t(ua,{parts:a.summary})})})},{key:"badges",rawValue:a.typeBadge||"",component:()=>e(ll,{children:[a.disabled&&t(ie,{label:pa,textSize:M.XXXS,backgroundColor:g.v2.colors.grey[700],textColor:g.v2.colors.grey[300]}),a.typeBadge&&n&&t(ie,{label:a.typeBadge,textSize:M.XXXS,backgroundColor:n.bg,textColor:n.text})]})}],onClick:()=>d(a)}}),[C,g,d]),w=r(()=>{const e=e=>t(qa,{...e,fill:g.v2.colors.red[500]});return e.displayName="RedDeleteIcon",e},[g]),k=c(e=>{const t=S.indexOf(e);if(t<0)return[];const a=C[t];return a?[{id:"edit","data-id":"sampling-rule-action-edit",label:ft,leftIcon:Ja,onClick:()=>p(a.ruleId,a.samplingId)},{id:"delete","data-id":"sampling-rule-action-delete",label:"",leftIcon:w,onClick:()=>h(a.ruleId,a.samplingId)}]:[]},[S,C,p,h,w]);return t(ye,{fullHeight:!0,richTitle:{icon:pn,title:a,badge:{label:n.length,backgroundColor:g.v2.colors.silver[600],textColor:g.v2.colors.white[500]}},search:{"data-id":"sampling-search-rules",value:b,onChange:f,placeholder:"Search..",width:"500px",...o?{segment:{"data-id":"sampling-segment-type-filter",options:rl,selected:y,setSelected:v}}:{}},children:t(Gt,{variant:Kt.Pretty,hideHeader:!0,maxHeight:s,isLoading:i,noDataProps:{hideIcon:!0,title:"No Rules Exist",button:{label:"Create your first rule",onClick:u}},columns:sl,rows:S,getRowActions:k})})},dl=a=>{const{workloads:i,samplingRules:o,k8sHealthProbesConfig:s,loading:u,tableRowsMaxHeight:p,fetchSamplingRules:m,createNoisyOperationRule:h,updateNoisyOperationRule:b,createHighlyRelevantOperationRule:f,updateHighlyRelevantOperationRule:y,createCostReductionRule:v,updateCostReductionRule:C,deleteSamplingRule:S,updateK8sHealthProbesConfig:w}=a,k=r(()=>i.map(({id:e})=>({id:`${e.namespace}/${e.kind}/${e.name}`,label:`${e.namespace} / ${e.kind} / ${e.name}`})),[i]),T=r(()=>Array.from(new Set(i.map(({id:e})=>e.namespace))).sort().map(e=>({id:e,label:e})),[i]),[N,A]=l(ha.Noisy),[I,x]=l(null),[O,P]=l(!1),[L,F]=l(!1),[M,V]=l(null),[z,_]=l(!1),[U,H]=l(!1),[W,G]=l(!1),K=r(()=>ga(s),[s]),Y=r(()=>ba(o),[o]),q=r(()=>fa(Y?.rule??null),[Y]),J=r(()=>ya(o),[o]),Q=r(()=>va(J?.rule??null),[J]),Z=d(I);Z.current=I,n(()=>{const e=Z.current;if(!e)return;const t=Ca(o,e);t?x(t):(x(null),P(!1))},[o]);const ee=r(()=>{const e=new Set;return Y&&e.add(Y.rule.ruleId),J&&e.add(J.rule.ruleId),e},[Y,J]),te=r(()=>Sa(o,N,ee),[o,N,ee]),ae=c(()=>F(!0),[]),ne=c(()=>F(!1),[]),ie=c(e=>{const t=o[0]?.id??"default";switch(Ia[N]){case"noisy":h(t,Ta(e));break;case"highlyRelevant":f(t,ka(e));break;case"costReduction":v(t,wa(e))}F(!1)},[o,N,h,f,v]),oe=c(e=>{const t=Na(o,e);t&&(P(!1),x(t))},[o]),le=c(()=>{x(null),P(!1)},[]),se=c((e,t)=>{const a=I;if(a&&a.rule.ruleId===e&&a.samplingId===t)P(!0),x({...a});else for(const a of o){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 P(!0),void x({category:n.category,rule:n.rule,samplingId:t,summary:Aa(n.category,n.rule)})}},[I,o]),de=c((e,t,a)=>{const n=I?.category;if(n){switch(n){case"noisy":b(a,t,Ta(e));break;case"highlyRelevant":y(a,t,ka(e));break;case"costReduction":C(a,t,wa(e))}P(!1)}},[I,b,y,C]),ue=c((e,t)=>{V({ruleId:e,samplingId:t})},[]),pe=c(()=>{if(!M)return;const{ruleId:e,samplingId:t}=M,a=I?.category||Ia[N];S(t,e,a),x(null),P(!1),V(null)},[M,I,N,S]),he=c(()=>V(null),[]),ge=c((e,t)=>{w(e,t),_(!1)},[w]),be=c(e=>{const t=o[0]?.id??"default",a=Y;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&&f(t,{name:"Auto - Keep All Error Traces",disabled:!1,error:!0,sourceScopes:[],operation:null,percentageAtLeast:null}),H(!1)},[o,Y,f,y]),ye=c((e,t)=>{const a=o[0]?.id??"default",n=J;n?C(n.samplingId,n.rule.ruleId,{name:n.rule.name,disabled:!e,sourceScopes:[],operation:null,percentageAtMost:t,notes:n.rule.notes}):e&&v(a,{name:"Auto - Drop Traces Cluster-Wide",disabled:!1,sourceScopes:[],operation:null,percentageAtMost:t}),G(!1)},[o,J,v,C]),ve=c(e=>{const t=Ia[N];let a=null;switch(t){case"noisy":{const n=Ta(e);a=Da(o,t,{sourceScopes:n.sourceScopes,operation:n.operation});break}case"highlyRelevant":{const n=ka(e);a=Da(o,t,{sourceScopes:n.sourceScopes,operation:n.operation,error:n.error??!1,durationAtLeastMs:n.durationAtLeastMs});break}case"costReduction":{const n=wa(e);a=Da(o,t,{sourceScopes:n.sourceScopes,operation:n.operation});break}}return a?{message:Ea,ruleId:a}:null},[o,N]),Ce=c(e=>{const t=I?.category,a=I?.rule.ruleId;if(!t)return null;let n=null;switch(t){case"noisy":{const i=Ta(e);n=Da(o,t,{sourceScopes:i.sourceScopes,operation:i.operation},a);break}case"highlyRelevant":{const i=ka(e);n=Da(o,t,{sourceScopes:i.sourceScopes,operation:i.operation,error:i.error??!1,durationAtLeastMs:i.durationAtLeastMs},a);break}case"costReduction":{const i=wa(e);n=Da(o,t,{sourceScopes:i.sourceScopes,operation:i.operation},a);break}}return n?{message:Ea,ruleId:n}:null},[o,I]),Se=c(e=>{F(!1);for(const t of o){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 P(!0),void x({category:a.category,rule:a.rule,samplingId:t.id,summary:Aa(a.category,a.rule)})}},[o]),we=r(()=>{const e=[];return a.docsUrl&&e.push({id:jt(),type:Ht.Button,buttonProps:{"data-id":"sampling-btn-docs",label:$a,leftIcon:Ga,size:$.S,variant:R.Text,onClick:()=>window.open(a.docsUrl,"_blank")}}),e.push({id:jt(),type:Ht.Button,buttonProps:{"data-id":"sampling-btn-refresh",label:Ra,leftIcon:vn,size:$.S,variant:R.Text,onClick:m,loading:u}}),e.push({id:jt(),type:Ht.Button,buttonProps:{"data-id":"sampling-btn-create-rule",label:xa,rightIcon:Wa,size:$.S,variant:R.Primary,onClick:ae}}),e},[a.docsUrl,m,u,ae]);return e(Wt,{children:[e(D,{$gap:12,$justifyContent:"space-between",children:[t(oa,{icon:pn,title:Pa,subTitle:Oa}),t(la,{actions:we})]}),e(g,{$gap:12,children:[t(B,{variant:Fa.Underline,options:La,selected:N,setSelected:A}),e(D,{$justifyContent:"space-between",children:[t(j,{status:X.Default,message:Ma[N]}),a.docsUrl&&t(E,{"data-id":"sampling-btn-docs-banner",label:"Docs",leftIcon:Ga,size:$.S,variant:R.Text,onClick:()=>window.open(a.docsUrl,"_blank")})]}),N===ha.Noisy?t(Rn,{title:fe,summary:K,onEdit:()=>_(!0)}):N===ha.HighlyRelevant?t(Rn,{title:ce,summary:q,onEdit:()=>H(!0)}):N===ha.CostReduction?t(Rn,{title:me,summary:Q,onEdit:()=>G(!0)}):null,t(cl,{title:Va[N],items:te,isLoading:u,showTypeFilter:N===ha.HighlyRelevant,tableRowsMaxHeight:p,onRuleClick:oe,onCreateRule:ae,onEditRule:se,onDeleteRule:ue})]}),t(mo,{formType:re.View,data:I,defaultEditMode:O,onClose:le,onDelete:ue,onSaveEdit:de,sourceOptions:k,namespaceOptions:T,validateForm:Ce,onNavigateToDuplicate:Se}),t(mo,{formType:re.Create,isOpen:L,category:Ia[N],onClose:ne,onSubmit:ie,sourceOptions:k,namespaceOptions:T,validateForm:ve,onNavigateToDuplicate:Se}),t(mo,{formType:re.EditAutoNoisy,isOpen:z,enabled:s?.enabled??!1,keepPercentage:s?.keepPercentage??0,onClose:()=>_(!1),onSave:ge}),t(mo,{formType:re.EditAutoHighlyRelevant,isOpen:U,enabled:!!Y&&!Y.rule.disabled,onClose:()=>H(!1),onSave:be}),t(mo,{formType:re.EditAutoCostReduction,isOpen:W,enabled:!!J&&!J.rule.disabled,dropPercentage:J?.rule.percentageAtMost??25,onClose:()=>G(!1),onSave:ye}),t(Ba,{title:ja,description:Ua,isOpen:!!M,onClose:he,onApprove:pe,approveLabel:_a,denyLabel:za})]})},ul=p.div`
344
197
  display: flex;
345
198
  align-items: center;
346
199
  justify-content: space-between;
347
200
  padding: 0 12px;
348
- `,Xs=({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:ha(),type:Sa.Button,buttonProps:{label:"Reset",leftIcon:Za,size:$.S,variant:O.Text,onClick:()=>p(!0),disabled:a}}),d&&e.push({id:ha(),type:Sa.Button,buttonProps:{label:"Refresh",leftIcon:xn,size:$.S,variant:O.Text,onClick:d,disabled:a,loading:n}}),e},[a,n,d]);return e(Vs,{children:[e(g,{$gap:12,$alignItems:"center",children:[t(Ra,{icon:bn,title:"Odigos Settings"}),t(Vt,{width:"350px",options:o,values:[r],setValues:e=>i(e[0]),disabled:a})]}),t(Pa,{actions:m}),t(Wa,{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."})]})},Bs=e=>"general"===e.name?0:"advanced"===e.name?2:1,_s=({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}=ue(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}=L(S);n(()=>{"{}"!==JSON.stringify(S)&&"{}"===JSON.stringify(C)&&k(void 0,void 0,S)},[S,C]);const D=c(()=>[...r].sort((e,t)=>Bs(e)-Bs(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:ha(),type:Sa.Button,buttonProps:{"data-id":"settings-save",variant:O.Primary,size:$.S,label:"Save Changes",leftIcon:hn,loading:f,onClick:()=>E(!0)}},{id:ha(),type:Sa.Button,buttonProps:{"data-id":"settings-cancel",variant:O.Secondary,size:$.S,label:"Cancel",leftIcon:cn,onClick:()=>k(void 0,void 0,S)}}],[f,T,S,C,k]),P=c(()=>D.map(e=>({id:e.name,label:e.displayName})),[D]),F=c(()=>D.map(e=>e.name),[D]),{selectedSection:z,setSelectedSection:X,setSectionRef:B}=Ja({sectionNames:F});return e(ka,{$heightOffset:o,$gap:12,children:[t(Xs,{disabled:!v,loading:i||d,tabs:P,selectedTab:z,setSelectedTab:X,onClickReset:p?()=>p().then(()=>u?.()):void 0,onClickRefresh:u?()=>u():void 0}),e(Fa,{children:[!v&&t(Un,{minSupportedVersion:a,currentVersion:b||""}),t(xa,{isOpen:x,richTitle:{icon:bn,title:"Config Settings"},actions:R}),t(Wa,{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(ye,{id:a.name,ref:e=>B(a.name,e),richTitle:{icon:bn,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(Fn,{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:_t.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(Pt,{$height:"30vh",children:t(Ft,{withSpinner:!0})}):t(ye,{richTitle:{icon:bn,title:"Config Settings"},children:t(V,{title:"YAML not found",subTitle:"The YAML for this resource is not available"})})}),d&&!s?.manifestYAML?t(Pt,{$height:"30vh",children:t(Ft,{withSpinner:!0})}):t(jn,{title:"Effective Config YAML",yaml:s?.manifestYAML?.replaceAll(" |",""),defaultOpen:!0,fullHeight:!0})]})]})]})};export{qr as AddActionDrawer,uo as AddActionForm,so as AddActionFormContextProvider,ii as AddDestinationDrawer,yo as AddDestinationForm,fo as AddDestinationFormContextProvider,si as AddRuleDrawer,Ro as AddRuleForm,Io as AddRuleFormContextProvider,bi as AddSourceDrawer,$o as AddSourceFormContextProvider,Gi as CentralConnections,Si as CreateSamplingRuleDrawer,nr as CreateSamplingRuleForm,fl as CreateSamplingRuleFormContextProvider,ki as EditAutoRuleDrawer,Lr as EditAutoRuleForm,Or as EditAutoRuleFormContextProvider,Ni as EditConfigDrawer,Di as EditCostReductionAutoRuleDrawer,Kr as EditCostReductionAutoRuleForm,jr as EditCostReductionAutoRuleFormContextProvider,Ti as EditHighlyRelevantAutoRuleDrawer,Br as EditHighlyRelevantAutoRuleForm,Vr as EditHighlyRelevantAutoRuleFormContextProvider,ss as Onboarding,ws as PipelineCollectors,zs as SamplingRules,_s as Settings,Fi as SystemDrawer,_i as ViewSamplingRuleDrawer,Rr as ViewSamplingRuleForm,kr as ViewSamplingRuleFormContextProvider,co as useAddActionFormContext,vo as useAddDestinationFormContext,Eo as useAddRuleFormContext,Oo as useAddSourceFormContext,vl as useCreateSamplingRuleFormContext,Mr as useEditAutoRuleFormContext,Hr as useEditCostReductionAutoRuleFormContext,Xr as useEditHighlyRelevantAutoRuleFormContext,wr as useViewSamplingRuleFormContext};
201
+ `,pl=({disabled:a,loading:n,tabs:i,selectedTab:o,setSelectedTab:s,onClickReset:c,onClickRefresh:d})=>{const[u,p]=l(!1),m=r(()=>{const e=[];return c&&e.push({id:jt(),type:Ht.Button,buttonProps:{label:"Reset",leftIcon:Ha,size:$.S,variant:R.Text,onClick:()=>p(!0),disabled:a}}),d&&e.push({id:jt(),type:Ht.Button,buttonProps:{label:"Refresh",leftIcon:vn,size:$.S,variant:R.Text,onClick:d,disabled:a,loading:n}}),e},[a,n,d]);return e(ul,{children:[e(D,{$gap:12,$alignItems:"center",children:[t(oa,{icon:un,title:"Odigos Settings"}),t(Re,{width:"350px",options:i,values:[o],setValues:e=>s(e[0]),disabled:a})]}),t(la,{actions:m}),t(Ba,{isOpen:u,onClose:()=>p(!1),onDeny:()=>p(!1),onApprove:c,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."})]})},ml=p(D)`
202
+ flex: 1;
203
+ min-height: 0;
204
+ width: 100%;
205
+ align-self: stretch;
206
+ `,hl=p(g)`
207
+ flex: 1;
208
+ min-height: 0;
209
+ height: 100%;
210
+ overflow-y: auto;
211
+ `,gl=e=>"general"===e.name?0:"advanced"===e.name?2:1,bl=({minSupportedVersion:a=0,pageHeightOffset:i=0,configYamls:o,configYamlsLoading:s,effectiveConfig:c,effectiveConfigLoading:d,refetch:u,factoryReset:p,onSave:m,saveLoading:h})=>{const{isVersionSupported:b,version:f,isEnterprise:y}=Me(a),v=r(()=>{if(!c)return{};const{manifestYAML:e,provenance:t,...a}=c;return a},[c]),{formData:C,handleFormChange:S,getNestedValue:w,getFormDiff:k,isFormDirty:T}=ot(v);n(()=>{"{}"!==JSON.stringify(v)&&"{}"===JSON.stringify(C)&&S(void 0,void 0,v)},[v,C]);const N=r(()=>[...o].sort((e,t)=>gl(e)-gl(t)),[o]),A=r(()=>(e=>{if(!e)return{};const t={};for(const a of e)t[a.helmPath]=a.reconciledFrom;return t})(c?.provenance),[c?.provenance]),I=r(()=>{const e=new Set;for(const t of o)for(const a of t.fields)a.componentType===x.Dropdown&&e.add(a.helmValuePath);return e},[o]),[D,E]=l(!1),O=r(()=>[{id:jt(),type:Ht.Button,buttonProps:{"data-id":"settings-save",variant:R.Primary,size:$.S,label:"Save Changes",leftIcon:ln,loading:h,onClick:()=>E(!0)}},{id:jt(),type:Ht.Button,buttonProps:{"data-id":"settings-cancel",variant:R.Secondary,size:$.S,label:"Cancel",leftIcon:sn,onClick:()=>S(void 0,void 0,v)}}],[h,k,v,C,S]),P=r(()=>N.map(e=>({id:e.name,label:e.displayName})),[N]),F=r(()=>N.map(e=>e.name),[N]),{selectedSection:M,setSelectedSection:V,setSectionRef:B,setScrollContainerRef:z}=Xa({sectionNames:F});return e(Wt,{$heightOffset:i,$gap:12,children:[t(pl,{disabled:!b,loading:s||d,tabs:P,selectedTab:M,setSelectedTab:V,onClickReset:p?()=>p().then(()=>u?.()):void 0,onClickRefresh:u?()=>u():void 0}),e(da,{children:[!b&&t(Xn,{minSupportedVersion:a,currentVersion:f||""}),t(Zt,{isOpen:T,richTitle:{icon:un,title:"Config Settings"},actions:O}),t(Ba,{isOpen:D,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 i=n;for(const e of t){if(null==i||"object"!=typeof i){i=void 0;break}i=i[e]}"string"==typeof i&&a(n,t,i.replaceAll("-","_"))}return n})(k(v,C),I);await(m?.(e)),S(void 0,void 0,{})},denyLabel:"Keep editing",onDeny:()=>E(!1)}),e(ml,{$gap:24,$alignItems:"stretch",children:[t(hl,{ref:z,$gap:24,$width:"100%",children:o.length?N.map(a=>t(ye,{id:a.name,ref:e=>B(a.name,e),richTitle:{icon:un,title:a.displayName},children:a.fields.map(a=>{if(a.isEnterpriseOnly&&!y)return null;const n=Pe(a.componentProps||"{}",{}),i=A[a.helmValuePath];return e(g,{$gap:4,children:[t($n,{componentType:a.componentType,inputType:n.type,name:a.helmValuePath,label:a.displayName,tooltip:a.description,badge:i?{status:"odigos-local-ui-config"===i?X.Warning:ze.Unknown,label:i,tooltip:`This field is reconciled from the following resource: ${i}`}:void 0,disabled:a.isHelmOnly||h,value:w("formData",a.helmValuePath),setValue:e=>S(a.helmValuePath,e),dropdownOptions:n.options?.map(e=>({id:e,value:e})),dropdownNoSearch:!0,dropdownNoCheckbox:!0},a.helmValuePath),a.isHelmOnly?t(j,{status:X.Info,smallIcon:!0,message:"This field can only be updated via Helm values.yaml file"}):null]},a.helmValuePath)})},a.name)):s?t(ke,{$height:"30vh",children:t(De,{withSpinner:!0})}):t(ye,{richTitle:{icon:un,title:"Config Settings"},children:t(L,{title:"YAML not found",subTitle:"The YAML for this resource is not available"})})}),t(hl,{children:d&&!c?.manifestYAML?t(ke,{$height:"30vh",children:t(De,{withSpinner:!0})}):t(Hn,{title:"Effective Config YAML",yaml:c?.manifestYAML?.replaceAll(" |",""),defaultOpen:!0,fullHeight:!0})})]})]})]})};export{Ni as AddActionDrawer,ii as AddActionForm,Mi as AddDestinationDrawer,si as AddDestinationForm,Vi as AddRuleDrawer,gi as AddRuleForm,Ki as AddSourceDrawer,Do as CentralConnections,Yi as EditActionDrawer,qi as EditConfigDrawer,Ji as EditDestinationDrawer,Qi as EditRuleDrawer,Uo as Onboarding,nl as PipelineCollectors,mo as SamplingRuleDrawer,fi as SamplingRuleForm,dl as SamplingRules,bl as Settings,wo as SystemDrawer};