@odigos/ui-kit 0.0.270 → 0.0.271
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 +153 -194
- package/lib/chunks/{helpers-DsA2iT2O.js → helpers-pQ9OGZgF.js} +1 -1
- package/lib/chunks/index-BD_WHo50.js +257 -0
- package/lib/chunks/source-instrument-form-context-DB1VZT-P.js +5 -0
- package/lib/chunks/ui-components-BzgG1abD.js +1596 -0
- package/lib/components/no-data/index.d.ts +3 -1
- package/lib/components.js +1 -1
- package/lib/constants/strings/index.d.ts +3 -0
- package/lib/constants.js +1 -1
- package/lib/containers/_drawers/edit-action-drawer/helpers.d.ts +2 -3
- package/lib/containers/_drawers/edit-rule-drawer/helpers.d.ts +6 -5
- package/lib/containers.js +259 -225
- package/lib/contexts.js +1 -1
- package/lib/functions/build-catalog-fields-data-card/index.d.ts +17 -0
- package/lib/functions/index.d.ts +1 -0
- package/lib/functions.js +1 -1
- package/lib/hooks/useInstrumentationRuleFormData.d.ts +2 -2
- 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 +5 -1
- package/lib/types/instrumentation-rules/index.d.ts +15 -1
- package/lib/types.js +1 -1
- package/lib/visuals.js +1 -1
- package/package.json +14 -11
- package/lib/chunks/index-cmITOIRQ.js +0 -257
- package/lib/chunks/source-instrument-form-context-BGvST8mx.js +0 -5
- package/lib/chunks/ui-components-B5oUTIEY.js +0 -1596
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
import{jsx as e,Fragment as t,jsxs as r}from"react/jsx-runtime";import{Fragment as n,useMemo as o,useContext as a,createContext as s}from"react";import{T as i,t as u,b as l,P as c}from"./ui-components-
|
|
1
|
+
import{jsx as e,Fragment as t,jsxs as r}from"react/jsx-runtime";import{Fragment as n,useMemo as o,useContext as a,createContext as s}from"react";import{T as i,t as u,b as l,P as c}from"./ui-components-BzgG1abD.js";import p from"styled-components";var d;(e=>{e.Default="default",e.Action="action",e.Endpoint="endpoint",e.Scope="scope",e.Duration="duration"})(d||(d={}));const f=[d.Action,d.Endpoint,d.Scope,d.Duration],h=p.span`
|
|
2
2
|
font-family: ${({theme:e,$isMono:t})=>t?e.font_family.secondary:e.font_family.primary};
|
|
3
3
|
font-size: ${({theme:e})=>e.v2.text.size.xxs}px;
|
|
4
4
|
line-height: 20px;
|
|
@@ -0,0 +1,257 @@
|
|
|
1
|
+
import{jsx as e,jsxs as a,Fragment as t}from"react/jsx-runtime";import{D as l,c as r,F as n,d as i,e as o,f as s,g as c,h as d,B as u,i as p,j as h,k as g,W as m,l as v,m as b,V as f,n as y,o as x,p as k,q as C,r as S,C as T,s as $,u as w,I as M,v as A,w as O,x as L,y as P,z as E,N as I,E as R,S as V,G as N,H as z,U as D,J as X,K as H,L as _,M as q,O as B,Q as j,X as K,Y as U,Z as G,_ as F,$ as W,a0 as J,a1 as Y,a2 as Z,a3 as Q,a4 as ee,T as ae,a5 as te,a6 as le,a7 as re,a8 as ne,a9 as ie,aa as oe,ab as se,ac as ce,ad as de,ae as ue,af as pe,ag as he,b as ge,ah as me,ai as ve,aj as be,ak as fe,al as ye,am as xe,an as ke,ao as Ce,ap as Se,aq as Te,ar as $e,as as we,at as Me,au as Ae,av as Oe,aw as Le,ax as Pe,ay as Ee,az as Ie,aA as Re,aB as Ve,aC as Ne,aD as ze,aE as De,aF as Xe,aG as He,aH as _e,aI as qe,aJ as Be,aK as je,aL as Ke,aM as Ue,aN as Ge,aO as Fe,aP as We,aQ as Je,aR as Ye,aS as Ze,aT as Qe,aU as ea,aV as aa,aW as ta,aX as la,aY as ra,aZ as na,a_ as ia,a$ as oa,b0 as sa,b1 as ca,R as da,b2 as ua,b3 as pa,A as ha,b4 as ga,b5 as ma}from"./ui-components-BzgG1abD.js";import{VIcon as va,TrashIcon as ba,PlusIcon as fa,EditIcon as ya,OdigosLogoTextCentral as xa,OdigosLogoTextEnterprise as ka,OdigosLogoTextCommunity as Ca,OdigosLogoTextColoredCentral as Sa,OdigosLogoTextColoredEnterprise as Ta,OdigosLogoTextColoredCommunity as $a,ArrowLeftIcon as wa,ArrowRightIcon as Ma,VSquareIcon as Aa,CopyIcon as Oa,YamlIcon as La}from"../icons.js";import Pa,{useMemo as Ea,useRef as Ia,useCallback as Ra,useState as Va,useEffect as Na,Fragment as za,forwardRef as Da,useImperativeHandle as Xa}from"react";import Ha,{css as _a,useTheme as qa}from"styled-components";import{i as Ba,m as ja,u as Ka,n as Ua,a as Ga,C as Fa,b as Wa,d as Ja,e as Ya,f as Za,g as Qa,h as et,j as at,k as tt}from"./helpers-pQ9OGZgF.js";const lt=/^[a-zA-Z]$/,rt=new Set(["*","+","?"]),nt=new Set(["^","$"]),it={group:"rgba(102, 242, 102, 0.5)","anchor-quantifier":"rgba(102, 191, 255, 0.5)","class-bracket":"rgba(255, 153, 153, 0.5)","class-content":"rgba(178, 1, 1, 0.5)",alternation:"rgba(255, 153, 153, 0.5)",literal:"transparent"},ot=Ha.div`
|
|
2
|
+
padding: 8px 16px;
|
|
3
|
+
border-radius: 6px;
|
|
4
|
+
border: 1px solid ${({theme:e})=>e.v2.colors.silver[500]};
|
|
5
|
+
background: ${({theme:e})=>e.v2.colors.black[500]};
|
|
6
|
+
font-family: ${({theme:e})=>e.font_family.code};
|
|
7
|
+
font-size: 12px;
|
|
8
|
+
line-height: 20px;
|
|
9
|
+
color: ${({theme:e})=>e.v2.colors.white[500]};
|
|
10
|
+
word-break: break-all;
|
|
11
|
+
white-space: pre-wrap;
|
|
12
|
+
user-select: text;
|
|
13
|
+
|
|
14
|
+
/* Wraps the background tightly to each visual fragment when a colored
|
|
15
|
+
token gets split across two visual lines. Without this the highlight
|
|
16
|
+
stretches all the way to the right edge of the container. */
|
|
17
|
+
& > span {
|
|
18
|
+
box-decoration-break: clone;
|
|
19
|
+
-webkit-box-decoration-break: clone;
|
|
20
|
+
}
|
|
21
|
+
`,st=Ha.span`
|
|
22
|
+
background: ${({$kind:e})=>it[e]};
|
|
23
|
+
`,ct=({pattern:a,"data-id":t})=>{const l=Ea(()=>(e=>{const a=[];let t=0,l=!1;const r=(e,t)=>{const l=a[a.length-1];l&&l.kind===t?l.text+=e:a.push({text:e,kind:t})};for(;t<e.length;){const a=e[t];if(l){if("]"===a){r("]","class-bracket"),l=!1,t++;continue}if("\\"===a&&t+1<e.length){r(e.slice(t,t+2),"class-content"),t+=2;continue}r(a,"class-content"),t++}else{if("("===a&&"?"===e[t+1]){let a=2;const l=e[t+2];if(":"===l||"="===l||"!"===l)a=3;else if("<"===l){const l=e[t+3];if("="===l||"!"===l)a=4;else{const l=e.indexOf(">",t+2);-1!==l&&(a=l-t+1)}}r(e.slice(t,t+a),"group"),t+=a;continue}if("("!==a&&")"!==a)if("["!==a)if(rt.has(a)||nt.has(a))r(a,"anchor-quantifier"),t++;else{if("{"===a){const a=e.indexOf("}",t);if(a>t&&/^\{\d+,?\d*\}$/.test(e.slice(t,a+1))){r(e.slice(t,a+1),"anchor-quantifier"),t=a+1;continue}}if("\\"===a&&t+1<e.length){const a=e[t+1];lt.test(a)?r(e.slice(t,t+2),"anchor-quantifier"):r(e.slice(t,t+2),"literal"),t+=2;continue}"|"!==a?(r(a,"literal"),t++):(r("|","alternation"),t++)}else"^"===e[t+1]?(r("[^","class-bracket"),t+=2):(r("[","class-bracket"),t++),l=!0;else r(a,"group"),t++}}return a})(a),[a]);return e(ot,a?{"data-id":t,children:l.map((a,t)=>e(st,{$kind:a.kind,children:a.text},t))}:{"data-id":t,children:" "})},dt="rgba(102, 191, 255, 0.5)",ut=_a`
|
|
24
|
+
font-family: ${({theme:e})=>e.font_family.code};
|
|
25
|
+
font-size: 12px;
|
|
26
|
+
line-height: 20px;
|
|
27
|
+
letter-spacing: 0;
|
|
28
|
+
white-space: pre-wrap;
|
|
29
|
+
word-wrap: break-word;
|
|
30
|
+
overflow-wrap: break-word;
|
|
31
|
+
/* tab-size keeps tabs visually consistent across the two layers — some
|
|
32
|
+
browsers default to 8 on a textarea but 4 on a div. */
|
|
33
|
+
-moz-tab-size: 4;
|
|
34
|
+
tab-size: 4;
|
|
35
|
+
margin: 0;
|
|
36
|
+
`,pt=Ha.div`
|
|
37
|
+
position: relative;
|
|
38
|
+
width: 100%;
|
|
39
|
+
min-height: ${({$minHeight:e})=>e}px;
|
|
40
|
+
border-radius: 6px;
|
|
41
|
+
border: 1px solid ${({theme:e})=>e.v2.colors.silver[500]};
|
|
42
|
+
background: ${({theme:e})=>e.v2.colors.black[500]};
|
|
43
|
+
|
|
44
|
+
&:hover,
|
|
45
|
+
&:focus-within {
|
|
46
|
+
border-color: ${({theme:e})=>e.v2.colors.silver[300]};
|
|
47
|
+
}
|
|
48
|
+
`,ht=Ha.div`
|
|
49
|
+
${ut}
|
|
50
|
+
position: absolute;
|
|
51
|
+
inset: 0;
|
|
52
|
+
padding: 12px;
|
|
53
|
+
pointer-events: none;
|
|
54
|
+
color: transparent;
|
|
55
|
+
overflow: hidden;
|
|
56
|
+
|
|
57
|
+
/* Mandatory for backgrounds that wrap across visual lines. */
|
|
58
|
+
& > span {
|
|
59
|
+
box-decoration-break: clone;
|
|
60
|
+
-webkit-box-decoration-break: clone;
|
|
61
|
+
}
|
|
62
|
+
`,gt=Ha.textarea`
|
|
63
|
+
${ut}
|
|
64
|
+
position: relative;
|
|
65
|
+
z-index: 1;
|
|
66
|
+
display: block;
|
|
67
|
+
width: 100%;
|
|
68
|
+
min-height: ${({$minHeight:e})=>e}px;
|
|
69
|
+
padding: 12px;
|
|
70
|
+
border: 0;
|
|
71
|
+
background: transparent;
|
|
72
|
+
outline: none;
|
|
73
|
+
resize: vertical;
|
|
74
|
+
color: ${({theme:e})=>e.v2.colors.white[500]};
|
|
75
|
+
caret-color: ${({theme:e})=>e.v2.colors.white[500]};
|
|
76
|
+
box-sizing: border-box;
|
|
77
|
+
|
|
78
|
+
&::placeholder {
|
|
79
|
+
color: ${({theme:e})=>e.v2.colors.silver[600]};
|
|
80
|
+
}
|
|
81
|
+
`,mt=e=>({before:e,matchPre:"",capture:"",matchPost:"",after:""}),vt=({regex:t,value:l,onChange:r,minHeight:n=240,...i})=>{const o=Ia(null),s=Ia(null),c=Ea(()=>((e,a)=>{if(!e||!a)return mt(a);let t;try{t=new RegExp(e)}catch{return mt(a)}const l=t.exec(a);if(!l)return mt(a);const r=l.index,n=l.index+l[0].length;if(l.length<2||null==l[1])return{before:a.slice(0,r),matchPre:"",capture:a.slice(r,n),matchPost:"",after:a.slice(n)};const i=l[0].indexOf(l[1]),o=i>=0?r+i:r,s=o+l[1].length;return{before:a.slice(0,r),matchPre:a.slice(r,o),capture:a.slice(o,s),matchPost:a.slice(s,n),after:a.slice(n)}})(t,l),[t,l]),d=Ra(()=>{o.current&&s.current&&(o.current.scrollTop=s.current.scrollTop,o.current.scrollLeft=s.current.scrollLeft)},[]);return a(pt,{$minHeight:n,children:[a(ht,{ref:o,"aria-hidden":!0,children:[c.before,e("span",{style:{background:dt},children:c.matchPre}),e("span",{style:{background:"rgba(102, 242, 102, 0.5)"},children:c.capture}),e("span",{style:{background:dt},children:c.matchPost}),c.after,l.endsWith("\n")?" ":""]}),e(gt,{ref:s,$minHeight:n,value:l,onChange:e=>r(e.target.value),onScroll:d,spellCheck:!1,...i})]})},bt=Ha.div`
|
|
82
|
+
flex: 1;
|
|
83
|
+
min-height: 0;
|
|
84
|
+
overflow-y: auto;
|
|
85
|
+
`,ft=Ha.div`
|
|
86
|
+
background: ${({theme:e})=>e.v2.colors.silver[900]};
|
|
87
|
+
border-radius: 8px;
|
|
88
|
+
padding: 8px;
|
|
89
|
+
display: flex;
|
|
90
|
+
flex-direction: column;
|
|
91
|
+
gap: 12px;
|
|
92
|
+
`,yt=Ha.div`
|
|
93
|
+
padding: 8px 16px;
|
|
94
|
+
border-radius: 8px;
|
|
95
|
+
background: ${({theme:e})=>e.v2.colors.silver[800]};
|
|
96
|
+
font-family: ${({theme:e})=>e.font_family.code};
|
|
97
|
+
font-size: 12px;
|
|
98
|
+
line-height: 20px;
|
|
99
|
+
color: ${({theme:e,$tone:a})=>"error"===a?e.v2.colors.red[500]:"match"===a?e.v2.colors.white[500]:e.v2.colors.silver[200]};
|
|
100
|
+
word-break: break-all;
|
|
101
|
+
white-space: pre-wrap;
|
|
102
|
+
user-select: text;
|
|
103
|
+
`,xt=({isOpen:t,regex:m,onClose:v,initialTestString:b=""})=>{const[f,y]=Va(b),x=Ea(()=>((e,a)=>{if(!e)return{ok:!0,isMatch:!1,message:r.RESULT_EMPTY_REGEX};if(!a)return{ok:!0,isMatch:!1,message:r.RESULT_EMPTY_INPUT};let t;try{t=new RegExp(e)}catch(e){return{ok:!1,message:e instanceof Error?e.message:r.RESULT_INVALID_REGEX_FALLBACK}}const l=t.exec(a);return l?{ok:!0,isMatch:!0,message:l.length>1?l[1]:l[0]}:{ok:!0,isMatch:!1,message:r.RESULT_NO_MATCH}})(m,f),[m,f]),k=x.ok?x.isMatch?"match":"neutral":"error";return e(l,{isOpen:t,header:{title:r.TITLE,onClose:()=>{y(""),v()}},children:e(bt,{children:a(ft,{children:[a(n,{$gap:6,children:[e(i,{label:r.REGEX_LABEL}),e(ct,{pattern:m,"data-id":"regex-tester-regex"}),!m&&e(o,{size:c.XXS,color:s.Secondary,children:r.REGEX_EMPTY_HINT})]}),a(n,{$gap:6,children:[a(d,{$width:"100%",$justifyContent:"space-between",$alignItems:"center",children:[e(i,{label:r.TEST_STRING_LABEL}),e(u,{"data-id":"regex-tester-unescape",label:r.UNESCAPE_LABEL,tooltip:r.UNESCAPE_TOOLTIP,variant:h.Secondary,size:p.S,onClick:()=>y(e=>(e=>{let a="";for(let t=0;t<e.length;t++){if("\\"===e[t]&&t+1<e.length){const l=e[t+1],r="n"===l?"\n":"t"===l?"\t":"r"===l?"\r":'"'===l?'"':"'"===l?"'":"\\"===l?"\\":null;if(null!=r){a+=r,t++;continue}}a+=e[t]}return a})(e)),disabled:(C=f,!/\\["'\\nrt]/.test(C))})]}),e(vt,{name:"regex-tester-test-string","data-id":"regex-tester-test-string",placeholder:r.TEST_STRING_PLACEHOLDER,regex:m,value:f,onChange:y,minHeight:240}),e(g,{helpMessage:r.TEST_STRING_HELP})]}),a(n,{$gap:8,children:[e(i,{label:r.RESULT_LABEL}),e(yt,{$tone:k,"data-id":"regex-tester-result",children:x.message}),x.ok&&x.isMatch&&e(o,{size:c.XXS,color:s.Secondary,children:r.RESULT_CAPTURE_HINT})]})]})})});var C},kt=({isOpen:a,onClose:t,onDeny:l,onApprove:r})=>e(m,{title:"Discard changes?",description:"You have unsaved changes.\nIf you cancel now, your changes won't be saved.",isOpen:a,onClose:t,denyButton:{label:"Keep editing",variant:h.Secondary,onClick:()=>{l?.(),t()}},approveButton:{label:"Discard changes",variant:h.Primary,onClick:()=>{r?.(),t()}}}),Ct=({isOpen:a,onClose:t,onViewConnector:l})=>e(m,{isOpen:a,onClose:t,visual:()=>e(f,{scale:1.2,icon:va}),title:b.CLOUD_CONNECTOR_CREATED_MODAL_TITLE,description:b.CLOUD_CONNECTOR_CREATED_MODAL_DESC,denyButton:{label:v.STAY_ON_CONNECTIONS,variant:h.Secondary,onClick:t},approveButton:{label:v.GO_TO_CONNECTOR_OVERVIEW,variant:h.Primary,onClick:l??t}}),St=({isOpen:a,onClose:t,onDeny:l,onApprove:r,action:n="delete",target:i,description:o,overrideApproveButtonLabel:s,overrideDenyButtonLabel:c})=>{const d=n.charAt(0).toUpperCase()+n.substring(1),u=i?.endsWith("s")?"these":"this";return e(m,{title:`${d}${i?` ${i}`:""}?`,description:o??`Are you sure you want to ${n}${i?` ${u} ${i}`:""}?`,isOpen:a,onClose:t,denyButton:{label:c??"Go back",variant:h.Secondary,onClick:()=>{l?.(),t()}},approveButton:{label:s??d,variant:h.Primary,onClick:()=>{r?.(),t()}}})},Tt=({componentType:a,inputType:t,name:l,label:r,tooltip:n,badge:i,placeholder:o,required:s,disabled:c,value:d,setValue:u,errorMessage:p,warnMessage:h,helpMessage:g,dropdownOptions:m,dropdownNoSearch:v,dropdownNoCheckbox:b,timeUnits:f,timeDefaultUnit:E,toggleSize:I=C.L,keyLabel:R,valueLabel:V})=>{switch(a){case y.Input:return e(L,{name:l,type:t,label:r,tooltip:n,badge:i,placeholder:o,required:s,disabled:c,value:d??"",onChange:e=>{const a=e.target.value;u(t===P.Number?""===a?null:Number(a):a)},errorMessage:p,warnMessage:h,helpMessage:g},l);case y.MultiInput:return e(O,{name:l,label:r,tooltip:n,badge:i,placeholder:o,required:s,disabled:c,values:Array.isArray(d)?d:A(d,[]),setValues:e=>u(e),errorMessage:p,warnMessage:h,helpMessage:g,plain:!0},l);case y.KeyValuePair:return e(M,{name:l,label:r,tooltip:n,badge:i,required:s,disabled:c,limitFieldsPerRow:2,columns:[{keyName:"key",label:R||"Key",placeholder:R||"Key"},{keyName:"value",label:V||"Value",placeholder:V||"Value"}],values:Array.isArray(d)?d:A(d,[]),setValues:e=>u(e),errorMessage:p,warnMessage:h,helpMessage:g},l);case y.TextArea:return e(w,{name:l,label:r,tooltip:n,badge:i,required:s,disabled:c,placeholder:o,value:d??"",onChange:e=>u(e.target.value),errorMessage:p,warnMessage:h,helpMessage:g},l);case y.Dropdown:return e($,{name:l,label:r,tooltip:n,badge:i,placeholder:o,required:s,disabled:c,withSearch:!v,options:m?.map(e=>({id:e.id||"",label:e.label||"",withCheckbox:!b}))||[],values:d?[String(d)]:[],setValues:e=>u(e[0]),errorMessage:p,warnMessage:h,helpMessage:g},l);case y.Checkbox:return e(T,{name:l,label:r,tooltip:n,badge:i,value:!0===d||"true"===d,onChange:e=>u(e),disabled:c,errorMessage:p,warnMessage:h,helpMessage:g},l);case y.Time:return e(S,{name:l,label:r,tooltip:n,badge:i,placeholder:o,required:s,disabled:c,value:d??"",setValue:e=>u(e),units:f,defaultUnit:E,errorMessage:p,warnMessage:h,helpMessage:g},l);case y.Toggle:return e(x,{name:l,size:I,labelAlign:k.Right,label:r,tooltip:n,badge:i,value:!0===d||"true"===d,onChange:e=>u(e),disabled:c,errorMessage:p,warnMessage:h,helpMessage:g},l);default:return null}},$t=Ha.div`
|
|
104
|
+
display: flex;
|
|
105
|
+
flex-wrap: wrap;
|
|
106
|
+
gap: 8px;
|
|
107
|
+
`,wt=Ha.div`
|
|
108
|
+
display: flex;
|
|
109
|
+
align-items: center;
|
|
110
|
+
gap: 8px;
|
|
111
|
+
padding: 8px 12px;
|
|
112
|
+
border-radius: 8px;
|
|
113
|
+
cursor: pointer;
|
|
114
|
+
background: ${({theme:e,$selected:a})=>a?e.v2.colors.silver[700]:e.v2.colors.silver[800]};
|
|
115
|
+
border: 1px solid ${({theme:e,$selected:a})=>a?e.v2.colors.silver[500]:e.v2.colors.silver[750]};
|
|
116
|
+
|
|
117
|
+
&:hover {
|
|
118
|
+
background: ${({theme:e})=>e.v2.colors.silver[700]};
|
|
119
|
+
}
|
|
120
|
+
`,Mt=Ha.div`
|
|
121
|
+
display: flex;
|
|
122
|
+
width: 32px;
|
|
123
|
+
height: 32px;
|
|
124
|
+
justify-content: center;
|
|
125
|
+
align-items: center;
|
|
126
|
+
flex-shrink: 0;
|
|
127
|
+
`,At=Ha.div`
|
|
128
|
+
display: flex;
|
|
129
|
+
flex-direction: column;
|
|
130
|
+
gap: 12px;
|
|
131
|
+
`,Ot=Ha.div`
|
|
132
|
+
display: flex;
|
|
133
|
+
flex-wrap: wrap;
|
|
134
|
+
gap: 6px;
|
|
135
|
+
`,Lt=Ha.div`
|
|
136
|
+
display: flex;
|
|
137
|
+
align-items: center;
|
|
138
|
+
gap: 8px;
|
|
139
|
+
&::before,
|
|
140
|
+
&::after {
|
|
141
|
+
content: '';
|
|
142
|
+
flex: 1;
|
|
143
|
+
height: 1px;
|
|
144
|
+
background-color: ${({theme:e})=>e.v2.colors.silver[700]};
|
|
145
|
+
}
|
|
146
|
+
`,Pt=Ha.div`
|
|
147
|
+
padding: 2px 10px;
|
|
148
|
+
border-radius: 999px;
|
|
149
|
+
background-color: ${({theme:e})=>e.v2.colors.silver[700]};
|
|
150
|
+
border: 1px solid ${({theme:e})=>e.v2.colors.silver[600]};
|
|
151
|
+
`,Et={[q.JavaScript]:"Node.js",[q.DotNet]:".NET",[q.Php]:"PHP",[q.Java]:"Java",[q.Go]:"Go",[q.Python]:"Python",[q.Ruby]:"Ruby",[q.Rust]:"Rust"},It=[q.Python,q.Java,q.JavaScript,q.DotNet,q.Php,q.Ruby,q.Go],Rt=[{value:"all",label:"Entire Cluster"},{value:"source",label:"Specific Source"},{value:"namespace",label:"Specific Namespace"},{value:"language",label:"Specific Programming Language"}];function Vt(e){return Et[e]||e.charAt(0).toUpperCase()+e.slice(1)}function Nt(e){return null!=e?`${e}. ${Z}`:Z}const zt=({readOnly:a,...t})=>e(a?Ht:qt,{...t}),Dt=({title:t,count:l,children:r})=>a(n,{$gap:6,children:[a(d,{$gap:8,$alignItems:"center",children:[e(o,{size:c.XS,color:s.Primary,nowrap:!0,children:t}),l>1&&e(o,{size:c.XXS,color:s.Secondary,nowrap:!0,children:`(${J})`})]}),e(Ot,{children:r})]}),Xt=()=>{const a=qa();return e(Lt,{children:e(Pt,{children:e(o,{size:c.XXS,color:a.v2.colors.white[500],nowrap:!0,children:Y})})})},Ht=({scopes:t,titleNumber:l})=>{const r=Nt(l);if(Ba(t))return e(E,{bgTint:"900",richTitle:{title:r},withCollapse:!0,collapseIsDefaultOpen:!0,children:e(I,{status:V.Default,message:R,fullWidth:!0})});const n=t.sources??[],i=t.namespaces??[],o=t.languages??[],s=[];return n.length&&s.push({kind:"sources",node:e(Dt,{title:N,count:n.length,children:n.map((a,t)=>{const l=[a.namespace,a.kind,a.name].filter(Boolean),r=l.length?l.join(" / "):D;return e(z,{label:r},`src-${t}-${r}`)})})}),i.length&&s.push({kind:"namespaces",node:e(Dt,{title:X,count:i.length,children:i.map((a,t)=>e(z,{label:a},`ns-${t}-${a}`))})}),o.length&&s.push({kind:"languages",node:e(Dt,{title:H,count:o.length,children:o.map((a,t)=>{const l=B(a);return e(z,{label:Vt(a),leftIcon:l},`lang-${t}-${a}`)})})}),e(E,{bgTint:"900",richTitle:{title:r,subTitle:s.length>1?_:void 0},withCollapse:!0,collapseIsDefaultOpen:!0,children:e(E,{bgTint:"800",children:e(At,{children:s.map((t,l)=>a(Pa.Fragment,{children:[l>0&&e(Xt,{}),t.node]},t.kind))})})})},_t=e=>e.sources.length>0?"source":e.namespaces.length>0?"namespace":e.languages.length>0?"language":"all",qt=({scopes:t,onChange:l,sourceOptions:r=[],namespaceOptions:i=[],supportedLanguages:d,titleNumber:u,dataIdPrefix:p="source-scope",slim:h})=>{const g=t??ja(),[m,v]=Va(()=>_t(g)),{sources:b,namespaces:f,languages:y}=g,x=b.length>0||f.length>0||y.length>0;Na(()=>{x&&"all"===m&&v(_t(g))},[x,m]);const k=Ea(()=>Rt.map(e=>"language"===e.value&&0===d?.length?null:{...e,disabled:"all"===e.value&&x}).filter(Boolean),[x]),C=Ea(()=>b.map(e=>`${e.namespace}/${e.kind}/${e.name}`),[b]),S=Ea(()=>[...f],[f]),$=Ea(()=>new Set(y),[y]),w=Ra(e=>{v(e)},[]),M=Ra(e=>{const a=e.map(e=>(e=>{const a=e.split("/");return 3!==a.length?null:{namespace:a[0],kind:a[1],name:a[2]}})(e)).filter(e=>null!=e).map(e=>({namespace:e.namespace,kind:e.kind,name:e.name}));l({...g,sources:a})},[g,l]),A=Ra(e=>{l({...g,namespaces:e})},[g,l]),O=Ra(e=>{const a=g.languages,t=a.includes(e)?a.filter(a=>a!==e):[...a,e];l({...g,languages:t})},[g,l]),L=!x&&"all"===m,P=(d||It).map(e=>({id:e,label:Et[e]??e.charAt(0).toUpperCase()+e.slice(1),Icon:B(e)}));return a(j,{richTitle:h?{title:Nt(u),titleSize:c.XS,titleColor:s.Secondary,tooltip:K}:{title:Nt(u),subTitle:K,subTitleWrap:!0},backgroundColor:h?"transparent":void 0,padding:h?0:void 0,children:[e(I,L?{status:V.Default,message:R,fullWidth:!0,smallIcon:!0}:{status:V.Info,message:_,fullWidth:!0,smallIcon:!0}),e(n,{$alignItems:"flex-start",children:e(U,{options:k,selected:m,setSelected:w})}),"source"===m&&e(G,{multiple:!0,"data-id":`${p}-autocomplete-source`,options:r,value:C,onSelect:M,placeholder:F}),"namespace"===m&&e(G,{multiple:!0,"data-id":`${p}-autocomplete-namespace`,options:i,value:S,onSelect:A,placeholder:"Search namespace"}),"language"===m&&P.length>0&&e($t,{children:P.map(({id:t,label:l,Icon:r})=>{const n=$.has(t);return a(wt,{$selected:n,onClick:()=>O(t),children:[e(T,{name:`${p}-lang-${t}`,size:W.S,value:n,onChange:()=>O(t)}),e(Mt,{children:e(r,{size:20})}),e(o,{size:c.XS,nowrap:!0,children:l})]},t)})})]})},Bt=e=>{if(null!=e){if(!Array.isArray(e)&&"object"==typeof e)return Object.entries(e).map(([e,a])=>({id:e,label:null==a?e:String(a)}));if(Array.isArray(e))return e.map(e=>"string"==typeof e?{id:e,label:e}:e)}},jt=e=>{if(!Array.isArray(e)||e.length<3)return;const[a,t,l]=e;return e=>{const r=null==e?.[a]?"":String(e[a]);switch(t){case"=":case"==":case"===":return r===l;case"!=":case"!==":return r!==l;default:return!0}}},Kt=e=>{if(Array.isArray(e))return e.map(e=>{const a=e;return{keyName:String(a.keyName??a.name??""),label:a.label??a.displayName,tooltip:a.tooltip,placeholder:a.placeholder,helpMessage:a.helpMessage,componentType:a.componentType,options:Bt(a.options??a.values),fullRow:a.fullRow,defaultValue:a.defaultValue,withRegexTester:a.withRegexTester,separator:a.separator,copyByColumn:a.copyByColumn,renderCondition:jt(a.renderCondition)}})},Ut=e=>{if(Array.isArray(e))return e.map(e=>{if("string"==typeof e)return{id:e,label:e};const a=e;return{id:String(a.id??a.keyName??a.name??""),label:a.label??a.displayName??String(a.id??""),tooltip:a.tooltip,fields:Array.isArray(a.fields)?a.fields.map(Gt):void 0}})},Gt=e=>{const a="string"==typeof e.componentProperties?A(e.componentProperties,{}):e.componentProps||{};return{name:e.name,componentType:e.componentType,inputType:e.inputType??a.inputType??a.type,title:e.displayName,tooltip:a.tooltip,placeholder:a.placeholder,helpMessage:a.helpMessage,required:a.required,initialValue:e.initialValue,renderCondition:e.renderCondition,options:Bt(a.options??a.values),itemWrapperKey:a.itemWrapperKey,columns:Kt(a.columns),limitFieldsPerRow:a.limitFieldsPerRow,variant:a.variant,wrapKey:a.wrapKey,checkboxOptions:Ut(a.options??a.values),checkedValue:a.checkedValue??"true",valueMode:a.valueMode??"object",fields:Array.isArray(a.fields)?a.fields.map(Gt):void 0,addLabel:a.addLabel,itemLabel:a.itemLabel,keyLabel:a.titleKey??a.keyLabel,valueLabel:a.titleValue??a.valueLabel,persistAs:a.persistAs}},Ft=e=>{const a=e.initialValue;if(void 0!==a&&""!==a)return e.componentType===y.CheckboxList?"array"===e.valueMode?A(a,[]):A(a,{}):e.componentType!==y.MultiInput&&e.componentType!==y.MultiTabledInput||!e.wrapKey?e.componentType===y.MultiInput||e.componentType===y.MultiTabledInput?A(a,[]):e.componentType===y.SourceScopes?"null"===a||"{}"===a?ja():Ua(A(a,null)):e.componentType===y.Toggle||e.componentType===y.Checkbox?"true"===a:a:{[e.wrapKey]:A(a,[])}},Wt=e=>"object"==typeof e&&null!==e&&!Array.isArray(e),Jt=e=>Array.isArray(e)?e:[],Yt=e=>{const a={};return e.forEach(e=>{a[String(e.key??"")]=String(e.value??"")}),a},Zt=e=>Wt(e)?Object.entries(e).map(([e,a])=>({key:e,value:String(a??"")})):[],Qt=({field:a,value:t,setValue:l,errorMessage:r,disabled:n})=>{const[i,o]=Va(()=>Zt(t));return Na(()=>{const e=Wt(t)?t:{};((e,a)=>{const t=Object.keys(e),l=Object.keys(a);return t.length===l.length&&t.every(t=>Object.prototype.hasOwnProperty.call(a,t)&&a[t]===e[t])})(Yt(i),e)||o(Zt(t))},[t]),e(M,{name:a.name,label:a.title,tooltip:a.tooltip,helpMessage:a.helpMessage,required:a.required,disabled:n,limitFieldsPerRow:2,columns:[{keyName:"key",label:a.keyLabel||"Key",placeholder:a.keyLabel||"Key"},{keyName:"value",label:a.valueLabel||"Value",placeholder:a.valueLabel||"Value"}],values:i,setValues:e=>{o(e),l(Yt(e))},errorMessage:r})},el=({field:l,value:r,setValue:d,errorMessage:u,disabled:p,keyValuePersistAs:h,sourceOptions:m,namespaceOptions:v})=>{const{name:b,componentType:f,inputType:x,title:k,tooltip:C,placeholder:S,helpMessage:$,required:w,initialValue:A,options:L,itemWrapperKey:P,columns:E,limitFieldsPerRow:I,variant:R,wrapKey:V,checkboxOptions:N}=l,[z,D]=Va({open:!1,value:""});if(f===y.SourceScopes)return e(zt,{scopes:Ua(r),onChange:e=>d(e),sourceOptions:m,namespaceOptions:v,dataIdPrefix:`dynamic-field-${b}`,slim:!0});if(f===y.CheckboxList&&"array"===l.valueMode){const t=Jt(r),l=(e,a)=>d(a?[...t.filter(a=>a!==e),e]:t.filter(a=>a!==e));return a(n,{$gap:12,children:[k&&e(i,{label:k,tooltip:C,required:w}),e(n,{$gap:8,children:(N||[]).map(a=>{const r=e(T,{name:a.id,label:a.label,value:t.includes(a.id),disabled:p,onChange:e=>l(a.id,e)},a.id);return a.tooltip?e(ae,{text:a.tooltip,withIcon:!0,children:r},a.id):r})}),e(g,{errorMessage:u,helpMessage:$})]})}if(f===y.CheckboxList){const t=Wt(r)?r:{},i=(e=>"emptyObject"!==e.checkedValue||{})(l),m=e=>"emptyObject"===l.checkedValue?Wt(e):!!e;return a(n,{$gap:12,children:[k&&e(o,{size:c.XS,color:s.Secondary,nowrap:!0,children:k}),e(n,{$gap:12,children:(N||[]).map(l=>{const r=t[l.id],o=m(r),s=Wt(r)?r:{},c=e(T,{label:l.label,value:o,disabled:p,onChange:e=>d({...t,[l.id]:e?Wt(r)?r:i:null})}),u=l.tooltip?e(ae,{text:l.tooltip,withIcon:!0,children:c}):c,g=o&&l.fields?.length?e(n,{$gap:12,$padding:"0 0 0 24px",children:l.fields.map(a=>e(el,{field:a,value:s[a.name],setValue:e=>d({...t,[l.id]:{...s,[a.name]:e}}),disabled:p,keyValuePersistAs:h},`${b}-${l.id}-${a.name}`))}):null;return a(n,{$gap:12,children:[u,g]},l.id)})}),e(g,{errorMessage:u,helpMessage:$})]})}if(f===y.MultiTabledInput){const l=Jt(V?r?.[V]:r),n=e=>d(V?{...Wt(r)?r:{},[V]:e}:e),i=(E||[]).some(e=>e.withRegexTester);return a(t,{children:[e("cards"===R?te:M,{name:b,label:k,tooltip:C,helpMessage:$,required:w,disabled:p,columns:E||[],limitFieldsPerRow:I,values:l,setValues:n,errorMessage:u,onTestRegex:i?e=>D({open:!0,value:e}):void 0}),i&&e(xt,{isOpen:z.open,regex:z.value,onClose:()=>D({open:!1,value:""})})]})}if(f===y.MultiInput&&V){const a=Jt(r?.[V]);return e(O,{name:b,label:k,tooltip:C,helpMessage:$,required:w,disabled:p,placeholder:S,values:a,setValues:e=>d({...Wt(r)?r:{},[V]:e}),errorMessage:u})}if(f===y.MultiInput&&P){const a=Jt(r).map(e=>String(e?.[P]??""));return e(O,{name:b,label:k,tooltip:C,helpMessage:$,required:w,disabled:p,placeholder:S,values:a,setValues:e=>d(e.map(e=>({[P]:e}))),errorMessage:u})}return f===y.KeyValuePair?"map"===(l.persistAs??h)?e(Qt,{field:l,value:r,setValue:d,errorMessage:u,disabled:p}):e(Tt,{componentType:f,name:b,label:k,tooltip:C,helpMessage:$,disabled:p,required:w,errorMessage:u,keyLabel:l.keyLabel,valueLabel:l.valueLabel,value:r??[],setValue:d}):e(Tt,{componentType:f,inputType:x,name:b,label:k,tooltip:C,helpMessage:$,disabled:p,required:w,placeholder:S,errorMessage:u,dropdownOptions:L,value:(null==r?A:r)??"",setValue:d})},al=({field:l,value:r,setValue:o,disabled:s,keyValuePersistAs:c,sourceOptions:g,namespaceOptions:m})=>{const v=qa(),b=Jt(r),f=b.length?b:[{}],y=l.fields||[],x=e=>o(e);return a(t,{children:[f.map((t,r)=>a(za,{children:[e(ee,{}),a(n,{$gap:12,children:[a(d,{$justifyContent:"space-between",$alignItems:"center",children:[e(i,{label:`${l.itemLabel||l.title||"Item"} ${r+1}`}),e(u,{leftIcon:()=>e(ba,{fill:v.v2.colors.red[500]}),variant:h.Secondary,size:p.S,onClick:()=>(e=>{const a=f.filter((a,t)=>t!==e);x(a)})(r),disabled:s||1===f.length})]}),y.map(a=>e(el,{field:a,value:t[a.name],setValue:e=>((e,a,t)=>x(f.map((l,r)=>r===e?{...l,[a]:t}:l)))(r,a.name,e),disabled:s,keyValuePersistAs:c,sourceOptions:g,namespaceOptions:m},`${l.name}-group-${r}-${a.name}`))]})]},`${l.name}-group-${r}`)),e(u,{variant:h.Secondary,label:l.addLabel||"Add",leftIcon:fa,onClick:()=>x([...f,{}]),disabled:s}),e(ee,{})]})},tl=({field:t,value:l,setValue:r,errorMessage:o,disabled:s})=>a(n,{$gap:12,children:[t.title&&e(i,{label:t.title,tooltip:t.tooltip,required:t.required}),e(n,{$gap:8,children:(t.checkboxOptions||[]).map(a=>{const t=e(T,{name:a.id,label:a.label,value:!0===l?.[a.id],disabled:s,onChange:e=>r(a.id,e)},a.id);return a.tooltip?e(ae,{text:a.tooltip,withIcon:!0,children:t},a.id):t})}),e(g,{errorMessage:o,helpMessage:t.helpMessage})]}),ll=({signals:a,fields:l,value:r,setValue:n,formErrors:i,disabled:o,seedInitialValues:s,keyValuePersistAs:c="map",sourceOptions:d,namespaceOptions:u})=>{const{isVm:p}=Ka(),h=(l||[]).filter(e=>!!e).map(e=>Gt(e));return Na(()=>{if(!s)return;const e=r||{},a={};h.forEach(t=>{if(t.componentType===y.SourceScopes&&p)return;const l=t.componentType===y.SourceScopes?Ft(t)??ja():Ft(t);if(void 0===l)return;if(t.componentType===y.CheckboxList&&"flatFields"===t.valueMode&&Wt(l))return void Object.entries(l).forEach(([t,l])=>{void 0!==e[t]&&null!==e[t]||(a[t]=l)});const r=e[t.name];if(t.componentType===y.SourceScopes){if(void 0!==r)return}else if(null!=r)return;a[t.name]=Wt(l)&&Wt(a[t.name])?{...a[t.name],...l}:l}),Object.entries(a).forEach(([e,a])=>n(e,a))},[]),e(t,{children:h.map(t=>{const l=Object.entries(r||{}).map(([e,a])=>({name:e,key:e,value:a}));if(t.renderCondition&&!Q(t.renderCondition,a,l))return null;if(t.componentType===y.SourceScopes&&p)return null;const s=r?.[t.name];if(t.componentType===y.FieldGroup)return e(al,{field:t,value:s,setValue:e=>n(t.name,e),disabled:o,keyValuePersistAs:c,sourceOptions:d,namespaceOptions:u},t.name);if(t.componentType===y.CheckboxList&&"flatFields"===t.valueMode){const a=t.checkboxOptions?.map(e=>i[e.id]).find(Boolean);return e(tl,{field:t,value:r||{},setValue:n,errorMessage:a,disabled:o},t.name)}return e(el,{field:t,value:s,setValue:e=>n(t.name,e),errorMessage:i[t.name],disabled:o,keyValuePersistAs:c,sourceOptions:d,namespaceOptions:u},t.name)})})},rl=ll,nl=Ha.div`
|
|
152
|
+
display: flex;
|
|
153
|
+
align-items: center;
|
|
154
|
+
gap: 24px;
|
|
155
|
+
padding: 8px 16px;
|
|
156
|
+
border-radius: 12px;
|
|
157
|
+
background-color: ${({theme:e})=>e.v2.colors.silver[800]};
|
|
158
|
+
`,il=Ha.div`
|
|
159
|
+
flex: 1;
|
|
160
|
+
min-width: 0;
|
|
161
|
+
white-space: pre;
|
|
162
|
+
overflow-x: auto;
|
|
163
|
+
`,ol=({title:t,summary:l,onEdit:r,renderAction:n})=>{const i=Ea(()=>{const e=[];return t&&(e.push({text:t,variant:Ga.Default}),e.push({text:" - ",variant:Ga.Default})),e.push(...l),e},[t,l]);return a(nl,{children:[e(il,{children:e(Fa,{parts:i})}),n&&n(),r&&e(u,{"data-id":"sampling-btn-edit-auto-rule",label:le,rightIcon:ya,variant:h.Text,size:p.S,onClick:r})]})},sl={[ue.HttpRequest]:"HTTP request",[ue.HttpResponse]:"HTTP response",[ue.DbQuery]:"DB query",[ue.Messaging]:"messaging"};function cl(e,a,t){return 1===e?a:t??`${a}s`}function dl(e,a){const t=[],l=e.slice(0,3),r=e.slice(3);return l.forEach((e,l)=>{l>0&&t.push({text:", ",variant:Ga.Default}),t.push({text:e,variant:a})}),r.length>0&&t.push({text:` + ${r.length} more`,variant:Ga.Default,tooltipItems:r}),t}const ul=({option:a,formState:t,renderAction:l})=>{const r=Ea(()=>{const e=function(e,a){switch(e){case ne.CodeAttributes:return(e=>{const a=Object.values(pe).filter(a=>!!e.codeAttributes?.[a]).map(e=>he(e).toLowerCase());return a.length?[{text:"Collect",variant:Ga.Action},{text:" ",variant:Ga.Default},...dl(a,Ga.Endpoint)]:null})(a);case ne.PayloadCollection:return(e=>{const a=Object.values(ue).filter(a=>null!=e.payloadCollection?.[a]).map(e=>sl[e]);return a.length?[{text:"Collect",variant:Ga.Action},{text:" ",variant:Ga.Default},...dl(a,Ga.Endpoint)]:null})(a);case ne.HeadersCollection:return(e=>{const a=(e.headersCollection?.[de.HeaderKeys]??[]).map(e=>e.trim()).filter(e=>e.length>0);if(!a.length)return null;const t=cl(a.length,"HTTP header");return[{text:`Collect ${a.length} ${t}`,variant:Ga.Action},{text:"",variant:Ga.Default,tooltipItems:a}]})(a);case ne.CustomInstrumentation:return(e=>{const a=(e.customInstrumentations?.[ie.Java]??[]).map(e=>new oe(e.className,e.methodName)).filter(e=>e.Verify()),t=(e.customInstrumentations?.[ie.Golang]??[]).map(e=>new se(e.packageName,e.functionName,e.receiverName,e.receiverMethodName)).filter(e=>e.Verify()),l=(e.customInstrumentations?.[ie.Php]??[]).map(e=>new ce(e.className,e.functionName)).filter(e=>e.Verify());if(!(a.length+t.length+l.length))return null;const r=[];a.length&&r.push(`${a.length} Java ${cl(a.length,"probe")}`),t.length&&r.push(`${t.length} Go ${cl(t.length,"probe")}`),l.length&&r.push(`${l.length} PHP ${cl(l.length,"probe")}`);const n=[...a.map(e=>`Java: ${e.toString()}`),...t.map(e=>`Go: ${e.toString()}`),...l.map(e=>`PHP: ${e.toString()}`)];return[{text:`Apply ${r.join(" + ")}`,variant:Ga.Action},{text:"",variant:Ga.Default,tooltipItems:n}]})(a);default:return null}}(a?.type,t);return e?[...e,...Wa(t.sourceScopes)]:[]},[a?.type,t]),n=0===r.length;return e(ol,{title:n?re:"Instrumentation Rule Preview",summary:r,renderAction:l})},pl=({size:a=200,central:t=!1,useInline:l=!1})=>{const{tier:r}=Ka();if(l){if(t)return e(xa,{size:a});switch(r){case ge.Community:return e(Ca,{size:a});case ge.Onprem:return e(ka,{size:a});default:return null}}if(t)return e(Sa,{size:a});switch(r){case ge.Community:return e($a,{size:a});case ge.Onprem:return e(Ta,{size:a});default:return null}},hl=[{value:"50",label:"50%"},{value:"25",label:"25%"},{value:"10",label:"10%"},{value:"1",label:"1%"},{value:"custom",label:"Custom"}],gl=[{value:"10",label:"10%"},{value:"1",label:"1%"},{value:"0.5",label:"0.5%"},{value:"0.1",label:"0.1%"},{value:"custom",label:"Custom"}],ml=[{value:"5000",label:"5s"},{value:"1000",label:"1s"},{value:"500",label:"500ms"},{value:"100",label:"100ms"},{value:"50",label:"50ms"},{value:"custom",label:"Custom"}],vl=({description:t,options:l,selected:r,onSelect:o,customName:s,customLabel:c,customPlaceholder:u,customValue:p,onCustomChange:h,customInputType:g=P.Number,customMin:m,customMax:v})=>a(n,{$gap:6,children:[e(i,{label:t}),a(d,{$gap:8,$alignItems:"flex-end",children:[e(U,{options:l,selected:r,setSelected:o}),"custom"===r&&e(L,{name:s,label:c,placeholder:u,type:g,value:p,onChange:h,width:160,min:m,max:v})]})]}),bl=()=>{},fl=a=>a.readOnly?e(yl,{rule:a.rule}):e(xl,{ruleType:a.ruleType,formState:a.formState,onChange:a.onChange}),yl=({rule:t})=>{const l=null!=t.durationAtLeastMs;return t.error?e(j,{richTitle:{title:me},children:e(x,{name:"sampling-view-toggle-keep-errors",onChange:bl,value:!0,size:C.S,label:ve,labelAlign:k.Right})}):l?e(j,{richTitle:{title:be},children:a("div",{children:[e(o,{size:c.XXXS,color:s.Secondary,children:fe}),e(o,{size:c.XS,children:`${t.durationAtLeastMs}ms`})]})}):null},xl=({ruleType:a,formState:t,onChange:l})=>{const r=Ra(e=>l({durationPreset:e}),[l]),n=Ra(e=>l({customDurationMs:e.target.value}),[l]);return"Duration"===a?e(j,{richTitle:{title:be,subTitle:ye},children:e(vl,{description:fe,options:ml,selected:t.durationPreset,onSelect:r,customName:"sampling-input-custom-duration",customLabel:xe,customPlaceholder:"200ms",customValue:t.customDurationMs,onCustomChange:n})}):null},kl=Ha.div`
|
|
164
|
+
display: flex;
|
|
165
|
+
gap: 32px;
|
|
166
|
+
`,Cl=Ha.div`
|
|
167
|
+
display: flex;
|
|
168
|
+
flex-direction: column;
|
|
169
|
+
gap: 4px;
|
|
170
|
+
`,Sl=Ha.div`
|
|
171
|
+
display: flex;
|
|
172
|
+
flex-wrap: wrap;
|
|
173
|
+
align-items: flex-end;
|
|
174
|
+
gap: 16px;
|
|
175
|
+
`,Tl=Ha.div`
|
|
176
|
+
display: flex;
|
|
177
|
+
align-items: flex-end;
|
|
178
|
+
gap: 16px;
|
|
179
|
+
padding: 12px 16px;
|
|
180
|
+
border-radius: 8px;
|
|
181
|
+
background-color: ${({theme:e})=>e.v2.colors.black[500]};
|
|
182
|
+
`,$l=Ha.div`
|
|
183
|
+
display: flex;
|
|
184
|
+
align-items: flex-end;
|
|
185
|
+
gap: 10px;
|
|
186
|
+
flex: 1;
|
|
187
|
+
`,wl=Ha.div`
|
|
188
|
+
display: flex;
|
|
189
|
+
align-items: center;
|
|
190
|
+
height: 32px;
|
|
191
|
+
`,Ml=Ha.div`
|
|
192
|
+
display: flex;
|
|
193
|
+
align-items: flex-end;
|
|
194
|
+
gap: 16px;
|
|
195
|
+
margin-bottom: 12px;
|
|
196
|
+
`,Al="Any",Ol="Kafka topic",Ll=()=>e("div",{style:{marginBottom:"8px"},children:e(o,{size:c.XS,weight:500,children:"And"})}),Pl=[{value:"all",label:"All Operations"},{value:"httpServer",label:"HTTP Server"},{value:"httpClient",label:"HTTP Client"}],El=[{value:"all",label:"All Operations"},{value:"httpServer",label:"HTTP Server"},{value:"kafkaConsumer",label:"Kafka Consumer"},{value:"kafkaProducer",label:"Kafka Producer"}],Il=[{id:"",label:Al},{id:"GET",label:"GET"},{id:"POST",label:"POST"},{id:"PUT",label:"PUT"},{id:"DELETE",label:"DELETE"},{id:"PATCH",label:"PATCH"}],Rl=a=>a.readOnly?e(Vl,{data:a.data}):e(Nl,{category:a.category,formState:a.formState,onChange:a.onChange}),Vl=({data:t})=>{const l=Ea(()=>(e=>{if("noisy"===e.category){const a=e.rule.operation;if(a?.httpServer)return[{id:"type",title:Ve,value:Re},{id:"route",title:Ae,value:a.httpServer.route||a.httpServer.routePrefix||Ne},{id:"method",title:Ee,value:a.httpServer.method||Al}];if(a?.httpClient){const e=[{id:"type",title:Ve,value:ze}];return a.httpClient.serverAddress&&e.push({id:"serverAddress",title:"Server address",value:a.httpClient.serverAddress}),e.push({id:"route",title:Ae,value:a.httpClient.templatedPath||a.httpClient.templatedPathPrefix||Ne}),e.push({id:"method",title:Ee,value:a.httpClient.method||Al}),e}return[{id:"type",title:Ve,value:De}]}const a=e.rule.operation;return a?.httpServer?[{id:"type",title:Ve,value:Re},{id:"route",title:Ae,value:a.httpServer.route||a.httpServer.routePrefix||Ne},{id:"method",title:Ee,value:a.httpServer.method||Al}]:a?.kafkaConsumer?[{id:"type",title:Ve,value:Xe},{id:"topic",title:Ol,value:a.kafkaConsumer.kafkaTopic||Ne}]:a?.kafkaProducer?[{id:"type",title:Ve,value:He},{id:"topic",title:Ol,value:a.kafkaProducer.kafkaTopic||Ne}]:[{id:"type",title:Ve,value:De}]})(t),[t]);return e(j,{richTitle:{title:ke},children:e(kl,{children:l.map(({id:t,title:l,value:r})=>a(Cl,{children:[e(o,{size:c.XXXS,color:s.Secondary,nowrap:!0,children:l}),e(o,{size:c.XS,nowrap:!0,children:r})]},t))})})},Nl=({category:t,formState:l,onChange:r})=>{const i=Ea(()=>"noisy"===t?Pl:El,[t]),o=Ra(e=>r({operationType:e,route:"",serverAddress:"",method:"",kafkaTopic:""}),[r]),s=Ra(e=>a=>{a&&r({routeType:e,route:""})},[r]),c=Ra(e=>r({route:e.target.value}),[r]),d=Ra(e=>r({serverAddress:e.target.value}),[r]),u=Ra(e=>r({method:e[0]||""}),[r]),g=Ra(e=>r({kafkaTopic:e.target.value}),[r]),m="httpServer"===l.operationType||"httpClient"===l.operationType,v="kafkaConsumer"===l.operationType||"kafkaProducer"===l.operationType,b="httpClient"===l.operationType?Me:Ae,f="httpClient"===l.operationType?Oe:Le;return a(j,{richTitle:{title:`2. ${ke}`,subTitle:Ce},children:[e(n,{$alignItems:"flex-start",children:e(U,{options:i,selected:l.operationType,setSelected:o})}),m&&a(Sl,{children:["httpClient"===l.operationType&&a(Ml,{children:[e(L,{name:"sampling-input-server-address",label:Te,placeholder:Se,value:l.serverAddress,onChange:d}),e(Ll,{})]}),a(Tl,{children:[a($l,{children:[e(wl,{children:e($e,{"data-id":"sampling-radio-route",value:"route"===l.routeType,onChange:s("route")})}),e(L,{name:"sampling-input-route",label:b,placeholder:we,value:"route"===l.routeType?l.route:"",onChange:c,disabled:"route"!==l.routeType})]}),a($l,{children:[e(wl,{children:e($e,{"data-id":"sampling-radio-route-prefix",value:"routePrefix"===l.routeType,onChange:s("routePrefix")})}),e(L,{name:"sampling-input-route-prefix",label:f,placeholder:we,value:"routePrefix"===l.routeType?l.route:"",onChange:c,disabled:"routePrefix"!==l.routeType})]})]}),a(Ml,{children:[e(Ll,{}),e(Pe,{label:Ee,items:Il,selectedIds:[l.method||""],setSelectedIds:e=>u(e),buttonProps:{"data-id":"sampling-btn-method",label:Il.find(e=>e.id===l.method)?.label||Al,size:p.S,variant:h.Secondary}})]})]}),v&&e(L,{name:"sampling-input-kafka-topic",label:Ie,placeholder:"Type kafka topic",value:l.kafkaTopic,onChange:g,width:"320px"})]})},zl=[{value:"all",label:"Drop All"},{value:"sample",label:"Sample"}],Dl=[{value:"all",label:"Keep All"},{value:"sample",label:"Sample"}],Xl=a=>a.readOnly?e(Hl,{data:a.data}):e(_l,{category:a.category,formState:a.formState,onChange:a.onChange}),Hl=({data:t})=>{const l=Ea(()=>(e=>{switch(e.category){case"highlyRelevant":return null!=e.rule.percentageAtLeast?{title:qe,method:Ke,description:Be,value:`${e.rule.percentageAtLeast}%`}:{title:qe,method:Ge,description:null,value:null};case"noisy":return Ja(e.rule.percentageAtMost)?{title:qe,method:Ue,description:null,value:null}:{title:qe,method:Ke,description:je,value:`${e.rule.percentageAtMost}%`};case"costReduction":return{title:qe,method:Ke,description:je,value:`${e.rule.percentageAtMost}%`}}})(t),[t]),r=[{id:"method",title:Ee,value:l.method},...null!=l.description?[{id:"value",title:l.description,value:l.value}]:[]];return e(j,{richTitle:{title:l.title},children:e(kl,{children:r.map(({id:t,title:l,value:r})=>a(Cl,{children:[e(o,{size:c.XXXS,color:s.Secondary,nowrap:!0,children:l}),e(o,{size:c.XS,nowrap:!0,children:r})]},t))})})},_l=({category:t,formState:l,onChange:r})=>{const i="highlyRelevant"===t,o=i?Dl:zl,s=`${i?4:3}. ${qe}`,c=_e[t],d=i?Be:je,u="noisy"===t?gl:hl,p=Ra(e=>r({percentageMode:e}),[r]),h=Ra(e=>r({percentagePreset:e}),[r]),g=Ra(e=>r({customPercentage:e.target.value}),[r]);return a(j,{richTitle:{title:s,subTitle:c},children:["costReduction"!==t&&e(n,{$alignItems:"flex-start",children:e(U,{options:o,selected:l.percentageMode,setSelected:p})}),("costReduction"===t||"sample"===l.percentageMode)&&e(vl,{description:d,options:u,selected:l.percentagePreset,onSelect:h,customName:"sampling-input-custom-percentage",customPlaceholder:"5%",customValue:l.customPercentage,onCustomChange:g,customInputType:P.Decimal,customMin:0,customMax:100})]})},ql=Ha.div`
|
|
197
|
+
display: flex;
|
|
198
|
+
align-items: flex-end;
|
|
199
|
+
gap: 16px;
|
|
200
|
+
`,Bl=Ha.div`
|
|
201
|
+
width: 280px;
|
|
202
|
+
flex-shrink: 0;
|
|
203
|
+
`,jl=Ha.div`
|
|
204
|
+
flex: 1;
|
|
205
|
+
min-width: 0;
|
|
206
|
+
`;function Kl(e){return"highlyRelevant"===e.category?e.rule.error?"Error":null!=e.rule.durationAtLeastMs?"Duration":"Relevance":aa[e.category]}const Ul=a=>a.readOnly?e(Gl,{data:a.data}):e(Fl,{formState:a.formState,onChange:a.onChange}),Gl=({data:t})=>{const l=Ea(()=>[{id:"name",title:We,value:t.rule.name||Fe},{id:"type",title:Je,value:Kl(t)}],[t]),r=t.rule.notes||Ne;return a(j,{children:[e(kl,{children:l.map(({id:t,title:l,value:r})=>a(Cl,{children:[e(o,{size:c.XXXS,color:s.Secondary,nowrap:!0,children:l}),e(o,{size:c.XS,nowrap:!0,children:r})]},t))}),a(Cl,{children:[e(o,{size:c.XXXS,color:s.Secondary,children:Ye}),e(o,{size:c.XS,children:r})]})]})},Fl=({formState:t,onChange:l})=>{const r=Ra(e=>l({name:e.target.value}),[l]),n=Ra(e=>l({notes:e.target.value}),[l]);return e(j,{children:a(ql,{children:[e(Bl,{children:e(L,{name:"sampling-input-rule-name",label:We,tooltip:"Optional. Give this rule a name for easier identification.",placeholder:Ze,value:t.name,onChange:r})}),e(jl,{children:e(L,{name:"sampling-input-note",label:Ye,tooltip:ea,placeholder:Qe,value:t.notes,onChange:n})})]})})},Wl=[{value:"Relevance",label:"Relevance"},{value:"Error",label:"Error"},{value:"Duration",label:"Duration"}],Jl=({formState:a,onChange:t})=>{const l=Ra(e=>t({ruleType:e,keepErrors:"Error"===e}),[t]);return e(j,{richTitle:{title:`3. ${Je}`,subTitle:ta},children:e(n,{$alignItems:"flex-start",children:e(U,{options:Wl,selected:a.ruleType,setSelected:l})})})},Yl=a=>{const t=Ea(()=>{if(a.readOnly)return a.summary;switch(a.category){case"noisy":return Qa(tt(a.formState));case"highlyRelevant":return Za(at(a.formState));case"costReduction":return Ya(et(a.formState))}},[a]);if(a.readOnly)return e(ol,{title:la,summary:t,renderAction:a.renderAction});const l=1===t.length&&"default"===t[0].variant;return e(ol,{title:l?re:la,summary:l?[]:t,renderAction:a.renderAction})},Zl=(e,a)=>!a?.length||!!a?.find(a=>a===e),Ql=({title:t="Signals",required:l,errorMessage:r,allowedSignals:o,selectedSignals:s,setSelectedSignals:c,disabled:u})=>{const[p,h]=Va(1===s.length),m=Ia(JSON.stringify(s));return Na(()=>{let e=ra(s).filter(e=>Zl(e,o));e.length||(e=na.filter(({id:e})=>Zl(e,o)).map(({id:e})=>e));const a=JSON.stringify(e);m.current!==a&&(m.current=a,c(e),h(1===e.length))},[o,s]),a(n,{$gap:12,children:[e(i,{label:t,required:l}),e(d,{$gap:12,children:na.map(a=>{const t=Zl(a.id,o),l=((e,a)=>!!a?.find(a=>a===e))(a.id,s);return t?e(T,{label:a.value,disabled:u||!t||p&&l,value:l,onChange:e=>((e,a)=>{const t=e,l=a?[...s,t]:s.filter(e=>e!==t);c(l),h(1===l.length)})(a.id,e)},a.id):null})}),e(g,{errorMessage:r})]})},er=({minSupportedVersion:a,currentVersion:t})=>e(m,{isOpen:!0,onClose:()=>{},relativeToParent:!0,visual:()=>e(f,{scale:2.4,icon:()=>e("svg",{xmlns:"http://www.w3.org/2000/svg",width:"22",height:"21",viewBox:"0 0 22 21",fill:"none",children:e("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${a} or later.\nCurrent version: ${t}.`}),ar=Ha.div`
|
|
207
|
+
display: flex;
|
|
208
|
+
flex-direction: column;
|
|
209
|
+
justify-content: flex-end;
|
|
210
|
+
width: ${({$width:e})=>e};
|
|
211
|
+
gap: ${({$columnHasHeader:e})=>e?"0":"12px"};
|
|
212
|
+
`,tr=Ha.div`
|
|
213
|
+
display: flex;
|
|
214
|
+
align-items: center;
|
|
215
|
+
min-height: 24px;
|
|
216
|
+
padding: 12px;
|
|
217
|
+
border-radius: 16px 16px 0 0;
|
|
218
|
+
background-color: ${({theme:e})=>e.v2.colors.silver[800]};
|
|
219
|
+
`,lr=Ha.div`
|
|
220
|
+
display: flex;
|
|
221
|
+
flex-direction: column;
|
|
222
|
+
gap: ${({$gap:e})=>e}px;
|
|
223
|
+
padding: 12px 12px 0 12px;
|
|
224
|
+
width: 100%;
|
|
225
|
+
height: ${({$heightOffset:e,$columnHasHeader:a})=>`calc(100vh - 180px - ${e}px ${a?"- 48px":""})`};
|
|
226
|
+
border-radius: ${({$columnHasHeader:e,$isLeft:a,$isRight:t})=>e?a?"0 0 0 16px":t?"0 16px 0 0":"0":a?"16px 0 0 16px":t?"0 16px 16px 0":"16px"};
|
|
227
|
+
background-color: ${({theme:e})=>e.v2.colors.silver[900]};
|
|
228
|
+
overflow-y: auto;
|
|
229
|
+
overflow-x: hidden;
|
|
230
|
+
`,rr=({isLeft:l,isRight:r,heightOffset:n=0,width:i,header:o,list:s})=>a(ar,{$width:i,$columnHasHeader:!!o,children:[o&&e(tr,{children:o}),e(lr,{$gap:8,$isLeft:l,$isRight:r,$heightOffset:n,$columnHasHeader:!!o,children:s.length?s.length>1?e(ia,{gap:8,elements:s}):e(t,{children:s[0]}):e(oa,{$height:"100%",children:e(sa,{})})})]}),nr="75vw",ir=Ha.div`
|
|
231
|
+
display: flex;
|
|
232
|
+
flex-direction: column;
|
|
233
|
+
border-radius: 16px;
|
|
234
|
+
background-color: ${({theme:e})=>e.v2.colors.silver[1e3]};
|
|
235
|
+
overflow: hidden;
|
|
236
|
+
`,or=Ha.div`
|
|
237
|
+
display: flex;
|
|
238
|
+
gap: 12px;
|
|
239
|
+
padding: 16px 16px 0 16px;
|
|
240
|
+
background-color: ${({theme:e})=>e.v2.colors.silver[1e3]};
|
|
241
|
+
position: sticky;
|
|
242
|
+
top: 0;
|
|
243
|
+
`,sr=Ha.div`
|
|
244
|
+
padding: 12px 12px 0 12px;
|
|
245
|
+
`,cr=Ha.div`
|
|
246
|
+
display: flex;
|
|
247
|
+
gap: 12px;
|
|
248
|
+
padding: 16px;
|
|
249
|
+
`,dr=Ha.div`
|
|
250
|
+
padding: 5vh 10vw;
|
|
251
|
+
border-radius: 12px;
|
|
252
|
+
background-color: ${({theme:e})=>e.v2.colors.silver[800]};
|
|
253
|
+
`,ur=Da(({isOpen:t,withOverlay:r,disableAnimation:n,onClose:i,onBack:o,onNext:s,nextIsSkip:d,onSave:u,disableSave:p,connectionIds:g,header:v,subHeader:b,leftColumn:f,rightColumn:y,search:x,filters:k,errorMessage:C,isFormDirty:S,hideDirtyNote:T,isFetching:$,progress:w},M)=>{const[A,O]=Va(!1),[L,P]=Va(!1),[E,I]=Va(void 0);Xa(M,()=>({clearErrors:()=>I(void 0)}));const R=L,N=Ra(()=>{S&&!A?O(!0):(O(!1),i?.())},[S,A,i]),z=p||L||"boolean"==typeof S&&!S,D=Ra(async()=>{P(!0);const e=await u();P(!1),!1!==e&&(e?.error?I(e.error):(g?.setValue([]),i?.()))},[u,g,i]),X=!!x||!!g||!!k,H=!!b,_=(X?48:0)+(H?50:0),q=Ea(()=>$?{status:V.Info,message:"Fetching Data..."}:L&&!w?{status:V.Info,message:"Saving Changes..."}:E||C?{status:V.Error,message:E||C}:"boolean"==typeof S&&S&&!T?{status:V.Info,message:'The values don\'t reflect the current configurations of the selected clusters.\n"Save" will override the current configurations.'}:void 0,[$,L,w,E,C,S,T]),B=Ea(()=>o?{label:"Back",leftIcon:wa,variant:h.Secondary,onClick:o}:{label:"Cancel",variant:h.Secondary,onClick:N,disabled:R},[o,N,R]),[j,K]=Va(!1),U=Ea(()=>s?d?{"data-id":"wide-drawer-skip",label:"Skip",rightIcon:Ma,variant:h.Secondary,onClick:()=>K(!0)}:{"data-id":"wide-drawer-next",label:"Next",rightIcon:Ma,variant:h.Primary,onClick:s}:{"data-id":"wide-drawer-save",label:"Save",variant:h.Primary,onClick:D,disabled:z},[s,d,D,z]);return a(l,{width:nr,isOpen:t,disableAnimation:n,hideOverlay:!L&&!r,header:{...v,onClose:i?N:void 0,onCloseDisabled:R},footer:{note:q,actions:[B,U]},children:[L?e(oa,{$height:"calc(100vh - 136px)",children:e(dr,{children:e(ca,{titleSize:c.S,subTitleSize:c.XXXS,withGradient:!0,withSpinner:!0,...w})})}):a(ir,{children:[X&&a(or,{children:[g&&e(da,{icon:Aa,title:"Selected Clusters",badge:{label:g.value.length}}),x&&e(ua,{width:"100%",...x}),k]}),H&&e(sr,{children:e(da,{icon:b.icon,title:b.title,subTitle:b.description,badge:b.badge})}),a(cr,{children:[e(rr,{isLeft:!0,heightOffset:_,...f}),e(rr,{isRight:!0,heightOffset:_,...y})]})]}),e(kt,{isOpen:A,onClose:()=>O(!1),onApprove:N}),e(m,{title:"Skip setup?",description:"Without completing setup, Odigos won't be able to collect and send your telemetry data. This may interrupt your data flow and limit the platform's ability to provide value.",isOpen:j,onClose:()=>K(!1),denyButton:{label:"Go Back",variant:h.Secondary,onClick:()=>K(!1)},approveButton:{label:"Skip",variant:h.Primary,onClick:()=>{s?.(),K(!1)}}})]})});ur.displayName=ur.name;const pr=Ha.div`
|
|
254
|
+
padding: 0 24px;
|
|
255
|
+
border-radius: 12px;
|
|
256
|
+
background-color: ${({$codeBgColor:e})=>e||"transparent"};
|
|
257
|
+
`,hr=({title:a="YAML",yaml:t,defaultOpen:l,fullHeight:r,bgTint:n="1000",codeBgColor:i})=>{const{clickCopy:o,isCopied:s}=pa(),c=Ea(()=>t?[{id:ga(),type:ha.Button,buttonProps:{variant:h.Text,size:p.S,leftIcon:s?va:Oa,onClick:()=>o(t||""),disabled:s}}]:[],[t,s]);return e(E,{bgTint:n,richTitle:{icon:La,title:a},actions:c,withCollapse:!0,collapseIsDefaultOpen:l,fullHeight:r,children:e(pr,{$codeBgColor:i,children:t?e(ma,{code:t,language:"yaml",theme:"duotoneDark"}):e(oa,{children:e(sa,{title:"YAML not found",subTitle:"The YAML for this resource is not available"})})})})};export{ol as A,kt as C,ml as D,ul as I,gl as N,pl as O,hl as P,Ul as R,Yl as S,er as U,nr as W,hr as Y,Ct as a,St as b,fl as c,rl as d,Tt as e,ll as f,Rl as g,Xl as h,vl as i,Jl as j,Ql as k,zt as l,ur as m,xt as n};
|
|
@@ -0,0 +1,5 @@
|
|
|
1
|
+
import{jsx as e}from"react/jsx-runtime";import{useMemo as t,useContext as r,createContext as a,useCallback as n,useState as o,useEffect as s,useRef as i}from"react";import{b6 as c,b7 as l,m as d,S as u,b8 as m,b9 as p,ba as f,P as E,b as y,bb as h,bc as S,bd as T,be as g,bf as _,bg as I,bh as A,bi as v,bj as R,bk as C,bl as N,aY as O,bm as D,bn as w,n as b,bo as P,bp as L,bq as k,br as F,bs as G,bt as U,v as M,bu as x,bv as H,ad as K,a9 as V,ab as W,aa as Y,ac as $,a8 as j,bw as q}from"./ui-components-BzgG1abD.js";import{i as B,n as Q,m as z,l as J,o as X,p as Z,v as ee,q as te,u as re}from"./helpers-pQ9OGZgF.js";import{ApolloProvider as ae,useLazyQuery as ne,useApolloClient as oe,useQuery as se}from"@apollo/client/react";import{ErrorLink as ie}from"@apollo/client/link/error";import{SetContextLink as ce}from"@apollo/client/link/context";import{getMainDefinition as le}from"@apollo/client/utilities";import{CombinedGraphQLErrors as de,ServerError as ue}from"@apollo/client/errors";import{HttpLink as me,ApolloLink as pe,ApolloClient as fe,InMemoryCache as Ee,gql as ye}from"@apollo/client";const he=e=>{if(!e)return!1;const t=e.toLowerCase();return t.includes("authentication required")||t.includes("authentication expired")||t.includes("http 401")},Se=a(null),Te=()=>{const e=r(Se);if(!e)throw new Error("[ui-kit] useOdigosApi() / useXxxApi() called outside of <OdigosApiProvider>. Make sure the host app mounts the provider at its layout level.");return e},ge=({apolloConfig:r,operations:a,context:n,children:o})=>{const s=t(()=>(e=>{const t=new me({uri:e.httpUrl,credentials:e.credentials??"same-origin"}),r=new ie(({error:t})=>{de.is(t)?t.errors.some(e=>he(e.message))&&e.onAuthError?.():(ue.is(t)&&401===t.statusCode||he(t.message))&&e.onAuthError?.()}),a=new ce(async t=>{const r={...t.headers};if(e.authHeader){const t=await e.authHeader();Object.assign(r,t)}return e.csrfHeader&&Object.assign(r,e.csrfHeader()),{headers:r}}),n=[];e.additionalLinks?.length&&n.push(...e.additionalLinks),n.push(a,r,t);let o=pe.from(n);e.wsLink&&(o=pe.split(({query:e})=>{const t=le(e);return"OperationDefinition"===t.kind&&"subscription"===t.operation},e.wsLink,o));const s=e.defaultFetchPolicies;return new fe({link:o,cache:new Ee({typePolicies:e.cacheTypePolicies}),defaultOptions:{watchQuery:{fetchPolicy:s?.watchQuery??"cache-and-network"},query:{fetchPolicy:s?.query??"cache-first"},mutate:{fetchPolicy:s?.mutate??"network-only"}}})})(r),[r.httpUrl,r.wsLink,r.credentials,r.clientKey]),i=t(()=>({operations:a,context:n,apolloConfig:r}),[a,n,r]);return e(ae,{client:s,children:e(Se.Provider,{value:i,children:o})})},_e=Se,Ie=({connectionIds:r,children:a})=>{const n=Te(),o=t(()=>({operations:n.operations,context:{...n.context,connectionIds:r},apolloConfig:n.apolloConfig}),[n.operations,n.context,n.apolloConfig,r.join(",")]);return e(_e.Provider,{value:o,children:a})},Ae=(e,t)=>{if(e)return"string"==typeof e?e:m(e,t)},ve=e=>{const{addNotification:t}=c(),r=(r,a,n,o,s)=>t({type:r,title:a,message:n,crdType:e,target:Ae(o,e),hideFromHistory:s});return{notify:r,notifyError:(e,t,a)=>r(u.Error,e,t,a),notifySuccess:(e,t,a)=>r(u.Success,e,t,a),notifyPending:(e,t)=>r(u.Default,"Pending",e,t,!0),notifyReadonly:()=>{t({type:u.Warning,title:d.READONLY,message:l.READONLY_WARNING,hideFromHistory:!0})}}},Re=e=>{e({type:u.Warning,title:d.READONLY,message:l.READONLY_WARNING,hideFromHistory:!0})},Ce=e=>({error:e,results:[],allSucceeded:!1,anySucceeded:!1,successCount:0,failureCount:0}),Ne=(e,t)=>{if(e)return"function"==typeof e?e(t):e},Oe=e=>{if(!e)return"Unknown error";if(e instanceof Error)return e.cause instanceof Error?e.cause.message:e.message;if("object"==typeof e){const t=e;return t.cause?.message||t.message||String(e)}return String(e)},De=(e,t)=>e.client??t,we=async(e,t,r,a,n)=>{if(!t)return{error:"Query operation not configured"};if(t.canRun&&!t.canRun(a))return{data:void 0};if(t.run)try{return await t.run(De(t,e),r,a)}catch(e){return{error:Oe(e)}}const o=Ne(t.document,a);if(!o)return{error:"Query operation not supported in this context"};const s=t.transformVariables?t.transformVariables(r,a):r,i=De(t,e);try{const e=await i.query({query:o,variables:s,fetchPolicy:n??"network-only"});return{data:t.transformResult?t.transformResult(e.data,a):e.data,error:e.error?Oe(e.error):void 0}}catch(e){return{error:Oe(e)}}},be=async(e,t,r,a)=>{if(!t)return{error:"Mutation operation not configured"};if(t.canRun&&!t.canRun(a))return{data:void 0};if(t.run)try{return await t.run(De(t,e),r,a)}catch(e){return{error:Oe(e)}}const n=Ne(t.document,a);if(!n)return{error:"Mutation operation not supported in this context"};const o=t.transformVariables?t.transformVariables(r,a):r,s=De(t,e);try{const e=await s.mutate({mutation:n,variables:o});return{data:t.transformResult?t.transformResult(e.data,a):e.data,error:void 0}}catch(e){return{error:Oe(e)}}},Pe=async(e,t,r,a,n)=>{if(!t)return Ce("Multi fetch operation not configured");if(!r.length)return Ce("No proxy ids supplied for multi fetch");const o=De(t,e);if(t.transformVariablesMulti&&(t.documentMulti||t.document)){const e=t.transformVariablesMulti(r,a,n),s=[];for(const r of e)try{const e=await o.query({query:r.document,variables:r.variables,fetchPolicy:"network-only"});t.transformMultiResult?t.transformMultiResult(e.data,n).forEach(e=>s.push(e)):r.proxyIDs.forEach(t=>{s.push({proxyID:t,success:!e.error,data:e.data,error:e.error?.message})})}catch(e){const t=Oe(e);r.proxyIDs.forEach(e=>s.push({proxyID:e,success:!1,error:t}))}const i=s.filter(e=>e.success).length,c=s.length-i,l=Array.from(new Set(s.filter(e=>!!e.error).map(e=>e.error)));return{results:s,allSucceeded:0===c,anySucceeded:i>0,successCount:i,failureCount:c,error:l.length?l.join(", "):void 0}}const s=await Promise.all(r.map(async r=>{const o={...n,proxyID:r},s=await we(e,t,a,o);return{proxyID:r,success:!s.error,data:s.data,error:s.error}})),i=s.filter(e=>e.success).length,c=s.length-i,l=Array.from(new Set(s.filter(e=>!!e.error).map(e=>e.error)));return{results:s,allSucceeded:0===c,anySucceeded:i>0,successCount:i,failureCount:c,error:l.length?l.join(", "):void 0}},Le=ye`
|
|
2
|
+
query OdigosApiNoop {
|
|
3
|
+
__typename
|
|
4
|
+
}
|
|
5
|
+
`,ke=(e,t)=>{if(e)return"function"==typeof e?e(t):e},Fe=(e,t)=>e[t],Ge=(e,t,r)=>{if(void 0!==t)return e?.transformResult?e.transformResult(t,r):t},Ue=(e,t,r)=>{if(!e)return;const a=e.transformVariables;return a?a(t,r):t},Me=(e,r,a)=>{const{operations:o,context:i}=Te(),c=Fe(o,e),l=t(()=>ke(c?.document,i),[c,i]),d=t(()=>Ue(c,r,i),[c,r,i]),u=!c||!l,m=!!c?.canRun&&!c.canRun(i),p=a?.skip||u||m,f=se(l??Le,{variables:d,skip:p,pollInterval:a?.pollInterval,fetchPolicy:a?.fetchPolicy??"cache-and-network",notifyOnNetworkStatusChange:a?.notifyOnNetworkStatusChange,client:c?.client}),E=t(()=>{if(!p)return Ge(c,f.data,i)},[c,i,f.data,p]);s(()=>{p||void 0===E||a?.onCompleted?.(E)},[p,E,a?.onCompleted]),s(()=>{f.error&&a?.onError?.(f.error)},[f.error,a?.onError]);const y=n(async()=>{if(u)return{data:void 0};const e=await f.refetch();return{data:Ge(c,e.data,i)}},[c,i,f,u]);return{data:E,loading:!p&&f.loading,error:f.error,refetch:y,unsupported:u}},xe=(e,r)=>{const{operations:a,context:o}=Te(),s=Fe(a,e),i=t(()=>ke(s?.document,o),[s,o]),c=!s||!i,[l,d]=ne(i??Le,{fetchPolicy:r?.fetchPolicy??"network-only",notifyOnNetworkStatusChange:r?.notifyOnNetworkStatusChange,client:s?.client});return{execute:n(async e=>{if(c)return{error:void 0};if(s?.canRun&&!s.canRun(o))return{data:void 0};const t=Ue(s,e,o),r=await l({variables:t});return r.error?{error:r.error}:{data:Ge(s,r.data,o)}},[s,o,l,c]),data:t(()=>Ge(s,d.data,o),[s,o,d.data]),loading:d.loading,error:d.error,called:d.called,unsupported:c}},He=(e,r)=>{const{operations:a,context:s}=Te(),i=oe(),c=Fe(a,e),l=t(()=>ke(c?.document,s),[c,s]),d=!c||!l,[u,m]=o({loading:!1,called:!1}),p=n(()=>m({loading:!1,called:!1}),[]);return[n(async e=>{if(d||!l)return{error:void 0};if(c?.canRun&&!c.canRun(s))return{data:void 0};const t=Ue(c,e,s),a=c?.client??i;m(e=>({...e,loading:!0,called:!0}));try{const e=await a.mutate({mutation:l,variables:t}),n=Ge(c,e.data,s);if(m({data:n,loading:!1,error:void 0,called:!0}),r?.refetchQueries){const e=a.refetchQueries({include:r.refetchQueries});r?.awaitRefetchQueries&&await e}return void 0!==n&&r?.onCompleted?.(n),{data:n}}catch(e){const t=e;return m({data:void 0,loading:!1,error:t,called:!0}),r?.onError?.(t),{error:t}}},[c,s,i,l,d,r]),{data:u.data,loading:u.loading,error:u.error,called:u.called,unsupported:d,reset:p}]},Ke=[],Ve=(e,t,r,a)=>{let n=!0;const o={sources:[]};for(const[s,i]of Object.entries(e)){if(!i.length)continue;n=!1;const e=i.map(({id:e,selected:t,currentStreamName:a})=>({namespace:e.namespace,name:e.name,kind:e.kind,selected:void 0!==t&&t,currentStreamName:a||r}));let c=0,l=0;for(const r of e){const e=t.find(e=>e.id.namespace===s&&e.id.name===r.name&&e.id.kind===r.kind),a=e?.dataStreamNames||[];r.selected&&!e?c++:!r.selected&&e&&a.length<=1&&l++}a(c,l),o.sources.push(...e)}return{payload:o,isEmpty:n}},We=(e,t)=>{let r=!0;const a={namespaces:[]};for(const[n,{selected:o,currentStreamName:s}]of Object.entries(e))"boolean"==typeof o&&(r=!1,a.namespaces.push({namespace:n,selected:o,currentStreamName:s||t}));return{payload:a,isEmpty:r}},Ye={filter:{markedForInstrumentation:!0}},$e=[],je=[],qe=[],Be=[],Qe=[],ze=e=>{if(e)return{clusters:[e],totalNamespaces:e.namespaces?.length??0,totalWorkloads:(e.namespaces??[]).reduce((e,t)=>e+(t.workloads?.length??0),0),lastUpdated:e.timestamp}},Je=[],Xe=[],Ze=(e,t)=>({...e,fields:e.fields.filter(({value:e})=>void 0!==e),currentStreamName:t}),et=[],tt=()=>{const{operations:e,context:r}=Te(),a=oe(),o=((e,t)=>{const r=oe(),{notifyError:a,notifySuccess:o,notifyPending:s,notifyReadonly:i}=ve(f.Source),{selectedStreamName:c}=h(),{setProgress:l,resetProgress:d}=S(),{setConfiguredSources:u,setConfiguredFutureApps:m}=T(),E=(e,t)=>{const{progress:r}=S.getState();e>0&&l(g.Instrumenting,{total:(r[g.Instrumenting]?.total||0)+e,current:r[g.Instrumenting]?.current||0}),t>0&&l(g.Uninstrumenting,{total:(r[g.Uninstrumenting]?.total||0)+t,current:r[g.Uninstrumenting]?.current||0})},y=n(async()=>{const{error:n}=await we(r,e.GET_WORKLOADS,Ye,t);n&&a(p.Read,n)},[r,e.GET_WORKLOADS,t,a]);return{useSources:()=>{const e=Me("GET_WORKLOADS",Ye,{fetchPolicy:"cache-first"});return{items:e.data?.workloads??$e,loading:e.loading,refetch:y}},fetchAll:y,fetchByTargets:async(n,o)=>{const s=!!o?.slim,i=n.map(e=>_(e,f.Source)).filter(e=>e.namespace&&e.name&&e.kind);if(0===i.length)return;if(i.length>50)return void await y();const c=s&&e.GET_WORKLOADS_BY_IDS_SLIM?e.GET_WORKLOADS_BY_IDS_SLIM:e.GET_WORKLOADS_BY_IDS,{error:l}=await we(r,c,{ids:i.map(({namespace:e,kind:t,name:r,region:a})=>({namespace:e,kind:t,name:r,region:a||void 0}))},t);l?a(p.Read,l):await y()},fetchById:async n=>{const{data:o,error:s}=await we(r,e.GET_WORKLOADS_BY_IDS,{ids:[{namespace:n.namespace,kind:n.kind,name:n.name,...n.region?{region:n.region}:{}}]},t);if(!s)return o?.workloadsByIds?.find(e=>e.id.namespace===n.namespace&&e.id.kind===n.kind&&e.id.name===n.name&&(e.id.region??"")===(n.region??""));a(p.Read,s)},fetchLibraries:async a=>we(r,e.GET_SOURCE_LIBRARIES,a,t),fetchPeerSources:async a=>we(r,e.GET_PEER_SOURCES,{serviceName:a},t),usePeerSources:(e,t)=>Me("GET_PEER_SOURCES",e,t),persist:async(n,o)=>{if(t.isReadonly)return i();const{data:l}=await we(r,e.GET_WORKLOADS,Ye,t,"cache-first"),f=l?.workloads??$e,{payload:y,isEmpty:h}=Ve(n,f,c,E),{payload:S,isEmpty:T}=We(o,c);let _=!1;h||(_=!0,s("Persisting sources...")),T||_||s("Persisting namespaces...");const{error:I}=await be(r,e.PERSIST_SOURCES,y,t);if(I&&(d(g.Instrumenting),d(g.Uninstrumenting),a(p.Update,I)),e.PERSIST_NAMESPACES){const{error:n}=await be(r,e.PERSIST_NAMESPACES,S,t);n&&a(p.Update,n)}u({}),m({})},persistV2:async a=>{if(t.isReadonly)return i(),{error:"readonly"};const n=[];for(const[,o]of Object.entries(a)){const a={sources:[]},s={namespaces:[]};for(const e of o)e.name&&e.kind?a.sources.push(e):s.namespaces.push(e);if(s.namespaces.length>0&&e.PERSIST_NAMESPACES){const{error:a}=await be(r,e.PERSIST_NAMESPACES,s,t);a&&n.push(a)}if(a.sources.length>0){const{error:o}=await be(r,e.PERSIST_SOURCES,a,t);o&&n.push(o)}}return n.length?{error:n.join(", ")}:void 0},update:async(n,l)=>{if(t.isReadonly)return i();s("Updating source...");const d={sourceId:n,patchSourceRequest:{...l,currentStreamName:c}},{data:u,error:m}=await be(r,e.UPDATE_SOURCE,d,t);m?a(p.Update,m,n):u?.updateK8sActualSource&&o(p.Update,`Successfully updated "${n.name}" source`,n)},restartWorkloads:async n=>{if(t.isReadonly)return i();s("Restarting sources...");const{data:c,error:l}=await be(r,e.RESTART_WORKLOADS,{sourceIds:n},t);l?a(p.Update,l):c?.restartWorkloads&&o(p.Update,`Successfully restarted ${n.length} sources`)},restartPod:async(n,c)=>{if(t.isReadonly)return i();s("Restarting pod...");const{data:l,error:d}=await be(r,e.RESTART_POD,{namespace:n,name:c},t);d?a(p.Update,d):l?.restartPod&&o(p.Update,`Successfully restarted pod ${n}/${c}`)},recoverFromRollback:async n=>{if(t.isReadonly)return i();s("Recovering from rollback...");const{data:c,error:l}=await be(r,e.RECOVER_FROM_ROLLBACK,{sourceId:n},t);l?a(p.Update,l,n):c?.recoverFromRollbackForWorkload&&o(p.Update,"Successfully triggered recovery from rollback")}}})(e,r),i=((e,t)=>{const r=oe(),{notifyError:a,notifySuccess:n,notifyReadonly:o}=ve(f.Destination),{selectedStreamName:s}=h(),i=async()=>{const{error:n}=await we(r,e.GET_DESTINATIONS,void 0,t);n&&a(p.Read,n)};return{useDestinations:()=>{const e=Me("GET_DESTINATIONS",void 0,{fetchPolicy:"cache-first"});return{items:e.data?.computePlatform?.destinations??e.data?.destinations??Xe,loading:e.loading,refetch:i}},useDestinationCategories:()=>{const e=Me("GET_DESTINATION_CATEGORIES",void 0);return{data:e.data,loading:e.loading}},usePotentialDestinations:()=>{const e=Me("GET_POTENTIAL_DESTINATIONS",void 0);return{data:e.data,loading:e.loading}},fetchAll:i,testConnection:async a=>{const{data:n}=await be(r,e.TEST_DESTINATION_CONNECTION,{destination:Ze(a,s)},t);return n},create:async c=>{if(t.isReadonly)return o();const{error:l}=await be(r,e.CREATE_DESTINATION,{destination:Ze(c,s)},t);l?a(p.Create,l):(n(p.Create,`Successfully created "${c.type}" destination`),await i())},update:async(c,l)=>{if(t.isReadonly)return o();const{data:d,error:u}=await be(r,e.UPDATE_DESTINATION,{id:c,destination:Ze(l,s)},t);u?a(p.Update,u,c):d?.updateDestination&&(n(p.Update,`Successfully updated "${l.type}" destination`,c),await i())},remove:async c=>{if(t.isReadonly)return o();const{data:l}=await we(r,e.GET_DESTINATIONS,void 0,t,"cache-first"),d=l?.computePlatform?.destinations??l?.destinations??Xe,u=d.find(e=>A(e)===c)?.destinationType?.type,{error:m}=await be(r,e.DELETE_DESTINATION,{id:c,currentStreamName:s},t);m?a(p.Delete,m,c):(n(p.Delete,`Successfully deleted "${u??c}" destination`,c),await i())}}})(e,r),l=((e,r)=>{const a=oe(),{notifyError:n,notifySuccess:o,notifyReadonly:s}=ve(f.Action),i=async()=>{const{error:t}=await we(a,e.GET_ACTIONS,void 0,r);t&&n(p.Read,t)};return{useActions:()=>{const e=Me("GET_ACTIONS",void 0,{fetchPolicy:"cache-first"});return{items:e.data?.computePlatform?.actions??e.data?.actions??je,loading:e.loading,refetch:i}},useActionTypes:()=>{const e=Me("GET_ACTION_TYPES",void 0,{fetchPolicy:"cache-first"});return{options:t(()=>I(e.data)||qe,[e.data]),loading:e.loading}},fetchAll:i,create:async t=>{if(r.isReadonly)return s();if(!e.CREATE_ACTION)return;const{error:c}=await be(a,e.CREATE_ACTION,{action:t},r);c?n(p.Create,c):(o(p.Create,`Successfully created "${t.type}" action`),await i())},update:async(t,c)=>{if(r.isReadonly)return s();if(!e.UPDATE_ACTION)return;const{error:l}=await be(a,e.UPDATE_ACTION,{id:t,action:c},r);l?n(p.Update,l,t):(o(p.Update,`Successfully updated "${c.type}" action`,t),await i())},remove:async(t,c)=>{if(r.isReadonly)return s();if(!e.DELETE_ACTION)return;const{error:l}=await be(a,e.DELETE_ACTION,{id:t,actionType:c},r);l?n(p.Delete,l,t):(o(p.Delete,`Successfully deleted "${c}" action`,t),await i())}}})(e,r),d=((e,r)=>{const a=oe(),{notifyError:n,notifySuccess:o,notifyReadonly:s}=ve(f.InstrumentationRule),i=async()=>{const{error:t}=await we(a,e.GET_INSTRUMENTATION_RULES,void 0,r);t&&n(p.Read,t)};return{useRules:()=>{const e=Me("GET_INSTRUMENTATION_RULES",void 0,{fetchPolicy:"cache-first"});return{items:t(()=>(e.data?.computePlatform?.instrumentationRules??e.data?.instrumentationRules??[]).map(C),[e.data]),loading:e.loading,refetch:i}},useRuleTypes:()=>{const e=Me("GET_INSTRUMENTATION_RULE_TYPES",void 0,{fetchPolicy:"cache-first"});return{options:t(()=>R(e.data)||et,[e.data]),loading:e.loading}},fetchAll:i,create:async(t,c)=>{if(r.isReadonly)return s();if(!e.CREATE_INSTRUMENTATION_RULE)return;const{error:l}=await be(a,e.CREATE_INSTRUMENTATION_RULE,{instrumentationRule:v(t)},r);l?n(p.Create,l):(o(p.Create,`Successfully created${c?` "${c}"`:""} rule`),await i())},update:async(t,c,l)=>{if(r.isReadonly)return s();if(!e.UPDATE_INSTRUMENTATION_RULE)return;const{error:d}=await be(a,e.UPDATE_INSTRUMENTATION_RULE,{ruleId:t,instrumentationRule:v(c)},r);d?n(p.Update,d,t):(o(p.Update,`Successfully updated${l?` "${l}"`:""} rule`,t),await i())},remove:async(t,c)=>{if(r.isReadonly)return s();if(!e.DELETE_INSTRUMENTATION_RULE)return;const{error:l}=await be(a,e.DELETE_INSTRUMENTATION_RULE,{ruleId:t},r);l?n(p.Delete,l,t):(o(p.Delete,`Successfully deleted${c?` "${c}"`:""} rule`,t),await i())}}})(e,r),m=((e,t)=>{const r=oe(),{addNotification:a}=c(),{setDataStreams:n}=h(),o=(e,t)=>a({type:u.Error,title:e,message:t}),i=async()=>{const{data:a,error:s}=await we(r,e.GET_DATA_STREAMS,void 0,t);if(s)o(p.Read,s);else if(a){const e=a.computePlatform?.dataStreams??a.dataStreams??[];n(e)}},l=e.CREATE_DATA_STREAM?async n=>{if(t.isReadonly)return Re(a);const{error:s}=await be(r,e.CREATE_DATA_STREAM,{stream:n},t);s?o(p.Create,s):await i()}:void 0;return{useDataStreams:()=>{const e=Me("GET_DATA_STREAMS",void 0,{fetchPolicy:"cache-first"}),t=e.data?.computePlatform?.dataStreams??e.data?.dataStreams??Je;return s(()=>{n(t)},[JSON.stringify(t.map(e=>e.name))]),{items:t,loading:e.loading,refetch:i}},fetchAll:i,create:l,update:async(n,s)=>{if(t.isReadonly)return Re(a);const{error:c}=await be(r,e.UPDATE_DATA_STREAM,{id:n,dataStream:s},t);c?o(p.Update,c):await i()},remove:async n=>{if(t.isReadonly)return Re(a);const{error:s}=await be(r,e.DELETE_DATA_STREAM,{id:n},t);s?o(p.Delete,s):await i()}}})(e,r),N=((e,t)=>{const r=oe(),{notifyError:a,notifyReadonly:n}=ve(f.Namespace),o=async()=>{const n=await we(r,e.GET_NAMESPACES_WITH_WORKLOADS,void 0,t);return n.error&&a(p.Read,n.error),n};return{useNamespaces:()=>{const e=Me("GET_NAMESPACES_WITH_WORKLOADS",void 0,{fetchPolicy:"cache-and-network"});return{items:e.data?.namespaces??Qe,loading:e.loading,refetch:o}},fetchAll:o,persist:async o=>{if(t.isReadonly)return n();const{error:s}=await be(r,e.PERSIST_NAMESPACES,o,t);return s&&a(p.Update,s),s?{error:s}:void 0}}})(e,r),O=((e,t)=>{const r=oe(),{notifyError:a}=ve(f.Source);return{fetch:async n=>{const o=await we(r,e.GET_K8S_MANIFEST,n,t);return o.error&&a(p.Read,o.error),o}}})(e,r),D=((e,t)=>{const r=oe(),{notifyError:a,notifySuccess:n,notifyReadonly:o}=ve(f.Source);return{useEffectiveConfig:(e,t)=>Me("GET_EFFECTIVE_CONFIG",e,t),useConfigYamls:e=>Me("GET_CONFIG_YAMLS",void 0,e),getEffectiveConfig:async a=>e.GET_EFFECTIVE_CONFIG?we(r,e.GET_EFFECTIVE_CONFIG,{id:a},t):{error:"GET_EFFECTIVE_CONFIG not configured"},applyConfigurations:e.UPDATE_REMOTE_CONFIG?async(n,s)=>{if(t.isReadonly)return o();const{error:i}=await be(r,e.UPDATE_REMOTE_CONFIG,{formData:n,connectionIds:s},t);return i&&a(p.Update,i),i?{error:i}:void 0}:void 0,getConfigYamls:e.GET_CONFIG_YAMLS?async()=>we(r,e.GET_CONFIG_YAMLS,void 0,t):void 0,updateLocalUiConfig:e.UPDATE_LOCAL_UI_CONFIG?async s=>{if(t.isReadonly)return o();const{error:i}=await be(r,e.UPDATE_LOCAL_UI_CONFIG,{config:s},t);return i?a(p.Update,i):n(p.Update,"Local UI configuration updated successfully"),i?{error:i}:void 0}:void 0,resetLocalUiConfigToDefaults:e.RESET_LOCAL_UI_CONFIG_TO_FACTORY_DEFAULTS?async()=>{if(t.isReadonly)return o();const{error:s}=await be(r,e.RESET_LOCAL_UI_CONFIG_TO_FACTORY_DEFAULTS,void 0,t);return s?a(p.Update,s):n(p.Update,"Local UI configuration reset to factory defaults"),s?{error:s}:void 0}:void 0}})(e,r),w=((e,t)=>{const r=oe(),{apolloConfig:a}=Te();return{fetchDescribeOdigos:e.GET_DESCRIBE_ODIGOS?async()=>we(r,e.GET_DESCRIBE_ODIGOS,void 0,t):void 0,fetchDescribeSource:e.GET_DESCRIBE_SOURCE?async a=>we(r,e.GET_DESCRIBE_SOURCE,a,t):void 0,downloadDiagnose:e.GET_DIAGNOSE?async(n,o)=>{const s=await we(r,e.GET_DIAGNOSE,{input:n,dryRun:o?.dryRun??!1},t),i=s?.data?.stats?.fileCount??0;return!s.error&&i>0&&!o?.dryRun&&await(async e=>{const t=(e=>{try{return new URL("/diagnose/download",e).toString()}catch{return null}})(e.httpUrl);if(t)try{const[r,a]=await Promise.all([Promise.resolve(e.authHeader?.()??{}),Promise.resolve(e.csrfHeader?.()??{})]),n=await fetch(t,{credentials:e.credentials??"same-origin",headers:{...r,...a}});if(!n.ok)throw new Error(`Failed to download diagnose archive: ${n.status} ${n.statusText}`);((e,t)=>{if("undefined"==typeof document)return;const r=URL.createObjectURL(e),a=document.createElement("a");a.href=r,a.download=t,document.body.appendChild(a),a.click(),document.body.removeChild(a),URL.revokeObjectURL(r)})(await n.blob(),`odigos-diagnose-${Date.now()}.tar.gz`)}catch(e){}})(a),s}:void 0}})(e,r),b=((e,t)=>{const r=oe(),{notifyError:a,notifyReadonly:n}=ve(f.Source),o=async()=>{e.GET_TOKENS&&await we(r,e.GET_TOKENS,void 0,t)};return{useTokens:()=>{const e=Me("GET_TOKENS",void 0,{fetchPolicy:"cache-first"});return{items:e.data??Ke,loading:e.loading,refetch:o}},updateToken:e.UPDATE_TOKEN?async o=>{if(t.isReadonly)return n();const{error:s}=await be(r,e.UPDATE_TOKEN,{token:o},t);return s&&a(p.Update,s),s?{error:s}:void 0}:void 0}})(e,r),P=((e,t)=>{const r=oe();return{useMetrics:e=>Me("GET_METRICS",void 0,e),fetch:async()=>we(r,e.GET_METRICS,void 0,t)}})(e,r),L=((e,t)=>{const r=oe();return{useServiceMap:e=>Me("GET_SERVICE_MAP",void 0,e),fetch:e.GET_SERVICE_MAP?async()=>we(r,e.GET_SERVICE_MAP,void 0,t):void 0}})(e,r),k=((e,t)=>{const r=oe();return{useSlots:e=>Me("GET_PROFILING_SLOTS",void 0,e),useSourceProfiling:(e,t)=>Me("GET_SOURCE_PROFILING",e,t),fetchSlots:e.GET_PROFILING_SLOTS?async()=>we(r,e.GET_PROFILING_SLOTS,void 0,t):void 0,fetchSourceProfiling:e.GET_SOURCE_PROFILING?async a=>we(r,e.GET_SOURCE_PROFILING,a,t):void 0,enableProfiling:e.ENABLE_SOURCE_PROFILING?async a=>be(r,e.ENABLE_SOURCE_PROFILING,a,t):void 0}})(e,r),F=((e,t)=>{const r=oe();return{useGatewayInfo:e=>Me("GET_GATEWAY_INFO",void 0,e),useGatewayPods:e=>Me("GET_GATEWAY_PODS",void 0,e),useNodeCollectorInfo:e=>Me("GET_NODE_COLLECTOR_INFO",void 0,e),useNodeCollectorPods:e=>Me("GET_NODE_COLLECTOR_PODS",void 0,e),usePodInfo:(e,t)=>Me("GET_COLLECTOR_POD_INFO",e,t),getGatewayInfo:e.GET_GATEWAY_INFO?async()=>we(r,e.GET_GATEWAY_INFO,void 0,t):void 0,getGatewayPods:e.GET_GATEWAY_PODS?async()=>we(r,e.GET_GATEWAY_PODS,void 0,t):void 0,getNodeCollectorInfo:e.GET_NODE_COLLECTOR_INFO?async()=>we(r,e.GET_NODE_COLLECTOR_INFO,void 0,t):void 0,getNodeCollectorPods:e.GET_NODE_COLLECTOR_PODS?async()=>we(r,e.GET_NODE_COLLECTOR_PODS,void 0,t):void 0,getExtendedPodInfo:e.GET_COLLECTOR_POD_INFO?async(a,n)=>we(r,e.GET_COLLECTOR_POD_INFO,{namespace:a,name:n},t):void 0}})(e,r),G=((e,t)=>{const r=oe(),{notifyError:a,notifySuccess:n,notifyReadonly:o}=ve(f.SamplingRule),s=async()=>{e.GET_SAMPLING_RULES&&await we(r,e.GET_SAMPLING_RULES,void 0,t)},i=(e,i)=>e?async c=>{if(t.isReadonly)return o();const{error:l}=await be(r,e,c,t);return l?a(i,l):(n(p.Create,"Successfully created sampling rule"),await s()),l?{error:l}:void 0}:void 0,c=(e,i)=>e?async(c,l)=>{if(t.isReadonly)return o();const{error:d}=await be(r,e,{samplingId:l.samplingId,ruleId:c,rule:l.rule},t);return d?a(i,d):(n(p.Update,"Successfully updated sampling rule"),await s()),d?{error:d}:void 0}:void 0,l=e=>e?async(i,c)=>{if(t.isReadonly)return o();const{error:l}=await be(r,e,{samplingId:c,ruleId:i},t);return l?a(p.Delete,l):(n(p.Delete,"Successfully deleted sampling rule"),await s()),l?{error:l}:void 0}:void 0;return{useSamplingRules:()=>{const e=Me("GET_SAMPLING_RULES",void 0,{fetchPolicy:"cache-first"});return{items:e.data?.computePlatform?.samplingRules??e.data?.samplingRules??Be,k8sHealthProbesConfig:e.data?.computePlatform?.k8sHealthProbesConfig??e.data?.k8sHealthProbesConfig??null,loading:e.loading,refetch:s}},fetchAll:e.GET_SAMPLING_RULES?async()=>we(r,e.GET_SAMPLING_RULES,void 0,t):void 0,createNoisy:i(e.CREATE_NOISY_OPERATION_RULE,p.Create),updateNoisy:c(e.UPDATE_NOISY_OPERATION_RULE,p.Update),deleteNoisy:l(e.DELETE_NOISY_OPERATION_RULE),createHighlyRelevant:i(e.CREATE_HIGHLY_RELEVANT_OPERATION_RULE,p.Create),updateHighlyRelevant:c(e.UPDATE_HIGHLY_RELEVANT_OPERATION_RULE,p.Update),deleteHighlyRelevant:l(e.DELETE_HIGHLY_RELEVANT_OPERATION_RULE),createCostReduction:i(e.CREATE_COST_REDUCTION_RULE,p.Create),updateCostReduction:c(e.UPDATE_COST_REDUCTION_RULE,p.Update),deleteCostReduction:l(e.DELETE_COST_REDUCTION_RULE),updateK8sHealthProbesConfig:e.UPDATE_LOCAL_UI_SAMPLING_CONFIG?async n=>{if(t.isReadonly)return o();const{error:i}=await be(r,e.UPDATE_LOCAL_UI_SAMPLING_CONFIG,{config:{k8sHealthProbesSampling:n}},t);return i?a(p.Update,i):await s(),i?{error:i}:void 0}:void 0}})(e,r),U=((e,r)=>{const a=oe();return{useSnapshots:()=>{const e=r.proxyID,a=!!e,o=Me("GET_ALL_CLUSTER_SNAPSHOTS",void 0,{fetchPolicy:"cache-and-network",skip:a}),s=Me("GET_CLUSTER_SNAPSHOT",e?{clusterId:e}:void 0,{fetchPolicy:"cache-and-network",skip:!a}),i=t(()=>a?ze(s.data):o.data,[a,s.data,o.data]),c=n(async()=>{if(!a)return o.refetch();const{data:e}=await s.refetch();return{data:ze(e)}},[a,o.refetch,s.refetch]);return{data:i,loading:a?s.loading:o.loading,unsupported:a?s.unsupported:o.unsupported,refetch:c}},getAllClusterSnapshots:e.GET_ALL_CLUSTER_SNAPSHOTS?async()=>we(a,e.GET_ALL_CLUSTER_SNAPSHOTS,void 0,r):void 0,getClusterSnapshot:e.GET_CLUSTER_SNAPSHOT?async t=>we(a,e.GET_CLUSTER_SNAPSHOT,{clusterId:t},r):void 0}})(e,r);return{sourcesApi:o,destinationsApi:i,actionsApi:l,instrumentationRulesApi:d,dataStreamsApi:m,namespacesApi:N,k8sManifestApi:O,configApi:D,describeApi:w,tokensApi:b,metricsApi:P,serviceMapApi:L,profilingApi:k,collectorsApi:F,samplingApi:G,snapshotsApi:U,capabilities:t(()=>((e,t)=>{const r=t.platformType===E.Vm,a=t.platformType===E.Connector,n=t.platformType===E.K8s,o=t.tier===y.Onprem,s=!r,i=n,c=n;return{canBulkPersistSources:s&&!!e.PERSIST_SOURCES,canInstrumentNamespaces:c&&!!e.PERSIST_NAMESPACES,canFetchSnapshots:i&&!!e.GET_ALL_CLUSTER_SNAPSHOTS,canRecoverFromRollback:i&&!!e.RECOVER_FROM_ROLLBACK,canRestartWorkloads:i&&!!e.RESTART_WORKLOADS,canFetchPeerSources:!!e.GET_PEER_SOURCES,canFetchSourceLibraries:!!e.GET_SOURCE_LIBRARIES,canFetchK8sManifest:i&&!!e.GET_K8S_MANIFEST,canCreateDestination:!!e.CREATE_DESTINATION,canTestConnection:s&&!!e.TEST_DESTINATION_CONNECTION,canFetchDestinationCategories:!!e.GET_DESTINATION_CATEGORIES,canFetchPotentialDestinations:s&&!!e.GET_POTENTIAL_DESTINATIONS,canCreateAction:!!e.CREATE_ACTION,canFetchActionTypes:!!e.GET_ACTION_TYPES,canCreateInstrumentationRule:!!e.CREATE_INSTRUMENTATION_RULE,canFetchInstrumentationRuleTypes:!!e.GET_INSTRUMENTATION_RULE_TYPES,canApplyEffectiveConfig:s&&!!e.UPDATE_REMOTE_CONFIG&&!!e.GET_EFFECTIVE_CONFIG,canFetchEffectiveConfig:!!e.GET_EFFECTIVE_CONFIG,canFetchConfigYamls:!!e.GET_CONFIG_YAMLS,canFetchProfiling:i&&!!e.GET_PROFILING_SLOTS,canFetchCollectorInfo:i&&!!e.GET_GATEWAY_INFO,canManageSamplingRules:!!e.GET_SAMPLING_RULES,isEnterprise:o,isVm:r,isConnector:a,isK8s:n}})(e,r),[e,r]),resetCache:n(async()=>{await a.cache.reset()},[a])}},rt={type:"",disabled:!1,name:"",notes:"",signals:[],fields:{}},at=a(null),nt=(e,t)=>{const r=O(e??{}),a=r[w.ExtractAttribute];a?.extractions?.length&&(a.extractions=a.extractions.map(e=>{const t=e;return{...t,method:t.method||(t.regex?.trim()?"regex":"preset")}}));const n=new Set((t?.fields||[]).filter(e=>e.componentType===b.SourceScopes).map(e=>e.name));return void 0!==r[w.Scopes]&&n.add(w.Scopes),n.forEach(e=>{const t=e;r[t]=Q(r[t])}),r},ot="All row fields are required",st="At least one row is required",it=(e,t)=>!!e&&t.every(t=>{const r=e[t];return Array.isArray(r)?r.length>0:!("string"==typeof(a=r)?!a.trim():L(a));var a}),ct=({children:r,sourceOptions:a=[],namespaceOptions:s=[]})=>{const[i,c]=o(null),d=N(rt),u=n(e=>{d.resetFormData(),d.handleErrorChange(void 0,void 0,{}),e?.type&&d.handleFormChange("type",e.type),c(e)},[]),m=n((e,t)=>{const r=t??(a=e.type,D.find(e=>e.type===a)??null);var a;d.resetFormData((({type:e,name:t,notes:r,disabled:a,signals:n,fields:o},s)=>({type:e,name:t||"",notes:r||"",disabled:!!a,signals:n??[],fields:nt(o,s)}))(e,r)),d.handleErrorChange(void 0,void 0,{}),c(r)},[]),p=n(()=>{if(!i)return{errorMessage:"No action type selected",preparedFormData:O(rt)};const e=((e,t)=>{const r=O(e),a=r.fields||{},n=a[w.UrlTemplatizationRulesGroups];n?.length&&(a[w.UrlTemplatizationRulesGroups]=n.map(e=>({...e,templatizationRules:(e.templatizationRules||[]).filter(e=>!!e.template?.trim())})));const o=a[w.AttributeNamesToDelete];o?.length&&(a[w.AttributeNamesToDelete]=o.filter(e=>!!e?.trim()));const s=a[w.Renames];if(s){const e=Array.isArray(s)?s.map(e=>[e?.key??"",e?.value??""]):Object.entries(s);a[w.Renames]=Object.fromEntries(e.filter(([e,t])=>!!e?.trim()&&!!t?.trim()))}const i=new Set((t?.fields||[]).filter(e=>e.componentType===b.SourceScopes).map(e=>e.name));void 0!==a[w.Scopes]&&i.add(w.Scopes),i.forEach(e=>{const t=a[e];void 0!==t&&(a[e]=B(t)?null:t)});const c=a[w.ExtractAttribute];return c?.extractions?.length&&(a[w.ExtractAttribute]={extractions:c.extractions.map(e=>{const t=e,r=t.method||(t.regex?.trim()?"regex":"preset"),a=t.targetAttributeName?.trim()||"";if("regex"===r)return{targetAttributeName:a,lookupKey:"",regex:t.regex?.trim()||""};const n={targetAttributeName:a,lookupKey:t.lookupKey?.trim()||"",regex:""};return t.dataFormat&&(n.dataFormat=t.dataFormat),n}).filter(e=>!!(e.targetAttributeName||e.lookupKey||e.dataFormat||e.regex))}),r.fields=a,r})(d.formData,i),t={};return L(e.signals)&&(t.signals=l.FIELD_IS_REQUIRED),i.type&&Object.assign(t,((e,t,r)=>{const a={},n=t.fields||{},o=r.fields||{};switch(e){case P.K8sAttributes:{const e=!(n[w.CollectContainerAttributes]||n[w.CollectReplicaSetAttributes]||n[w.CollectWorkloadId]||n[w.CollectClusterId]),t=!n[w.LabelsAttributes]?.length,r=!n[w.AnnotationsAttributes]?.length;e&&t&&r&&(a[w.CollectContainerAttributes]="Enable at least one option or add a label/annotation row");const o=n[w.LabelsAttributes];o?.some(e=>!it(e,["labelKey","attributeKey","fromSources"]))&&(a[w.LabelsAttributes]=ot);const s=n[w.AnnotationsAttributes];s?.some(e=>!it(e,["annotationKey","attributeKey","fromSources"]))&&(a[w.AnnotationsAttributes]=ot);break}case P.AddClusterInfo:{const e=n[w.ClusterAttributes];e?.length?e.some(e=>!it(e,["attributeName","attributeStringValue"]))&&(a[w.ClusterAttributes]=ot):a[w.ClusterAttributes]=st;break}case P.DeleteAttributes:{const e=o[w.AttributeNamesToDelete]||[],t=n[w.AttributeNamesToDelete]||[];t.length?e.length>t.length&&(a[w.AttributeNamesToDelete]=ot):a[w.AttributeNamesToDelete]=e.length?ot:st;break}case P.RenameAttributes:{const e=Object.entries(o[w.Renames]||{}),t=Object.entries(n[w.Renames]||{}),r=e.some(([e,t])=>!e?.trim()||!t?.trim());t.length?r&&(a[w.Renames]=ot):a[w.Renames]=e.length?ot:st;break}case P.PiiMasking:{const e=n[w.PiiCategories];e?.length||(a[w.PiiCategories]="Select at least one attribute to mask");break}case P.URLTemplatization:{const e=n[w.UrlTemplatizationRulesGroups];(!e?.length||e.some(e=>!e.templatizationRules?.length))&&(a[w.UrlTemplatizationRulesGroups]="Each rule group needs at least one non-blank template");break}case P.ExtractAttribute:{const e=n[w.ExtractAttribute]?.extractions||[],t=o[w.ExtractAttribute]?.extractions||[];if(e.length)if(e.some(e=>{if(!e.targetAttributeName?.trim())return!0;const t=!!e.regex?.trim(),r=!!e.lookupKey?.trim();return r!==!!e.dataFormat||t===r}))a[w.ExtractAttribute]="Each row needs a target attribute name and either a regex or both lookup key and data format";else{const t=new Set;e.some(e=>{const r=e.targetAttributeName?.trim()||"";return!!t.has(r)||(t.add(r),!1)})&&(a[w.ExtractAttribute]="Each new span attribute name must be unique")}else a[w.ExtractAttribute]=t.length?ot:st;break}}return a})(i.type,e,d.formData)),d.handleErrorChange(void 0,void 0,t),{errorMessage:Object.keys(t).length>0?"Invalid form values":void 0,preparedFormData:e}},[d,i]),f=t(()=>({selectedOption:i,onSelectOption:u,loadAction:m,genericForm:d,validateFormData:p,sourceOptions:a,namespaceOptions:s}),[i,u,m,d,p,a,s]);return e(at.Provider,{value:f,children:r})},lt=()=>{const e=r(at);if(!e)throw new Error("useActionFormContext must be used within an ActionFormContextProvider");return e},dt={provider:"",permission:"",customCapabilities:{},authMethod:"",setupMethod:"",awsAccountId:"",credentials:{},accessToken:"",secretId:"",name:""},ut=a(null),mt=({children:r,providers:a=[]})=>{const o=N(dt),s=n(()=>{const e=O(o.formData);return e.provider?e.permission?{errorMessage:void 0,preparedFormData:e}:{errorMessage:"Please select a permission level",preparedFormData:e}:{errorMessage:"Please select a provider",preparedFormData:e}},[o]),i=t(()=>({providers:a,genericForm:o,validateFormData:s}),[a,o,s]);return e(ut.Provider,{value:i,children:r})},pt=()=>{const e=r(ut);if(!e)throw new Error("useCloudConnectorFormContext must be used within a CloudConnectorFormContextProvider");return e},ft={name:""},Et=a(null),yt=({children:r,defaultExcludeName:a=""})=>{const{dataStreams:s}=h(),[c,d]=o(void 0),[u,m]=o(a),[p,f]=o(void 0),[E,y]=o(null),S=i(null),T=N(ft),g=n(e=>{T.resetFormData({name:e}),T.handleErrorChange(void 0,void 0,{}),d(void 0),m(e),f(e),y(null),S.current=null},[]),_=n(()=>{const e=O(T.formData),t=(e=>{const t={};return e.name?k(e.name)||(t.name=l.ILLEGAL_K8S_LABEL):t.name=l.FIELD_IS_REQUIRED,t})(e);T.handleErrorChange(void 0,void 0,t);const r=Object.keys(t).length>0?l.REQUIRED_FIELDS:void 0;return d(r),{errorMessage:r,preparedFormData:e}},[T]),I=n(async e=>{const{errorMessage:t,preparedFormData:r}=_();if(t)return;const a=s.find(e=>e.name===r.name&&e.name!==u);if(a)return S.current=e,void y({preparedFormData:r,existingName:a.name,editingName:p});await e(r)},[_,s,u,p]),A=n(async()=>{const e=S.current,t=E?.preparedFormData;S.current=null,y(null),e&&t&&await e(t)},[E]),v=n(()=>{S.current=null,y(null)},[]),R=t(()=>({genericForm:T,loadDataStream:g,editingName:p,validateFormData:_,requestSubmit:I,pendingMerge:E,confirmMerge:A,cancelMerge:v,errorMessage:c,excludeName:u,setExcludeName:m}),[T,g,p,_,I,E,A,v,c,u]);return e(Et.Provider,{value:R,children:r})},ht=()=>{const e=r(Et);if(!e)throw new Error("useDataStreamFormContext must be used within a DataStreamFormContextProvider");return e},St={type:"",name:"",currentStreamName:"",disabled:!1,exportedSignals:{logs:!1,metrics:!1,traces:!1,profiles:!1},fields:[]},Tt={activeForm:null,onChangeActiveForm:()=>{},loadDestination:()=>{},genericForm:void 0,validateFormData:()=>({isOk:!1,preparedFormData:O(St)}),unsavedDestinations:[],thisUnsavedDestination:void 0,setUnsavedDestinations:()=>{},addUnsavedDestination:()=>{},updateUnsavedDestination:()=>{},deleteUnsavedDestination:()=>{}},gt=a(Tt),_t=e=>e.filter(e=>!!e).map(e=>{const{name:t,componentType:r,componentProperties:a,displayName:n,initialValue:o,renderCondition:s}=e,i=r===b.Dropdown,c=M(a,{});return{componentType:r,renderCondition:s,name:t,title:n,value:o,placeholder:c.placeholder||(i?"Select an option":void 0),options:i&&Array.isArray(c.values)?c.values.map(e=>({id:e,label:e})):void 0,...c}}),It=({children:r})=>{const{selectedStreamName:a}=h(),{items:i}=tt().destinationsApi.useDestinations(),[c,d]=o(null),[u,m]=o(Tt.unsavedDestinations),p=t(()=>"number"==typeof c?.unsavedIdx?u[c.unsavedIdx]:void 0,[c,u]),f=n((e,t)=>{c&&(m(t=>[...t,{...e,option:c.option}]),d(t?e=>e?{...e,listType:F.UNSAVED,unsavedIdx:u.length}:null:null))},[c,u.length]),E=n((e,t,r)=>{c&&(m(r=>r.map((r,a)=>a===e?{...r,...t,option:c.option}:r)),d(r?e=>e?{...e,listType:F.UNSAVED}:null:null))},[c]),y=n(e=>{m(t=>t.filter((t,r)=>r!==e)),d(null)},[]),S=N({...St,currentStreamName:a});s(()=>{if(!c)return;if(p)return void S.resetFormData({...p.formData});if(c.listType===F.EXISTS&&c.option.id){const e=i.find(e=>e.id===c.option.id);if(e)return void S.resetFormData({type:e.destinationType.type,name:e.name||e.destinationType.displayName,currentStreamName:a,disabled:!!e.disabled,exportedSignals:{logs:!!e.exportedSignals?.logs,metrics:!!e.exportedSignals?.metrics,traces:!!e.exportedSignals?.traces,profiles:!!e.exportedSignals?.profiles},fields:c.dynamicFields.map(e=>({key:e.name,value:e.value}))})}const e=G(c.option.supportedSignals);S.resetFormData({type:c.option.type,name:c.option.displayName,currentStreamName:a,disabled:!1,exportedSignals:{logs:e.includes(U.Logs),metrics:e.includes(U.Metrics),traces:e.includes(U.Traces),profiles:e.includes(U.Profiles)},fields:c.dynamicFields.map(e=>({key:e.name,value:e.value}))})},[c,p]);const T=n(e=>{S.resetFormData(),S.handleErrorChange(void 0,void 0,{}),d(e?{...e,dynamicFields:e.option?.fields?_t(e.option.fields):[]}:null)},[]),g=n((e,t)=>{let r;for(const a of t){const t=a.items.find(t=>t.type===e.destinationType.type);if(t){r=t;break}}const a=M(e.fields,{}),n={id:e.id,type:e.destinationType.type,displayName:e.name||e.destinationType.displayName,selected:!0,testConnectionSupported:r?.testConnectionSupported??!1,supportedSignals:e.destinationType.supportedSignals,fields:r?r.fields.map(e=>({...e,initialValue:a[e.name]??e.initialValue})):[]},o=_t(n.fields);d({listType:F.EXISTS,option:n,dynamicFields:o})},[]),_=n(()=>{const e=O(S.formData),t={};return c?.dynamicFields.forEach(({name:r,required:a})=>{if(a){const a=e.fields.find(e=>e.key===r)?.value;L(a)&&(t[r]=l.FIELD_IS_REQUIRED)}}),x(e.exportedSignals).length||(t.exportedSignals=l.FIELD_IS_REQUIRED),S.handleErrorChange(void 0,void 0,t),{errorMessage:0===Object.keys(t).length?void 0:"Invalid form values",preparedFormData:e}},[S,c]);return e(gt.Provider,{value:{activeForm:c,onChangeActiveForm:T,loadDestination:g,genericForm:S,validateFormData:_,unsavedDestinations:u,thisUnsavedDestination:p,setUnsavedDestinations:m,addUnsavedDestination:f,updateUnsavedDestination:E,deleteUnsavedDestination:y},children:r})},At=()=>r(gt),vt={disabled:!1,ruleName:"",notes:"",sourceScopes:z(),workloads:null,instrumentationLibraries:null,payloadCollection:null,codeAttributes:null,headersCollection:null,customInstrumentations:null,networkMetrics:null},Rt=a(null),Ct=({children:r,sourceOptions:a=[],namespaceOptions:s=[]})=>{const[i,c]=o(null),l=N(vt),d=n(e=>{l.resetFormData(),l.handleErrorChange(void 0,void 0,{}),c(e)},[]),u=n((e,t)=>{var r;l.resetFormData((({ruleName:e,notes:t,disabled:r,sourceScopes:a,instrumentationLibraries:n,payloadCollection:o,codeAttributes:s,headersCollection:i,customInstrumentations:c,networkMetrics:l})=>({ruleName:e||"",notes:t||"",disabled:!!r,sourceScopes:Q(a),workloads:null,instrumentationLibraries:n??null,payloadCollection:o??null,codeAttributes:s??null,headersCollection:i??null,customInstrumentations:c??null,networkMetrics:l??null}))(e)),l.handleErrorChange(void 0,void 0,{}),c(t??(r=e.type,H.find(e=>e.type===r)??null))},[]),m=n(()=>{if(!i)return{errorMessage:"No rule type selected",preparedFormData:O(vt)};const e=(e=>{const t=O(e),r={...t,sourceScopes:B(t.sourceScopes)?null:t.sourceScopes,workloads:null};return r.headersCollection?.[K.HeaderKeys]?.length&&(r.headersCollection[K.HeaderKeys]=r.headersCollection[K.HeaderKeys].map(e=>e.trim()).filter(e=>e)),r.customInstrumentations?.[V.Golang]?.length&&(r.customInstrumentations[V.Golang]=r.customInstrumentations[V.Golang].map(e=>new W(e.packageName,e.functionName,e.receiverName,e.receiverMethodName)).filter(e=>{return t=e,!!(t.packageName?.trim()||t.functionName?.trim()||t.receiverName?.trim()||t.receiverMethodName?.trim());var t})),r.customInstrumentations?.[V.Java]?.length&&(r.customInstrumentations[V.Java]=r.customInstrumentations[V.Java].map(e=>new Y(e.className,e.methodName)).filter(e=>{return t=e,!(!t.className?.trim()&&!t.methodName?.trim());var t})),r.customInstrumentations?.[V.Php]?.length&&(r.customInstrumentations[V.Php]=r.customInstrumentations[V.Php].map(e=>new $(e.className,e.functionName)).filter(e=>{return t=e,!(!t.className?.trim()&&!t.functionName?.trim());var t})),r})(l.formData),t=((e,t)=>{const r={};switch(e){case j.CodeAttributes:Object.values(t.codeAttributes||{}).some(e=>null!=e)||(r.codeAttributes="Code attributes are required");break;case j.PayloadCollection:Object.values(t.payloadCollection||{}).some(e=>null!=e)||(r.payloadCollection="Payload collection are required");break;case j.HeadersCollection:t.headersCollection?.[K.HeaderKeys]?.length||(r.headersCollection="Header keys are required");break;case j.CustomInstrumentation:{const e=t.customInstrumentations?.[V.Golang]||[],a=t.customInstrumentations?.[V.Java]||[],n=t.customInstrumentations?.[V.Php]||[];if(!e.length&&!a.length&&!n.length){r.customInstrumentations="Custom instrumentation are required";break}const o=e.findIndex(e=>!new W(e.packageName,e.functionName,e.receiverName,e.receiverMethodName).Verify());if(-1!==o){r.customInstrumentations=`Golang probe #${o+1} is invalid: provide a package name plus either a function name OR both a receiver name and receiver method name`;break}const s=a.findIndex(e=>!new Y(e.className,e.methodName).Verify());if(-1!==s){r.customInstrumentations=`Java probe #${s+1} is invalid: both class name and method name are required`;break}const i=n.findIndex(e=>!new $(e.className,e.functionName).Verify());if(-1!==i){r.customInstrumentations=`PHP probe #${i+1} is invalid: function name is required`;break}break}}return r})(i.type,e);return l.handleErrorChange(void 0,void 0,t),{errorMessage:Object.keys(t).length>0?"Invalid form values":void 0,preparedFormData:e}},[l,i]),p=t(()=>({selectedOption:i,onSelectOption:d,loadRule:u,genericForm:l,validateFormData:m,sourceOptions:a,namespaceOptions:s}),[i,d,u,l,m,a,s]);return e(Rt.Provider,{value:p,children:r})},Nt=()=>{const e=r(Rt);if(!e)throw new Error("useRuleFormContext must be used within a RuleFormContextProvider");return e};var Ot;(e=>{e.Create="create",e.View="view",e.EditAutoNoisy="edit-auto-noisy",e.EditAutoCostReduction="edit-auto-cost-reduction",e.EditAutoHighlyRelevant="edit-auto-highly-relevant"})(Ot||(Ot={}));const Dt=a(null),wt=["50","25","10","1"];function bt(e){const t=String(e);return wt.includes(t)?t:"custom"}const Pt=({category:r,sourceOptions:a=[],namespaceOptions:i=[],children:c})=>{const{formData:l,handleFormChange:d,resetFormData:u}=N(te(r)),[m,p]=o(null);s(()=>{u(te(r)),p(null)},[r]);const f=n(e=>{p(null),d(void 0,void 0,{...l,...e})},[l,d]),E=n(()=>{u(te(r)),p(null)},[r,u]),y=t(()=>({formType:Ot.Create,category:r,formData:l,handleChange:f,resetForm:E,duplicateWarning:m,setDuplicateWarning:p,sourceOptions:a,namespaceOptions:i}),[r,l,f,E,m,a,i]);return e(Dt.Provider,{value:y,children:c})},Lt=({data:r,defaultEditMode:a,sourceOptions:c=[],namespaceOptions:l=[],children:d})=>{const[u,m]=o(!1),{formData:p,handleFormChange:f,resetFormData:E}=N(void 0),y=i(null),[h,S]=o(null);s(()=>{r!==y.current&&(y.current=r,r&&a?(E(ee(r)),S(null),m(!0)):(m(!1),S(null)))},[r,a]);const T=n(e=>{S(null),f(void 0,void 0,{...p,...e})},[p,f]),g=n(()=>{r&&(E(ee(r)),S(null),m(!0))},[r,E]),_=n(()=>{m(!1),S(null)},[]),I=t(()=>({formType:Ot.View,data:r,isEditing:u,formData:p,handleChange:T,handleEdit:g,handleCancelEdit:_,duplicateWarning:h,setDuplicateWarning:S,sourceOptions:c,namespaceOptions:l}),[r,u,p,T,g,_,h,c,l]);return e(Dt.Provider,{value:I,children:d})};function kt(e){const[r,a]=o(()=>0===e?"all":"sample"),[n,i]=o(()=>bt(e)),[c,l]=o(()=>"custom"===bt(e)?String(e):"");s(()=>{a(0===e?"all":"sample");const t=bt(e);i(t),l("custom"===t?String(e):"")},[e]);const d=t(()=>"all"===r?0:"custom"===n?Number(c)||0:Number(n),[r,n,c]);return{percentageMode:r,setPercentageMode:a,percentagePreset:n,setPercentagePreset:i,customPercentage:c,setCustomPercentage:l,resolvedPercentage:d}}const Ft=({enabled:r,keepPercentage:a,children:n})=>{const[i,c]=o(r),l=kt(a);s(()=>{c(r)},[r]);const d=t(()=>Z({enabled:i,keepPercentage:l.resolvedPercentage}),[i,l.resolvedPercentage]),u=t(()=>({formType:Ot.EditAutoNoisy,localEnabled:i,setLocalEnabled:c,...l,summary:d}),[i,l,d]);return e(Dt.Provider,{value:u,children:n})},Gt=({enabled:r,dropPercentage:a,children:n})=>{const[i,c]=o(r),l=kt(a);s(()=>{c(r)},[r]);const d=t(()=>X(i?{disabled:!1,percentageAtMost:l.resolvedPercentage}:null),[i,l.resolvedPercentage]),u=t(()=>({formType:Ot.EditAutoCostReduction,localEnabled:i,setLocalEnabled:c,...l,summary:d}),[i,l,d]);return e(Dt.Provider,{value:u,children:n})},Ut=({enabled:r,children:a})=>{const[n,i]=o(r);s(()=>{i(r)},[r]);const c=t(()=>J(n?{disabled:!1}:null),[n]),l=t(()=>({formType:Ot.EditAutoHighlyRelevant,localEnabled:n,setLocalEnabled:i,summary:c}),[n,c]);return e(Dt.Provider,{value:l,children:a})},Mt=t=>{switch(t.formType){case Ot.Create:return e(Pt,{...t});case Ot.View:return e(Lt,{...t});case Ot.EditAutoNoisy:return e(Ft,{...t});case Ot.EditAutoCostReduction:return e(Gt,{...t});case Ot.EditAutoHighlyRelevant:return e(Ut,{...t})}};function xt(e){const t=r(Dt);if(!t)throw new Error("useSamplingRulesFormContext must be used within a SamplingRulesFormProvider");if(e&&t.formType!==e)throw new Error(`Expected formType "${e}" but found "${t.formType}"`);return t}const Ht={otelServiceName:"",currentStreamName:""},Kt=a(null),Vt=({children:r})=>{const[a,s]=o(void 0),i=N(Ht),c=n(e=>{i.resetFormData((({serviceName:e,id:t})=>({otelServiceName:e||t.name||"",currentStreamName:""}))(e)),i.handleErrorChange(void 0,void 0,{}),s(void 0)},[]),l=n(()=>{const e=O(i.formData);return i.handleErrorChange(void 0,void 0,{}),s(void 0),{errorMessage:void 0,preparedFormData:e}},[i]),d=t(()=>({loadSource:c,genericForm:i,validateFormData:l,errorMessage:a}),[c,i,l,a]);return e(Kt.Provider,{value:d,children:r})},Wt=()=>{const e=r(Kt);if(!e)throw new Error("useSourceEditFormContext must be used within a SourceEditFormContextProvider");return e},Yt=new Set([q.StaticPod]),$t=e=>{const t=e.workloads.filter(({selected:e})=>e).length,r=e.workloads.length;return{selectedCount:t,isAllSourced:t>0&&t===r,isSomeSourced:t>0&&t<r,isFutureApps:e.selected||!1}},jt=(e,t,r)=>{if(t&&!e.name.toLowerCase().includes(t.toLowerCase()))return!1;if(r.showOnlySelected){const{isAllSourced:t,isSomeSourced:r,isFutureApps:a}=$t(e);return t||r||a}return!0},qt=(e,t,r)=>!(t&&!e.name.toLowerCase().includes(t.toLowerCase()))&&(!r.showOnlySelected||e.selected),Bt=a({snapshots:null,setSnapshots:()=>{},isFetching:!1,setIsFetching:()=>{},formData:[],handleSourceChange:()=>{},handleSelectAll:()=>{},formDiff:{},isFormDirty:!1}),Qt=(e,t)=>`${e}\0${t}`,zt=(e,t,r,a)=>`${e}\0${t}\0${r}/${a}`,Jt=(e,t)=>e.name===t.name&&e.kind===t.kind&&(e.region??"")===(t.region??""),Xt=(e,t,r)=>{const a=[];return t.workloads.forEach(n=>{const o=e?.workloads.find(e=>Jt(e,n));n.selected!==o?.selected&&a.push({namespace:t.name,name:n.name,kind:n.kind,region:n.region||void 0,selected:n.selected||!1,currentStreamName:r})}),a},Zt=({children:r,selectedConnectionIds:a,initialInputs:c})=>{const{tier:l}=re(),d=l===y.Onprem,{capabilities:u}=tt(),m=u.canInstrumentNamespaces,{selectedStreamName:p}=h(),[E,S]=o(!1),[T,g]=o(null),[_,I]=o([]),A=i(new Set),v=n((e,t)=>{t.forEach(t=>{const r=e.find(e=>e.clusterId===t.clusterId);r&&t.namespaces.forEach(e=>{const a=r.namespaces.find(t=>t.name===e.name);a&&(a.selected!==e.selected&&A.current.add(Qt(t.clusterId,e.name)),e.workloads.forEach(r=>{const n=a.workloads.find(e=>e.name===r.name&&e.kind===r.kind);n&&n.selected!==r.selected&&A.current.add(zt(t.clusterId,e.name,r.kind,r.name))}))})})},[]);s(()=>{T&&I(e=>{const t=((e,t)=>O(((e,t)=>e.clusters.filter(({clusterId:e})=>!t||t.includes(e)))(e,t)))(T,a);return t.map(t=>{const r=e?.find(e=>e.clusterId===t.clusterId),a=((e,t,r)=>{if(!t)return e;const a=new Map(t.namespaces.map(e=>[e.name,e]));return{...e,namespaces:e.namespaces.map(t=>{const n=a.get(t.name);if(!n)return t;const o=new Map(n.workloads.map(e=>[`${e.kind}/${e.name}`,e])),s=r.has(Qt(e.clusterId,t.name));return{...t,selected:s?n.selected:t.selected,workloads:t.workloads.map(a=>{const n=o.get(`${a.kind}/${a.name}`),s=r.has(zt(e.clusterId,t.name,a.kind,a.name));return n&&s?{...a,selected:n.selected}:a})}})}})(t,r,A.current);if(c?.[t.clusterId]){const e=c[t.clusterId],r=O(a);return e.forEach(e=>{const t=r.namespaces.find(t=>t.name===e.namespace);if(t)if(e.name&&e.kind){const r=t.workloads.find(t=>t.name===e.name&&t.kind===e.kind);r&&(r.selected=e.selected)}else t.selected=e.selected,e.selected&&t.workloads.forEach(e=>{Yt.has(e.kind)&&!d||(e.selected=!0)})}),r}return a})})},[T,a,c]);const{formDiff:R,isFormDirty:C}=t(()=>{const e=((e,t,r,a)=>{const n={};return e.forEach(e=>{e.namespaces.forEach(o=>{const s=t.find(t=>t.clusterId===e.clusterId)?.namespaces.find(e=>e.name===o.name);if(!a){const t=Xt(s,o,r);return void(t.length>0&&(n[e.clusterId]||(n[e.clusterId]=[]),n[e.clusterId].push(...t)))}const i=o.selected||!1;if(i!==s?.selected)n[e.clusterId]||(n[e.clusterId]=[]),n[e.clusterId].push({namespace:o.name,selected:i,currentStreamName:r}),i?n[e.clusterId]=n[e.clusterId].filter(e=>e.namespace!==o.name||e.namespace===o.name&&(!e.name||!e.kind)):o.workloads.forEach(t=>{t.selected&&n[e.clusterId].push({namespace:o.name,name:t.name,kind:t.kind,region:t.region||void 0,selected:!0,currentStreamName:r})});else{const t=Xt(s,o,r);t.length>0&&(n[e.clusterId]||(n[e.clusterId]=[]),n[e.clusterId].push(...t))}})}),n})(_,T?.clusters||[],p,m);return{formDiff:e,isFormDirty:Object.keys(e).length>0}},[_,T,p,m]),N=n(e=>!d&&Yt.has(e),[d]),D=n(({clusterId:e,workloadId:t,selected:r,auto:a})=>{I(n=>{const o=O(n),s=o.findIndex(t=>t.clusterId===e);if(-1===s)return o;const i=o[s].namespaces.findIndex(e=>e.name===t.namespace);if(-1===i)return o;if(t.kind&&t.name){const e=o[s].namespaces[i].workloads.findIndex(e=>Jt(e,{name:t.name,kind:t.kind,region:t.region}));if(-1===e)return o;const a="boolean"==typeof r?r:!o[s].namespaces[i].workloads[e].selected;o[s].namespaces[i].workloads[e].selected=a,m&&(a?o[s].namespaces[i].workloads.filter(e=>!N(e.kind)).every(e=>e.selected)&&(o[s].namespaces[i].selected=!0):o[s].namespaces[i].selected=!1)}else if(m){const e="boolean"==typeof a?a:!o[s].namespaces[i].selected;o[s].namespaces[i].selected=e,e?o[s].namespaces[i].workloads.forEach(e=>{N(e.kind)||(e.selected=!0)}):"boolean"!=typeof r||r||o[s].namespaces[i].workloads.forEach(e=>{e.selected=!1})}else{const e="boolean"==typeof r?r:"boolean"!=typeof a||a;o[s].namespaces[i].workloads.forEach(t=>{e&&N(t.kind)||(t.selected=e)})}return v(n,o),o})},[N,m,v]),w=n(({clusterId:e,namespaceName:t,boolean:r,searchText:a="",searchBy:n="",filters:o})=>{I(s=>{const i=O(s),c=n===f.Namespace?a:"",l=n===f.Source?a:"",d=!!c||!!l||!!o?.showOnlySelected;return i.forEach((a,n)=>{e&&a.clusterId!==e||a.namespaces.forEach(({name:e,workloads:a},s)=>{if(!t||e===t)if(d)if(t){if(a.forEach((e,t)=>{r&&N(e.kind)||qt(e,l,o||{showOnlySelected:!1})&&(i[n].namespaces[s].workloads[t].selected=r)}),m){const e=i[n].namespaces[s].workloads.filter(e=>!N(e.kind)).every(e=>e.selected);i[n].namespaces[s].selected=e}}else{if(!jt(i[n].namespaces[s],c,o||{showOnlySelected:!1}))return;m&&(i[n].namespaces[s].selected=r),a.forEach((e,t)=>{r&&N(e.kind)||(i[n].namespaces[s].workloads[t].selected=r)})}else m&&(i[n].namespaces[s].selected=r),a.forEach((e,t)=>{r&&N(e.kind)||(i[n].namespaces[s].workloads[t].selected=r)})})}),v(s,i),i})},[N,m,v]);return e(Bt.Provider,{value:{snapshots:T,setSnapshots:g,isFetching:E,setIsFetching:S,formData:_,handleSourceChange:D,handleSelectAll:w,formDiff:R,isFormDirty:C},children:r})},er=()=>r(Bt);export{ct as A,mt as C,yt as D,Yt as E,Ie as O,Ct as R,Ot as S,Pe as a,It as b,ge as c,Mt as d,Vt as e,Zt as f,Ve as g,lt as h,xe as i,He as j,Me as k,pt as l,ht as m,At as n,tt as o,We as p,Nt as q,be as r,xt as s,Wt as t,Te as u,er as v,qt as w,jt as x,$t as y};
|