@odigos/ui-kit 0.0.208 → 0.0.209
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.
- package/CHANGELOG.md +13 -0
- package/lib/chunks/{index-Dt6gx0e3.js → index-pLAVCKXo.js} +1 -1
- package/lib/chunks/{ui-components-gnCD7JOq.js → ui-components-CwVshImz.js} +4 -4
- package/lib/components/v2.js +1 -1
- package/lib/components.js +1 -1
- package/lib/constants.js +1 -1
- package/lib/containers/v2.js +2 -2
- package/lib/containers.js +116 -116
- package/lib/contexts.js +1 -1
- package/lib/functions.js +1 -1
- package/lib/hooks.js +1 -1
- package/lib/snippets.js +1 -1
- package/lib/store.js +1 -1
- package/lib/theme.js +1 -1
- package/lib/types/actions/index.d.ts +1 -0
- package/lib/types/common/index.d.ts +0 -1
- package/lib/types.js +1 -1
- package/lib/visuals.js +1 -1
- package/package.json +1 -1
package/CHANGELOG.md
CHANGED
|
@@ -1,5 +1,18 @@
|
|
|
1
1
|
# Changelog
|
|
2
2
|
|
|
3
|
+
## [0.0.209](https://github.com/odigos-io/ui-kit/compare/ui-kit-v0.0.208...ui-kit-v0.0.209) (2026-03-19)
|
|
4
|
+
|
|
5
|
+
|
|
6
|
+
### Features
|
|
7
|
+
|
|
8
|
+
* conditionally render row and island actions based on VM status in CentralConnections component ([#728](https://github.com/odigos-io/ui-kit/issues/728)) ([189c3c4](https://github.com/odigos-io/ui-kit/commit/189c3c4c53f0995e2d09eaac3ccccd238493dfb9))
|
|
9
|
+
|
|
10
|
+
|
|
11
|
+
### Bug Fixes
|
|
12
|
+
|
|
13
|
+
* filter URLTemplatization action by cluster version ([#736](https://github.com/odigos-io/ui-kit/issues/736)) ([6b7dafc](https://github.com/odigos-io/ui-kit/commit/6b7dafc8bef9dc55706ede8d8d709b5b779841e7))
|
|
14
|
+
* remove lastTransitionTime from condition-related interfaces ([#735](https://github.com/odigos-io/ui-kit/issues/735)) ([6b5c833](https://github.com/odigos-io/ui-kit/commit/6b5c8332a792c573b48164ddfcb9dfed86ad417d))
|
|
15
|
+
|
|
3
16
|
## [0.0.208](https://github.com/odigos-io/ui-kit/compare/ui-kit-v0.0.207...ui-kit-v0.0.208) (2026-03-17)
|
|
4
17
|
|
|
5
18
|
|
|
@@ -1,3 +1,3 @@
|
|
|
1
|
-
import{jsx as t}from"react/jsx-runtime";import{useState as o,useMemo as e}from"react";import i from"styled-components";import{as as a,h as s,j as n,aE as r,aC as c,aw as l,
|
|
1
|
+
import{jsx as t}from"react/jsx-runtime";import{useState as o,useMemo as e}from"react";import i from"styled-components";import{as as a,h as s,j as n,aE as r,aC as c,aw as l,cP as p,n as m,N as d}from"./ui-components-CwVshImz.js";import{VIcon as u,CopyIcon as f,ChevronUpIcon as h,ChevronDownIcon as y,YamlIcon as b}from"../icons.js";const C=i.div`
|
|
2
2
|
padding: 0 12px;
|
|
3
3
|
`,j=({title:i="YAML",yaml:j,defaultOpen:k})=>{const{clickCopy:Y,isCopied:g}=a(),[v,x]=o(k??!1),A=e(()=>j?[{id:c(),type:r.Button,buttonProps:{variant:n.Secondary,size:s.S,leftIcon:g?u:f,onClick:()=>Y(j||""),disabled:g}},{id:c(),type:r.Button,buttonProps:{variant:n.Secondary,size:s.S,leftIcon:v?h:y,onClick:()=>x(t=>!t)}}]:[],[j,g,v]);return t(l,{richTitle:{icon:b,title:i},actions:A,children:v&&t(C,{children:j?t(p,{code:j,language:"yaml",theme:"duotoneDark"}):t(m,{children:t(d,{title:"YAML not found",subTitle:"The YAML for this resource is not available"})})})})};export{j as Y};
|
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
import{SamplerIcon as e,PiiMaskingIcon as t,ActionIcon as i,RenameAttributeIcon as n,DeleteAttributeIcon as o,AddClusterInfoIcon as r,K8sLogo as a,ImageErrorIcon as s,KafkaLogo as l,RedisLogo as c,PostgresLogo as d,NginxLogo as p,MysqlLogo as u,ElixirLogo as h,SwiftLogo as m,RustLogo as g,RubyLogo as $,PhpLogo as x,CPlusPlusLogo as f,CSharpLogo as b,DotnetLogo as y,PythonLogo as w,NodejsLogo as v,GoLogo as C,JavaLogo as k,AwsXrayLogo as S,VictoriaMetricsLogo as E,UptraceLogo as A,TraceloopLogo as T,TingyunLogo as D,TempoLogo as I,TelemetryHubLogo as N,SumoLogicLogo as O,SplunkLogo as z,SignozLogo as F,SeqLogo as _,AwsS3Logo as R,QuickwitLogo as B,GigapipeLogo as M,QrynLogo as L,PrometheusLogo as P,OpenTelemetryLogo as j,OracleLogo as U,OpsVerseLogo as W,OpenObserveLogo as V,OneUptimeLogo as G,OdigosLogo as q,ObserveLogo as H,NewRelicLogo as K,MiddlewareLogo as Y,LumigoLogo as J,LokiLogo as X,LogzioLogo as Z,LightstepLogo as Q,Last9Logo as ee,KloudmateLogo as te,JaegerLogo as ie,InstanaLogo as ne,HyperDxLogo as oe,HoneycombLogo as re,GroundcoverLogo as ae,GreptimeLogo as se,GrafanaLogo as le,GoogleCloudPlatformLogo as ce,ElasticSearchLogo as de,ElasticApmLogo as pe,DynatraceLogo as ue,DatadogLogo as he,Dash0Logo as me,CoralogixLogo as ge,AwsCloudwatchLogo as $e,ClickhouseLogo as xe,ChronosphereLogo as fe,ChecklyLogo as be,CauselyLogo as ye,BonreeLogo as we,BetterStackLogo as ve,AzureMonitorLogo as Ce,AzureBlobLogo as ke,AxiomLogo as Se,AppDynamicsLogo as Ee,AlibabaCloudLogo as Ae,AlaudaLogo as Te,InstrumentationRuleIcon as De,DestinationIcon as Ie,SourceIcon as Ne,NamespacesIcon as Oe,PayloadCollectionIcon as ze,HeadersCollectionIcon as Fe,CustomInstrumentationIcon as _e,CodeAttributesIcon as Re,TracesIcon as Be,MetricsIcon as Me,LogsIcon as Le,VmLogo as Pe,QuestionCircleIcon as je,XSquareIcon as Ue,VSquareIcon as We,ExclamationTriangleIcon as Ve,ExclamationCircleIcon as Ge,ISquareIcon as qe,VIcon as He,CopyIcon as Ke,XIcon as Ye,MinusIcon as Je,ListIcon as Xe,CodeIcon as Ze,ExtendArrowIcon as Qe,PlusIcon as et,EditIcon as tt,NoDataIcon as it,EyeClosedIcon as nt,EyeOpenIcon as ot,SearchIcon as rt,TrashIcon as at,EditedIcon as st,SortArrowsIcon as lt,NotebookIcon as ct,ArrowIcon as dt,ChevronUpIcon as pt,ChevronDownIcon as ut,DotsVerticalIcon as ht,DotsHorizontalIcon as mt,DotIcon as gt,FilterIcon as $t}from"../icons.js";import{create as xt}from"zustand";import{jsx as ft,jsxs as bt,Fragment as yt}from"react/jsx-runtime";import{Fragment as wt,useMemo as vt,useState as Ct,useEffect as kt,useRef as St,useCallback as Et,useContext as At,createContext as Tt,forwardRef as Dt,memo as It}from"react";import Nt from"javascript-time-ago";import{p as Ot,c as zt,s as Ft,e as _t}from"./vendor-D99eCWta.js";import Rt,{css as Bt,useTheme as Mt,ThemeProvider as Lt,keyframes as Pt}from"styled-components";import{Handle as jt,Position as Ut,ReactFlow as Wt,Controls as Vt}from"@xyflow/react";import Gt,{createPortal as qt}from"react-dom";import{Highlight as Ht,themes as Kt}from"prism-react-renderer";import{ErrorBoundary as Yt}from"react-error-boundary";import Jt from"lottie-react";import{VList as Xt}from"virtua";const Zt=e=>e.charAt(0).toUpperCase()+e.slice(1),Qt=e=>{const t=e=>e.filter(e=>"object"==typeof e&&null!==e?""!==e.key&&""!==e.value:""!==e),i=e=>Object.fromEntries(Object.entries(e).filter(([e,t])=>""!==e&&""!==t).map(([e,n])=>Array.isArray(n)?[e,t(n)]:"object"==typeof n&&null!==n?[e,i(n)]:[e,n]));return Object.entries(e).reduce((e,[n,o])=>{try{const r=JSON.parse(o);Array.isArray(r)?e[n]=JSON.stringify(t(r)):e[n]="object"==typeof r&&null!==r?JSON.stringify(i(r)):o}catch(r){"object"==typeof o&&null!==o?Array.isArray(o)?e[n]=JSON.stringify(t(o)):e[n]=JSON.stringify(i(o)):e[n]=o}return e},{})};var ei;!function(e){e.SIGNALS="SIGNALS"}(ei||(ei={}));const ti=(e,t,i)=>{if(!e||!e.length)return!0;if(1===e.length)return"true"==e[0];const[n,o,r]=e;if(n===ei.SIGNALS)switch(o){case"INCLUDES":return t?.includes(r);case"EXCLUDES":return!t?.includes(r);default:return!0}const a=i.find(e=>e.name===n||e.key===n);if(!a)return!1;switch(o){case"===":case"==":return a.value===r;case"!==":case"!=":return a.value!==r;case">":return Number(a.value)>Number(r);case"<":return Number(a.value)<Number(r);case">=":return Number(a.value)>=Number(r);case"<=":return Number(a.value)<=Number(r);default:return!0}},ii=e=>JSON.parse(JSON.stringify(e)),ni=(e,t)=>{let i=[...e];return t.monitors?.length&&(i=i.filter(e=>!!t.monitors?.find(t=>e.signals?.find(e=>e.toLowerCase()===t.id)))),i},oi=(e,t)=>{let i=[...e];return t.monitors?.length&&(i=i.filter(e=>!!t.monitors?.find(t=>e.exportedSignals[t.id]))),i},ri=(e,t)=>t?e.filter(e=>e.dataStreamNames.includes(t)||!e.dataStreamNames.length):[];var ai,si,li,ci,di,pi,ui,hi,mi,gi,$i,xi,fi,bi,yi,wi,vi,Ci,ki,Si,Ei,Ai,Ti,Di,Ii,Ni,Oi,zi,Fi,_i,Ri,Bi,Mi,Li,Pi,ji,Ui,Wi,Vi,Gi,qi,Hi;!function(e){e.Attributes="attributes",e.Samplers="samplers"}(ai||(ai={})),function(e){e.K8sAttributes="K8sAttributesResolver",e.AddClusterInfo="AddClusterInfo",e.DeleteAttributes="DeleteAttribute",e.RenameAttributes="RenameAttribute",e.PiiMasking="PiiMasking",e.ErrorSampler="ErrorSampler",e.ProbabilisticSampler="ProbabilisticSampler",e.LatencySampler="LatencySampler",e.ServiceNameSampler="ServiceNameSampler",e.SpanAttributeSampler="SpanAttributeSampler",e.URLTemplatization="URLTemplatization"}(si||(si={})),function(e){e.CollectContainerAttributes="collectContainerAttributes",e.CollectReplicaSetAttributes="collectReplicaSetAttributes",e.CollectWorkloadId="collectWorkloadId",e.CollectClusterId="collectClusterId",e.LabelsAttributes="labelsAttributes",e.AnnotationsAttributes="annotationsAttributes",e.ClusterAttributes="clusterAttributes",e.OverwriteExistingValues="overwriteExistingValues",e.AttributeNamesToDelete="attributeNamesToDelete",e.Renames="renames",e.PiiCategories="piiCategories",e.FallbackSamplingRatio="fallbackSamplingRatio",e.SamplingPercentage="samplingPercentage",e.EndpointsFilters="endpointsFilters",e.ServicesNameFilters="servicesNameFilters",e.AttributeFilters="attributeFilters",e.UrlTemplatizationRulesGroups="urlTemplatizationRulesGroups"}(li||(li={})),function(e){e.Pod="pod",e.Namespace="namespace",e.Node="node"}(ci||(ci={})),function(e){e.EXISTS="exists",e.EQUALS="equals",e.NOT_EQUALS="not_equals",e.CONTAINS="contains",e.NOT_CONTAINS="not_contains",e.REGEX="regex"}(di||(di={})),function(e){e.EXISTS="exists",e.EQUALS="equals",e.NOT_EQUALS="not_equals",e.GREATER_THAN="greater_than",e.LESS_THAN="less_than",e.GREATER_THAN_OR_EQUAL="greater_than_or_equal",e.LESS_THAN_OR_EQUAL="less_than_or_equal"}(pi||(pi={})),function(e){e.EXISTS="exists",e.EQUALS="equals"}(ui||(ui={})),function(e){e.EXISTS="exists",e.EQUALS="equals",e.NOT_EQUALS="not_equals",e.IS_VALID_JSON="is_valid_json",e.IS_INVALID_JSON="is_invalid_json",e.JSONPATH_EXISTS="jsonpath_exists",e.KEY_EQUALS="key_equals",e.KEY_NOT_EQUALS="key_not_equals"}(hi||(hi={})),function(e){e.Horizontal="horizontal",e.Vertical="vertical"}(mi||(mi={})),function(e){e.Ascending="ascending",e.Descending="descending"}(gi||(gi={})),function(e){e.Community="community",e.Cloud="cloud",e.Onprem="onprem"}($i||($i={})),function(e){e.K8s="k8s",e.Vm="vm"}(xi||(xi={})),function(e){e.Cli="odigos-cli",e.Helm="helm",e.Operator="odigos-operator"}(fi||(fi={})),function(e){e.Go="go",e.JavaScript="javascript",e.Python="python",e.Java="java",e.DotNet="dotnet",e.CSharp="csharp",e.CPlusPlus="cplusplus",e.Php="php",e.Ruby="ruby",e.Rust="rust",e.Swift="swift",e.Elixir="elixir",e.MySql="mysql",e.Nginx="nginx",e.Postgres="postgres",e.Redis="redis",e.Kafka="kafka",e.Ignored="ignored",e.Unknown="unknown",e.Processing="processing",e.NoContainers="no containers",e.NoRunningPods="no running pods"}(bi||(bi={})),function(e){e.Create="Create",e.Read="Read",e.Update="Update",e.Delete="Delete"}(yi||(yi={})),function(e){e.Namespace="Namespace",e.Source="Source",e.Destination="Destination",e.Action="Action",e.InstrumentationRule="InstrumentationRule"}(wi||(wi={})),function(e){e.DataStream="DataStream"}(vi||(vi={})),function(e){e.Input="input",e.MultiInput="multiInput",e.MultiTabledInput="multiTabledInput",e.KeyValuePair="keyValuePairs",e.TextArea="textarea",e.Dropdown="dropdown",e.Checkbox="checkbox",e.Toggle="toggle"}(Ci||(Ci={})),function(e){e.Text="text",e.Password="password",e.Number="number"}(ki||(ki={})),function(e){e.Warning="warning",e.Error="error",e.Success="success",e.Info="info",e.Default="default"}(Si||(Si={})),function(e){e.INSTRUMENTED="Instrumented",e.INSTRUMENTING="Instrumenting",e.UNINSTRUMENTED="Uninstrumented",e.NOT_INSTRUMENTED="Not Instrumented"}(Ei||(Ei={})),function(e){e.Loading="loading",e.Disabled="disabled"}(Ai||(Ai={})),function(e){e.Disabled="disabled",e.Unknown="unknown"}(Ti||(Ti={})),function(e){e.CodeAttributes="code-attributes",e.FullPayloadCollection="full-payload-collection",e.DbPayloadCollection="db-payload-collection",e.QueryOperationDetector="query-operation-detector",e.AllowConcurrentAgents="allow_concurrent_agents",e.JavaEbpfInstrumentations="java-ebpf-instrumentations",e.JavaNativeInstrumentations="java-native-instrumentations",e.SizeS="size_s",e.SizeM="size_m",e.SizeL="size_l"}(Di||(Di={})),function(e){e.Header="header",e.Add="add",e.Base="base",e.Edged="edged",e.Frame="frame",e.Scroll="scroll",e.Skeleton="skeleton",e.MapItem="map-item",e.NoData="no-data",e.OdiLogo="odilogo"}(Ii||(Ii={})),function(e){e.Labeled="labeled"}(Ni||(Ni={})),function(e){e.AddRule="addRule",e.AddSource="addSource",e.AddAction="addAction",e.AddDestination="addDestination"}(Oi||(Oi={})),function(e){e.Alauda="alauda",e.AlibabaCloud="alibabacloud",e.AppDynamics="appdynamics",e.Axiom="axiom",e.AzureBlob="azureblob",e.AzureMonitor="azuremonitor",e.BetterStack="betterstack",e.Bonree="bonree",e.Causely="causely",e.Checkly="checkly",e.Chronosphere="chronosphere",e.ClickHouse="clickhouse",e.CloudWatch="cloudwatch",e.Coralogix="coralogix",e.Dash0="dash0",e.Datadog="datadog",e.Dynamic="dynamic",e.Dynatrace="dynatrace",e.ElasticApm="elasticapm",e.ElasticSearch="elasticsearch",e.GoogleCloud="googlecloud",e.GoogleCloudOTLP="googlecloudotlp",e.GrafanaCloudLoki="grafanacloudloki",e.GrafanaCloudPrometheus="grafanacloudprometheus",e.GrafanaCloudTempo="grafanacloudtempo",e.Greptime="greptime",e.Groundcover="groundcover",e.Honeycomb="honeycomb",e.HyperDX="hyperdx",e.Instana="instana",e.Jaeger="jaeger",e.Kafka="kafka",e.Kloudmate="kloudmate",e.Last9="last9",e.Lightstep="lightstep",e.LogzIo="logzio",e.Loki="loki",e.Lumigo="lumigo",e.Middleware="middleware",e.NewRelic="newrelic",e.Observe="observe",e.Odigos="odigos",e.OneUptime="oneuptime",e.OpenObserve="openobserve",e.Opsverse="opsverse",e.Oracle="oracle",e.OTLP="otlp",e.OTLPHttp="otlphttp",e.Prometheus="prometheus",e.Qryn="qryn",e.QrynOss="qryn-oss",e.Quickwit="quickwit",e.S3="s3",e.Seq="seq",e.Signalfx="signalfx",e.Signoz="signoz",e.Splunk="splunk",e.SplunkSapm="splunksapm",e.SplunkOtlp="splunkotlp",e.SumoLogic="sumologic",e.TelemetryHub="telemetryhub",e.Tempo="tempo",e.Tingyun="tingyun",e.Traceloop="traceloop",e.Uptrace="uptrace",e.VictoriaMetrics="victoriametrics",e.VictoriaMetricsCloud="victoriametricscloud",e.XRay="xray"}(zi||(zi={})),function(e){e.Deployment="Deployment",e.DaemonSet="DaemonSet",e.StatefulSet="StatefulSet",e.CronJob="CronJob",e.Pod="Pod",e.StaticPod="StaticPod",e.Rollout="Rollout",e.ConfigMap="ConfigMap",e.DeploymentConfig="DeploymentConfig"}(Fi||(Fi={})),function(e){e.GolangCommunity="golang-community",e.NodejsCommunity="nodejs-community",e.PythonCommunity="python-community",e.JavaCommunity="java-community",e.DotNetCommunity="dotnet-community",e.RubyCommunity="ruby-community",e.PhpCommunity="php-community",e.GolangEnterprise="golang-enterprise",e.NodejsEnterprise="nodejs-enterprise",e.PythonEnterprise="python-enterprise",e.JavaEnterprise="java-enterprise",e.JavaEbpfInstrumentations="java-ebpf-instrumentations",e.DotNetLegacy="dotnet-legacy",e.DotNetEnterprise="dotnet-enterprise",e.RubyEnterprise="ruby-enterprise",e.CPlusPlusEnterprise="cplusplus-enterprise",e.MySqlEnterprise="mysql-enterprise"}(_i||(_i={})),function(e){e.Error="Error",e.Failure="Failure",e.Notice="Notice",e.Pending="Pending",e.Waiting="Waiting",e.Unsupported="Unsupported",e.Disabled="Disabled",e.Success="Success",e.Irrelevant="Irrelevant",e.Unknown="Unknown"}(Ri||(Ri={})),function(e){e.CodeAttributes="CodeAttributes",e.HeadersCollection="HeadersCollection",e.PayloadCollection="PayloadCollection",e.CustomInstrumentation="CustomInstrumentation",e.UnknownType="UnknownType"}(Bi||(Bi={})),function(e){e.Column="column",e.FilePath="filePath",e.Function="function",e.LineNumber="lineNumber",e.Namespace="namespace",e.StackTrace="stacktrace"}(Mi||(Mi={})),function(e){e.HeaderKeys="headerKeys"}(Li||(Li={})),function(e){e.Java="java",e.Golang="golang"}(Pi||(Pi={}));class Ki{className;methodName;constructor(e,t){this.className=e,this.methodName=t}Verify(){return!!this.className&&!!this.methodName}toString(){return this.Verify()?`${this.className}.${this.methodName}`:"[Faulty Java Probe]"}}class Yi{packageName;functionName;receiverName;receiverMethodName;constructor(e,t,i,n){this.packageName=e,this.functionName=t||"",this.receiverName=i||"",this.receiverMethodName=n||""}Verify(){return!(!this.packageName||(this.functionName?this.receiverMethodName||this.receiverName:!this.receiverMethodName||!this.receiverName))}toString(){return this.Verify()?this.functionName?`${this.packageName}.${this.functionName}`:this.receiverName&&this.receiverMethodName?`${this.packageName}.(${this.receiverName}).${this.receiverMethodName}`:"":"[Faulty Golang Probe]"}}!function(e){e.HttpRequest="httpRequest",e.HttpResponse="httpResponse",e.DbQuery="dbQuery",e.Messaging="messaging"}(ji||(ji={})),function(e){e.Healthy="Healthy",e.Updating="Updating",e.Degraded="Degraded",e.Failed="Failed",e.Down="Down",e.Unknown="Unknown"}(Ui||(Ui={})),function(e){e.Pending="Pending",e.Running="Running",e.Succeeded="Succeeded",e.Failed="Failed",e.Unknown="Unknown"}(Wi||(Wi={})),function(e){e.ContainerCreating="ContainerCreating",e.CrashLoopBackOff="CrashLoopBackOff",e.CreateContainerError="CreateContainerError",e.CreateContainerConfigError="CreateContainerConfigError",e.ErrImagePull="ErrImagePull",e.ErrImageNeverPull="ErrImageNeverPull",e.ImagePullBackOff="ImagePullBackOff",e.InvalidImageName="InvalidImageName",e.RegistryUnavailable="RegistryUnavailable",e.NetworkNotReady="NetworkNotReady",e.Running="Running",e.Completed="Completed",e.Error="Error",e.OOMKilled="OOMKilled",e.ContainerCannotRun="ContainerCannotRun",e.DeadlineExceeded="DeadlineExceeded",e.StartError="StartError"}(Vi||(Vi={})),function(e){e.Running="Running",e.Waiting="Waiting",e.Terminated="Terminated"}(Gi||(Gi={})),function(e){e.Logs="LOGS",e.Metrics="METRICS",e.Traces="TRACES"}(qi||(qi={})),function(e){e.Logs="logs",e.Metrics="metrics",e.Traces="traces"}(Hi||(Hi={}));const Ji={[qi.Logs]:Hi.Logs,[qi.Metrics]:Hi.Metrics,[qi.Traces]:Hi.Traces},Xi={[Hi.Logs]:qi.Logs,[Hi.Metrics]:qi.Metrics,[Hi.Traces]:qi.Traces},Zi=(e,t)=>{let i=[...e];return t.namespaces?.length&&(i=i.filter(({namespace:e})=>!!t.namespaces?.find(({id:t})=>t===e))),t.kinds?.length&&(i=i.filter(({kind:e})=>!!t.kinds?.find(({id:t})=>t===e))),t.languages?.length&&(i=i.filter(({containers:e})=>!!t.languages?.find(({id:t})=>!!e?.find(({language:e})=>t===e)))),t.conditions?.length&&(i=i.filter(({conditions:e})=>!!t.conditions?.find(({id:t})=>!!e?.find(({type:e,reason:i})=>t===`${e}#${i}`)))),t.podsAgentInjectionStatus?.length&&(i=i.filter(({podsAgentInjectionStatus:e})=>!!t.podsAgentInjectionStatus?.find(({id:t})=>t===e?.reasonEnum||t===e?.message))),t.onlyErrors&&(i=i.filter(e=>!!e.conditions?.find(e=>e.status===Si.Error))),t.errors?.length&&(i=i.filter(e=>!!t.errors?.find(t=>!!e.conditions?.find(e=>e.message===t.id)))),i},Qi="https://docs.odigos.io",en="default",tn={SELECTED_DATA_STREAM:"SELECTED_DATA_STREAM",SELECTED_DATA_STREAM_WITH_PROXY:e=>`SELECTED_DATA_STREAM_${e}`,OVERVIEW_FILTERS:"OVERVIEW_FILTERS",DARK_MODE:"DARK_MODE"},nn={REQUIRED_FIELDS:"Required fields are missing",FIELD_IS_REQUIRED:"This field is required",FORBIDDEN:"Forbidden",ENTERPRISE_ONLY:(e="This")=>`${e} is an Enterprise feature. Please upgrade your plan.`,DEFINED_FOR_ALL_STREAMS:e=>`${e} are defined for all Data Streams.`,CANNOT_EDIT_RULE:"Cannot edit a system-managed instrumentation rule",CANNOT_DELETE_RULE:"Cannot delete a system-managed instrumentation rule",LATENCY_HTTP_ROUTE:'HTTP route must start with a forward slash "/"',READONLY_WARNING:"You're not allowed to create/update/delete in readonly mode",ILLEGAL_K8S_LABEL:'Must be 63 characters or less, must consist of alphanumeric characters, "-", "_", or ".", and must start & end with an alphanumeric character (e.g., my-name, 123.abc).',INVALID_VERSION:'Invalid version format, must be in the format of "major.minor.patch" (e.g. 1.0.0)'},on={NAMESPACE:"Namespace",NAME:"Name",KIND:"Kind",CONNECTION:"Connection",CONNECTIONS:"Connections",DATA_STREAM:"Data Stream",DATA_STREAMS:"Data Streams",STREAM_NAME:"Data Stream Name",NAME_YOUR_STREAM:"Name your Data Stream",NAME_YOUR_STREAM_PLACEHOLDER:"e.g. Highest priority",STREAM_DESCRIPTION:"Provide a clear and descriptive name for your pipeline to ensure its purpose is easily understood by you and your team.",STREAM_CONFIRM:"Confirm your new Data Stream",DATA_STREAM_EXISTS_WARNING:(e,t)=>`A Data Stream with this name already exists, you can still rename the current "${e}", but it will merge into the existing "${t}".`,ACTION:"Action",ACTIONS:"Actions",ADD_ACTION:"Add Action",ACTION_DETAILS:"Action Details",INSTRUMENTATION_RULE:"Instrumentation Rule",INSTRUMENTATION_RULES:"Instrumentation Rules",ADD_INSTRUMENTATION_RULE:"Add Instrumentation Rule",INSTRUMENTATION_RULE_DETAILS:"Instrumentation Rule Details",DESTINATION:"Destination",DESTINATIONS:"Destinations",ADD_DESTINATION:"Add Destination",ADD_DESTINATIONS:"Add Destinations",ADD_DESTINATION_DESCRIPTION:"Add a destination to send your telemetry data to. You can add multiple destinations.",DESTINATION_DETAILS:"Destination Details",SELECTED_DESTINATIONS:"Selected Destinations",SOURCE:"Source",SOURCES:"Sources",ADD_SOURCE:"Add Source",SOURCE_DETAILS:"Source Details",SELECT_SOURCES:"Select Sources",SELECTED_SOURCES:"Selected Sources",SELECT_SOURCES_DESCRIPTION:"Choose which sources to monitor in your pipeline.",NO_SOURCES:"No sources",NO_SOURCES_GO_BACK:"No sources selected. Please go back to select sources.",PLEASE_ADD_SOURCE:"Please add a source",NO_SOURCES_NAMESPACE:"No sources available in this namespace",TRY_SEARCH_OR_OTHER_NAMESPACE:"Try searching again or select another namespace.",PLEASE_MAKE_SURE_UNIGNORED_NAMESPACES:"Please make sure your cluster has unignored namespaces",INSTALLATION:"Installation",SUMMARY:"Summary",TYPE:"Type",NOTES:"Notes",STATUS:"Status",READONLY:"Readonly",LANGUAGE:"Language",VERSION:"Version",RUNTIME_VERSION:"Runtime Version",VERSION_PLACEHOLDER:"1.0.0",MONITORS:"Monitors",SIGNALS_FOR_PROCESSING:"Signals for Processing",MANAGED_BY_PROFILE:"Managed by Profile",TIER:"Tier",ENTERPRISE:"Enterprise",ENTERPRISE_TIER:"Enterprise Tier",COMMUNITY:"Community",COMMUNITY_TIER:"Community Tier",API_TOKEN:"API Token",API_TOKENS:"API Tokens",DESCRIBE_ODIGOS:"Describe Odigos",DESCRIBE_SOURCE:"Describe Source",DETECTED_CONTAINERS:"Detected Containers",DETECTED_CONTAINERS_DESCRIPTION:"The system automatically instruments the containers it detects with a supported programming language.",DETECTED_PROCESSES:"Detected Processes",DETECTED_PROCESSES_DESCRIPTION:"The system automatically instruments the processes it detects with a supported programming language.",CONTAINER_NAME:"Container Name",FILTERED_COUNT_TOOLTIP:"Represents filtered amount, out of total amount",SEARCH_NAMESPACES:"Search Namespaces",SEARCH_SOURCES:"Search Sources",SELECT_ALL:"Select All",ONLY_SELECTED:"Only selected",ONLY_RUNNING_INSTANCES:"Only running instances",TO_COLLECT_OTEL_DATA:"To collect OpenTelemetry data",TO_MONITOR_OTEL_DATA:"To monitor OpenTelemetry data",TO_MODIFY_OTEL_DATA:"To modify OpenTelemetry data",QUICK_BACK_TO_SUMMARY:"When you finish editing you can quickly go back to the summary.",GO_TO_SUMMARY:"Go to summary",FUTURE_APPS_TITLE:"Instrument entire namespace",FUTURE_APPS_DESCRIPTION:"When enabled, all applications in the namespace and new applications will be instrumented automatically and included in the current data stream using a Namespace Source.",OVERIDE:"Override",OVERIDDEN:"Overridden",OVERRIDE_RUNTIME_DETAILS:"Override Runtime Details",OVERRIDE_RUNTIME_WARNING:"This is an advanced configuration. If the selected programming language is incorrect, data collection may be incomplete or may not occur at all.",ACTIVE:"Active",INACTIVE:"Inactive",ENABLED:"Enabled",DISABLED:"Disabled",NO_TRACES_FOUND:"No traces found",ARE_SERVICES_INSTRUMENTED_AND_PRODUCING_TRAFFIC:"Are your services instrumented & producing traffic?",JAVA_CUSTOM_PROBES:"Java Custom Probes",GOLANG_CUSTOM_PROBES:"Golang Custom Probes",ROLLBACK_OCCURRED_MESSAGE:"Odigos detected a crash and rolled back instrumentation to protect your workload.",ROLLBACK_RECOVER:"Recover",FETCHING_NAMESPACES:"Fetching namespaces",FETCHING_NAMESPACES_SUBTITLE:"Please wait while we fetch the namespaces",ADD_SOURCES_DESCRIPTION:"Choose which sources to monitor in your pipeline.",CREATING_SOURCES:"Creating Sources...",CREATING_SOURCES_SUBTITLE:"This may take a few moments while sources are being created.",SELECT_NAMESPACE:"Select namespace from the list",SELECT_NAMESPACE_SUBTITLE:"Add namespace so you can select workloads from it.",CREATING_ACTION:"Creating action",CREATING_ACTION_SUBTITLE:"Please wait while we create the action",ADD_ACTION_DESCRIPTION:"Select an action to modify telemetry data before it's sent to destinations. Choose an action type and configure its details.",CREATING_INSTRUMENTATION_RULE:"Creating instrumentation rule",CREATING_INSTRUMENTATION_RULE_SUBTITLE:"Please wait while we create the instrumentation rule",ADD_INSTRUMENTATION_RULE_DESCRIPTION:"Define how telemetry is recorded from your application. Choose a rule type and configure the details.",CREATING_DESTINATION:"Creating destination",CREATING_DESTINATION_SUBTITLE:"Please wait while we create the destination",ADD_DESTINATION_DRAWER_DESCRIPTION:"Add backend destination you want to connect with Odigos."},rn={ADD:"Add",ADD_NEW:"Add New",NEW:"New",SELECT:"Select",CREATE:"Create",UPDATE:"Update",EDIT:"Edit",DELETE:"Delete",CANCEL:"Cancel",DONE:"Done",SAVE:"Save",BACK:"Back",NEXT:"Next",TEST:"Test",TEST_CONNECTION:"Test Connection",INSTRUMENT:"Instrument",UNINSTRUMENT:"Uninstrument"},an=(e,t)=>t?e.filter(e=>e.dataStreamNames.includes(t)||t===en&&!e.dataStreamNames.length):[],sn=(e,t="",i={})=>{for(const n in e)if(e.hasOwnProperty(n)){const o=e[n],r=t?`${t}.${n}`:n;null===o||"object"!=typeof o||Array.isArray(o)?Array.isArray(o)?o.forEach((e,t)=>{const n=`${r}[${t}]`;null!==e&&"object"==typeof e?sn(e,n,i):i[n]=e}):i[r]=o:sn(o,r,i)}return i},ln=e=>{if(!e)return"0 KB/s";const t=Math.floor(Math.log(e)/Math.log(1024));return`${(e/Math.pow(1024,t)).toFixed(0===t?0:1)} ${["Bytes/s","KB/s","MB/s","GB/s","TB/s"][t]}`},cn=e=>{if(!e)return"0 ns";if(e<1e3)return`${e.toFixed(0)} ns`;if(e<1e6){const t=e/1e3;return`${t.toFixed(t<10?2:0)} μs`}if(e<1e9){const t=e/1e6;return`${t.toFixed(t<10?2:0)} ms`}if(e<6e10){const t=e/1e9;return`${t.toFixed(t<10?2:0)} s`}if(e<36e11){const t=e/6e10;return`${t.toFixed(t<10?2:0)} m`}if(e<864e11){const t=e/36e11;return`${t.toFixed(t<10?2:0)} h`}{const t=e/864e11;return`${t.toFixed(t<10?2:0)} d`}},dn=()=>{const e=crypto.getRandomValues(new Uint8Array(16));let t=0;return"10000000-1000-4000-8000-100000000000".replace(/[018]/g,i=>{const n=e[t%16];return t++,("1"===i?n:"0"===i?63&n|128:15&n|64).toString(16)})},pn=l=>{const c=l?.toLowerCase(),d=c?.includes(ai.Samplers),p=c===ai.Attributes;return d?e:p?t:{[si.K8sAttributes]:a,[si.AddClusterInfo]:r,[si.DeleteAttributes]:o,[si.PiiMasking]:t,[si.RenameAttributes]:n,[si.URLTemplatization]:i,[si.ErrorSampler]:e,[si.ProbabilisticSampler]:e,[si.LatencySampler]:e,[si.ServiceNameSampler]:e,[si.SpanAttributeSampler]:e}[l]||s},un=e=>{const t=e?.filter(({status:e})=>e===Si.Error),i=e?.filter(({status:e})=>e===Si.Warning),n=e?.filter(({status:e})=>e===Ai.Disabled),o=e?.filter(({status:e})=>e===Ai.Loading),r=t.length>0,a=i.length>0,s=n.length>0;return{errors:t,hasErrors:r,warnings:i,hasWarnings:a,disableds:n,hasDisableds:s,loadings:o,hasLoadings:o.length>0,priorotizedStatus:r?Si.Error:a?Si.Warning:s?Si.Info:void 0}},hn=e=>{const t=e?.reduce((e,t)=>t.instrumented?e+1:e,0);return`${t}/${e?.length||0} instrumented`},mn=e=>({[bi.Java]:k,[bi.Go]:C,[bi.JavaScript]:v,[bi.Python]:w,[bi.DotNet]:y,[bi.CSharp]:b,[bi.CPlusPlus]:f,[bi.Php]:x,[bi.Ruby]:$,[bi.Rust]:g,[bi.Swift]:m,[bi.Elixir]:h,[bi.MySql]:u,[bi.Nginx]:p,[bi.Postgres]:d,[bi.Redis]:c,[bi.Kafka]:l,[bi.Ignored]:s,[bi.Unknown]:s,[bi.Processing]:s,[bi.NoContainers]:s,[bi.NoRunningPods]:s}[e]||s),gn=e=>e?.map(({language:e})=>mn(e))||[],$n=e=>e?.map(e=>mn(e))||[],xn=e=>e.detectedLanguages?.length?$n(e.detectedLanguages):gn(e.containers),fn=(e,t)=>{const i={[zi.Alauda]:Te,[zi.AlibabaCloud]:Ae,[zi.AppDynamics]:Ee,[zi.Axiom]:Se,[zi.AzureBlob]:ke,[zi.AzureMonitor]:Ce,[zi.BetterStack]:ve,[zi.Bonree]:we,[zi.Causely]:ye,[zi.Checkly]:be,[zi.Chronosphere]:fe,[zi.ClickHouse]:xe,[zi.CloudWatch]:$e,[zi.Coralogix]:ge,[zi.Dash0]:me,[zi.Datadog]:he,[zi.Dynamic]:j,[zi.Dynatrace]:ue,[zi.ElasticApm]:pe,[zi.ElasticSearch]:de,[zi.GoogleCloud]:ce,[zi.GoogleCloudOTLP]:ce,[zi.GrafanaCloudLoki]:le,[zi.GrafanaCloudPrometheus]:le,[zi.GrafanaCloudTempo]:le,[zi.Greptime]:se,[zi.Groundcover]:ae,[zi.Honeycomb]:re,[zi.HyperDX]:oe,[zi.Instana]:ne,[zi.Jaeger]:ie,[zi.Kafka]:l,[zi.Kloudmate]:te,[zi.Last9]:ee,[zi.Lightstep]:Q,[zi.LogzIo]:Z,[zi.Loki]:X,[zi.Lumigo]:J,[zi.Middleware]:Y,[zi.NewRelic]:K,[zi.Observe]:H,[zi.Odigos]:q,[zi.OneUptime]:G,[zi.OpenObserve]:V,[zi.Opsverse]:W,[zi.Oracle]:U,[zi.OTLP]:j,[zi.OTLPHttp]:j,[zi.Prometheus]:P,[zi.Qryn]:L,[zi.QrynOss]:M,[zi.Quickwit]:B,[zi.S3]:R,[zi.Seq]:_,[zi.Signalfx]:z,[zi.Signoz]:F,[zi.Splunk]:z,[zi.SplunkSapm]:z,[zi.SplunkOtlp]:z,[zi.SumoLogic]:O,[zi.TelemetryHub]:N,[zi.Tempo]:I,[zi.Tingyun]:D,[zi.Traceloop]:T,[zi.Uptrace]:A,[zi.VictoriaMetrics]:E,[zi.VictoriaMetricsCloud]:E,[zi.XRay]:S}[e];return i&&!t?{icon:i}:{iconSrc:`https://d15jtxgb40qetw.cloudfront.net/${e}.svg`}},bn=e=>({[wi.Namespace]:Oe,[wi.Source]:Ne,[wi.Destination]:Ie,[wi.Action]:i,[wi.InstrumentationRule]:De}[e]),yn=e=>"ruleId"in e&&e.ruleId?e.ruleId:"id"in e&&e.id?e.id:"namespace"in e&&e.namespace&&"kind"in e&&e.kind&&"name"in e&&e.name?{namespace:e.namespace,name:e.name,kind:e.kind}:"name"in e&&e.name?e.name:void 0,wn=(e,t,i)=>{const{extended:n,prioritizeDisplayName:o}=i||{};let r="",a="";switch(t){case wi.InstrumentationRule:const t=e;r=t.type,a=t.ruleName;break;case wi.Source:const i=e;r=i.name,a=i.otelServiceName;break;case wi.Action:const n=e;r=n.type,a=n.name;break;case wi.Destination:const o=e;r=o.destinationType.displayName,a=o.name;break;case wi.Namespace:const s=e;r=s.name,a=s.name}return n?r+(a&&a!==r?` (${a})`:""):o&&a||r},vn=(e,t)=>{if(t===wi.Source){const t={namespace:"",name:"",kind:""};return e.split("&").forEach(e=>{const[i,n]=e.split("=");t[i]=n}),t}return e},Cn=e=>({[Bi.CodeAttributes]:Re,[Bi.CustomInstrumentation]:_e,[Bi.HeadersCollection]:Fe,[Bi.PayloadCollection]:ze,[Bi.UnknownType]:s}[e]||s),kn=e=>{const{numberOfInstances:t,containers:i}=e;if(!i)return t&&t>0?bi.Processing:bi.NoRunningPods;const n=i?.filter(e=>e.language!==bi.Ignored);if(!n.length)return bi.NoContainers;const o=n.find(e=>e.language!==bi.Unknown);return o?o.language:bi.Unknown},Sn=(e,t,i)=>(t===wi.Source?e?.sources.find(e=>e.kind===i.kind&&e.name===i.name&&e.namespace===i.namespace):e?.destinations.find(e=>e.id===i))||{throughput:0},En=e=>({[qi.Logs]:Le,[qi.Metrics]:Me,[qi.Traces]:Be}[e]),An=e=>e?{[xi.K8s]:a,[xi.Vm]:Pe}[e]:q,Tn=e=>e?{[xi.K8s]:"Kubernetes Cluster",[xi.Vm]:"Virtual Machine"}[e]:"Unknown",Dn=(e,t,i)=>{const n=e[t];return n?n.flatMap(e=>{const n=e[i],o=[];return void 0!==n&&(Array.isArray(n)?o.push(...n):o.push(n)),o.push(...Dn(e,t,i)),o}):[]},In=(e,t)=>{if(t===wi.Source){let t="";return Object.entries(e).forEach(([e,i])=>{t+=`${e}=${i}&`}),t.slice(0,-1),t}return e},Nn=(e,t,i)=>{switch(t){case Si.Default:return e.v2.colors.purple[i];case Si.Info:return e.v2.colors.blue[i];case Si.Error:return e.v2.colors.red[i];case Si.Warning:return e.v2.colors.yellow[i];case Si.Success:return e.v2.colors.green[i];case Ti.Disabled:case Ti.Unknown:return e.v2.colors.silver[i];default:return e.v2.colors.white[500]}},On=e=>{switch(e){case Ui.Updating:case Wi.Pending:case Vi.ContainerCreating:case Gi.Waiting:return Si.Info;case Ui.Healthy:case Wi.Succeeded:case Wi.Running:case Vi.Running:case Gi.Running:return Si.Success;case Ui.Degraded:return Si.Warning;case Ui.Failed:case Wi.Failed:case Vi.Error:case Vi.CrashLoopBackOff:case Vi.CreateContainerError:case Vi.CreateContainerConfigError:case Vi.ErrImagePull:case Vi.ErrImageNeverPull:case Vi.ImagePullBackOff:case Vi.InvalidImageName:case Vi.RegistryUnavailable:case Vi.NetworkNotReady:case Vi.OOMKilled:case Vi.ContainerCannotRun:case Gi.Terminated:case Vi.DeadlineExceeded:case Vi.StartError:return Si.Error;case Ui.Down:case Vi.Completed:return Ti.Disabled;case Ui.Unknown:case Wi.Unknown:default:return Ti.Unknown}},zn=(e,t)=>({[Si.Default]:i=>q({fill:Nn(t,e,"300"),...i}),[Si.Info]:i=>qe({fill:Nn(t,e,"400"),...i}),[Si.Error]:i=>Ge({fill:Nn(t,e,"500"),...i}),[Si.Warning]:i=>Ve({fill:Nn(t,e,"500"),...i}),[Si.Success]:i=>We({fill:Nn(t,e,"500"),...i}),[Ti.Disabled]:i=>Ue({fill:Nn(t,e,"400"),...i}),[Ti.Unknown]:i=>je({fill:Nn(t,e,"300"),...i})}[e]),Fn=e=>{switch(e){case Ri.Success:return Si.Success;case Ri.Error:case Ri.Failure:return Si.Error;case Ri.Notice:return Si.Warning;case Ri.Unsupported:case Ri.Unknown:return Si.Info;case Ri.Irrelevant:case Ri.Disabled:return Ai.Disabled;case Ri.Waiting:return Ai.Loading;case Ri.Pending:default:return Si.Default}},_n=(e,t)=>{const i=t.find(([t,i])=>e>=t&&(null===i||e<=i));return i?.[2]||null},Rn=({namespace:e,name:t,kind:i})=>({namespace:e,name:t,kind:i});function Bn(e,t){if(!e)return t;if("object"==typeof e)return e;try{return JSON.parse(e)}catch(e){return t}}const Mn=(e,t)=>{const i=[],n=JSON.parse(JSON.stringify(e));for(const e of n){const n=Bn(t.fields,{}),o=e.items.findIndex(e=>e.type===t.destinationType.type);-1!==o&&i.push(...e.items[o].fields.map(e=>({...e,initialValue:n[e.name]})))}return i},Ln=(e,t)=>{const i=e=>e?.some(({healthy:e})=>e.status!==Si.Success);return e?.length?e.some(({instrumentationInstances:e})=>i(e)):i(t)??!1},Pn=e=>Array.isArray(e)?!e?.length:"object"==typeof e?!Object.keys(e||{}).length:[void 0,null,""].includes(e),jn=e=>!!e&&(!(e.length>63)&&/^(([A-Za-z0-9][-A-Za-z0-9_.]*)?[A-Za-z0-9])?$/.test(e)),Un=(e,t=0)=>{const i=(new Date).getTime();return new Date(e).getTime()-i<=t},Wn=e=>{const t=String(e).trim().toLowerCase();return["true","false","1","0"].includes(t)},Vn=(e,t=0)=>(new Date).getTime()-new Date(e).getTime()>=t,Gn=/^(\d+\.)?(\d+\.)?(\*|\d+)$/,qn=e=>Gn.test(e),Hn=e=>e?e.replace(/([a-z0-9])([A-Z])/g,"$1 $2"):"",Kn=e=>e?.map(({status:e,type:t,reason:i,message:n,lastTransitionTime:o})=>({status:e,type:Hn(t),reason:i?Hn(i):"",message:n,lastTransitionTime:o}))||[],Yn=(e,t)=>{const i=Bn(e.fields,{});return t.length?t.map(e=>({key:e.name,name:e.displayName||e.name,value:i[e.name]??null})).filter(e=>null!==e.value):Object.entries(i).map(([e,t])=>({key:e,name:e,value:t}))},Jn=e=>e?Object.keys(e).filter(t=>e[t]).map(e=>Xi[e]):[],Xn=e=>e?Object.keys(e).filter(t=>e[t].supported).map(e=>Xi[e]):[],Zn=e=>e.replace(/[^\d]/g,""),Qn=e=>{const t=String(e).trim().toLowerCase();return"true"===t||"1"===t},eo=e=>{let t="";try{const i=JSON.parse(e);t=Array.isArray(i)?i.map(e=>"object"==typeof e&&null!==e?`${e.key}: ${e.value}`:e).join(", "):"object"==typeof i&&null!==i?Object.entries(i).map(([e,t])=>`${e}: ${t}`).join(", "):e}catch(i){t=e}return t},to=e=>{if("object"!=typeof e)return e;const t=Array.isArray(e)?[]:{};return Object.keys(e).forEach(i=>{const n=e[i];if(Array.isArray(n)){const e=n.filter(e=>null!=e&&""!==e);e.length>0&&(t[i]=e.map(e=>to(e)))}else if("object"==typeof n&&null!==n){const e=to(n);Object.keys(e).length>0&&(t[i]=e)}else[void 0,null,""].includes(n)||(t[i]=n)}),t},io=(e,t=2)=>JSON.stringify(e||{},null,t),no=async(e=1e3)=>new Promise(t=>setTimeout(t,e)),oo=e=>Object.entries(e).reduce((e,[t,i])=>(e[t]="string"==typeof i?i:JSON.stringify(i),e),{}),ro=e=>{let t=e.toString().replace("v","").split("-")[0];t=t.match(/[\d.]+/)?.[0]||"";const i=t.split(".");return 1e4*parseInt(i[0]||"0",10)+parseInt(i[1]||"0",10)};var ao,so;!function(e){e.H1="h1",e.H2="h2",e.H3="h3",e.H4="h4",e.H5="h5",e.H6="h6",e.P="p",e.Span="span"}(ao||(ao={})),function(e){e.XXXS="xxxs",e.XXS="xxs",e.XS="xs",e.S="s",e.M="m",e.L="l",e.XL="xl",e.XXL="xxl",e.XXXL="xxxl"}(so||(so={}));const lo=Rt.p`
|
|
1
|
+
import{SamplerIcon as e,PiiMaskingIcon as t,ActionIcon as i,RenameAttributeIcon as n,DeleteAttributeIcon as o,AddClusterInfoIcon as r,K8sLogo as a,ImageErrorIcon as s,KafkaLogo as l,RedisLogo as c,PostgresLogo as d,NginxLogo as p,MysqlLogo as u,ElixirLogo as h,SwiftLogo as m,RustLogo as g,RubyLogo as $,PhpLogo as x,CPlusPlusLogo as f,CSharpLogo as b,DotnetLogo as y,PythonLogo as w,NodejsLogo as v,GoLogo as C,JavaLogo as k,AwsXrayLogo as S,VictoriaMetricsLogo as E,UptraceLogo as A,TraceloopLogo as T,TingyunLogo as D,TempoLogo as I,TelemetryHubLogo as N,SumoLogicLogo as O,SplunkLogo as z,SignozLogo as F,SeqLogo as _,AwsS3Logo as R,QuickwitLogo as B,GigapipeLogo as M,QrynLogo as L,PrometheusLogo as P,OpenTelemetryLogo as j,OracleLogo as U,OpsVerseLogo as W,OpenObserveLogo as V,OneUptimeLogo as G,OdigosLogo as q,ObserveLogo as H,NewRelicLogo as K,MiddlewareLogo as Y,LumigoLogo as J,LokiLogo as X,LogzioLogo as Z,LightstepLogo as Q,Last9Logo as ee,KloudmateLogo as te,JaegerLogo as ie,InstanaLogo as ne,HyperDxLogo as oe,HoneycombLogo as re,GroundcoverLogo as ae,GreptimeLogo as se,GrafanaLogo as le,GoogleCloudPlatformLogo as ce,ElasticSearchLogo as de,ElasticApmLogo as pe,DynatraceLogo as ue,DatadogLogo as he,Dash0Logo as me,CoralogixLogo as ge,AwsCloudwatchLogo as $e,ClickhouseLogo as xe,ChronosphereLogo as fe,ChecklyLogo as be,CauselyLogo as ye,BonreeLogo as we,BetterStackLogo as ve,AzureMonitorLogo as Ce,AzureBlobLogo as ke,AxiomLogo as Se,AppDynamicsLogo as Ee,AlibabaCloudLogo as Ae,AlaudaLogo as Te,InstrumentationRuleIcon as De,DestinationIcon as Ie,SourceIcon as Ne,NamespacesIcon as Oe,PayloadCollectionIcon as ze,HeadersCollectionIcon as Fe,CustomInstrumentationIcon as _e,CodeAttributesIcon as Re,TracesIcon as Be,MetricsIcon as Me,LogsIcon as Le,VmLogo as Pe,QuestionCircleIcon as je,XSquareIcon as Ue,VSquareIcon as We,ExclamationTriangleIcon as Ve,ExclamationCircleIcon as Ge,ISquareIcon as qe,VIcon as He,CopyIcon as Ke,XIcon as Ye,MinusIcon as Je,ListIcon as Xe,CodeIcon as Ze,ExtendArrowIcon as Qe,PlusIcon as et,EditIcon as tt,NoDataIcon as it,EyeClosedIcon as nt,EyeOpenIcon as ot,SearchIcon as rt,TrashIcon as at,EditedIcon as st,SortArrowsIcon as lt,NotebookIcon as ct,ArrowIcon as dt,ChevronUpIcon as pt,ChevronDownIcon as ut,DotsVerticalIcon as ht,DotsHorizontalIcon as mt,DotIcon as gt,FilterIcon as $t}from"../icons.js";import{create as xt}from"zustand";import{jsx as ft,jsxs as bt,Fragment as yt}from"react/jsx-runtime";import{Fragment as wt,useMemo as vt,useState as Ct,useEffect as kt,useRef as St,useCallback as Et,useContext as At,createContext as Tt,forwardRef as Dt,memo as It}from"react";import Nt from"javascript-time-ago";import{p as Ot,c as zt,s as Ft,e as _t}from"./vendor-D99eCWta.js";import Rt,{css as Bt,useTheme as Mt,ThemeProvider as Lt,keyframes as Pt}from"styled-components";import{Handle as jt,Position as Ut,ReactFlow as Wt,Controls as Vt}from"@xyflow/react";import Gt,{createPortal as qt}from"react-dom";import{Highlight as Ht,themes as Kt}from"prism-react-renderer";import{ErrorBoundary as Yt}from"react-error-boundary";import Jt from"lottie-react";import{VList as Xt}from"virtua";const Zt=e=>e.charAt(0).toUpperCase()+e.slice(1),Qt=e=>{const t=e=>e.filter(e=>"object"==typeof e&&null!==e?""!==e.key&&""!==e.value:""!==e),i=e=>Object.fromEntries(Object.entries(e).filter(([e,t])=>""!==e&&""!==t).map(([e,n])=>Array.isArray(n)?[e,t(n)]:"object"==typeof n&&null!==n?[e,i(n)]:[e,n]));return Object.entries(e).reduce((e,[n,o])=>{try{const r=JSON.parse(o);Array.isArray(r)?e[n]=JSON.stringify(t(r)):e[n]="object"==typeof r&&null!==r?JSON.stringify(i(r)):o}catch(r){"object"==typeof o&&null!==o?Array.isArray(o)?e[n]=JSON.stringify(t(o)):e[n]=JSON.stringify(i(o)):e[n]=o}return e},{})};var ei;!function(e){e.SIGNALS="SIGNALS"}(ei||(ei={}));const ti=(e,t,i)=>{if(!e||!e.length)return!0;if(1===e.length)return"true"==e[0];const[n,o,r]=e;if(n===ei.SIGNALS)switch(o){case"INCLUDES":return t?.includes(r);case"EXCLUDES":return!t?.includes(r);default:return!0}const a=i.find(e=>e.name===n||e.key===n);if(!a)return!1;switch(o){case"===":case"==":return a.value===r;case"!==":case"!=":return a.value!==r;case">":return Number(a.value)>Number(r);case"<":return Number(a.value)<Number(r);case">=":return Number(a.value)>=Number(r);case"<=":return Number(a.value)<=Number(r);default:return!0}},ii=e=>JSON.parse(JSON.stringify(e)),ni=(e,t)=>{let i=[...e];return t.monitors?.length&&(i=i.filter(e=>!!t.monitors?.find(t=>e.signals?.find(e=>e.toLowerCase()===t.id)))),i},oi=(e,t)=>{let i=[...e];return t.monitors?.length&&(i=i.filter(e=>!!t.monitors?.find(t=>e.exportedSignals[t.id]))),i},ri=(e,t)=>t?e.filter(e=>e.dataStreamNames.includes(t)||!e.dataStreamNames.length):[];var ai,si,li,ci,di,pi,ui,hi,mi,gi,$i,xi,fi,bi,yi,wi,vi,Ci,ki,Si,Ei,Ai,Ti,Di,Ii,Ni,Oi,zi,Fi,_i,Ri,Bi,Mi,Li,Pi,ji,Ui,Wi,Vi,Gi,qi,Hi;!function(e){e.Attributes="attributes",e.Samplers="samplers"}(ai||(ai={})),function(e){e.K8sAttributes="K8sAttributesResolver",e.AddClusterInfo="AddClusterInfo",e.DeleteAttributes="DeleteAttribute",e.RenameAttributes="RenameAttribute",e.PiiMasking="PiiMasking",e.ErrorSampler="ErrorSampler",e.ProbabilisticSampler="ProbabilisticSampler",e.LatencySampler="LatencySampler",e.ServiceNameSampler="ServiceNameSampler",e.SpanAttributeSampler="SpanAttributeSampler",e.URLTemplatization="URLTemplatization"}(si||(si={})),function(e){e.CollectContainerAttributes="collectContainerAttributes",e.CollectReplicaSetAttributes="collectReplicaSetAttributes",e.CollectWorkloadId="collectWorkloadId",e.CollectClusterId="collectClusterId",e.LabelsAttributes="labelsAttributes",e.AnnotationsAttributes="annotationsAttributes",e.ClusterAttributes="clusterAttributes",e.OverwriteExistingValues="overwriteExistingValues",e.AttributeNamesToDelete="attributeNamesToDelete",e.Renames="renames",e.PiiCategories="piiCategories",e.FallbackSamplingRatio="fallbackSamplingRatio",e.SamplingPercentage="samplingPercentage",e.EndpointsFilters="endpointsFilters",e.ServicesNameFilters="servicesNameFilters",e.AttributeFilters="attributeFilters",e.UrlTemplatizationRulesGroups="urlTemplatizationRulesGroups"}(li||(li={})),function(e){e.Pod="pod",e.Namespace="namespace",e.Node="node"}(ci||(ci={})),function(e){e.EXISTS="exists",e.EQUALS="equals",e.NOT_EQUALS="not_equals",e.CONTAINS="contains",e.NOT_CONTAINS="not_contains",e.REGEX="regex"}(di||(di={})),function(e){e.EXISTS="exists",e.EQUALS="equals",e.NOT_EQUALS="not_equals",e.GREATER_THAN="greater_than",e.LESS_THAN="less_than",e.GREATER_THAN_OR_EQUAL="greater_than_or_equal",e.LESS_THAN_OR_EQUAL="less_than_or_equal"}(pi||(pi={})),function(e){e.EXISTS="exists",e.EQUALS="equals"}(ui||(ui={})),function(e){e.EXISTS="exists",e.EQUALS="equals",e.NOT_EQUALS="not_equals",e.IS_VALID_JSON="is_valid_json",e.IS_INVALID_JSON="is_invalid_json",e.JSONPATH_EXISTS="jsonpath_exists",e.KEY_EQUALS="key_equals",e.KEY_NOT_EQUALS="key_not_equals"}(hi||(hi={})),function(e){e.Horizontal="horizontal",e.Vertical="vertical"}(mi||(mi={})),function(e){e.Ascending="ascending",e.Descending="descending"}(gi||(gi={})),function(e){e.Community="community",e.Cloud="cloud",e.Onprem="onprem"}($i||($i={})),function(e){e.K8s="k8s",e.Vm="vm"}(xi||(xi={})),function(e){e.Cli="odigos-cli",e.Helm="helm",e.Operator="odigos-operator"}(fi||(fi={})),function(e){e.Go="go",e.JavaScript="javascript",e.Python="python",e.Java="java",e.DotNet="dotnet",e.CSharp="csharp",e.CPlusPlus="cplusplus",e.Php="php",e.Ruby="ruby",e.Rust="rust",e.Swift="swift",e.Elixir="elixir",e.MySql="mysql",e.Nginx="nginx",e.Postgres="postgres",e.Redis="redis",e.Kafka="kafka",e.Ignored="ignored",e.Unknown="unknown",e.Processing="processing",e.NoContainers="no containers",e.NoRunningPods="no running pods"}(bi||(bi={})),function(e){e.Create="Create",e.Read="Read",e.Update="Update",e.Delete="Delete"}(yi||(yi={})),function(e){e.Namespace="Namespace",e.Source="Source",e.Destination="Destination",e.Action="Action",e.InstrumentationRule="InstrumentationRule"}(wi||(wi={})),function(e){e.DataStream="DataStream"}(vi||(vi={})),function(e){e.Input="input",e.MultiInput="multiInput",e.MultiTabledInput="multiTabledInput",e.KeyValuePair="keyValuePairs",e.TextArea="textarea",e.Dropdown="dropdown",e.Checkbox="checkbox",e.Toggle="toggle"}(Ci||(Ci={})),function(e){e.Text="text",e.Password="password",e.Number="number"}(ki||(ki={})),function(e){e.Warning="warning",e.Error="error",e.Success="success",e.Info="info",e.Default="default"}(Si||(Si={})),function(e){e.INSTRUMENTED="Instrumented",e.INSTRUMENTING="Instrumenting",e.UNINSTRUMENTED="Uninstrumented",e.NOT_INSTRUMENTED="Not Instrumented"}(Ei||(Ei={})),function(e){e.Loading="loading",e.Disabled="disabled"}(Ai||(Ai={})),function(e){e.Disabled="disabled",e.Unknown="unknown"}(Ti||(Ti={})),function(e){e.CodeAttributes="code-attributes",e.FullPayloadCollection="full-payload-collection",e.DbPayloadCollection="db-payload-collection",e.QueryOperationDetector="query-operation-detector",e.AllowConcurrentAgents="allow_concurrent_agents",e.JavaEbpfInstrumentations="java-ebpf-instrumentations",e.JavaNativeInstrumentations="java-native-instrumentations",e.SizeS="size_s",e.SizeM="size_m",e.SizeL="size_l"}(Di||(Di={})),function(e){e.Header="header",e.Add="add",e.Base="base",e.Edged="edged",e.Frame="frame",e.Scroll="scroll",e.Skeleton="skeleton",e.MapItem="map-item",e.NoData="no-data",e.OdiLogo="odilogo"}(Ii||(Ii={})),function(e){e.Labeled="labeled"}(Ni||(Ni={})),function(e){e.AddRule="addRule",e.AddSource="addSource",e.AddAction="addAction",e.AddDestination="addDestination"}(Oi||(Oi={})),function(e){e.Alauda="alauda",e.AlibabaCloud="alibabacloud",e.AppDynamics="appdynamics",e.Axiom="axiom",e.AzureBlob="azureblob",e.AzureMonitor="azuremonitor",e.BetterStack="betterstack",e.Bonree="bonree",e.Causely="causely",e.Checkly="checkly",e.Chronosphere="chronosphere",e.ClickHouse="clickhouse",e.CloudWatch="cloudwatch",e.Coralogix="coralogix",e.Dash0="dash0",e.Datadog="datadog",e.Dynamic="dynamic",e.Dynatrace="dynatrace",e.ElasticApm="elasticapm",e.ElasticSearch="elasticsearch",e.GoogleCloud="googlecloud",e.GoogleCloudOTLP="googlecloudotlp",e.GrafanaCloudLoki="grafanacloudloki",e.GrafanaCloudPrometheus="grafanacloudprometheus",e.GrafanaCloudTempo="grafanacloudtempo",e.Greptime="greptime",e.Groundcover="groundcover",e.Honeycomb="honeycomb",e.HyperDX="hyperdx",e.Instana="instana",e.Jaeger="jaeger",e.Kafka="kafka",e.Kloudmate="kloudmate",e.Last9="last9",e.Lightstep="lightstep",e.LogzIo="logzio",e.Loki="loki",e.Lumigo="lumigo",e.Middleware="middleware",e.NewRelic="newrelic",e.Observe="observe",e.Odigos="odigos",e.OneUptime="oneuptime",e.OpenObserve="openobserve",e.Opsverse="opsverse",e.Oracle="oracle",e.OTLP="otlp",e.OTLPHttp="otlphttp",e.Prometheus="prometheus",e.Qryn="qryn",e.QrynOss="qryn-oss",e.Quickwit="quickwit",e.S3="s3",e.Seq="seq",e.Signalfx="signalfx",e.Signoz="signoz",e.Splunk="splunk",e.SplunkSapm="splunksapm",e.SplunkOtlp="splunkotlp",e.SumoLogic="sumologic",e.TelemetryHub="telemetryhub",e.Tempo="tempo",e.Tingyun="tingyun",e.Traceloop="traceloop",e.Uptrace="uptrace",e.VictoriaMetrics="victoriametrics",e.VictoriaMetricsCloud="victoriametricscloud",e.XRay="xray"}(zi||(zi={})),function(e){e.Deployment="Deployment",e.DaemonSet="DaemonSet",e.StatefulSet="StatefulSet",e.CronJob="CronJob",e.Pod="Pod",e.StaticPod="StaticPod",e.Rollout="Rollout",e.ConfigMap="ConfigMap",e.DeploymentConfig="DeploymentConfig"}(Fi||(Fi={})),function(e){e.GolangCommunity="golang-community",e.NodejsCommunity="nodejs-community",e.PythonCommunity="python-community",e.JavaCommunity="java-community",e.DotNetCommunity="dotnet-community",e.RubyCommunity="ruby-community",e.PhpCommunity="php-community",e.GolangEnterprise="golang-enterprise",e.NodejsEnterprise="nodejs-enterprise",e.PythonEnterprise="python-enterprise",e.JavaEnterprise="java-enterprise",e.JavaEbpfInstrumentations="java-ebpf-instrumentations",e.DotNetLegacy="dotnet-legacy",e.DotNetEnterprise="dotnet-enterprise",e.RubyEnterprise="ruby-enterprise",e.CPlusPlusEnterprise="cplusplus-enterprise",e.MySqlEnterprise="mysql-enterprise"}(_i||(_i={})),function(e){e.Error="Error",e.Failure="Failure",e.Notice="Notice",e.Pending="Pending",e.Waiting="Waiting",e.Unsupported="Unsupported",e.Disabled="Disabled",e.Success="Success",e.Irrelevant="Irrelevant",e.Unknown="Unknown"}(Ri||(Ri={})),function(e){e.CodeAttributes="CodeAttributes",e.HeadersCollection="HeadersCollection",e.PayloadCollection="PayloadCollection",e.CustomInstrumentation="CustomInstrumentation",e.UnknownType="UnknownType"}(Bi||(Bi={})),function(e){e.Column="column",e.FilePath="filePath",e.Function="function",e.LineNumber="lineNumber",e.Namespace="namespace",e.StackTrace="stacktrace"}(Mi||(Mi={})),function(e){e.HeaderKeys="headerKeys"}(Li||(Li={})),function(e){e.Java="java",e.Golang="golang"}(Pi||(Pi={}));class Ki{className;methodName;constructor(e,t){this.className=e,this.methodName=t}Verify(){return!!this.className&&!!this.methodName}toString(){return this.Verify()?`${this.className}.${this.methodName}`:"[Faulty Java Probe]"}}class Yi{packageName;functionName;receiverName;receiverMethodName;constructor(e,t,i,n){this.packageName=e,this.functionName=t||"",this.receiverName=i||"",this.receiverMethodName=n||""}Verify(){return!(!this.packageName||(this.functionName?this.receiverMethodName||this.receiverName:!this.receiverMethodName||!this.receiverName))}toString(){return this.Verify()?this.functionName?`${this.packageName}.${this.functionName}`:this.receiverName&&this.receiverMethodName?`${this.packageName}.(${this.receiverName}).${this.receiverMethodName}`:"":"[Faulty Golang Probe]"}}!function(e){e.HttpRequest="httpRequest",e.HttpResponse="httpResponse",e.DbQuery="dbQuery",e.Messaging="messaging"}(ji||(ji={})),function(e){e.Healthy="Healthy",e.Updating="Updating",e.Degraded="Degraded",e.Failed="Failed",e.Down="Down",e.Unknown="Unknown"}(Ui||(Ui={})),function(e){e.Pending="Pending",e.Running="Running",e.Succeeded="Succeeded",e.Failed="Failed",e.Unknown="Unknown"}(Wi||(Wi={})),function(e){e.ContainerCreating="ContainerCreating",e.CrashLoopBackOff="CrashLoopBackOff",e.CreateContainerError="CreateContainerError",e.CreateContainerConfigError="CreateContainerConfigError",e.ErrImagePull="ErrImagePull",e.ErrImageNeverPull="ErrImageNeverPull",e.ImagePullBackOff="ImagePullBackOff",e.InvalidImageName="InvalidImageName",e.RegistryUnavailable="RegistryUnavailable",e.NetworkNotReady="NetworkNotReady",e.Running="Running",e.Completed="Completed",e.Error="Error",e.OOMKilled="OOMKilled",e.ContainerCannotRun="ContainerCannotRun",e.DeadlineExceeded="DeadlineExceeded",e.StartError="StartError"}(Vi||(Vi={})),function(e){e.Running="Running",e.Waiting="Waiting",e.Terminated="Terminated"}(Gi||(Gi={})),function(e){e.Logs="LOGS",e.Metrics="METRICS",e.Traces="TRACES"}(qi||(qi={})),function(e){e.Logs="logs",e.Metrics="metrics",e.Traces="traces"}(Hi||(Hi={}));const Ji={[qi.Logs]:Hi.Logs,[qi.Metrics]:Hi.Metrics,[qi.Traces]:Hi.Traces},Xi={[Hi.Logs]:qi.Logs,[Hi.Metrics]:qi.Metrics,[Hi.Traces]:qi.Traces},Zi=(e,t)=>{let i=[...e];return t.namespaces?.length&&(i=i.filter(({namespace:e})=>!!t.namespaces?.find(({id:t})=>t===e))),t.kinds?.length&&(i=i.filter(({kind:e})=>!!t.kinds?.find(({id:t})=>t===e))),t.languages?.length&&(i=i.filter(({containers:e})=>!!t.languages?.find(({id:t})=>!!e?.find(({language:e})=>t===e)))),t.conditions?.length&&(i=i.filter(({conditions:e})=>!!t.conditions?.find(({id:t})=>!!e?.find(({type:e,reason:i})=>t===`${e}#${i}`)))),t.podsAgentInjectionStatus?.length&&(i=i.filter(({podsAgentInjectionStatus:e})=>!!t.podsAgentInjectionStatus?.find(({id:t})=>t===e?.reasonEnum||t===e?.message))),t.onlyErrors&&(i=i.filter(e=>!!e.conditions?.find(e=>e.status===Si.Error))),t.errors?.length&&(i=i.filter(e=>!!t.errors?.find(t=>!!e.conditions?.find(e=>e.message===t.id)))),i},Qi="https://docs.odigos.io",en="default",tn={SELECTED_DATA_STREAM:"SELECTED_DATA_STREAM",SELECTED_DATA_STREAM_WITH_PROXY:e=>`SELECTED_DATA_STREAM_${e}`,OVERVIEW_FILTERS:"OVERVIEW_FILTERS",DARK_MODE:"DARK_MODE"},nn={REQUIRED_FIELDS:"Required fields are missing",FIELD_IS_REQUIRED:"This field is required",FORBIDDEN:"Forbidden",ENTERPRISE_ONLY:(e="This")=>`${e} is an Enterprise feature. Please upgrade your plan.`,DEFINED_FOR_ALL_STREAMS:e=>`${e} are defined for all Data Streams.`,CANNOT_EDIT_RULE:"Cannot edit a system-managed instrumentation rule",CANNOT_DELETE_RULE:"Cannot delete a system-managed instrumentation rule",LATENCY_HTTP_ROUTE:'HTTP route must start with a forward slash "/"',READONLY_WARNING:"You're not allowed to create/update/delete in readonly mode",ILLEGAL_K8S_LABEL:'Must be 63 characters or less, must consist of alphanumeric characters, "-", "_", or ".", and must start & end with an alphanumeric character (e.g., my-name, 123.abc).',INVALID_VERSION:'Invalid version format, must be in the format of "major.minor.patch" (e.g. 1.0.0)'},on={NAMESPACE:"Namespace",NAME:"Name",KIND:"Kind",CONNECTION:"Connection",CONNECTIONS:"Connections",DATA_STREAM:"Data Stream",DATA_STREAMS:"Data Streams",STREAM_NAME:"Data Stream Name",NAME_YOUR_STREAM:"Name your Data Stream",NAME_YOUR_STREAM_PLACEHOLDER:"e.g. Highest priority",STREAM_DESCRIPTION:"Provide a clear and descriptive name for your pipeline to ensure its purpose is easily understood by you and your team.",STREAM_CONFIRM:"Confirm your new Data Stream",DATA_STREAM_EXISTS_WARNING:(e,t)=>`A Data Stream with this name already exists, you can still rename the current "${e}", but it will merge into the existing "${t}".`,ACTION:"Action",ACTIONS:"Actions",ADD_ACTION:"Add Action",ACTION_DETAILS:"Action Details",INSTRUMENTATION_RULE:"Instrumentation Rule",INSTRUMENTATION_RULES:"Instrumentation Rules",ADD_INSTRUMENTATION_RULE:"Add Instrumentation Rule",INSTRUMENTATION_RULE_DETAILS:"Instrumentation Rule Details",DESTINATION:"Destination",DESTINATIONS:"Destinations",ADD_DESTINATION:"Add Destination",ADD_DESTINATIONS:"Add Destinations",ADD_DESTINATION_DESCRIPTION:"Add a destination to send your telemetry data to. You can add multiple destinations.",DESTINATION_DETAILS:"Destination Details",SELECTED_DESTINATIONS:"Selected Destinations",SOURCE:"Source",SOURCES:"Sources",ADD_SOURCE:"Add Source",SOURCE_DETAILS:"Source Details",SELECT_SOURCES:"Select Sources",SELECTED_SOURCES:"Selected Sources",SELECT_SOURCES_DESCRIPTION:"Choose which sources to monitor in your pipeline.",NO_SOURCES:"No sources",NO_SOURCES_GO_BACK:"No sources selected. Please go back to select sources.",PLEASE_ADD_SOURCE:"Please add a source",NO_SOURCES_NAMESPACE:"No sources available in this namespace",TRY_SEARCH_OR_OTHER_NAMESPACE:"Try searching again or select another namespace.",PLEASE_MAKE_SURE_UNIGNORED_NAMESPACES:"Please make sure your cluster has unignored namespaces",INSTALLATION:"Installation",SUMMARY:"Summary",TYPE:"Type",NOTES:"Notes",STATUS:"Status",READONLY:"Readonly",LANGUAGE:"Language",VERSION:"Version",RUNTIME_VERSION:"Runtime Version",VERSION_PLACEHOLDER:"1.0.0",MONITORS:"Monitors",SIGNALS_FOR_PROCESSING:"Signals for Processing",MANAGED_BY_PROFILE:"Managed by Profile",TIER:"Tier",ENTERPRISE:"Enterprise",ENTERPRISE_TIER:"Enterprise Tier",COMMUNITY:"Community",COMMUNITY_TIER:"Community Tier",API_TOKEN:"API Token",API_TOKENS:"API Tokens",DESCRIBE_ODIGOS:"Describe Odigos",DESCRIBE_SOURCE:"Describe Source",DETECTED_CONTAINERS:"Detected Containers",DETECTED_CONTAINERS_DESCRIPTION:"The system automatically instruments the containers it detects with a supported programming language.",DETECTED_PROCESSES:"Detected Processes",DETECTED_PROCESSES_DESCRIPTION:"The system automatically instruments the processes it detects with a supported programming language.",CONTAINER_NAME:"Container Name",FILTERED_COUNT_TOOLTIP:"Represents filtered amount, out of total amount",SEARCH_NAMESPACES:"Search Namespaces",SEARCH_SOURCES:"Search Sources",SELECT_ALL:"Select All",ONLY_SELECTED:"Only selected",ONLY_RUNNING_INSTANCES:"Only running instances",TO_COLLECT_OTEL_DATA:"To collect OpenTelemetry data",TO_MONITOR_OTEL_DATA:"To monitor OpenTelemetry data",TO_MODIFY_OTEL_DATA:"To modify OpenTelemetry data",QUICK_BACK_TO_SUMMARY:"When you finish editing you can quickly go back to the summary.",GO_TO_SUMMARY:"Go to summary",FUTURE_APPS_TITLE:"Instrument entire namespace",FUTURE_APPS_DESCRIPTION:"When enabled, all applications in the namespace and new applications will be instrumented automatically and included in the current data stream using a Namespace Source.",OVERIDE:"Override",OVERIDDEN:"Overridden",OVERRIDE_RUNTIME_DETAILS:"Override Runtime Details",OVERRIDE_RUNTIME_WARNING:"This is an advanced configuration. If the selected programming language is incorrect, data collection may be incomplete or may not occur at all.",ACTIVE:"Active",INACTIVE:"Inactive",ENABLED:"Enabled",DISABLED:"Disabled",NO_TRACES_FOUND:"No traces found",ARE_SERVICES_INSTRUMENTED_AND_PRODUCING_TRAFFIC:"Are your services instrumented & producing traffic?",JAVA_CUSTOM_PROBES:"Java Custom Probes",GOLANG_CUSTOM_PROBES:"Golang Custom Probes",ROLLBACK_OCCURRED_MESSAGE:"Odigos detected a crash and rolled back instrumentation to protect your workload.",ROLLBACK_RECOVER:"Recover",FETCHING_NAMESPACES:"Fetching namespaces",FETCHING_NAMESPACES_SUBTITLE:"Please wait while we fetch the namespaces",ADD_SOURCES_DESCRIPTION:"Choose which sources to monitor in your pipeline.",CREATING_SOURCES:"Creating Sources...",CREATING_SOURCES_SUBTITLE:"This may take a few moments while sources are being created.",SELECT_NAMESPACE:"Select namespace from the list",SELECT_NAMESPACE_SUBTITLE:"Add namespace so you can select workloads from it.",CREATING_ACTION:"Creating action",CREATING_ACTION_SUBTITLE:"Please wait while we create the action",ADD_ACTION_DESCRIPTION:"Select an action to modify telemetry data before it's sent to destinations. Choose an action type and configure its details.",CREATING_INSTRUMENTATION_RULE:"Creating instrumentation rule",CREATING_INSTRUMENTATION_RULE_SUBTITLE:"Please wait while we create the instrumentation rule",ADD_INSTRUMENTATION_RULE_DESCRIPTION:"Define how telemetry is recorded from your application. Choose a rule type and configure the details.",CREATING_DESTINATION:"Creating destination",CREATING_DESTINATION_SUBTITLE:"Please wait while we create the destination",ADD_DESTINATION_DRAWER_DESCRIPTION:"Add backend destination you want to connect with Odigos."},rn={ADD:"Add",ADD_NEW:"Add New",NEW:"New",SELECT:"Select",CREATE:"Create",UPDATE:"Update",EDIT:"Edit",DELETE:"Delete",CANCEL:"Cancel",DONE:"Done",SAVE:"Save",BACK:"Back",NEXT:"Next",TEST:"Test",TEST_CONNECTION:"Test Connection",INSTRUMENT:"Instrument",UNINSTRUMENT:"Uninstrument"},an=(e,t)=>t?e.filter(e=>e.dataStreamNames.includes(t)||t===en&&!e.dataStreamNames.length):[],sn=(e,t="",i={})=>{for(const n in e)if(e.hasOwnProperty(n)){const o=e[n],r=t?`${t}.${n}`:n;null===o||"object"!=typeof o||Array.isArray(o)?Array.isArray(o)?o.forEach((e,t)=>{const n=`${r}[${t}]`;null!==e&&"object"==typeof e?sn(e,n,i):i[n]=e}):i[r]=o:sn(o,r,i)}return i},ln=e=>{if(!e)return"0 KB/s";const t=Math.floor(Math.log(e)/Math.log(1024));return`${(e/Math.pow(1024,t)).toFixed(0===t?0:1)} ${["Bytes/s","KB/s","MB/s","GB/s","TB/s"][t]}`},cn=e=>{if(!e)return"0 ns";if(e<1e3)return`${e.toFixed(0)} ns`;if(e<1e6){const t=e/1e3;return`${t.toFixed(t<10?2:0)} μs`}if(e<1e9){const t=e/1e6;return`${t.toFixed(t<10?2:0)} ms`}if(e<6e10){const t=e/1e9;return`${t.toFixed(t<10?2:0)} s`}if(e<36e11){const t=e/6e10;return`${t.toFixed(t<10?2:0)} m`}if(e<864e11){const t=e/36e11;return`${t.toFixed(t<10?2:0)} h`}{const t=e/864e11;return`${t.toFixed(t<10?2:0)} d`}},dn=()=>{const e=crypto.getRandomValues(new Uint8Array(16));let t=0;return"10000000-1000-4000-8000-100000000000".replace(/[018]/g,i=>{const n=e[t%16];return t++,("1"===i?n:"0"===i?63&n|128:15&n|64).toString(16)})},pn=l=>{const c=l?.toLowerCase(),d=c?.includes(ai.Samplers),p=c===ai.Attributes;return d?e:p?t:{[si.K8sAttributes]:a,[si.AddClusterInfo]:r,[si.DeleteAttributes]:o,[si.PiiMasking]:t,[si.RenameAttributes]:n,[si.URLTemplatization]:i,[si.ErrorSampler]:e,[si.ProbabilisticSampler]:e,[si.LatencySampler]:e,[si.ServiceNameSampler]:e,[si.SpanAttributeSampler]:e}[l]||s},un=e=>{const t=e?.filter(({status:e})=>e===Si.Error),i=e?.filter(({status:e})=>e===Si.Warning),n=e?.filter(({status:e})=>e===Ai.Disabled),o=e?.filter(({status:e})=>e===Ai.Loading),r=t.length>0,a=i.length>0,s=n.length>0;return{errors:t,hasErrors:r,warnings:i,hasWarnings:a,disableds:n,hasDisableds:s,loadings:o,hasLoadings:o.length>0,priorotizedStatus:r?Si.Error:a?Si.Warning:s?Si.Info:void 0}},hn=e=>{const t=e?.reduce((e,t)=>t.instrumented?e+1:e,0);return`${t}/${e?.length||0} instrumented`},mn=e=>({[bi.Java]:k,[bi.Go]:C,[bi.JavaScript]:v,[bi.Python]:w,[bi.DotNet]:y,[bi.CSharp]:b,[bi.CPlusPlus]:f,[bi.Php]:x,[bi.Ruby]:$,[bi.Rust]:g,[bi.Swift]:m,[bi.Elixir]:h,[bi.MySql]:u,[bi.Nginx]:p,[bi.Postgres]:d,[bi.Redis]:c,[bi.Kafka]:l,[bi.Ignored]:s,[bi.Unknown]:s,[bi.Processing]:s,[bi.NoContainers]:s,[bi.NoRunningPods]:s}[e]||s),gn=e=>e?.map(({language:e})=>mn(e))||[],$n=e=>e?.map(e=>mn(e))||[],xn=e=>e.detectedLanguages?.length?$n(e.detectedLanguages):gn(e.containers),fn=(e,t)=>{const i={[zi.Alauda]:Te,[zi.AlibabaCloud]:Ae,[zi.AppDynamics]:Ee,[zi.Axiom]:Se,[zi.AzureBlob]:ke,[zi.AzureMonitor]:Ce,[zi.BetterStack]:ve,[zi.Bonree]:we,[zi.Causely]:ye,[zi.Checkly]:be,[zi.Chronosphere]:fe,[zi.ClickHouse]:xe,[zi.CloudWatch]:$e,[zi.Coralogix]:ge,[zi.Dash0]:me,[zi.Datadog]:he,[zi.Dynamic]:j,[zi.Dynatrace]:ue,[zi.ElasticApm]:pe,[zi.ElasticSearch]:de,[zi.GoogleCloud]:ce,[zi.GoogleCloudOTLP]:ce,[zi.GrafanaCloudLoki]:le,[zi.GrafanaCloudPrometheus]:le,[zi.GrafanaCloudTempo]:le,[zi.Greptime]:se,[zi.Groundcover]:ae,[zi.Honeycomb]:re,[zi.HyperDX]:oe,[zi.Instana]:ne,[zi.Jaeger]:ie,[zi.Kafka]:l,[zi.Kloudmate]:te,[zi.Last9]:ee,[zi.Lightstep]:Q,[zi.LogzIo]:Z,[zi.Loki]:X,[zi.Lumigo]:J,[zi.Middleware]:Y,[zi.NewRelic]:K,[zi.Observe]:H,[zi.Odigos]:q,[zi.OneUptime]:G,[zi.OpenObserve]:V,[zi.Opsverse]:W,[zi.Oracle]:U,[zi.OTLP]:j,[zi.OTLPHttp]:j,[zi.Prometheus]:P,[zi.Qryn]:L,[zi.QrynOss]:M,[zi.Quickwit]:B,[zi.S3]:R,[zi.Seq]:_,[zi.Signalfx]:z,[zi.Signoz]:F,[zi.Splunk]:z,[zi.SplunkSapm]:z,[zi.SplunkOtlp]:z,[zi.SumoLogic]:O,[zi.TelemetryHub]:N,[zi.Tempo]:I,[zi.Tingyun]:D,[zi.Traceloop]:T,[zi.Uptrace]:A,[zi.VictoriaMetrics]:E,[zi.VictoriaMetricsCloud]:E,[zi.XRay]:S}[e];return i&&!t?{icon:i}:{iconSrc:`https://d15jtxgb40qetw.cloudfront.net/${e}.svg`}},bn=e=>({[wi.Namespace]:Oe,[wi.Source]:Ne,[wi.Destination]:Ie,[wi.Action]:i,[wi.InstrumentationRule]:De}[e]),yn=e=>"ruleId"in e&&e.ruleId?e.ruleId:"id"in e&&e.id?e.id:"namespace"in e&&e.namespace&&"kind"in e&&e.kind&&"name"in e&&e.name?{namespace:e.namespace,name:e.name,kind:e.kind}:"name"in e&&e.name?e.name:void 0,wn=(e,t,i)=>{const{extended:n,prioritizeDisplayName:o}=i||{};let r="",a="";switch(t){case wi.InstrumentationRule:const t=e;r=t.type,a=t.ruleName;break;case wi.Source:const i=e;r=i.name,a=i.otelServiceName;break;case wi.Action:const n=e;r=n.type,a=n.name;break;case wi.Destination:const o=e;r=o.destinationType.displayName,a=o.name;break;case wi.Namespace:const s=e;r=s.name,a=s.name}return n?r+(a&&a!==r?` (${a})`:""):o&&a||r},vn=(e,t)=>{if(t===wi.Source){const t={namespace:"",name:"",kind:""};return e.split("&").forEach(e=>{const[i,n]=e.split("=");t[i]=n}),t}return e},Cn=e=>({[Bi.CodeAttributes]:Re,[Bi.CustomInstrumentation]:_e,[Bi.HeadersCollection]:Fe,[Bi.PayloadCollection]:ze,[Bi.UnknownType]:s}[e]||s),kn=e=>{const{numberOfInstances:t,containers:i}=e;if(!i)return t&&t>0?bi.Processing:bi.NoRunningPods;const n=i?.filter(e=>e.language!==bi.Ignored);if(!n.length)return bi.NoContainers;const o=n.find(e=>e.language!==bi.Unknown);return o?o.language:bi.Unknown},Sn=(e,t,i)=>(t===wi.Source?e?.sources.find(e=>e.kind===i.kind&&e.name===i.name&&e.namespace===i.namespace):e?.destinations.find(e=>e.id===i))||{throughput:0},En=e=>({[qi.Logs]:Le,[qi.Metrics]:Me,[qi.Traces]:Be}[e]),An=e=>e?{[xi.K8s]:a,[xi.Vm]:Pe}[e]:q,Tn=e=>e?{[xi.K8s]:"Kubernetes Cluster",[xi.Vm]:"Virtual Machine"}[e]:"Unknown",Dn=(e,t,i)=>{const n=e[t];return n?n.flatMap(e=>{const n=e[i],o=[];return void 0!==n&&(Array.isArray(n)?o.push(...n):o.push(n)),o.push(...Dn(e,t,i)),o}):[]},In=(e,t)=>{if(t===wi.Source){let t="";return Object.entries(e).forEach(([e,i])=>{t+=`${e}=${i}&`}),t.slice(0,-1),t}return e},Nn=(e,t,i)=>{switch(t){case Si.Default:return e.v2.colors.purple[i];case Si.Info:return e.v2.colors.blue[i];case Si.Error:return e.v2.colors.red[i];case Si.Warning:return e.v2.colors.yellow[i];case Si.Success:return e.v2.colors.green[i];case Ti.Disabled:case Ti.Unknown:return e.v2.colors.silver[i];default:return e.v2.colors.white[500]}},On=e=>{switch(e){case Ui.Updating:case Wi.Pending:case Vi.ContainerCreating:case Gi.Waiting:return Si.Info;case Ui.Healthy:case Wi.Succeeded:case Wi.Running:case Vi.Running:case Gi.Running:return Si.Success;case Ui.Degraded:return Si.Warning;case Ui.Failed:case Wi.Failed:case Vi.Error:case Vi.CrashLoopBackOff:case Vi.CreateContainerError:case Vi.CreateContainerConfigError:case Vi.ErrImagePull:case Vi.ErrImageNeverPull:case Vi.ImagePullBackOff:case Vi.InvalidImageName:case Vi.RegistryUnavailable:case Vi.NetworkNotReady:case Vi.OOMKilled:case Vi.ContainerCannotRun:case Gi.Terminated:case Vi.DeadlineExceeded:case Vi.StartError:return Si.Error;case Ui.Down:case Vi.Completed:return Ti.Disabled;case Ui.Unknown:case Wi.Unknown:default:return Ti.Unknown}},zn=(e,t)=>({[Si.Default]:i=>q({fill:Nn(t,e,"300"),...i}),[Si.Info]:i=>qe({fill:Nn(t,e,"400"),...i}),[Si.Error]:i=>Ge({fill:Nn(t,e,"500"),...i}),[Si.Warning]:i=>Ve({fill:Nn(t,e,"500"),...i}),[Si.Success]:i=>We({fill:Nn(t,e,"500"),...i}),[Ti.Disabled]:i=>Ue({fill:Nn(t,e,"400"),...i}),[Ti.Unknown]:i=>je({fill:Nn(t,e,"300"),...i})}[e]),Fn=e=>{switch(e){case Ri.Success:return Si.Success;case Ri.Error:case Ri.Failure:return Si.Error;case Ri.Notice:return Si.Warning;case Ri.Unsupported:case Ri.Unknown:return Si.Info;case Ri.Irrelevant:case Ri.Disabled:return Ai.Disabled;case Ri.Waiting:return Ai.Loading;case Ri.Pending:default:return Si.Default}},_n=(e,t)=>{const i=t.find(([t,i])=>e>=t&&(null===i||e<=i));return i?.[2]||null},Rn=({namespace:e,name:t,kind:i})=>({namespace:e,name:t,kind:i});function Bn(e,t){if(!e)return t;if("object"==typeof e)return e;try{return JSON.parse(e)}catch(e){return t}}const Mn=(e,t)=>{const i=[],n=JSON.parse(JSON.stringify(e));for(const e of n){const n=Bn(t.fields,{}),o=e.items.findIndex(e=>e.type===t.destinationType.type);-1!==o&&i.push(...e.items[o].fields.map(e=>({...e,initialValue:n[e.name]})))}return i},Ln=(e,t)=>{const i=e=>e?.some(({healthy:e})=>e.status!==Si.Success);return e?.length?e.some(({instrumentationInstances:e})=>i(e)):i(t)??!1},Pn=e=>Array.isArray(e)?!e?.length:"object"==typeof e?!Object.keys(e||{}).length:[void 0,null,""].includes(e),jn=e=>!!e&&(!(e.length>63)&&/^(([A-Za-z0-9][-A-Za-z0-9_.]*)?[A-Za-z0-9])?$/.test(e)),Un=(e,t=0)=>{const i=(new Date).getTime();return new Date(e).getTime()-i<=t},Wn=e=>{const t=String(e).trim().toLowerCase();return["true","false","1","0"].includes(t)},Vn=(e,t=0)=>(new Date).getTime()-new Date(e).getTime()>=t,Gn=/^(\d+\.)?(\d+\.)?(\*|\d+)$/,qn=e=>Gn.test(e),Hn=e=>e?e.replace(/([a-z0-9])([A-Z])/g,"$1 $2"):"",Kn=e=>e?.map(({status:e,type:t,reason:i,message:n})=>({status:e,type:Hn(t),reason:i?Hn(i):"",message:n}))||[],Yn=(e,t)=>{const i=Bn(e.fields,{});return t.length?t.map(e=>({key:e.name,name:e.displayName||e.name,value:i[e.name]??null})).filter(e=>null!==e.value):Object.entries(i).map(([e,t])=>({key:e,name:e,value:t}))},Jn=e=>e?Object.keys(e).filter(t=>e[t]).map(e=>Xi[e]):[],Xn=e=>e?Object.keys(e).filter(t=>e[t].supported).map(e=>Xi[e]):[],Zn=e=>e.replace(/[^\d]/g,""),Qn=e=>{const t=String(e).trim().toLowerCase();return"true"===t||"1"===t},eo=e=>{let t="";try{const i=JSON.parse(e);t=Array.isArray(i)?i.map(e=>"object"==typeof e&&null!==e?`${e.key}: ${e.value}`:e).join(", "):"object"==typeof i&&null!==i?Object.entries(i).map(([e,t])=>`${e}: ${t}`).join(", "):e}catch(i){t=e}return t},to=e=>{if("object"!=typeof e)return e;const t=Array.isArray(e)?[]:{};return Object.keys(e).forEach(i=>{const n=e[i];if(Array.isArray(n)){const e=n.filter(e=>null!=e&&""!==e);e.length>0&&(t[i]=e.map(e=>to(e)))}else if("object"==typeof n&&null!==n){const e=to(n);Object.keys(e).length>0&&(t[i]=e)}else[void 0,null,""].includes(n)||(t[i]=n)}),t},io=(e,t=2)=>JSON.stringify(e||{},null,t),no=async(e=1e3)=>new Promise(t=>setTimeout(t,e)),oo=e=>Object.entries(e).reduce((e,[t,i])=>(e[t]="string"==typeof i?i:JSON.stringify(i),e),{}),ro=e=>{let t=e.toString().replace("v","").split("-")[0];t=t.match(/[\d.]+/)?.[0]||"";const i=t.split(".");return 1e4*parseInt(i[0]||"0",10)+parseInt(i[1]||"0",10)};var ao,so;!function(e){e.H1="h1",e.H2="h2",e.H3="h3",e.H4="h4",e.H5="h5",e.H6="h6",e.P="p",e.Span="span"}(ao||(ao={})),function(e){e.XXXS="xxxs",e.XXS="xxs",e.XS="xs",e.S="s",e.M="m",e.L="l",e.XL="xl",e.XXL="xxl",e.XXXL="xxxl"}(so||(so={}));const lo=Rt.p`
|
|
2
2
|
margin: 0;
|
|
3
3
|
color: ${({$color:e,theme:t})=>e||t.v2.colors.grey[50]};
|
|
4
4
|
font-family: ${({theme:e})=>e.font_family.primary};
|
|
@@ -143,7 +143,7 @@ import{SamplerIcon as e,PiiMaskingIcon as t,ActionIcon as i,RenameAttributeIcon
|
|
|
143
143
|
margin: 4px 0 0 0;
|
|
144
144
|
list-style: none;
|
|
145
145
|
width: 100%;
|
|
146
|
-
`,zo=(e,t)=>t?e.reduce((e,i)=>{if(i.items){const n=zo(i.items,t);n.length&&e.push({...i,items:n})}else i.label.toLowerCase().includes(t.toLowerCase())&&e.push(i);return e},[]):e,Fo=({placeholder:e="Type to search...",options:t,selectedOption:i,onOptionSelect:n,defaultText:o,onTextChange:r,style:a,disabled:s,errorMessage:l,...c})=>{const[d,p]=Ct(i?.label||o||""),[u,h]=Ct(zo(t,d)),[m,g]=Ct(!1);Ct(-1),kt(()=>h(zo(t,d)),[t]);const $=i?.icon,x=e=>{e&&(p(e.label),r?.(e.label)),g(!e),n?.(e)};return bt(wo,{style:a,children:[bt(vo,{$hasError:!!l,children:[$&&ft($,{}),ft(Co,{type:"text",value:d,placeholder:e,onChange:e=>{e.stopPropagation();const i=e.target.value,n=zo(t,i),o=1===n.length&&n[0].label===i?n[0]:void 0;p(i),r?.(i),h(n),x(o)},onKeyDown:e=>{["Enter"].includes(e.key)||e.stopPropagation()},disabled:s,onBlur:()=>!s&&g(!1),onFocus:()=>!s&&g(!0),...c})]}),m&&u.length?ft(ko,{children:u.map(e=>ft(_o,{option:e,onClick:x},e.type||e.label))}):null,l&&ft(yo,{children:l})]})},_o=({option:e,renderIcon:t=!0,onClick:i})=>{const n=!!e.items&&e.items.length>0,o=e.icon;return bt(So,{"data-id":`option-${e.type||e.label}`,$isList:n,onMouseDown:()=>n?null:i(e),children:[o&&t&&ft(o,{}),bt(Eo,{children:[bt(Do,{children:[ft(Io,{children:e.label}),ft(No,{children:e.description})]}),n&&ft(Oo,{children:e.items?.map(e=>bt(Ao,{children:[ft(To,{}),ft(_o,{option:e,renderIcon:!1,onClick:i})]},e.type||e.label))})]})]})},Ro=xt(e=>({activeNodeType:null,activeNodeId:null,setActiveNodeType:t=>e({activeNodeType:t}),setActiveNodeId:t=>e({activeNodeId:t})})),Bo=[{type:si.K8sAttributes,icon:pn(si.K8sAttributes),label:"Kubernetes Attributes",description:"Add dynamic k8s resource attributes to your data.",allowedSignals:[qi.Traces,qi.Metrics,qi.Logs],docsEndpoint:"/pipeline/actions/attributes/k8sattributes",docsDescription:"This action adds kubernetes related resource attributes to spans, metrics data points and log records."},{type:si.AddClusterInfo,icon:pn(si.AddClusterInfo),label:"Add Cluster Info",description:"Add static cluster-scoped attributes to your data.",allowedSignals:[qi.Traces,qi.Metrics,qi.Logs],docsEndpoint:"/pipeline/actions/attributes/addclusterinfo",docsDescription:"This action adds static resource attributes to spans, metrics data points and log records. It is useful to add cluster-wide attributes to all telemetry signals."},{type:si.DeleteAttributes,icon:pn(si.DeleteAttributes),label:"Delete Attribute",description:"Delete attributes from logs, metrics, and traces.",allowedSignals:[qi.Traces,qi.Metrics,qi.Logs],docsEndpoint:"/pipeline/actions/attributes/deleteattribute",docsDescription:"This action will delete the specified attributes from all telemetry signals that are specified in the signals field, regardless of the source, or any other condition."},{type:si.RenameAttributes,icon:pn(si.RenameAttributes),label:"Rename Attribute",description:"Rename attributes in logs, metrics, and traces.",allowedSignals:[qi.Traces,qi.Metrics,qi.Logs],docsEndpoint:"/pipeline/actions/attributes/renameattribute",docsDescription:"This action will rename the specified attributes from all telemetry signals that are specified in the signals field, regardless of the source, or any other condition."},{type:si.PiiMasking,icon:pn(si.PiiMasking),label:"PII Masking",description:"Mask PII data in your traces.",allowedSignals:[qi.Traces],docsEndpoint:"/pipeline/actions/attributes/piimasking",docsDescription:"This action processes a list of PII categories to be masked from the traces."},{type:si.URLTemplatization,icon:pn(si.URLTemplatization),label:"URL Templatization",description:"Replace dynamic URL path segments with named placeholders to reduce span cardinality.",allowedSignals:[qi.Traces],docsEndpoint:"/pipeline/actions/attributes/urltemplatization",docsDescription:"Normalizes HTTP URL paths by replacing dynamic segments (IDs, UUIDs, dates) with named placeholders (e.g. /user/1234 → /user/{id}). Reduces cardinality of http.route and span names, improving usability in telemetry backends."}],Mo=[{type:si.ErrorSampler,icon:pn(ai.Samplers),label:"Error Sampler",description:"Sample errors based on percentage.",allowedSignals:[qi.Traces],docsEndpoint:"/pipeline/actions/sampling/errorsampler",docsDescription:"This action is a Global Action that supports error sampling by filtering out non-error traces."},{type:si.LatencySampler,icon:pn(ai.Samplers),label:"Latency Sampler",description:"Add latency to your traces.",allowedSignals:[qi.Traces],docsEndpoint:"/pipeline/actions/sampling/latencysampler",docsDescription:"This action is an Endpoint Action that samples traces based on their duration for a specific service and endpoint (HTTP route) filter."},{type:si.ProbabilisticSampler,icon:pn(ai.Samplers),label:"Probabilistic Sampler",description:"Sample traces based on percentage.",allowedSignals:[qi.Traces],docsEndpoint:"/pipeline/actions/sampling/probabilisticsampler",docsDescription:"This action supports probabilistic sampling based on a configured sampling percentage applied to the TraceID."},{type:si.ServiceNameSampler,icon:pn(ai.Samplers),label:"Service Name Sampler",description:"Sample traces based on the presence of specified services within a trace.",allowedSignals:[qi.Traces],docsEndpoint:"/pipeline/actions/sampling/servicenamesampler",docsDescription:"This action supports service name sampling based on the presence of specified services within a trace."},{type:si.SpanAttributeSampler,icon:pn(ai.Samplers),label:"Span Attributes Sampler",description:"Sample traces based on the presence or value of specific attributes within a trace.",allowedSignals:[qi.Traces],docsEndpoint:"/pipeline/actions/sampling/spanattributesampler",docsDescription:"This action supports service name sampling based on the presence or value of specific attributes within a trace."}],Lo=[{label:"Attributes",icon:pn(ai.Attributes),items:Bo},{label:"Samplers",icon:pn(ai.Samplers),items:Mo}];var Po;!function(e){e.ALL="all",e.EXISTS="exists",e.DETECTED="detected",e.SELF_HOSTED="self-hosted",e.MANAGED="managed"}(Po||(Po={}));const jo={[Po.ALL]:{TITLE:"All",DESCRIPTION:"All destinations"},[Po.EXISTS]:{TITLE:"Already configured",DESCRIPTION:"These are destinations that you have already configured in other data-streams and can reuse them."},[Po.DETECTED]:{TITLE:"Detected by system",DESCRIPTION:"Odigos found these destinations in your cluster and pre-filled their details. Review and enable them to start sending data."},[Po.SELF_HOSTED]:{TITLE:"Self hosted",DESCRIPTION:"Full control and customization for advanced application monitoring."},[Po.MANAGED]:{TITLE:"Managed",DESCRIPTION:"Effortless monitoring with scalable performance management."}},Uo=[{type:Bi.CodeAttributes,icon:Cn(Bi.CodeAttributes),label:"Code Attributes",description:"Collect code attributes containing payload data to traces.",docsEndpoint:"/pipeline/rules/codeattributes",docsDescription:'The "Code Attributes" rule can be used to add code attributes containing payload data to traces.',supportedLanguages:[bi.Go,bi.Python]},{type:Bi.CustomInstrumentation,icon:Cn(Bi.CustomInstrumentation),label:"Custom Instrumentation",description:"Define custom instrumentation for specific class and methods (i.e. for Java) or explicit symbol (i.e. for Golang).",docsEndpoint:"/pipeline/rules/custominstrumentation",docsDescription:'The "Custom Instrumentation" rule can be used to instrument a specific symbol (i.e. for Golang), or a class and method combination (i.e. for Java) for detailed tracing.',supportedLanguages:[bi.Go,bi.Java]},{type:Bi.HeadersCollection,icon:Cn(Bi.HeadersCollection),label:"Headers Collection",description:"Collect span attributes containing HTTP Headers data to traces.",docsEndpoint:"/pipeline/rules/headerscollection",docsDescription:'The "Headers Collection" rule can be used to add span attributes containing HTTP Headers data to traces.',supportedLanguages:[bi.Go,bi.Java,bi.JavaScript]},{type:Bi.PayloadCollection,icon:Cn(Bi.PayloadCollection),label:"Payload Collection",description:"Collect span attributes containing payload data to traces.",docsEndpoint:"/pipeline/rules/payloadcollection",docsDescription:'The "Payload Collection" rule can be used to add span attributes containing payload data to traces.',supportedLanguages:[bi.Go]}],Wo=[{id:qi.Logs,value:"Logs"},{id:qi.Metrics,value:"Metrics"},{id:qi.Traces,value:"Traces"}],Vo={[bi.Go]:"Go",[bi.Java]:"Java",[bi.JavaScript]:"Node.js",[bi.Python]:"Python",[bi.DotNet]:".NET",[bi.CSharp]:"C#",[bi.CPlusPlus]:"C++",[bi.Php]:"PHP",[bi.Ruby]:"Ruby",[bi.Rust]:"Rust",[bi.Swift]:"Swift",[bi.Elixir]:"Elixir",[bi.MySql]:"MySQL",[bi.Nginx]:"Nginx",[bi.Postgres]:"PostgreSQL",[bi.Redis]:"Redis",[bi.Kafka]:"Kafka",[bi.Ignored]:"Ignored",[bi.Unknown]:"Unknown",[bi.Processing]:"Processing",[bi.NoContainers]:"No Containers",[bi.NoRunningPods]:"No Running Pods"},Go=[{id:bi.Go,value:Vo[bi.Go],icon:mn(bi.Go)},{id:bi.Java,value:Vo[bi.Java],icon:mn(bi.Java)},{id:bi.JavaScript,value:Vo[bi.JavaScript],icon:mn(bi.JavaScript)},{id:bi.Python,value:Vo[bi.Python],icon:mn(bi.Python)},{id:bi.Php,value:Vo[bi.Php],icon:mn(bi.Php)},{id:bi.Ruby,value:Vo[bi.Ruby],icon:mn(bi.Ruby)},{id:bi.Rust,value:Vo[bi.Rust],icon:mn(bi.Rust)},{id:bi.DotNet,value:Vo[bi.DotNet],icon:mn(bi.DotNet)},{id:bi.CSharp,value:Vo[bi.CSharp],icon:mn(bi.CSharp)},{id:bi.CPlusPlus,value:Vo[bi.CPlusPlus],icon:mn(bi.CPlusPlus)},{id:bi.Swift,value:Vo[bi.Swift],icon:mn(bi.Swift)},{id:bi.Elixir,value:Vo[bi.Elixir],icon:mn(bi.Elixir)}],qo={[bi.Go]:{community:[{id:_i.GolangCommunity,value:_i.GolangCommunity,icon:mn(bi.Go)}],enterprise:[{id:_i.GolangEnterprise,value:_i.GolangEnterprise,icon:mn(bi.Go)}]},[bi.JavaScript]:{community:[{id:_i.NodejsCommunity,value:_i.NodejsCommunity,icon:mn(bi.JavaScript)}],enterprise:[{id:_i.NodejsEnterprise,value:_i.NodejsEnterprise,icon:mn(bi.JavaScript)}]},[bi.Python]:{community:[{id:_i.PythonCommunity,value:_i.PythonCommunity,icon:mn(bi.Python)}],enterprise:[{id:_i.PythonEnterprise,value:_i.PythonEnterprise,icon:mn(bi.Python)}]},[bi.Java]:{community:[{id:_i.JavaCommunity,value:_i.JavaCommunity,icon:mn(bi.Java)}],enterprise:[{id:_i.JavaEnterprise,value:_i.JavaEnterprise,icon:mn(bi.Java)},{id:_i.JavaEbpfInstrumentations,value:_i.JavaEbpfInstrumentations,icon:mn(bi.Java)}]},[bi.DotNet]:{community:[{id:_i.DotNetCommunity,value:_i.DotNetCommunity,icon:mn(bi.DotNet)}],enterprise:[{id:_i.DotNetEnterprise,value:_i.DotNetEnterprise,icon:mn(bi.DotNet)}]},[bi.Ruby]:{community:[{id:_i.RubyCommunity,value:_i.RubyCommunity,icon:mn(bi.Ruby)}],enterprise:[{id:_i.RubyEnterprise,value:_i.RubyEnterprise,icon:mn(bi.Ruby)}]},[bi.Php]:{community:[{id:_i.PhpCommunity,value:_i.PhpCommunity,icon:mn(bi.Php)}],enterprise:[]},[bi.CSharp]:{community:[],enterprise:[{id:_i.CPlusPlusEnterprise,value:_i.CPlusPlusEnterprise,icon:mn(bi.CSharp)}]},[bi.MySql]:{community:[],enterprise:[{id:_i.MySqlEnterprise,value:_i.MySqlEnterprise,icon:mn(bi.MySql)}]},[bi.CPlusPlus]:{community:[],enterprise:[]},[bi.Rust]:{community:[],enterprise:[]},[bi.Swift]:{community:[],enterprise:[]},[bi.Elixir]:{community:[],enterprise:[]},[bi.Nginx]:{community:[],enterprise:[]},[bi.Postgres]:{community:[],enterprise:[]},[bi.Redis]:{community:[],enterprise:[]},[bi.Kafka]:{community:[],enterprise:[]},[bi.Ignored]:{community:[],enterprise:[]},[bi.Unknown]:{community:[],enterprise:[]},[bi.Processing]:{community:[],enterprise:[]},[bi.NoContainers]:{community:[],enterprise:[]},[bi.NoRunningPods]:{community:[],enterprise:[]}},Ho=6048e5,Ko=xt()(Ot(e=>({darkMode:!0,setDarkMode:t=>e({darkMode:t})}),{name:tn.DARK_MODE,storage:"undefined"!=typeof window?zt(()=>localStorage):void 0})),Yo={dataStreamsLoading:!1,dataStreams:[],selectedStreamName:""},Jo=xt(e=>({...Yo,setDataStreamsLoading:t=>e({dataStreamsLoading:t}),setDataStreams:t=>e({dataStreams:t}),addDataStreams:t=>e(e=>{const i=[...e.dataStreams,...t].map(e=>[e.name,e]);return{dataStreams:Array.from(new Map(i).values())}}),removeDataStreams:t=>e(e=>({dataStreams:e.dataStreams.filter(e=>!t.find(t=>t.name===e.name))})),setSelectedStreamName:t=>e({selectedStreamName:t}),resetDataStreamStore:()=>e(Yo)})),Xo=xt(e=>({drawerType:null,drawerEntityId:null,setDrawerType:t=>e({drawerType:t}),setDrawerEntityId:t=>e({drawerEntityId:t})})),Zo=xt(e=>({namespacesLoading:!1,namespaces:[],sourcesLoading:!1,sources:[],destinationsLoading:!1,destinations:[],actionsLoading:!1,actions:[],instrumentationRulesLoading:!1,instrumentationRules:[],setEntitiesLoading:(t,i)=>{const n=t===wi.Namespace?"namespacesLoading":t===wi.Source?"sourcesLoading":t===wi.Destination?"destinationsLoading":t===wi.Action?"actionsLoading":t===wi.InstrumentationRule?"instrumentationRulesLoading":"NONE";"NONE"!==n&&e({[n]:i})},setEntities:(t,i)=>{const n=t===wi.Namespace?"namespaces":t===wi.Source?"sources":t===wi.Destination?"destinations":t===wi.Action?"actions":t===wi.InstrumentationRule?"instrumentationRules":"NONE";"NONE"!==n&&e({[n]:i})},addEntities:(t,i)=>{const n=t===wi.Namespace?"namespaces":t===wi.Source?"sources":t===wi.Destination?"destinations":t===wi.Action?"actions":t===wi.InstrumentationRule?"instrumentationRules":"NONE";"NONE"!==n&&e(e=>{const t=[...e[n]],o=new Map;return t.forEach((e,t)=>{o.set(JSON.stringify(yn(e)),t)}),i.forEach(e=>{const i=JSON.stringify(yn(e)),n=o.get(i);void 0!==n?t[n]={...t[n],...e}:(o.set(i,t.length),t.push(e))}),{[n]:t}})},removeEntities:(t,i)=>{const n=t===wi.Namespace?"namespaces":t===wi.Source?"sources":t===wi.Destination?"destinations":t===wi.Action?"actions":t===wi.InstrumentationRule?"instrumentationRules":"NONE";"NONE"!==n&&e(e=>{const o=new Set;i.forEach(e=>{const i=t===wi.Source?JSON.stringify(yn(e)):String(e);o.add(i)});const r=e[n].filter(e=>{const i=t===wi.Source?JSON.stringify(yn(e)):String(yn(e));return!o.has(i)});return{[n]:r}})},resetEntityStore:()=>{e({namespacesLoading:!1,namespaces:[],sourcesLoading:!1,sources:[],destinationsLoading:!1,destinations:[],actionsLoading:!1,actions:[],instrumentationRulesLoading:!1,instrumentationRules:[]})}})),Qo=()=>({searchText:"",statuses:[],platformTypes:[],namespaces:[],kinds:[],monitors:[],languages:[],conditions:[],podsAgentInjectionStatus:[],errors:[],onlyErrors:!1}),er=xt(e=>({searchText:"",setSearchText:t=>e({searchText:t}),statuses:[],setStatuses:t=>e({statuses:t}),platformTypes:[],setPlatformTypes:t=>e({platformTypes:t}),namespaces:[],setNamespaces:t=>e({namespaces:t}),kinds:[],setKinds:t=>e({kinds:t}),monitors:[],setMonitors:t=>e({monitors:t}),languages:[],setLanguages:t=>e({languages:t}),conditions:[],setConditions:t=>e({conditions:t}),podsAgentInjectionStatus:[],setPodsAgentInjectionStatus:t=>e({podsAgentInjectionStatus:t}),errors:[],setErrors:t=>e({errors:t}),onlyErrors:!1,setOnlyErrors:t=>e({onlyErrors:t}),setAll:t=>e(t),clearAll:()=>e({searchText:"",statuses:[],platformTypes:[],namespaces:[],kinds:[],monitors:[],languages:[],conditions:[],podsAgentInjectionStatus:[],errors:[],onlyErrors:!1}),getEmptyState:Qo})),tr=xt(e=>({currentModal:"",setCurrentModal:t=>e({currentModal:t})})),ir=xt((e,t)=>({notifications:[],addNotification:i=>{const n=new Date,o=`${n.getTime().toString()}${i.target?`#${i.target}`:""}`,{notifications:r}=t();r.some(e=>e.type===i.type&&e.title===i.title&&e.message===i.message&&!e.dismissed)||e(e=>({notifications:[{...i,id:o,time:n.toISOString(),dismissed:!1,seen:!1},...e.notifications]}))},markAsDismissed:t=>{e(e=>{const i=e.notifications.findIndex(e=>e.id===t);return-1!==i&&(e.notifications[i].dismissed=!0),{notifications:e.notifications}})},markAsSeen:t=>{e(e=>{const i=e.notifications.findIndex(e=>e.id===t);return-1!==i&&(e.notifications[i].seen=!0),{notifications:e.notifications}})},removeNotification:t=>{e(e=>{const i=e.notifications.findIndex(e=>e.id===t);return-1!==i&&e.notifications.splice(i,1),{notifications:e.notifications}})},removeNotifications:t=>{t&&e(e=>({notifications:e.notifications.filter(e=>e.id.split("#")[1]!==t)}))}}));var nr;!function(e){e.Instrumenting="instrumenting",e.Uninstrumenting="uninstrumenting",e.BulkInstrumenting="bulk-instrumenting",e.BulkUninstrumenting="bulk-uninstrumenting"}(nr||(nr={}));const or=(e,t)=>({...t?.[e]||{total:0,current:0,percentage:0}}),rr=e=>(e.total<e.current&&(e.total=e.current+1),e.percentage=Math.round(e.current/e.total*100),e),ar=xt((e,t)=>({progress:{},setProgress:(i,n)=>{const o=t(),r=or();return"number"==typeof n.total&&(r.total=n.total),"number"==typeof n.current&&(r.current=n.current),e({progress:{...o.progress,[i]:rr(r)}})},addProgress:(i,n)=>{const o=t(),r=or(i,o.progress);return r.current+=n,e({progress:{...o.progress,[i]:rr(r)}})},resetProgress:t=>e({progress:{[t]:void 0}})})),sr=xt(e=>({selectedSources:{},setSelectedSources:t=>e({selectedSources:t}),resetSelectedState:()=>e(()=>({selectedSources:{},selectedConnection:null}))})),lr={configuredSources:{},configuredFutureApps:{},configuredDestinations:[],configuredDestinationsUpdateOnly:[]},cr=(e,t)=>e.destinationType.type!==t.destinationType.type,dr=xt(e=>({...lr,setConfiguredSources:t=>e({configuredSources:t}),setConfiguredFutureApps:t=>e({configuredFutureApps:t}),setConfiguredDestinations:t=>e({configuredDestinations:t}),addConfiguredDestination:t=>e(e=>({configuredDestinations:[...e.configuredDestinations,t]})),removeConfiguredDestination:t=>e(e=>({configuredDestinations:e.configuredDestinations.filter(e=>cr(e,t))})),setConfiguredDestinationsUpdateOnly:t=>e({configuredDestinationsUpdateOnly:t}),addConfiguredDestinationUpdateOnly:t=>e(e=>{const i=[...e.configuredDestinationsUpdateOnly,t].map(e=>[e.id,e]);return{configuredDestinationsUpdateOnly:Array.from(new Map(i).values())}}),removeConfiguredDestinationUpdateOnly:t=>e(e=>({configuredDestinationsUpdateOnly:e.configuredDestinationsUpdateOnly.filter(e=>cr(e,t))})),clearStore:()=>e(()=>({...lr}))})),pr={v2:{text:{size:{xxxs:10,xxs:12,xs:14,s:16,m:20,l:24,xl:32,xxl:40,xxxl:48}},colors:{black:{500:"#151618"},white:{500:"#FFFFFF"},purple:{100:"#E1D4FF",200:"#C3AAFF",300:"#A57FFF",400:"#8854FF",500:"#6A2AFF",600:"#5925D0",700:"#4822A2",800:"#371E73",900:"#271A45"},green:{100:"#DCFDFA",200:"#B9FBF6",300:"#96FAF1",400:"#73F8ED",500:"#50F6E8",600:"#44C9BE",700:"#399D94",800:"#2D6F6A",900:"#224340"},grey:{25:"#F6F6F6",50:"#ECECED",100:"#DADADB",150:"#B8B8B8",200:"#B4B5B7",300:"#8F9093",400:"#696B6F",500:"#44464B",600:"#3A3C40",700:"#313236",800:"#282A2E",900:"#1B1B1C"},silver:{25:"#F6F6F7",50:"#EDEDEE",100:"#DADCDE",200:"#B6B8BD",300:"#91959C",400:"#6D717B",500:"#484E5A",600:"#3E424C",700:"#34383F",750:"#2C2F36",800:"#26292F",900:"#1F2125",1e3:"#1B1C1D"},red:{100:"#FFE5E7",200:"#FFCBD0",300:"#FFB0B8",400:"#FF96A1",500:"#FF7C89",600:"#D06772",700:"#A2535B",800:"#733F44",900:"#452B2D",1e3:"#2E2022"},blue:{100:"#EBF0FA",200:"#D6E1F4",300:"#ADC3EA",400:"#84A4DF",500:"#5C86D5",600:"#3368CA",700:"#2D57A6",800:"#274782",900:"#21375E",1e3:"#1C273A"},yellow:{100:"#FFFBF1",200:"#FFF7E2",300:"#FFEFC6",400:"#FFE7A9",500:"#FFDF8D",600:"#FFD770",700:"#D0B05E",800:"#A28A4C",900:"#73633A",1e3:"#453D28"},beige:{600:"#EEC990"},pink:{600:"#F576A2"},orange:{600:"#F29142"}}},colors:{majestic_blue:"#444AD9",majestic_blue_soft:"#6C7AE8",orange_og:"#FE9239",orange_soft:"#FFB160",dark_red:"#802828",darker_red:"#611F1F",darkest_red:"#281515",darkest_red_hover:"#351515",dark_green:"#2D4323"},text:{},font_family:{primary:"Inter, sans-serif",secondary:"Kode Mono, sans-serif",code:"IBM Plex Mono, monospace"}},ur={v2:pr.v2,darkMode:!0,colors:{...pr.colors,primary:"#111111",secondary:"#F9F9F9",border:"#525252",dark_grey:"#151515",translucent_bg:"#1A1A1A",dropdown_bg:"#242424",dropdown_bg_2:"#333333",warning:"#472300",error:"#431919",success:"#172013",info:"#242424",default:"#181944"},text:{white:"#FFFFFF",primary:"#111111",secondary:"#F9F9F9",grey:"#B8B8B8",dark_grey:"#8F8F8F",darker_grey:"#7A7A7A",light_grey:"#CCD0D2",dark_button:"#0A1824",warning:"#E9CF35",warning_secondary:"#FFA349",error:"#EF7676",error_secondary:"#DB5151",success:"#81AF65",success_secondary:"#51DB51",info:"#B8B8B8",info_secondary:"#CCDDDD",default:"#AABEF7",default_secondary:"#8CBEFF"},font_family:pr.font_family},hr={v2:pr.v2,darkMode:!1,colors:{...pr.colors,primary:"#EEEEEE",secondary:"#060606",border:"#ADADAD",dark_grey:"#EAEAEA",translucent_bg:"#E5E5E5",dropdown_bg:"#DBDBDB",dropdown_bg_2:"#CCCCCC",warning:"#F6F092",error:"#FACECE",success:"#C8DEB8",info:"#E0E0E0",default:"#CAD9FB"},text:{white:"#FFFFFF",primary:"#EEEEEE",secondary:"#060606",grey:"#474747",dark_grey:"#707070",darker_grey:"#858585",light_grey:"#332F2D",dark_button:"#F5E7DB",warning:"#A56F12",warning_secondary:"#CA9416",error:"#B63A3A",error_secondary:"#DB5151",success:"#4E763A",success_secondary:"#67964C",info:"#525252",info_secondary:"#7A7A7A",default:"#444AD9",default_secondary:"#6C7AE8"},font_family:pr.font_family},mr=e=>e?ur:hr;var gr=Object.freeze({__proto__:null,baseTheme:pr,darkModeTheme:ur,getTheme:mr,lightModeTheme:hr});Ft('@import url("https://fonts.googleapis.com/css2?family=Inter:wght@400;700&display=swap");@import url("https://fonts.googleapis.com/css2?family=Kode+Mono:wght@100;200;300;400;500;600;700&display=swap");@import url("https://fonts.googleapis.com/css2?family=Inter+Tight:wght@400;700&display=swap");@import url("https://fonts.googleapis.com/css2?family=IBM+Plex+Mono:ital,wght@0,100;0,200;0,300;0,400;0,500;0,600;0,700;1,100;1,200;1,300;1,400;1,500;1,600;1,700&display=swap");*{-ms-overflow-style:none;scrollbar-width:none}::-webkit-scrollbar{display:none}*{animation-duration:.3s;animation-fill-mode:forwards;transition:all .3s}input{all:unset}input:-webkit-autofill,input:-webkit-autofill:active,input:-webkit-autofill:focus,input:-webkit-autofill:hover{-webkit-transition:all 50000s ease-in-out 0s;transition:all 50000s ease-in-out 0s}');const $r=({children:e})=>{const{darkMode:t}=Ko();return ft(Lt,{theme:mr(t),children:e})},xr={100:"FF","099":"FC","098":"FA","097":"F7","096":"F5","095":"F2","094":"F0","093":"ED","092":"EB","091":"E8","090":"E6","089":"E3","088":"E0","087":"DE","086":"DB","085":"D9","084":"D6","083":"D4","082":"D1","081":"CF","080":"CC","079":"C9","078":"C7","077":"C4","076":"C2","075":"BF","074":"BD","073":"BA","072":"B8","071":"B5","070":"B3","069":"B0","068":"AD","067":"AB","066":"A8","065":"A6","064":"A3","063":"A1","062":"9E","061":"9C","060":"99","059":"96","058":"94","057":"91","056":"8F","055":"8C","054":"8A","053":"87","052":"85","051":"82","050":"80","049":"7D","048":"7A","047":"78","046":"75","045":"73","044":"70","043":"6E","042":"6B","041":"69","040":"66","039":"63","038":"61","037":"5E","036":"5C","035":"59","034":"57","033":"54","032":"52","031":"4F","030":"4D","029":"4A","028":"47","027":"45","026":"42","025":"40","024":"3D","023":"3B","022":"38","021":"36","020":"33","019":"30","018":"2E","017":"2B","016":"29","015":"26","014":"24","013":"21","012":"1F","011":"1C","010":"1A","009":"17","008":"14","007":"12","006":"0F","005":"0D","004":"0A","003":"08","002":"05","001":"03","000":"00"};var fr=Object.freeze({__proto__:null,hex:xr});const br={in:{left:Pt`
|
|
146
|
+
`,zo=(e,t)=>t?e.reduce((e,i)=>{if(i.items){const n=zo(i.items,t);n.length&&e.push({...i,items:n})}else i.label.toLowerCase().includes(t.toLowerCase())&&e.push(i);return e},[]):e,Fo=({placeholder:e="Type to search...",options:t,selectedOption:i,onOptionSelect:n,defaultText:o,onTextChange:r,style:a,disabled:s,errorMessage:l,...c})=>{const[d,p]=Ct(i?.label||o||""),[u,h]=Ct(zo(t,d)),[m,g]=Ct(!1);Ct(-1),kt(()=>h(zo(t,d)),[t]);const $=i?.icon,x=e=>{e&&(p(e.label),r?.(e.label)),g(!e),n?.(e)};return bt(wo,{style:a,children:[bt(vo,{$hasError:!!l,children:[$&&ft($,{}),ft(Co,{type:"text",value:d,placeholder:e,onChange:e=>{e.stopPropagation();const i=e.target.value,n=zo(t,i),o=1===n.length&&n[0].label===i?n[0]:void 0;p(i),r?.(i),h(n),x(o)},onKeyDown:e=>{["Enter"].includes(e.key)||e.stopPropagation()},disabled:s,onBlur:()=>!s&&g(!1),onFocus:()=>!s&&g(!0),...c})]}),m&&u.length?ft(ko,{children:u.map(e=>ft(_o,{option:e,onClick:x},e.type||e.label))}):null,l&&ft(yo,{children:l})]})},_o=({option:e,renderIcon:t=!0,onClick:i})=>{const n=!!e.items&&e.items.length>0,o=e.icon;return bt(So,{"data-id":`option-${e.type||e.label}`,$isList:n,onMouseDown:()=>n?null:i(e),children:[o&&t&&ft(o,{}),bt(Eo,{children:[bt(Do,{children:[ft(Io,{children:e.label}),ft(No,{children:e.description})]}),n&&ft(Oo,{children:e.items?.map(e=>bt(Ao,{children:[ft(To,{}),ft(_o,{option:e,renderIcon:!1,onClick:i})]},e.type||e.label))})]})]})},Ro=xt(e=>({activeNodeType:null,activeNodeId:null,setActiveNodeType:t=>e({activeNodeType:t}),setActiveNodeId:t=>e({activeNodeId:t})})),Bo=[{type:si.K8sAttributes,icon:pn(si.K8sAttributes),label:"Kubernetes Attributes",description:"Add dynamic k8s resource attributes to your data.",allowedSignals:[qi.Traces,qi.Metrics,qi.Logs],docsEndpoint:"/pipeline/actions/attributes/k8sattributes",docsDescription:"This action adds kubernetes related resource attributes to spans, metrics data points and log records."},{type:si.AddClusterInfo,icon:pn(si.AddClusterInfo),label:"Add Cluster Info",description:"Add static cluster-scoped attributes to your data.",allowedSignals:[qi.Traces,qi.Metrics,qi.Logs],docsEndpoint:"/pipeline/actions/attributes/addclusterinfo",docsDescription:"This action adds static resource attributes to spans, metrics data points and log records. It is useful to add cluster-wide attributes to all telemetry signals."},{type:si.DeleteAttributes,icon:pn(si.DeleteAttributes),label:"Delete Attribute",description:"Delete attributes from logs, metrics, and traces.",allowedSignals:[qi.Traces,qi.Metrics,qi.Logs],docsEndpoint:"/pipeline/actions/attributes/deleteattribute",docsDescription:"This action will delete the specified attributes from all telemetry signals that are specified in the signals field, regardless of the source, or any other condition."},{type:si.RenameAttributes,icon:pn(si.RenameAttributes),label:"Rename Attribute",description:"Rename attributes in logs, metrics, and traces.",allowedSignals:[qi.Traces,qi.Metrics,qi.Logs],docsEndpoint:"/pipeline/actions/attributes/renameattribute",docsDescription:"This action will rename the specified attributes from all telemetry signals that are specified in the signals field, regardless of the source, or any other condition."},{type:si.PiiMasking,icon:pn(si.PiiMasking),label:"PII Masking",description:"Mask PII data in your traces.",allowedSignals:[qi.Traces],docsEndpoint:"/pipeline/actions/attributes/piimasking",docsDescription:"This action processes a list of PII categories to be masked from the traces."},{type:si.URLTemplatization,icon:pn(si.URLTemplatization),label:"URL Templatization",description:"Replace dynamic URL path segments with named placeholders to reduce span cardinality.",allowedSignals:[qi.Traces],docsEndpoint:"/pipeline/actions/attributes/urltemplatization",docsDescription:"Normalizes HTTP URL paths by replacing dynamic segments (IDs, UUIDs, dates) with named placeholders (e.g. /user/1234 → /user/{id}). Reduces cardinality of http.route and span names, improving usability in telemetry backends.",minVersion:ro("v1.21.0")}],Mo=[{type:si.ErrorSampler,icon:pn(ai.Samplers),label:"Error Sampler",description:"Sample errors based on percentage.",allowedSignals:[qi.Traces],docsEndpoint:"/pipeline/actions/sampling/errorsampler",docsDescription:"This action is a Global Action that supports error sampling by filtering out non-error traces."},{type:si.LatencySampler,icon:pn(ai.Samplers),label:"Latency Sampler",description:"Add latency to your traces.",allowedSignals:[qi.Traces],docsEndpoint:"/pipeline/actions/sampling/latencysampler",docsDescription:"This action is an Endpoint Action that samples traces based on their duration for a specific service and endpoint (HTTP route) filter."},{type:si.ProbabilisticSampler,icon:pn(ai.Samplers),label:"Probabilistic Sampler",description:"Sample traces based on percentage.",allowedSignals:[qi.Traces],docsEndpoint:"/pipeline/actions/sampling/probabilisticsampler",docsDescription:"This action supports probabilistic sampling based on a configured sampling percentage applied to the TraceID."},{type:si.ServiceNameSampler,icon:pn(ai.Samplers),label:"Service Name Sampler",description:"Sample traces based on the presence of specified services within a trace.",allowedSignals:[qi.Traces],docsEndpoint:"/pipeline/actions/sampling/servicenamesampler",docsDescription:"This action supports service name sampling based on the presence of specified services within a trace."},{type:si.SpanAttributeSampler,icon:pn(ai.Samplers),label:"Span Attributes Sampler",description:"Sample traces based on the presence or value of specific attributes within a trace.",allowedSignals:[qi.Traces],docsEndpoint:"/pipeline/actions/sampling/spanattributesampler",docsDescription:"This action supports service name sampling based on the presence or value of specific attributes within a trace."}],Lo=[{label:"Attributes",icon:pn(ai.Attributes),items:Bo},{label:"Samplers",icon:pn(ai.Samplers),items:Mo}];var Po;!function(e){e.ALL="all",e.EXISTS="exists",e.DETECTED="detected",e.SELF_HOSTED="self-hosted",e.MANAGED="managed"}(Po||(Po={}));const jo={[Po.ALL]:{TITLE:"All",DESCRIPTION:"All destinations"},[Po.EXISTS]:{TITLE:"Already configured",DESCRIPTION:"These are destinations that you have already configured in other data-streams and can reuse them."},[Po.DETECTED]:{TITLE:"Detected by system",DESCRIPTION:"Odigos found these destinations in your cluster and pre-filled their details. Review and enable them to start sending data."},[Po.SELF_HOSTED]:{TITLE:"Self hosted",DESCRIPTION:"Full control and customization for advanced application monitoring."},[Po.MANAGED]:{TITLE:"Managed",DESCRIPTION:"Effortless monitoring with scalable performance management."}},Uo=[{type:Bi.CodeAttributes,icon:Cn(Bi.CodeAttributes),label:"Code Attributes",description:"Collect code attributes containing payload data to traces.",docsEndpoint:"/pipeline/rules/codeattributes",docsDescription:'The "Code Attributes" rule can be used to add code attributes containing payload data to traces.',supportedLanguages:[bi.Go,bi.Python]},{type:Bi.CustomInstrumentation,icon:Cn(Bi.CustomInstrumentation),label:"Custom Instrumentation",description:"Define custom instrumentation for specific class and methods (i.e. for Java) or explicit symbol (i.e. for Golang).",docsEndpoint:"/pipeline/rules/custominstrumentation",docsDescription:'The "Custom Instrumentation" rule can be used to instrument a specific symbol (i.e. for Golang), or a class and method combination (i.e. for Java) for detailed tracing.',supportedLanguages:[bi.Go,bi.Java]},{type:Bi.HeadersCollection,icon:Cn(Bi.HeadersCollection),label:"Headers Collection",description:"Collect span attributes containing HTTP Headers data to traces.",docsEndpoint:"/pipeline/rules/headerscollection",docsDescription:'The "Headers Collection" rule can be used to add span attributes containing HTTP Headers data to traces.',supportedLanguages:[bi.Go,bi.Java,bi.JavaScript]},{type:Bi.PayloadCollection,icon:Cn(Bi.PayloadCollection),label:"Payload Collection",description:"Collect span attributes containing payload data to traces.",docsEndpoint:"/pipeline/rules/payloadcollection",docsDescription:'The "Payload Collection" rule can be used to add span attributes containing payload data to traces.',supportedLanguages:[bi.Go]}],Wo=[{id:qi.Logs,value:"Logs"},{id:qi.Metrics,value:"Metrics"},{id:qi.Traces,value:"Traces"}],Vo={[bi.Go]:"Go",[bi.Java]:"Java",[bi.JavaScript]:"Node.js",[bi.Python]:"Python",[bi.DotNet]:".NET",[bi.CSharp]:"C#",[bi.CPlusPlus]:"C++",[bi.Php]:"PHP",[bi.Ruby]:"Ruby",[bi.Rust]:"Rust",[bi.Swift]:"Swift",[bi.Elixir]:"Elixir",[bi.MySql]:"MySQL",[bi.Nginx]:"Nginx",[bi.Postgres]:"PostgreSQL",[bi.Redis]:"Redis",[bi.Kafka]:"Kafka",[bi.Ignored]:"Ignored",[bi.Unknown]:"Unknown",[bi.Processing]:"Processing",[bi.NoContainers]:"No Containers",[bi.NoRunningPods]:"No Running Pods"},Go=[{id:bi.Go,value:Vo[bi.Go],icon:mn(bi.Go)},{id:bi.Java,value:Vo[bi.Java],icon:mn(bi.Java)},{id:bi.JavaScript,value:Vo[bi.JavaScript],icon:mn(bi.JavaScript)},{id:bi.Python,value:Vo[bi.Python],icon:mn(bi.Python)},{id:bi.Php,value:Vo[bi.Php],icon:mn(bi.Php)},{id:bi.Ruby,value:Vo[bi.Ruby],icon:mn(bi.Ruby)},{id:bi.Rust,value:Vo[bi.Rust],icon:mn(bi.Rust)},{id:bi.DotNet,value:Vo[bi.DotNet],icon:mn(bi.DotNet)},{id:bi.CSharp,value:Vo[bi.CSharp],icon:mn(bi.CSharp)},{id:bi.CPlusPlus,value:Vo[bi.CPlusPlus],icon:mn(bi.CPlusPlus)},{id:bi.Swift,value:Vo[bi.Swift],icon:mn(bi.Swift)},{id:bi.Elixir,value:Vo[bi.Elixir],icon:mn(bi.Elixir)}],qo={[bi.Go]:{community:[{id:_i.GolangCommunity,value:_i.GolangCommunity,icon:mn(bi.Go)}],enterprise:[{id:_i.GolangEnterprise,value:_i.GolangEnterprise,icon:mn(bi.Go)}]},[bi.JavaScript]:{community:[{id:_i.NodejsCommunity,value:_i.NodejsCommunity,icon:mn(bi.JavaScript)}],enterprise:[{id:_i.NodejsEnterprise,value:_i.NodejsEnterprise,icon:mn(bi.JavaScript)}]},[bi.Python]:{community:[{id:_i.PythonCommunity,value:_i.PythonCommunity,icon:mn(bi.Python)}],enterprise:[{id:_i.PythonEnterprise,value:_i.PythonEnterprise,icon:mn(bi.Python)}]},[bi.Java]:{community:[{id:_i.JavaCommunity,value:_i.JavaCommunity,icon:mn(bi.Java)}],enterprise:[{id:_i.JavaEnterprise,value:_i.JavaEnterprise,icon:mn(bi.Java)},{id:_i.JavaEbpfInstrumentations,value:_i.JavaEbpfInstrumentations,icon:mn(bi.Java)}]},[bi.DotNet]:{community:[{id:_i.DotNetCommunity,value:_i.DotNetCommunity,icon:mn(bi.DotNet)}],enterprise:[{id:_i.DotNetEnterprise,value:_i.DotNetEnterprise,icon:mn(bi.DotNet)}]},[bi.Ruby]:{community:[{id:_i.RubyCommunity,value:_i.RubyCommunity,icon:mn(bi.Ruby)}],enterprise:[{id:_i.RubyEnterprise,value:_i.RubyEnterprise,icon:mn(bi.Ruby)}]},[bi.Php]:{community:[{id:_i.PhpCommunity,value:_i.PhpCommunity,icon:mn(bi.Php)}],enterprise:[]},[bi.CSharp]:{community:[],enterprise:[{id:_i.CPlusPlusEnterprise,value:_i.CPlusPlusEnterprise,icon:mn(bi.CSharp)}]},[bi.MySql]:{community:[],enterprise:[{id:_i.MySqlEnterprise,value:_i.MySqlEnterprise,icon:mn(bi.MySql)}]},[bi.CPlusPlus]:{community:[],enterprise:[]},[bi.Rust]:{community:[],enterprise:[]},[bi.Swift]:{community:[],enterprise:[]},[bi.Elixir]:{community:[],enterprise:[]},[bi.Nginx]:{community:[],enterprise:[]},[bi.Postgres]:{community:[],enterprise:[]},[bi.Redis]:{community:[],enterprise:[]},[bi.Kafka]:{community:[],enterprise:[]},[bi.Ignored]:{community:[],enterprise:[]},[bi.Unknown]:{community:[],enterprise:[]},[bi.Processing]:{community:[],enterprise:[]},[bi.NoContainers]:{community:[],enterprise:[]},[bi.NoRunningPods]:{community:[],enterprise:[]}},Ho=6048e5,Ko=xt()(Ot(e=>({darkMode:!0,setDarkMode:t=>e({darkMode:t})}),{name:tn.DARK_MODE,storage:"undefined"!=typeof window?zt(()=>localStorage):void 0})),Yo={dataStreamsLoading:!1,dataStreams:[],selectedStreamName:""},Jo=xt(e=>({...Yo,setDataStreamsLoading:t=>e({dataStreamsLoading:t}),setDataStreams:t=>e({dataStreams:t}),addDataStreams:t=>e(e=>{const i=[...e.dataStreams,...t].map(e=>[e.name,e]);return{dataStreams:Array.from(new Map(i).values())}}),removeDataStreams:t=>e(e=>({dataStreams:e.dataStreams.filter(e=>!t.find(t=>t.name===e.name))})),setSelectedStreamName:t=>e({selectedStreamName:t}),resetDataStreamStore:()=>e(Yo)})),Xo=xt(e=>({drawerType:null,drawerEntityId:null,setDrawerType:t=>e({drawerType:t}),setDrawerEntityId:t=>e({drawerEntityId:t})})),Zo=xt(e=>({namespacesLoading:!1,namespaces:[],sourcesLoading:!1,sources:[],destinationsLoading:!1,destinations:[],actionsLoading:!1,actions:[],instrumentationRulesLoading:!1,instrumentationRules:[],setEntitiesLoading:(t,i)=>{const n=t===wi.Namespace?"namespacesLoading":t===wi.Source?"sourcesLoading":t===wi.Destination?"destinationsLoading":t===wi.Action?"actionsLoading":t===wi.InstrumentationRule?"instrumentationRulesLoading":"NONE";"NONE"!==n&&e({[n]:i})},setEntities:(t,i)=>{const n=t===wi.Namespace?"namespaces":t===wi.Source?"sources":t===wi.Destination?"destinations":t===wi.Action?"actions":t===wi.InstrumentationRule?"instrumentationRules":"NONE";"NONE"!==n&&e({[n]:i})},addEntities:(t,i)=>{const n=t===wi.Namespace?"namespaces":t===wi.Source?"sources":t===wi.Destination?"destinations":t===wi.Action?"actions":t===wi.InstrumentationRule?"instrumentationRules":"NONE";"NONE"!==n&&e(e=>{const t=[...e[n]],o=new Map;return t.forEach((e,t)=>{o.set(JSON.stringify(yn(e)),t)}),i.forEach(e=>{const i=JSON.stringify(yn(e)),n=o.get(i);void 0!==n?t[n]={...t[n],...e}:(o.set(i,t.length),t.push(e))}),{[n]:t}})},removeEntities:(t,i)=>{const n=t===wi.Namespace?"namespaces":t===wi.Source?"sources":t===wi.Destination?"destinations":t===wi.Action?"actions":t===wi.InstrumentationRule?"instrumentationRules":"NONE";"NONE"!==n&&e(e=>{const o=new Set;i.forEach(e=>{const i=t===wi.Source?JSON.stringify(yn(e)):String(e);o.add(i)});const r=e[n].filter(e=>{const i=t===wi.Source?JSON.stringify(yn(e)):String(yn(e));return!o.has(i)});return{[n]:r}})},resetEntityStore:()=>{e({namespacesLoading:!1,namespaces:[],sourcesLoading:!1,sources:[],destinationsLoading:!1,destinations:[],actionsLoading:!1,actions:[],instrumentationRulesLoading:!1,instrumentationRules:[]})}})),Qo=()=>({searchText:"",statuses:[],platformTypes:[],namespaces:[],kinds:[],monitors:[],languages:[],conditions:[],podsAgentInjectionStatus:[],errors:[],onlyErrors:!1}),er=xt(e=>({searchText:"",setSearchText:t=>e({searchText:t}),statuses:[],setStatuses:t=>e({statuses:t}),platformTypes:[],setPlatformTypes:t=>e({platformTypes:t}),namespaces:[],setNamespaces:t=>e({namespaces:t}),kinds:[],setKinds:t=>e({kinds:t}),monitors:[],setMonitors:t=>e({monitors:t}),languages:[],setLanguages:t=>e({languages:t}),conditions:[],setConditions:t=>e({conditions:t}),podsAgentInjectionStatus:[],setPodsAgentInjectionStatus:t=>e({podsAgentInjectionStatus:t}),errors:[],setErrors:t=>e({errors:t}),onlyErrors:!1,setOnlyErrors:t=>e({onlyErrors:t}),setAll:t=>e(t),clearAll:()=>e({searchText:"",statuses:[],platformTypes:[],namespaces:[],kinds:[],monitors:[],languages:[],conditions:[],podsAgentInjectionStatus:[],errors:[],onlyErrors:!1}),getEmptyState:Qo})),tr=xt(e=>({currentModal:"",setCurrentModal:t=>e({currentModal:t})})),ir=xt((e,t)=>({notifications:[],addNotification:i=>{const n=new Date,o=`${n.getTime().toString()}${i.target?`#${i.target}`:""}`,{notifications:r}=t();r.some(e=>e.type===i.type&&e.title===i.title&&e.message===i.message&&!e.dismissed)||e(e=>({notifications:[{...i,id:o,time:n.toISOString(),dismissed:!1,seen:!1},...e.notifications]}))},markAsDismissed:t=>{e(e=>{const i=e.notifications.findIndex(e=>e.id===t);return-1!==i&&(e.notifications[i].dismissed=!0),{notifications:e.notifications}})},markAsSeen:t=>{e(e=>{const i=e.notifications.findIndex(e=>e.id===t);return-1!==i&&(e.notifications[i].seen=!0),{notifications:e.notifications}})},removeNotification:t=>{e(e=>{const i=e.notifications.findIndex(e=>e.id===t);return-1!==i&&e.notifications.splice(i,1),{notifications:e.notifications}})},removeNotifications:t=>{t&&e(e=>({notifications:e.notifications.filter(e=>e.id.split("#")[1]!==t)}))}}));var nr;!function(e){e.Instrumenting="instrumenting",e.Uninstrumenting="uninstrumenting",e.BulkInstrumenting="bulk-instrumenting",e.BulkUninstrumenting="bulk-uninstrumenting"}(nr||(nr={}));const or=(e,t)=>({...t?.[e]||{total:0,current:0,percentage:0}}),rr=e=>(e.total<e.current&&(e.total=e.current+1),e.percentage=Math.round(e.current/e.total*100),e),ar=xt((e,t)=>({progress:{},setProgress:(i,n)=>{const o=t(),r=or();return"number"==typeof n.total&&(r.total=n.total),"number"==typeof n.current&&(r.current=n.current),e({progress:{...o.progress,[i]:rr(r)}})},addProgress:(i,n)=>{const o=t(),r=or(i,o.progress);return r.current+=n,e({progress:{...o.progress,[i]:rr(r)}})},resetProgress:t=>e({progress:{[t]:void 0}})})),sr=xt(e=>({selectedSources:{},setSelectedSources:t=>e({selectedSources:t}),resetSelectedState:()=>e(()=>({selectedSources:{},selectedConnection:null}))})),lr={configuredSources:{},configuredFutureApps:{},configuredDestinations:[],configuredDestinationsUpdateOnly:[]},cr=(e,t)=>e.destinationType.type!==t.destinationType.type,dr=xt(e=>({...lr,setConfiguredSources:t=>e({configuredSources:t}),setConfiguredFutureApps:t=>e({configuredFutureApps:t}),setConfiguredDestinations:t=>e({configuredDestinations:t}),addConfiguredDestination:t=>e(e=>({configuredDestinations:[...e.configuredDestinations,t]})),removeConfiguredDestination:t=>e(e=>({configuredDestinations:e.configuredDestinations.filter(e=>cr(e,t))})),setConfiguredDestinationsUpdateOnly:t=>e({configuredDestinationsUpdateOnly:t}),addConfiguredDestinationUpdateOnly:t=>e(e=>{const i=[...e.configuredDestinationsUpdateOnly,t].map(e=>[e.id,e]);return{configuredDestinationsUpdateOnly:Array.from(new Map(i).values())}}),removeConfiguredDestinationUpdateOnly:t=>e(e=>({configuredDestinationsUpdateOnly:e.configuredDestinationsUpdateOnly.filter(e=>cr(e,t))})),clearStore:()=>e(()=>({...lr}))})),pr={v2:{text:{size:{xxxs:10,xxs:12,xs:14,s:16,m:20,l:24,xl:32,xxl:40,xxxl:48}},colors:{black:{500:"#151618"},white:{500:"#FFFFFF"},purple:{100:"#E1D4FF",200:"#C3AAFF",300:"#A57FFF",400:"#8854FF",500:"#6A2AFF",600:"#5925D0",700:"#4822A2",800:"#371E73",900:"#271A45"},green:{100:"#DCFDFA",200:"#B9FBF6",300:"#96FAF1",400:"#73F8ED",500:"#50F6E8",600:"#44C9BE",700:"#399D94",800:"#2D6F6A",900:"#224340"},grey:{25:"#F6F6F6",50:"#ECECED",100:"#DADADB",150:"#B8B8B8",200:"#B4B5B7",300:"#8F9093",400:"#696B6F",500:"#44464B",600:"#3A3C40",700:"#313236",800:"#282A2E",900:"#1B1B1C"},silver:{25:"#F6F6F7",50:"#EDEDEE",100:"#DADCDE",200:"#B6B8BD",300:"#91959C",400:"#6D717B",500:"#484E5A",600:"#3E424C",700:"#34383F",750:"#2C2F36",800:"#26292F",900:"#1F2125",1e3:"#1B1C1D"},red:{100:"#FFE5E7",200:"#FFCBD0",300:"#FFB0B8",400:"#FF96A1",500:"#FF7C89",600:"#D06772",700:"#A2535B",800:"#733F44",900:"#452B2D",1e3:"#2E2022"},blue:{100:"#EBF0FA",200:"#D6E1F4",300:"#ADC3EA",400:"#84A4DF",500:"#5C86D5",600:"#3368CA",700:"#2D57A6",800:"#274782",900:"#21375E",1e3:"#1C273A"},yellow:{100:"#FFFBF1",200:"#FFF7E2",300:"#FFEFC6",400:"#FFE7A9",500:"#FFDF8D",600:"#FFD770",700:"#D0B05E",800:"#A28A4C",900:"#73633A",1e3:"#453D28"},beige:{600:"#EEC990"},pink:{600:"#F576A2"},orange:{600:"#F29142"}}},colors:{majestic_blue:"#444AD9",majestic_blue_soft:"#6C7AE8",orange_og:"#FE9239",orange_soft:"#FFB160",dark_red:"#802828",darker_red:"#611F1F",darkest_red:"#281515",darkest_red_hover:"#351515",dark_green:"#2D4323"},text:{},font_family:{primary:"Inter, sans-serif",secondary:"Kode Mono, sans-serif",code:"IBM Plex Mono, monospace"}},ur={v2:pr.v2,darkMode:!0,colors:{...pr.colors,primary:"#111111",secondary:"#F9F9F9",border:"#525252",dark_grey:"#151515",translucent_bg:"#1A1A1A",dropdown_bg:"#242424",dropdown_bg_2:"#333333",warning:"#472300",error:"#431919",success:"#172013",info:"#242424",default:"#181944"},text:{white:"#FFFFFF",primary:"#111111",secondary:"#F9F9F9",grey:"#B8B8B8",dark_grey:"#8F8F8F",darker_grey:"#7A7A7A",light_grey:"#CCD0D2",dark_button:"#0A1824",warning:"#E9CF35",warning_secondary:"#FFA349",error:"#EF7676",error_secondary:"#DB5151",success:"#81AF65",success_secondary:"#51DB51",info:"#B8B8B8",info_secondary:"#CCDDDD",default:"#AABEF7",default_secondary:"#8CBEFF"},font_family:pr.font_family},hr={v2:pr.v2,darkMode:!1,colors:{...pr.colors,primary:"#EEEEEE",secondary:"#060606",border:"#ADADAD",dark_grey:"#EAEAEA",translucent_bg:"#E5E5E5",dropdown_bg:"#DBDBDB",dropdown_bg_2:"#CCCCCC",warning:"#F6F092",error:"#FACECE",success:"#C8DEB8",info:"#E0E0E0",default:"#CAD9FB"},text:{white:"#FFFFFF",primary:"#EEEEEE",secondary:"#060606",grey:"#474747",dark_grey:"#707070",darker_grey:"#858585",light_grey:"#332F2D",dark_button:"#F5E7DB",warning:"#A56F12",warning_secondary:"#CA9416",error:"#B63A3A",error_secondary:"#DB5151",success:"#4E763A",success_secondary:"#67964C",info:"#525252",info_secondary:"#7A7A7A",default:"#444AD9",default_secondary:"#6C7AE8"},font_family:pr.font_family},mr=e=>e?ur:hr;var gr=Object.freeze({__proto__:null,baseTheme:pr,darkModeTheme:ur,getTheme:mr,lightModeTheme:hr});Ft('@import url("https://fonts.googleapis.com/css2?family=Inter:wght@400;700&display=swap");@import url("https://fonts.googleapis.com/css2?family=Kode+Mono:wght@100;200;300;400;500;600;700&display=swap");@import url("https://fonts.googleapis.com/css2?family=Inter+Tight:wght@400;700&display=swap");@import url("https://fonts.googleapis.com/css2?family=IBM+Plex+Mono:ital,wght@0,100;0,200;0,300;0,400;0,500;0,600;0,700;1,100;1,200;1,300;1,400;1,500;1,600;1,700&display=swap");*{-ms-overflow-style:none;scrollbar-width:none}::-webkit-scrollbar{display:none}*{animation-duration:.3s;animation-fill-mode:forwards;transition:all .3s}input{all:unset}input:-webkit-autofill,input:-webkit-autofill:active,input:-webkit-autofill:focus,input:-webkit-autofill:hover{-webkit-transition:all 50000s ease-in-out 0s;transition:all 50000s ease-in-out 0s}');const $r=({children:e})=>{const{darkMode:t}=Ko();return ft(Lt,{theme:mr(t),children:e})},xr={100:"FF","099":"FC","098":"FA","097":"F7","096":"F5","095":"F2","094":"F0","093":"ED","092":"EB","091":"E8","090":"E6","089":"E3","088":"E0","087":"DE","086":"DB","085":"D9","084":"D6","083":"D4","082":"D1","081":"CF","080":"CC","079":"C9","078":"C7","077":"C4","076":"C2","075":"BF","074":"BD","073":"BA","072":"B8","071":"B5","070":"B3","069":"B0","068":"AD","067":"AB","066":"A8","065":"A6","064":"A3","063":"A1","062":"9E","061":"9C","060":"99","059":"96","058":"94","057":"91","056":"8F","055":"8C","054":"8A","053":"87","052":"85","051":"82","050":"80","049":"7D","048":"7A","047":"78","046":"75","045":"73","044":"70","043":"6E","042":"6B","041":"69","040":"66","039":"63","038":"61","037":"5E","036":"5C","035":"59","034":"57","033":"54","032":"52","031":"4F","030":"4D","029":"4A","028":"47","027":"45","026":"42","025":"40","024":"3D","023":"3B","022":"38","021":"36","020":"33","019":"30","018":"2E","017":"2B","016":"29","015":"26","014":"24","013":"21","012":"1F","011":"1C","010":"1A","009":"17","008":"14","007":"12","006":"0F","005":"0D","004":"0A","003":"08","002":"05","001":"03","000":"00"};var fr=Object.freeze({__proto__:null,hex:xr});const br={in:{left:Pt`
|
|
147
147
|
from { transform: translateX(-100%); }
|
|
148
148
|
to { transform: translateX(0); }
|
|
149
149
|
`,right:Pt`
|
|
@@ -694,7 +694,7 @@ import{SamplerIcon as e,PiiMaskingIcon as t,ActionIcon as i,RenameAttributeIcon
|
|
|
694
694
|
white-space: nowrap;
|
|
695
695
|
`,Ls=Rt(fa)`
|
|
696
696
|
width: 16px;
|
|
697
|
-
`,Ps=({conditions:e,headerLabelError:t="Something Failed",headerLabelWarning:i="Something isn't right",headerLabelSuccess:n="Everything Successful"})=>{const o=Mt(),[r,a]=Ct(!1),s=vt(()=>Kn(e),[e]),{errors:l,hasErrors:c,warnings:d,hasWarnings:p,hasDisableds:u,hasLoadings:h}=vt(()=>un(s),[s]);kt(()=>{a(c||p||u)},[c,p,u]);const m=(!s.length||h)&&!c&&!p&&!u,g=c?Si.Error:p?Si.Warning:u?Si.Info:Si.Success,$=zn(g,o),x=c?t:p||u?i:m?"Loading...":n,f=c?o.text.error:p?o.text.warning:o.text.info,b=`(${c?l.length:p?d.length:s.length}/${s.length})`,y=c?o.text.error_secondary:p?o.text.warning_secondary:o.text.info_secondary,w=Et(()=>a(e=>!e),[]);return bt(Fs,{onClick:w,$status:g,children:[bt(_s,{children:[ft(m?Ns:$,{}),ft(xo,{color:f,size:14,children:x}),ft(xo,{color:y,size:12,family:"secondary",children:b}),ft(zs,{extend:r,align:"right"})]}),r&&ft(Rs,{children:s.map(({status:e,type:t,reason:i,message:n,
|
|
697
|
+
`,Ps=({conditions:e,headerLabelError:t="Something Failed",headerLabelWarning:i="Something isn't right",headerLabelSuccess:n="Everything Successful"})=>{const o=Mt(),[r,a]=Ct(!1),s=vt(()=>Kn(e),[e]),{errors:l,hasErrors:c,warnings:d,hasWarnings:p,hasDisableds:u,hasLoadings:h}=vt(()=>un(s),[s]);kt(()=>{a(c||p||u)},[c,p,u]);const m=(!s.length||h)&&!c&&!p&&!u,g=c?Si.Error:p?Si.Warning:u?Si.Info:Si.Success,$=zn(g,o),x=c?t:p||u?i:m?"Loading...":n,f=c?o.text.error:p?o.text.warning:o.text.info,b=`(${c?l.length:p?d.length:s.length}/${s.length})`,y=c?o.text.error_secondary:p?o.text.warning_secondary:o.text.info_secondary,w=Et(()=>a(e=>!e),[]);return bt(Fs,{onClick:w,$status:g,children:[bt(_s,{children:[ft(m?Ns:$,{}),ft(xo,{color:f,size:14,children:x}),ft(xo,{color:y,size:12,family:"secondary",children:b}),ft(zs,{extend:r,align:"right"})]}),r&&ft(Rs,{children:s.map(({status:e,type:t,reason:i,message:n},r)=>{const a=e===Ai.Loading?()=>ft(Ns,{scale:.8}):e===Ai.Disabled?zn(Si.Info,o):zn(e,o),s=e===Ai.Disabled?o.text.info:e===Si.Error?o.text.error:e===Si.Warning?o.text.warning:o.text.info,l=e===Ai.Disabled?o.text.info_secondary:e===Si.Error?o.text.error_secondary:e===Si.Warning?o.text.warning_secondary:o.text.info_secondary;return bt(Bs,{children:[ft(Ls,{children:ft(a,{})}),bt(xo,{color:s,size:12,children:[ft(Ms,{color:l,size:12,weight:700,children:t}),n||i]})]},`condition-${r}`)})})]})},js=Rt.div`
|
|
698
698
|
display: flex;
|
|
699
699
|
align-items: center;
|
|
700
700
|
gap: ${({$size:e})=>e/3}px;
|
|
@@ -2386,4 +2386,4 @@ import{SamplerIcon as e,PiiMaskingIcon as t,ActionIcon as i,RenameAttributeIcon
|
|
|
2386
2386
|
gap: 16px;
|
|
2387
2387
|
padding: 16px 24px;
|
|
2388
2388
|
background-color: ${({theme:e})=>e.v2.colors.silver[1e3]};
|
|
2389
|
-
`,km=({visual:e,title:t,description:i,isOpen:n,onClose:o,onDeny:r,denyLabel:a="Deny",onApprove:s,approveLabel:l="Approve",...c})=>{const d=Mt();return ft(Oh,{isOpen:n,onClose:o,...c,children:bt(wm,{children:[bt(vm,{children:[e&&ft(e,{}),ft(co,{size:so.M,weight:500,color:d.v2.colors.white[500],children:t}),ft(fa,{$alignItems:"center",$gap:4,children:i.split("\n").map(e=>ft(co,{size:so.XS,weight:400,color:d.v2.colors.silver[200],children:e},e))})]}),(r||s)&&bt(Cm,{children:[ft(Pp,{variant:Bp.Secondary,label:a,onClick:()=>{r?.(),o()}}),s&&ft(Pp,{variant:Bp.Primary,label:l,onClick:()=>{s(),o()}})]})]})})};export{Vo as $,li as A,Pp as B,ru as C,Ba as D,Xn as E,fa as F,qi as G,Jn as H,Ku as I,Mi as J,ci as K,Th as L,Wo as M,Rh as N,Ga as O,Li as P,ji as Q,fu as R,Jd as S,fm as T,Yi as U,bh as V,km as W,Ki as X,Pi as Y,Bi as Z,uo as _,Wu as a,Td as a$,mn as a0,xr as a1,Bo as a2,Mo as a3,Nr as a4,on as a5,nn as a6,Pr as a7,Mr as a8,Po as a9,lu as aA,Kp as aB,dn as aC,ta as aD,gu as aE,rn as aF,ga as aG,am as aH,Hh as aI,lh as aJ,On as aK,Ns as aL,Ou as aM,Cr as aN,$u as aO,ku as aP,Au as aQ,Ui as aR,$a as aS,kc as aT,Rl as aU,gs as aV,yo as aW,Wl as aX,Od as aY,zp as aZ,Ld as a_,jo as aa,fn as ab,Yp as ac,Jo as ad,Uo as ae,ia as af,ca as ag,aa as ah,Ti as ai,$i as aj,hm as ak,ao as al,la as am,sa as an,ar as ao,en as ap,wi as aq,nr as ar,jr as as,Hr as at,ma as au,Un as av,wu as aw,Zo as ax,mu as ay,cu as az,Vu as b,
|
|
2389
|
+
`,km=({visual:e,title:t,description:i,isOpen:n,onClose:o,onDeny:r,denyLabel:a="Deny",onApprove:s,approveLabel:l="Approve",...c})=>{const d=Mt();return ft(Oh,{isOpen:n,onClose:o,...c,children:bt(wm,{children:[bt(vm,{children:[e&&ft(e,{}),ft(co,{size:so.M,weight:500,color:d.v2.colors.white[500],children:t}),ft(fa,{$alignItems:"center",$gap:4,children:i.split("\n").map(e=>ft(co,{size:so.XS,weight:400,color:d.v2.colors.silver[200],children:e},e))})]}),(r||s)&&bt(Cm,{children:[ft(Pp,{variant:Bp.Secondary,label:a,onClick:()=>{r?.(),o()}}),s&&ft(Pp,{variant:Bp.Primary,label:l,onClick:()=>{s(),o()}})]})]})})};export{Vo as $,li as A,Pp as B,ru as C,Ba as D,Xn as E,fa as F,qi as G,Jn as H,Ku as I,Mi as J,ci as K,Th as L,Wo as M,Rh as N,Ga as O,Li as P,ji as Q,fu as R,Jd as S,fm as T,Yi as U,bh as V,km as W,Ki as X,Pi as Y,Bi as Z,uo as _,Wu as a,Td as a$,mn as a0,xr as a1,Bo as a2,Mo as a3,Nr as a4,on as a5,nn as a6,Pr as a7,Mr as a8,Po as a9,lu as aA,Kp as aB,dn as aC,ta as aD,gu as aE,rn as aF,ga as aG,am as aH,Hh as aI,lh as aJ,On as aK,Ns as aL,Ou as aM,Cr as aN,$u as aO,ku as aP,Au as aQ,Ui as aR,$a as aS,kc as aT,Rl as aU,gs as aV,yo as aW,Wl as aX,Od as aY,zp as aZ,Ld as a_,jo as aa,fn as ab,Yp as ac,Jo as ad,Uo as ae,ia as af,ca as ag,aa as ah,Ti as ai,$i as aj,hm as ak,ao as al,la as am,sa as an,ar as ao,en as ap,wi as aq,nr as ar,jr as as,Hr as at,ma as au,Un as av,wu as aw,Zo as ax,mu as ay,cu as az,Vu as b,cp as b$,Ka as b0,Gs as b1,ap as b2,ip as b3,Vc as b4,Gd as b5,Ip as b6,xo as b7,Xo as b8,pd as b9,Ca as bA,ka as bB,yd as bC,bn as bD,Sa as bE,Cc as bF,yl as bG,Rp as bH,Er as bI,no as bJ,Ir as bK,sr as bL,pl as bM,Ri as bN,ln as bO,Cn as bP,xn as bQ,gp as bR,Br as bS,an as bT,ri as bU,Zi as bV,oi as bW,_r as bX,Yr as bY,Ua as bZ,ya as b_,Uc as ba,us as bb,zr as bc,yn as bd,Lo as be,Ps as bf,Rc as bg,pn as bh,yi as bi,tr as bj,ro as bk,_a as bl,va as bm,ns as bn,Fo as bo,Kd as bp,un as bq,Vs as br,Ai as bs,Kn as bt,zn as bu,er as bv,ni as bw,el as bx,wn as by,rl as bz,ki as c,xi as c$,Kr as c0,Hn as c1,Kl as c2,tn as c3,Jr as c4,Ur as c5,dr as c6,zs as c7,Ys as c8,vi as c9,Qn as cA,Zr as cB,Fi as cC,bi as cD,dc as cE,gn as cF,ha as cG,nl as cH,hn as cI,ac as cJ,Ko as cK,cn as cL,fs as cM,Dn as cN,Xs as cO,Ss as cP,ai as cQ,Oi as cR,ui as cS,zi as cT,Ni as cU,fi as cV,Ei as cW,hi as cX,mi as cY,pi as cZ,_i as c_,Yn as ca,Vr as cb,Mn as cc,Zt as cd,Ji as ce,Cp as cf,Dc as cg,Sn as ch,Ep as ci,ir as cj,qr as ck,ps as cl,br as cm,Rn as cn,Rr as co,Ii as cp,Ol as cq,Ks as cr,Cd as cs,Fn as ct,Ln as cu,Hs as cv,xl as cw,bl as cx,eh as cy,Wn as cz,ah as d,Oh as d$,Gi as d0,Vi as d1,Wi as d2,Di as d3,Xi as d4,Hi as d5,gi as d6,di as d7,Qt as d8,sn as d9,ea as dA,oa as dB,ra as dC,Fr as dD,Tl as dE,vl as dF,jc as dG,sd as dH,td as dI,hd as dJ,fd as dK,Zs as dL,Ud as dM,wa as dN,Kc as dO,Ea as dP,mo as dQ,go as dR,$o as dS,wh as dT,yh as dU,kh as dV,Vp as dW,Gp as dX,su as dY,iu as dZ,Zu as d_,$n as da,vn as db,kn as dc,En as dd,An as de,Tn as df,In as dg,Nn as dh,_n as di,jn as dj,Vn as dk,qn as dl,Zn as dm,eo as dn,to as dp,io as dq,oo as dr,Go as ds,qo as dt,Ho as du,Ro as dv,$r as dw,kr as dx,fr as dy,gr as dz,mm as e,Fh as e0,Vh as e1,qh as e2,jh as e3,bu as e4,lm as e5,ym as e6,um as e7,th as f,xa as g,Mp as h,Pn as i,Bp as j,Ci as k,si as l,ii as m,ba as n,Pu as o,so as p,tu as q,Ph as r,Si as s,co as t,Qi as u,Zp as v,pm as w,ti as x,Yu as y,Bn as z};
|
package/lib/components/v2.js
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
export{_ as Badge,B as Button,h as ButtonSize,dW as ButtonTab,dX as ButtonTabList,j as ButtonVariants,C as Checkbox,dY as CheckboxList,dZ as CheckboxSize,aM as CliCommand,aB as DataCard,o as Drawer,ay as DropData,aA as DropDataAlignX,az as DropDataAlignY,y as DropDown,b as FieldMessage,a as FieldTitle,d_ as Header,
|
|
1
|
+
export{_ as Badge,B as Button,h as ButtonSize,dW as ButtonTab,dX as ButtonTabList,j as ButtonVariants,C as Checkbox,dY as CheckboxList,dZ as CheckboxSize,aM as CliCommand,aB as DataCard,o as Drawer,ay as DropData,aA as DropDataAlignX,az as DropDataAlignY,y as DropDown,b as FieldMessage,a as FieldTitle,d_ as Header,cy as HoverActions,a7 as IconButton,a8 as IconButtonSize,I as Input,f as InputList,d as InputTable,aJ as Island,L as Loader,d$ as Modal,e0 as Navbar,N as NoData,r as Note,e1 as Radio,e2 as RadioGroup,e3 as RadioSize,q as Search,aw as SectionCard,e4 as SectionCardSize,v as Segment,ac as SegmentSize,aP as StatusCard,aH as Table,aI as TableVariant,e5 as Tag,w as TextArea,aQ as TextCard,T as Toggle,e as ToggleLabelAlign,e6 as ToggleList,ak as ToggleSize,e7 as ToggleVariant,t as Typography,p as TypographySize,al as TypographyVariants,W as WarningModal}from"../chunks/ui-components-CwVshImz.js";import"../icons.js";import"react/jsx-runtime";import"styled-components";import"zustand";import"react";import"javascript-time-ago";import"../chunks/vendor-D99eCWta.js";import"@xyflow/react";import"react-dom";import"prism-react-renderer";import"react-error-boundary";import"lottie-react";import"virtua";
|
package/lib/components.js
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
export{
|
|
1
|
+
export{bo as AutocompleteInput,bI as Badge,bK as Button,bb as CancelWarning,n as CenterThis,aV as Checkbox,cP as Code,bf as ConditionDetails,bg as DataCard,aT as DataCardFieldTypes,cg as DataCardFields,dG as DataFinger,bM as DataTab,ba as DeleteWarning,cw as DescribeRow,D as Divider,b4 as DocsButton,b9 as Drawer,dH as DrawerFooter,dI as DrawerHeader,c2 as Dropdown,dJ as ErrorBoundary,c7 as ExtendArrow,aL as FadeLoader,aW as FieldError,aU as FieldLabel,F as FlexColumn,g as FlexRow,dK as Header,b0 as IconButton,cH as IconGroup,bC as IconTitleBadge,bx as IconWrapped,cs as IconsNav,dL as ImageControlled,aX as Input,a$ as InputList,aY as InputTable,bF as InteractiveTable,a_ as KeyValueInputsList,dM as LoadingText,bl as Modal,bm as ModalBody,b5 as MonitorsCheckboxes,bz as MonitorsIcons,bp as NavigationButtons,bG as NoDataFound,bn as NotificationNote,dN as Overlay,aG as PageContent,bZ as Popup,cJ as PopupForm,cO as ScrollX,S as ScrollY,b3 as SectionTitle,b2 as Segment,b$ as SelectionButton,bR as SkeletonLoader,br as Status,cf as Stepper,dO as TabList,bA as TableContainer,bB as TableTitleWrap,bE as TableWrap,ci as Tag,b7 as Text,b6 as TextArea,aZ as Toggle,cM as ToggleCodeComponent,O as Tooltip,bH as TraceLoader,aS as UpgradeRequiredWrapper,b_ as VerticalScroll,cl as WarningModal,dP as WhiteSpace,dQ as getLinksFromText,dR as getStrongsFromText,dS as renderText}from"./chunks/ui-components-CwVshImz.js";import"./icons.js";import"react/jsx-runtime";import"styled-components";import"zustand";import"react";import"javascript-time-ago";import"./chunks/vendor-D99eCWta.js";import"@xyflow/react";import"react-dom";import"prism-react-renderer";import"react-error-boundary";import"lottie-react";import"virtua";
|
package/lib/constants.js
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
export{a2 as ACTION_ATTRIBUTE_OPTIONS,be as ACTION_OPTIONS,a3 as ACTION_SAMPLER_OPTIONS,aF as BUTTON_TEXTS,ap as DEFAULT_DATA_STREAM_NAME,aa as DESTINATION_CATEGORIES,$ as DISPLAY_LANGUAGES,a5 as DISPLAY_TITLES,u as DOCS_BASE_URL,a9 as DestinationCategoryTypes,a6 as FORM_ALERTS,ae as INSTRUMENTATION_RULE_OPTIONS,ds as LANGUAGE_OPTIONS,M as MONITORS_OPTIONS,dt as OTEL_DISTRO_NAME_OPTIONS,
|
|
1
|
+
export{a2 as ACTION_ATTRIBUTE_OPTIONS,be as ACTION_OPTIONS,a3 as ACTION_SAMPLER_OPTIONS,aF as BUTTON_TEXTS,ap as DEFAULT_DATA_STREAM_NAME,aa as DESTINATION_CATEGORIES,$ as DISPLAY_LANGUAGES,a5 as DISPLAY_TITLES,u as DOCS_BASE_URL,a9 as DestinationCategoryTypes,a6 as FORM_ALERTS,ae as INSTRUMENTATION_RULE_OPTIONS,ds as LANGUAGE_OPTIONS,M as MONITORS_OPTIONS,dt as OTEL_DISTRO_NAME_OPTIONS,c3 as STORAGE_KEYS,du as TOKEN_ABOUT_TO_EXPIRE}from"./chunks/ui-components-CwVshImz.js";import"./icons.js";import"react/jsx-runtime";import"styled-components";import"zustand";import"react";import"javascript-time-ago";import"./chunks/vendor-D99eCWta.js";import"@xyflow/react";import"react-dom";import"prism-react-renderer";import"react-error-boundary";import"lottie-react";import"virtua";
|
package/lib/containers/v2.js
CHANGED
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
import{jsxs as e,jsx as t,Fragment as l}from"react/jsx-runtime";import{useEffect as a,Fragment as n,useState as o,useRef as i,forwardRef as r,useImperativeHandle as s,useMemo as c,Children as d,useCallback as u}from"react";import p,{useTheme as h}from"styled-components";import{A as m,F as g,a as b,C as f,b as C,I as y,c as v,i as k,d as w,K as S,T as $,e as x,f as I,D as N,g as T,B as A,h as D,j as O,k as V,l as F,W as R,m as M,M as P,V as L,S as E,n as z,N as j,o as q,L as H,p as K,R as B,q as W,r as _,s as G,t as J,u as U,v as Y,w as X,x as Z,y as Q,z as ee,E as te,G as le,H as ae,J as ne,O as oe,P as ie,Q as re,U as se,X as ce,Y as de,Z as ue,_ as pe,$ as he,a0 as me,a1 as ge,a2 as be,a3 as fe,a4 as Ce,a5 as ye,a6 as ve,a7 as ke,a8 as we,a9 as Se,aa as $e,ab as xe,ac as Ie,ad as Ne,ae as Te,af as Ae,ag as De,ah as Oe,ai as Ve,aj as Fe,ak as Re,al as Me,am as Pe,an as Le,ao as Ee,ap as ze,aq as je,ar as qe,as as He,at as Ke,au as Be,av as We,aw as _e,ax as Ge,ay as Je,az as Ue,aA as Ye,aB as Xe,aC as Ze,aD as Qe,aE as et,aF as tt,aG as lt,aH as at,aI as nt,aJ as ot,aK as it,aL as rt,aM as st,aN as ct,aO as dt,aP as ut,aQ as pt,aR as ht,aS as mt}from"../chunks/ui-components-gnCD7JOq.js";import{TrashIcon as gt,PlusIcon as bt,VSquareIcon as ft,OdigosLogo as Ct,ArrowLeftIcon as yt,ArrowRightIcon as vt,BookIcon as kt,XSquareIcon as wt,GoLogo as St,JavaLogo as $t,ChevronRightIcon as xt,ActionIcon as It,DestinationIcon as Nt,ChevronUpIcon as Tt,ChevronDownIcon as At,InstrumentationRuleIcon as Dt,SourceIcon as Ot,SettingsIcon as Vt,XIcon as Ft,VIcon as Rt,EditIcon as Mt,ExclamationTriangleIcon as Pt,ExclamationCircleIcon as Lt,KeyIcon as Et,DiagnoseIcon as zt,DownloadIcon as jt,TerminalIcon as qt,DeleteIcon as Ht,RefreshIcon as Kt,ConnectionsIcon as Bt,PodIcon as Wt,ArrowDownSquareIcon as _t,ArrowUpSquareIcon as Gt,PipelineCollectorIcon as Jt,GatewayIcon as Ut,YamlIcon as Yt}from"../icons.js";import{Y as Xt}from"../chunks/index-Dt6gx0e3.js";import"zustand";import"javascript-time-ago";import"../chunks/vendor-D99eCWta.js";import"@xyflow/react";import"react-dom";import"prism-react-renderer";import"react-error-boundary";import"lottie-react";import"virtua";const Zt=[{id:"CREDIT_CARD",label:"Credit card"}],Qt=[{id:m.CollectContainerAttributes,label:"Collect container attributes"},{id:m.CollectReplicaSetAttributes,label:"Collect ReplicaSet attributes"},{id:m.CollectWorkloadId,label:"Collect workload ID"},{id:m.CollectClusterId,label:"Collect cluster ID"}],el=[{id:S.Pod,label:S.Pod},{id:S.Namespace,label:S.Namespace},{id:S.Node,label:S.Node}],tl=[{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:el}],ll=[{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:el}],al=[{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:v.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:v.Number}],nl=m.UrlTemplatizationRulesGroups,ol=[{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"}],il=[{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:v.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:v.Number}],rl=[{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:v.Number},{label:"Condition",keyName:"condition",tooltip:"An object representing the filters for span attributes filters.",componentType:V.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:V.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}],sl={[F.K8sAttributes]:({value:n,setValue:o,formErrors:i})=>(a(()=>{n[m.CollectContainerAttributes]||n[m.CollectReplicaSetAttributes]||n[m.CollectWorkloadId]||n[m.CollectClusterId]||n[m.LabelsAttributes]?.length||n[m.AnnotationsAttributes]?.length||(o(m.CollectContainerAttributes,!0),o(m.CollectReplicaSetAttributes,!0),o(m.CollectWorkloadId,!0),o(m.CollectClusterId,!0),o(m.LabelsAttributes,[]),o(m.AnnotationsAttributes,[]))},[]),e(l,{children:[t(g,{$gap:6,children:Qt.map(({id:l,label:a})=>e(g,{children:[t(f,{label:a,value:n[l]||!1,onChange:e=>o(l,e)}),t(C,{errorMessage:i[l]})]},l))}),t(w,{label:"Label attributes",limitFieldsPerRow:2,columns:tl,values:n[m.LabelsAttributes]||[],setValues:e=>o(m.LabelsAttributes,e),errorMessage:i[m.LabelsAttributes]}),t(w,{label:"Annotation attributes",limitFieldsPerRow:2,columns:ll,values:n[m.AnnotationsAttributes]||[],setValues:e=>o(m.AnnotationsAttributes,e),errorMessage:i[m.AnnotationsAttributes]})]})),[F.AddClusterInfo]:({value:a,setValue:n,formErrors:o})=>{const i=h();return e(l,{children:[t($,{label:"Overwrite existing values",labelAlign:x.Left,labelColor:i.v2.colors.silver[200],tooltip:"If enabled, the resource attributes will overwrite any existing attributes with the same name.",value:a[m.OverwriteExistingValues]||!1,onChange:e=>n(m.OverwriteExistingValues,e)}),t(w,{label:"Resource attributes",limitFieldsPerRow:2,columns:[{keyName:"attributeName",label:"Attribute name"},{keyName:"attributeStringValue",label:"Attribute value"}],values:a[m.ClusterAttributes]||[],setValues:e=>n(m.ClusterAttributes,e),errorMessage:o[m.ClusterAttributes]})]})},[F.DeleteAttributes]:({value:e,setValue:l,formErrors:a})=>t(I,{label:"Attributes to delete",values:e[m.AttributeNamesToDelete]||[],setValues:e=>l(m.AttributeNamesToDelete,e),errorMessage:a[m.AttributeNamesToDelete]}),[F.RenameAttributes]:({value:e,setValue:l,formErrors:a})=>t(w,{label:"Attributes to rename",limitFieldsPerRow:2,columns:[{keyName:"oldKey",label:"Old key"},{keyName:"newKey",label:"New key"}],values:Object.entries(e[m.Renames]||{}).map(([e,t])=>({oldKey:e,newKey:t})),setValues:e=>{const t={};e.forEach(e=>t[e.oldKey]=e.newKey),l(m.Renames,t)},errorMessage:a[m.Renames]}),[F.PiiMasking]:({value:l,setValue:n,formErrors:o})=>(a(()=>{l[m.PiiCategories]?.length||n(m.PiiCategories,Zt.map(({id:e})=>e))},[]),e(g,{$gap:12,children:[t(b,{label:"Attributes to mask"}),t(g,{$gap:6,children:Zt.map(({id:e,label:a})=>t(f,{label:a,value:l[m.PiiCategories]?.includes(e)||!1,onChange:t=>{const a=l[m.PiiCategories]||[],o=t?[...a,e]:a.filter(t=>t!==e);n(m.PiiCategories,o)}},e))}),t(C,{errorMessage:o[m.PiiCategories]})]})),[F.ErrorSampler]:({value:e,setValue:l,formErrors:a})=>{const n=a[m.FallbackSamplingRatio],o=k(e[m.FallbackSamplingRatio])?"":String(e[m.FallbackSamplingRatio]);return t(y,{label:"Fallback sampling ratio",type:v.Number,min:0,max:100,value:o,placeholder:"0-100",onChange:e=>{return t=e.target.value,l(m.FallbackSamplingRatio,Math.max(0,Math.min(Number(t),100))||0);var t},errorMessage:n})},[F.ProbabilisticSampler]:({value:e,setValue:l,formErrors:a})=>{const n=a[m.SamplingPercentage],o=k(e[m.SamplingPercentage])?"":String(e[m.SamplingPercentage]);return t(y,{label:"Sampling percentage",type:v.Number,min:0,max:100,value:o,placeholder:"0-100",onChange:e=>{return t=e.target.value,l(m.SamplingPercentage,Math.max(0,Math.min(Number(t),100))||0);var t},errorMessage:n})},[F.LatencySampler]:({value:e,setValue:l,formErrors:a})=>{const n=a[m.EndpointsFilters],o=e[m.EndpointsFilters]||[];return t(w,{limitFieldsPerRow:2,columns:al,values:o,setValues:e=>{l(m.EndpointsFilters,e.map(({serviceName:e,httpRoute:t,minimumLatencyThreshold:l,fallbackSamplingRatio:a})=>({serviceName:e,httpRoute:t,minimumLatencyThreshold:Number(l),fallbackSamplingRatio:Number(a)})))},errorMessage:n})},[F.ServiceNameSampler]:({value:e,setValue:l,formErrors:a})=>{const n=a[m.ServicesNameFilters],o=e[m.ServicesNameFilters]||[];return t(w,{limitFieldsPerRow:2,columns:il,values:o,setValues:e=>{l(m.ServicesNameFilters,e.map(({serviceName:e,samplingRatio:t,fallbackSamplingRatio:l})=>({serviceName:e,samplingRatio:Number(t),fallbackSamplingRatio:Number(l)})))},errorMessage:n})},[F.SpanAttributeSampler]:({value:e,setValue:l,formErrors:a})=>{const n=a[m.AttributeFilters],o=(e[m.AttributeFilters]||[]).map(({serviceName:e,attributeKey:t,fallbackSamplingRatio:l,condition:a})=>{const n=Object.entries(a).filter(([e,t])=>t)[0][0];return{serviceName:e,attributeKey:t,fallbackSamplingRatio:l,condition:n,operation:a[n]?.operation,expectedValue:a[n]?.expectedValue,jsonPath:a[n]?.jsonPath}});return t(w,{limitFieldsPerRow:2,columns:rl,values:o,setValues:e=>{l(m.AttributeFilters,e.map(({serviceName:e,attributeKey:t,fallbackSamplingRatio:l,condition:a,operation:n,expectedValue:o,jsonPath:i})=>{const r={serviceName:e,attributeKey:t,fallbackSamplingRatio:Number(l),condition:{[a]:{operation:n,expectedValue:o}}};return i&&(r.condition[a].jsonPath=i),r}))},errorMessage:n})},[F.URLTemplatization]:({value:a,setValue:o,formErrors:i})=>{const r=h(),s=a[nl]||[{filterK8sNamespace:"",workloadFilters:[],templatizationRules:[{template:""}],notes:""}],c=e=>o(nl,e),d=(e,t)=>c(s.map((l,a)=>a===e?{...l,...t}:l));return e(l,{children:[s.map((l,a)=>e(n,{children:[t(N,{}),e(g,{$gap:12,children:[e(T,{$justifyContent:"space-between",$alignItems:"center",children:[t(b,{label:`Rule Group ${a+1}`}),t(A,{leftIcon:()=>t(gt,{fill:r.v2.colors.red[500]}),variant:O.Secondary,size:D.S,onClick:()=>{return e=a,c(s.filter((t,l)=>l!==e));var e},disabled:1===s.length})]}),t(y,{label:"Namespace",placeholder:"All namespaces",tooltip:"Filter rules to a specific Kubernetes namespace.",value:l.filterK8sNamespace||"",onChange:e=>d(a,{filterK8sNamespace:e.target.value})}),t(w,{label:"Workload filters",tooltip:"Optionally scope templates to specific workloads.",columns:ol,values:l.workloadFilters||[],setValues:e=>d(a,{workloadFilters:e})}),t(I,{label:"Templates",required:!0,placeholder:"e.g. /user/{id}",values:l.templatizationRules.map(e=>e.template),setValues:e=>d(a,{templatizationRules:e.map(e=>({template:e}))})})]}),t(C,{errorMessage:i[nl]})]},`url-templatization-group-${a}`)),t(A,{variant:O.Secondary,label:"Add rule group",leftIcon:bt,onClick:()=>c([...s,{filterK8sNamespace:"",workloadFilters:[],templatizationRules:[{template:""}],notes:""}])}),t(N,{})]})}},cl=({actionType:e,value:l,setValue:a,formErrors:n})=>{if(!e)return null;const o=sl[e];return o?t(o,{value:l,setValue:a,formErrors:n}):null},dl=({isOpen:e,onClose:l,onDeny:a,onApprove:n})=>t(R,{title:"Discard changes?",description:"You have unsaved changes.\nIf you cancel now, your changes won't be saved.",isOpen:e,onClose:l,onDeny:a,denyLabel:"Keep editing",onApprove:n,approveLabel:"Discard changes"}),ul=({isOpen:e,onClose:l,onDeny:a,onApprove:n,action:o="delete",target:i})=>{const r=o.charAt(0).toUpperCase()+o.substring(1),s=i?.endsWith("s")?"these":"this";return t(R,{title:`${r}${i?` ${i}`:""}?`,description:`Are you sure you want to ${o}${i?` ${s} ${i}`:""}?`,isOpen:e,onClose:l,onDeny:a,denyLabel:"Go back",onApprove:n,approveLabel:r})},pl=(e,t)=>!t?.length||!!t?.find(t=>t===e),hl=({title:l="Signals",required:n,errorMessage:r,allowedSignals:s,selectedSignals:c,setSelectedSignals:d,disabled:u})=>{const[p,h]=o(1===c.length),m=i(JSON.stringify(c));return a(()=>{const e=M(c);e.length||P.forEach(({id:t})=>{pl(t,s)&&e.push(t)});const t=JSON.stringify(e);m.current!==t&&(m.current=t,d(e),h(1===e.length))},[s,c]),e(g,{$gap:12,children:[t(b,{label:l,required:n}),t(T,{$gap:12,children:P.map(e=>{const l=pl(e.id,s),a=((e,t)=>!!t?.find(t=>t===e))(e.id,c);return l?t(f,{label:e.value,disabled:u||!l||p&&a,value:a,onChange:t=>((e,t)=>{const l=e,a=t?[...c,l]:c.filter(e=>e!==l);d(a),h(1===a.length)})(e.id,t)},e.id):null})}),t(C,{errorMessage:r})]})},ml=({minSupportedVersion:e,currentVersion:l})=>t(R,{isOpen:!0,onClose:()=>{},relativeToParent:!0,visual:()=>t(L,{scale:2.4,icon:()=>t("svg",{xmlns:"http://www.w3.org/2000/svg",width:"22",height:"21",viewBox:"0 0 22 21",fill:"none",children:t("path",{fill:"#151618",d:"M9.4844 0.730003C9.99694 -0.243259 11.4076 -0.24341 11.92 0.730003L11.9685 0.831353L14.3039 6.22012L20.153 6.77755C21.3553 6.89211 21.841 8.38683 20.9358 9.18621L16.5314 13.0731L17.8091 18.8079C18.0716 19.9868 16.8005 20.9109 15.7605 20.2969L10.7017 17.3093L5.64282 20.2969C4.60289 20.9104 3.33173 19.9866 3.59427 18.8079L4.87192 13.0741L0.468608 9.18621C-0.43662 8.38693 0.0482932 6.8924 1.25029 6.77755L7.09837 6.22012L9.43588 0.831353L9.4844 0.730003ZM8.55284 7.02876C8.35287 7.48992 7.9179 7.80589 7.41751 7.85357L2.03952 8.36571L6.09027 11.941C6.46691 12.2737 6.63296 12.7852 6.5237 13.2758L5.34956 18.5459L10.0008 15.8009L10.1669 15.7179C10.5087 15.574 10.8945 15.5741 11.2364 15.7179L11.4036 15.8009L16.0538 18.5459L14.8807 13.2758C14.7714 12.7851 14.9374 12.2737 15.3141 11.941L19.3627 8.36571L13.9858 7.85357C13.4855 7.80587 13.0505 7.4899 12.8505 7.02876L10.7017 2.07342L8.55284 7.02876Z"})})}),title:"Upgrade Required",description:`To use this feature, please upgrade to Odigos v${e} or later.\nCurrent version: ${l}.`}),gl=p.div`
|
|
1
|
+
import{jsxs as e,jsx as t,Fragment as l}from"react/jsx-runtime";import{useEffect as a,Fragment as n,useState as o,useRef as i,forwardRef as r,useImperativeHandle as s,useMemo as c,Children as d,useCallback as u}from"react";import p,{useTheme as h}from"styled-components";import{A as m,F as g,a as b,C as f,b as C,I as y,c as v,i as k,d as w,K as S,T as $,e as x,f as I,D as N,g as T,B as A,h as D,j as O,k as V,l as F,W as R,m as M,M as P,V as L,S as E,n as z,N as j,o as q,L as H,p as K,R as B,q as W,r as _,s as G,t as J,u as U,v as Y,w as X,x as Z,y as Q,z as ee,E as te,G as le,H as ae,J as ne,O as oe,P as ie,Q as re,U as se,X as ce,Y as de,Z as ue,_ as pe,$ as he,a0 as me,a1 as ge,a2 as be,a3 as fe,a4 as Ce,a5 as ye,a6 as ve,a7 as ke,a8 as we,a9 as Se,aa as $e,ab as xe,ac as Ie,ad as Ne,ae as Te,af as Ae,ag as De,ah as Oe,ai as Ve,aj as Fe,ak as Re,al as Me,am as Pe,an as Le,ao as Ee,ap as ze,aq as je,ar as qe,as as He,at as Ke,au as Be,av as We,aw as _e,ax as Ge,ay as Je,az as Ue,aA as Ye,aB as Xe,aC as Ze,aD as Qe,aE as et,aF as tt,aG as lt,aH as at,aI as nt,aJ as ot,aK as it,aL as rt,aM as st,aN as ct,aO as dt,aP as ut,aQ as pt,aR as ht,aS as mt}from"../chunks/ui-components-CwVshImz.js";import{TrashIcon as gt,PlusIcon as bt,VSquareIcon as ft,OdigosLogo as Ct,ArrowLeftIcon as yt,ArrowRightIcon as vt,BookIcon as kt,XSquareIcon as wt,GoLogo as St,JavaLogo as $t,ChevronRightIcon as xt,ActionIcon as It,DestinationIcon as Nt,ChevronUpIcon as Tt,ChevronDownIcon as At,InstrumentationRuleIcon as Dt,SourceIcon as Ot,SettingsIcon as Vt,XIcon as Ft,VIcon as Rt,EditIcon as Mt,ExclamationTriangleIcon as Pt,ExclamationCircleIcon as Lt,KeyIcon as Et,DiagnoseIcon as zt,DownloadIcon as jt,TerminalIcon as qt,DeleteIcon as Ht,RefreshIcon as Kt,ConnectionsIcon as Bt,PodIcon as Wt,ArrowDownSquareIcon as _t,ArrowUpSquareIcon as Gt,PipelineCollectorIcon as Jt,GatewayIcon as Ut,YamlIcon as Yt}from"../icons.js";import{Y as Xt}from"../chunks/index-pLAVCKXo.js";import"zustand";import"javascript-time-ago";import"../chunks/vendor-D99eCWta.js";import"@xyflow/react";import"react-dom";import"prism-react-renderer";import"react-error-boundary";import"lottie-react";import"virtua";const Zt=[{id:"CREDIT_CARD",label:"Credit card"}],Qt=[{id:m.CollectContainerAttributes,label:"Collect container attributes"},{id:m.CollectReplicaSetAttributes,label:"Collect ReplicaSet attributes"},{id:m.CollectWorkloadId,label:"Collect workload ID"},{id:m.CollectClusterId,label:"Collect cluster ID"}],el=[{id:S.Pod,label:S.Pod},{id:S.Namespace,label:S.Namespace},{id:S.Node,label:S.Node}],tl=[{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:el}],ll=[{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:el}],al=[{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:v.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:v.Number}],nl=m.UrlTemplatizationRulesGroups,ol=[{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"}],il=[{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:v.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:v.Number}],rl=[{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:v.Number},{label:"Condition",keyName:"condition",tooltip:"An object representing the filters for span attributes filters.",componentType:V.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:V.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}],sl={[F.K8sAttributes]:({value:n,setValue:o,formErrors:i})=>(a(()=>{n[m.CollectContainerAttributes]||n[m.CollectReplicaSetAttributes]||n[m.CollectWorkloadId]||n[m.CollectClusterId]||n[m.LabelsAttributes]?.length||n[m.AnnotationsAttributes]?.length||(o(m.CollectContainerAttributes,!0),o(m.CollectReplicaSetAttributes,!0),o(m.CollectWorkloadId,!0),o(m.CollectClusterId,!0),o(m.LabelsAttributes,[]),o(m.AnnotationsAttributes,[]))},[]),e(l,{children:[t(g,{$gap:6,children:Qt.map(({id:l,label:a})=>e(g,{children:[t(f,{label:a,value:n[l]||!1,onChange:e=>o(l,e)}),t(C,{errorMessage:i[l]})]},l))}),t(w,{label:"Label attributes",limitFieldsPerRow:2,columns:tl,values:n[m.LabelsAttributes]||[],setValues:e=>o(m.LabelsAttributes,e),errorMessage:i[m.LabelsAttributes]}),t(w,{label:"Annotation attributes",limitFieldsPerRow:2,columns:ll,values:n[m.AnnotationsAttributes]||[],setValues:e=>o(m.AnnotationsAttributes,e),errorMessage:i[m.AnnotationsAttributes]})]})),[F.AddClusterInfo]:({value:a,setValue:n,formErrors:o})=>{const i=h();return e(l,{children:[t($,{label:"Overwrite existing values",labelAlign:x.Left,labelColor:i.v2.colors.silver[200],tooltip:"If enabled, the resource attributes will overwrite any existing attributes with the same name.",value:a[m.OverwriteExistingValues]||!1,onChange:e=>n(m.OverwriteExistingValues,e)}),t(w,{label:"Resource attributes",limitFieldsPerRow:2,columns:[{keyName:"attributeName",label:"Attribute name"},{keyName:"attributeStringValue",label:"Attribute value"}],values:a[m.ClusterAttributes]||[],setValues:e=>n(m.ClusterAttributes,e),errorMessage:o[m.ClusterAttributes]})]})},[F.DeleteAttributes]:({value:e,setValue:l,formErrors:a})=>t(I,{label:"Attributes to delete",values:e[m.AttributeNamesToDelete]||[],setValues:e=>l(m.AttributeNamesToDelete,e),errorMessage:a[m.AttributeNamesToDelete]}),[F.RenameAttributes]:({value:e,setValue:l,formErrors:a})=>t(w,{label:"Attributes to rename",limitFieldsPerRow:2,columns:[{keyName:"oldKey",label:"Old key"},{keyName:"newKey",label:"New key"}],values:Object.entries(e[m.Renames]||{}).map(([e,t])=>({oldKey:e,newKey:t})),setValues:e=>{const t={};e.forEach(e=>t[e.oldKey]=e.newKey),l(m.Renames,t)},errorMessage:a[m.Renames]}),[F.PiiMasking]:({value:l,setValue:n,formErrors:o})=>(a(()=>{l[m.PiiCategories]?.length||n(m.PiiCategories,Zt.map(({id:e})=>e))},[]),e(g,{$gap:12,children:[t(b,{label:"Attributes to mask"}),t(g,{$gap:6,children:Zt.map(({id:e,label:a})=>t(f,{label:a,value:l[m.PiiCategories]?.includes(e)||!1,onChange:t=>{const a=l[m.PiiCategories]||[],o=t?[...a,e]:a.filter(t=>t!==e);n(m.PiiCategories,o)}},e))}),t(C,{errorMessage:o[m.PiiCategories]})]})),[F.ErrorSampler]:({value:e,setValue:l,formErrors:a})=>{const n=a[m.FallbackSamplingRatio],o=k(e[m.FallbackSamplingRatio])?"":String(e[m.FallbackSamplingRatio]);return t(y,{label:"Fallback sampling ratio",type:v.Number,min:0,max:100,value:o,placeholder:"0-100",onChange:e=>{return t=e.target.value,l(m.FallbackSamplingRatio,Math.max(0,Math.min(Number(t),100))||0);var t},errorMessage:n})},[F.ProbabilisticSampler]:({value:e,setValue:l,formErrors:a})=>{const n=a[m.SamplingPercentage],o=k(e[m.SamplingPercentage])?"":String(e[m.SamplingPercentage]);return t(y,{label:"Sampling percentage",type:v.Number,min:0,max:100,value:o,placeholder:"0-100",onChange:e=>{return t=e.target.value,l(m.SamplingPercentage,Math.max(0,Math.min(Number(t),100))||0);var t},errorMessage:n})},[F.LatencySampler]:({value:e,setValue:l,formErrors:a})=>{const n=a[m.EndpointsFilters],o=e[m.EndpointsFilters]||[];return t(w,{limitFieldsPerRow:2,columns:al,values:o,setValues:e=>{l(m.EndpointsFilters,e.map(({serviceName:e,httpRoute:t,minimumLatencyThreshold:l,fallbackSamplingRatio:a})=>({serviceName:e,httpRoute:t,minimumLatencyThreshold:Number(l),fallbackSamplingRatio:Number(a)})))},errorMessage:n})},[F.ServiceNameSampler]:({value:e,setValue:l,formErrors:a})=>{const n=a[m.ServicesNameFilters],o=e[m.ServicesNameFilters]||[];return t(w,{limitFieldsPerRow:2,columns:il,values:o,setValues:e=>{l(m.ServicesNameFilters,e.map(({serviceName:e,samplingRatio:t,fallbackSamplingRatio:l})=>({serviceName:e,samplingRatio:Number(t),fallbackSamplingRatio:Number(l)})))},errorMessage:n})},[F.SpanAttributeSampler]:({value:e,setValue:l,formErrors:a})=>{const n=a[m.AttributeFilters],o=(e[m.AttributeFilters]||[]).map(({serviceName:e,attributeKey:t,fallbackSamplingRatio:l,condition:a})=>{const n=Object.entries(a).filter(([e,t])=>t)[0][0];return{serviceName:e,attributeKey:t,fallbackSamplingRatio:l,condition:n,operation:a[n]?.operation,expectedValue:a[n]?.expectedValue,jsonPath:a[n]?.jsonPath}});return t(w,{limitFieldsPerRow:2,columns:rl,values:o,setValues:e=>{l(m.AttributeFilters,e.map(({serviceName:e,attributeKey:t,fallbackSamplingRatio:l,condition:a,operation:n,expectedValue:o,jsonPath:i})=>{const r={serviceName:e,attributeKey:t,fallbackSamplingRatio:Number(l),condition:{[a]:{operation:n,expectedValue:o}}};return i&&(r.condition[a].jsonPath=i),r}))},errorMessage:n})},[F.URLTemplatization]:({value:a,setValue:o,formErrors:i})=>{const r=h(),s=a[nl]||[{filterK8sNamespace:"",workloadFilters:[],templatizationRules:[{template:""}],notes:""}],c=e=>o(nl,e),d=(e,t)=>c(s.map((l,a)=>a===e?{...l,...t}:l));return e(l,{children:[s.map((l,a)=>e(n,{children:[t(N,{}),e(g,{$gap:12,children:[e(T,{$justifyContent:"space-between",$alignItems:"center",children:[t(b,{label:`Rule Group ${a+1}`}),t(A,{leftIcon:()=>t(gt,{fill:r.v2.colors.red[500]}),variant:O.Secondary,size:D.S,onClick:()=>{return e=a,c(s.filter((t,l)=>l!==e));var e},disabled:1===s.length})]}),t(y,{label:"Namespace",placeholder:"All namespaces",tooltip:"Filter rules to a specific Kubernetes namespace.",value:l.filterK8sNamespace||"",onChange:e=>d(a,{filterK8sNamespace:e.target.value})}),t(w,{label:"Workload filters",tooltip:"Optionally scope templates to specific workloads.",columns:ol,values:l.workloadFilters||[],setValues:e=>d(a,{workloadFilters:e})}),t(I,{label:"Templates",required:!0,placeholder:"e.g. /user/{id}",values:l.templatizationRules.map(e=>e.template),setValues:e=>d(a,{templatizationRules:e.map(e=>({template:e}))})})]}),t(C,{errorMessage:i[nl]})]},`url-templatization-group-${a}`)),t(A,{variant:O.Secondary,label:"Add rule group",leftIcon:bt,onClick:()=>c([...s,{filterK8sNamespace:"",workloadFilters:[],templatizationRules:[{template:""}],notes:""}])}),t(N,{})]})}},cl=({actionType:e,value:l,setValue:a,formErrors:n})=>{if(!e)return null;const o=sl[e];return o?t(o,{value:l,setValue:a,formErrors:n}):null},dl=({isOpen:e,onClose:l,onDeny:a,onApprove:n})=>t(R,{title:"Discard changes?",description:"You have unsaved changes.\nIf you cancel now, your changes won't be saved.",isOpen:e,onClose:l,onDeny:a,denyLabel:"Keep editing",onApprove:n,approveLabel:"Discard changes"}),ul=({isOpen:e,onClose:l,onDeny:a,onApprove:n,action:o="delete",target:i})=>{const r=o.charAt(0).toUpperCase()+o.substring(1),s=i?.endsWith("s")?"these":"this";return t(R,{title:`${r}${i?` ${i}`:""}?`,description:`Are you sure you want to ${o}${i?` ${s} ${i}`:""}?`,isOpen:e,onClose:l,onDeny:a,denyLabel:"Go back",onApprove:n,approveLabel:r})},pl=(e,t)=>!t?.length||!!t?.find(t=>t===e),hl=({title:l="Signals",required:n,errorMessage:r,allowedSignals:s,selectedSignals:c,setSelectedSignals:d,disabled:u})=>{const[p,h]=o(1===c.length),m=i(JSON.stringify(c));return a(()=>{const e=M(c);e.length||P.forEach(({id:t})=>{pl(t,s)&&e.push(t)});const t=JSON.stringify(e);m.current!==t&&(m.current=t,d(e),h(1===e.length))},[s,c]),e(g,{$gap:12,children:[t(b,{label:l,required:n}),t(T,{$gap:12,children:P.map(e=>{const l=pl(e.id,s),a=((e,t)=>!!t?.find(t=>t===e))(e.id,c);return l?t(f,{label:e.value,disabled:u||!l||p&&a,value:a,onChange:t=>((e,t)=>{const l=e,a=t?[...c,l]:c.filter(e=>e!==l);d(a),h(1===a.length)})(e.id,t)},e.id):null})}),t(C,{errorMessage:r})]})},ml=({minSupportedVersion:e,currentVersion:l})=>t(R,{isOpen:!0,onClose:()=>{},relativeToParent:!0,visual:()=>t(L,{scale:2.4,icon:()=>t("svg",{xmlns:"http://www.w3.org/2000/svg",width:"22",height:"21",viewBox:"0 0 22 21",fill:"none",children:t("path",{fill:"#151618",d:"M9.4844 0.730003C9.99694 -0.243259 11.4076 -0.24341 11.92 0.730003L11.9685 0.831353L14.3039 6.22012L20.153 6.77755C21.3553 6.89211 21.841 8.38683 20.9358 9.18621L16.5314 13.0731L17.8091 18.8079C18.0716 19.9868 16.8005 20.9109 15.7605 20.2969L10.7017 17.3093L5.64282 20.2969C4.60289 20.9104 3.33173 19.9866 3.59427 18.8079L4.87192 13.0741L0.468608 9.18621C-0.43662 8.38693 0.0482932 6.8924 1.25029 6.77755L7.09837 6.22012L9.43588 0.831353L9.4844 0.730003ZM8.55284 7.02876C8.35287 7.48992 7.9179 7.80589 7.41751 7.85357L2.03952 8.36571L6.09027 11.941C6.46691 12.2737 6.63296 12.7852 6.5237 13.2758L5.34956 18.5459L10.0008 15.8009L10.1669 15.7179C10.5087 15.574 10.8945 15.5741 11.2364 15.7179L11.4036 15.8009L16.0538 18.5459L14.8807 13.2758C14.7714 12.7851 14.9374 12.2737 15.3141 11.941L19.3627 8.36571L13.9858 7.85357C13.4855 7.80587 13.0505 7.4899 12.8505 7.02876L10.7017 2.07342L8.55284 7.02876Z"})})}),title:"Upgrade Required",description:`To use this feature, please upgrade to Odigos v${e} or later.\nCurrent version: ${l}.`}),gl=p.div`
|
|
2
2
|
display: flex;
|
|
3
3
|
flex-direction: column;
|
|
4
4
|
justify-content: flex-end;
|
|
@@ -125,7 +125,7 @@ import{jsxs as e,jsx as t,Fragment as l}from"react/jsx-runtime";import{useEffect
|
|
|
125
125
|
padding: 12px 24px;
|
|
126
126
|
border-radius: 8px;
|
|
127
127
|
background-color: ${({theme:e})=>e.v2.colors.silver[800]};
|
|
128
|
-
`,ka=({downloadDiagnose:l})=>{const a=h(),{namespaces:n}=Ge(),[i,r]=o(null),{formData:s,handleFormChange:c,resetFormData:d}=Ce({includeProfiles:!0,includeMetrics:!0,includeSourceWorkloads:!1,sourceWorkloadNamespaces:[]});return t(_e,{richTitle:{icon:zt,title:"Diagnose"},children:i?t(va,{children:t(H,{title:"Creating file...",subTitle:"This may take a few moments. Do not refresh the page.",startedAt:i,withGradient:!0,withVisual:!0,visualIcon:jt})}):e(g,{$gap:24,children:[t(J,{size:K.XXS,color:a.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(T,{$gap:8,children:[t(f,{label:"Profiles",value:s.includeProfiles,onChange:e=>c("includeProfiles",e),tooltip:"Note: Adds 30s to diagnose download time to collect Profiles"}),t(J,{size:K.XXXS,color:a.v2.colors.silver[200],children:"Include pprof profiles"})]}),e(T,{$gap:8,children:[t(f,{label:"Metrics",value:s.includeMetrics,onChange:e=>c("includeMetrics",e)}),t(J,{size:K.XXXS,color:a.v2.colors.silver[200],children:"Include Prometheus metrics"})]}),e(T,{$gap:8,children:[t(f,{label:"Source Workloads",value:s.includeSourceWorkloads,onChange:e=>{c("includeSourceWorkloads",e),e&&c("sourceWorkloadNamespaces",[])}}),t(J,{size:K.XXXS,color:a.v2.colors.silver[200],children:"Include workload and pod manifests for instrumented sources"})]})]}),t(Je,{alignX:Ye.Left,alignY:Ue.Bottom,items:n.map(e=>({id:e.name,label:e.name,withCheckbox:!0})),selectedIds:s.sourceWorkloadNamespaces,setSelectedIds:e=>c("sourceWorkloadNamespaces",e),withMultiSelect:!0,withSearch:!0,fullWidth:!0,buttonProps:{label:(s.sourceWorkloadNamespaces.length?"Selected":"Select")+" Namespaces",variant:O.Secondary,disabled:s.includeSourceWorkloads,leftIcon:s.sourceWorkloadNamespaces.length?()=>t(pe,{label:s.sourceWorkloadNamespaces.length,status:G.Default}):void 0}}),t(T,{$justifyContent:"flex-end",children:t(A,{label:"Download Diagnose",rightIcon:jt,variant:O.Primary,onClick:async()=>{r(Date.now()),await l(s),r(null),d()},disabled:null!==i})})]})})},wa=({fetchDescribeOdigos:e})=>{const{platformType:l,version:n,tier:i}=Ae(),[r,s]=o(null);return a(()=>{e().then(({data:e})=>s(e?.describeOdigos||null))},[]),t(_e,{richTitle:{icon:qt,title:"General Information"},children:t(Xe,{cellsPerRow:2,items:[{id:Ze(),title:"Odigos Version",label:n},{id:Ze(),title:`${l.toUpperCase()} Version`,label:r?.kubernetesVersion?.value||"-"},{id:Ze(),title:"Installation Method",label:r?.installationMethod?.value||"-"},{id:Ze(),title:"Tier",label:i}]})})},Sa=({isOpen:l,onClose:a,token:n,updateToken:o,fetchDescribeOdigos:i,downloadDiagnose:r})=>e(q,{isOpen:l,header:{icon:qt,title:"System Overview",onClose:a},children:[i&&t(wa,{fetchDescribeOdigos:i}),o&&n&&t(ya,{token:n,updateToken:o}),r&&t(ka,{downloadDiagnose:r})]});var $a,xa;!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"}($a||($a={})),function(e){e.Id="id",e.Name="name",e.Type="type",e.Status="status",e.OdigosVersion="odigosVersion",e.ConnectedSince="connectedSince",e.LastActivity="lastActivity"}(xa||(xa={}));const Ia=[{key:xa.Name,label:"Name"},{key:xa.Type,label:"Type",textAlign:"right"},{key:xa.Status,label:"Status"},{key:xa.OdigosVersion,label:"Odigos Version"},{key:xa.ConnectedSince,label:"Connected Since"},{key:xa.LastActivity,label:"Last Activity"}],Na=(e,t)=>{const l=e.find(e=>e.key===xa.Id)?.rawValue;return t(l?.toString()||"")},Ta=({tableRowsMaxHeight:l,connections:n,getConnections:i,onClickConnection:r,deleteConnection:s,configMinSupportedVersion:d=0,getEffectiveConfig:p,applyConfigurations:m,snapshotMinSupportedVersion:g=0,getAllClusterSnapshots:b,persistSources:f,getDestinationCategories:C,getPotentialDestinations:y,createDestination:v,createAction:k,createInstrumentationRule:w})=>{const S=h(),{
|
|
128
|
+
`,ka=({downloadDiagnose:l})=>{const a=h(),{namespaces:n}=Ge(),[i,r]=o(null),{formData:s,handleFormChange:c,resetFormData:d}=Ce({includeProfiles:!0,includeMetrics:!0,includeSourceWorkloads:!1,sourceWorkloadNamespaces:[]});return t(_e,{richTitle:{icon:zt,title:"Diagnose"},children:i?t(va,{children:t(H,{title:"Creating file...",subTitle:"This may take a few moments. Do not refresh the page.",startedAt:i,withGradient:!0,withVisual:!0,visualIcon:jt})}):e(g,{$gap:24,children:[t(J,{size:K.XXS,color:a.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(T,{$gap:8,children:[t(f,{label:"Profiles",value:s.includeProfiles,onChange:e=>c("includeProfiles",e),tooltip:"Note: Adds 30s to diagnose download time to collect Profiles"}),t(J,{size:K.XXXS,color:a.v2.colors.silver[200],children:"Include pprof profiles"})]}),e(T,{$gap:8,children:[t(f,{label:"Metrics",value:s.includeMetrics,onChange:e=>c("includeMetrics",e)}),t(J,{size:K.XXXS,color:a.v2.colors.silver[200],children:"Include Prometheus metrics"})]}),e(T,{$gap:8,children:[t(f,{label:"Source Workloads",value:s.includeSourceWorkloads,onChange:e=>{c("includeSourceWorkloads",e),e&&c("sourceWorkloadNamespaces",[])}}),t(J,{size:K.XXXS,color:a.v2.colors.silver[200],children:"Include workload and pod manifests for instrumented sources"})]})]}),t(Je,{alignX:Ye.Left,alignY:Ue.Bottom,items:n.map(e=>({id:e.name,label:e.name,withCheckbox:!0})),selectedIds:s.sourceWorkloadNamespaces,setSelectedIds:e=>c("sourceWorkloadNamespaces",e),withMultiSelect:!0,withSearch:!0,fullWidth:!0,buttonProps:{label:(s.sourceWorkloadNamespaces.length?"Selected":"Select")+" Namespaces",variant:O.Secondary,disabled:s.includeSourceWorkloads,leftIcon:s.sourceWorkloadNamespaces.length?()=>t(pe,{label:s.sourceWorkloadNamespaces.length,status:G.Default}):void 0}}),t(T,{$justifyContent:"flex-end",children:t(A,{label:"Download Diagnose",rightIcon:jt,variant:O.Primary,onClick:async()=>{r(Date.now()),await l(s),r(null),d()},disabled:null!==i})})]})})},wa=({fetchDescribeOdigos:e})=>{const{platformType:l,version:n,tier:i}=Ae(),[r,s]=o(null);return a(()=>{e().then(({data:e})=>s(e?.describeOdigos||null))},[]),t(_e,{richTitle:{icon:qt,title:"General Information"},children:t(Xe,{cellsPerRow:2,items:[{id:Ze(),title:"Odigos Version",label:n},{id:Ze(),title:`${l.toUpperCase()} Version`,label:r?.kubernetesVersion?.value||"-"},{id:Ze(),title:"Installation Method",label:r?.installationMethod?.value||"-"},{id:Ze(),title:"Tier",label:i}]})})},Sa=({isOpen:l,onClose:a,token:n,updateToken:o,fetchDescribeOdigos:i,downloadDiagnose:r})=>e(q,{isOpen:l,header:{icon:qt,title:"System Overview",onClose:a},children:[i&&t(wa,{fetchDescribeOdigos:i}),o&&n&&t(ya,{token:n,updateToken:o}),r&&t(ka,{downloadDiagnose:r})]});var $a,xa;!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"}($a||($a={})),function(e){e.Id="id",e.Name="name",e.Type="type",e.Status="status",e.OdigosVersion="odigosVersion",e.ConnectedSince="connectedSince",e.LastActivity="lastActivity"}(xa||(xa={}));const Ia=[{key:xa.Name,label:"Name"},{key:xa.Type,label:"Type",textAlign:"right"},{key:xa.Status,label:"Status"},{key:xa.OdigosVersion,label:"Odigos Version"},{key:xa.ConnectedSince,label:"Connected Since"},{key:xa.LastActivity,label:"Last Activity"}],Na=(e,t)=>{const l=e.find(e=>e.key===xa.Id)?.rawValue;return t(l?.toString()||"")},Ta=({tableRowsMaxHeight:l,connections:n,getConnections:i,onClickConnection:r,deleteConnection:s,configMinSupportedVersion:d=0,getEffectiveConfig:p,applyConfigurations:m,snapshotMinSupportedVersion:g=0,getAllClusterSnapshots:b,persistSources:f,getDestinationCategories:C,getPotentialDestinations:y,createDestination:v,createAction:k,createInstrumentationRule:w})=>{const S=h(),{isVm:$}=Ae(),{formatTimeAgo:x}=Be(),[I,N]=o(!1),[T,A]=o(n||[]),V=u(async()=>{try{N(!0),A(await i()??[])}catch(e){}finally{N(!1)}},[]);a(()=>{T.length||V()},[]);const[F,R]=o(""),[M,P]=o(null),[L,E]=o([]),z=c(()=>M===$a.BulkConfig?d:M===$a.BulkSource?g:0,[M,d,g]),{supportedConnections:j,supportedConnectionIds:q}=c(()=>{const e=((e,t)=>e.filter(e=>{const l=e.status===G.Success,a=Qe(e.odigosVersion,t);return l&&a}))(T,z);return{supportedConnections:e,supportedConnectionIds:e.map(e=>e.id)}},[T.length,z]);a(()=>{if(!M||M===$a.Delete)return;const e=L.filter(e=>!q.includes(e));e.length&&E(t=>t.filter(t=>!e.includes(t)))},[M,L.length,q.length]);const H=c(()=>T.filter(e=>!F||e.name.toLowerCase().includes(F.toLowerCase())).map(e=>({cells:[{key:xa.Id,rawValue:e.id},{key:xa.Name,rawValue:e.name},{key:xa.Type,rawValue:e.type},{key:xa.Status,rawValue:e.status,component:()=>(e=>{const l=e===G.Success?"Connection live":"Connection lost",a=e===G.Success?Rt:Ft;return t(pe,{status:e,label:l,leftIcon:a})})(e.status)},{key:xa.OdigosVersion,rawValue:e.odigosVersion},{key:xa.ConnectedSince,rawValue:e.connectedAt?x(e.connectedAt):"-"},{key:xa.LastActivity,rawValue:e.lastSeenAt?x(e.lastSeenAt):"-"}],onClick:e.status!==G.Success||M?void 0:()=>r(e),isSelected:L.includes(e.id),onSelect:()=>E(t=>Array.from(new Set([...t,e.id]))),onDeselect:()=>E(t=>t.filter(t=>t!==e.id)),hideCheckbox:e.status!==G.Success||M===$a.BulkConfig&&!Qe(e.odigosVersion,d)||M===$a.BulkSource&&!Qe(e.odigosVersion,g)})),[T,L,F,M,d,g]),K=c(()=>{const e=(e,t)=>{E([e]),P(t)};return(e=>{const{connections:t,configMinSupportedVersion:l,snapshotMinSupportedVersion:a,onDelete:n,onAddSource:o,onAddDestination:i,onAddAction:r,onAddInstrumentationRule:s,onEditConfiguration:c}=e;return({cells:e})=>{if(!(e=>e.find(e=>e.key===xa.Status)?.rawValue===G.Success)(e))return[{id:Ze(),label:"Delete Connection",rightIcon:Ht,onClick:()=>Na(e,n)}];const d=Na(e,e=>{const a=t.find(t=>t.id===e);return!!a&&Qe(a.odigosVersion,l)}),u=Na(e,e=>{const l=t.find(t=>t.id===e);return!!l&&Qe(l.odigosVersion,a)}),p=[];return o&&p.push({id:Ze(),tooltip:u?ye.ADD_SOURCE:`To use this feature, please upgrade to Odigos v${a} or later.`,rightIcon:Ot,disabled:!u,onClick:()=>Na(e,o)}),i&&p.push({id:Ze(),tooltip:ye.ADD_DESTINATION,rightIcon:Nt,onClick:()=>Na(e,i)}),r&&p.push({id:Ze(),tooltip:ye.ADD_ACTION,rightIcon:It,onClick:()=>Na(e,r)}),s&&p.push({id:Ze(),tooltip:ye.ADD_INSTRUMENTATION_RULE,rightIcon:Dt,onClick:()=>Na(e,s)}),c&&p.push({id:Ze(),tooltip:d?"Edit Configuration":`To use this feature, please upgrade to Odigos v${l} or later.`,rightIcon:Vt,disabled:!d,onClick:()=>Na(e,c)}),p}})({connections:T,configMinSupportedVersion:d,snapshotMinSupportedVersion:g,onDelete:t=>e(t,$a.Delete),onAddSource:!$&&b&&f?t=>e(t,$a.BulkSource):void 0,onAddDestination:!$&&C&&y&&v?t=>e(t,$a.BulkDestination):void 0,onAddAction:!$&&k?t=>e(t,$a.BulkAction):void 0,onAddInstrumentationRule:!$&&w?t=>e(t,$a.BulkInstrumentationRule):void 0,onEditConfiguration:!$&&p&&m?t=>e(t,$a.BulkConfig):void 0})},[$,T,d,p,m,g,b,f,C,y,v,k,w]),B=c(()=>(e=>{const{onCancel:t,onAddSource:l,onAddDestination:a,onAddAction:n,onAddInstrumentationRule:o,onManageConfigurations:i}=e,r=[];l&&r.push({id:Ze(),type:et.Button,buttonProps:{variant:O.Primary,size:D.S,label:"Add Sources",rightIcon:Ot,onClick:l}});const s=[a?{id:$a.BulkDestination,label:ye.ADD_DESTINATION,icon:Nt}:null,n?{id:$a.BulkAction,label:ye.ADD_ACTION,icon:It}:null,o?{id:$a.BulkInstrumentationRule,label:ye.ADD_INSTRUMENTATION_RULE,icon:Dt}:null,i?{id:$a.BulkConfig,label:"Manage Configurations",icon:Vt}:null];return s.some(Boolean)&&r.push({id:Ze(),type:et.ButtonDropData,buttonProps:{variant:O.Secondary,size:D.S,label:"Bulk Operations",onClick:e=>{e===$a.BulkSource?l?.():e===$a.BulkDestination?a?.():e===$a.BulkAction?n?.():e===$a.BulkInstrumentationRule?o?.():e===$a.BulkConfig&&i?.()}},dropDataProps:{alignX:Ye.Left,items:s}}),r.push({id:Ze(),type:et.Button,buttonProps:{variant:O.Text,size:D.S,label:tt.CANCEL,onClick:t}}),r})({onCancel:()=>E([]),onAddSource:!$&&b&&f?()=>P($a.BulkSource):void 0,onAddDestination:!$&&C&&y&&v?()=>P($a.BulkDestination):void 0,onAddAction:!$&&k?()=>P($a.BulkAction):void 0,onAddInstrumentationRule:!$&&w?()=>P($a.BulkInstrumentationRule):void 0,onManageConfigurations:!$&&p&&m?()=>P($a.BulkConfig):void 0}),[$,p,m,b,f,C,y,v,k,w]);return t(lt,{children:e(_e,{richTitle:{icon:Bt,title:ye.CONNECTIONS,badge:{label:T.length.toString(),status:Ve.Unknown}},search:{placeholder:"Search by cluster name",value:F,onChange:e=>R(e),width:"300px"},actions:[{id:Ze(),type:et.Button,buttonProps:{variant:O.Secondary,size:D.S,leftIcon:Kt,onClick:V,disabled:I}}],children:[t(at,{variant:nt.Pretty,maxHeight:l,headerBackgroundColor:S.v2.colors.silver[1e3],isLoading:I,withCheckboxes:!0,columns:Ia,rows:H,rowActionsPushRightPosition:M?`calc(${yl} - 24px)`:void 0,getRowActions:K}),M===$a.BulkConfig&&p&&m&&t(ma,{onClose:()=>P(null),connections:j,selectedConnectionIds:L,setSelectedConnectionIds:E,getEffectiveConfig:p,onApply:m}),M===$a.BulkSource&&b&&f&&t(ha,{onClose:()=>P(null),selectedConnectionIds:L,setSelectedConnectionIds:E,getAllClusterSnapshots:b,persistSources:async e=>await(f?.(e))}),M===$a.BulkDestination&&C&&y&&v&&t(ta,{onClose:()=>P(null),selectedConnectionIds:L,setSelectedConnectionIds:E,getDestinationCategories:C,getPotentialDestinations:y,createDestination:e=>v(e,L)}),M===$a.BulkAction&&k&&t(Kl,{onClose:()=>P(null),selectedConnectionIds:L,setSelectedConnectionIds:E,createAction:e=>k(e,L)}),M===$a.BulkInstrumentationRule&&w&&t(aa,{onClose:()=>P(null),selectedConnectionIds:L,setSelectedConnectionIds:E,createInstrumentationRule:e=>w(e,L)}),t(ul,{target:"connection",isOpen:M===$a.Delete,onClose:()=>{E([]),P(null)},onApprove:async()=>{const e=L[0];e&&(await s(e),await V())}}),t(ot,{isOpen:!!L.length&&!M,richTitle:{icon:ft,title:"Selected Clusters",badge:{label:L.length}},actions:B})]})})},Aa=p.div`
|
|
129
129
|
display: flex;
|
|
130
130
|
align-items: center;
|
|
131
131
|
justify-content: space-between;
|