@odigos/ui-kit 0.0.284 → 0.0.286-dev.520

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (155) hide show
  1. package/CHANGELOG.md +28 -0
  2. package/docs/api-context.md +1 -1
  3. package/lib/chunks/{helpers-DqYXvhEu.js → helpers-B0SJ6hqm.js} +2 -2
  4. package/lib/chunks/index-9H2LDuOq.js +311 -0
  5. package/lib/chunks/source-instrument-form-context-BF70uJ_R.js +5 -0
  6. package/lib/chunks/ui-components-DqG0z5U0.js +1878 -0
  7. package/lib/components/_cards/data-card/index.d.ts +6 -1
  8. package/lib/components/_cards/text-card/index.d.ts +3 -0
  9. package/lib/components/drawer/header/index.d.ts +2 -0
  10. package/lib/components/hover-actions/index.d.ts +1 -1
  11. package/lib/components/index.d.ts +2 -0
  12. package/lib/components/info-row/index.d.ts +11 -0
  13. package/lib/components/input/index.d.ts +2 -0
  14. package/lib/components/table/index.d.ts +10 -0
  15. package/lib/components/table/styled.d.ts +11 -0
  16. package/lib/components/table/table-rows/index.d.ts +6 -1
  17. package/lib/components/table/types.d.ts +11 -2
  18. package/lib/components/trace-view/index.d.ts +4 -0
  19. package/lib/components/trace-view/styled.d.ts +43 -0
  20. package/lib/components/trace-view/types.d.ts +46 -0
  21. package/lib/components.js +1 -1
  22. package/lib/constants/index.d.ts +1 -0
  23. package/lib/constants/recommendations/index.d.ts +31 -0
  24. package/lib/constants/strings/index.d.ts +3 -0
  25. package/lib/constants.js +1 -1
  26. package/lib/containers/_drawers/edit-source-drawer/overview/runtime-card.d.ts +5 -2
  27. package/lib/containers/_drawers/edit-source-drawer/pods/containers-card/process-card.d.ts +1 -7
  28. package/lib/containers/_drawers/index.d.ts +1 -0
  29. package/lib/containers/_drawers/recommendations-drawer/helpers.d.ts +22 -0
  30. package/lib/containers/_drawers/recommendations-drawer/index.d.ts +9 -0
  31. package/lib/containers/_drawers/recommendations-drawer/manual-examples.d.ts +6 -0
  32. package/lib/containers/_drawers/recommendations-drawer/recommendation-card.d.ts +13 -0
  33. package/lib/containers/_drawers/recommendations-drawer/remediation-actions.d.ts +9 -0
  34. package/lib/containers/_drawers/recommendations-drawer/remediation-methods.d.ts +13 -0
  35. package/lib/containers/index.d.ts +1 -0
  36. package/lib/containers/insights/consts.d.ts +6 -0
  37. package/lib/containers/insights/findings/drawer/anomaly/anomaly-blast-radius/animated-edge.d.ts +10 -0
  38. package/lib/containers/insights/findings/drawer/anomaly/anomaly-blast-radius/blast-radius-node.d.ts +6 -0
  39. package/lib/containers/insights/findings/drawer/anomaly/anomaly-blast-radius/helpers.d.ts +28 -0
  40. package/lib/containers/insights/findings/drawer/anomaly/anomaly-blast-radius/index.d.ts +7 -0
  41. package/lib/containers/insights/findings/drawer/anomaly/anomaly-blast-radius/types.d.ts +19 -0
  42. package/lib/containers/insights/findings/drawer/anomaly/anomaly-trace-compare/helpers.d.ts +15 -0
  43. package/lib/containers/insights/findings/drawer/anomaly/anomaly-trace-compare/index.d.ts +7 -0
  44. package/lib/containers/insights/findings/drawer/anomaly/index.d.ts +15 -0
  45. package/lib/containers/insights/findings/drawer/anomaly/why-this-fired/index.d.ts +6 -0
  46. package/lib/containers/insights/findings/drawer/helpers.d.ts +11 -0
  47. package/lib/containers/insights/findings/drawer/index.d.ts +6 -0
  48. package/lib/containers/insights/findings/drawer/violation/index.d.ts +6 -0
  49. package/lib/containers/insights/findings/drawer/violation/violation-trace-view/index.d.ts +8 -0
  50. package/lib/containers/insights/findings/helpers.d.ts +47 -0
  51. package/lib/containers/insights/findings/index.d.ts +2 -0
  52. package/lib/containers/insights/index.d.ts +6 -0
  53. package/lib/containers/insights/insights-context.d.ts +44 -0
  54. package/lib/containers/insights/overview/contained-table-and-heading/index.d.ts +18 -0
  55. package/lib/containers/insights/overview/index.d.ts +6 -0
  56. package/lib/containers/insights/settings-and-configurations/constants.d.ts +16 -0
  57. package/lib/containers/insights/settings-and-configurations/content-panel/index.d.ts +11 -0
  58. package/lib/containers/insights/settings-and-configurations/index.d.ts +2 -0
  59. package/lib/containers/insights/settings-and-configurations/menu-config.d.ts +24 -0
  60. package/lib/containers/insights/settings-and-configurations/panels/detection/constants.d.ts +40 -0
  61. package/lib/containers/insights/settings-and-configurations/panels/detection/create-override-panel.d.ts +14 -0
  62. package/lib/containers/insights/settings-and-configurations/panels/detection/index.d.ts +2 -0
  63. package/lib/containers/insights/settings-and-configurations/panels/detection/mappers.d.ts +12 -0
  64. package/lib/containers/insights/settings-and-configurations/panels/detection/mock.d.ts +4 -0
  65. package/lib/containers/insights/settings-and-configurations/panels/detection/policies-menu.d.ts +10 -0
  66. package/lib/containers/insights/settings-and-configurations/panels/detection/policy-editor.d.ts +8 -0
  67. package/lib/containers/insights/settings-and-configurations/panels/detection/policy-list-item.d.ts +8 -0
  68. package/lib/containers/insights/settings-and-configurations/panels/detection/risk-levels.d.ts +15 -0
  69. package/lib/containers/insights/settings-and-configurations/panels/detection/risk-model-drawer/constants.d.ts +16 -0
  70. package/lib/containers/insights/settings-and-configurations/panels/detection/risk-model-drawer/default-catalog.d.ts +3 -0
  71. package/lib/containers/insights/settings-and-configurations/panels/detection/risk-model-drawer/helpers.d.ts +30 -0
  72. package/lib/containers/insights/settings-and-configurations/panels/detection/risk-model-drawer/index.d.ts +10 -0
  73. package/lib/containers/insights/settings-and-configurations/panels/detection/signal-weights-panel.d.ts +13 -0
  74. package/lib/containers/insights/settings-and-configurations/panels/detection/signal-weights.d.ts +17 -0
  75. package/lib/containers/insights/settings-and-configurations/panels/detection/types.d.ts +29 -0
  76. package/lib/containers/insights/settings-and-configurations/panels/guardrails/constants.d.ts +35 -0
  77. package/lib/containers/insights/settings-and-configurations/panels/guardrails/create-panel.d.ts +17 -0
  78. package/lib/containers/insights/settings-and-configurations/panels/guardrails/edit-panel.d.ts +10 -0
  79. package/lib/containers/insights/settings-and-configurations/panels/guardrails/facet-section.d.ts +13 -0
  80. package/lib/containers/insights/settings-and-configurations/panels/guardrails/guardrail-list-item.d.ts +8 -0
  81. package/lib/containers/insights/settings-and-configurations/panels/guardrails/guardrails-menu.d.ts +9 -0
  82. package/lib/containers/insights/settings-and-configurations/panels/guardrails/index.d.ts +2 -0
  83. package/lib/containers/insights/settings-and-configurations/panels/guardrails/mappers.d.ts +18 -0
  84. package/lib/containers/insights/settings-and-configurations/panels/guardrails/types.d.ts +10 -0
  85. package/lib/containers/insights/settings-and-configurations/panels/learning/constants.d.ts +82 -0
  86. package/lib/containers/insights/settings-and-configurations/panels/learning/create-override-panel.d.ts +21 -0
  87. package/lib/containers/insights/settings-and-configurations/panels/learning/index.d.ts +2 -0
  88. package/lib/containers/insights/settings-and-configurations/panels/learning/mappers.d.ts +38 -0
  89. package/lib/containers/insights/settings-and-configurations/panels/learning/policies-menu.d.ts +10 -0
  90. package/lib/containers/insights/settings-and-configurations/panels/learning/policy-editor.d.ts +9 -0
  91. package/lib/containers/insights/settings-and-configurations/panels/learning/policy-list-item.d.ts +8 -0
  92. package/lib/containers/insights/settings-and-configurations/panels/learning/types.d.ts +31 -0
  93. package/lib/containers/insights/settings-and-configurations/panels/storage/constants.d.ts +52 -0
  94. package/lib/containers/insights/settings-and-configurations/panels/storage/formatters.d.ts +5 -0
  95. package/lib/containers/insights/settings-and-configurations/panels/storage/index.d.ts +2 -0
  96. package/lib/containers/insights/settings-and-configurations/panels/storage/layout.d.ts +18 -0
  97. package/lib/containers/insights/settings-and-configurations/panels/storage/mappers.d.ts +27 -0
  98. package/lib/containers/insights/settings-and-configurations/panels/system/constants.d.ts +31 -0
  99. package/lib/containers/insights/settings-and-configurations/panels/system/index.d.ts +2 -0
  100. package/lib/containers/insights/settings-and-configurations/settings-menu/category-header.d.ts +8 -0
  101. package/lib/containers/insights/settings-and-configurations/settings-menu/index.d.ts +7 -0
  102. package/lib/containers/insights/transactions/drawer/baselines/helpers.d.ts +16 -0
  103. package/lib/containers/insights/transactions/drawer/baselines/index.d.ts +5 -0
  104. package/lib/containers/insights/transactions/drawer/index.d.ts +2 -0
  105. package/lib/containers/insights/transactions/drawer/observations/helpers.d.ts +11 -0
  106. package/lib/containers/insights/transactions/drawer/observations/index.d.ts +5 -0
  107. package/lib/containers/insights/transactions/helpers.d.ts +35 -0
  108. package/lib/containers/insights/transactions/index.d.ts +2 -0
  109. package/lib/containers/overview/search/builder.d.ts +3 -1
  110. package/lib/containers.js +1436 -248
  111. package/lib/contexts/odigos-api/capabilities.d.ts +5 -0
  112. package/lib/contexts/odigos-api/hooks/use-actions-api.d.ts +3 -1
  113. package/lib/contexts/odigos-api/hooks/use-insights-api.d.ts +153 -0
  114. package/lib/contexts/odigos-api/hooks/use-recommendations-api.d.ts +32 -0
  115. package/lib/contexts/odigos-api/index.d.ts +3 -1
  116. package/lib/contexts/odigos-api/internal/notify.d.ts +4 -3
  117. package/lib/contexts/odigos-api/types.d.ts +223 -1
  118. package/lib/contexts/odigos-api/use-odigos-api.d.ts +4 -0
  119. package/lib/contexts.js +1 -1
  120. package/lib/functions/index.d.ts +1 -0
  121. package/lib/functions/parse-raw-otlp/index.d.ts +43 -0
  122. package/lib/functions.js +1 -1
  123. package/lib/hooks/useCopy.d.ts +2 -3
  124. package/lib/hooks/useTimeAgo.d.ts +4 -0
  125. package/lib/hooks.js +1 -1
  126. package/lib/icons/common/index.d.ts +4 -0
  127. package/lib/icons/common/insights-findings-icon/index.d.ts +2 -0
  128. package/lib/icons/common/insights-transactions-icon/index.d.ts +2 -0
  129. package/lib/icons/common/recommendations-icon/index.d.ts +2 -0
  130. package/lib/icons/common/threat-detection-icon/index.d.ts +2 -0
  131. package/lib/icons/overview/index.d.ts +1 -0
  132. package/lib/icons/overview/insights-icon/index.d.ts +2 -0
  133. package/lib/icons.js +1 -1
  134. package/lib/snippets/animated-collapse/index.d.ts +10 -0
  135. package/lib/snippets/code-modal/index.d.ts +9 -0
  136. package/lib/snippets/index.d.ts +2 -0
  137. package/lib/snippets/rich-title/index.d.ts +4 -1
  138. package/lib/snippets/trace-modal/index.d.ts +8 -0
  139. package/lib/snippets/yaml-section-card/index.d.ts +1 -0
  140. package/lib/snippets.js +1 -1
  141. package/lib/store.js +1 -1
  142. package/lib/theme/palettes/index.d.ts +7 -1
  143. package/lib/theme.js +1 -1
  144. package/lib/types/common/index.d.ts +4 -1
  145. package/lib/types/destinations/index.d.ts +1 -0
  146. package/lib/types/index.d.ts +2 -0
  147. package/lib/types/insights/index.d.ts +598 -0
  148. package/lib/types/recommendations.d.ts +73 -0
  149. package/lib/types/workload/index.d.ts +14 -0
  150. package/lib/types.js +1 -1
  151. package/lib/visuals.js +1 -1
  152. package/package.json +1 -1
  153. package/lib/chunks/index-DxXpZafj.js +0 -257
  154. package/lib/chunks/source-instrument-form-context-BPXm6ufr.js +0 -5
  155. package/lib/chunks/ui-components-M0c3qdR2.js +0 -1601
package/CHANGELOG.md CHANGED
@@ -1,5 +1,33 @@
1
1
  # Changelog
2
2
 
3
+ ## [0.0.286](https://github.com/odigos-io/ui-kit/compare/ui-kit-v0.0.285...ui-kit-v0.0.286) (2026-08-12)
4
+
5
+
6
+ ### Features
7
+
8
+ * show ContainersCard for connector/VM container overrides (PLAT-1405) ([#1193](https://github.com/odigos-io/ui-kit/issues/1193)) ([7cc4265](https://github.com/odigos-io/ui-kit/commit/7cc42658a71bc65d106f9b2d19fd76b8c0f8b362))
9
+
10
+ ## [0.0.285](https://github.com/odigos-io/ui-kit/compare/ui-kit-v0.0.284...ui-kit-v0.0.285) (2026-08-11)
11
+
12
+
13
+ ### Features
14
+
15
+ * add odigos_profile_diagnostic destination type (PLAT-1378) ([#1164](https://github.com/odigos-io/ui-kit/issues/1164)) ([a3eb49e](https://github.com/odigos-io/ui-kit/commit/a3eb49e8de4f12d88c9e06bb9269b62749781566))
16
+ * add recommendation domain primitives ([#1165](https://github.com/odigos-io/ui-kit/issues/1165)) ([543a7b1](https://github.com/odigos-io/ui-kit/commit/543a7b1d304937e8a03872161decb7252965477b))
17
+ * add recommendation remediation flows ([#1169](https://github.com/odigos-io/ui-kit/issues/1169)) ([d29de01](https://github.com/odigos-io/ui-kit/commit/d29de0169607d9f6ddda0000339615780f0f7823))
18
+ * add recommendations drawer ([#1168](https://github.com/odigos-io/ui-kit/issues/1168)) ([5e16098](https://github.com/odigos-io/ui-kit/commit/5e16098bed5d7e8c9c45062ae6ed91ad89a107aa))
19
+ * connector instrumentation mode labels (PLAT-1407) ([#1187](https://github.com/odigos-io/ui-kit/issues/1187)) ([a8a80f5](https://github.com/odigos-io/ui-kit/commit/a8a80f512c8f7b92f8e712a3a973ba5d3d8e16fd))
20
+ * expose recommendations through Odigos API ([#1166](https://github.com/odigos-io/ui-kit/issues/1166)) ([5f2f077](https://github.com/odigos-io/ui-kit/commit/5f2f0772a009699af0f1c71b1bd0e166716b5707))
21
+ * gate recommendation remediations behind accept/dismiss ([#1186](https://github.com/odigos-io/ui-kit/issues/1186)) ([4999cf6](https://github.com/odigos-io/ui-kit/commit/4999cf6c1956dbe43ede6be565b1dd53a47ec4f0))
22
+ * hide rules and actions from connector overview (PLAT-1406) ([#1190](https://github.com/odigos-io/ui-kit/issues/1190)) ([1259c5b](https://github.com/odigos-io/ui-kit/commit/1259c5b9546f0f9f0a4d6a1c0a3c52e2610386c3))
23
+ * improve recommendations drawer apply UX (PLAT-1413) ([#1189](https://github.com/odigos-io/ui-kit/issues/1189)) ([8910b74](https://github.com/odigos-io/ui-kit/commit/8910b7428e66ac0d1dc86536ac8cb6a1ff604ee6))
24
+ * support recommendation card layouts ([#1167](https://github.com/odigos-io/ui-kit/issues/1167)) ([f6ae8b8](https://github.com/odigos-io/ui-kit/commit/f6ae8b88e7206a7809f692b719224f1c62a95cbd))
25
+
26
+
27
+ ### Bug Fixes
28
+
29
+ * show delete action for connected cloud connectors (PLAT-1404) ([#1188](https://github.com/odigos-io/ui-kit/issues/1188)) ([5fcf880](https://github.com/odigos-io/ui-kit/commit/5fcf880b00f5e4437f136142abcf2f4b7e213c22))
30
+
3
31
  ## [0.0.284](https://github.com/odigos-io/ui-kit/compare/ui-kit-v0.0.283...ui-kit-v0.0.284) (2026-08-04)
4
32
 
5
33
 
@@ -219,7 +219,7 @@ export default function OdigosApiAdapter({ children, context }) {
219
219
  // the CSRF hook so the very first render reports the loading
220
220
  // state and the gate doesn't briefly mount the provider with a
221
221
  // null token.
222
- if (!ready) return <Loader />;
222
+ if (!ready) return <Loader withSpinner />;
223
223
 
224
224
  return (
225
225
  <OdigosApiProvider apolloConfig={apolloConfig} operations={operations} context={context}>
@@ -1,8 +1,8 @@
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-M0c3qdR2.js";import p from"styled-components";var d;(e=>{e.Default="default",e.Action="action",e.Endpoint="endpoint",e.Scope="scope",e.Duration="duration"})(d||(d={}));const f=[d.Action,d.Endpoint,d.Scope,d.Duration],h=p.span`
1
+ import{jsx as e,Fragment as t,jsxs as r}from"react/jsx-runtime";import{Fragment as n,useMemo as o,useContext as a,createContext as s}from"react";import{T as i,t as u,b as l,P as c}from"./ui-components-DqG0z5U0.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;
5
- color: ${({theme:e,$variant:t})=>{const r=e.v2.colors;switch(t){case"action":return r.green[400];case"endpoint":return r.purple[300];case"scope":return r.yellow[400];case"duration":return r.orange[600];default:return r.white[500]}}};
5
+ color: ${({theme:e,$variant:t})=>{const r=e.v2.colors;switch(t){case"action":return r.green[400];case"endpoint":return r.purple[300];case"scope":return r.yellow[400];case"duration":return r.orange[500];default:return r.white[500]}}};
6
6
  `,m=p.span`
7
7
  text-decoration: underline dotted;
8
8
  text-underline-offset: 3px;
@@ -0,0 +1,311 @@
1
+ import{jsx as e,jsxs as a,Fragment as t}from"react/jsx-runtime";import l,{css as r,useTheme as n}from"styled-components";import{D as i,c as o,F as s,d as c,e as d,f as p,g as u,h,B as g,i as m,j as v,k as b,W as f,u as y,M as x,I as C,l as k,N as $,m as S,C as w,n as T,o as M,V as A,p as O,q as L,r as P,s as E,v as I,w as N,x as R,y as V,z,E as D,G as X,H,J as _,K as B,L as j,S as q,O as K,Q as U,U as G,X as F,Y as W,Z as J,_ as Y,$ as Z,a0 as Q,a1 as ee,a2 as ae,a3 as te,a4 as le,a5 as re,a6 as ne,a7 as ie,a8 as oe,a9 as se,aa as ce,T as de,ab as pe,ac as ue,ad as he,ae as ge,af as me,ag as ve,ah as be,ai as fe,aj as ye,ak as xe,al as Ce,am as ke,an as $e,b as Se,ao as we,ap as Te,aq as Me,ar as Ae,as as Oe,at as Le,au as Pe,av as Ee,aw as Ie,ax as Ne,ay as Re,az as Ve,aA as ze,aB as De,aC as Xe,aD as He,aE as _e,aF as Be,aG as je,aH as qe,aI as Ke,aJ as Ue,aK as Ge,aL as Fe,aM as We,aN as Je,aO as Ye,aP as Ze,aQ as Qe,aR as ea,aS as aa,aT as ta,aU as la,aV as ra,aW as na,aX as ia,aY as oa,aZ as sa,a_ as ca,a$ as da,b0 as pa,b1 as ua,b2 as ha,b3 as ga,b4 as ma,b5 as va,b6 as ba,b7 as fa,R as ya,b8 as xa,A as Ca,b9 as ka}from"./ui-components-DqG0z5U0.js";import{XIcon as $a,VIcon as Sa,TrashIcon as wa,PlusIcon as Ta,VSquareIcon as Ma,XSquareIcon as Aa,EditIcon as Oa,OdigosLogoTextCentral as La,OdigosLogoTextEnterprise as Pa,OdigosLogoTextCommunity as Ea,OdigosLogoTextColoredCentral as Ia,OdigosLogoTextColoredEnterprise as Na,OdigosLogoTextColoredCommunity as Ra,ArrowLeftIcon as Va,ArrowRightIcon as za,CopyIcon as Da,YamlIcon as Xa}from"../icons.js";import Ha,{useMemo as _a,useRef as Ba,useCallback as ja,useState as qa,useEffect as Ka,Fragment as Ua,forwardRef as Ga,useImperativeHandle as Fa}from"react";import{i as Wa,m as Ja,u as Ya,n as Za,a as Qa,C as et,b as at,d as tt,e as lt,f as rt,g as nt,h as it,j as ot,k as st}from"./helpers-B0SJ6hqm.js";const ct=/^[a-zA-Z]$/,dt=new Set(["*","+","?"]),pt=new Set(["^","$"]),ut={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"},ht=l.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
+ `,gt=l.span`
22
+ background: ${({$kind:e})=>ut[e]};
23
+ `,mt=({pattern:a,"data-id":t})=>{const l=_a(()=>(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(dt.has(a)||pt.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];ct.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(ht,a?{"data-id":t,children:l.map((a,t)=>e(gt,{$kind:a.kind,children:a.text},t))}:{"data-id":t,children:" "})},vt="rgba(102, 191, 255, 0.5)",bt=r`
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
+ `,ft=l.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
+ `,yt=l.div`
49
+ ${bt}
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
+ `,xt=l.textarea`
63
+ ${bt}
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
+ `,Ct=e=>({before:e,matchPre:"",capture:"",matchPost:"",after:""}),kt=({regex:t,value:l,onChange:r,minHeight:n=240,...i})=>{const o=Ba(null),s=Ba(null),c=_a(()=>((e,a)=>{if(!e||!a)return Ct(a);let t;try{t=new RegExp(e)}catch{return Ct(a)}const l=t.exec(a);if(!l)return Ct(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=ja(()=>{o.current&&s.current&&(o.current.scrollTop=s.current.scrollTop,o.current.scrollLeft=s.current.scrollLeft)},[]);return a(ft,{$minHeight:n,children:[a(yt,{ref:o,"aria-hidden":!0,children:[c.before,e("span",{style:{background:vt},children:c.matchPre}),e("span",{style:{background:"rgba(102, 242, 102, 0.5)"},children:c.capture}),e("span",{style:{background:vt},children:c.matchPost}),c.after,l.endsWith("\n")?" ":""]}),e(xt,{ref:s,$minHeight:n,value:l,onChange:e=>r(e.target.value),onScroll:d,spellCheck:!1,...i})]})},$t=l.div`
82
+ flex: 1;
83
+ min-height: 0;
84
+ overflow-y: auto;
85
+ `,St=l.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
+ `,wt=l.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
+ `,Tt=({isOpen:t,regex:l,onClose:r,initialTestString:n=""})=>{const[f,y]=qa(n),x=_a(()=>((e,a)=>{if(!e)return{ok:!0,isMatch:!1,message:o.RESULT_EMPTY_REGEX};if(!a)return{ok:!0,isMatch:!1,message:o.RESULT_EMPTY_INPUT};let t;try{t=new RegExp(e)}catch(e){return{ok:!1,message:e instanceof Error?e.message:o.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:o.RESULT_NO_MATCH}})(l,f),[l,f]),C=x.ok?x.isMatch?"match":"neutral":"error";return e(i,{isOpen:t,header:{title:o.TITLE,onClose:()=>{y(""),r()}},children:e($t,{children:a(St,{children:[a(s,{$gap:6,children:[e(c,{label:o.REGEX_LABEL}),e(mt,{pattern:l,"data-id":"regex-tester-regex"}),!l&&e(d,{size:u.XXS,color:p.Secondary,children:o.REGEX_EMPTY_HINT})]}),a(s,{$gap:6,children:[a(h,{$width:"100%",$justifyContent:"space-between",$alignItems:"center",children:[e(c,{label:o.TEST_STRING_LABEL}),e(g,{"data-id":"regex-tester-unescape",label:o.UNESCAPE_LABEL,tooltip:o.UNESCAPE_TOOLTIP,variant:v.Secondary,size:m.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:(k=f,!/\\["'\\nrt]/.test(k))})]}),e(kt,{name:"regex-tester-test-string","data-id":"regex-tester-test-string",placeholder:o.TEST_STRING_PLACEHOLDER,regex:l,value:f,onChange:y,minHeight:240}),e(b,{helpMessage:o.TEST_STRING_HELP})]}),a(s,{$gap:8,children:[e(c,{label:o.RESULT_LABEL}),e(wt,{$tone:C,"data-id":"regex-tester-result",children:x.message}),x.ok&&x.isMatch&&e(d,{size:u.XXS,color:p.Secondary,children:o.RESULT_CAPTURE_HINT})]})]})})});var k},Mt=l.div`
104
+ display: grid;
105
+ grid-template-rows: ${({$open:e})=>e?"1fr":"0fr"};
106
+ opacity: ${({$open:e})=>e?1:0};
107
+ margin-bottom: ${({$open:e,$gapCancelPx:a})=>e?"0":`-${a}px`};
108
+ transition:
109
+ grid-template-rows ${220}ms ease,
110
+ opacity ${220}ms ease ${({$open:e,$delayInMs:a})=>e?`${a}ms`:"0ms"},
111
+ margin-bottom ${220}ms ease;
112
+ pointer-events: ${({$open:e})=>e?"auto":"none"};
113
+
114
+ > .animated-collapse-inner {
115
+ overflow: hidden;
116
+ min-height: 0;
117
+ }
118
+ `,At=({open:a,children:t,delayInMs:l=0,gapCancelPx:r=0})=>e(Mt,{$open:a,$delayInMs:l,$gapCancelPx:r,"aria-hidden":!a,children:e("div",{className:"animated-collapse-inner",children:t})}),Ot=({isOpen:a,onClose:t,onDeny:l,onApprove:r})=>e(f,{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:v.Secondary,onClick:()=>{l?.(),t()}},approveButton:{label:"Discard changes",variant:v.Primary,onClick:()=>{r?.(),t()}}}),Lt=l.div`
119
+ display: flex;
120
+ flex-direction: column;
121
+ gap: 12px;
122
+ width: 70vw;
123
+ height: 70vh;
124
+ padding: 12px;
125
+ overflow: auto;
126
+ `,Pt=l.div`
127
+ display: flex;
128
+ align-items: center;
129
+ justify-content: space-between;
130
+ width: 100%;
131
+ `,Et=({isOpen:t,onClose:l,language:r,code:n,...i})=>{const{CopyButton:o}=y();return e(x,{isOpen:t,onClose:l,children:a(Lt,{children:[a(Pt,{children:[e(d,{size:u.XS,children:"JSON view"}),e(C,{icon:a=>e($a,{...a}),size:k.L,onClick:l})]}),r&&n?e(S,{fullHeight:!0,overflow:"auto",children:a(h,{$width:"100%",$alignItems:"flex-start",$justifyContent:"space-between",children:[e(w,{language:r,code:n,...i}),e(o,{value:n})]})}):e($,{})]})})},It=({isOpen:a,onClose:t,onViewConnector:l})=>e(f,{isOpen:a,onClose:t,visual:()=>e(A,{scale:1.2,icon:Sa}),title:M.CLOUD_CONNECTOR_CREATED_MODAL_TITLE,description:M.CLOUD_CONNECTOR_CREATED_MODAL_DESC,denyButton:{label:T.STAY_ON_CONNECTIONS,variant:v.Secondary,onClick:t},approveButton:{label:T.GO_TO_CONNECTOR_OVERVIEW,variant:v.Primary,onClick:l??t}}),Nt=({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),p=i?.endsWith("s")?"these":"this";return e(f,{title:`${d}${i?` ${i}`:""}?`,description:o??`Are you sure you want to ${n}${i?` ${p} ${i}`:""}?`,isOpen:a,onClose:t,denyButton:{label:c??"Go back",variant:v.Secondary,onClick:()=>{l?.(),t()}},approveButton:{label:s??d,variant:v.Primary,onClick:()=>{r?.(),t()}}})},Rt=({componentType:a,inputType:t,name:l,label:r,tooltip:n,badge:i,placeholder:o,required:s,disabled:c,value:d,setValue:p,errorMessage:u,warnMessage:h,helpMessage:g,dropdownOptions:m,dropdownNoSearch:v,dropdownNoCheckbox:b,timeUnits:f,timeDefaultUnit:y,toggleSize:x=E.L,keyLabel:C,valueLabel:k})=>{switch(a){case O.Input:return e(H,{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;p(t===_.Number?""===a?null:Number(a):a)},errorMessage:u,warnMessage:h,helpMessage:g},l);case O.MultiInput:return e(X,{name:l,label:r,tooltip:n,badge:i,placeholder:o,required:s,disabled:c,values:Array.isArray(d)?d:D(d,[]),setValues:e=>p(e),errorMessage:u,warnMessage:h,helpMessage:g,plain:!0},l);case O.KeyValuePair:return e(z,{name:l,label:r,tooltip:n,badge:i,required:s,disabled:c,limitFieldsPerRow:2,columns:[{keyName:"key",label:C||"Key",placeholder:C||"Key"},{keyName:"value",label:k||"Value",placeholder:k||"Value"}],values:Array.isArray(d)?d:D(d,[]),setValues:e=>p(e),errorMessage:u,warnMessage:h,helpMessage:g},l);case O.TextArea:return e(V,{name:l,label:r,tooltip:n,badge:i,required:s,disabled:c,placeholder:o,value:d??"",onChange:e=>p(e.target.value),errorMessage:u,warnMessage:h,helpMessage:g},l);case O.Dropdown:return e(R,{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=>p(e[0]),errorMessage:u,warnMessage:h,helpMessage:g},l);case O.Checkbox:return e(N,{name:l,label:r,tooltip:n,badge:i,value:!0===d||"true"===d,onChange:e=>p(e),disabled:c,errorMessage:u,warnMessage:h,helpMessage:g},l);case O.Time:return e(I,{name:l,label:r,tooltip:n,badge:i,placeholder:o,required:s,disabled:c,value:d??"",setValue:e=>p(e),units:f,defaultUnit:y,errorMessage:u,warnMessage:h,helpMessage:g},l);case O.Toggle:return e(L,{name:l,size:x,labelAlign:P.Right,label:r,tooltip:n,badge:i,value:!0===d||"true"===d,onChange:e=>p(e),disabled:c,errorMessage:u,warnMessage:h,helpMessage:g},l);default:return null}},Vt=l.div`
132
+ display: flex;
133
+ flex-wrap: wrap;
134
+ gap: 8px;
135
+ `,zt=l.div`
136
+ display: flex;
137
+ align-items: center;
138
+ gap: 8px;
139
+ padding: 8px 12px;
140
+ border-radius: 8px;
141
+ cursor: pointer;
142
+ background: ${({theme:e,$selected:a})=>a?e.v2.colors.silver[700]:e.v2.colors.silver[800]};
143
+ border: 1px solid ${({theme:e,$selected:a})=>a?e.v2.colors.silver[500]:e.v2.colors.silver[750]};
144
+
145
+ &:hover {
146
+ background: ${({theme:e})=>e.v2.colors.silver[700]};
147
+ }
148
+ `,Dt=l.div`
149
+ display: flex;
150
+ width: 32px;
151
+ height: 32px;
152
+ justify-content: center;
153
+ align-items: center;
154
+ flex-shrink: 0;
155
+ `,Xt=l.div`
156
+ display: flex;
157
+ flex-direction: column;
158
+ gap: 12px;
159
+ `,Ht=l.div`
160
+ display: flex;
161
+ flex-wrap: wrap;
162
+ gap: 6px;
163
+ `,_t=l.div`
164
+ display: flex;
165
+ align-items: center;
166
+ gap: 8px;
167
+ &::before,
168
+ &::after {
169
+ content: '';
170
+ flex: 1;
171
+ height: 1px;
172
+ background-color: ${({theme:e})=>e.v2.colors.silver[700]};
173
+ }
174
+ `,Bt=l.div`
175
+ padding: 2px 10px;
176
+ border-radius: 999px;
177
+ background-color: ${({theme:e})=>e.v2.colors.silver[700]};
178
+ border: 1px solid ${({theme:e})=>e.v2.colors.silver[600]};
179
+ `,jt={[Y.JavaScript]:"Node.js",[Y.DotNet]:".NET",[Y.Php]:"PHP",[Y.Java]:"Java",[Y.Go]:"Go",[Y.Python]:"Python",[Y.Ruby]:"Ruby",[Y.Rust]:"Rust"},qt=[Y.Python,Y.Java,Y.JavaScript,Y.DotNet,Y.Php,Y.Ruby,Y.Go],Kt=[{value:"all",label:"Entire Cluster"},{value:"source",label:"Specific Source"},{value:"namespace",label:"Specific Namespace"},{value:"language",label:"Specific Programming Language"}];function Ut(e){return jt[e]||e.charAt(0).toUpperCase()+e.slice(1)}function Gt(e){return null!=e?`${e}. ${oe}`:oe}const Ft=({readOnly:a,...t})=>e(a?Yt:Qt,{...t}),Wt=({title:t,count:l,children:r})=>a(s,{$gap:6,children:[a(h,{$gap:8,$alignItems:"center",children:[e(d,{size:u.XS,color:p.Primary,nowrap:!0,children:t}),l>1&&e(d,{size:u.XXS,color:p.Secondary,nowrap:!0,children:`(${ne})`})]}),e(Ht,{children:r})]}),Jt=()=>{const a=n();return e(_t,{children:e(Bt,{children:e(d,{size:u.XXS,color:a.v2.colors.white[500],nowrap:!0,children:ie})})})},Yt=({scopes:t,titleNumber:l})=>{const r=Gt(l);if(Wa(t))return e(S,{bgTint:"900",richTitle:{title:r},withCollapse:!0,collapseIsDefaultOpen:!0,children:e(B,{status:q.Default,message:j,fullWidth:!0})});const n=t.sources??[],i=t.namespaces??[],o=t.languages??[],s=[];return n.length&&s.push({kind:"sources",node:e(Wt,{title:K,count:n.length,children:n.map((a,t)=>{const l=[a.namespace,a.kind,a.name].filter(Boolean),r=l.length?l.join(" / "):G;return e(U,{label:r},`src-${t}-${r}`)})})}),i.length&&s.push({kind:"namespaces",node:e(Wt,{title:F,count:i.length,children:i.map((a,t)=>e(U,{label:a},`ns-${t}-${a}`))})}),o.length&&s.push({kind:"languages",node:e(Wt,{title:W,count:o.length,children:o.map((a,t)=>{const l=Z(a);return e(U,{label:Ut(a),leftIcon:l},`lang-${t}-${a}`)})})}),e(S,{bgTint:"900",richTitle:{title:r,subTitle:s.length>1?J:void 0},withCollapse:!0,collapseIsDefaultOpen:!0,children:e(S,{bgTint:"800",children:e(Xt,{children:s.map((t,l)=>a(Ha.Fragment,{children:[l>0&&e(Jt,{}),t.node]},t.kind))})})})},Zt=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:n=[],supportedLanguages:i,titleNumber:o,dataIdPrefix:c="source-scope",slim:h,disabled:g})=>{const m=t??Ja(),[v,b]=qa(()=>Zt(m)),{sources:f,namespaces:y,languages:x}=m,C=f.length>0||y.length>0||x.length>0;Ka(()=>{C&&"all"===v&&b(Zt(m))},[C,v]);const k=_a(()=>Kt.map(e=>"language"===e.value&&0===i?.length?null:{...e,disabled:"all"===e.value&&C}).filter(Boolean),[C]),$=_a(()=>f.map(e=>`${e.namespace}/${e.kind}/${e.name}`),[f]),S=_a(()=>[...y],[y]),w=_a(()=>new Set(x),[x]),T=ja(e=>{b(e)},[]),M=ja(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({...m,sources:a})},[m,l]),A=ja(e=>{l({...m,namespaces:e})},[m,l]),O=ja(e=>{const a=m.languages,t=a.includes(e)?a.filter(a=>a!==e):[...a,e];l({...m,languages:t})},[m,l]),L=!C&&"all"===v,P=(i||qt).map(e=>({id:e,label:jt[e]??e.charAt(0).toUpperCase()+e.slice(1),Icon:Z(e)}));return a(Q,{richTitle:h?{title:Gt(o),titleSize:u.XS,titleColor:p.Secondary,tooltip:ee}:{title:Gt(o),subTitle:ee,subTitleWrap:!0},backgroundColor:h?"transparent":void 0,padding:h?0:void 0,children:[e(B,L?{status:q.Default,message:j,fullWidth:!0,smallIcon:!0}:{status:q.Info,message:J,fullWidth:!0,smallIcon:!0}),e(s,{$alignItems:"flex-start",children:e(ae,{options:k,selected:v,setSelected:T,disabled:g})}),"source"===v&&e(te,{multiple:!0,"data-id":`${c}-autocomplete-source`,options:r,value:$,onSelect:M,placeholder:le,disabled:g}),"namespace"===v&&e(te,{multiple:!0,"data-id":`${c}-autocomplete-namespace`,options:n,value:S,onSelect:A,placeholder:"Search namespace",disabled:g}),"language"===v&&P.length>0&&e(Vt,{children:P.map(({id:t,label:l,Icon:r})=>{const n=w.has(t);return a(zt,{$selected:n,onClick:()=>O(t),children:[e(N,{name:`${c}-lang-${t}`,size:re.S,value:n,onChange:()=>O(t),disabled:g}),e(Dt,{children:e(r,{size:20})}),e(d,{size:u.XS,nowrap:!0,children:l})]},t)})})]})},el=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)}},al=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}}},tl=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:el(a.options??a.values),fullRow:a.fullRow,defaultValue:a.defaultValue,withRegexTester:a.withRegexTester,separator:a.separator,copyByColumn:a.copyByColumn,renderCondition:al(a.renderCondition)}})},ll=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(rl):void 0}})},rl=e=>{const a="string"==typeof e.componentProperties?D(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:el(a.options??a.values),itemWrapperKey:a.itemWrapperKey,columns:tl(a.columns),limitFieldsPerRow:a.limitFieldsPerRow,variant:a.variant,wrapKey:a.wrapKey,checkboxOptions:ll(a.options??a.values),checkedValue:a.checkedValue??"true",valueMode:a.valueMode??"object",fields:Array.isArray(a.fields)?a.fields.map(rl):void 0,addLabel:a.addLabel,itemLabel:a.itemLabel,keyLabel:a.titleKey??a.keyLabel,valueLabel:a.titleValue??a.valueLabel,persistAs:a.persistAs}},nl=e=>{const a=e.initialValue;if(void 0!==a&&""!==a)return e.componentType===O.CheckboxList?"array"===e.valueMode?D(a,[]):D(a,{}):e.componentType!==O.MultiInput&&e.componentType!==O.MultiTabledInput||!e.wrapKey?e.componentType===O.MultiInput||e.componentType===O.MultiTabledInput?D(a,[]):e.componentType===O.SourceScopes?"null"===a||"{}"===a?Ja():Za(D(a,null)):e.componentType===O.Toggle||e.componentType===O.Checkbox?"true"===a:a:{[e.wrapKey]:D(a,[])}},il=e=>"object"==typeof e&&null!==e&&!Array.isArray(e),ol=e=>Array.isArray(e)?e:[],sl=e=>{const a={};return e.forEach(e=>{a[String(e.key??"")]=String(e.value??"")}),a},cl=e=>il(e)?Object.entries(e).map(([e,a])=>({key:e,value:String(a??"")})):[],dl=({field:a,value:t,setValue:l,errorMessage:r,disabled:n})=>{const[i,o]=qa(()=>cl(t));return Ka(()=>{const e=il(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])})(sl(i),e)||o(cl(t))},[t]),e(z,{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(sl(e))},errorMessage:r})},pl=({field:l,value:r,setValue:n,errorMessage:i,disabled:o,keyValuePersistAs:h,sourceOptions:g,namespaceOptions:m})=>{const{name:v,componentType:f,inputType:y,title:x,tooltip:C,placeholder:k,helpMessage:$,required:S,initialValue:w,options:T,itemWrapperKey:M,columns:A,limitFieldsPerRow:L,variant:P,wrapKey:E,checkboxOptions:I}=l,[R,V]=qa({open:!1,value:""});if(f===O.SourceScopes)return e(Ft,{scopes:Za(r),onChange:e=>n(e),sourceOptions:g,namespaceOptions:m,dataIdPrefix:`dynamic-field-${v}`,slim:!0});if(f===O.CheckboxList&&"array"===l.valueMode){const t=ol(r),l=(e,a)=>n(a?[...t.filter(a=>a!==e),e]:t.filter(a=>a!==e));return a(s,{$gap:12,children:[x&&e(c,{label:x,tooltip:C,required:S}),e(s,{$gap:8,children:(I||[]).map(a=>{const r=e(N,{name:a.id,label:a.label,value:t.includes(a.id),disabled:o,onChange:e=>l(a.id,e)},a.id);return a.tooltip?e(de,{text:a.tooltip,withIcon:!0,children:r},a.id):r})}),e(b,{errorMessage:i,helpMessage:$})]})}if(f===O.CheckboxList){const t=il(r)?r:{},c=(e=>"emptyObject"!==e.checkedValue||{})(l),g=e=>"emptyObject"===l.checkedValue?il(e):!!e;return a(s,{$gap:12,children:[x&&e(d,{size:u.XS,color:p.Secondary,nowrap:!0,children:x}),e(s,{$gap:12,children:(I||[]).map(l=>{const r=t[l.id],i=g(r),d=il(r)?r:{},p=e(N,{label:l.label,value:i,disabled:o,onChange:e=>n({...t,[l.id]:e?il(r)?r:c:null})}),u=l.tooltip?e(de,{text:l.tooltip,withIcon:!0,children:p}):p,m=i&&l.fields?.length?e(s,{$gap:12,$padding:"0 0 0 24px",children:l.fields.map(a=>e(pl,{field:a,value:d[a.name],setValue:e=>n({...t,[l.id]:{...d,[a.name]:e}}),disabled:o,keyValuePersistAs:h},`${v}-${l.id}-${a.name}`))}):null;return a(s,{$gap:12,children:[u,m]},l.id)})}),e(b,{errorMessage:i,helpMessage:$})]})}if(f===O.MultiTabledInput){const l=ol(E?r?.[E]:r),s=e=>n(E?{...il(r)?r:{},[E]:e}:e),c=(A||[]).some(e=>e.withRegexTester);return a(t,{children:[e("cards"===P?pe:z,{name:v,label:x,tooltip:C,helpMessage:$,required:S,disabled:o,columns:A||[],limitFieldsPerRow:L,values:l,setValues:s,errorMessage:i,onTestRegex:c?e=>V({open:!0,value:e}):void 0}),c&&e(Tt,{isOpen:R.open,regex:R.value,onClose:()=>V({open:!1,value:""})})]})}if(f===O.MultiInput&&E){const a=ol(r?.[E]);return e(X,{name:v,label:x,tooltip:C,helpMessage:$,required:S,disabled:o,placeholder:k,values:a,setValues:e=>n({...il(r)?r:{},[E]:e}),errorMessage:i})}if(f===O.MultiInput&&M){const a=ol(r).map(e=>String(e?.[M]??""));return e(X,{name:v,label:x,tooltip:C,helpMessage:$,required:S,disabled:o,placeholder:k,values:a,setValues:e=>n(e.map(e=>({[M]:e}))),errorMessage:i})}return f===O.KeyValuePair?"map"===(l.persistAs??h)?e(dl,{field:l,value:r,setValue:n,errorMessage:i,disabled:o}):e(Rt,{componentType:f,name:v,label:x,tooltip:C,helpMessage:$,disabled:o,required:S,errorMessage:i,keyLabel:l.keyLabel,valueLabel:l.valueLabel,value:r??[],setValue:n}):e(Rt,{componentType:f,inputType:y,name:v,label:x,tooltip:C,helpMessage:$,disabled:o,required:S,placeholder:k,errorMessage:i,dropdownOptions:T,value:(null==r?w:r)??"",setValue:n})},ul=({field:l,value:r,setValue:i,disabled:o,keyValuePersistAs:d,sourceOptions:p,namespaceOptions:u})=>{const b=n(),f=ol(r),y=f.length?f:[{}],x=l.fields||[],C=e=>i(e);return a(t,{children:[y.map((t,r)=>a(Ua,{children:[e(ce,{}),a(s,{$gap:12,children:[a(h,{$justifyContent:"space-between",$alignItems:"center",children:[e(c,{label:`${l.itemLabel||l.title||"Item"} ${r+1}`}),e(g,{leftIcon:()=>e(wa,{fill:b.v2.colors.red[500]}),variant:v.Secondary,size:m.S,onClick:()=>(e=>{const a=y.filter((a,t)=>t!==e);C(a)})(r),disabled:o||1===y.length})]}),x.map(a=>e(pl,{field:a,value:t[a.name],setValue:e=>((e,a,t)=>C(y.map((l,r)=>r===e?{...l,[a]:t}:l)))(r,a.name,e),disabled:o,keyValuePersistAs:d,sourceOptions:p,namespaceOptions:u},`${l.name}-group-${r}-${a.name}`))]})]},`${l.name}-group-${r}`)),e(g,{variant:v.Secondary,label:l.addLabel||"Add",leftIcon:Ta,onClick:()=>C([...y,{}]),disabled:o}),e(ce,{})]})},hl=({field:t,value:l,setValue:r,errorMessage:n,disabled:i})=>a(s,{$gap:12,children:[t.title&&e(c,{label:t.title,tooltip:t.tooltip,required:t.required}),e(s,{$gap:8,children:(t.checkboxOptions||[]).map(a=>{const t=e(N,{name:a.id,label:a.label,value:!0===l?.[a.id],disabled:i,onChange:e=>r(a.id,e)},a.id);return a.tooltip?e(de,{text:a.tooltip,withIcon:!0,children:t},a.id):t})}),e(b,{errorMessage:n,helpMessage:t.helpMessage})]}),gl=({signals:a,fields:l,value:r,setValue:n,formErrors:i,disabled:o,seedInitialValues:s,keyValuePersistAs:c="map",sourceOptions:d,namespaceOptions:p})=>{const{isK8s:u}=Ya(),h=(l||[]).filter(e=>!!e).map(e=>rl(e));return Ka(()=>{if(!s)return;const e=r||{},a={};h.forEach(t=>{if(t.componentType===O.SourceScopes&&!u)return;const l=t.componentType===O.SourceScopes?nl(t)??Ja():nl(t);if(void 0===l)return;if(t.componentType===O.CheckboxList&&"flatFields"===t.valueMode&&il(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===O.SourceScopes){if(void 0!==r)return}else if(null!=r)return;a[t.name]=il(l)&&il(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&&!se(t.renderCondition,a,l))return null;if(t.componentType===O.SourceScopes&&!u)return null;const s=r?.[t.name];if(t.componentType===O.FieldGroup)return e(ul,{field:t,value:s,setValue:e=>n(t.name,e),disabled:o,keyValuePersistAs:c,sourceOptions:d,namespaceOptions:p},t.name);if(t.componentType===O.CheckboxList&&"flatFields"===t.valueMode){const a=t.checkboxOptions?.map(e=>i[e.id]).find(Boolean);return e(hl,{field:t,value:r||{},setValue:n,errorMessage:a,disabled:o},t.name)}return e(pl,{field:t,value:s,setValue:e=>n(t.name,e),errorMessage:i[t.name],disabled:o,keyValuePersistAs:c,sourceOptions:d,namespaceOptions:p},t.name)})})},ml=gl,vl=({isEnabled:a,setIsEnabled:t,fieldDisabled:l})=>{const r=n();return e(ae,{options:[{icon:Ma,label:"Enable",value:!0,selectedBgColor:r.v2.colors.green[1e3],selectedBorderColor:r.v2.colors.green[400],selectedTextColor:r.v2.colors.green[400]},{icon:Aa,label:"Disable",value:!1,selectedBgColor:r.v2.colors.red[1e3],selectedBorderColor:r.v2.colors.red[500],selectedTextColor:r.v2.colors.red[400]}],size:ue.S,selected:a,setSelected:t,disabled:l})},bl=l.div`
180
+ display: flex;
181
+ align-items: center;
182
+ gap: 24px;
183
+ padding: 8px 16px;
184
+ border-radius: 12px;
185
+ background-color: ${({theme:e})=>e.v2.colors.silver[800]};
186
+ `,fl=l.div`
187
+ flex: 1;
188
+ min-width: 0;
189
+ white-space: pre;
190
+ overflow-x: auto;
191
+ `,yl=({title:t,summary:l,onEdit:r,renderAction:n})=>{const i=_a(()=>{const e=[];return t&&(e.push({text:t,variant:Qa.Default}),e.push({text:" - ",variant:Qa.Default})),e.push(...l),e},[t,l]);return a(bl,{children:[e(fl,{children:e(et,{parts:i})}),n&&n(),r&&e(g,{"data-id":"sampling-btn-edit-auto-rule",label:he,rightIcon:Oa,variant:v.Text,size:m.S,onClick:r})]})},xl={[Ce.HttpRequest]:"HTTP request",[Ce.HttpResponse]:"HTTP response",[Ce.DbQuery]:"DB query",[Ce.Messaging]:"messaging"};function Cl(e,a,t){return 1===e?a:t??`${a}s`}function kl(e,a){const t=[],l=e.slice(0,3),r=e.slice(3);return l.forEach((e,l)=>{l>0&&t.push({text:", ",variant:Qa.Default}),t.push({text:e,variant:a})}),r.length>0&&t.push({text:` + ${r.length} more`,variant:Qa.Default,tooltipItems:r}),t}const $l=({option:a,formState:t,renderAction:l})=>{const r=_a(()=>{const e=function(e,a){switch(e){case me.CodeAttributes:return(e=>{const a=Object.values(ke).filter(a=>!!e.codeAttributes?.[a]).map(e=>$e(e).toLowerCase());return a.length?[{text:"Collect",variant:Qa.Action},{text:" ",variant:Qa.Default},...kl(a,Qa.Endpoint)]:null})(a);case me.PayloadCollection:return(e=>{const a=Object.values(Ce).filter(a=>null!=e.payloadCollection?.[a]).map(e=>xl[e]);return a.length?[{text:"Collect",variant:Qa.Action},{text:" ",variant:Qa.Default},...kl(a,Qa.Endpoint)]:null})(a);case me.HeadersCollection:return(e=>{const a=(e.headersCollection?.[xe.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:Qa.Action},{text:"",variant:Qa.Default,tooltipItems:a}]})(a);case me.CustomInstrumentation:return(e=>{const a=(e.customInstrumentations?.[ve.Java]??[]).map(e=>new be(e.className,e.methodName)).filter(e=>e.Verify()),t=(e.customInstrumentations?.[ve.Golang]??[]).map(e=>new fe(e.packageName,e.functionName,e.receiverName,e.receiverMethodName)).filter(e=>e.Verify()),l=(e.customInstrumentations?.[ve.Php]??[]).map(e=>new ye(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:Qa.Action},{text:"",variant:Qa.Default,tooltipItems:n}]})(a);default:return null}}(a?.type,t);return e?[...e,...at(t.sourceScopes)]:[]},[a?.type,t]),n=0===r.length;return e(yl,{title:n?ge:"Instrumentation Rule Preview",summary:r,renderAction:l})},Sl=({size:a=200,central:t=!1,useInline:l=!1})=>{const{tier:r}=Ya();if(l){if(t)return e(La,{size:a});switch(r){case Se.Community:return e(Ea,{size:a});case Se.Onprem:return e(Pa,{size:a});default:return null}}if(t)return e(Ia,{size:a});switch(r){case Se.Community:return e(Ra,{size:a});case Se.Onprem:return e(Na,{size:a});default:return null}},wl=[{value:"50",label:"50%"},{value:"25",label:"25%"},{value:"10",label:"10%"},{value:"1",label:"1%"},{value:"custom",label:"Custom"}],Tl=[{value:"10",label:"10%"},{value:"1",label:"1%"},{value:"0.5",label:"0.5%"},{value:"0.1",label:"0.1%"},{value:"custom",label:"Custom"}],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"}],Al=({description:t,options:l,selected:r,onSelect:n,customName:i,customLabel:o,customPlaceholder:d,customValue:p,onCustomChange:u,customInputType:g=_.Number,customMin:m,customMax:v})=>a(s,{$gap:6,children:[e(c,{label:t}),a(h,{$gap:8,$alignItems:"flex-end",children:[e(ae,{options:l,selected:r,setSelected:n}),"custom"===r&&e(H,{name:i,label:o,placeholder:d,type:g,value:p,onChange:u,width:160,min:m,max:v})]})]}),Ol=()=>{},Ll=a=>a.readOnly?e(Pl,{rule:a.rule}):e(El,{ruleType:a.ruleType,formState:a.formState,onChange:a.onChange}),Pl=({rule:t})=>{const l=null!=t.durationAtLeastMs;return t.error?e(Q,{richTitle:{title:we},children:e(L,{name:"sampling-view-toggle-keep-errors",onChange:Ol,value:!0,size:E.S,label:Te,labelAlign:P.Right})}):l?e(Q,{richTitle:{title:Me},children:a("div",{children:[e(d,{size:u.XXXS,color:p.Secondary,children:Ae}),e(d,{size:u.XS,children:`${t.durationAtLeastMs}ms`})]})}):null},El=({ruleType:a,formState:t,onChange:l})=>{const r=ja(e=>l({durationPreset:e}),[l]),n=ja(e=>l({customDurationMs:e.target.value}),[l]);return"Duration"===a?e(Q,{richTitle:{title:Me,subTitle:Oe},children:e(Al,{description:Ae,options:Ml,selected:t.durationPreset,onSelect:r,customName:"sampling-input-custom-duration",customLabel:Le,customPlaceholder:"200ms",customValue:t.customDurationMs,onCustomChange:n})}):null},Il=l.div`
192
+ display: flex;
193
+ gap: 32px;
194
+ `,Nl=l.div`
195
+ display: flex;
196
+ flex-direction: column;
197
+ gap: 4px;
198
+ `,Rl=l.div`
199
+ display: flex;
200
+ flex-wrap: wrap;
201
+ align-items: flex-end;
202
+ gap: 16px;
203
+ `,Vl=l.div`
204
+ display: flex;
205
+ align-items: flex-end;
206
+ gap: 16px;
207
+ padding: 12px 16px;
208
+ border-radius: 8px;
209
+ background-color: ${({theme:e})=>e.v2.colors.black[500]};
210
+ `,zl=l.div`
211
+ display: flex;
212
+ align-items: flex-end;
213
+ gap: 10px;
214
+ flex: 1;
215
+ `,Dl=l.div`
216
+ display: flex;
217
+ align-items: center;
218
+ height: 32px;
219
+ `,Xl=l.div`
220
+ display: flex;
221
+ align-items: flex-end;
222
+ gap: 16px;
223
+ margin-bottom: 12px;
224
+ `,Hl="Any",_l="Kafka topic",Bl=()=>e("div",{style:{marginBottom:"8px"},children:e(d,{size:u.XS,weight:500,children:"And"})}),jl=[{value:"all",label:"All Operations"},{value:"httpServer",label:"HTTP Server"},{value:"httpClient",label:"HTTP Client"}],ql=[{value:"all",label:"All Operations"},{value:"httpServer",label:"HTTP Server"},{value:"kafkaConsumer",label:"Kafka Consumer"},{value:"kafkaProducer",label:"Kafka Producer"}],Kl=[{id:"",label:Hl},{id:"GET",label:"GET"},{id:"POST",label:"POST"},{id:"PUT",label:"PUT"},{id:"DELETE",label:"DELETE"},{id:"PATCH",label:"PATCH"}],Ul=a=>a.readOnly?e(Gl,{data:a.data}):e(Fl,{category:a.category,formState:a.formState,onChange:a.onChange}),Gl=({data:t})=>{const l=_a(()=>(e=>{if("noisy"===e.category){const a=e.rule.operation;if(a?.httpServer)return[{id:"type",title:Ke,value:qe},{id:"route",title:De,value:a.httpServer.route||a.httpServer.routePrefix||Ue},{id:"method",title:Be,value:a.httpServer.method||Hl}];if(a?.httpClient){const e=[{id:"type",title:Ke,value:Ge}];return a.httpClient.serverAddress&&e.push({id:"serverAddress",title:"Server address",value:a.httpClient.serverAddress}),e.push({id:"route",title:De,value:a.httpClient.templatedPath||a.httpClient.templatedPathPrefix||Ue}),e.push({id:"method",title:Be,value:a.httpClient.method||Hl}),e}return[{id:"type",title:Ke,value:Fe}]}const a=e.rule.operation;return a?.httpServer?[{id:"type",title:Ke,value:qe},{id:"route",title:De,value:a.httpServer.route||a.httpServer.routePrefix||Ue},{id:"method",title:Be,value:a.httpServer.method||Hl}]:a?.kafkaConsumer?[{id:"type",title:Ke,value:We},{id:"topic",title:_l,value:a.kafkaConsumer.kafkaTopic||Ue}]:a?.kafkaProducer?[{id:"type",title:Ke,value:Je},{id:"topic",title:_l,value:a.kafkaProducer.kafkaTopic||Ue}]:[{id:"type",title:Ke,value:Fe}]})(t),[t]);return e(Q,{richTitle:{title:Pe},children:e(Il,{children:l.map(({id:t,title:l,value:r})=>a(Nl,{children:[e(d,{size:u.XXXS,color:p.Secondary,nowrap:!0,children:l}),e(d,{size:u.XS,nowrap:!0,children:r})]},t))})})},Fl=({category:t,formState:l,onChange:r})=>{const n=_a(()=>"noisy"===t?jl:ql,[t]),i=ja(e=>r({operationType:e,route:"",serverAddress:"",method:"",kafkaTopic:""}),[r]),o=ja(e=>a=>{a&&r({routeType:e,route:""})},[r]),c=ja(e=>r({route:e.target.value}),[r]),d=ja(e=>r({serverAddress:e.target.value}),[r]),p=ja(e=>r({method:e[0]||""}),[r]),u=ja(e=>r({kafkaTopic:e.target.value}),[r]),h="httpServer"===l.operationType||"httpClient"===l.operationType,g="kafkaConsumer"===l.operationType||"kafkaProducer"===l.operationType,b="httpClient"===l.operationType?ze:De,f="httpClient"===l.operationType?Xe:He;return a(Q,{richTitle:{title:`2. ${Pe}`,subTitle:Ee},children:[e(s,{$alignItems:"flex-start",children:e(ae,{options:n,selected:l.operationType,setSelected:i})}),h&&a(Rl,{children:["httpClient"===l.operationType&&a(Xl,{children:[e(H,{name:"sampling-input-server-address",label:Ne,placeholder:Ie,value:l.serverAddress,onChange:d}),e(Bl,{})]}),a(Vl,{children:[a(zl,{children:[e(Dl,{children:e(Re,{"data-id":"sampling-radio-route",value:"route"===l.routeType,onChange:o("route")})}),e(H,{name:"sampling-input-route",label:b,placeholder:Ve,value:"route"===l.routeType?l.route:"",onChange:c,disabled:"route"!==l.routeType})]}),a(zl,{children:[e(Dl,{children:e(Re,{"data-id":"sampling-radio-route-prefix",value:"routePrefix"===l.routeType,onChange:o("routePrefix")})}),e(H,{name:"sampling-input-route-prefix",label:f,placeholder:Ve,value:"routePrefix"===l.routeType?l.route:"",onChange:c,disabled:"routePrefix"!==l.routeType})]})]}),a(Xl,{children:[e(Bl,{}),e(_e,{label:Be,items:Kl,selectedIds:[l.method||""],setSelectedIds:e=>p(e),buttonProps:{"data-id":"sampling-btn-method",label:Kl.find(e=>e.id===l.method)?.label||Hl,size:m.S,variant:v.Secondary}})]})]}),g&&e(H,{name:"sampling-input-kafka-topic",label:je,placeholder:"Type kafka topic",value:l.kafkaTopic,onChange:u,width:"320px"})]})},Wl=[{value:"all",label:"Drop All"},{value:"sample",label:"Sample"}],Jl=[{value:"all",label:"Keep All"},{value:"sample",label:"Sample"}],Yl=a=>a.readOnly?e(Zl,{data:a.data}):e(Ql,{category:a.category,formState:a.formState,onChange:a.onChange}),Zl=({data:t})=>{const l=_a(()=>(e=>{switch(e.category){case"highlyRelevant":return null!=e.rule.percentageAtLeast?{title:Ze,method:aa,description:Qe,value:`${e.rule.percentageAtLeast}%`}:{title:Ze,method:la,description:null,value:null};case"noisy":return tt(e.rule.percentageAtMost)?{title:Ze,method:ta,description:null,value:null}:{title:Ze,method:aa,description:ea,value:`${e.rule.percentageAtMost}%`};case"costReduction":return{title:Ze,method:aa,description:ea,value:`${e.rule.percentageAtMost}%`}}})(t),[t]),r=[{id:"method",title:Be,value:l.method},...null!=l.description?[{id:"value",title:l.description,value:l.value}]:[]];return e(Q,{richTitle:{title:l.title},children:e(Il,{children:r.map(({id:t,title:l,value:r})=>a(Nl,{children:[e(d,{size:u.XXXS,color:p.Secondary,nowrap:!0,children:l}),e(d,{size:u.XS,nowrap:!0,children:r})]},t))})})},Ql=({category:t,formState:l,onChange:r})=>{const n="highlyRelevant"===t,i=n?Jl:Wl,o=`${n?4:3}. ${Ze}`,c=Ye[t],d=n?Qe:ea,p="noisy"===t?Tl:wl,u=ja(e=>r({percentageMode:e}),[r]),h=ja(e=>r({percentagePreset:e}),[r]),g=ja(e=>r({customPercentage:e.target.value}),[r]);return a(Q,{richTitle:{title:o,subTitle:c},children:["costReduction"!==t&&e(s,{$alignItems:"flex-start",children:e(ae,{options:i,selected:l.percentageMode,setSelected:u})}),("costReduction"===t||"sample"===l.percentageMode)&&e(Al,{description:d,options:p,selected:l.percentagePreset,onSelect:h,customName:"sampling-input-custom-percentage",customPlaceholder:"5%",customValue:l.customPercentage,onCustomChange:g,customInputType:_.Decimal,customMin:0,customMax:100})]})},er=l.div`
225
+ display: flex;
226
+ align-items: flex-end;
227
+ gap: 16px;
228
+ `,ar=l.div`
229
+ width: 280px;
230
+ flex-shrink: 0;
231
+ `,tr=l.div`
232
+ flex: 1;
233
+ min-width: 0;
234
+ `;function lr(e){return"highlyRelevant"===e.category?e.rule.error?"Error":null!=e.rule.durationAtLeastMs?"Duration":"Relevance":pa[e.category]}const rr=a=>a.readOnly?e(nr,{data:a.data}):e(ir,{formState:a.formState,onChange:a.onChange}),nr=({data:t})=>{const l=_a(()=>[{id:"name",title:na,value:t.rule.name||ra},{id:"type",title:ia,value:lr(t)}],[t]),r=t.rule.notes||Ue;return a(Q,{children:[e(Il,{children:l.map(({id:t,title:l,value:r})=>a(Nl,{children:[e(d,{size:u.XXXS,color:p.Secondary,nowrap:!0,children:l}),e(d,{size:u.XS,nowrap:!0,children:r})]},t))}),a(Nl,{children:[e(d,{size:u.XXXS,color:p.Secondary,children:oa}),e(d,{size:u.XS,children:r})]})]})},ir=({formState:t,onChange:l})=>{const r=ja(e=>l({name:e.target.value}),[l]),n=ja(e=>l({notes:e.target.value}),[l]);return e(Q,{children:a(er,{children:[e(ar,{children:e(H,{name:"sampling-input-rule-name",label:na,tooltip:"Optional. Give this rule a name for easier identification.",placeholder:sa,value:t.name,onChange:r})}),e(tr,{children:e(H,{name:"sampling-input-note",label:oa,tooltip:da,placeholder:ca,value:t.notes,onChange:n})})]})})},or=[{value:"Relevance",label:"Relevance"},{value:"Error",label:"Error"},{value:"Duration",label:"Duration"}],sr=({formState:a,onChange:t})=>{const l=ja(e=>t({ruleType:e,keepErrors:"Error"===e}),[t]);return e(Q,{richTitle:{title:`3. ${ia}`,subTitle:ua},children:e(s,{$alignItems:"flex-start",children:e(ae,{options:or,selected:a.ruleType,setSelected:l})})})},cr=a=>{const t=_a(()=>{if(a.readOnly)return a.summary;switch(a.category){case"noisy":return nt(st(a.formState));case"highlyRelevant":return rt(ot(a.formState));case"costReduction":return lt(it(a.formState))}},[a]);if(a.readOnly)return e(yl,{title:ha,summary:t,renderAction:a.renderAction});const l=1===t.length&&"default"===t[0].variant;return e(yl,{title:l?ge:ha,summary:l?[]:t,renderAction:a.renderAction})},dr=(e,a)=>!a?.length||!!a?.find(a=>a===e),pr=({title:t="Signals",required:l,errorMessage:r,allowedSignals:n,selectedSignals:i,setSelectedSignals:o,disabled:d})=>{const[p,u]=qa(1===i.length),g=Ba(JSON.stringify(i));return Ka(()=>{let e=ga(i).filter(e=>dr(e,n));e.length||(e=ma.filter(({id:e})=>dr(e,n)).map(({id:e})=>e));const a=JSON.stringify(e);g.current!==a&&(g.current=a,o(e),u(1===e.length))},[n,i]),a(s,{$gap:12,children:[e(c,{label:t,required:l}),e(h,{$gap:12,children:ma.map(a=>{const t=dr(a.id,n),l=((e,a)=>!!a?.find(a=>a===e))(a.id,i);return t?e(N,{label:a.value,disabled:d||!t||p&&l,value:l,onChange:e=>((e,a)=>{const t=e,l=a?[...i,t]:i.filter(e=>e!==t);o(l),u(1===l.length)})(a.id,e)},a.id):null})}),e(b,{errorMessage:r})]})},ur=({minSupportedVersion:a,currentVersion:t})=>e(f,{isOpen:!0,onClose:()=>{},relativeToParent:!0,visual:()=>e(A,{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}.`}),hr=l.div`
235
+ display: flex;
236
+ flex-direction: column;
237
+ justify-content: flex-end;
238
+ width: ${({$width:e})=>e};
239
+ gap: ${({$columnHasHeader:e})=>e?"0":"12px"};
240
+ `,gr=l.div`
241
+ display: flex;
242
+ align-items: center;
243
+ min-height: 24px;
244
+ padding: 12px;
245
+ border-radius: 16px 16px 0 0;
246
+ background-color: ${({theme:e})=>e.v2.colors.silver[800]};
247
+ `,mr=l.div`
248
+ display: flex;
249
+ flex-direction: column;
250
+ gap: ${({$gap:e})=>e}px;
251
+ padding: 12px 12px 0 12px;
252
+ width: 100%;
253
+ height: ${({$heightOffset:e,$columnHasHeader:a})=>`calc(100vh - 180px - ${e}px ${a?"- 48px":""})`};
254
+ 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"};
255
+ background-color: ${({theme:e})=>e.v2.colors.silver[900]};
256
+ overflow-y: auto;
257
+ overflow-x: hidden;
258
+ `,vr=({isLeft:l,isRight:r,heightOffset:n=0,width:i,header:o,list:s})=>a(hr,{$width:i,$columnHasHeader:!!o,children:[o&&e(gr,{children:o}),e(mr,{$gap:8,$isLeft:l,$isRight:r,$heightOffset:n,$columnHasHeader:!!o,children:s.length?s.length>1?e(va,{gap:8,elements:s}):e(t,{children:s[0]}):e(ba,{$height:"100%",children:e($,{})})})]}),br="75vw",fr=l.div`
259
+ display: flex;
260
+ flex-direction: column;
261
+ border-radius: 16px;
262
+ background-color: ${({theme:e})=>e.v2.colors.silver[1e3]};
263
+ overflow: hidden;
264
+ `,yr=l.div`
265
+ display: flex;
266
+ gap: 12px;
267
+ padding: 16px 16px 0 16px;
268
+ background-color: ${({theme:e})=>e.v2.colors.silver[1e3]};
269
+ position: sticky;
270
+ top: 0;
271
+ `,xr=l.div`
272
+ padding: 12px 12px 0 12px;
273
+ `,Cr=l.div`
274
+ display: flex;
275
+ gap: 12px;
276
+ padding: 16px;
277
+ `,kr=l.div`
278
+ padding: 5vh 10vw;
279
+ border-radius: 12px;
280
+ background-color: ${({theme:e})=>e.v2.colors.silver[800]};
281
+ `,$r=Ga(({isOpen:t,withOverlay:l,disableAnimation:r,onClose:n,onBack:o,onNext:s,nextIsSkip:c,onSave:d,disableSave:p,connectionIds:h,header:g,subHeader:m,leftColumn:b,rightColumn:y,search:x,filters:C,errorMessage:k,isFormDirty:$,hideDirtyNote:S,forcedNote:w,isFetching:T,progress:M},A)=>{const[O,L]=qa(!1),[P,E]=qa(!1),[I,N]=qa(void 0);Fa(A,()=>({clearErrors:()=>N(void 0)}));const R=P,V=ja(()=>{$&&!O?L(!0):(L(!1),n?.())},[$,O,n]),z=p||P||"boolean"==typeof $&&!$,D=ja(async()=>{E(!0);const e=await d();E(!1),!1!==e&&(e?.error?N(e.error):(h?.setValue([]),n?.()))},[d,h,n]),X=!!x||!!h||!!C,H=!!m,_=(X?48:0)+(H?50:0),B=_a(()=>w||(T?{status:q.Info,message:"Fetching Data..."}:P&&!M?{status:q.Info,message:"Saving Changes..."}:I||k?{status:q.Error,message:I||k}:"boolean"!=typeof $||S?void 0:$?{status:q.Info,message:'The values don\'t reflect the current configurations of the selected clusters.\n"Save" will override the current configurations.'}:{status:q.Success,message:"The values reflect the current configuration of the selected cluster."}),[T,P,M,I,k,$,S,w]),j=_a(()=>o?{label:"Back",leftIcon:Va,variant:v.Secondary,onClick:o}:{label:"Cancel",variant:v.Secondary,onClick:V,disabled:R},[o,V,R]),[K,U]=qa(!1),G=_a(()=>s?c?{"data-id":"wide-drawer-skip",label:"Skip",rightIcon:za,variant:v.Secondary,onClick:()=>U(!0)}:{"data-id":"wide-drawer-next",label:"Next",rightIcon:za,variant:v.Primary,onClick:s}:{"data-id":"wide-drawer-save",label:"Save",variant:v.Primary,onClick:D,disabled:z},[s,c,D,z]);return a(i,{width:br,isOpen:t,disableAnimation:r,hideOverlay:!P&&!l,header:{...g,onClose:n?V:void 0,onCloseDisabled:R},footer:{note:B,actions:[j,G]},children:[P?e(ba,{$height:"calc(100vh - 136px)",children:e(kr,{children:e(fa,{titleSize:u.S,subTitleSize:u.XXXS,withGradient:!0,withSpinner:!0,...M})})}):a(fr,{children:[X&&a(yr,{children:[h&&e(ya,{icon:Ma,title:"Selected Clusters",badge:{label:h.value.length}}),x&&e(xa,{...x,width:x.width??"100%"}),C]}),H&&e(xr,{children:e(ya,{icon:m.icon,title:m.title,subTitle:m.description,badge:m.badge})}),a(Cr,{children:[e(vr,{isLeft:!0,heightOffset:_,...b}),e(vr,{isRight:!0,heightOffset:_,...y})]})]}),e(Ot,{isOpen:O,onClose:()=>L(!1),onApprove:V}),e(f,{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:K,onClose:()=>U(!1),denyButton:{label:"Go Back",variant:v.Secondary,onClick:()=>U(!1)},approveButton:{label:"Skip",variant:v.Primary,onClick:()=>{s?.(),U(!1)}}})]})});$r.displayName=$r.name;const Sr=l.div`
282
+ padding: 0 24px;
283
+ border-radius: 12px;
284
+ background-color: ${({$codeBgColor:e})=>e||"transparent"};
285
+ `,wr=l.div`
286
+ display: flex;
287
+ flex-direction: column;
288
+ gap: 8px;
289
+ width: 100%;
290
+ padding: 8px;
291
+ border: 1px solid ${({theme:e})=>e.v2.colors.silver[700]};
292
+ border-radius: 12px;
293
+ background-color: ${({theme:e})=>e.v2.colors.silver[900]};
294
+ `,Tr=l.div`
295
+ display: flex;
296
+ align-items: center;
297
+ gap: 4px;
298
+ width: 100%;
299
+ `,Mr=l.div`
300
+ flex: 1;
301
+ min-width: 0;
302
+ `,Ar=l.div`
303
+ width: 100%;
304
+ max-height: 180px;
305
+ overflow: auto;
306
+ padding: 0 12px;
307
+
308
+ pre {
309
+ margin: 0;
310
+ }
311
+ `,Or=({title:t="YAML",yaml:l,defaultOpen:r,fullHeight:n,bgTint:i="1000",codeBgColor:o,compact:s})=>{const{clickCopy:c,isCopied:h,CopyButton:g}=y(),b=_a(()=>l?[{id:ka(),type:Ca.Button,buttonProps:{variant:v.Text,size:m.S,leftIcon:h?Sa:Da,onClick:()=>c(l||""),disabled:h}}]:[],[l,h]);return s?a(wr,{children:[a(Tr,{children:[e(Xa,{size:16}),e(Mr,{children:e(d,{size:u.XXS,color:p.Primary,children:t})}),l&&e(g,{value:l})]}),l?e(Ar,{children:e(w,{code:l,language:"yaml",theme:"duotoneDark"})}):e($,{title:"YAML not found",subTitle:"The YAML for this resource is not available"})]}):e(S,{bgTint:i,richTitle:{icon:Xa,title:t},actions:b,withCollapse:!0,collapseIsDefaultOpen:r,fullHeight:n,children:e(Sr,{$codeBgColor:o,children:l?e(w,{code:l,language:"yaml",theme:"duotoneDark"}):e(ba,{children:e($,{title:"YAML not found",subTitle:"The YAML for this resource is not available"})})})})};export{At as A,Ot as C,Ml as D,vl as E,$l as I,Tl as N,Sl as O,wl as P,rr as R,cr as S,ur as U,br as W,Or as Y,Et as a,It as b,Nt as c,Ll as d,ml as e,Rt as f,gl as g,Ul as h,Yl as i,Al as j,sr as k,pr as l,Ft as m,$r as n,Tt as o,yl as p};
@@ -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{t as c,ba as l,bb as d,o as u,S as m,bc as S,bd as E,be as I,P as p,bf as T,bg as _,bh as f,bi as y,bj as N,bk as A,bl as R,bm as g,bn as h,bo as O,bp as v,bq as G,br as C,bs as L,bt as D,bu as P,b3 as w,bv as b,bw as U,p as F,bx as k,by as H,bz as M,bA as x,bB as V,bC as Y,E as K,bD as W,bE as B,ak as $,ag as j,ai as q,ah as Q,aj as z,af as J,bF as X,b as Z}from"./ui-components-DqG0z5U0.js";import{i as ee,n as te,m as re,l as ae,o as ne,p as oe,v as se,q as ie,u as ce}from"./helpers-B0SJ6hqm.js";import{ApolloProvider as le,useLazyQuery as de,useApolloClient as ue,useQuery as me}from"@apollo/client/react";import{ErrorLink as Se}from"@apollo/client/link/error";import{SetContextLink as Ee}from"@apollo/client/link/context";import{getMainDefinition as Ie}from"@apollo/client/utilities";import{CombinedGraphQLErrors as pe,ServerError as Te}from"@apollo/client/errors";import{HttpLink as _e,ApolloLink as fe,ApolloClient as ye,InMemoryCache as Ne,gql as Ae}from"@apollo/client";const Re=e=>{if(!e)return!1;const t=e.toLowerCase();return t.includes("authentication required")||t.includes("authentication expired")||t.includes("http 401")},ge=a(null),he=()=>{const e=r(ge);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},Oe=({apolloConfig:r,operations:a,context:n,children:o})=>{const s=t(()=>(e=>{const t=new _e({uri:e.httpUrl,credentials:e.credentials??"same-origin"}),r=new Se(({error:t})=>{pe.is(t)?t.errors.some(e=>Re(e.message))&&e.onAuthError?.():(Te.is(t)&&401===t.statusCode||Re(t.message))&&e.onAuthError?.()}),a=new Ee(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=fe.from(n);e.wsLink&&(o=fe.split(({query:e})=>{const t=Ie(e);return"OperationDefinition"===t.kind&&"subscription"===t.operation},e.wsLink,o));const s=e.defaultFetchPolicies;return new ye({link:o,cache:new Ne({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(le,{client:s,children:e(ge.Provider,{value:i,children:o})})},ve=ge,Ge=e=>e.map(e=>`${e.id}:${e.odigosVersion}:${e.type}`).join(","),Ce=(e,t,r)=>{const a=t.length?t.map(e=>e.id):r??[],n={...e,connectionIds:a};if(!t.length||c(e.version)>0)return n;const o=t[0];return{...n,version:o.odigosVersion||e.version,platformType:o.type??e.platformType}},Le=({connections:r,connectionIds:a,children:n})=>{const o=he(),s=t(()=>({operations:o.operations,context:Ce(o.context,r,a),apolloConfig:o.apolloConfig}),[o.operations,o.context,o.apolloConfig,Ge(r),a?.join(",")]);return e(ve.Provider,{value:s,children:n})},De=(e,t)=>{if(e)return"string"==typeof e?e:S(e,t)},Pe=e=>{const{addNotification:t}=l(),r=(r,a,n,o,s)=>t({type:r,title:a,message:n,crdType:e,target:De(o,e),hideFromHistory:s});return{notify:r,notifyError:(e,t,a)=>r(m.Error,e,t,a),notifySuccess:(e,t,a)=>r(m.Success,e,t,a),notifyPending:(e,t)=>r(m.Default,"Pending",e,t,!0),notifyReadonly:()=>{t({type:m.Warning,title:u.READONLY,message:d.READONLY_WARNING,hideFromHistory:!0})}}},we=e=>{e({type:m.Warning,title:u.READONLY,message:d.READONLY_WARNING,hideFromHistory:!0})},be=e=>({error:e,results:[],allSucceeded:!1,anySucceeded:!1,successCount:0,failureCount:0}),Ue=(e,t)=>{if(e)return"function"==typeof e?e(t):e},Fe=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)},ke=(e,t)=>e.client??t,He=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(ke(t,e),r,a)}catch(e){return{error:Fe(e)}}const o=Ue(t.document,a);if(!o)return{error:"Query operation not supported in this context"};const s=t.transformVariables?t.transformVariables(r,a):r,i=ke(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?Fe(e.error):void 0}}catch(e){return{error:Fe(e)}}},Me=async(e,t,r,a)=>{if(!t)return{error:"Mutation operation not configured"};if(t.canRun&&!t.canRun(a))return{error:"Mutation operation not supported in this context"};if(t.run)try{return await t.run(ke(t,e),r,a)}catch(e){return{error:Fe(e)}}const n=Ue(t.document,a);if(!n)return{error:"Mutation operation not supported in this context"};const o=t.transformVariables?t.transformVariables(r,a):r,s=ke(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:Fe(e)}}},xe=async(e,t,r,a,n)=>{if(!t)return be("Multi fetch operation not configured");if(!r.length)return be("No proxy ids supplied for multi fetch");const o=ke(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=Fe(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 He(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}},Ve=Ae`
2
+ query OdigosApiNoop {
3
+ __typename
4
+ }
5
+ `,Ye=(e,t)=>{if(e)return"function"==typeof e?e(t):e},Ke=(e,t)=>e[t],We=(e,t,r)=>{if(void 0!==t)return e?.transformResult?e.transformResult(t,r):t},Be=(e,t,r)=>{if(!e)return;const a=e.transformVariables;return a?a(t,r):t},$e=(e,r,a)=>{const{operations:o,context:i}=he(),c=Ke(o,e),l=t(()=>Ye(c?.document,i),[c,i]),d=t(()=>Be(c,r,i),[c,r,i]),u=!c||!l,m=!!c?.canRun&&!c.canRun(i),S=a?.skip||u||m,E=me(l??Ve,{variables:d,skip:S,pollInterval:a?.pollInterval,fetchPolicy:a?.fetchPolicy??"cache-and-network",notifyOnNetworkStatusChange:a?.notifyOnNetworkStatusChange,client:c?.client}),I=t(()=>{if(!S)return We(c,E.data,i)},[c,i,E.data,S]);s(()=>{S||void 0===I||a?.onCompleted?.(I)},[S,I,a?.onCompleted]),s(()=>{E.error&&a?.onError?.(E.error)},[E.error,a?.onError]);const p=n(async()=>{if(S)return{data:void 0};const e=await E.refetch();return{data:We(c,e.data,i)}},[c,i,E,S]);return{data:I,loading:!S&&E.loading,error:E.error,refetch:p,unsupported:u}},je=(e,r)=>{const{operations:a,context:o}=he(),s=Ke(a,e),i=t(()=>Ye(s?.document,o),[s,o]),c=!s||!i,[l,d]=de(i??Ve,{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=Be(s,e,o),r=await l({variables:t});return r.error?{error:r.error}:{data:We(s,r.data,o)}},[s,o,l,c]),data:t(()=>We(s,d.data,o),[s,o,d.data]),loading:d.loading,error:d.error,called:d.called,unsupported:c}},qe=(e,r)=>{const{operations:a,context:s}=he(),i=ue(),c=Ke(a,e),l=t(()=>Ye(c?.document,s),[c,s]),d=!c||!l,[u,m]=o({loading:!1,called:!1}),S=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=Be(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=We(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:S}]},Qe=[],ze=(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}},Je=(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}},Xe={filter:{markedForInstrumentation:!0}},Ze=[],et=e=>{const t=e.markedForInstrumentation?.markedForInstrumentation;return"boolean"==typeof t?e:{...e,markedForInstrumentation:{...e.markedForInstrumentation??{markedForInstrumentation:!0},markedForInstrumentation:!0}}},tt=e=>{let t=!1;const r=e.map(e=>{const r=et(e);return r!==e&&(t=!0),r});return t?r:e},rt=[],at=[],nt=[],ot=(e,t)=>{const r=ue(),{notifyError:a,notifySuccess:n,notifyReadonly:o}=Pe(R.Finding),s=async()=>{e.GET_INSIGHTS_FINDINGS&&await He(r,e.GET_INSIGHTS_FINDINGS,void 0,t)},i=async()=>{e.GET_INSIGHTS_ANOMALIES&&await He(r,e.GET_INSIGHTS_ANOMALIES,void 0,t)},c=async()=>{e.GET_INSIGHTS_TRANSACTIONS&&await He(r,e.GET_INSIGHTS_TRANSACTIONS,void 0,t)},l=async()=>{if(!e.GET_INSIGHTS_POLICIES)return;const a="function"==typeof e.GET_INSIGHTS_POLICIES.document?e.GET_INSIGHTS_POLICIES.document(t):e.GET_INSIGHTS_POLICIES.document;a?await r.refetchQueries({include:[a]}):await He(r,e.GET_INSIGHTS_POLICIES,void 0,t)},d=async()=>{e.GET_INSIGHTS_LEARNING_POLICIES&&await He(r,e.GET_INSIGHTS_LEARNING_POLICIES,void 0,t)},u=async()=>{e.GET_INSIGHTS_GUARDRAILS&&await He(r,e.GET_INSIGHTS_GUARDRAILS,void 0,t)},m=async()=>{e.GET_INSIGHTS_GUARDRAIL_VIOLATIONS&&await He(r,e.GET_INSIGHTS_GUARDRAIL_VIOLATIONS,void 0,t)};return{useServices:e=>$e("GET_INSIGHTS_SERVICES",void 0,e),useTransactions:(e,t)=>$e("GET_INSIGHTS_TRANSACTIONS",e,t),useTransaction:(e,t)=>$e("GET_INSIGHTS_TRANSACTION",e,t),useBaseline:(e,t)=>$e("GET_INSIGHTS_BASELINE",e,t),useObservations:(e,t)=>$e("GET_INSIGHTS_OBSERVATIONS",e,t),useObservation:(e,t)=>$e("GET_INSIGHTS_OBSERVATION",e,t),useFindings:(e,t)=>$e("GET_INSIGHTS_FINDINGS",e,t),useAnomalies:(e,t)=>$e("GET_INSIGHTS_ANOMALIES",e,t),useAnomaly:(e,t)=>$e("GET_INSIGHTS_ANOMALY",e,t),usePolicies:e=>$e("GET_INSIGHTS_POLICIES",void 0,e),useLearningPolicies:e=>$e("GET_INSIGHTS_LEARNING_POLICIES",void 0,e),useGuardrails:e=>$e("GET_INSIGHTS_GUARDRAILS",void 0,e),useGuardrailViolations:(e,t)=>$e("GET_INSIGHTS_GUARDRAIL_VIOLATIONS",e,t),useGuardrailViolation:(e,t)=>$e("GET_INSIGHTS_GUARDRAIL_VIOLATION",e,t),useServiceProfile:(e,t)=>$e("GET_INSIGHTS_SERVICE_PROFILE",e,t),useBlastRadius:(e,t)=>$e("GET_INSIGHTS_BLAST_RADIUS",e,t),useCatalog:e=>$e("GET_INSIGHTS_CATALOG",void 0,e),useSystemSettings:e=>$e("GET_INSIGHTS_SYSTEM_SETTINGS",void 0,e),useStorageHealth:e=>$e("GET_INSIGHTS_STORAGE_HEALTH",void 0,e),getServices:e.GET_INSIGHTS_SERVICES?async()=>He(r,e.GET_INSIGHTS_SERVICES,void 0,t):void 0,getTransactions:e.GET_INSIGHTS_TRANSACTIONS?async a=>He(r,e.GET_INSIGHTS_TRANSACTIONS,a,t):void 0,getTransaction:e.GET_INSIGHTS_TRANSACTION?async a=>He(r,e.GET_INSIGHTS_TRANSACTION,a,t):void 0,getFindings:e.GET_INSIGHTS_FINDINGS?async a=>He(r,e.GET_INSIGHTS_FINDINGS,a,t):void 0,getAnomalies:e.GET_INSIGHTS_ANOMALIES?async a=>He(r,e.GET_INSIGHTS_ANOMALIES,a,t):void 0,getAnomaly:e.GET_INSIGHTS_ANOMALY?async a=>He(r,e.GET_INSIGHTS_ANOMALY,a,t):void 0,getPolicies:e.GET_INSIGHTS_POLICIES?async()=>He(r,e.GET_INSIGHTS_POLICIES,void 0,t):void 0,getLearningPolicies:e.GET_INSIGHTS_LEARNING_POLICIES?async()=>He(r,e.GET_INSIGHTS_LEARNING_POLICIES,void 0,t):void 0,getGuardrails:e.GET_INSIGHTS_GUARDRAILS?async()=>He(r,e.GET_INSIGHTS_GUARDRAILS,void 0,t):void 0,getGuardrailViolation:e.GET_INSIGHTS_GUARDRAIL_VIOLATION?async a=>He(r,e.GET_INSIGHTS_GUARDRAIL_VIOLATION,a,t):void 0,getServiceProfile:e.GET_INSIGHTS_SERVICE_PROFILE?async a=>He(r,e.GET_INSIGHTS_SERVICE_PROFILE,a,t):void 0,getBlastRadius:e.GET_INSIGHTS_BLAST_RADIUS?async a=>He(r,e.GET_INSIGHTS_BLAST_RADIUS,a,t):void 0,getCatalog:e.GET_INSIGHTS_CATALOG?async()=>He(r,e.GET_INSIGHTS_CATALOG,void 0,t):void 0,getSystemSettings:e.GET_INSIGHTS_SYSTEM_SETTINGS?async()=>He(r,e.GET_INSIGHTS_SYSTEM_SETTINGS,void 0,t):void 0,getStorageHealth:e.GET_INSIGHTS_STORAGE_HEALTH?async()=>He(r,e.GET_INSIGHTS_STORAGE_HEALTH,void 0,t):void 0,promoteBaselineClass:e.PROMOTE_INSIGHTS_BASELINE_CLASS?async s=>{if(t.isReadonly)return o();const{data:i,error:c}=await Me(r,e.PROMOTE_INSIGHTS_BASELINE_CLASS,s,t);return c?a(E.Update,c):n(E.Update,"Successfully promoted baseline class"),{data:i,error:c}}:void 0,resetBaselineClass:e.RESET_INSIGHTS_BASELINE_CLASS?async(s,i)=>{if(t.isReadonly)return o();const{error:c}=await Me(r,e.RESET_INSIGHTS_BASELINE_CLASS,{transactionId:s,class:i},t);return c?a(E.Update,c):n(E.Update,"Successfully reset baseline class"),c?{error:c}:void 0}:void 0,resetTransactionBaselines:e.RESET_INSIGHTS_TRANSACTION_BASELINES?async s=>{if(t.isReadonly)return o();const{error:i}=await Me(r,e.RESET_INSIGHTS_TRANSACTION_BASELINES,{transactionId:s},t);return i?a(E.Update,i):n(E.Update,"Successfully reset transaction baselines"),i?{error:i}:void 0}:void 0,deleteTransaction:e.DELETE_INSIGHTS_TRANSACTION?async l=>{if(t.isReadonly)return o();const{error:d}=await Me(r,e.DELETE_INSIGHTS_TRANSACTION,{transactionId:l},t);return d?a(E.Delete,d):(n(E.Delete,"Successfully deleted transaction"),await Promise.all([c(),s(),i()])),d?{error:d}:void 0}:void 0,upsertPolicy:e.UPSERT_INSIGHTS_POLICY?async s=>{if(t.isReadonly)return o();const{data:i,error:c}=await Me(r,e.UPSERT_INSIGHTS_POLICY,{policy:s},t);return c?a(E.Update,c):(n(E.Update,`Successfully saved policy "${s.name}"`),await l()),{data:i,error:c}}:void 0,deletePolicy:e.DELETE_INSIGHTS_POLICY?async(s,i)=>{if(t.isReadonly)return o();const{error:c}=await Me(r,e.DELETE_INSIGHTS_POLICY,{scope:s,scopeKey:i},t);return c?a(E.Delete,c):(n(E.Delete,"Successfully deleted policy"),await l()),c?{error:c}:void 0}:void 0,upsertLearningPolicy:e.UPSERT_INSIGHTS_LEARNING_POLICY?async s=>{if(t.isReadonly)return o();const{data:i,error:c}=await Me(r,e.UPSERT_INSIGHTS_LEARNING_POLICY,{policy:s},t);return c?a(E.Update,c):(n(E.Update,"Successfully saved learning policy"),await d()),{data:i,error:c}}:void 0,deleteLearningPolicy:e.DELETE_INSIGHTS_LEARNING_POLICY?async(s,i,c)=>{if(t.isReadonly)return o();const{error:l}=await Me(r,e.DELETE_INSIGHTS_LEARNING_POLICY,{class:s,scope:i,scopeKey:c},t);return l?a(E.Delete,l):(n(E.Delete,"Successfully deleted learning policy"),await d()),l?{error:l}:void 0}:void 0,resolveAnomaly:e.RESOLVE_INSIGHTS_ANOMALY?async c=>{if(t.isReadonly)return o();const{error:l}=await Me(r,e.RESOLVE_INSIGHTS_ANOMALY,c,t);return l?a(E.Update,l):(n(E.Update,`Successfully ${c.resolution}ed anomaly`),await Promise.all([i(),s()])),l?{error:l}:void 0}:void 0,bulkResolveAnomalies:e.BULK_RESOLVE_INSIGHTS_ANOMALIES?async(c,l)=>{if(t.isReadonly)return o();const d={resolution:c,items:l},{data:u,error:m}=await Me(r,e.BULK_RESOLVE_INSIGHTS_ANOMALIES,d,t);return m?a(E.Update,m):(n(E.Update,`Successfully ${c}ed ${u?.resolved??l.length} anomalies`),await Promise.all([i(),s()])),{data:u,error:m}}:void 0,upsertGuardrail:e.UPSERT_INSIGHTS_GUARDRAIL?async s=>{if(t.isReadonly)return o();const{data:i,error:c}=await Me(r,e.UPSERT_INSIGHTS_GUARDRAIL,{guardrail:s},t);return c?a(E.Update,c):(n(E.Update,"Successfully saved guardrail"),await u()),{data:i,error:c}}:void 0,deleteGuardrail:e.DELETE_INSIGHTS_GUARDRAIL?async s=>{if(t.isReadonly)return o();const{error:i}=await Me(r,e.DELETE_INSIGHTS_GUARDRAIL,{scopeKey:s},t);return i?a(E.Delete,i):(n(E.Delete,"Successfully deleted guardrail"),await u()),i?{error:i}:void 0}:void 0,seedGuardrail:e.SEED_INSIGHTS_GUARDRAIL?async s=>{if(t.isReadonly)return o();const{error:i}=await Me(r,e.SEED_INSIGHTS_GUARDRAIL,{seed:s},t);return i?a(E.Create,i):(n(E.Create,"Successfully seeded guardrail"),await u()),i?{error:i}:void 0}:void 0,allowViolation:e.ALLOW_INSIGHTS_GUARDRAIL_VIOLATION?async i=>{if(t.isReadonly)return o();const{error:c}=await Me(r,e.ALLOW_INSIGHTS_GUARDRAIL_VIOLATION,{action:i},t);return c?a(E.Update,c):(n(E.Update,"Successfully allowed violation"),await Promise.all([m(),s()])),c?{error:c}:void 0}:void 0,dismissViolation:e.DISMISS_INSIGHTS_GUARDRAIL_VIOLATION?async i=>{if(t.isReadonly)return o();const{error:c}=await Me(r,e.DISMISS_INSIGHTS_GUARDRAIL_VIOLATION,{action:i},t);return c?a(E.Update,c):(n(E.Update,"Successfully dismissed violation"),await Promise.all([m(),s()])),c?{error:c}:void 0}:void 0,reopenViolation:e.REOPEN_INSIGHTS_GUARDRAIL_VIOLATION?async i=>{if(t.isReadonly)return o();const{error:c}=await Me(r,e.REOPEN_INSIGHTS_GUARDRAIL_VIOLATION,{action:i},t);return c?a(E.Update,c):(n(E.Update,"Successfully reopened violation"),await Promise.all([m(),s()])),c?{error:c}:void 0}:void 0,updateSystemSettings:e.UPDATE_INSIGHTS_SYSTEM_SETTINGS?async s=>{if(t.isReadonly)return o();const{data:i,error:c}=await Me(r,e.UPDATE_INSIGHTS_SYSTEM_SETTINGS,{settings:s},t);return c?a(E.Update,c):(n(E.Update,"Successfully updated system settings"),await(async()=>{e.GET_INSIGHTS_SYSTEM_SETTINGS&&await He(r,e.GET_INSIGHTS_SYSTEM_SETTINGS,void 0,t)})()),{data:i,error:c}}:void 0}},st=[],it=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}},ct=[],lt=[],dt=(e,t)=>({...e,fields:e.fields.filter(({value:e})=>void 0!==e),currentStreamName:t}),ut=[],mt=[],St=()=>{const{operations:e,context:r}=he(),a=ue(),o=((e,r)=>{const a=ue(),{notifyError:o,notifySuccess:s,notifyPending:i,notifyReadonly:c}=Pe(I.Source),{selectedStreamName:l}=T(),{setProgress:d,resetProgress:u}=_(),{setConfiguredSources:m,setConfiguredFutureApps:S}=f(),p=(e,t)=>{const{progress:r}=_.getState();e>0&&d(y.Instrumenting,{total:(r[y.Instrumenting]?.total||0)+e,current:r[y.Instrumenting]?.current||0}),t>0&&d(y.Uninstrumenting,{total:(r[y.Uninstrumenting]?.total||0)+t,current:r[y.Uninstrumenting]?.current||0})},A=n(async()=>{const{error:t}=await He(a,e.GET_WORKLOADS,Xe,r);t&&o(E.Read,t)},[a,e.GET_WORKLOADS,r,o]);return{useSources:()=>{const e=$e("GET_WORKLOADS",Xe,{fetchPolicy:"cache-first"}),r=e.data?.workloads;return{items:t(()=>r?tt(r):Ze,[r]),loading:e.loading,refetch:A}},fetchAll:A,fetchByTargets:async(t,n)=>{const s=!!n?.slim,i=t.map(e=>N(e,I.Source)).filter(e=>e.namespace&&e.name&&e.kind);if(0===i.length)return;if(i.length>50)return void await A();const c=s&&e.GET_WORKLOADS_BY_IDS_SLIM?e.GET_WORKLOADS_BY_IDS_SLIM:e.GET_WORKLOADS_BY_IDS,{error:l}=await He(a,c,{ids:i.map(({namespace:e,kind:t,name:r,region:a})=>({namespace:e,kind:t,name:r,region:a||void 0}))},r);l?o(E.Read,l):await A()},fetchById:async t=>{const{data:n,error:s}=await He(a,e.GET_WORKLOADS_BY_IDS,{ids:[{namespace:t.namespace,kind:t.kind,name:t.name,...t.region?{region:t.region}:{}}]},r);if(s)return void o(E.Read,s);const i=n?.workloadsByIds?.find(e=>e.id.namespace===t.namespace&&e.id.kind===t.kind&&e.id.name===t.name&&(e.id.region??"")===(t.region??""));return i?et(i):void 0},fetchLibraries:async t=>He(a,e.GET_SOURCE_LIBRARIES,t,r),fetchPeerSources:async t=>He(a,e.GET_PEER_SOURCES,{serviceName:t},r),usePeerSources:(e,t)=>$e("GET_PEER_SOURCES",e,t),persist:async(t,n)=>{if(r.isReadonly)return c();const{data:s}=await He(a,e.GET_WORKLOADS,Xe,r,"cache-first"),d=tt(s?.workloads??Ze),{payload:I,isEmpty:T}=ze(t,d,l,p),{payload:_,isEmpty:f}=Je(n,l);let N=!1;T||(N=!0,i("Persisting sources...")),f||N||i("Persisting namespaces...");const{error:A}=await Me(a,e.PERSIST_SOURCES,I,r);if(A&&(u(y.Instrumenting),u(y.Uninstrumenting),o(E.Update,A)),e.PERSIST_NAMESPACES){const{error:t}=await Me(a,e.PERSIST_NAMESPACES,_,r);t&&o(E.Update,t)}m({}),S({})},persistV2:async t=>{if(r.isReadonly)return c(),{error:"readonly"};const n=[];for(const[,o]of Object.entries(t)){const t={sources:[]},s={namespaces:[]};for(const e of o)e.name&&e.kind?t.sources.push(e):s.namespaces.push(e);if(s.namespaces.length>0&&e.PERSIST_NAMESPACES){const{error:t}=await Me(a,e.PERSIST_NAMESPACES,s,r);t&&n.push(t)}if(t.sources.length>0){const{error:o}=await Me(a,e.PERSIST_SOURCES,t,r);o&&n.push(o)}}return n.length?{error:n.join(", ")}:void 0},update:async(t,n)=>{if(r.isReadonly)return c();i("Updating source...");const d={sourceId:t,patchSourceRequest:{...n,currentStreamName:l}},{data:u,error:m}=await Me(a,e.UPDATE_SOURCE,d,r);m?o(E.Update,m,t):u?.updateK8sActualSource&&s(E.Update,`Successfully updated "${t.name}" source`,t)},restartWorkloads:async t=>{if(r.isReadonly)return c();i("Restarting sources...");const{data:n,error:l}=await Me(a,e.RESTART_WORKLOADS,{sourceIds:t},r);l?o(E.Update,l):n?.restartWorkloads&&s(E.Update,`Successfully restarted ${t.length} sources`)},restartPod:async(t,n)=>{if(r.isReadonly)return c();i("Restarting pod...");const{data:l,error:d}=await Me(a,e.RESTART_POD,{namespace:t,name:n},r);d?o(E.Update,d):l?.restartPod&&s(E.Update,`Successfully restarted pod ${t}/${n}`)},recoverFromRollback:async t=>{if(r.isReadonly)return c();i("Recovering from rollback...");const{data:n,error:l}=await Me(a,e.RECOVER_FROM_ROLLBACK,{sourceId:t},r);l?o(E.Update,l,t):n?.recoverFromRollbackForWorkload&&s(E.Update,"Successfully triggered recovery from rollback")}}})(e,r),i=((e,t)=>{const r=ue(),{notifyError:a,notifySuccess:n,notifyReadonly:o}=Pe(I.Destination),{selectedStreamName:s}=T(),i=async()=>{const{error:n}=await He(r,e.GET_DESTINATIONS,void 0,t);n&&a(E.Read,n)};return{useDestinations:()=>{const e=$e("GET_DESTINATIONS",void 0,{fetchPolicy:"cache-first"});return{items:e.data?.computePlatform?.destinations??e.data?.destinations??lt,loading:e.loading,refetch:i}},useDestinationCategories:()=>{const e=$e("GET_DESTINATION_CATEGORIES",void 0);return{data:e.data,loading:e.loading}},usePotentialDestinations:()=>{const e=$e("GET_POTENTIAL_DESTINATIONS",void 0);return{data:e.data,loading:e.loading}},fetchAll:i,testConnection:async a=>{const{data:n}=await Me(r,e.TEST_DESTINATION_CONNECTION,{destination:dt(a,s)},t);return n},create:async c=>{if(t.isReadonly)return o();const{error:l}=await Me(r,e.CREATE_DESTINATION,{destination:dt(c,s)},t);l?a(E.Create,l):(n(E.Create,`Successfully created "${c.type}" destination`),await i())},update:async(c,l)=>{if(t.isReadonly)return o();const{data:d,error:u}=await Me(r,e.UPDATE_DESTINATION,{id:c,destination:dt(l,s)},t);u?a(E.Update,u,c):d?.updateDestination&&(n(E.Update,`Successfully updated "${l.type}" destination`,c),await i())},remove:async c=>{if(t.isReadonly)return o();const{data:l}=await He(r,e.GET_DESTINATIONS,void 0,t,"cache-first"),d=l?.computePlatform?.destinations??l?.destinations??lt,u=d.find(e=>g(e)===c)?.destinationType?.type,{error:m}=await Me(r,e.DELETE_DESTINATION,{id:c,currentStreamName:s},t);m?a(E.Delete,m,c):(n(E.Delete,`Successfully deleted "${u??c}" destination`,c),await i())}}})(e,r),c=((e,r)=>{const a=ue(),{notifyError:n,notifySuccess:o,notifyReadonly:s}=Pe(I.Action),i=async()=>{const{error:t}=await He(a,e.GET_ACTIONS,void 0,r);t&&n(E.Read,t)};return{useActions:()=>{const e=$e("GET_ACTIONS",void 0,{fetchPolicy:"cache-first"});return{items:e.data?.computePlatform?.actions??e.data?.actions??rt,loading:e.loading,refetch:i}},useActionTypes:()=>{const e=$e("GET_ACTION_TYPES",void 0,{fetchPolicy:"cache-first"});return{options:t(()=>A(e.data)||at,[e.data]),loading:e.loading}},fetchAll:i,create:async t=>{if(r.isReadonly)return s(),{error:d.READONLY_WARNING};if(!e.CREATE_ACTION)return{error:"Action creation is not supported"};const{error:c}=await Me(a,e.CREATE_ACTION,{action:t},r);return c?n(E.Create,c):(o(E.Create,`Successfully created "${t.type}" action`),await i()),c?{error:c}:void 0},update:async(t,c)=>{if(r.isReadonly)return s();if(!e.UPDATE_ACTION)return;const{error:l}=await Me(a,e.UPDATE_ACTION,{id:t,action:c},r);l?n(E.Update,l,t):(o(E.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 Me(a,e.DELETE_ACTION,{id:t,actionType:c},r);l?n(E.Delete,l,t):(o(E.Delete,`Successfully deleted "${c}" action`,t),await i())}}})(e,r),u=((e,r)=>{const a=ue(),{notifyError:n,notifySuccess:o,notifyReadonly:s}=Pe(I.InstrumentationRule),i=async()=>{const{error:t}=await He(a,e.GET_INSTRUMENTATION_RULES,void 0,r);t&&n(E.Read,t)};return{useRules:()=>{const e=$e("GET_INSTRUMENTATION_RULES",void 0,{fetchPolicy:"cache-first"});return{items:t(()=>(e.data?.computePlatform?.instrumentationRules??e.data?.instrumentationRules??[]).map(D),[e.data]),loading:e.loading,refetch:i}},useRuleTypes:()=>{const e=$e("GET_INSTRUMENTATION_RULE_TYPES",void 0,{fetchPolicy:"cache-first"});return{options:t(()=>L(e.data)||mt,[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 Me(a,e.CREATE_INSTRUMENTATION_RULE,{instrumentationRule:C(t)},r);l?n(E.Create,l):(o(E.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 Me(a,e.UPDATE_INSTRUMENTATION_RULE,{ruleId:t,instrumentationRule:C(c)},r);d?n(E.Update,d,t):(o(E.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 Me(a,e.DELETE_INSTRUMENTATION_RULE,{ruleId:t},r);l?n(E.Delete,l,t):(o(E.Delete,`Successfully deleted${c?` "${c}"`:""} rule`,t),await i())}}})(e,r),S=((e,t)=>{const r=ue(),{addNotification:a}=l(),{setDataStreams:n}=T(),o=(e,t)=>a({type:m.Error,title:e,message:t}),i=async()=>{const{data:a,error:s}=await He(r,e.GET_DATA_STREAMS,void 0,t);if(s)o(E.Read,s);else if(a){const e=a.computePlatform?.dataStreams??a.dataStreams??[];n(e)}},c=e.CREATE_DATA_STREAM?async n=>{if(t.isReadonly)return we(a);const{error:s}=await Me(r,e.CREATE_DATA_STREAM,{stream:n},t);s?o(E.Create,s):await i()}:void 0;return{useDataStreams:()=>{const e=$e("GET_DATA_STREAMS",void 0,{fetchPolicy:"cache-first"}),t=e.data?.computePlatform?.dataStreams??e.data?.dataStreams??ct;return s(()=>{n(t)},[JSON.stringify(t.map(e=>e.name))]),{items:t,loading:e.loading,refetch:i}},fetchAll:i,create:c,update:async(n,s)=>{if(t.isReadonly)return we(a);const{error:c}=await Me(r,e.UPDATE_DATA_STREAM,{id:n,dataStream:s},t);c?o(E.Update,c):await i()},remove:async n=>{if(t.isReadonly)return we(a);const{error:s}=await Me(r,e.DELETE_DATA_STREAM,{id:n},t);s?o(E.Delete,s):await i()}}})(e,r),R=((e,t)=>{const r=ue(),{notifyError:a,notifyReadonly:n}=Pe(I.Namespace),o=async()=>{const n=await He(r,e.GET_NAMESPACES_WITH_WORKLOADS,void 0,t);return n.error&&a(E.Read,n.error),n};return{useNamespaces:e=>{const t=$e("GET_NAMESPACES_WITH_WORKLOADS",void 0,{fetchPolicy:"cache-and-network",skip:e?.skip});return{items:t.data?.namespaces??st,loading:t.loading,refetch:o}},fetchAll:o,persist:async o=>{if(t.isReadonly)return n();const{error:s}=await Me(r,e.PERSIST_NAMESPACES,o,t);return s&&a(E.Update,s),s?{error:s}:void 0}}})(e,r),P=((e,t)=>{const r=ue(),{notifyError:a}=Pe(I.Source);return{fetch:async n=>{const o=await He(r,e.GET_K8S_MANIFEST,n,t);return o.error&&a(E.Read,o.error),o}}})(e,r),w=((e,t)=>{const r=ue(),{notifyError:a,notifySuccess:n,notifyReadonly:o}=Pe(I.Source);return{useEffectiveConfig:(e,t)=>$e("GET_EFFECTIVE_CONFIG",e,t),useConfigYamls:e=>$e("GET_CONFIG_YAMLS",void 0,e),getEffectiveConfig:async a=>e.GET_EFFECTIVE_CONFIG?He(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();if(!s.length)return{error:"No connections selected"};const i={formData:n,connectionIds:s},c=e.UPDATE_REMOTE_CONFIG;let l;return 1===s.length?({error:l}=await Me(r,c,i,t)):({error:l}=await xe(r,c,s,i,t)),l&&a(E.Update,l),l?{error:l}:void 0}:void 0,getConfigYamls:e.GET_CONFIG_YAMLS?async()=>He(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 Me(r,e.UPDATE_LOCAL_UI_CONFIG,{config:s},t);return i?a(E.Update,i):n(E.Update,"Local UI configuration updated successfully"),i?{error:i}:void 0}:void 0,resetLocalUiConfigToDefaults:e.RESET_LOCAL_UI_CONFIG_TO_FACTORY_DEFAULTS?async()=>{if(t.isReadonly)return o();const{error:s}=await Me(r,e.RESET_LOCAL_UI_CONFIG_TO_FACTORY_DEFAULTS,void 0,t);return s?a(E.Update,s):n(E.Update,"Local UI configuration reset to factory defaults"),s?{error:s}:void 0}:void 0}})(e,r),b=((e,t)=>{const r=ue(),{apolloConfig:a}=he();return{fetchDescribeOdigos:e.GET_DESCRIBE_ODIGOS?async()=>He(r,e.GET_DESCRIBE_ODIGOS,void 0,t):void 0,fetchDescribeSource:e.GET_DESCRIBE_SOURCE?async a=>He(r,e.GET_DESCRIBE_SOURCE,a,t):void 0,downloadDiagnose:e.GET_DIAGNOSE?async(n,o)=>{const s=await He(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),U=((e,t)=>{const r=ue(),{notifyError:a,notifyReadonly:n}=Pe(I.Source),o=async()=>{e.GET_TOKENS&&await He(r,e.GET_TOKENS,void 0,t)};return{useTokens:()=>{const e=$e("GET_TOKENS",void 0,{fetchPolicy:"cache-first"});return{items:e.data??Qe,loading:e.loading,refetch:o}},updateToken:e.UPDATE_TOKEN?async o=>{if(t.isReadonly)return n();const{error:s}=await Me(r,e.UPDATE_TOKEN,{token:o},t);return s&&a(E.Update,s),s?{error:s}:void 0}:void 0}})(e,r),F=((e,t)=>{const r=ue();return{useMetrics:e=>$e("GET_METRICS",void 0,e),fetch:async()=>He(r,e.GET_METRICS,void 0,t)}})(e,r),k=((e,t)=>{const r=ue();return{useServiceMap:e=>$e("GET_SERVICE_MAP",void 0,e),fetch:e.GET_SERVICE_MAP?async()=>He(r,e.GET_SERVICE_MAP,void 0,t):void 0}})(e,r),H=((e,t)=>{const r=ue();return{useSlots:e=>$e("GET_PROFILING_SLOTS",void 0,e),useSourceProfiling:(e,t)=>$e("GET_SOURCE_PROFILING",e,t),useHotFunctions:(e,t)=>$e("GET_PROFILE_HOT_FUNCTIONS",e,t),fetchSlots:e.GET_PROFILING_SLOTS?async()=>He(r,e.GET_PROFILING_SLOTS,void 0,t):void 0,fetchSourceProfiling:e.GET_SOURCE_PROFILING?async a=>He(r,e.GET_SOURCE_PROFILING,a,t):void 0,enableProfiling:e.ENABLE_SOURCE_PROFILING?async a=>Me(r,e.ENABLE_SOURCE_PROFILING,a,t):void 0,fetchHotFunctions:e.GET_PROFILE_HOT_FUNCTIONS?async a=>He(r,e.GET_PROFILE_HOT_FUNCTIONS,a,t):void 0,clearProfileCache:e.CLEAR_PROFILE_CACHE?async()=>Me(r,e.CLEAR_PROFILE_CACHE,void 0,t):void 0}})(e,r),M=((e,t)=>{const r=ue();return{useGatewayInfo:e=>$e("GET_GATEWAY_INFO",void 0,e),useGatewayPods:e=>$e("GET_GATEWAY_PODS",void 0,e),useNodeCollectorInfo:e=>$e("GET_NODE_COLLECTOR_INFO",void 0,e),useNodeCollectorPods:e=>$e("GET_NODE_COLLECTOR_PODS",void 0,e),usePodInfo:(e,t)=>$e("GET_COLLECTOR_POD_INFO",e,t),getGatewayInfo:e.GET_GATEWAY_INFO?async()=>He(r,e.GET_GATEWAY_INFO,void 0,t):void 0,getGatewayPods:e.GET_GATEWAY_PODS?async()=>He(r,e.GET_GATEWAY_PODS,void 0,t):void 0,getNodeCollectorInfo:e.GET_NODE_COLLECTOR_INFO?async()=>He(r,e.GET_NODE_COLLECTOR_INFO,void 0,t):void 0,getNodeCollectorPods:e.GET_NODE_COLLECTOR_PODS?async()=>He(r,e.GET_NODE_COLLECTOR_PODS,void 0,t):void 0,getExtendedPodInfo:e.GET_COLLECTOR_POD_INFO?async(a,n)=>He(r,e.GET_COLLECTOR_POD_INFO,{namespace:a,name:n},t):void 0}})(e,r),x=((e,t)=>{const r=ue(),{notifyError:a,notifySuccess:n,notifyReadonly:o}=Pe(I.SamplingRule),s=async()=>{e.GET_SAMPLING_RULES&&await He(r,e.GET_SAMPLING_RULES,void 0,t)},i=(e,i)=>e?async c=>{if(t.isReadonly)return o();const{error:l}=await Me(r,e,c,t);return l?a(i,l):(n(E.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 Me(r,e,{samplingId:l.samplingId,ruleId:c,rule:l.rule},t);return d?a(i,d):(n(E.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 Me(r,e,{samplingId:c,ruleId:i},t);return l?a(E.Delete,l):(n(E.Delete,"Successfully deleted sampling rule"),await s()),l?{error:l}:void 0}:void 0;return{useSamplingRules:()=>{const e=$e("GET_SAMPLING_RULES",void 0,{fetchPolicy:"cache-first"});return{items:e.data?.computePlatform?.samplingRules??e.data?.samplingRules??nt,k8sHealthProbesConfig:e.data?.computePlatform?.k8sHealthProbesConfig??e.data?.k8sHealthProbesConfig??null,loading:e.loading,refetch:s}},fetchAll:e.GET_SAMPLING_RULES?async()=>He(r,e.GET_SAMPLING_RULES,void 0,t):void 0,createNoisy:i(e.CREATE_NOISY_OPERATION_RULE,E.Create),updateNoisy:c(e.UPDATE_NOISY_OPERATION_RULE,E.Update),deleteNoisy:l(e.DELETE_NOISY_OPERATION_RULE),createHighlyRelevant:i(e.CREATE_HIGHLY_RELEVANT_OPERATION_RULE,E.Create),updateHighlyRelevant:c(e.UPDATE_HIGHLY_RELEVANT_OPERATION_RULE,E.Update),deleteHighlyRelevant:l(e.DELETE_HIGHLY_RELEVANT_OPERATION_RULE),createCostReduction:i(e.CREATE_COST_REDUCTION_RULE,E.Create),updateCostReduction:c(e.UPDATE_COST_REDUCTION_RULE,E.Update),deleteCostReduction:l(e.DELETE_COST_REDUCTION_RULE),updateK8sHealthProbesConfig:e.UPDATE_LOCAL_UI_SAMPLING_CONFIG?async n=>{if(t.isReadonly)return o();const{error:i}=await Me(r,e.UPDATE_LOCAL_UI_SAMPLING_CONFIG,{config:{k8sHealthProbesSampling:n}},t);return i?a(E.Update,i):await s(),i?{error:i}:void 0}:void 0}})(e,r),V=((e,t)=>{const r=ue(),{notifyError:a,notifySuccess:n,notifyReadonly:o}=Pe(I.Recommendation),s=async()=>{e.GET_RECOMMENDATIONS&&await He(r,e.GET_RECOMMENDATIONS,void 0,t)};return{useRecommendations:()=>{const e=$e("GET_RECOMMENDATIONS",void 0,{fetchPolicy:"cache-first"});return{items:e.data?.computePlatform?.recommendations??e.data?.recommendations??ut,loading:e.loading,refetch:s}},fetchAll:e.GET_RECOMMENDATIONS?async()=>He(r,e.GET_RECOMMENDATIONS,void 0,t):void 0,setDismissed:e.SET_RECOMMENDATION_DISMISSED?async(i,c)=>{if(t.isReadonly)return o(),{error:d.READONLY_WARNING};const{error:l}=await Me(r,e.SET_RECOMMENDATION_DISMISSED,{name:i,dismissed:c},t);return l?a(E.Update,l):(n(E.Update,c?v:G),await s()),l?{error:l}:void 0}:void 0,applyRemediation:e.APPLY_RECOMMENDATION_REMEDIATION?async(i,c)=>{if(t.isReadonly)return o(),{error:d.READONLY_WARNING};const{data:l,error:u}=await Me(r,e.APPLY_RECOMMENDATION_REMEDIATION,{recommendationType:i,remediationType:c},t),m=u||!l?.applyRecommendationRemediation;return m?a(E.Update,u||h):(n(E.Update,O),await s()),m?{error:u||h}:void 0}:void 0}})(e,r),Y=((e,r)=>{const a=ue();return{useSnapshots:()=>{const e=r.proxyID,a=!!e,o=$e("GET_ALL_CLUSTER_SNAPSHOTS",void 0,{fetchPolicy:"cache-and-network",skip:a}),s=$e("GET_CLUSTER_SNAPSHOT",e?{clusterId:e}:void 0,{fetchPolicy:"cache-and-network",skip:!a}),i=t(()=>a?it(s.data):o.data,[a,s.data,o.data]),c=a?s.loading:o.loading,l=n(async()=>{if(!a)return o.refetch();const{data:e}=await s.refetch();return{data:it(e)}},[a,o.refetch,s.refetch]);return{data:i,loading:c,pending:c&&!i,unsupported:a?s.unsupported:o.unsupported,refetch:l}},getAllClusterSnapshots:e.GET_ALL_CLUSTER_SNAPSHOTS?async()=>He(a,e.GET_ALL_CLUSTER_SNAPSHOTS,void 0,r):void 0,getClusterSnapshot:e.GET_CLUSTER_SNAPSHOT?async t=>He(a,e.GET_CLUSTER_SNAPSHOT,{clusterId:t},r):void 0}})(e,r);return{sourcesApi:o,destinationsApi:i,actionsApi:c,instrumentationRulesApi:u,dataStreamsApi:S,namespacesApi:R,k8sManifestApi:P,configApi:w,describeApi:b,tokensApi:U,metricsApi:F,serviceMapApi:k,profilingApi:H,collectorsApi:M,samplingApi:x,recommendationsApi:V,snapshotsApi:Y,insightsApi:ot(e,r),capabilities:t(()=>((e,t)=>{const r=t.platformType===p.K8s,a=r,n=r,o=t.platformType===p.Vm,s=!o,i=!(t.platformType===p.Connector);return{canBulkPersistSources:s&&!!e.PERSIST_SOURCES,canInstrumentNamespaces:n&&!!e.PERSIST_NAMESPACES,canFetchSnapshots:a&&!!e.GET_ALL_CLUSTER_SNAPSHOTS,canRecoverFromRollback:a&&!!e.RECOVER_FROM_ROLLBACK,canRestartWorkloads:a&&!!e.RESTART_WORKLOADS,canFetchPeerSources:!!e.GET_PEER_SOURCES,canFetchSourceLibraries:!!e.GET_SOURCE_LIBRARIES,canFetchK8sManifest:a&&!!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,canManageActions:i&&!!e.GET_ACTIONS,canCreateAction:i&&!!e.CREATE_ACTION,canFetchActionTypes:i&&!!e.GET_ACTION_TYPES,canManageInstrumentationRules:i&&!!e.GET_INSTRUMENTATION_RULES,canCreateInstrumentationRule:i&&!!e.CREATE_INSTRUMENTATION_RULE,canFetchInstrumentationRuleTypes:i&&!!e.GET_INSTRUMENTATION_RULE_TYPES,canApplyEffectiveConfig:s&&!!e.UPDATE_REMOTE_CONFIG,canFetchEffectiveConfig:!!e.GET_EFFECTIVE_CONFIG,canFetchConfigYamls:!!e.GET_CONFIG_YAMLS,canFetchProfiling:a&&!!e.GET_PROFILING_SLOTS||o&&(!!e.GET_SOURCE_PROFILING||!!e.GET_PROFILE_HOT_FUNCTIONS),canFetchCollectorInfo:a&&!!e.GET_GATEWAY_INFO,canManageSamplingRules:!!e.GET_SAMPLING_RULES,canManageInsightsPolicies:!!e.GET_INSIGHTS_POLICIES,canFetchInsights:!!e.GET_INSIGHTS_FINDINGS,canManageRecommendations:a&&!!e.GET_RECOMMENDATIONS}})(e,r),[e,r]),resetCache:n(async()=>{await a.cache.reset()},[a])}},Et={type:"",disabled:!1,name:"",notes:"",signals:[],fields:{}},It=a(null),pt=e=>e?.length?e.map(e=>!e.fromSources?.length&&e.from?{...e,fromSources:[e.from]}:e):e,Tt=(e,t)=>{const r=w(e??{}),a=r[U.ExtractAttribute];var n;a?.extractions?.length&&(a.extractions=a.extractions.map(e=>{const t=e;return{...t,method:t.method||(t.regex?.trim()?"regex":"preset")}})),r[U.LabelsAttributes]&&(r[U.LabelsAttributes]=pt(r[U.LabelsAttributes])),r[U.AnnotationsAttributes]&&(r[U.AnnotationsAttributes]=pt(r[U.AnnotationsAttributes])),r[U.UrlTemplatizationRulesGroups]&&(r[U.UrlTemplatizationRulesGroups]=(n=r[U.UrlTemplatizationRulesGroups],n?.length?n.map(e=>{const t=e.filterK8sWorkloadKind,r=e.filterK8sWorkloadName;return e.workloadFilters?.length||!t&&!r?e:{...e,workloadFilters:[{kind:t,name:r||void 0}]}}):n));const o=new Set((t?.fields||[]).filter(e=>e.componentType===F.SourceScopes).map(e=>e.name));return void 0!==r[U.Scopes]&&o.add(U.Scopes),o.forEach(e=>{const t=e;r[t]=te(r[t])}),r},_t="All row fields are required",ft="At least one row is required",yt=(e,t)=>!!e&&t.every(t=>{const r=e[t];return Array.isArray(r)?r.length>0:!("string"==typeof(a=r)?!a.trim():H(a));var a}),Nt=({children:r,sourceOptions:a=[],namespaceOptions:s=[]})=>{const[i,c]=o(null),l=P(Et),u=n(e=>{l.resetFormData(),l.handleErrorChange(void 0,void 0,{}),e?.type&&l.handleFormChange("type",e.type),c(e)},[]),m=n((e,t)=>{const r=t??(a=e.type,b.find(e=>e.type===a)??null);var a;l.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:Tt(o,s)}))(e,r)),l.handleErrorChange(void 0,void 0,{}),c(r)},[]),S=n(()=>{if(!i)return{errorMessage:"No action type selected",preparedFormData:w(Et)};const e=((e,t)=>{const r=w(e),a=r.fields||{},n=a[U.UrlTemplatizationRulesGroups];n?.length&&(a[U.UrlTemplatizationRulesGroups]=n.map(e=>({...e,templatizationRules:(e.templatizationRules||[]).filter(e=>!!e.template?.trim())})));const o=a[U.AttributeNamesToDelete];o?.length&&(a[U.AttributeNamesToDelete]=o.filter(e=>!!e?.trim()));const s=a[U.Renames];if(s){const e=Array.isArray(s)?s.map(e=>[e?.key??"",e?.value??""]):Object.entries(s);a[U.Renames]=Object.fromEntries(e.filter(([e,t])=>!!e?.trim()&&!!t?.trim()))}const i=new Set((t?.fields||[]).filter(e=>e.componentType===F.SourceScopes).map(e=>e.name));void 0!==a[U.Scopes]&&i.add(U.Scopes),i.forEach(e=>{const t=a[e];void 0!==t&&(a[e]=ee(t)?null:t)});const c=a[U.ExtractAttribute];return c?.extractions?.length&&(a[U.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})(l.formData,i),t={};return H(e.signals)&&(t.signals=d.FIELD_IS_REQUIRED),i.type&&Object.assign(t,((e,t,r)=>{const a={},n=t.fields||{},o=r.fields||{};switch(e){case k.K8sAttributes:{const e=!(n[U.CollectContainerAttributes]||n[U.CollectReplicaSetAttributes]||n[U.CollectWorkloadId]||n[U.CollectClusterId]),t=!n[U.LabelsAttributes]?.length,r=!n[U.AnnotationsAttributes]?.length;e&&t&&r&&(a[U.CollectContainerAttributes]="Enable at least one option or add a label/annotation row");const o=n[U.LabelsAttributes];o?.some(e=>!yt(e,["labelKey","attributeKey","fromSources"]))&&(a[U.LabelsAttributes]=_t);const s=n[U.AnnotationsAttributes];s?.some(e=>!yt(e,["annotationKey","attributeKey","fromSources"]))&&(a[U.AnnotationsAttributes]=_t);break}case k.AddClusterInfo:{const e=n[U.ClusterAttributes];e?.length?e.some(e=>!yt(e,["attributeName","attributeStringValue"]))&&(a[U.ClusterAttributes]=_t):a[U.ClusterAttributes]=ft;break}case k.DeleteAttributes:{const e=o[U.AttributeNamesToDelete]||[],t=n[U.AttributeNamesToDelete]||[];t.length?e.length>t.length&&(a[U.AttributeNamesToDelete]=_t):a[U.AttributeNamesToDelete]=e.length?_t:ft;break}case k.RenameAttributes:{const e=Object.entries(o[U.Renames]||{}),t=Object.entries(n[U.Renames]||{}),r=e.some(([e,t])=>!e?.trim()||!t?.trim());t.length?r&&(a[U.Renames]=_t):a[U.Renames]=e.length?_t:ft;break}case k.PiiMasking:{const e=n[U.PiiCategories];e?.length||(a[U.PiiCategories]="Select at least one attribute to mask");break}case k.URLTemplatization:{const e=n[U.UrlTemplatizationRulesGroups];(!e?.length||e.some(e=>!e.templatizationRules?.length))&&(a[U.UrlTemplatizationRulesGroups]="Each rule group needs at least one non-blank template");break}case k.ExtractAttribute:{const e=n[U.ExtractAttribute]?.extractions||[],t=o[U.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[U.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[U.ExtractAttribute]="Each new span attribute name must be unique")}else a[U.ExtractAttribute]=t.length?_t:ft;break}}return a})(i.type,e,l.formData)),l.handleErrorChange(void 0,void 0,t),{errorMessage:Object.keys(t).length>0?"Invalid form values":void 0,preparedFormData:e}},[l,i]),E=t(()=>({selectedOption:i,onSelectOption:u,loadAction:m,genericForm:l,validateFormData:S,sourceOptions:a,namespaceOptions:s}),[i,u,m,l,S,a,s]);return e(It.Provider,{value:E,children:r})},At=()=>{const e=r(It);if(!e)throw new Error("useActionFormContext must be used within an ActionFormContextProvider");return e},Rt={provider:"",permission:"",customCapabilities:{},authMethod:"",setupMethod:"",accountId:"",credentials:{},accessToken:"",secretId:"",name:""},gt=a(null),ht=({children:r,providers:a=[]})=>{const o=P(Rt),s=n(()=>{const e=w(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(gt.Provider,{value:i,children:r})},Ot=()=>{const e=r(gt);if(!e)throw new Error("useCloudConnectorFormContext must be used within a CloudConnectorFormContextProvider");return e},vt={name:""},Gt=a(null),Ct=({children:r,defaultExcludeName:a=""})=>{const{dataStreams:s}=T(),[c,l]=o(void 0),[u,m]=o(a),[S,E]=o(void 0),[I,p]=o(null),_=i(null),f=P(vt),y=n(e=>{f.resetFormData({name:e}),f.handleErrorChange(void 0,void 0,{}),l(void 0),m(e),E(e),p(null),_.current=null},[]),N=n(()=>{const e=w(f.formData),t=(e=>{const t={};return e.name?M(e.name)||(t.name=d.ILLEGAL_K8S_LABEL):t.name=d.FIELD_IS_REQUIRED,t})(e);f.handleErrorChange(void 0,void 0,t);const r=Object.keys(t).length>0?d.REQUIRED_FIELDS:void 0;return l(r),{errorMessage:r,preparedFormData:e}},[f]),A=n(async e=>{const{errorMessage:t,preparedFormData:r}=N();if(t)return;const a=s.find(e=>e.name===r.name&&e.name!==u);if(a)return _.current=e,void p({preparedFormData:r,existingName:a.name,editingName:S});await e(r)},[N,s,u,S]),R=n(async()=>{const e=_.current,t=I?.preparedFormData;_.current=null,p(null),e&&t&&await e(t)},[I]),g=n(()=>{_.current=null,p(null)},[]),h=t(()=>({genericForm:f,loadDataStream:y,editingName:S,validateFormData:N,requestSubmit:A,pendingMerge:I,confirmMerge:R,cancelMerge:g,errorMessage:c,excludeName:u,setExcludeName:m}),[f,y,S,N,A,I,R,g,c,u]);return e(Gt.Provider,{value:h,children:r})},Lt=()=>{const e=r(Gt);if(!e)throw new Error("useDataStreamFormContext must be used within a DataStreamFormContextProvider");return e},Dt={type:"",name:"",currentStreamName:"",disabled:!1,exportedSignals:{logs:!1,metrics:!1,traces:!1,profiles:!1},fields:[]},Pt={activeForm:null,onChangeActiveForm:()=>{},loadDestination:()=>{},genericForm:void 0,validateFormData:()=>({isOk:!1,preparedFormData:w(Dt)}),unsavedDestinations:[],thisUnsavedDestination:void 0,setUnsavedDestinations:()=>{},addUnsavedDestination:()=>{},updateUnsavedDestination:()=>{},deleteUnsavedDestination:()=>{}},wt=a(Pt),bt=e=>e.filter(e=>!!e).map(e=>{const{name:t,componentType:r,componentProperties:a,displayName:n,initialValue:o,renderCondition:s}=e,i=r===F.Dropdown,c=K(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}}),Ut=({children:r})=>{const{selectedStreamName:a}=T(),{items:i}=St().destinationsApi.useDestinations(),[c,l]=o(null),[u,m]=o(Pt.unsavedDestinations),S=t(()=>"number"==typeof c?.unsavedIdx?u[c.unsavedIdx]:void 0,[c,u]),E=n((e,t)=>{c&&(m(t=>[...t,{...e,option:c.option}]),l(t?e=>e?{...e,listType:x.UNSAVED,unsavedIdx:u.length}:null:null))},[c,u.length]),I=n((e,t,r)=>{c&&(m(r=>r.map((r,a)=>a===e?{...r,...t,option:c.option}:r)),l(r?e=>e?{...e,listType:x.UNSAVED}:null:null))},[c]),p=n(e=>{m(t=>t.filter((t,r)=>r!==e)),l(null)},[]),_=P({...Dt,currentStreamName:a});s(()=>{if(!c)return;if(S)return void _.resetFormData({...S.formData});if(c.listType===x.EXISTS&&c.option.id){const e=i.find(e=>e.id===c.option.id);if(e)return void _.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=V(c.option.supportedSignals);_.resetFormData({type:c.option.type,name:c.option.displayName,currentStreamName:a,disabled:!1,exportedSignals:{logs:e.includes(Y.Logs),metrics:e.includes(Y.Metrics),traces:e.includes(Y.Traces),profiles:e.includes(Y.Profiles)},fields:c.dynamicFields.map(e=>({key:e.name,value:e.value}))})},[c,S]);const f=n(e=>{_.resetFormData(),_.handleErrorChange(void 0,void 0,{}),l(e?{...e,dynamicFields:e.option?.fields?bt(e.option.fields):[]}:null)},[]),y=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=K(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=bt(n.fields);l({listType:x.EXISTS,option:n,dynamicFields:o})},[]),N=n(()=>{const e=w(_.formData),t={};return c?.dynamicFields.forEach(({name:r,required:a})=>{if(a){const a=e.fields.find(e=>e.key===r)?.value;H(a)&&(t[r]=d.FIELD_IS_REQUIRED)}}),W(e.exportedSignals).length||(t.exportedSignals=d.FIELD_IS_REQUIRED),_.handleErrorChange(void 0,void 0,t),{errorMessage:0===Object.keys(t).length?void 0:"Invalid form values",preparedFormData:e}},[_,c]);return e(wt.Provider,{value:{activeForm:c,onChangeActiveForm:f,loadDestination:y,genericForm:_,validateFormData:N,unsavedDestinations:u,thisUnsavedDestination:S,setUnsavedDestinations:m,addUnsavedDestination:E,updateUnsavedDestination:I,deleteUnsavedDestination:p},children:r})},Ft=()=>r(wt),kt={disabled:!1,ruleName:"",notes:"",sourceScopes:re(),workloads:null,instrumentationLibraries:null,payloadCollection:null,codeAttributes:null,headersCollection:null,customInstrumentations:null,networkMetrics:null},Ht=a(null),Mt=({children:r,sourceOptions:a=[],namespaceOptions:s=[]})=>{const[i,c]=o(null),l=P(kt),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,workloads:d})=>({ruleName:e||"",notes:t||"",disabled:!!r,sourceScopes:te(a),workloads:d??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,B.find(e=>e.type===r)??null))},[]),m=n(()=>{if(!i)return{errorMessage:"No rule type selected",preparedFormData:w(kt)};const e=(e=>{const t=w(e),{workloads:r,...a}=t,n={...a,sourceScopes:ee(t.sourceScopes)?null:t.sourceScopes,...r?.length?{workloads:r}:{}};return n.headersCollection?.[$.HeaderKeys]?.length&&(n.headersCollection[$.HeaderKeys]=n.headersCollection[$.HeaderKeys].map(e=>e.trim()).filter(e=>e)),n.customInstrumentations?.[j.Golang]?.length&&(n.customInstrumentations[j.Golang]=n.customInstrumentations[j.Golang].map(e=>new q(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})),n.customInstrumentations?.[j.Java]?.length&&(n.customInstrumentations[j.Java]=n.customInstrumentations[j.Java].map(e=>new Q(e.className,e.methodName)).filter(e=>{return t=e,!(!t.className?.trim()&&!t.methodName?.trim());var t})),n.customInstrumentations?.[j.Php]?.length&&(n.customInstrumentations[j.Php]=n.customInstrumentations[j.Php].map(e=>new z(e.className,e.functionName)).filter(e=>{return t=e,!(!t.className?.trim()&&!t.functionName?.trim());var t})),n})(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?.[$.HeaderKeys]?.length||(r.headersCollection="Header keys are required");break;case J.CustomInstrumentation:{const e=t.customInstrumentations?.[j.Golang]||[],a=t.customInstrumentations?.[j.Java]||[],n=t.customInstrumentations?.[j.Php]||[];if(!e.length&&!a.length&&!n.length){r.customInstrumentations="Custom instrumentation are required";break}const o=e.findIndex(e=>!new q(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 Q(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 z(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]),S=t(()=>({selectedOption:i,onSelectOption:d,loadRule:u,genericForm:l,validateFormData:m,sourceOptions:a,namespaceOptions:s}),[i,d,u,l,m,a,s]);return e(Ht.Provider,{value:S,children:r})},xt=()=>{const e=r(Ht);if(!e)throw new Error("useRuleFormContext must be used within a RuleFormContextProvider");return e};var Vt;(e=>{e.Create="create",e.View="view",e.EditAutoNoisy="edit-auto-noisy",e.EditAutoCostReduction="edit-auto-cost-reduction",e.EditAutoHighlyRelevant="edit-auto-highly-relevant"})(Vt||(Vt={}));const Yt=a(null),Kt=["50","25","10","1"];function Wt(e){const t=String(e);return Kt.includes(t)?t:"custom"}const Bt=({category:r,sourceOptions:a=[],namespaceOptions:i=[],children:c})=>{const{formData:l,handleFormChange:d,resetFormData:u}=P(ie(r)),[m,S]=o(null);s(()=>{u(ie(r)),S(null)},[r]);const E=n(e=>{S(null),d(void 0,void 0,{...l,...e})},[l,d]),I=n(()=>{u(ie(r)),S(null)},[r,u]),p=t(()=>({formType:Vt.Create,category:r,formData:l,handleChange:E,resetForm:I,duplicateWarning:m,setDuplicateWarning:S,sourceOptions:a,namespaceOptions:i}),[r,l,E,I,m,a,i]);return e(Yt.Provider,{value:p,children:c})},$t=({data:r,defaultEditMode:a,sourceOptions:c=[],namespaceOptions:l=[],children:d})=>{const[u,m]=o(!1),{formData:S,handleFormChange:E,resetFormData:I}=P(void 0),p=i(null),[T,_]=o(null);s(()=>{r!==p.current&&(p.current=r,r&&a?(I(se(r)),_(null),m(!0)):(m(!1),_(null)))},[r,a]);const f=n(e=>{_(null),E(void 0,void 0,{...S,...e})},[S,E]),y=n(()=>{r&&(I(se(r)),_(null),m(!0))},[r,I]),N=n(()=>{m(!1),_(null)},[]),A=t(()=>({formType:Vt.View,data:r,isEditing:u,formData:S,handleChange:f,handleEdit:y,handleCancelEdit:N,duplicateWarning:T,setDuplicateWarning:_,sourceOptions:c,namespaceOptions:l}),[r,u,S,f,y,N,T,c,l]);return e(Yt.Provider,{value:A,children:d})};function jt(e){const[r,a]=o(()=>0===e?"all":"sample"),[n,i]=o(()=>Wt(e)),[c,l]=o(()=>"custom"===Wt(e)?String(e):"");s(()=>{a(0===e?"all":"sample");const t=Wt(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 qt=({enabled:r,keepPercentage:a,children:n})=>{const[i,c]=o(r),l=jt(a);s(()=>{c(r)},[r]);const d=t(()=>oe({enabled:i,keepPercentage:l.resolvedPercentage}),[i,l.resolvedPercentage]),u=t(()=>({formType:Vt.EditAutoNoisy,localEnabled:i,setLocalEnabled:c,...l,summary:d}),[i,l,d]);return e(Yt.Provider,{value:u,children:n})},Qt=({enabled:r,dropPercentage:a,children:n})=>{const[i,c]=o(r),l=jt(a);s(()=>{c(r)},[r]);const d=t(()=>ne(i?{disabled:!1,percentageAtMost:l.resolvedPercentage}:null),[i,l.resolvedPercentage]),u=t(()=>({formType:Vt.EditAutoCostReduction,localEnabled:i,setLocalEnabled:c,...l,summary:d}),[i,l,d]);return e(Yt.Provider,{value:u,children:n})},zt=({enabled:r,children:a})=>{const[n,i]=o(r);s(()=>{i(r)},[r]);const c=t(()=>ae(n?{disabled:!1}:null),[n]),l=t(()=>({formType:Vt.EditAutoHighlyRelevant,localEnabled:n,setLocalEnabled:i,summary:c}),[n,c]);return e(Yt.Provider,{value:l,children:a})},Jt=t=>{switch(t.formType){case Vt.Create:return e(Bt,{...t});case Vt.View:return e($t,{...t});case Vt.EditAutoNoisy:return e(qt,{...t});case Vt.EditAutoCostReduction:return e(Qt,{...t});case Vt.EditAutoHighlyRelevant:return e(zt,{...t})}};function Xt(e){const t=r(Yt);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 Zt={otelServiceName:"",currentStreamName:""},er=a(null),tr=({children:r})=>{const[a,s]=o(void 0),i=P(Zt),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=w(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(er.Provider,{value:d,children:r})},rr=()=>{const e=r(er);if(!e)throw new Error("useSourceEditFormContext must be used within a SourceEditFormContextProvider");return e},ar=new Set([X.StaticPod]),nr=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}},or=(e,t,r)=>{if(t&&!e.name.toLowerCase().includes(t.toLowerCase()))return!1;if(r.showOnlySelected){const{isAllSourced:t,isSomeSourced:r,isFutureApps:a}=nr(e);return t||r||a}return!0},sr=(e,t,r)=>!(t&&!e.name.toLowerCase().includes(t.toLowerCase()))&&(!r.showOnlySelected||e.selected),ir=a({snapshots:null,setSnapshots:()=>{},isFetching:!1,setIsFetching:()=>{},formData:[],handleSourceChange:()=>{},handleSelectAll:()=>{},formDiff:{},isFormDirty:!1}),cr=(e,t)=>`${e}\0${t}`,lr=(e,t,r,a)=>`${e}\0${t}\0${r}/${a}`,dr=(e,t)=>e.name===t.name&&e.kind===t.kind&&(e.region??"")===(t.region??""),ur=(e,t,r)=>{const a=[];return t.workloads.forEach(n=>{const o=e?.workloads.find(e=>dr(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},mr=({children:r,selectedConnectionIds:a,initialInputs:c})=>{const{tier:l}=ce(),d=l===Z.Onprem,{capabilities:u}=St(),m=u.canInstrumentNamespaces,{selectedStreamName:S}=T(),[E,p]=o(!1),[_,f]=o(null),[y,N]=o([]),A=i(new Set),R=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(cr(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(lr(t.clusterId,e.name,r.kind,r.name))}))})})},[]);s(()=>{_&&N(e=>{const t=((e,t)=>w(((e,t)=>e.clusters.filter(({clusterId:e})=>!t||t.includes(e)))(e,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(cr(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(lr(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=w(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=>{ar.has(e.kind)&&!d||(e.selected=!0)})}),r}return a})})},[_,a,c]);const{formDiff:g,isFormDirty:h}=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=ur(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=ur(s,o,r);t.length>0&&(n[e.clusterId]||(n[e.clusterId]=[]),n[e.clusterId].push(...t))}})}),n})(y,_?.clusters||[],S,m);return{formDiff:e,isFormDirty:Object.keys(e).length>0}},[y,_,S,m]),O=n(e=>!d&&ar.has(e),[d]),v=n(({clusterId:e,workloadId:t,selected:r,auto:a})=>{N(n=>{const o=w(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=>dr(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=>!O(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=>{O(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&&O(t.kind)||(t.selected=e)})}return R(n,o),o})},[O,m,R]),G=n(({clusterId:e,namespaceName:t,boolean:r,searchText:a="",searchBy:n="",filters:o})=>{N(s=>{const i=w(s),c=n===I.Namespace?a:"",l=n===I.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&&O(e.kind)||sr(e,l,o||{showOnlySelected:!1})&&(i[n].namespaces[s].workloads[t].selected=r)}),m){const e=i[n].namespaces[s].workloads.filter(e=>!O(e.kind)).every(e=>e.selected);i[n].namespaces[s].selected=e}}else{if(!or(i[n].namespaces[s],c,o||{showOnlySelected:!1}))return;m&&(i[n].namespaces[s].selected=r),a.forEach((e,t)=>{r&&O(e.kind)||(i[n].namespaces[s].workloads[t].selected=r)})}else m&&(i[n].namespaces[s].selected=r),a.forEach((e,t)=>{r&&O(e.kind)||(i[n].namespaces[s].workloads[t].selected=r)})})}),R(s,i),i})},[O,m,R]);return e(ir.Provider,{value:{snapshots:_,setSnapshots:f,isFetching:E,setIsFetching:p,formData:y,handleSourceChange:v,handleSelectAll:G,formDiff:g,isFormDirty:h},children:r})},Sr=()=>r(ir);export{Nt as A,ht as C,Ct as D,ar as E,Le as O,Mt as R,Vt as S,xe as a,Ut as b,Oe as c,Jt as d,tr as e,mr as f,ze as g,At as h,je as i,qe as j,$e as k,Ot as l,Lt as m,Ft as n,St as o,Je as p,xt as q,Me as r,Xt as s,rr as t,he as u,Sr as v,sr as w,or as x,nr as y};