@odigos/ui-kit 0.0.296 → 0.0.298
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/CHANGELOG.md +14 -0
- package/lib/chunks/{helpers-BV_MHw06.js → helpers-DIbaWh5d.js} +1 -1
- package/lib/chunks/index-BbgCENJM.js +358 -0
- package/lib/chunks/{source-instrument-form-context-CWv4NCRf.js → source-instrument-form-context-Be_f9jmB.js} +2 -2
- package/lib/chunks/ui-components-mqa1Nv5H.js +2163 -0
- package/lib/components/_cards/data-card/index.d.ts +3 -0
- package/lib/components/fullscreen/index.d.ts +21 -0
- package/lib/components/index.d.ts +1 -0
- package/lib/components/info-row/index.d.ts +4 -0
- package/lib/components/ping/index.d.ts +2 -1
- package/lib/components/trace-view/index.d.ts +1 -1
- package/lib/components/trace-view/styled.d.ts +12 -5
- package/lib/components/trace-view/types.d.ts +7 -3
- package/lib/components.js +1 -1
- package/lib/constants/insights/system.d.ts +2 -2
- package/lib/constants/sources/index.d.ts +1 -0
- package/lib/constants.js +1 -1
- package/lib/containers/_drawers/edit-source-drawer/profiling/flame-graph-canvas.d.ts +1 -1
- package/lib/containers/_drawers/edit-source-drawer/profiling/index.d.ts +0 -2
- package/lib/containers/insights/findings/drawer/anomaly/anomaly-trace-compare/helpers.d.ts +8 -0
- package/lib/containers/insights/findings/drawer/index.d.ts +2 -2
- package/lib/containers/insights/insights-context.d.ts +11 -6
- package/lib/containers.js +380 -380
- package/lib/contexts.js +1 -1
- package/lib/functions.js +1 -1
- package/lib/hooks/index.d.ts +1 -0
- package/lib/hooks/useFullscreen.d.ts +14 -0
- package/lib/hooks.js +1 -1
- package/lib/icons/programming-languages/browser-logo/index.d.ts +2 -0
- package/lib/icons/programming-languages/index.d.ts +1 -0
- package/lib/icons.js +1 -1
- package/lib/snippets/graph-flow/types.d.ts +4 -0
- package/lib/snippets.js +1 -1
- package/lib/store.js +1 -1
- package/lib/theme/palettes/index.d.ts +1 -0
- package/lib/theme.js +1 -1
- package/lib/types/common/index.d.ts +1 -0
- package/lib/types/enum/index.d.ts +1 -0
- package/lib/types.js +1 -1
- package/lib/visuals.js +1 -1
- package/package.json +2 -2
- package/lib/chunks/index-vZsC8Ggg.js +0 -353
- package/lib/chunks/ui-components-BlmdA--F.js +0 -2115
|
@@ -1,5 +1,5 @@
|
|
|
1
|
-
import{jsx as e,jsxs as t}from"react/jsx-runtime";import{useMemo as a,useContext as r,createContext as n,useCallback as s,useState as o,useEffect as i,useRef as l}from"react";import{t as c,
|
|
1
|
+
import{jsx as e,jsxs as t}from"react/jsx-runtime";import{useMemo as a,useContext as r,createContext as n,useCallback as s,useState as o,useEffect as i,useRef as l}from"react";import{t as c,bb as d,bc as u,p as m,S,bd as p,be as E,bf as I,P as T,bg as f,bh as y,bi as _,bj as h,bk as g,bl as N,bm as v,bn as A,bo as R,bp as O,bq as C,br as G,bs as D,bt as b,bu as L,bv as w,bw as P,b3 as U,bx as F,by as k,q as M,bz as H,bA as x,bB as $,bC as K,bD as V,bE as B,E as Y,bF as W,h as j,Q as q,bG as Q,T as z,bH as J,bI as X,bJ as Z,bK as ee,bL as te,bM as ae,bN as re,bO as ne,bP as se,bQ as oe,bR as ie,bS as le,bT as ce,bU as de,bV as ue,bW as me,bX as Se,bY as pe,bZ as Ee,b_ as Ie,b$ as Te,ak as fe,ag as ye,ai as _e,ah as he,aj as ge,af as Ne,c0 as ve,b as Ae}from"./ui-components-mqa1Nv5H.js";import{i as Re,n as Oe,m as Ce,l as Ge,o as De,p as be,v as Le,q as we,u as Pe}from"./helpers-DIbaWh5d.js";import{ApolloProvider as Ue,useLazyQuery as Fe,useApolloClient as ke,useQuery as Me}from"@apollo/client/react";import{ErrorLink as He}from"@apollo/client/link/error";import{SetContextLink as xe}from"@apollo/client/link/context";import{getMainDefinition as $e}from"@apollo/client/utilities";import{CombinedGraphQLErrors as Ke,ServerError as Ve}from"@apollo/client/errors";import{HttpLink as Be,ApolloLink as Ye,ApolloClient as We,InMemoryCache as je,gql as qe}from"@apollo/client";const Qe=e=>{if(!e)return!1;const t=e.toLowerCase();return t.includes("authentication required")||t.includes("authentication expired")||t.includes("http 401")},ze=n(null),Je=()=>{const e=r(ze);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},Xe=({apolloConfig:t,operations:r,context:n,children:s})=>{const o=a(()=>(e=>{const t=new Be({uri:e.httpUrl,credentials:e.credentials??"same-origin"}),a=new He(({error:t})=>{Ke.is(t)?t.errors.some(e=>Qe(e.message))&&e.onAuthError?.():(Ve.is(t)&&401===t.statusCode||Qe(t.message))&&e.onAuthError?.()}),r=new xe(async t=>{const a={...t.headers};if(e.authHeader){const t=await e.authHeader();Object.assign(a,t)}return e.csrfHeader&&Object.assign(a,e.csrfHeader()),{headers:a}}),n=[];e.additionalLinks?.length&&n.push(...e.additionalLinks),n.push(r,a,t);let s=Ye.from(n);e.wsLink&&(s=Ye.split(({query:e})=>{const t=$e(e);return"OperationDefinition"===t.kind&&"subscription"===t.operation},e.wsLink,s));const o=e.defaultFetchPolicies;return new We({link:s,cache:new je({typePolicies:e.cacheTypePolicies}),defaultOptions:{watchQuery:{fetchPolicy:o?.watchQuery??"cache-and-network"},query:{fetchPolicy:o?.query??"cache-first"},mutate:{fetchPolicy:o?.mutate??"network-only"}}})})(t),[t.httpUrl,t.wsLink,t.credentials,t.clientKey]),i=a(()=>({operations:r,context:n,apolloConfig:t}),[r,n,t]);return e(Ue,{client:o,children:e(ze.Provider,{value:i,children:s})})},Ze=ze,et=e=>e.map(e=>`${e.id}:${e.odigosVersion}:${e.type}`).join(","),tt=(e,t,a)=>{const r=t.length?t.map(e=>e.id):a??[],n={...e,connectionIds:r};if(!t.length||c(e.version)>0)return n;const s=t[0];return{...n,version:s.odigosVersion||e.version,platformType:s.type??e.platformType}},at=({connections:t,connectionIds:r,children:n})=>{const s=Je(),o=a(()=>({operations:s.operations,context:tt(s.context,t,r),apolloConfig:s.apolloConfig}),[s.operations,s.context,s.apolloConfig,et(t),r?.join(",")]);return e(Ze.Provider,{value:o,children:n})},rt=(e,t)=>{if(e)return"string"==typeof e?e:p(e,t)},nt=e=>{const{addNotification:t}=d(),a=(a,r,n,s,o)=>t({type:a,title:r,message:n,crdType:e,target:rt(s,e),hideFromHistory:o});return{notify:a,notifyError:(e,t,r)=>a(S.Error,e,t,r),notifySuccess:(e,t,r)=>a(S.Success,e,t,r),notifyPending:(e,t)=>a(S.Default,"Pending",e,t,!0),notifyReadonly:()=>{t({type:S.Warning,title:m.READONLY,message:u.READONLY_WARNING,hideFromHistory:!0})}}},st=e=>{e({type:S.Warning,title:m.READONLY,message:u.READONLY_WARNING,hideFromHistory:!0})},ot=e=>({error:e,results:[],allSucceeded:!1,anySucceeded:!1,successCount:0,failureCount:0}),it=(e,t)=>{if(e)return"function"==typeof e?e(t):e},lt=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)},ct=(e,t)=>e.client??t,dt=async(e,t,a,r,n)=>{if(!t)return{error:"Query operation not configured"};if(t.canRun&&!t.canRun(r))return{data:void 0};if(t.run)try{return await t.run(ct(t,e),a,r)}catch(e){return{error:lt(e)}}const s=it(t.document,r);if(!s)return{error:"Query operation not supported in this context"};const o=t.transformVariables?t.transformVariables(a,r):a,i=ct(t,e);try{const e=await i.query({query:s,variables:o,fetchPolicy:n??"network-only"});return{data:t.transformResult?t.transformResult(e.data,r):e.data,error:e.error?lt(e.error):void 0}}catch(e){return{error:lt(e)}}},ut=async(e,t,a,r)=>{if(!t)return{error:"Mutation operation not configured"};if(t.canRun&&!t.canRun(r))return{error:"Mutation operation not supported in this context"};if(t.run)try{return await t.run(ct(t,e),a,r)}catch(e){return{error:lt(e)}}const n=it(t.document,r);if(!n)return{error:"Mutation operation not supported in this context"};const s=t.transformVariables?t.transformVariables(a,r):a,o=ct(t,e);try{const e=await o.mutate({mutation:n,variables:s});return{data:t.transformResult?t.transformResult(e.data,r):e.data,error:void 0}}catch(e){return{error:lt(e)}}},mt=async(e,t,a,r,n)=>{if(!t)return ot("Multi fetch operation not configured");if(!a.length)return ot("No proxy ids supplied for multi fetch");const s=ct(t,e);if(t.transformVariablesMulti&&(t.documentMulti||t.document)){const e=t.transformVariablesMulti(a,r,n),o=[];for(const a of e)try{const e=await s.query({query:a.document,variables:a.variables,fetchPolicy:"network-only"});t.transformMultiResult?t.transformMultiResult(e.data,n).forEach(e=>o.push(e)):a.proxyIDs.forEach(t=>{o.push({proxyID:t,success:!e.error,data:e.data,error:e.error?.message})})}catch(e){const t=lt(e);a.proxyIDs.forEach(e=>o.push({proxyID:e,success:!1,error:t}))}const i=o.filter(e=>e.success).length,l=o.length-i,c=Array.from(new Set(o.filter(e=>!!e.error).map(e=>e.error)));return{results:o,allSucceeded:0===l,anySucceeded:i>0,successCount:i,failureCount:l,error:c.length?c.join(", "):void 0}}const o=await Promise.all(a.map(async a=>{const s={...n,proxyID:a},o=await dt(e,t,r,s);return{proxyID:a,success:!o.error,data:o.data,error:o.error}})),i=o.filter(e=>e.success).length,l=o.length-i,c=Array.from(new Set(o.filter(e=>!!e.error).map(e=>e.error)));return{results:o,allSucceeded:0===l,anySucceeded:i>0,successCount:i,failureCount:l,error:c.length?c.join(", "):void 0}},St=qe`
|
|
2
2
|
query OdigosApiNoop {
|
|
3
3
|
__typename
|
|
4
4
|
}
|
|
5
|
-
`,pt=(e,t)=>{if(e)return"function"==typeof e?e(t):e},Et=(e,t)=>e[t],It=(e,t,a)=>{if(void 0!==t)return e?.transformResult?e.transformResult(t,a):t},Tt=(e,t,a)=>{if(!e)return;const r=e.transformVariables;return r?r(t,a):t},ft=(e,t,r)=>{const{operations:n,context:o}=Je(),l=Et(n,e),c=a(()=>pt(l?.document,o),[l,o]),d=a(()=>Tt(l,t,o),[l,t,o]),u=!l||!c,m=!!l?.canRun&&!l.canRun(o),S=r?.skip||u||m,p=Me(c??St,{variables:d,skip:S,pollInterval:r?.pollInterval,fetchPolicy:r?.fetchPolicy??"cache-and-network",notifyOnNetworkStatusChange:r?.notifyOnNetworkStatusChange,client:l?.client}),E=a(()=>{if(!S)return It(l,p.data,o)},[l,o,p.data,S]);i(()=>{S||void 0===E||r?.onCompleted?.(E)},[S,E,r?.onCompleted]),i(()=>{p.error&&r?.onError?.(p.error)},[p.error,r?.onError]);const I=s(async()=>{if(S)return{data:void 0};const e=await p.refetch();return{data:It(l,e.data,o)}},[l,o,p,S]);return{data:E,loading:!S&&p.loading,error:p.error,refetch:I,unsupported:u}},yt=(e,t)=>{const{operations:r,context:n}=Je(),o=Et(r,e),i=a(()=>pt(o?.document,n),[o,n]),l=!o||!i,[c,d]=Fe(i??St,{fetchPolicy:t?.fetchPolicy??"network-only",notifyOnNetworkStatusChange:t?.notifyOnNetworkStatusChange,client:o?.client});return{execute:s(async e=>{if(l)return{error:void 0};if(o?.canRun&&!o.canRun(n))return{data:void 0};const t=Tt(o,e,n),a=await c({variables:t});return a.error?{error:a.error}:{data:It(o,a.data,n)}},[o,n,c,l]),data:a(()=>It(o,d.data,n),[o,n,d.data]),loading:d.loading,error:d.error,called:d.called,unsupported:l}},_t=(e,t)=>{const{operations:r,context:n}=Je(),i=ke(),l=Et(r,e),c=a(()=>pt(l?.document,n),[l,n]),d=!l||!c,[u,m]=o({loading:!1,called:!1}),S=s(()=>m({loading:!1,called:!1}),[]);return[s(async e=>{if(d||!c)return{error:void 0};if(l?.canRun&&!l.canRun(n))return{data:void 0};const a=Tt(l,e,n),r=l?.client??i;m(e=>({...e,loading:!0,called:!0}));try{const e=await r.mutate({mutation:c,variables:a}),s=It(l,e.data,n);if(m({data:s,loading:!1,error:void 0,called:!0}),t?.refetchQueries){const e=r.refetchQueries({include:t.refetchQueries});t?.awaitRefetchQueries&&await e}return void 0!==s&&t?.onCompleted?.(s),{data:s}}catch(e){const a=e;return m({data:void 0,loading:!1,error:a,called:!0}),t?.onError?.(a),{error:a}}},[l,n,i,c,d,t]),{data:u.data,loading:u.loading,error:u.error,called:u.called,unsupported:d,reset:S}]},ht=[],gt=(e,t,a,r)=>{let n=!0;const s={sources:[]};for(const[o,i]of Object.entries(e)){if(!i.length)continue;n=!1;const e=i.map(({id:e,selected:t,currentStreamName:r})=>({namespace:e.namespace,name:e.name,kind:e.kind,selected:void 0!==t&&t,currentStreamName:r||a}));let l=0,c=0;for(const a of e){const e=t.find(e=>e.id.namespace===o&&e.id.name===a.name&&e.id.kind===a.kind),r=e?.dataStreamNames||[];a.selected&&!e?l++:!a.selected&&e&&r.length<=1&&c++}r(l,c),s.sources.push(...e)}return{payload:s,isEmpty:n}},Nt=(e,t)=>{let a=!0;const r={namespaces:[]};for(const[n,{selected:s,currentStreamName:o}]of Object.entries(e))"boolean"==typeof s&&(a=!1,r.namespaces.push({namespace:n,selected:s,currentStreamName:o||t}));return{payload:r,isEmpty:a}},vt={filter:{markedForInstrumentation:!0}},At=[],Rt=e=>{const t=e.markedForInstrumentation?.markedForInstrumentation;return"boolean"==typeof t?e:{...e,markedForInstrumentation:{...e.markedForInstrumentation??{markedForInstrumentation:!0},markedForInstrumentation:!0}}},Ot=e=>{let t=!1;const a=e.map(e=>{const a=Rt(e);return a!==e&&(t=!0),a});return t?a:e},Ct=[],Gt=[],Dt=[],bt=(e,t)=>{const a=ke(),{notifyError:r,notifySuccess:n,notifyReadonly:s}=nt(A.Finding),o=async()=>{e.GET_INSIGHTS_FINDINGS&&await dt(a,e.GET_INSIGHTS_FINDINGS,void 0,t)},i=async()=>{e.GET_INSIGHTS_ANOMALIES&&await dt(a,e.GET_INSIGHTS_ANOMALIES,void 0,t)},l=async()=>{e.GET_INSIGHTS_TRANSACTIONS&&await dt(a,e.GET_INSIGHTS_TRANSACTIONS,void 0,t)},c=async()=>{if(!e.GET_INSIGHTS_POLICIES)return;const r="function"==typeof e.GET_INSIGHTS_POLICIES.document?e.GET_INSIGHTS_POLICIES.document(t):e.GET_INSIGHTS_POLICIES.document;r?await a.refetchQueries({include:[r]}):await dt(a,e.GET_INSIGHTS_POLICIES,void 0,t)},d=async()=>{e.GET_INSIGHTS_LEARNING_POLICIES&&await dt(a,e.GET_INSIGHTS_LEARNING_POLICIES,void 0,t)},u=async()=>{e.GET_INSIGHTS_GUARDRAILS&&await dt(a,e.GET_INSIGHTS_GUARDRAILS,void 0,t)},m=async()=>{e.GET_INSIGHTS_GUARDRAIL_VIOLATIONS&&await dt(a,e.GET_INSIGHTS_GUARDRAIL_VIOLATIONS,void 0,t)};return{useServices:e=>ft("GET_INSIGHTS_SERVICES",void 0,e),useServiceNames:e=>ft("GET_INSIGHTS_SERVICE_NAMES",void 0,e),useTransactions:(e,t)=>ft("GET_INSIGHTS_TRANSACTIONS",e,t),useTransaction:(e,t)=>ft("GET_INSIGHTS_TRANSACTION",e,t),useBaseline:(e,t)=>ft("GET_INSIGHTS_BASELINE",e,t),useObservations:(e,t)=>ft("GET_INSIGHTS_OBSERVATIONS",e,t),useObservation:(e,t)=>ft("GET_INSIGHTS_OBSERVATION",e,t),useFindings:(e,t)=>ft("GET_INSIGHTS_FINDINGS",e,t),useAnomalies:(e,t)=>ft("GET_INSIGHTS_ANOMALIES",e,t),useAnomaly:(e,t)=>ft("GET_INSIGHTS_ANOMALY",e,t),usePolicies:e=>ft("GET_INSIGHTS_POLICIES",void 0,e),useLearningPolicies:e=>ft("GET_INSIGHTS_LEARNING_POLICIES",void 0,e),useGuardrails:e=>ft("GET_INSIGHTS_GUARDRAILS",void 0,e),useGuardrailViolations:(e,t)=>ft("GET_INSIGHTS_GUARDRAIL_VIOLATIONS",e,t),useGuardrailViolation:(e,t)=>ft("GET_INSIGHTS_GUARDRAIL_VIOLATION",e,t),useServiceProfile:(e,t)=>ft("GET_INSIGHTS_SERVICE_PROFILE",e,t),useBlastRadius:(e,t)=>ft("GET_INSIGHTS_BLAST_RADIUS",e,t),useCatalog:e=>ft("GET_INSIGHTS_CATALOG",void 0,e),useSystemSettings:e=>ft("GET_INSIGHTS_SYSTEM_SETTINGS",void 0,e),useStorageHealth:e=>ft("GET_INSIGHTS_STORAGE_HEALTH",void 0,e),getServices:e.GET_INSIGHTS_SERVICES?async()=>dt(a,e.GET_INSIGHTS_SERVICES,void 0,t):void 0,getServiceNames:e.GET_INSIGHTS_SERVICE_NAMES?async()=>dt(a,e.GET_INSIGHTS_SERVICE_NAMES,void 0,t):void 0,getTransactions:e.GET_INSIGHTS_TRANSACTIONS?async r=>dt(a,e.GET_INSIGHTS_TRANSACTIONS,r,t):void 0,getTransaction:e.GET_INSIGHTS_TRANSACTION?async r=>dt(a,e.GET_INSIGHTS_TRANSACTION,r,t):void 0,getFindings:e.GET_INSIGHTS_FINDINGS?async r=>dt(a,e.GET_INSIGHTS_FINDINGS,r,t):void 0,getAnomalies:e.GET_INSIGHTS_ANOMALIES?async r=>dt(a,e.GET_INSIGHTS_ANOMALIES,r,t):void 0,getAnomaly:e.GET_INSIGHTS_ANOMALY?async r=>dt(a,e.GET_INSIGHTS_ANOMALY,r,t):void 0,getPolicies:e.GET_INSIGHTS_POLICIES?async()=>dt(a,e.GET_INSIGHTS_POLICIES,void 0,t):void 0,getLearningPolicies:e.GET_INSIGHTS_LEARNING_POLICIES?async()=>dt(a,e.GET_INSIGHTS_LEARNING_POLICIES,void 0,t):void 0,getGuardrails:e.GET_INSIGHTS_GUARDRAILS?async()=>dt(a,e.GET_INSIGHTS_GUARDRAILS,void 0,t):void 0,getGuardrailViolation:e.GET_INSIGHTS_GUARDRAIL_VIOLATION?async r=>dt(a,e.GET_INSIGHTS_GUARDRAIL_VIOLATION,r,t):void 0,getServiceProfile:e.GET_INSIGHTS_SERVICE_PROFILE?async r=>dt(a,e.GET_INSIGHTS_SERVICE_PROFILE,r,t):void 0,getBlastRadius:e.GET_INSIGHTS_BLAST_RADIUS?async r=>dt(a,e.GET_INSIGHTS_BLAST_RADIUS,r,t):void 0,getCatalog:e.GET_INSIGHTS_CATALOG?async()=>dt(a,e.GET_INSIGHTS_CATALOG,void 0,t):void 0,getSystemSettings:e.GET_INSIGHTS_SYSTEM_SETTINGS?async()=>dt(a,e.GET_INSIGHTS_SYSTEM_SETTINGS,void 0,t):void 0,getStorageHealth:e.GET_INSIGHTS_STORAGE_HEALTH?async()=>dt(a,e.GET_INSIGHTS_STORAGE_HEALTH,void 0,t):void 0,promoteBaselineClass:e.PROMOTE_INSIGHTS_BASELINE_CLASS?async o=>{if(t.isReadonly)return s();const{data:i,error:l}=await ut(a,e.PROMOTE_INSIGHTS_BASELINE_CLASS,o,t);return l?r(E.Update,l):n(E.Update,"Successfully promoted baseline class"),{data:i,error:l}}:void 0,resetBaselineClass:e.RESET_INSIGHTS_BASELINE_CLASS?async(o,i)=>{if(t.isReadonly)return s();const{error:l}=await ut(a,e.RESET_INSIGHTS_BASELINE_CLASS,{transactionId:o,class:i},t);return l?r(E.Update,l):n(E.Update,"Successfully reset baseline class"),l?{error:l}:void 0}:void 0,resetTransactionBaselines:e.RESET_INSIGHTS_TRANSACTION_BASELINES?async o=>{if(t.isReadonly)return s();const{error:i}=await ut(a,e.RESET_INSIGHTS_TRANSACTION_BASELINES,{transactionId:o},t);return i?r(E.Update,i):n(E.Update,"Successfully reset transaction baselines"),i?{error:i}:void 0}:void 0,promoteTransactionBaselines:e.PROMOTE_INSIGHTS_TRANSACTION_BASELINES?async o=>{if(t.isReadonly)return s();const{error:i}=await ut(a,e.PROMOTE_INSIGHTS_TRANSACTION_BASELINES,{transactionId:o},t);return i?r(E.Update,i):(n(E.Update,"Successfully promoted transaction baselines"),await Promise.all([l(),u()])),i?{error:i}:void 0}:void 0,bulkPromoteTransactions:e.BULK_PROMOTE_INSIGHTS_TRANSACTIONS?async o=>{if(t.isReadonly)return s();const i={transactionIds:o},{data:c,error:d}=await ut(a,e.BULK_PROMOTE_INSIGHTS_TRANSACTIONS,i,t);return d?r(E.Update,d):(n(E.Update,`Successfully promoted ${c?.promoted??o.length} transactions`),await Promise.all([l(),u()])),{data:c,error:d}}:void 0,forcePromoteService:e.FORCE_PROMOTE_INSIGHTS_SERVICE?async o=>{if(t.isReadonly)return s();const{error:i}=await ut(a,e.FORCE_PROMOTE_INSIGHTS_SERVICE,o,t);return i?r(E.Update,i):(n(E.Update,"Successfully force-promoted service transactions"),await Promise.all([l(),u()])),i?{error:i}:void 0}:void 0,enableTransactionGuardrail:e.ENABLE_INSIGHTS_TRANSACTION_GUARDRAIL?async o=>{if(t.isReadonly)return s();const{error:i}=await ut(a,e.ENABLE_INSIGHTS_TRANSACTION_GUARDRAIL,o,t);return i?r(E.Update,i):(n(E.Update,"Successfully enabled transaction guardrail"),await u()),i?{error:i}:void 0}:void 0,disableTransactionGuardrail:e.DISABLE_INSIGHTS_TRANSACTION_GUARDRAIL?async o=>{if(t.isReadonly)return s();const{error:i}=await ut(a,e.DISABLE_INSIGHTS_TRANSACTION_GUARDRAIL,o,t);return i?r(E.Update,i):(n(E.Update,"Successfully disabled transaction guardrail"),await u()),i?{error:i}:void 0}:void 0,deleteTransaction:e.DELETE_INSIGHTS_TRANSACTION?async c=>{if(t.isReadonly)return s();const{error:d}=await ut(a,e.DELETE_INSIGHTS_TRANSACTION,{transactionId:c},t);return d?r(E.Delete,d):(n(E.Delete,"Successfully deleted transaction"),await Promise.all([l(),o(),i()])),d?{error:d}:void 0}:void 0,bulkDeleteTransactions:e.BULK_DELETE_INSIGHTS_TRANSACTIONS?async c=>{if(t.isReadonly)return s();const d={transactionIds:c},{data:u,error:m}=await ut(a,e.BULK_DELETE_INSIGHTS_TRANSACTIONS,d,t);return m?r(E.Delete,m):(n(E.Delete,`Successfully deleted ${u?.deleted??c.length} transactions`),await Promise.all([l(),o(),i()])),{data:u,error:m}}:void 0,upsertPolicy:e.UPSERT_INSIGHTS_POLICY?async o=>{if(t.isReadonly)return s();const{data:i,error:l}=await ut(a,e.UPSERT_INSIGHTS_POLICY,{policy:o},t);return l?r(E.Update,l):(n(E.Update,`Successfully saved policy "${o.name}"`),await c()),{data:i,error:l}}:void 0,deletePolicy:e.DELETE_INSIGHTS_POLICY?async(o,i)=>{if(t.isReadonly)return s();const{error:l}=await ut(a,e.DELETE_INSIGHTS_POLICY,{scope:o,scopeKey:i},t);return l?r(E.Delete,l):(n(E.Delete,"Successfully deleted policy"),await c()),l?{error:l}:void 0}:void 0,upsertLearningPolicy:e.UPSERT_INSIGHTS_LEARNING_POLICY?async o=>{if(t.isReadonly)return s();const{data:i,error:l}=await ut(a,e.UPSERT_INSIGHTS_LEARNING_POLICY,{policy:o},t);return l?r(E.Update,l):(n(E.Update,"Successfully saved learning policy"),await d()),{data:i,error:l}}:void 0,deleteLearningPolicy:e.DELETE_INSIGHTS_LEARNING_POLICY?async(o,i,l)=>{if(t.isReadonly)return s();const{error:c}=await ut(a,e.DELETE_INSIGHTS_LEARNING_POLICY,{class:o,scope:i,scopeKey:l},t);return c?r(E.Delete,c):(n(E.Delete,"Successfully deleted learning policy"),await d()),c?{error:c}:void 0}:void 0,resolveAnomaly:e.RESOLVE_INSIGHTS_ANOMALY?async l=>{if(t.isReadonly)return s();const{error:c}=await ut(a,e.RESOLVE_INSIGHTS_ANOMALY,l,t);return c?r(E.Update,c):(n(E.Update,`Successfully ${l.resolution}ed anomaly`),await Promise.all([i(),o()])),c?{error:c}:void 0}:void 0,bulkResolveAnomalies:e.BULK_RESOLVE_INSIGHTS_ANOMALIES?async(l,c)=>{if(t.isReadonly)return s();const d={resolution:l,items:c},{data:u,error:m}=await ut(a,e.BULK_RESOLVE_INSIGHTS_ANOMALIES,d,t);return m?r(E.Update,m):(n(E.Update,`Successfully ${l}ed ${u?.resolved??c.length} anomalies`),await Promise.all([i(),o()])),{data:u,error:m}}:void 0,upsertGuardrail:e.UPSERT_INSIGHTS_GUARDRAIL?async o=>{if(t.isReadonly)return s();const{data:i,error:l}=await ut(a,e.UPSERT_INSIGHTS_GUARDRAIL,{guardrail:o},t);return l?r(E.Update,l):(n(E.Update,"Successfully saved guardrail"),await u()),{data:i,error:l}}:void 0,deleteGuardrail:e.DELETE_INSIGHTS_GUARDRAIL?async o=>{if(t.isReadonly)return s();const{error:i}=await ut(a,e.DELETE_INSIGHTS_GUARDRAIL,{scopeKey:o},t);return i?r(E.Delete,i):(n(E.Delete,"Successfully deleted guardrail"),await u()),i?{error:i}:void 0}:void 0,seedGuardrail:e.SEED_INSIGHTS_GUARDRAIL?async o=>{if(t.isReadonly)return s();const{error:i}=await ut(a,e.SEED_INSIGHTS_GUARDRAIL,{seed:o},t);return i?r(E.Create,i):(n(E.Create,"Successfully seeded guardrail"),await u()),i?{error:i}:void 0}:void 0,acceptViolation:e.ACCEPT_INSIGHTS_GUARDRAIL_VIOLATION?async i=>{if(t.isReadonly)return s();const{error:l}=await ut(a,e.ACCEPT_INSIGHTS_GUARDRAIL_VIOLATION,{action:i},t);return l?r(E.Update,l):(n(E.Update,"Successfully accepted violation"),await Promise.all([m(),o()])),l?{error:l}:void 0}:void 0,dismissViolation:e.DISMISS_INSIGHTS_GUARDRAIL_VIOLATION?async i=>{if(t.isReadonly)return s();const{error:l}=await ut(a,e.DISMISS_INSIGHTS_GUARDRAIL_VIOLATION,{action:i},t);return l?r(E.Update,l):(n(E.Update,"Successfully dismissed violation"),await Promise.all([m(),o()])),l?{error:l}:void 0}:void 0,reopenViolation:e.REOPEN_INSIGHTS_GUARDRAIL_VIOLATION?async i=>{if(t.isReadonly)return s();const{error:l}=await ut(a,e.REOPEN_INSIGHTS_GUARDRAIL_VIOLATION,{action:i},t);return l?r(E.Update,l):(n(E.Update,"Successfully reopened violation"),await Promise.all([m(),o()])),l?{error:l}:void 0}:void 0,updateSystemSettings:e.UPDATE_INSIGHTS_SYSTEM_SETTINGS?async o=>{if(t.isReadonly)return s();const{data:i,error:l}=await ut(a,e.UPDATE_INSIGHTS_SYSTEM_SETTINGS,{settings:o},t);return l?r(E.Update,l):(n(E.Update,"Successfully updated system settings"),await(async()=>{e.GET_INSIGHTS_SYSTEM_SETTINGS&&await dt(a,e.GET_INSIGHTS_SYSTEM_SETTINGS,void 0,t)})()),{data:i,error:l}}:void 0}},Lt=[],wt=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}},Pt=[],Ut=[],Ft=(e,t)=>({...e,fields:e.fields.filter(({value:e})=>void 0!==e),currentStreamName:t}),kt=[],Mt=[],Ht=()=>{const{operations:e,context:t}=Je(),r=ke(),n=((e,t)=>{const r=ke(),{notifyError:n,notifySuccess:o,notifyPending:i,notifyReadonly:l}=nt(I.Source),{selectedStreamName:c}=f(),{setProgress:d,resetProgress:u}=y(),{setConfiguredSources:m,setConfiguredFutureApps:S}=_(),p=(e,t)=>{const{progress:a}=y.getState();e>0&&d(h.Instrumenting,{total:(a[h.Instrumenting]?.total||0)+e,current:a[h.Instrumenting]?.current||0}),t>0&&d(h.Uninstrumenting,{total:(a[h.Uninstrumenting]?.total||0)+t,current:a[h.Uninstrumenting]?.current||0})},T=s(async()=>{const{error:a}=await dt(r,e.GET_WORKLOADS,vt,t);a&&n(E.Read,a)},[r,e.GET_WORKLOADS,t,n]);return{useSources:()=>{const e=ft("GET_WORKLOADS",vt,{fetchPolicy:"cache-first"}),t=e.data?.workloads;return{items:a(()=>t?Ot(t):At,[t]),loading:e.loading,refetch:T}},fetchAll:T,fetchByTargets:async(a,s)=>{const o=!!s?.slim,i=a.map(e=>g(e,I.Source)).filter(e=>e.namespace&&e.name&&e.kind);if(0===i.length)return;if(i.length>50)return void await T();const l=o&&e.GET_WORKLOADS_BY_IDS_SLIM?e.GET_WORKLOADS_BY_IDS_SLIM:e.GET_WORKLOADS_BY_IDS,{error:c}=await dt(r,l,{ids:i.map(({namespace:e,kind:t,name:a,region:r})=>({namespace:e,kind:t,name:a,region:r||void 0}))},t);c?n(E.Read,c):await T()},fetchById:async a=>{const{data:s,error:o}=await dt(r,e.GET_WORKLOADS_BY_IDS,{ids:[{namespace:a.namespace,kind:a.kind,name:a.name,...a.region?{region:a.region}:{}}]},t);if(o)return void n(E.Read,o);const i=s?.workloadsByIds?.find(e=>e.id.namespace===a.namespace&&e.id.kind===a.kind&&e.id.name===a.name&&(e.id.region??"")===(a.region??""));return i?Rt(i):void 0},fetchLibraries:async a=>dt(r,e.GET_SOURCE_LIBRARIES,a,t),fetchPeerSources:async a=>dt(r,e.GET_PEER_SOURCES,{serviceName:a},t),usePeerSources:(e,t)=>ft("GET_PEER_SOURCES",e,t),useInstrumentationInstructions:(e,t)=>ft("GET_INSTRUMENTATION_INSTRUCTIONS",e,{...t,skip:t?.skip||!e?.name}),persist:async(a,s)=>{if(t.isReadonly)return l();const{data:o}=await dt(r,e.GET_WORKLOADS,vt,t,"cache-first"),d=Ot(o?.workloads??At),{payload:I,isEmpty:T}=gt(a,d,c,p),{payload:f,isEmpty:y}=Nt(s,c);let _=!1;T||(_=!0,i("Persisting sources...")),y||_||i("Persisting namespaces...");const{error:g}=await ut(r,e.PERSIST_SOURCES,I,t);if(g&&(u(h.Instrumenting),u(h.Uninstrumenting),n(E.Update,g)),e.PERSIST_NAMESPACES){const{error:a}=await ut(r,e.PERSIST_NAMESPACES,f,t);a&&n(E.Update,a)}m({}),S({})},persistV2:async a=>{if(t.isReadonly)return l(),{error:"readonly"};const n=[];for(const[s,o]of Object.entries(a)){const a={sources:[]},i={namespaces:[]};for(const e of o)e.name&&e.kind?a.sources.push(e):i.namespaces.push(e);const l=s&&s!==N?{...t,proxyID:s}:t,c=e=>s&&s!==N?`${s}: ${e}`:e;if(i.namespaces.length>0&&e.PERSIST_NAMESPACES){const{error:t}=await ut(r,e.PERSIST_NAMESPACES,i,l);t&&n.push(c(t))}if(a.sources.length>0){const{error:t}=await ut(r,e.PERSIST_SOURCES,a,l);t&&n.push(c(t))}}return n.length?{error:n.join(", ")}:void 0},update:async(a,s)=>{if(t.isReadonly)return l();i("Updating source...");const d={sourceId:a,patchSourceRequest:{...s,currentStreamName:c}},{data:u,error:m}=await ut(r,e.UPDATE_SOURCE,d,t);m?n(E.Update,m,a):u?.updateK8sActualSource&&o(E.Update,`Successfully updated "${a.name}" source`,a)},restartWorkloads:async a=>{if(t.isReadonly)return l();i("Restarting sources...");const{data:s,error:c}=await ut(r,e.RESTART_WORKLOADS,{sourceIds:a},t);c?n(E.Update,c):s?.restartWorkloads&&o(E.Update,`Successfully restarted ${a.length} sources`)},restartPod:async(a,s)=>{if(t.isReadonly)return l();i("Restarting pod...");const{data:c,error:d}=await ut(r,e.RESTART_POD,{namespace:a,name:s},t);d?n(E.Update,d):c?.restartPod&&o(E.Update,`Successfully restarted pod ${a}/${s}`)},recoverFromRollback:async a=>{if(t.isReadonly)return l();i("Recovering from rollback...");const{data:s,error:c}=await ut(r,e.RECOVER_FROM_ROLLBACK,{sourceId:a},t);c?n(E.Update,c,a):s?.recoverFromRollbackForWorkload&&o(E.Update,"Successfully triggered recovery from rollback")}}})(e,t),o=((e,t)=>{const a=ke(),{notifyError:r,notifySuccess:n,notifyReadonly:s}=nt(I.Destination),{selectedStreamName:o}=f(),i=async()=>{const{error:n}=await dt(a,e.GET_DESTINATIONS,void 0,t);n&&r(E.Read,n)};return{useDestinations:()=>{const e=ft("GET_DESTINATIONS",void 0,{fetchPolicy:"cache-first"});return{items:e.data?.computePlatform?.destinations??e.data?.destinations??Ut,loading:e.loading,refetch:i}},useDestinationCategories:()=>{const e=ft("GET_DESTINATION_CATEGORIES",void 0);return{data:e.data,loading:e.loading}},usePotentialDestinations:()=>{const e=ft("GET_POTENTIAL_DESTINATIONS",void 0);return{data:e.data,loading:e.loading}},fetchAll:i,testConnection:async r=>{const{data:n}=await ut(a,e.TEST_DESTINATION_CONNECTION,{destination:Ft(r,o)},t);return n},create:async l=>{if(t.isReadonly)return s();const{error:c}=await ut(a,e.CREATE_DESTINATION,{destination:Ft(l,o)},t);c?r(E.Create,c):(n(E.Create,`Successfully created "${l.type}" destination`),await i())},update:async(l,c)=>{if(t.isReadonly)return s();const{data:d,error:u}=await ut(a,e.UPDATE_DESTINATION,{id:l,destination:Ft(c,o)},t);u?r(E.Update,u,l):d?.updateDestination&&(n(E.Update,`Successfully updated "${c.type}" destination`,l),await i())},remove:async l=>{if(t.isReadonly)return s();const{data:c}=await dt(a,e.GET_DESTINATIONS,void 0,t,"cache-first"),d=c?.computePlatform?.destinations??c?.destinations??Ut,u=d.find(e=>R(e)===l)?.destinationType?.type,{error:m}=await ut(a,e.DELETE_DESTINATION,{id:l,currentStreamName:o},t);m?r(E.Delete,m,l):(n(E.Delete,`Successfully deleted "${u??l}" destination`,l),await i())}}})(e,t),l=((e,t)=>{const r=ke(),{notifyError:n,notifySuccess:s,notifyReadonly:o}=nt(I.Action),i=async()=>{const{error:a}=await dt(r,e.GET_ACTIONS,void 0,t);a&&n(E.Read,a)};return{useActions:()=>{const e=ft("GET_ACTIONS",void 0,{fetchPolicy:"cache-first"});return{items:e.data?.computePlatform?.actions??e.data?.actions??Ct,loading:e.loading,refetch:i}},useActionTypes:()=>{const e=ft("GET_ACTION_TYPES",void 0,{fetchPolicy:"cache-first"});return{options:a(()=>v(e.data)||Gt,[e.data]),loading:e.loading}},fetchAll:i,create:async a=>{if(t.isReadonly)return o(),{error:u.READONLY_WARNING};if(!e.CREATE_ACTION)return{error:"Action creation is not supported"};const{error:l}=await ut(r,e.CREATE_ACTION,{action:a},t);return l?n(E.Create,l):(s(E.Create,`Successfully created "${a.type}" action`),await i()),l?{error:l}:void 0},update:async(a,l)=>{if(t.isReadonly)return o();if(!e.UPDATE_ACTION)return;const{error:c}=await ut(r,e.UPDATE_ACTION,{id:a,action:l},t);c?n(E.Update,c,a):(s(E.Update,`Successfully updated "${l.type}" action`,a),await i())},remove:async(a,l)=>{if(t.isReadonly)return o();if(!e.DELETE_ACTION)return;const{error:c}=await ut(r,e.DELETE_ACTION,{id:a,actionType:l},t);c?n(E.Delete,c,a):(s(E.Delete,`Successfully deleted "${l}" action`,a),await i())}}})(e,t),c=((e,t)=>{const r=ke(),{notifyError:n,notifySuccess:s,notifyReadonly:o}=nt(I.InstrumentationRule),i=async()=>{const{error:a}=await dt(r,e.GET_INSTRUMENTATION_RULES,void 0,t);a&&n(E.Read,a)};return{useRules:()=>{const e=ft("GET_INSTRUMENTATION_RULES",void 0,{fetchPolicy:"cache-first"});return{items:a(()=>(e.data?.computePlatform?.instrumentationRules??e.data?.instrumentationRules??[]).map(w),[e.data]),loading:e.loading,refetch:i}},useRuleTypes:()=>{const e=ft("GET_INSTRUMENTATION_RULE_TYPES",void 0,{fetchPolicy:"cache-first"});return{options:a(()=>L(e.data)||Mt,[e.data]),loading:e.loading}},fetchAll:i,create:async(a,l)=>{if(t.isReadonly)return o();if(!e.CREATE_INSTRUMENTATION_RULE)return;const{error:c}=await ut(r,e.CREATE_INSTRUMENTATION_RULE,{instrumentationRule:b(a)},t);c?n(E.Create,c):(s(E.Create,`Successfully created${l?` "${l}"`:""} rule`),await i())},update:async(a,l,c)=>{if(t.isReadonly)return o();if(!e.UPDATE_INSTRUMENTATION_RULE)return;const{error:d}=await ut(r,e.UPDATE_INSTRUMENTATION_RULE,{ruleId:a,instrumentationRule:b(l)},t);d?n(E.Update,d,a):(s(E.Update,`Successfully updated${c?` "${c}"`:""} rule`,a),await i())},remove:async(a,l)=>{if(t.isReadonly)return o();if(!e.DELETE_INSTRUMENTATION_RULE)return;const{error:c}=await ut(r,e.DELETE_INSTRUMENTATION_RULE,{ruleId:a},t);c?n(E.Delete,c,a):(s(E.Delete,`Successfully deleted${l?` "${l}"`:""} rule`,a),await i())}}})(e,t),m=((e,t)=>{const a=ke(),{addNotification:r}=d(),{setDataStreams:n}=f(),s=(e,t)=>r({type:S.Error,title:e,message:t}),o=async()=>{const{data:r,error:o}=await dt(a,e.GET_DATA_STREAMS,void 0,t);if(o)s(E.Read,o);else if(r){const e=r.computePlatform?.dataStreams??r.dataStreams??[];n(e)}},l=e.CREATE_DATA_STREAM?async n=>{if(t.isReadonly)return st(r);const{error:i}=await ut(a,e.CREATE_DATA_STREAM,{stream:n},t);i?s(E.Create,i):await o()}:void 0;return{useDataStreams:()=>{const e=ft("GET_DATA_STREAMS",void 0,{fetchPolicy:"cache-first"}),t=e.data?.computePlatform?.dataStreams??e.data?.dataStreams??Pt;return i(()=>{n(t)},[JSON.stringify(t.map(e=>e.name))]),{items:t,loading:e.loading,refetch:o}},fetchAll:o,create:l,update:async(n,i)=>{if(t.isReadonly)return st(r);const{error:l}=await ut(a,e.UPDATE_DATA_STREAM,{id:n,dataStream:i},t);l?s(E.Update,l):await o()},remove:async n=>{if(t.isReadonly)return st(r);const{error:i}=await ut(a,e.DELETE_DATA_STREAM,{id:n},t);i?s(E.Delete,i):await o()}}})(e,t),p=((e,t)=>{const a=ke(),{notifyError:r,notifyReadonly:n}=nt(I.Namespace),s=async()=>{const n=await dt(a,e.GET_NAMESPACES_WITH_WORKLOADS,void 0,t);return n.error&&r(E.Read,n.error),n};return{useNamespaces:e=>{const t=ft("GET_NAMESPACES_WITH_WORKLOADS",void 0,{fetchPolicy:"cache-and-network",skip:e?.skip});return{items:t.data?.namespaces??Lt,loading:t.loading,refetch:s}},fetchAll:s,persist:async s=>{if(t.isReadonly)return n();const{error:o}=await ut(a,e.PERSIST_NAMESPACES,s,t);return o&&r(E.Update,o),o?{error:o}:void 0}}})(e,t),A=((e,t)=>{const a=ke(),{notifyError:r}=nt(I.Source);return{fetch:async n=>{const s=await dt(a,e.GET_K8S_MANIFEST,n,t);return s.error&&r(E.Read,s.error),s}}})(e,t),P=((e,t)=>{const a=ke(),{notifyError:r,notifySuccess:n,notifyReadonly:s}=nt(I.Source);return{useEffectiveConfig:(e,t)=>ft("GET_EFFECTIVE_CONFIG",e,t),useConfigYamls:e=>ft("GET_CONFIG_YAMLS",void 0,e),getEffectiveConfig:async r=>e.GET_EFFECTIVE_CONFIG?dt(a,e.GET_EFFECTIVE_CONFIG,{id:r},t):{error:"GET_EFFECTIVE_CONFIG not configured"},applyConfigurations:e.UPDATE_REMOTE_CONFIG?async(n,o)=>{if(t.isReadonly)return s();if(!o.length)return{error:"No connections selected"};const i={formData:n,connectionIds:o},l=e.UPDATE_REMOTE_CONFIG;let c;return 1===o.length?({error:c}=await ut(a,l,i,t)):({error:c}=await mt(a,l,o,i,t)),c&&r(E.Update,c),c?{error:c}:void 0}:void 0,getConfigYamls:e.GET_CONFIG_YAMLS?async()=>dt(a,e.GET_CONFIG_YAMLS,void 0,t):void 0,updateLocalUiConfig:e.UPDATE_LOCAL_UI_CONFIG?async o=>{if(t.isReadonly)return s();const{error:i}=await ut(a,e.UPDATE_LOCAL_UI_CONFIG,{config:o},t);return i?r(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 s();const{error:o}=await ut(a,e.RESET_LOCAL_UI_CONFIG_TO_FACTORY_DEFAULTS,void 0,t);return o?r(E.Update,o):n(E.Update,"Local UI configuration reset to factory defaults"),o?{error:o}:void 0}:void 0}})(e,t),U=((e,t)=>{const a=ke(),{apolloConfig:r}=Je();return{fetchDescribeOdigos:e.GET_DESCRIBE_ODIGOS?async()=>dt(a,e.GET_DESCRIBE_ODIGOS,void 0,t):void 0,fetchDescribeSource:e.GET_DESCRIBE_SOURCE?async r=>dt(a,e.GET_DESCRIBE_SOURCE,r,t):void 0,downloadDiagnose:e.GET_DIAGNOSE?async(n,s)=>{const o=await dt(a,e.GET_DIAGNOSE,{input:n,dryRun:s?.dryRun??!1},t),i=o?.data?.stats?.fileCount??0;return!o.error&&i>0&&!s?.dryRun&&await(async e=>{const t=(e=>{try{return new URL("/diagnose/download",e).toString()}catch{return null}})(e.httpUrl);if(t)try{const[a,r]=await Promise.all([Promise.resolve(e.authHeader?.()??{}),Promise.resolve(e.csrfHeader?.()??{})]),n=await fetch(t,{credentials:e.credentials??"same-origin",headers:{...a,...r}});if(!n.ok)throw new Error(`Failed to download diagnose archive: ${n.status} ${n.statusText}`);((e,t)=>{if("undefined"==typeof document)return;const a=URL.createObjectURL(e),r=document.createElement("a");r.href=a,r.download=t,document.body.appendChild(r),r.click(),document.body.removeChild(r),URL.revokeObjectURL(a)})(await n.blob(),`odigos-diagnose-${Date.now()}.tar.gz`)}catch(e){}})(r),o}:void 0}})(e,t),F=((e,t)=>{const a=ke(),{notifyError:r,notifyReadonly:n}=nt(I.Source),s=async()=>{e.GET_TOKENS&&await dt(a,e.GET_TOKENS,void 0,t)};return{useTokens:()=>{const e=ft("GET_TOKENS",void 0,{fetchPolicy:"cache-first"});return{items:e.data??ht,loading:e.loading,refetch:s}},updateToken:e.UPDATE_TOKEN?async s=>{if(t.isReadonly)return n();const{error:o}=await ut(a,e.UPDATE_TOKEN,{token:s},t);return o&&r(E.Update,o),o?{error:o}:void 0}:void 0}})(e,t),k=((e,t)=>{const a=ke();return{useMetrics:e=>ft("GET_METRICS",void 0,e),fetch:async()=>dt(a,e.GET_METRICS,void 0,t)}})(e,t),M=((e,t)=>{const a=ke();return{useServiceMap:e=>ft("GET_SERVICE_MAP",void 0,e),fetch:e.GET_SERVICE_MAP?async()=>dt(a,e.GET_SERVICE_MAP,void 0,t):void 0}})(e,t),H=((e,t)=>{const a=ke();return{useSlots:e=>ft("GET_PROFILING_SLOTS",void 0,e),useSourceProfiling:(e,t)=>ft("GET_SOURCE_PROFILING",e,t),useHotFunctions:(e,t)=>ft("GET_PROFILE_HOT_FUNCTIONS",e,t),fetchSlots:e.GET_PROFILING_SLOTS?async()=>dt(a,e.GET_PROFILING_SLOTS,void 0,t):void 0,fetchSourceProfiling:e.GET_SOURCE_PROFILING?async r=>dt(a,e.GET_SOURCE_PROFILING,r,t):void 0,enableProfiling:e.ENABLE_SOURCE_PROFILING?async r=>ut(a,e.ENABLE_SOURCE_PROFILING,r,t):void 0,fetchHotFunctions:e.GET_PROFILE_HOT_FUNCTIONS?async r=>dt(a,e.GET_PROFILE_HOT_FUNCTIONS,r,t):void 0,clearProfileCache:e.CLEAR_PROFILE_CACHE?async()=>ut(a,e.CLEAR_PROFILE_CACHE,void 0,t):void 0}})(e,t),x=((e,t)=>{const a=ke();return{useGatewayInfo:e=>ft("GET_GATEWAY_INFO",void 0,e),useGatewayPods:e=>ft("GET_GATEWAY_PODS",void 0,e),useNodeCollectorInfo:e=>ft("GET_NODE_COLLECTOR_INFO",void 0,e),useNodeCollectorPods:e=>ft("GET_NODE_COLLECTOR_PODS",void 0,e),usePodInfo:(e,t)=>ft("GET_COLLECTOR_POD_INFO",e,t),getGatewayInfo:e.GET_GATEWAY_INFO?async()=>dt(a,e.GET_GATEWAY_INFO,void 0,t):void 0,getGatewayPods:e.GET_GATEWAY_PODS?async()=>dt(a,e.GET_GATEWAY_PODS,void 0,t):void 0,getNodeCollectorInfo:e.GET_NODE_COLLECTOR_INFO?async()=>dt(a,e.GET_NODE_COLLECTOR_INFO,void 0,t):void 0,getNodeCollectorPods:e.GET_NODE_COLLECTOR_PODS?async()=>dt(a,e.GET_NODE_COLLECTOR_PODS,void 0,t):void 0,getExtendedPodInfo:e.GET_COLLECTOR_POD_INFO?async(r,n)=>dt(a,e.GET_COLLECTOR_POD_INFO,{namespace:r,name:n},t):void 0}})(e,t),$=((e,t)=>{const a=ke(),{notifyError:r,notifySuccess:n,notifyReadonly:s}=nt(I.SamplingRule),o=async()=>{e.GET_SAMPLING_RULES&&await dt(a,e.GET_SAMPLING_RULES,void 0,t)},i=(e,i)=>e?async l=>{if(t.isReadonly)return s();const{error:c}=await ut(a,e,l,t);return c?r(i,c):(n(E.Create,"Successfully created sampling rule"),await o()),c?{error:c}:void 0}:void 0,l=(e,i)=>e?async(l,c)=>{if(t.isReadonly)return s();const{error:d}=await ut(a,e,{samplingId:c.samplingId,ruleId:l,rule:c.rule},t);return d?r(i,d):(n(E.Update,"Successfully updated sampling rule"),await o()),d?{error:d}:void 0}:void 0,c=e=>e?async(i,l)=>{if(t.isReadonly)return s();const{error:c}=await ut(a,e,{samplingId:l,ruleId:i},t);return c?r(E.Delete,c):(n(E.Delete,"Successfully deleted sampling rule"),await o()),c?{error:c}:void 0}:void 0;return{useSamplingRules:()=>{const e=ft("GET_SAMPLING_RULES",void 0,{fetchPolicy:"cache-first"});return{items:e.data?.computePlatform?.samplingRules??e.data?.samplingRules??Dt,k8sHealthProbesConfig:e.data?.computePlatform?.k8sHealthProbesConfig??e.data?.k8sHealthProbesConfig??null,loading:e.loading,refetch:o}},fetchAll:e.GET_SAMPLING_RULES?async()=>dt(a,e.GET_SAMPLING_RULES,void 0,t):void 0,createNoisy:i(e.CREATE_NOISY_OPERATION_RULE,E.Create),updateNoisy:l(e.UPDATE_NOISY_OPERATION_RULE,E.Update),deleteNoisy:c(e.DELETE_NOISY_OPERATION_RULE),createHighlyRelevant:i(e.CREATE_HIGHLY_RELEVANT_OPERATION_RULE,E.Create),updateHighlyRelevant:l(e.UPDATE_HIGHLY_RELEVANT_OPERATION_RULE,E.Update),deleteHighlyRelevant:c(e.DELETE_HIGHLY_RELEVANT_OPERATION_RULE),createCostReduction:i(e.CREATE_COST_REDUCTION_RULE,E.Create),updateCostReduction:l(e.UPDATE_COST_REDUCTION_RULE,E.Update),deleteCostReduction:c(e.DELETE_COST_REDUCTION_RULE),updateK8sHealthProbesConfig:e.UPDATE_LOCAL_UI_SAMPLING_CONFIG?async n=>{if(t.isReadonly)return s();const{error:i}=await ut(a,e.UPDATE_LOCAL_UI_SAMPLING_CONFIG,{config:{k8sHealthProbesSampling:n}},t);return i?r(E.Update,i):await o(),i?{error:i}:void 0}:void 0}})(e,t),K=((e,t)=>{const a=ke(),{notifyError:r,notifySuccess:n,notifyReadonly:s}=nt(I.Recommendation),o=async()=>{e.GET_RECOMMENDATIONS&&await dt(a,e.GET_RECOMMENDATIONS,void 0,t)};return{useRecommendations:()=>{const e=ft("GET_RECOMMENDATIONS",void 0,{fetchPolicy:"cache-first"});return{items:e.data?.computePlatform?.recommendations??e.data?.recommendations??kt,loading:e.loading,refetch:o}},fetchAll:e.GET_RECOMMENDATIONS?async()=>dt(a,e.GET_RECOMMENDATIONS,void 0,t):void 0,setDismissed:e.SET_RECOMMENDATION_DISMISSED?async(i,l)=>{if(t.isReadonly)return s(),{error:u.READONLY_WARNING};const{error:c}=await ut(a,e.SET_RECOMMENDATION_DISMISSED,{name:i,dismissed:l},t);return c?r(E.Update,c):(n(E.Update,l?G:D),await o()),c?{error:c}:void 0}:void 0,applyRemediation:e.APPLY_RECOMMENDATION_REMEDIATION?async(i,l)=>{if(t.isReadonly)return s(),{error:u.READONLY_WARNING};const{data:c,error:d}=await ut(a,e.APPLY_RECOMMENDATION_REMEDIATION,{recommendationType:i,remediationType:l},t),m=d||!c?.applyRecommendationRemediation;return m?r(E.Update,d||O):(n(E.Update,C),await o()),m?{error:d||O}:void 0}:void 0}})(e,t),V=((e,t)=>{const r=ke();return{useSnapshots:()=>{const e=t.proxyID,r=!!e,n=ft("GET_ALL_CLUSTER_SNAPSHOTS",void 0,{fetchPolicy:"cache-and-network",skip:r}),o=ft("GET_CLUSTER_SNAPSHOT",e?{clusterId:e}:void 0,{fetchPolicy:"cache-and-network",skip:!r}),i=a(()=>r?wt(o.data):n.data,[r,o.data,n.data]),l=r?o.loading:n.loading,c=s(async()=>{if(!r)return n.refetch();const{data:e}=await o.refetch();return{data:wt(e)}},[r,n.refetch,o.refetch]);return{data:i,loading:l,pending:l&&!i,unsupported:r?o.unsupported:n.unsupported,refetch:c}},getAllClusterSnapshots:e.GET_ALL_CLUSTER_SNAPSHOTS?async()=>dt(r,e.GET_ALL_CLUSTER_SNAPSHOTS,void 0,t):void 0,getClusterSnapshot:e.GET_CLUSTER_SNAPSHOT?async a=>dt(r,e.GET_CLUSTER_SNAPSHOT,{clusterId:a},t):void 0}})(e,t);return{sourcesApi:n,destinationsApi:o,actionsApi:l,instrumentationRulesApi:c,dataStreamsApi:m,namespacesApi:p,k8sManifestApi:A,configApi:P,describeApi:U,tokensApi:F,metricsApi:k,serviceMapApi:M,profilingApi:H,collectorsApi:x,samplingApi:$,recommendationsApi:K,snapshotsApi:V,insightsApi:bt(e,t),capabilities:a(()=>((e,t)=>{const a=t.platformType===T.K8s,r=a,n=a,s=t.platformType===T.Vm,o=!s,i=!(t.platformType===T.Connector);return{canBulkPersistSources:o&&!!e.PERSIST_SOURCES,canInstrumentNamespaces:n&&!!e.PERSIST_NAMESPACES,canFetchSnapshots:r&&!!e.GET_ALL_CLUSTER_SNAPSHOTS,canRecoverFromRollback:r&&!!e.RECOVER_FROM_ROLLBACK,canRestartWorkloads:r&&!!e.RESTART_WORKLOADS,canFetchPeerSources:!!e.GET_PEER_SOURCES,canFetchSourceLibraries:!!e.GET_SOURCE_LIBRARIES,canFetchInstrumentationInstructions:!!e.GET_INSTRUMENTATION_INSTRUCTIONS,canFetchK8sManifest:r&&!!e.GET_K8S_MANIFEST,canCreateDestination:!!e.CREATE_DESTINATION,canTestConnection:o&&!!e.TEST_DESTINATION_CONNECTION,canFetchDestinationCategories:!!e.GET_DESTINATION_CATEGORIES,canFetchPotentialDestinations:o&&!!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:o&&!!e.UPDATE_REMOTE_CONFIG,canFetchEffectiveConfig:!!e.GET_EFFECTIVE_CONFIG,canFetchConfigYamls:!!e.GET_CONFIG_YAMLS,canFetchProfiling:r&&!!e.GET_PROFILING_SLOTS||s&&(!!e.GET_SOURCE_PROFILING||!!e.GET_PROFILE_HOT_FUNCTIONS),canFetchCollectorInfo:r&&!!e.GET_GATEWAY_INFO,canManageSamplingRules:!!e.GET_SAMPLING_RULES,canManageInsightsPolicies:!!e.GET_INSIGHTS_POLICIES,canFetchInsights:!!e.GET_INSIGHTS_FINDINGS,canManageRecommendations:r&&!!e.GET_RECOMMENDATIONS}})(e,t),[e,t]),resetCache:s(async()=>{await r.cache.reset()},[r])}},xt={type:"",disabled:!1,name:"",notes:"",signals:[],fields:{}},$t=n(null),Kt=e=>e?.length?e.map(e=>!e.fromSources?.length&&e.from?{...e,fromSources:[e.from]}:e):e,Vt=(e,t)=>{const a=U(e??{}),r=a[k.ExtractAttribute];var n;r?.extractions?.length&&(r.extractions=r.extractions.map(e=>{const t=e;return{...t,method:t.method||(t.regex?.trim()?"regex":"preset")}})),a[k.LabelsAttributes]&&(a[k.LabelsAttributes]=Kt(a[k.LabelsAttributes])),a[k.AnnotationsAttributes]&&(a[k.AnnotationsAttributes]=Kt(a[k.AnnotationsAttributes])),a[k.UrlTemplatizationRulesGroups]&&(a[k.UrlTemplatizationRulesGroups]=(n=a[k.UrlTemplatizationRulesGroups],n?.length?n.map(e=>{const t=e.filterK8sWorkloadKind,a=e.filterK8sWorkloadName;return e.workloadFilters?.length||!t&&!a?e:{...e,workloadFilters:[{kind:t,name:a||void 0}]}}):n));const s=new Set((t?.fields||[]).filter(e=>e.componentType===M.SourceScopes).map(e=>e.name));return void 0!==a[k.Scopes]&&s.add(k.Scopes),s.forEach(e=>{const t=e;a[t]=Oe(a[t])}),a},Bt="All row fields are required",Yt="At least one row is required",Wt=(e,t)=>!!e&&t.every(t=>{const a=e[t];return Array.isArray(a)?a.length>0:!("string"==typeof(r=a)?!r.trim():x(r));var r}),jt=({children:t,sourceOptions:r=[],namespaceOptions:n=[]})=>{const[i,l]=o(null),c=P(xt),d=s(e=>{c.resetFormData(),c.handleErrorChange(void 0,void 0,{}),e?.type&&c.handleFormChange("type",e.type),l(e)},[]),m=s((e,t)=>{const a=t??(r=e.type,F.find(e=>e.type===r)??null);var r;c.resetFormData((({type:e,name:t,notes:a,disabled:r,signals:n,fields:s},o)=>({type:e,name:t||"",notes:a||"",disabled:!!r,signals:n??[],fields:Vt(s,o)}))(e,a)),c.handleErrorChange(void 0,void 0,{}),l(a)},[]),S=s(()=>{if(!i)return{errorMessage:"No action type selected",preparedFormData:U(xt)};const e=((e,t)=>{const a=U(e),r=a.fields||{},n=r[k.UrlTemplatizationRulesGroups];n?.length&&(r[k.UrlTemplatizationRulesGroups]=n.map(e=>({...e,templatizationRules:(e.templatizationRules||[]).filter(e=>!!e.template?.trim())})));const s=r[k.AttributeNamesToDelete];s?.length&&(r[k.AttributeNamesToDelete]=s.filter(e=>!!e?.trim()));const o=r[k.Renames];if(o){const e=Array.isArray(o)?o.map(e=>[e?.key??"",e?.value??""]):Object.entries(o);r[k.Renames]=Object.fromEntries(e.filter(([e,t])=>!!e?.trim()&&!!t?.trim()))}const i=new Set((t?.fields||[]).filter(e=>e.componentType===M.SourceScopes).map(e=>e.name));void 0!==r[k.Scopes]&&i.add(k.Scopes),i.forEach(e=>{const t=r[e];void 0!==t&&(r[e]=Re(t)?null:t)});const l=r[k.ExtractAttribute];return l?.extractions?.length&&(r[k.ExtractAttribute]={extractions:l.extractions.map(e=>{const t=e,a=t.method||(t.regex?.trim()?"regex":"preset"),r=t.targetAttributeName?.trim()||"";if("regex"===a)return{targetAttributeName:r,lookupKey:"",regex:t.regex?.trim()||""};const n={targetAttributeName:r,lookupKey:t.lookupKey?.trim()||"",regex:""};return t.dataFormat&&(n.dataFormat=t.dataFormat),n}).filter(e=>!!(e.targetAttributeName||e.lookupKey||e.dataFormat||e.regex))}),a.fields=r,a})(c.formData,i),t={};return x(e.signals)&&(t.signals=u.FIELD_IS_REQUIRED),i.type&&Object.assign(t,((e,t,a)=>{const r={},n=t.fields||{},s=a.fields||{};switch(e){case H.K8sAttributes:{const e=!(n[k.CollectContainerAttributes]||n[k.CollectReplicaSetAttributes]||n[k.CollectWorkloadId]||n[k.CollectClusterId]),t=!n[k.LabelsAttributes]?.length,a=!n[k.AnnotationsAttributes]?.length;e&&t&&a&&(r[k.CollectContainerAttributes]="Enable at least one option or add a label/annotation row");const s=n[k.LabelsAttributes];s?.some(e=>!Wt(e,["labelKey","attributeKey","fromSources"]))&&(r[k.LabelsAttributes]=Bt);const o=n[k.AnnotationsAttributes];o?.some(e=>!Wt(e,["annotationKey","attributeKey","fromSources"]))&&(r[k.AnnotationsAttributes]=Bt);break}case H.AddClusterInfo:{const e=n[k.ClusterAttributes];e?.length?e.some(e=>!Wt(e,["attributeName","attributeStringValue"]))&&(r[k.ClusterAttributes]=Bt):r[k.ClusterAttributes]=Yt;break}case H.DeleteAttributes:{const e=s[k.AttributeNamesToDelete]||[],t=n[k.AttributeNamesToDelete]||[];t.length?e.length>t.length&&(r[k.AttributeNamesToDelete]=Bt):r[k.AttributeNamesToDelete]=e.length?Bt:Yt;break}case H.RenameAttributes:{const e=Object.entries(s[k.Renames]||{}),t=Object.entries(n[k.Renames]||{}),a=e.some(([e,t])=>!e?.trim()||!t?.trim());t.length?a&&(r[k.Renames]=Bt):r[k.Renames]=e.length?Bt:Yt;break}case H.PiiMasking:{const e=n[k.PiiCategories];e?.length||(r[k.PiiCategories]="Select at least one attribute to mask");break}case H.URLTemplatization:{const e=n[k.UrlTemplatizationRulesGroups];(!e?.length||e.some(e=>!e.templatizationRules?.length))&&(r[k.UrlTemplatizationRulesGroups]="Each rule group needs at least one non-blank template");break}case H.ExtractAttribute:{const e=n[k.ExtractAttribute]?.extractions||[],t=s[k.ExtractAttribute]?.extractions||[];if(e.length)if(e.some(e=>{if(!e.targetAttributeName?.trim())return!0;const t=!!e.regex?.trim(),a=!!e.lookupKey?.trim();return a!==!!e.dataFormat||t===a}))r[k.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 a=e.targetAttributeName?.trim()||"";return!!t.has(a)||(t.add(a),!1)})&&(r[k.ExtractAttribute]="Each new span attribute name must be unique")}else r[k.ExtractAttribute]=t.length?Bt:Yt;break}}return r})(i.type,e,c.formData)),c.handleErrorChange(void 0,void 0,t),{errorMessage:Object.keys(t).length>0?"Invalid form values":void 0,preparedFormData:e}},[c,i]),p=a(()=>({selectedOption:i,onSelectOption:d,loadAction:m,genericForm:c,validateFormData:S,sourceOptions:r,namespaceOptions:n}),[i,d,m,c,S,r,n]);return e($t.Provider,{value:p,children:t})},qt=()=>{const e=r($t);if(!e)throw new Error("useActionFormContext must be used within an ActionFormContextProvider");return e},zt={provider:"",permission:"",customCapabilities:{},authMethod:"",setupMethod:"",accountId:"",credentials:{},accessToken:"",secretId:"",name:""},Qt=n(null),Jt=({children:t,providers:r=[]})=>{const n=P(zt),o=s(()=>{const e=U(n.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}},[n]),i=a(()=>({providers:r,genericForm:n,validateFormData:o}),[r,n,o]);return e(Qt.Provider,{value:i,children:t})},Xt=()=>{const e=r(Qt);if(!e)throw new Error("useCloudConnectorFormContext must be used within a CloudConnectorFormContextProvider");return e},Zt={name:""},ea=n(null),ta=({children:t,defaultExcludeName:r=""})=>{const{dataStreams:n}=f(),[i,c]=o(void 0),[d,m]=o(r),[S,p]=o(void 0),[E,I]=o(null),T=l(null),y=P(Zt),_=s(e=>{y.resetFormData({name:e}),y.handleErrorChange(void 0,void 0,{}),c(void 0),m(e),p(e),I(null),T.current=null},[]),h=s(()=>{const e=U(y.formData),t=(e=>{const t={};return e.name?$(e.name)||(t.name=u.ILLEGAL_K8S_LABEL):t.name=u.FIELD_IS_REQUIRED,t})(e);y.handleErrorChange(void 0,void 0,t);const a=Object.keys(t).length>0?u.REQUIRED_FIELDS:void 0;return c(a),{errorMessage:a,preparedFormData:e}},[y]),g=s(async e=>{const{errorMessage:t,preparedFormData:a}=h();if(t)return;const r=n.find(e=>e.name===a.name&&e.name!==d);if(r)return T.current=e,void I({preparedFormData:a,existingName:r.name,editingName:S});await e(a)},[h,n,d,S]),N=s(async()=>{const e=T.current,t=E?.preparedFormData;T.current=null,I(null),e&&t&&await e(t)},[E]),v=s(()=>{T.current=null,I(null)},[]),A=a(()=>({genericForm:y,loadDataStream:_,editingName:S,validateFormData:h,requestSubmit:g,pendingMerge:E,confirmMerge:N,cancelMerge:v,errorMessage:i,excludeName:d,setExcludeName:m}),[y,_,S,h,g,E,N,v,i,d]);return e(ea.Provider,{value:A,children:t})},aa=()=>{const e=r(ea);if(!e)throw new Error("useDataStreamFormContext must be used within a DataStreamFormContextProvider");return e},ra={type:"",name:"",currentStreamName:"",disabled:!1,exportedSignals:{logs:!1,metrics:!1,traces:!1,profiles:!1},fields:[]},na={activeForm:null,onChangeActiveForm:()=>{},loadDestination:()=>{},genericForm:void 0,validateFormData:()=>({isOk:!1,preparedFormData:U(ra)}),unsavedDestinations:[],thisUnsavedDestination:void 0,setUnsavedDestinations:()=>{},addUnsavedDestination:()=>{},updateUnsavedDestination:()=>{},deleteUnsavedDestination:()=>{}},sa=n(na),oa=e=>e.filter(e=>!!e).map(e=>{const{name:t,componentType:a,componentProperties:r,displayName:n,initialValue:s,renderCondition:o}=e,i=a===M.Dropdown,l=Y(r,{});return{componentType:a,renderCondition:o,name:t,title:n,value:s,placeholder:l.placeholder||(i?"Select an option":void 0),options:i&&Array.isArray(l.values)?l.values.map(e=>({id:e,label:e})):void 0,...l}}),ia=({children:t})=>{const{selectedStreamName:r}=f(),{items:n}=Ht().destinationsApi.useDestinations(),[l,c]=o(null),[d,m]=o(na.unsavedDestinations),S=a(()=>"number"==typeof l?.unsavedIdx?d[l.unsavedIdx]:void 0,[l,d]),p=s((e,t)=>{l&&(m(t=>[...t,{...e,option:l.option}]),c(t?e=>e?{...e,listType:K.UNSAVED,unsavedIdx:d.length}:null:null))},[l,d.length]),E=s((e,t,a)=>{l&&(m(a=>a.map((a,r)=>r===e?{...a,...t,option:l.option}:a)),c(a?e=>e?{...e,listType:K.UNSAVED}:null:null))},[l]),I=s(e=>{m(t=>t.filter((t,a)=>a!==e)),c(null)},[]),T=P({...ra,currentStreamName:r});i(()=>{if(!l)return;if(S)return void T.resetFormData({...S.formData});if(l.listType===K.EXISTS&&l.option.id){const e=n.find(e=>e.id===l.option.id);if(e)return void T.resetFormData({type:e.destinationType.type,name:e.name||e.destinationType.displayName,currentStreamName:r,disabled:!!e.disabled,exportedSignals:{logs:!!e.exportedSignals?.logs,metrics:!!e.exportedSignals?.metrics,traces:!!e.exportedSignals?.traces,profiles:!!e.exportedSignals?.profiles},fields:l.dynamicFields.map(e=>({key:e.name,value:e.value}))})}const e=V(l.option.supportedSignals);T.resetFormData({type:l.option.type,name:l.option.displayName,currentStreamName:r,disabled:!1,exportedSignals:{logs:e.includes(B.Logs),metrics:e.includes(B.Metrics),traces:e.includes(B.Traces),profiles:e.includes(B.Profiles)},fields:l.dynamicFields.map(e=>({key:e.name,value:e.value}))})},[l,S]);const y=s(e=>{T.resetFormData(),T.handleErrorChange(void 0,void 0,{}),c(e?{...e,dynamicFields:e.option?.fields?oa(e.option.fields):[]}:null)},[]),_=s((e,t)=>{let a;for(const r of t){const t=r.items.find(t=>t.type===e.destinationType.type);if(t){a=t;break}}const r=Y(e.fields,{}),n={id:e.id,type:e.destinationType.type,displayName:e.name||e.destinationType.displayName,selected:!0,testConnectionSupported:a?.testConnectionSupported??!1,supportedSignals:e.destinationType.supportedSignals,fields:a?a.fields.map(e=>({...e,initialValue:r[e.name]??e.initialValue})):[]},s=oa(n.fields);c({listType:K.EXISTS,option:n,dynamicFields:s})},[]),h=s(()=>{const e=U(T.formData),t={};return l?.dynamicFields.forEach(({name:a,required:r})=>{if(r){const r=e.fields.find(e=>e.key===a)?.value;x(r)&&(t[a]=u.FIELD_IS_REQUIRED)}}),W(e.exportedSignals).length||(t.exportedSignals=u.FIELD_IS_REQUIRED),T.handleErrorChange(void 0,void 0,t),{errorMessage:0===Object.keys(t).length?void 0:"Invalid form values",preparedFormData:e}},[T,l]);return e(sa.Provider,{value:{activeForm:l,onChangeActiveForm:y,loadDestination:_,genericForm:T,validateFormData:h,unsavedDestinations:d,thisUnsavedDestination:S,setUnsavedDestinations:m,addUnsavedDestination:p,updateUnsavedDestination:E,deleteUnsavedDestination:I},children:t})},la=()=>r(sa),ca=(e,t)=>{switch(e){case"http.response.status_code":case"http.status_code":default:return t;case"rpc.grpc.status_code":return`gRPC ${t}`}},da=({operationName:e,identityDimensions:t})=>{const a=e||"",r=t??[];return r.length?`${a} · ${r.map(e=>ca(e.key,e.value)).join(" · ")}`:a},ua=e=>{const t=e.indexOf("\t"),a=t>=0?e.slice(0,t):"",r=t>=0?e.slice(t+1):e,{operationName:n,identityDimensions:s}=ma(r),o=da({operationName:n,identityDimensions:s});return a?`${a} ${o}`:o},ma=e=>{const t=e.indexOf(" [");if(t<0)return{operationName:e,identityDimensions:[]};const a=e.slice(0,t),r=[];let n=e.slice(t+1);for(;n.startsWith("[");){const e=n.indexOf("="),t=n.indexOf("]");if(e<0||t<0||e>t)break;r.push({key:n.slice(1,e),value:n.slice(e+1,t)}),n=n.slice(t+1)}return{operationName:a,identityDimensions:r}},Sa=e=>{const t=`${e.namespace}/${e.service}`,a=da(e);return a?`${t} · ${a}`:t},pa=({operationName:a,identityDimensions:r,tagVariant:n=z.Blue,fallback:s="-"})=>{const o=r??[];return t(j,{$gap:6,$alignItems:"center",children:[e(q,{label:a||s,variant:n}),o.map(t=>e(Q,{text:t.key,children:e(q,{label:ca(t.key,t.value)})},`${t.key}=${t.value}`))]})};var Ea,Ia;(e=>{e.Global="global",e.Service="service",e.Transaction="transaction"})(Ea||(Ea={})),(e=>{e.Low="low",e.Medium="medium",e.High="high",e.Critical="critical"})(Ia||(Ia={}));const Ta=e=>e.scope===Ea.Global,fa=n(null),ya=(e,t)=>`${e}/${t}`,_a={scopeType:Ea.Service,selectedKey:""},ha=({children:t,services:r,transactions:n,existingScopeKeys:l,onSubmit:c})=>{const d=P(_a),[u,m]=o(!1),{scopeType:S,selectedKey:p}=d.formData,E=a(()=>{const e=new Set,t=[];for(const a of r){if(!a.namespace||!a.service)continue;const r=ya(a.namespace,a.service);e.has(r)||(e.add(r),t.push({id:r,label:r}))}return t.sort((e,t)=>e.label.localeCompare(t.label))},[r]),I=a(()=>n.filter(e=>!!e.id).map(e=>({id:e.id,label:Sa(e)})).sort((e,t)=>e.label.localeCompare(t.label)),[n]),T=S===Ea.Service?E:I;i(()=>{const e=T.find(e=>!l.includes(e.id))?.id||T[0]?.id||"";p&&T.some(e=>e.id===p)||d.handleFormChange("selectedKey",e)},[T,l,p,d]);const f=!!p&&!u,y=s(async()=>{if(!f)return;const e=T.find(e=>e.id===p);m(!0);try{await c({scope:S,scopeKey:p,name:e?.label||p})}finally{m(!1)}},[f,T,p,S,c]),_=a(()=>({services:r,transactions:n,existingScopeKeys:l,genericForm:d,serviceOptions:E,transactionOptions:I,options:T,canCreate:f,submitting:u,handleSubmit:y}),[r,n,l,d,E,I,T,f,u,y]);return e(fa.Provider,{value:_,children:t})},ga=()=>{const e=r(fa);if(!e)throw new Error("useDetectionOverrideFormContext must be used within a DetectionOverrideFormContextProvider");return e},Na=[{id:Ia.Low,label:J},{id:Ia.Medium,label:X},{id:Ia.High,label:Z},{id:Ia.Critical,label:ee}],va={[Ia.Low]:20,[Ia.Medium]:40,[Ia.High]:60,[Ia.Critical]:75},Aa=n(null),Ra=({children:t,policy:r,onSave:n,onDelete:l})=>{const c=P(r),[d,u]=o(!1),[m,S]=o(!1);i(()=>{c.resetFormData(r)},[r]);const p=c.isFormDirty,E=d||m,I=p&&!E,T=p&&!E,f=s(e=>{const t=e[0]||Ia.Medium,a=c.formData;c.handleFormChange(void 0,void 0,{...a,riskLevel:t,fireAtScore:va[t],summary:Ta(a)?a.summary:te(va[t],a.signalWeightOverrideCount)})},[c]),y=s(e=>{const t=c.formData;c.handleFormChange(void 0,void 0,{...t,signalWeights:e.signalWeights,enricherLists:e.enricherLists,signalWeightOverrideCount:e.overrideCount,summary:Ta(t)?t.summary:te(t.fireAtScore,e.overrideCount)})},[c]),_=s(async()=>{if(I){u(!0);try{await n(c.formData)}finally{u(!1)}}},[c.formData,I,n]),h=s(()=>{c.resetFormData(r)},[c,r]),g=s(async()=>{if(l){S(!0);try{await l()}finally{S(!1)}}},[l]),N=a(()=>({policy:r,genericForm:c,isDirty:p,canUpdate:I,canDiscard:T,isSaving:d,isDeleting:m,handleSave:_,handleDiscard:h,handleDelete:g,handleRiskLevelChange:f,handleSignalWeightsChange:y}),[r,c,p,I,T,d,m,_,h,g,f,y]);return e(Aa.Provider,{value:N,children:t})},Oa=()=>{const e=r(Aa);if(!e)throw new Error("useDetectionPolicyFormContext must be used within a DetectionPolicyFormContextProvider");return e},Ca=e=>({id:e.scopeKey,scopeKey:e.scopeKey,rules:e.rules.map(e=>({key:e.key,label:e.label,allowlistCount:e.allowlist?.length??0,isAuto:e.origin===ie})),mode:ba(e)}),Ga=e=>{const t=e.indexOf("/");return t<0?{namespace:"",service:e}:{namespace:e.slice(0,t),service:e.slice(t+1)}},Da=(e,t)=>e.rules.find(e=>e.key===t)?.allowlist?.filter(Boolean)??[],ba=e=>e.rules[0]?.mode||ae.Suggest,La=(...e)=>{const t=new Set,a=[];for(const r of e)for(const e of r??[])e&&!t.has(e)&&(t.add(e),a.push(e));return a},wa=[""],Pa={mode:ae.Enforce,callers:[],callees:[],egress:[],transactions:[],extraCallers:wa,extraCallees:wa,extraEgress:wa},Ua=e=>({mode:ba(e),callers:Da(e,re),callees:Da(e,ne),egress:Da(e,se),transactions:Da(e,oe),extraCallers:wa,extraCallees:wa,extraEgress:wa}),Fa=e=>({mode:ae.Enforce,callers:e?.callers??[],callees:e?.callees??[],egress:e?.egress??[],transactions:e?.transactions??[],extraCallers:wa,extraCallees:wa,extraEgress:wa}),ka=e=>e.map(e=>e.trim()).filter(Boolean),Ma=n(null),Ha=(e,t,a)=>a?Array.from(new Set([...e,t])):e.filter(e=>e!==t),xa=({children:t,profile:r,profileLoading:n=!1,serviceNames:l=[],guardrail:c=null,namespace:d="",service:u="",onSubmit:m,onDelete:S})=>{const p=!!c,E=P(Pa),[I,T]=o(!1);i(()=>{c?E.resetFormData(Ua(c)):E.resetFormData(Fa(r))},[c,r]);const f=a(()=>c?Ga(c.scopeKey):null,[c]),y=p?f?.namespace||"":d,_=p?f?.service||"":u,{mode:h,callers:g,callees:N,egress:v,transactions:A,extraCallers:R,extraCallees:O,extraEgress:C}=E.formData,G=a(()=>l.filter(e=>e&&e!==_).sort((e,t)=>e.localeCompare(t)),[l,_]),D=a(()=>La(G,c?Da(c,re):void 0,r?.callers),[G,c,r?.callers]),b=a(()=>La(G,c?Da(c,ne):void 0,r?.callees),[G,c,r?.callees]),L=a(()=>c?La(Da(c,se),r?.egress):r?.egress??[],[c,r?.egress]),w=a(()=>c?La(Da(c,oe),r?.transactions):r?.transactions??[],[c,r?.transactions]),U=a(()=>ka(R),[R]),F=a(()=>ka(O),[O]),k=a(()=>ka(C),[C]),M=a(()=>c?{callers:D.length>0||U.length>0||c.rules.some(e=>e.key===re),callees:b.length>0||F.length>0||c.rules.some(e=>e.key===ne),egress:L.length>0||k.length>0||c.rules.some(e=>e.key===se),transactions:w.length>0||c.rules.some(e=>e.key===oe)}:{callers:D.length>0||U.length>0,callees:b.length>0||F.length>0,egress:L.length>0||k.length>0,transactions:(r?.transactions?.length??0)>0},[c,r,D,b,L,w,U,F,k]),H=E.isFormDirty,x=!!y&&!!_,$=!p&&x&&!I,K=p&&!I&&H,V=p&&H&&!I,B=p&&!!S,Y=s(()=>{p&&E.resetFormData(c?Ua(c):Fa(r))},[p,c,r,E]),W=s(e=>E.handleFormChange("mode",e),[E]),j=s(e=>E.handleFormChange("extraCallers",e),[E]),q=s(e=>E.handleFormChange("extraCallees",e),[E]),z=s(e=>E.handleFormChange("extraEgress",e),[E]),Q=s((e,t)=>E.handleFormChange("callers",Ha(E.formData.callers,e,t)),[E]),J=s((e,t)=>E.handleFormChange("callees",Ha(E.formData.callees,e,t)),[E]),X=s((e,t)=>E.handleFormChange("egress",Ha(E.formData.egress,e,t)),[E]),Z=s((e,t)=>E.handleFormChange("transactions",Ha(E.formData.transactions,e,t)),[E]),ee=s(e=>E.handleFormChange("callers",e?[...D]:[]),[E,D]),te=s(e=>E.handleFormChange("callees",e?[...b]:[]),[E,b]),ae=s(e=>E.handleFormChange("egress",e?[...L]:[]),[E,L]),ie=s(e=>E.handleFormChange("transactions",e?[...w]:[]),[E,w]),ce=s(()=>x?(e=>{const t=e.governed??{},a=e.origins??{},r=[{key:re,label:"Allowed callers",allowlist:e.callers,keep:e.callers.length>0||!!t.callers},{key:ne,label:"Allowed callees",allowlist:e.callees,keep:e.callees.length>0||!!t.callees},{key:se,label:"Allowed egress",allowlist:e.egress,keep:e.egress.length>0||!!t.egress},{key:oe,label:"Allowed transactions",allowlist:e.transactions,keep:e.transactions.length>0||!!t.transactions}].filter(e=>e.keep).map(t=>({key:t.key,label:t.label,allowlist:t.allowlist,mode:e.mode,origin:a[t.key]||void 0}));return{scope:e.scope,scopeKey:e.scopeKey,rules:r}})({scope:p&&c?c.scope:le.Service,scopeKey:p&&c?c.scopeKey:`${y}/${_}`,mode:h,callers:La(g,U),callees:La(N,F),egress:La(v,k),transactions:A,governed:M,origins:c?Object.fromEntries(c.rules.map(e=>[e.key,e.origin])):void 0}):null,[x,p,c,y,_,h,g,N,v,A,U,F,k,M]),de=s(async()=>{if(!(p?K:$))return;const e=ce();if(e){T(!0);try{await m(e)}finally{T(!1)}}},[p,K,$,ce,m]),ue=s(async()=>{if(S&&c&&!I){T(!0);try{await S(c.scopeKey)}finally{T(!1)}}},[S,c,I]),me=a(()=>({profile:r,profileLoading:n,guardrail:c,isEdit:p,namespace:y,service:_,genericForm:E,isDirty:H,isSubmitting:I,canCreate:$,canUpdate:K,canDiscard:V,canDelete:B,handleDiscard:Y,handleSubmit:de,handleDelete:ue,setMode:W,callerItems:D,calleeItems:b,egressItems:L,transactionItems:w,setExtraCallers:j,setExtraCallees:q,setExtraEgress:z,toggleCaller:Q,toggleCallee:J,toggleEgress:X,toggleTransaction:Z,toggleAllCallers:ee,toggleAllCallees:te,toggleAllEgress:ae,toggleAllTransactions:ie}),[r,n,c,p,y,_,E,H,I,$,K,V,B,Y,de,ue,W,D,b,L,w,j,q,z,Q,J,X,Z,ee,te,ae,ie]);return e(Ma.Provider,{value:me,children:t})},$a=()=>{const e=r(Ma);if(!e)throw new Error("useGuardrailFormContext must be used within a GuardrailFormContextProvider");return e};var Ka;(e=>{e.Minutes="minutes",e.Hours="hours",e.Days="days"})(Ka||(Ka={}));const Va=e=>e.scope===le.Global,Ba=[ce.D1_call_edges,ce.D2_egress,ce.D3_latency,ce.D5_libraries,ce.D7_db_access,ce.D8_payload_size],Ya=n(null),Wa=(e,t)=>`${e}/${t}`,ja=({children:t,services:r,transactions:n,existingOverrides:l,initialClass:c,onSubmit:d})=>{const u=P((e=>({deviationClass:e||Ba[0],scopeType:le.Service,selectedKey:""}))(c)),[m,S]=o(!1),{deviationClass:p,scopeType:E,selectedKey:I}=u.formData;i(()=>{c&&u.handleFormChange("deviationClass",c)},[c,u]);const T=a(()=>l.filter(e=>e.class===p).map(e=>e.scopeKey),[l,p]),f=a(()=>{const e=new Set,t=[];for(const a of r){if(!a.namespace||!a.service)continue;const r=Wa(a.namespace,a.service);e.has(r)||(e.add(r),t.push({id:r,label:r}))}return t.sort((e,t)=>e.label.localeCompare(t.label))},[r]),y=a(()=>n.filter(e=>!!e.id).map(e=>({id:String(e.id),label:Sa(e)})).sort((e,t)=>e.label.localeCompare(t.label)),[n]),_=E===le.Service?f:y;i(()=>{const e=_.find(e=>!T.includes(e.id))?.id||_[0]?.id||"";I&&_.some(e=>e.id===I)||u.handleFormChange("selectedKey",e)},[_,T,I,u]);const h=!!p&&!!I&&!m,g=s(async()=>{if(!h)return;const e=_.find(e=>e.id===I);S(!0);try{await d({class:p,scope:E,scopeKey:I,name:e?.label||I})}finally{S(!1)}},[h,_,I,p,E,d]),N=a(()=>({services:r,transactions:n,existingOverrides:l,genericForm:u,options:_,canCreate:h,submitting:m,handleSubmit:g}),[r,n,l,u,_,h,m,g]);return e(Ya.Provider,{value:N,children:t})},qa=()=>{const e=r(Ya);if(!e)throw new Error("useLearningOverrideFormContext must be used within a LearningOverrideFormContextProvider");return e};let za=0;const Qa=()=>"cond-"+ ++za,Ja=(e,t,a)=>`${e}:${t||"global"}:${a}`,Xa=(e,t)=>{switch(t){case Ka.Days:return Math.max(0,Math.round(24*e*60));case Ka.Hours:return Math.max(0,Math.round(60*e));case Ka.Minutes:default:return Math.max(0,Math.round(e))}},Za=e=>e<=0?{value:0,unit:Ka.Minutes}:e%1440==0?{value:e/1440,unit:Ka.Days}:e%60==0?{value:e/60,unit:Ka.Hours}:{value:e,unit:Ka.Minutes},er=e=>{const{value:t,unit:a}=Za(e);return a===Ka.Days?7===t?"1w":`${t}d`:a===Ka.Hours?`${t}h`:`${t}m`},tr=e=>{const{value:t,unit:a}=Za(e);return a===Ka.Days?1===t?"1 day":`${t} days`:a===Ka.Hours?1===t?"1 hour":`${t} hours`:1===t?"1 minute":`${t} minutes`},ar=e=>{switch(e.type){case ue.StableObservations:return`Unchanged for ${e.value} observations`;case ue.StableDuration:return`unchanged for ${er(Xa(e.value,e.durationUnit))}`;case ue.MinObservations:return`Min ${e.value} observations`;case ue.MinDuration:return`min ${er(Xa(e.value,e.durationUnit))}`;default:return""}},rr=e=>{switch(e.type){case ue.StableObservations:return`unchanged for ${e.value} observations`;case ue.StableDuration:return`unchanged for ${tr(Xa(e.value,e.durationUnit))}`;case ue.MinObservations:return`at least ${e.value} observations`;case ue.MinDuration:return`at least ${tr(Xa(e.value,e.durationUnit))}`;default:return""}},nr=(e,t,a)=>t.length?((e,t,a)=>{if(!e.length)return"";const r=e.map((e,t)=>0===t?e.charAt(0).toUpperCase()+e.slice(1):0===t?e:e.charAt(0).toLowerCase()+e.slice(1));if(1===r.length)return r[0];const n=t===Se.All?" AND ":t===Se.KOf?` (${de} ${a??1}) `:" OR ";return r.join(n)})(t.map(ar),e,a):"Falls back to count-only default",sr=e=>{const{value:t,durationUnit:a}=(e=>{switch(e.type){case ue.StableObservations:return{value:e.stableObservations??0,durationUnit:Ka.Hours};case ue.MinObservations:return{value:e.minObservations??0,durationUnit:Ka.Hours};case ue.StableDuration:{const t=e.stableMinutes??0,a=Za(t);return{value:a.value,durationUnit:a.unit}}case ue.MinDuration:{const t=e.minDurationMinutes??0,a=Za(t);return{value:a.value,durationUnit:a.unit}}default:return{value:0,durationUnit:Ka.Hours}}})(e);return{key:Qa(),type:e.type,value:t,durationUnit:a}},or=e=>{const t=Xa(e.value,e.durationUnit);switch(e.type){case ue.StableObservations:return{type:e.type,minObservations:null,minDurationMinutes:null,stableObservations:e.value,stableMinutes:null};case ue.MinObservations:return{type:e.type,minObservations:e.value,minDurationMinutes:null,stableObservations:null,stableMinutes:null};case ue.StableDuration:return{type:e.type,minObservations:null,minDurationMinutes:null,stableObservations:null,stableMinutes:t};case ue.MinDuration:return{type:e.type,minObservations:null,minDurationMinutes:t,stableObservations:null,stableMinutes:null};default:return{type:e.type}}},ir=(e=ue.StableObservations)=>({key:Qa(),type:e,value:me(e)?1:100,durationUnit:Ka.Hours}),lr=e=>{const t=(e.conditions??[]).map(sr),a=e.mode,r=e.minMatches??null,n=e.scope,s=pe[e.class],o=n===le.Global?s:`${s} · ${e.scopeKey}`;return{id:Ja(n,e.scopeKey,e.class),name:o,class:e.class,mode:a,conditions:t,minMatches:r,scope:n,scopeKey:e.scopeKey,summary:nr(a,t,r)}},cr=(e,t)=>{if(!t.length)return e;const a=new Map(t.map(e=>[String(e.id),e]));return e.map(e=>{if(e.scope!==le.Transaction)return e;const t=a.get(e.scopeKey);return t?{...e,name:`${pe[e.class]} · ${Sa(t)}`}:e})},dr=e=>({class:e.class,mode:e.mode,conditions:e.conditions.map(or),minMatches:e.mode===Se.KOf?e.minMatches??1:null,scope:e.scope,scopeKey:e.scopeKey}),ur=({scope:e,scopeKey:t,source:a,displayName:r})=>{const n=a.conditions.map(e=>({...e,key:Qa()})),s=r||t;return{id:Ja(e,t,a.class),name:`${pe[a.class]} · ${s}`,class:a.class,mode:a.mode,conditions:n,minMatches:a.minMatches,scope:e,scopeKey:t,summary:nr(a.mode,n,a.minMatches)}},mr=e=>{const t=[ir()],a=Se.Any;return{id:Ja(le.Global,"",e),name:pe[e],class:e,mode:a,conditions:t,minMatches:null,scope:le.Global,scopeKey:"",summary:nr(a,t,null)}},Sr=e=>({...e,summary:nr(e.mode,e.conditions,e.minMatches)}),pr=n(null),Er=({children:t,policy:r,onSave:n,onDelete:l})=>{const c=P(r),[d,u]=o(!1),[m,S]=o(!1),p=c.formData,E=!Va(p);i(()=>{c.resetFormData(r)},[r]);const I=c.isFormDirty,T=d||m,f=I&&!T,y=I&&!T,_=a(()=>((e,t,a)=>{if(!t.length)return{parts:["Falls back to the count-only default"],joiner:null};const r=t.map(rr).map((e,t)=>0===t?e:e.charAt(0).toLowerCase()+e.slice(1));return 1===r.length?{parts:r,joiner:null}:{parts:r,joiner:e===Se.All?"AND":e===Se.KOf?`${de} ${a??1}`:"OR"}})(p.mode,p.conditions,p.minMatches),[p.mode,p.conditions,p.minMatches]),h=a(()=>nr(p.mode,p.conditions,p.minMatches),[p.mode,p.conditions,p.minMatches]),g=s(e=>{c.handleFormChange(void 0,void 0,Sr({...c.formData,conditions:e(c.formData.conditions)}))},[c]),N=s(e=>{const t=e[0]||Se.Any,a=c.formData;c.handleFormChange(void 0,void 0,Sr({...a,mode:t,minMatches:t===Se.KOf?a.minMatches??1:null}))},[c]),v=s((e,t)=>{g(a=>a.map(a=>a.key===e?((e,t)=>{const a=me(e.type),r=me(t);return a===r?{...e,type:t}:{...e,type:t,value:r?1:100,durationUnit:e.durationUnit||Ka.Hours}})(a,t):a))},[g]),A=s((e,t)=>{const a=Number(t);g(t=>t.map(t=>t.key===e?{...t,value:Number.isFinite(a)?a:0}:t))},[g]),R=s((e,t)=>{g(a=>a.map(a=>a.key===e?{...a,durationUnit:t}:a))},[g]),O=s(e=>{g(t=>t.filter(t=>t.key!==e))},[g]),C=s(()=>{g(e=>[...e,ir()])},[g]),G=s(e=>{c.handleFormChange(void 0,void 0,Sr({...c.formData,minMatches:Math.max(1,e||1)}))},[c]),D=s(async()=>{if(f){u(!0);try{await n(Sr(c.formData))}finally{u(!1)}}},[c.formData,f,n]),b=s(()=>{c.resetFormData(r)},[c,r]),L=s(async()=>{if(l){S(!0);try{await l()}finally{S(!1)}}},[l]),w=a(()=>({policy:r,genericForm:c,isDirty:I,canUpdate:f,canDiscard:y,isOverride:E,isSaving:d,isDeleting:m,promotesWhen:_,currently:h,handleModeChange:N,handleConditionTypeChange:v,handleConditionValueChange:A,handleDurationUnitChange:R,handleRemoveCondition:O,handleAddCondition:C,handleMinMatchesChange:G,handleSave:D,handleDiscard:b,handleDelete:L}),[r,c,I,f,y,E,d,m,_,h,N,v,A,R,O,C,G,D,b,L]);return e(pr.Provider,{value:w,children:t})},Ir=()=>{const e=r(pr);if(!e)throw new Error("useLearningPolicyFormContext must be used within a LearningPolicyFormContextProvider");return e},Tr={examplesPerTransaction:0,exampleSampleIntervalSeconds:0,observationRetentionDays:0,maxResidentTransactions:0,maxBaselineSetMembers:0,flushIntervalSeconds:0,autoTransactionGuardrail:!0,identityDimensions:[...Ee]},fr=e=>e.map(e=>({key:e.key.trim(),enabled:e.enabled})).filter(e=>e.key.length>0),yr=e=>({examplesPerTransaction:e.sampling.examplesPerTransaction,exampleSampleIntervalSeconds:e.sampling.exampleSampleIntervalSeconds,observationRetentionDays:e.retention.observationRetentionDays,maxResidentTransactions:e.capacity.maxResidentTransactions,maxBaselineSetMembers:e.capacity.maxBaselineSetMembers,flushIntervalSeconds:e.writeback.flushIntervalSeconds,autoTransactionGuardrail:e.detection?.autoTransactionGuardrail??!0,identityDimensions:e.identity?.transactionIdentityDimensions?.length?e.identity.transactionIdentityDimensions.map(e=>({key:e.key,enabled:e.enabled})):[...Ee]}),_r=n(null),hr=({children:t,settings:r,onSave:n})=>{const l=P(Tr),[c,d]=o(!1),[u,m]=o(!1),S=a(()=>r?JSON.stringify(yr(r)):"",[r]);i(()=>{r&&S&&l.resetFormData(yr(r))},[S]);const p=l.formData,E=!!r&&l.isFormDirty,I=E&&(e=>{const t=e.identityDimensions.filter(e=>e.enabled&&e.key.trim()).length,a=e.identityDimensions.map(e=>e.key.trim()).filter(Boolean),r=new Set(a);return[e.examplesPerTransaction,e.exampleSampleIntervalSeconds,e.observationRetentionDays,e.maxResidentTransactions,e.maxBaselineSetMembers,e.flushIntervalSeconds].every(e=>Number.isFinite(e)&&e>0)&&t<=Ie&&r.size===a.length})(p)&&!c,T=E&&!c,f=p.identityDimensions.filter(e=>e.enabled&&e.key.trim()).length,y=s(async e=>{if(r){d(!0);try{await n(((e,t)=>({sampling:{examplesPerTransaction:e.examplesPerTransaction,exampleSampleIntervalSeconds:e.exampleSampleIntervalSeconds},retention:{observationRetentionDays:e.observationRetentionDays},capacity:{maxResidentTransactions:e.maxResidentTransactions,maxBaselineSetMembers:e.maxBaselineSetMembers},writeback:{flushIntervalSeconds:e.flushIntervalSeconds},detection:{autoTransactionGuardrail:e.autoTransactionGuardrail},identity:{transactionIdentityDimensions:fr(e.identityDimensions)},resetTransactions:t||void 0}))(p,e))}finally{d(!1),m(!1)}}},[r,p,n]),_=s(async()=>{r&&I&&(((e,t)=>{const a=yr(t);return r=fr(e.identityDimensions),n=fr(a.identityDimensions),!(r.length===n.length&&r.every((e,t)=>e.key===n[t].key&&e.enabled===n[t].enabled));var r,n})(p,r)?m(!0):await y(!1))},[r,I,p,y]),h=s(()=>{r&&T&&l.resetFormData(yr(r))},[r,T,l]),g=s((e,t)=>{l.handleFormChange(void 0,void 0,{...l.formData,identityDimensions:l.formData.identityDimensions.map((a,r)=>r===e?{...a,...t}:a)})},[l]),N=s(e=>{l.handleFormChange(void 0,void 0,{...l.formData,identityDimensions:l.formData.identityDimensions.filter((t,a)=>a!==e)})},[l]),v=s(()=>{const e=l.formData.identityDimensions.filter(e=>e.enabled&&e.key.trim()).length;l.handleFormChange(void 0,void 0,{...l.formData,identityDimensions:[...l.formData.identityDimensions,{key:"",enabled:e<Ie}]})},[l]),A=a(()=>({settings:r,genericForm:l,isDirty:E,canUpdate:I,canDiscard:T,isSaving:c,enabledDimCount:f,identityConfirmOpen:u,setIdentityConfirmOpen:m,handleSave:_,handleDiscard:h,persist:y,updateDim:g,removeDim:N,addDim:v}),[r,l,E,I,T,c,f,u,_,h,y,g,N,v]);return e(_r.Provider,{value:A,children:t})},gr=()=>{const e=r(_r);if(!e)throw new Error("useSystemSettingsFormContext must be used within a SystemSettingsFormContextProvider");return e},Nr={disabled:!1,ruleName:"",notes:"",sourceScopes:Ce(),workloads:null,instrumentationLibraries:null,payloadCollection:null,codeAttributes:null,headersCollection:null,customInstrumentations:null,networkMetrics:null},vr=n(null),Ar=({children:t,sourceOptions:r=[],namespaceOptions:n=[]})=>{const[i,l]=o(null),c=P(Nr),d=s(e=>{c.resetFormData(),c.handleErrorChange(void 0,void 0,{}),l(e)},[]),u=s((e,t)=>{var a;c.resetFormData((({ruleName:e,notes:t,disabled:a,sourceScopes:r,instrumentationLibraries:n,payloadCollection:s,codeAttributes:o,headersCollection:i,customInstrumentations:l,networkMetrics:c,workloads:d})=>({ruleName:e||"",notes:t||"",disabled:!!a,sourceScopes:Oe(r),workloads:d??null,instrumentationLibraries:n??null,payloadCollection:s??null,codeAttributes:o??null,headersCollection:i??null,customInstrumentations:l??null,networkMetrics:c??null}))(e)),c.handleErrorChange(void 0,void 0,{}),l(t??(a=e.type,Te.find(e=>e.type===a)??null))},[]),m=s(()=>{if(!i)return{errorMessage:"No rule type selected",preparedFormData:U(Nr)};const e=((e,t)=>{const a=U(e),{workloads:r,...n}=a,s={...n,sourceScopes:Re(a.sourceScopes)?null:a.sourceScopes,...r?.length?{workloads:r}:{}};return s.headersCollection?.[fe.HeaderKeys]?.length&&(s.headersCollection[fe.HeaderKeys]=s.headersCollection[fe.HeaderKeys].map(e=>e.trim()).filter(e=>e)),s.customInstrumentations?.[ye.Golang]?.length&&(s.customInstrumentations[ye.Golang]=s.customInstrumentations[ye.Golang].map(e=>new _e(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})),s.customInstrumentations?.[ye.Java]?.length&&(s.customInstrumentations[ye.Java]=s.customInstrumentations[ye.Java].map(e=>new he(e.className,e.methodName)).filter(e=>{return t=e,!(!t.className?.trim()&&!t.methodName?.trim());var t})),s.customInstrumentations?.[ye.Php]?.length&&(s.customInstrumentations[ye.Php]=s.customInstrumentations[ye.Php].map(e=>new ge(e.className,e.functionName)).filter(e=>{return t=e,!(!t.className?.trim()&&!t.functionName?.trim());var t})),t===Ne.NetworkMetrics&&(s.networkMetrics=!0),s})(c.formData,i.type),t=((e,t)=>{const a={};switch(e){case Ne.CodeAttributes:Object.values(t.codeAttributes||{}).some(e=>null!=e)||(a.codeAttributes="Code attributes are required");break;case Ne.PayloadCollection:Object.values(t.payloadCollection||{}).some(e=>null!=e)||(a.payloadCollection="Payload collection are required");break;case Ne.HeadersCollection:t.headersCollection?.[fe.HeaderKeys]?.length||(a.headersCollection="Header keys are required");break;case Ne.CustomInstrumentation:{const e=t.customInstrumentations?.[ye.Golang]||[],r=t.customInstrumentations?.[ye.Java]||[],n=t.customInstrumentations?.[ye.Php]||[];if(!e.length&&!r.length&&!n.length){a.customInstrumentations="Custom instrumentation are required";break}const s=e.findIndex(e=>!new _e(e.packageName,e.functionName,e.receiverName,e.receiverMethodName).Verify());if(-1!==s){a.customInstrumentations=`Golang probe #${s+1} is invalid: provide a package name plus either a function name OR both a receiver name and receiver method name`;break}const o=r.findIndex(e=>!new he(e.className,e.methodName).Verify());if(-1!==o){a.customInstrumentations=`Java probe #${o+1} is invalid: both class name and method name are required`;break}const i=n.findIndex(e=>!new ge(e.className,e.functionName).Verify());if(-1!==i){a.customInstrumentations=`PHP probe #${i+1} is invalid: function name is required`;break}break}}return a})(i.type,e);return c.handleErrorChange(void 0,void 0,t),{errorMessage:Object.keys(t).length>0?"Invalid form values":void 0,preparedFormData:e}},[c,i]),S=a(()=>({selectedOption:i,onSelectOption:d,loadRule:u,genericForm:c,validateFormData:m,sourceOptions:r,namespaceOptions:n}),[i,d,u,c,m,r,n]);return e(vr.Provider,{value:S,children:t})},Rr=()=>{const e=r(vr);if(!e)throw new Error("useRuleFormContext must be used within a RuleFormContextProvider");return e};var Or;(e=>{e.Create="create",e.View="view",e.EditAutoNoisy="edit-auto-noisy",e.EditAutoCostReduction="edit-auto-cost-reduction",e.EditAutoHighlyRelevant="edit-auto-highly-relevant"})(Or||(Or={}));const Cr=n(null),Gr=["50","25","10","1"];function Dr(e){const t=String(e);return Gr.includes(t)?t:"custom"}const br=({category:t,sourceOptions:r=[],namespaceOptions:n=[],children:l})=>{const{formData:c,handleFormChange:d,resetFormData:u}=P(we(t)),[m,S]=o(null);i(()=>{u(we(t)),S(null)},[t]);const p=s(e=>{S(null),d(void 0,void 0,{...c,...e})},[c,d]),E=s(()=>{u(we(t)),S(null)},[t,u]),I=a(()=>({formType:Or.Create,category:t,formData:c,handleChange:p,resetForm:E,duplicateWarning:m,setDuplicateWarning:S,sourceOptions:r,namespaceOptions:n}),[t,c,p,E,m,r,n]);return e(Cr.Provider,{value:I,children:l})},Lr=({data:t,defaultEditMode:r,sourceOptions:n=[],namespaceOptions:c=[],children:d})=>{const[u,m]=o(!1),{formData:S,handleFormChange:p,resetFormData:E}=P(void 0),I=l(null),[T,f]=o(null);i(()=>{t!==I.current&&(I.current=t,t&&r?(E(Le(t)),f(null),m(!0)):(m(!1),f(null)))},[t,r]);const y=s(e=>{f(null),p(void 0,void 0,{...S,...e})},[S,p]),_=s(()=>{t&&(E(Le(t)),f(null),m(!0))},[t,E]),h=s(()=>{m(!1),f(null)},[]),g=a(()=>({formType:Or.View,data:t,isEditing:u,formData:S,handleChange:y,handleEdit:_,handleCancelEdit:h,duplicateWarning:T,setDuplicateWarning:f,sourceOptions:n,namespaceOptions:c}),[t,u,S,y,_,h,T,n,c]);return e(Cr.Provider,{value:g,children:d})};function wr(e){const[t,r]=o(()=>0===e?"all":"sample"),[n,s]=o(()=>Dr(e)),[l,c]=o(()=>"custom"===Dr(e)?String(e):"");i(()=>{r(0===e?"all":"sample");const t=Dr(e);s(t),c("custom"===t?String(e):"")},[e]);const d=a(()=>"all"===t?0:"custom"===n?Number(l)||0:Number(n),[t,n,l]);return{percentageMode:t,setPercentageMode:r,percentagePreset:n,setPercentagePreset:s,customPercentage:l,setCustomPercentage:c,resolvedPercentage:d}}const Pr=({enabled:t,keepPercentage:r,children:n})=>{const[s,l]=o(t),c=wr(r);i(()=>{l(t)},[t]);const d=a(()=>be({enabled:s,keepPercentage:c.resolvedPercentage}),[s,c.resolvedPercentage]),u=a(()=>({formType:Or.EditAutoNoisy,localEnabled:s,setLocalEnabled:l,...c,summary:d}),[s,c,d]);return e(Cr.Provider,{value:u,children:n})},Ur=({enabled:t,dropPercentage:r,children:n})=>{const[s,l]=o(t),c=wr(r);i(()=>{l(t)},[t]);const d=a(()=>De(s?{disabled:!1,percentageAtMost:c.resolvedPercentage}:null),[s,c.resolvedPercentage]),u=a(()=>({formType:Or.EditAutoCostReduction,localEnabled:s,setLocalEnabled:l,...c,summary:d}),[s,c,d]);return e(Cr.Provider,{value:u,children:n})},Fr=({enabled:t,children:r})=>{const[n,s]=o(t);i(()=>{s(t)},[t]);const l=a(()=>Ge(n?{disabled:!1}:null),[n]),c=a(()=>({formType:Or.EditAutoHighlyRelevant,localEnabled:n,setLocalEnabled:s,summary:l}),[n,l]);return e(Cr.Provider,{value:c,children:r})},kr=t=>{switch(t.formType){case Or.Create:return e(br,{...t});case Or.View:return e(Lr,{...t});case Or.EditAutoNoisy:return e(Pr,{...t});case Or.EditAutoCostReduction:return e(Ur,{...t});case Or.EditAutoHighlyRelevant:return e(Fr,{...t})}};function Mr(e){const t=r(Cr);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 Hr={otelServiceName:"",currentStreamName:""},xr=n(null),$r=({children:t})=>{const[r,n]=o(void 0),i=P(Hr),l=s(e=>{i.resetFormData((({serviceName:e,id:t})=>({otelServiceName:e||t.name||"",currentStreamName:""}))(e)),i.handleErrorChange(void 0,void 0,{}),n(void 0)},[]),c=s(()=>{const e=U(i.formData);return i.handleErrorChange(void 0,void 0,{}),n(void 0),{errorMessage:void 0,preparedFormData:e}},[i]),d=a(()=>({loadSource:l,genericForm:i,validateFormData:c,errorMessage:r}),[l,i,c,r]);return e(xr.Provider,{value:d,children:t})},Kr=()=>{const e=r(xr);if(!e)throw new Error("useSourceEditFormContext must be used within a SourceEditFormContextProvider");return e},Vr=new Set([ve.StaticPod]),Br=e=>{const t=e.workloads.filter(({selected:e})=>e).length,a=e.workloads.length;return{selectedCount:t,isAllSourced:t>0&&t===a,isSomeSourced:t>0&&t<a,isFutureApps:e.selected||!1}},Yr=(e,t,a)=>{if(t&&!e.name.toLowerCase().includes(t.toLowerCase()))return!1;if(a.showOnlySelected){const{isAllSourced:t,isSomeSourced:a,isFutureApps:r}=Br(e);return t||a||r}return!0},Wr=(e,t,a)=>!(t&&!e.name.toLowerCase().includes(t.toLowerCase()))&&(!a.showOnlySelected||e.selected),jr=n({snapshots:null,setSnapshots:()=>{},isFetching:!1,setIsFetching:()=>{},formData:[],handleSourceChange:()=>{},handleSelectAll:()=>{},formDiff:{},isFormDirty:!1}),qr=(e,t)=>`${e}\0${t}`,zr=(e,t,a,r)=>`${e}\0${t}\0${a}/${r}`,Qr=(e,t)=>e.name===t.name&&e.kind===t.kind&&(e.region??"")===(t.region??""),Jr=(e,t,a)=>{const r=[];return t.workloads.forEach(n=>{const s=e?.workloads.find(e=>Qr(e,n));n.selected!==s?.selected&&r.push({namespace:t.name,name:n.name,kind:n.kind,region:n.region||void 0,selected:n.selected||!1,currentStreamName:a})}),r},Xr=({children:t,selectedConnectionIds:r,initialInputs:n})=>{const{tier:c}=Pe(),d=c===Ae.Onprem,{capabilities:u}=Ht(),m=u.canInstrumentNamespaces,{selectedStreamName:S}=f(),[p,E]=o(!1),[T,y]=o(null),[_,h]=o([]),g=l(new Set),N=s((e,t)=>{t.forEach(t=>{const a=e.find(e=>e.clusterId===t.clusterId);a&&t.namespaces.forEach(e=>{const r=a.namespaces.find(t=>t.name===e.name);r&&(r.selected!==e.selected&&g.current.add(qr(t.clusterId,e.name)),e.workloads.forEach(a=>{const n=r.workloads.find(e=>e.name===a.name&&e.kind===a.kind);n&&n.selected!==a.selected&&g.current.add(zr(t.clusterId,e.name,a.kind,a.name))}))})})},[]);i(()=>{T&&h(e=>{const t=((e,t)=>U(((e,t)=>e.clusters.filter(({clusterId:e})=>!t||t.includes(e)))(e,t)))(T,r);return t.map(t=>{const a=e?.find(e=>e.clusterId===t.clusterId),r=((e,t,a)=>{if(!t)return e;const r=new Map(t.namespaces.map(e=>[e.name,e]));return{...e,namespaces:e.namespaces.map(t=>{const n=r.get(t.name);if(!n)return t;const s=new Map(n.workloads.map(e=>[`${e.kind}/${e.name}`,e])),o=a.has(qr(e.clusterId,t.name));return{...t,selected:o?n.selected:t.selected,workloads:t.workloads.map(r=>{const n=s.get(`${r.kind}/${r.name}`),o=a.has(zr(e.clusterId,t.name,r.kind,r.name));return n&&o?{...r,selected:n.selected}:r})}})}})(t,a,g.current);if(n?.[t.clusterId]){const e=n[t.clusterId],a=U(r);return e.forEach(e=>{const t=a.namespaces.find(t=>t.name===e.namespace);if(t)if(e.name&&e.kind){const a=t.workloads.find(t=>t.name===e.name&&t.kind===e.kind);a&&(a.selected=e.selected)}else t.selected=e.selected,e.selected&&t.workloads.forEach(e=>{Vr.has(e.kind)&&!d||(e.selected=!0)})}),a}return r})})},[T,r,n]);const{formDiff:v,isFormDirty:A}=a(()=>{const e=((e,t,a,r)=>{const n={};return e.forEach(e=>{e.namespaces.forEach(s=>{const o=t.find(t=>t.clusterId===e.clusterId)?.namespaces.find(e=>e.name===s.name);if(!r){const t=Jr(o,s,a);return void(t.length>0&&(n[e.clusterId]||(n[e.clusterId]=[]),n[e.clusterId].push(...t)))}const i=s.selected||!1;if(i!==o?.selected)n[e.clusterId]||(n[e.clusterId]=[]),n[e.clusterId].push({namespace:s.name,selected:i,currentStreamName:a}),i?n[e.clusterId]=n[e.clusterId].filter(e=>e.namespace!==s.name||e.namespace===s.name&&(!e.name||!e.kind)):s.workloads.forEach(t=>{t.selected&&n[e.clusterId].push({namespace:s.name,name:t.name,kind:t.kind,region:t.region||void 0,selected:!0,currentStreamName:a})});else{const t=Jr(o,s,a);t.length>0&&(n[e.clusterId]||(n[e.clusterId]=[]),n[e.clusterId].push(...t))}})}),n})(_,T?.clusters||[],S,m);return{formDiff:e,isFormDirty:Object.keys(e).length>0}},[_,T,S,m]),R=s(e=>!d&&Vr.has(e),[d]),O=s(({clusterId:e,workloadId:t,selected:a,auto:r})=>{h(n=>{const s=U(n),o=s.findIndex(t=>t.clusterId===e);if(-1===o)return s;const i=s[o].namespaces.findIndex(e=>e.name===t.namespace);if(-1===i)return s;if(t.kind&&t.name){const e=s[o].namespaces[i].workloads.findIndex(e=>Qr(e,{name:t.name,kind:t.kind,region:t.region}));if(-1===e)return s;const r="boolean"==typeof a?a:!s[o].namespaces[i].workloads[e].selected;s[o].namespaces[i].workloads[e].selected=r,m&&(r?s[o].namespaces[i].workloads.filter(e=>!R(e.kind)).every(e=>e.selected)&&(s[o].namespaces[i].selected=!0):s[o].namespaces[i].selected=!1)}else if(m){const e="boolean"==typeof r?r:!s[o].namespaces[i].selected;s[o].namespaces[i].selected=e,e?s[o].namespaces[i].workloads.forEach(e=>{R(e.kind)||(e.selected=!0)}):"boolean"!=typeof a||a||s[o].namespaces[i].workloads.forEach(e=>{e.selected=!1})}else{const e="boolean"==typeof a?a:"boolean"!=typeof r||r;s[o].namespaces[i].workloads.forEach(t=>{e&&R(t.kind)||(t.selected=e)})}return N(n,s),s})},[R,m,N]),C=s(({clusterId:e,namespaceName:t,boolean:a,searchText:r="",searchBy:n="",filters:s})=>{h(o=>{const i=U(o),l=n===I.Namespace?r:"",c=n===I.Source?r:"",d=!!l||!!c||!!s?.showOnlySelected;return i.forEach((r,n)=>{e&&r.clusterId!==e||r.namespaces.forEach(({name:e,workloads:r},o)=>{if(!t||e===t)if(d)if(t){if(r.forEach((e,t)=>{a&&R(e.kind)||Wr(e,c,s||{showOnlySelected:!1})&&(i[n].namespaces[o].workloads[t].selected=a)}),m){const e=i[n].namespaces[o].workloads.filter(e=>!R(e.kind)).every(e=>e.selected);i[n].namespaces[o].selected=e}}else{if(!Yr(i[n].namespaces[o],l,s||{showOnlySelected:!1}))return;m&&(i[n].namespaces[o].selected=a),r.forEach((e,t)=>{a&&R(e.kind)||(i[n].namespaces[o].workloads[t].selected=a)})}else m&&(i[n].namespaces[o].selected=a),r.forEach((e,t)=>{a&&R(e.kind)||(i[n].namespaces[o].workloads[t].selected=a)})})}),N(o,i),i})},[R,m,N]);return e(jr.Provider,{value:{snapshots:T,setSnapshots:y,isFetching:p,setIsFetching:E,formData:_,handleSourceChange:O,handleSelectAll:C,formDiff:v,isFormDirty:A},children:t})},Zr=()=>r(jr);export{ca as $,jt as A,Ht as B,Jt as C,ta as D,Rr as E,Mr as F,xa as G,Kr as H,Zr as I,gr as J,ua as K,ja as L,Ka as M,Ba as N,at as O,Na as P,Ta as Q,Ar as R,Or as S,Ea as T,Ia as U,Wr as V,Vr as W,Yr as X,Br as Y,pa as Z,da as _,mt as a,Va as a0,mr as a1,ur as a2,cr as a3,lr as a4,dr as a5,va as a6,Ca as a7,Ga as a8,ia as b,ha as c,Ra as d,Er as e,Xe as f,kr as g,$r as h,Xr as i,hr as j,gt as k,qt as l,yt as m,_t as n,ft as o,Nt as p,Xt as q,ut as r,aa as s,la as t,Je as u,ga as v,Oa as w,$a as x,qa as y,Ir as z};
|
|
5
|
+
`,pt=(e,t)=>{if(e)return"function"==typeof e?e(t):e},Et=(e,t)=>e[t],It=(e,t,a)=>{if(void 0!==t)return e?.transformResult?e.transformResult(t,a):t},Tt=(e,t,a)=>{if(!e)return;const r=e.transformVariables;return r?r(t,a):t},ft=(e,t,r)=>{const{operations:n,context:o}=Je(),l=Et(n,e),c=a(()=>pt(l?.document,o),[l,o]),d=a(()=>Tt(l,t,o),[l,t,o]),u=!l||!c,m=!!l?.canRun&&!l.canRun(o),S=r?.skip||u||m,p=Me(c??St,{variables:d,skip:S,pollInterval:r?.pollInterval,fetchPolicy:r?.fetchPolicy??"cache-and-network",notifyOnNetworkStatusChange:r?.notifyOnNetworkStatusChange,client:l?.client}),E=a(()=>{if(!S)return It(l,p.data,o)},[l,o,p.data,S]);i(()=>{S||void 0===E||r?.onCompleted?.(E)},[S,E,r?.onCompleted]),i(()=>{p.error&&r?.onError?.(p.error)},[p.error,r?.onError]);const I=s(async()=>{if(S)return{data:void 0};const e=await p.refetch();return{data:It(l,e.data,o)}},[l,o,p,S]);return{data:E,loading:!S&&p.loading,error:p.error,refetch:I,unsupported:u}},yt=(e,t)=>{const{operations:r,context:n}=Je(),o=Et(r,e),i=a(()=>pt(o?.document,n),[o,n]),l=!o||!i,[c,d]=Fe(i??St,{fetchPolicy:t?.fetchPolicy??"network-only",notifyOnNetworkStatusChange:t?.notifyOnNetworkStatusChange,client:o?.client});return{execute:s(async e=>{if(l)return{error:void 0};if(o?.canRun&&!o.canRun(n))return{data:void 0};const t=Tt(o,e,n),a=await c({variables:t});return a.error?{error:a.error}:{data:It(o,a.data,n)}},[o,n,c,l]),data:a(()=>It(o,d.data,n),[o,n,d.data]),loading:d.loading,error:d.error,called:d.called,unsupported:l}},_t=(e,t)=>{const{operations:r,context:n}=Je(),i=ke(),l=Et(r,e),c=a(()=>pt(l?.document,n),[l,n]),d=!l||!c,[u,m]=o({loading:!1,called:!1}),S=s(()=>m({loading:!1,called:!1}),[]);return[s(async e=>{if(d||!c)return{error:void 0};if(l?.canRun&&!l.canRun(n))return{data:void 0};const a=Tt(l,e,n),r=l?.client??i;m(e=>({...e,loading:!0,called:!0}));try{const e=await r.mutate({mutation:c,variables:a}),s=It(l,e.data,n);if(m({data:s,loading:!1,error:void 0,called:!0}),t?.refetchQueries){const e=r.refetchQueries({include:t.refetchQueries});t?.awaitRefetchQueries&&await e}return void 0!==s&&t?.onCompleted?.(s),{data:s}}catch(e){const a=e;return m({data:void 0,loading:!1,error:a,called:!0}),t?.onError?.(a),{error:a}}},[l,n,i,c,d,t]),{data:u.data,loading:u.loading,error:u.error,called:u.called,unsupported:d,reset:S}]},ht=[],gt=(e,t,a,r)=>{let n=!0;const s={sources:[]};for(const[o,i]of Object.entries(e)){if(!i.length)continue;n=!1;const e=i.map(({id:e,selected:t,currentStreamName:r})=>({namespace:e.namespace,name:e.name,kind:e.kind,selected:void 0!==t&&t,currentStreamName:r||a}));let l=0,c=0;for(const a of e){const e=t.find(e=>e.id.namespace===o&&e.id.name===a.name&&e.id.kind===a.kind),r=e?.dataStreamNames||[];a.selected&&!e?l++:!a.selected&&e&&r.length<=1&&c++}r(l,c),s.sources.push(...e)}return{payload:s,isEmpty:n}},Nt=(e,t)=>{let a=!0;const r={namespaces:[]};for(const[n,{selected:s,currentStreamName:o}]of Object.entries(e))"boolean"==typeof s&&(a=!1,r.namespaces.push({namespace:n,selected:s,currentStreamName:o||t}));return{payload:r,isEmpty:a}},vt={filter:{markedForInstrumentation:!0}},At=[],Rt=e=>{const t=e.markedForInstrumentation?.markedForInstrumentation;return"boolean"==typeof t?e:{...e,markedForInstrumentation:{...e.markedForInstrumentation??{markedForInstrumentation:!0},markedForInstrumentation:!0}}},Ot=e=>{let t=!1;const a=e.map(e=>{const a=Rt(e);return a!==e&&(t=!0),a});return t?a:e},Ct=[],Gt=[],Dt=[],bt=(e,t)=>{const a=ke(),{notifyError:r,notifySuccess:n,notifyReadonly:s}=nt(A.Finding),o=async()=>{e.GET_INSIGHTS_FINDINGS&&await dt(a,e.GET_INSIGHTS_FINDINGS,void 0,t)},i=async()=>{e.GET_INSIGHTS_ANOMALIES&&await dt(a,e.GET_INSIGHTS_ANOMALIES,void 0,t)},l=async()=>{e.GET_INSIGHTS_TRANSACTIONS&&await dt(a,e.GET_INSIGHTS_TRANSACTIONS,void 0,t)},c=async()=>{if(!e.GET_INSIGHTS_POLICIES)return;const r="function"==typeof e.GET_INSIGHTS_POLICIES.document?e.GET_INSIGHTS_POLICIES.document(t):e.GET_INSIGHTS_POLICIES.document;r?await a.refetchQueries({include:[r]}):await dt(a,e.GET_INSIGHTS_POLICIES,void 0,t)},d=async()=>{e.GET_INSIGHTS_LEARNING_POLICIES&&await dt(a,e.GET_INSIGHTS_LEARNING_POLICIES,void 0,t)},u=async()=>{e.GET_INSIGHTS_GUARDRAILS&&await dt(a,e.GET_INSIGHTS_GUARDRAILS,void 0,t)},m=async()=>{e.GET_INSIGHTS_GUARDRAIL_VIOLATIONS&&await dt(a,e.GET_INSIGHTS_GUARDRAIL_VIOLATIONS,void 0,t)};return{useServices:e=>ft("GET_INSIGHTS_SERVICES",void 0,e),useServiceNames:e=>ft("GET_INSIGHTS_SERVICE_NAMES",void 0,e),useTransactions:(e,t)=>ft("GET_INSIGHTS_TRANSACTIONS",e,t),useTransaction:(e,t)=>ft("GET_INSIGHTS_TRANSACTION",e,t),useBaseline:(e,t)=>ft("GET_INSIGHTS_BASELINE",e,t),useObservations:(e,t)=>ft("GET_INSIGHTS_OBSERVATIONS",e,t),useObservation:(e,t)=>ft("GET_INSIGHTS_OBSERVATION",e,t),useFindings:(e,t)=>ft("GET_INSIGHTS_FINDINGS",e,t),useAnomalies:(e,t)=>ft("GET_INSIGHTS_ANOMALIES",e,t),useAnomaly:(e,t)=>ft("GET_INSIGHTS_ANOMALY",e,t),usePolicies:e=>ft("GET_INSIGHTS_POLICIES",void 0,e),useLearningPolicies:e=>ft("GET_INSIGHTS_LEARNING_POLICIES",void 0,e),useGuardrails:e=>ft("GET_INSIGHTS_GUARDRAILS",void 0,e),useGuardrailViolations:(e,t)=>ft("GET_INSIGHTS_GUARDRAIL_VIOLATIONS",e,t),useGuardrailViolation:(e,t)=>ft("GET_INSIGHTS_GUARDRAIL_VIOLATION",e,t),useServiceProfile:(e,t)=>ft("GET_INSIGHTS_SERVICE_PROFILE",e,t),useBlastRadius:(e,t)=>ft("GET_INSIGHTS_BLAST_RADIUS",e,t),useCatalog:e=>ft("GET_INSIGHTS_CATALOG",void 0,e),useSystemSettings:e=>ft("GET_INSIGHTS_SYSTEM_SETTINGS",void 0,e),useStorageHealth:e=>ft("GET_INSIGHTS_STORAGE_HEALTH",void 0,e),getServices:e.GET_INSIGHTS_SERVICES?async()=>dt(a,e.GET_INSIGHTS_SERVICES,void 0,t):void 0,getServiceNames:e.GET_INSIGHTS_SERVICE_NAMES?async()=>dt(a,e.GET_INSIGHTS_SERVICE_NAMES,void 0,t):void 0,getTransactions:e.GET_INSIGHTS_TRANSACTIONS?async r=>dt(a,e.GET_INSIGHTS_TRANSACTIONS,r,t):void 0,getTransaction:e.GET_INSIGHTS_TRANSACTION?async r=>dt(a,e.GET_INSIGHTS_TRANSACTION,r,t):void 0,getFindings:e.GET_INSIGHTS_FINDINGS?async r=>dt(a,e.GET_INSIGHTS_FINDINGS,r,t):void 0,getAnomalies:e.GET_INSIGHTS_ANOMALIES?async r=>dt(a,e.GET_INSIGHTS_ANOMALIES,r,t):void 0,getAnomaly:e.GET_INSIGHTS_ANOMALY?async r=>dt(a,e.GET_INSIGHTS_ANOMALY,r,t):void 0,getPolicies:e.GET_INSIGHTS_POLICIES?async()=>dt(a,e.GET_INSIGHTS_POLICIES,void 0,t):void 0,getLearningPolicies:e.GET_INSIGHTS_LEARNING_POLICIES?async()=>dt(a,e.GET_INSIGHTS_LEARNING_POLICIES,void 0,t):void 0,getGuardrails:e.GET_INSIGHTS_GUARDRAILS?async()=>dt(a,e.GET_INSIGHTS_GUARDRAILS,void 0,t):void 0,getGuardrailViolation:e.GET_INSIGHTS_GUARDRAIL_VIOLATION?async r=>dt(a,e.GET_INSIGHTS_GUARDRAIL_VIOLATION,r,t):void 0,getServiceProfile:e.GET_INSIGHTS_SERVICE_PROFILE?async r=>dt(a,e.GET_INSIGHTS_SERVICE_PROFILE,r,t):void 0,getBlastRadius:e.GET_INSIGHTS_BLAST_RADIUS?async r=>dt(a,e.GET_INSIGHTS_BLAST_RADIUS,r,t):void 0,getCatalog:e.GET_INSIGHTS_CATALOG?async()=>dt(a,e.GET_INSIGHTS_CATALOG,void 0,t):void 0,getSystemSettings:e.GET_INSIGHTS_SYSTEM_SETTINGS?async()=>dt(a,e.GET_INSIGHTS_SYSTEM_SETTINGS,void 0,t):void 0,getStorageHealth:e.GET_INSIGHTS_STORAGE_HEALTH?async()=>dt(a,e.GET_INSIGHTS_STORAGE_HEALTH,void 0,t):void 0,promoteBaselineClass:e.PROMOTE_INSIGHTS_BASELINE_CLASS?async o=>{if(t.isReadonly)return s();const{data:i,error:l}=await ut(a,e.PROMOTE_INSIGHTS_BASELINE_CLASS,o,t);return l?r(E.Update,l):n(E.Update,"Successfully promoted baseline class"),{data:i,error:l}}:void 0,resetBaselineClass:e.RESET_INSIGHTS_BASELINE_CLASS?async(o,i)=>{if(t.isReadonly)return s();const{error:l}=await ut(a,e.RESET_INSIGHTS_BASELINE_CLASS,{transactionId:o,class:i},t);return l?r(E.Update,l):n(E.Update,"Successfully reset baseline class"),l?{error:l}:void 0}:void 0,resetTransactionBaselines:e.RESET_INSIGHTS_TRANSACTION_BASELINES?async o=>{if(t.isReadonly)return s();const{error:i}=await ut(a,e.RESET_INSIGHTS_TRANSACTION_BASELINES,{transactionId:o},t);return i?r(E.Update,i):n(E.Update,"Successfully reset transaction baselines"),i?{error:i}:void 0}:void 0,promoteTransactionBaselines:e.PROMOTE_INSIGHTS_TRANSACTION_BASELINES?async o=>{if(t.isReadonly)return s();const{error:i}=await ut(a,e.PROMOTE_INSIGHTS_TRANSACTION_BASELINES,{transactionId:o},t);return i?r(E.Update,i):(n(E.Update,"Successfully promoted transaction baselines"),await Promise.all([l(),u()])),i?{error:i}:void 0}:void 0,bulkPromoteTransactions:e.BULK_PROMOTE_INSIGHTS_TRANSACTIONS?async o=>{if(t.isReadonly)return s();const i={transactionIds:o},{data:c,error:d}=await ut(a,e.BULK_PROMOTE_INSIGHTS_TRANSACTIONS,i,t);return d?r(E.Update,d):(n(E.Update,`Successfully promoted ${c?.promoted??o.length} transactions`),await Promise.all([l(),u()])),{data:c,error:d}}:void 0,forcePromoteService:e.FORCE_PROMOTE_INSIGHTS_SERVICE?async o=>{if(t.isReadonly)return s();const{error:i}=await ut(a,e.FORCE_PROMOTE_INSIGHTS_SERVICE,o,t);return i?r(E.Update,i):(n(E.Update,"Successfully force-promoted service transactions"),await Promise.all([l(),u()])),i?{error:i}:void 0}:void 0,enableTransactionGuardrail:e.ENABLE_INSIGHTS_TRANSACTION_GUARDRAIL?async o=>{if(t.isReadonly)return s();const{error:i}=await ut(a,e.ENABLE_INSIGHTS_TRANSACTION_GUARDRAIL,o,t);return i?r(E.Update,i):(n(E.Update,"Successfully enabled transaction guardrail"),await u()),i?{error:i}:void 0}:void 0,disableTransactionGuardrail:e.DISABLE_INSIGHTS_TRANSACTION_GUARDRAIL?async o=>{if(t.isReadonly)return s();const{error:i}=await ut(a,e.DISABLE_INSIGHTS_TRANSACTION_GUARDRAIL,o,t);return i?r(E.Update,i):(n(E.Update,"Successfully disabled transaction guardrail"),await u()),i?{error:i}:void 0}:void 0,deleteTransaction:e.DELETE_INSIGHTS_TRANSACTION?async c=>{if(t.isReadonly)return s();const{error:d}=await ut(a,e.DELETE_INSIGHTS_TRANSACTION,{transactionId:c},t);return d?r(E.Delete,d):(n(E.Delete,"Successfully deleted transaction"),await Promise.all([l(),o(),i()])),d?{error:d}:void 0}:void 0,bulkDeleteTransactions:e.BULK_DELETE_INSIGHTS_TRANSACTIONS?async c=>{if(t.isReadonly)return s();const d={transactionIds:c},{data:u,error:m}=await ut(a,e.BULK_DELETE_INSIGHTS_TRANSACTIONS,d,t);return m?r(E.Delete,m):(n(E.Delete,`Successfully deleted ${u?.deleted??c.length} transactions`),await Promise.all([l(),o(),i()])),{data:u,error:m}}:void 0,upsertPolicy:e.UPSERT_INSIGHTS_POLICY?async o=>{if(t.isReadonly)return s();const{data:i,error:l}=await ut(a,e.UPSERT_INSIGHTS_POLICY,{policy:o},t);return l?r(E.Update,l):(n(E.Update,`Successfully saved policy "${o.name}"`),await c()),{data:i,error:l}}:void 0,deletePolicy:e.DELETE_INSIGHTS_POLICY?async(o,i)=>{if(t.isReadonly)return s();const{error:l}=await ut(a,e.DELETE_INSIGHTS_POLICY,{scope:o,scopeKey:i},t);return l?r(E.Delete,l):(n(E.Delete,"Successfully deleted policy"),await c()),l?{error:l}:void 0}:void 0,upsertLearningPolicy:e.UPSERT_INSIGHTS_LEARNING_POLICY?async o=>{if(t.isReadonly)return s();const{data:i,error:l}=await ut(a,e.UPSERT_INSIGHTS_LEARNING_POLICY,{policy:o},t);return l?r(E.Update,l):(n(E.Update,"Successfully saved learning policy"),await d()),{data:i,error:l}}:void 0,deleteLearningPolicy:e.DELETE_INSIGHTS_LEARNING_POLICY?async(o,i,l)=>{if(t.isReadonly)return s();const{error:c}=await ut(a,e.DELETE_INSIGHTS_LEARNING_POLICY,{class:o,scope:i,scopeKey:l},t);return c?r(E.Delete,c):(n(E.Delete,"Successfully deleted learning policy"),await d()),c?{error:c}:void 0}:void 0,resolveAnomaly:e.RESOLVE_INSIGHTS_ANOMALY?async l=>{if(t.isReadonly)return s();const{error:c}=await ut(a,e.RESOLVE_INSIGHTS_ANOMALY,l,t);return c?r(E.Update,c):(n(E.Update,`Successfully ${l.resolution}ed anomaly`),await Promise.all([i(),o()])),c?{error:c}:void 0}:void 0,bulkResolveAnomalies:e.BULK_RESOLVE_INSIGHTS_ANOMALIES?async(l,c)=>{if(t.isReadonly)return s();const d={resolution:l,items:c},{data:u,error:m}=await ut(a,e.BULK_RESOLVE_INSIGHTS_ANOMALIES,d,t);return m?r(E.Update,m):(n(E.Update,`Successfully ${l}ed ${u?.resolved??c.length} anomalies`),await Promise.all([i(),o()])),{data:u,error:m}}:void 0,upsertGuardrail:e.UPSERT_INSIGHTS_GUARDRAIL?async o=>{if(t.isReadonly)return s();const{data:i,error:l}=await ut(a,e.UPSERT_INSIGHTS_GUARDRAIL,{guardrail:o},t);return l?r(E.Update,l):(n(E.Update,"Successfully saved guardrail"),await u()),{data:i,error:l}}:void 0,deleteGuardrail:e.DELETE_INSIGHTS_GUARDRAIL?async o=>{if(t.isReadonly)return s();const{error:i}=await ut(a,e.DELETE_INSIGHTS_GUARDRAIL,{scopeKey:o},t);return i?r(E.Delete,i):(n(E.Delete,"Successfully deleted guardrail"),await u()),i?{error:i}:void 0}:void 0,seedGuardrail:e.SEED_INSIGHTS_GUARDRAIL?async o=>{if(t.isReadonly)return s();const{error:i}=await ut(a,e.SEED_INSIGHTS_GUARDRAIL,{seed:o},t);return i?r(E.Create,i):(n(E.Create,"Successfully seeded guardrail"),await u()),i?{error:i}:void 0}:void 0,acceptViolation:e.ACCEPT_INSIGHTS_GUARDRAIL_VIOLATION?async i=>{if(t.isReadonly)return s();const{error:l}=await ut(a,e.ACCEPT_INSIGHTS_GUARDRAIL_VIOLATION,{action:i},t);return l?r(E.Update,l):(n(E.Update,"Successfully accepted violation"),await Promise.all([m(),o()])),l?{error:l}:void 0}:void 0,dismissViolation:e.DISMISS_INSIGHTS_GUARDRAIL_VIOLATION?async i=>{if(t.isReadonly)return s();const{error:l}=await ut(a,e.DISMISS_INSIGHTS_GUARDRAIL_VIOLATION,{action:i},t);return l?r(E.Update,l):(n(E.Update,"Successfully dismissed violation"),await Promise.all([m(),o()])),l?{error:l}:void 0}:void 0,reopenViolation:e.REOPEN_INSIGHTS_GUARDRAIL_VIOLATION?async i=>{if(t.isReadonly)return s();const{error:l}=await ut(a,e.REOPEN_INSIGHTS_GUARDRAIL_VIOLATION,{action:i},t);return l?r(E.Update,l):(n(E.Update,"Successfully reopened violation"),await Promise.all([m(),o()])),l?{error:l}:void 0}:void 0,updateSystemSettings:e.UPDATE_INSIGHTS_SYSTEM_SETTINGS?async o=>{if(t.isReadonly)return s();const{data:i,error:l}=await ut(a,e.UPDATE_INSIGHTS_SYSTEM_SETTINGS,{settings:o},t);return l?r(E.Update,l):(n(E.Update,"Successfully updated system settings"),await(async()=>{e.GET_INSIGHTS_SYSTEM_SETTINGS&&await dt(a,e.GET_INSIGHTS_SYSTEM_SETTINGS,void 0,t)})()),{data:i,error:l}}:void 0}},Lt=[],wt=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}},Pt=[],Ut=[],Ft=(e,t)=>({...e,fields:e.fields.filter(({value:e})=>void 0!==e),currentStreamName:t}),kt=[],Mt=[],Ht=()=>{const{operations:e,context:t}=Je(),r=ke(),n=((e,t)=>{const r=ke(),{notifyError:n,notifySuccess:o,notifyPending:i,notifyReadonly:l}=nt(I.Source),{selectedStreamName:c}=f(),{setProgress:d,resetProgress:u}=y(),{setConfiguredSources:m,setConfiguredFutureApps:S}=_(),p=(e,t)=>{const{progress:a}=y.getState();e>0&&d(h.Instrumenting,{total:(a[h.Instrumenting]?.total||0)+e,current:a[h.Instrumenting]?.current||0}),t>0&&d(h.Uninstrumenting,{total:(a[h.Uninstrumenting]?.total||0)+t,current:a[h.Uninstrumenting]?.current||0})},T=s(async()=>{const{error:a}=await dt(r,e.GET_WORKLOADS,vt,t);a&&n(E.Read,a)},[r,e.GET_WORKLOADS,t,n]);return{useSources:()=>{const e=ft("GET_WORKLOADS",vt,{fetchPolicy:"cache-first"}),t=e.data?.workloads;return{items:a(()=>t?Ot(t):At,[t]),loading:e.loading,refetch:T}},fetchAll:T,fetchByTargets:async(a,s)=>{const o=!!s?.slim,i=a.map(e=>g(e,I.Source)).filter(e=>e.namespace&&e.name&&e.kind);if(0===i.length)return;if(i.length>50)return void await T();const l=o&&e.GET_WORKLOADS_BY_IDS_SLIM?e.GET_WORKLOADS_BY_IDS_SLIM:e.GET_WORKLOADS_BY_IDS,{error:c}=await dt(r,l,{ids:i.map(({namespace:e,kind:t,name:a,region:r})=>({namespace:e,kind:t,name:a,region:r||void 0}))},t);c?n(E.Read,c):await T()},fetchById:async a=>{const{data:s,error:o}=await dt(r,e.GET_WORKLOADS_BY_IDS,{ids:[{namespace:a.namespace,kind:a.kind,name:a.name,...a.region?{region:a.region}:{}}]},t);if(o)return void n(E.Read,o);const i=s?.workloadsByIds?.find(e=>e.id.namespace===a.namespace&&e.id.kind===a.kind&&e.id.name===a.name&&(e.id.region??"")===(a.region??""));return i?Rt(i):void 0},fetchLibraries:async a=>dt(r,e.GET_SOURCE_LIBRARIES,a,t),fetchPeerSources:async a=>dt(r,e.GET_PEER_SOURCES,{serviceName:a},t),usePeerSources:(e,t)=>ft("GET_PEER_SOURCES",e,t),useInstrumentationInstructions:(e,t)=>ft("GET_INSTRUMENTATION_INSTRUCTIONS",e,{...t,skip:t?.skip||!e?.name}),persist:async(a,s)=>{if(t.isReadonly)return l();const{data:o}=await dt(r,e.GET_WORKLOADS,vt,t,"cache-first"),d=Ot(o?.workloads??At),{payload:I,isEmpty:T}=gt(a,d,c,p),{payload:f,isEmpty:y}=Nt(s,c);let _=!1;T||(_=!0,i("Persisting sources...")),y||_||i("Persisting namespaces...");const{error:g}=await ut(r,e.PERSIST_SOURCES,I,t);if(g&&(u(h.Instrumenting),u(h.Uninstrumenting),n(E.Update,g)),e.PERSIST_NAMESPACES){const{error:a}=await ut(r,e.PERSIST_NAMESPACES,f,t);a&&n(E.Update,a)}m({}),S({})},persistV2:async a=>{if(t.isReadonly)return l(),{error:"readonly"};const n=[];for(const[s,o]of Object.entries(a)){const a={sources:[]},i={namespaces:[]};for(const e of o)e.name&&e.kind?a.sources.push(e):i.namespaces.push(e);const l=s&&s!==N?{...t,proxyID:s}:t,c=e=>s&&s!==N?`${s}: ${e}`:e;if(i.namespaces.length>0&&e.PERSIST_NAMESPACES){const{error:t}=await ut(r,e.PERSIST_NAMESPACES,i,l);t&&n.push(c(t))}if(a.sources.length>0){const{error:t}=await ut(r,e.PERSIST_SOURCES,a,l);t&&n.push(c(t))}}return n.length?{error:n.join(", ")}:void 0},update:async(a,s)=>{if(t.isReadonly)return l();i("Updating source...");const d={sourceId:a,patchSourceRequest:{...s,currentStreamName:c}},{data:u,error:m}=await ut(r,e.UPDATE_SOURCE,d,t);m?n(E.Update,m,a):u?.updateK8sActualSource&&o(E.Update,`Successfully updated "${a.name}" source`,a)},restartWorkloads:async a=>{if(t.isReadonly)return l();i("Restarting sources...");const{data:s,error:c}=await ut(r,e.RESTART_WORKLOADS,{sourceIds:a},t);c?n(E.Update,c):s?.restartWorkloads&&o(E.Update,`Successfully restarted ${a.length} sources`)},restartPod:async(a,s)=>{if(t.isReadonly)return l();i("Restarting pod...");const{data:c,error:d}=await ut(r,e.RESTART_POD,{namespace:a,name:s},t);d?n(E.Update,d):c?.restartPod&&o(E.Update,`Successfully restarted pod ${a}/${s}`)},recoverFromRollback:async a=>{if(t.isReadonly)return l();i("Recovering from rollback...");const{data:s,error:c}=await ut(r,e.RECOVER_FROM_ROLLBACK,{sourceId:a},t);c?n(E.Update,c,a):s?.recoverFromRollbackForWorkload&&o(E.Update,"Successfully triggered recovery from rollback")}}})(e,t),o=((e,t)=>{const a=ke(),{notifyError:r,notifySuccess:n,notifyReadonly:s}=nt(I.Destination),{selectedStreamName:o}=f(),i=async()=>{const{error:n}=await dt(a,e.GET_DESTINATIONS,void 0,t);n&&r(E.Read,n)};return{useDestinations:()=>{const e=ft("GET_DESTINATIONS",void 0,{fetchPolicy:"cache-first"});return{items:e.data?.computePlatform?.destinations??e.data?.destinations??Ut,loading:e.loading,refetch:i}},useDestinationCategories:()=>{const e=ft("GET_DESTINATION_CATEGORIES",void 0);return{data:e.data,loading:e.loading}},usePotentialDestinations:()=>{const e=ft("GET_POTENTIAL_DESTINATIONS",void 0);return{data:e.data,loading:e.loading}},fetchAll:i,testConnection:async r=>{const{data:n}=await ut(a,e.TEST_DESTINATION_CONNECTION,{destination:Ft(r,o)},t);return n},create:async l=>{if(t.isReadonly)return s();const{error:c}=await ut(a,e.CREATE_DESTINATION,{destination:Ft(l,o)},t);c?r(E.Create,c):(n(E.Create,`Successfully created "${l.type}" destination`),await i())},update:async(l,c)=>{if(t.isReadonly)return s();const{data:d,error:u}=await ut(a,e.UPDATE_DESTINATION,{id:l,destination:Ft(c,o)},t);u?r(E.Update,u,l):d?.updateDestination&&(n(E.Update,`Successfully updated "${c.type}" destination`,l),await i())},remove:async l=>{if(t.isReadonly)return s();const{data:c}=await dt(a,e.GET_DESTINATIONS,void 0,t,"cache-first"),d=c?.computePlatform?.destinations??c?.destinations??Ut,u=d.find(e=>R(e)===l)?.destinationType?.type,{error:m}=await ut(a,e.DELETE_DESTINATION,{id:l,currentStreamName:o},t);m?r(E.Delete,m,l):(n(E.Delete,`Successfully deleted "${u??l}" destination`,l),await i())}}})(e,t),l=((e,t)=>{const r=ke(),{notifyError:n,notifySuccess:s,notifyReadonly:o}=nt(I.Action),i=async()=>{const{error:a}=await dt(r,e.GET_ACTIONS,void 0,t);a&&n(E.Read,a)};return{useActions:()=>{const e=ft("GET_ACTIONS",void 0,{fetchPolicy:"cache-first"});return{items:e.data?.computePlatform?.actions??e.data?.actions??Ct,loading:e.loading,refetch:i}},useActionTypes:()=>{const e=ft("GET_ACTION_TYPES",void 0,{fetchPolicy:"cache-first"});return{options:a(()=>v(e.data)||Gt,[e.data]),loading:e.loading}},fetchAll:i,create:async a=>{if(t.isReadonly)return o(),{error:u.READONLY_WARNING};if(!e.CREATE_ACTION)return{error:"Action creation is not supported"};const{error:l}=await ut(r,e.CREATE_ACTION,{action:a},t);return l?n(E.Create,l):(s(E.Create,`Successfully created "${a.type}" action`),await i()),l?{error:l}:void 0},update:async(a,l)=>{if(t.isReadonly)return o();if(!e.UPDATE_ACTION)return;const{error:c}=await ut(r,e.UPDATE_ACTION,{id:a,action:l},t);c?n(E.Update,c,a):(s(E.Update,`Successfully updated "${l.type}" action`,a),await i())},remove:async(a,l)=>{if(t.isReadonly)return o();if(!e.DELETE_ACTION)return;const{error:c}=await ut(r,e.DELETE_ACTION,{id:a,actionType:l},t);c?n(E.Delete,c,a):(s(E.Delete,`Successfully deleted "${l}" action`,a),await i())}}})(e,t),c=((e,t)=>{const r=ke(),{notifyError:n,notifySuccess:s,notifyReadonly:o}=nt(I.InstrumentationRule),i=async()=>{const{error:a}=await dt(r,e.GET_INSTRUMENTATION_RULES,void 0,t);a&&n(E.Read,a)};return{useRules:()=>{const e=ft("GET_INSTRUMENTATION_RULES",void 0,{fetchPolicy:"cache-first"});return{items:a(()=>(e.data?.computePlatform?.instrumentationRules??e.data?.instrumentationRules??[]).map(w),[e.data]),loading:e.loading,refetch:i}},useRuleTypes:()=>{const e=ft("GET_INSTRUMENTATION_RULE_TYPES",void 0,{fetchPolicy:"cache-first"});return{options:a(()=>L(e.data)||Mt,[e.data]),loading:e.loading}},fetchAll:i,create:async(a,l)=>{if(t.isReadonly)return o();if(!e.CREATE_INSTRUMENTATION_RULE)return;const{error:c}=await ut(r,e.CREATE_INSTRUMENTATION_RULE,{instrumentationRule:b(a)},t);c?n(E.Create,c):(s(E.Create,`Successfully created${l?` "${l}"`:""} rule`),await i())},update:async(a,l,c)=>{if(t.isReadonly)return o();if(!e.UPDATE_INSTRUMENTATION_RULE)return;const{error:d}=await ut(r,e.UPDATE_INSTRUMENTATION_RULE,{ruleId:a,instrumentationRule:b(l)},t);d?n(E.Update,d,a):(s(E.Update,`Successfully updated${c?` "${c}"`:""} rule`,a),await i())},remove:async(a,l)=>{if(t.isReadonly)return o();if(!e.DELETE_INSTRUMENTATION_RULE)return;const{error:c}=await ut(r,e.DELETE_INSTRUMENTATION_RULE,{ruleId:a},t);c?n(E.Delete,c,a):(s(E.Delete,`Successfully deleted${l?` "${l}"`:""} rule`,a),await i())}}})(e,t),m=((e,t)=>{const a=ke(),{addNotification:r}=d(),{setDataStreams:n}=f(),s=(e,t)=>r({type:S.Error,title:e,message:t}),o=async()=>{const{data:r,error:o}=await dt(a,e.GET_DATA_STREAMS,void 0,t);if(o)s(E.Read,o);else if(r){const e=r.computePlatform?.dataStreams??r.dataStreams??[];n(e)}},l=e.CREATE_DATA_STREAM?async n=>{if(t.isReadonly)return st(r);const{error:i}=await ut(a,e.CREATE_DATA_STREAM,{stream:n},t);i?s(E.Create,i):await o()}:void 0;return{useDataStreams:()=>{const e=ft("GET_DATA_STREAMS",void 0,{fetchPolicy:"cache-first"}),t=e.data?.computePlatform?.dataStreams??e.data?.dataStreams??Pt;return i(()=>{n(t)},[JSON.stringify(t.map(e=>e.name))]),{items:t,loading:e.loading,refetch:o}},fetchAll:o,create:l,update:async(n,i)=>{if(t.isReadonly)return st(r);const{error:l}=await ut(a,e.UPDATE_DATA_STREAM,{id:n,dataStream:i},t);l?s(E.Update,l):await o()},remove:async n=>{if(t.isReadonly)return st(r);const{error:i}=await ut(a,e.DELETE_DATA_STREAM,{id:n},t);i?s(E.Delete,i):await o()}}})(e,t),p=((e,t)=>{const a=ke(),{notifyError:r,notifyReadonly:n}=nt(I.Namespace),s=async()=>{const n=await dt(a,e.GET_NAMESPACES_WITH_WORKLOADS,void 0,t);return n.error&&r(E.Read,n.error),n};return{useNamespaces:e=>{const t=ft("GET_NAMESPACES_WITH_WORKLOADS",void 0,{fetchPolicy:"cache-and-network",skip:e?.skip});return{items:t.data?.namespaces??Lt,loading:t.loading,refetch:s}},fetchAll:s,persist:async s=>{if(t.isReadonly)return n();const{error:o}=await ut(a,e.PERSIST_NAMESPACES,s,t);return o&&r(E.Update,o),o?{error:o}:void 0}}})(e,t),A=((e,t)=>{const a=ke(),{notifyError:r}=nt(I.Source);return{fetch:async n=>{const s=await dt(a,e.GET_K8S_MANIFEST,n,t);return s.error&&r(E.Read,s.error),s}}})(e,t),P=((e,t)=>{const a=ke(),{notifyError:r,notifySuccess:n,notifyReadonly:s}=nt(I.Source);return{useEffectiveConfig:(e,t)=>ft("GET_EFFECTIVE_CONFIG",e,t),useConfigYamls:e=>ft("GET_CONFIG_YAMLS",void 0,e),getEffectiveConfig:async r=>e.GET_EFFECTIVE_CONFIG?dt(a,e.GET_EFFECTIVE_CONFIG,{id:r},t):{error:"GET_EFFECTIVE_CONFIG not configured"},applyConfigurations:e.UPDATE_REMOTE_CONFIG?async(n,o)=>{if(t.isReadonly)return s();if(!o.length)return{error:"No connections selected"};const i={formData:n,connectionIds:o},l=e.UPDATE_REMOTE_CONFIG;let c;return 1===o.length?({error:c}=await ut(a,l,i,t)):({error:c}=await mt(a,l,o,i,t)),c&&r(E.Update,c),c?{error:c}:void 0}:void 0,getConfigYamls:e.GET_CONFIG_YAMLS?async()=>dt(a,e.GET_CONFIG_YAMLS,void 0,t):void 0,updateLocalUiConfig:e.UPDATE_LOCAL_UI_CONFIG?async o=>{if(t.isReadonly)return s();const{error:i}=await ut(a,e.UPDATE_LOCAL_UI_CONFIG,{config:o},t);return i?r(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 s();const{error:o}=await ut(a,e.RESET_LOCAL_UI_CONFIG_TO_FACTORY_DEFAULTS,void 0,t);return o?r(E.Update,o):n(E.Update,"Local UI configuration reset to factory defaults"),o?{error:o}:void 0}:void 0}})(e,t),U=((e,t)=>{const a=ke(),{apolloConfig:r}=Je();return{fetchDescribeOdigos:e.GET_DESCRIBE_ODIGOS?async()=>dt(a,e.GET_DESCRIBE_ODIGOS,void 0,t):void 0,fetchDescribeSource:e.GET_DESCRIBE_SOURCE?async r=>dt(a,e.GET_DESCRIBE_SOURCE,r,t):void 0,downloadDiagnose:e.GET_DIAGNOSE?async(n,s)=>{const o=await dt(a,e.GET_DIAGNOSE,{input:n,dryRun:s?.dryRun??!1},t),i=o?.data?.stats?.fileCount??0;return!o.error&&i>0&&!s?.dryRun&&await(async e=>{const t=(e=>{try{return new URL("/diagnose/download",e).toString()}catch{return null}})(e.httpUrl);if(t)try{const[a,r]=await Promise.all([Promise.resolve(e.authHeader?.()??{}),Promise.resolve(e.csrfHeader?.()??{})]),n=await fetch(t,{credentials:e.credentials??"same-origin",headers:{...a,...r}});if(!n.ok)throw new Error(`Failed to download diagnose archive: ${n.status} ${n.statusText}`);((e,t)=>{if("undefined"==typeof document)return;const a=URL.createObjectURL(e),r=document.createElement("a");r.href=a,r.download=t,document.body.appendChild(r),r.click(),document.body.removeChild(r),URL.revokeObjectURL(a)})(await n.blob(),`odigos-diagnose-${Date.now()}.tar.gz`)}catch(e){}})(r),o}:void 0}})(e,t),F=((e,t)=>{const a=ke(),{notifyError:r,notifyReadonly:n}=nt(I.Source),s=async()=>{e.GET_TOKENS&&await dt(a,e.GET_TOKENS,void 0,t)};return{useTokens:()=>{const e=ft("GET_TOKENS",void 0,{fetchPolicy:"cache-first"});return{items:e.data??ht,loading:e.loading,refetch:s}},updateToken:e.UPDATE_TOKEN?async s=>{if(t.isReadonly)return n();const{error:o}=await ut(a,e.UPDATE_TOKEN,{token:s},t);return o&&r(E.Update,o),o?{error:o}:void 0}:void 0}})(e,t),k=((e,t)=>{const a=ke();return{useMetrics:e=>ft("GET_METRICS",void 0,e),fetch:async()=>dt(a,e.GET_METRICS,void 0,t)}})(e,t),M=((e,t)=>{const a=ke();return{useServiceMap:e=>ft("GET_SERVICE_MAP",void 0,e),fetch:e.GET_SERVICE_MAP?async()=>dt(a,e.GET_SERVICE_MAP,void 0,t):void 0}})(e,t),H=((e,t)=>{const a=ke();return{useSlots:e=>ft("GET_PROFILING_SLOTS",void 0,e),useSourceProfiling:(e,t)=>ft("GET_SOURCE_PROFILING",e,t),useHotFunctions:(e,t)=>ft("GET_PROFILE_HOT_FUNCTIONS",e,t),fetchSlots:e.GET_PROFILING_SLOTS?async()=>dt(a,e.GET_PROFILING_SLOTS,void 0,t):void 0,fetchSourceProfiling:e.GET_SOURCE_PROFILING?async r=>dt(a,e.GET_SOURCE_PROFILING,r,t):void 0,enableProfiling:e.ENABLE_SOURCE_PROFILING?async r=>ut(a,e.ENABLE_SOURCE_PROFILING,r,t):void 0,fetchHotFunctions:e.GET_PROFILE_HOT_FUNCTIONS?async r=>dt(a,e.GET_PROFILE_HOT_FUNCTIONS,r,t):void 0,clearProfileCache:e.CLEAR_PROFILE_CACHE?async()=>ut(a,e.CLEAR_PROFILE_CACHE,void 0,t):void 0}})(e,t),x=((e,t)=>{const a=ke();return{useGatewayInfo:e=>ft("GET_GATEWAY_INFO",void 0,e),useGatewayPods:e=>ft("GET_GATEWAY_PODS",void 0,e),useNodeCollectorInfo:e=>ft("GET_NODE_COLLECTOR_INFO",void 0,e),useNodeCollectorPods:e=>ft("GET_NODE_COLLECTOR_PODS",void 0,e),usePodInfo:(e,t)=>ft("GET_COLLECTOR_POD_INFO",e,t),getGatewayInfo:e.GET_GATEWAY_INFO?async()=>dt(a,e.GET_GATEWAY_INFO,void 0,t):void 0,getGatewayPods:e.GET_GATEWAY_PODS?async()=>dt(a,e.GET_GATEWAY_PODS,void 0,t):void 0,getNodeCollectorInfo:e.GET_NODE_COLLECTOR_INFO?async()=>dt(a,e.GET_NODE_COLLECTOR_INFO,void 0,t):void 0,getNodeCollectorPods:e.GET_NODE_COLLECTOR_PODS?async()=>dt(a,e.GET_NODE_COLLECTOR_PODS,void 0,t):void 0,getExtendedPodInfo:e.GET_COLLECTOR_POD_INFO?async(r,n)=>dt(a,e.GET_COLLECTOR_POD_INFO,{namespace:r,name:n},t):void 0}})(e,t),$=((e,t)=>{const a=ke(),{notifyError:r,notifySuccess:n,notifyReadonly:s}=nt(I.SamplingRule),o=async()=>{e.GET_SAMPLING_RULES&&await dt(a,e.GET_SAMPLING_RULES,void 0,t)},i=(e,i)=>e?async l=>{if(t.isReadonly)return s();const{error:c}=await ut(a,e,l,t);return c?r(i,c):(n(E.Create,"Successfully created sampling rule"),await o()),c?{error:c}:void 0}:void 0,l=(e,i)=>e?async(l,c)=>{if(t.isReadonly)return s();const{error:d}=await ut(a,e,{samplingId:c.samplingId,ruleId:l,rule:c.rule},t);return d?r(i,d):(n(E.Update,"Successfully updated sampling rule"),await o()),d?{error:d}:void 0}:void 0,c=e=>e?async(i,l)=>{if(t.isReadonly)return s();const{error:c}=await ut(a,e,{samplingId:l,ruleId:i},t);return c?r(E.Delete,c):(n(E.Delete,"Successfully deleted sampling rule"),await o()),c?{error:c}:void 0}:void 0;return{useSamplingRules:()=>{const e=ft("GET_SAMPLING_RULES",void 0,{fetchPolicy:"cache-first"});return{items:e.data?.computePlatform?.samplingRules??e.data?.samplingRules??Dt,k8sHealthProbesConfig:e.data?.computePlatform?.k8sHealthProbesConfig??e.data?.k8sHealthProbesConfig??null,loading:e.loading,refetch:o}},fetchAll:e.GET_SAMPLING_RULES?async()=>dt(a,e.GET_SAMPLING_RULES,void 0,t):void 0,createNoisy:i(e.CREATE_NOISY_OPERATION_RULE,E.Create),updateNoisy:l(e.UPDATE_NOISY_OPERATION_RULE,E.Update),deleteNoisy:c(e.DELETE_NOISY_OPERATION_RULE),createHighlyRelevant:i(e.CREATE_HIGHLY_RELEVANT_OPERATION_RULE,E.Create),updateHighlyRelevant:l(e.UPDATE_HIGHLY_RELEVANT_OPERATION_RULE,E.Update),deleteHighlyRelevant:c(e.DELETE_HIGHLY_RELEVANT_OPERATION_RULE),createCostReduction:i(e.CREATE_COST_REDUCTION_RULE,E.Create),updateCostReduction:l(e.UPDATE_COST_REDUCTION_RULE,E.Update),deleteCostReduction:c(e.DELETE_COST_REDUCTION_RULE),updateK8sHealthProbesConfig:e.UPDATE_LOCAL_UI_SAMPLING_CONFIG?async n=>{if(t.isReadonly)return s();const{error:i}=await ut(a,e.UPDATE_LOCAL_UI_SAMPLING_CONFIG,{config:{k8sHealthProbesSampling:n}},t);return i?r(E.Update,i):await o(),i?{error:i}:void 0}:void 0}})(e,t),K=((e,t)=>{const a=ke(),{notifyError:r,notifySuccess:n,notifyReadonly:s}=nt(I.Recommendation),o=async()=>{e.GET_RECOMMENDATIONS&&await dt(a,e.GET_RECOMMENDATIONS,void 0,t)};return{useRecommendations:()=>{const e=ft("GET_RECOMMENDATIONS",void 0,{fetchPolicy:"cache-first"});return{items:e.data?.computePlatform?.recommendations??e.data?.recommendations??kt,loading:e.loading,refetch:o}},fetchAll:e.GET_RECOMMENDATIONS?async()=>dt(a,e.GET_RECOMMENDATIONS,void 0,t):void 0,setDismissed:e.SET_RECOMMENDATION_DISMISSED?async(i,l)=>{if(t.isReadonly)return s(),{error:u.READONLY_WARNING};const{error:c}=await ut(a,e.SET_RECOMMENDATION_DISMISSED,{name:i,dismissed:l},t);return c?r(E.Update,c):(n(E.Update,l?G:D),await o()),c?{error:c}:void 0}:void 0,applyRemediation:e.APPLY_RECOMMENDATION_REMEDIATION?async(i,l)=>{if(t.isReadonly)return s(),{error:u.READONLY_WARNING};const{data:c,error:d}=await ut(a,e.APPLY_RECOMMENDATION_REMEDIATION,{recommendationType:i,remediationType:l},t),m=d||!c?.applyRecommendationRemediation;return m?r(E.Update,d||O):(n(E.Update,C),await o()),m?{error:d||O}:void 0}:void 0}})(e,t),V=((e,t)=>{const r=ke();return{useSnapshots:()=>{const e=t.proxyID,r=!!e,n=ft("GET_ALL_CLUSTER_SNAPSHOTS",void 0,{fetchPolicy:"cache-and-network",skip:r}),o=ft("GET_CLUSTER_SNAPSHOT",e?{clusterId:e}:void 0,{fetchPolicy:"cache-and-network",skip:!r}),i=a(()=>r?wt(o.data):n.data,[r,o.data,n.data]),l=r?o.loading:n.loading,c=s(async()=>{if(!r)return n.refetch();const{data:e}=await o.refetch();return{data:wt(e)}},[r,n.refetch,o.refetch]);return{data:i,loading:l,pending:l&&!i,unsupported:r?o.unsupported:n.unsupported,refetch:c}},getAllClusterSnapshots:e.GET_ALL_CLUSTER_SNAPSHOTS?async()=>dt(r,e.GET_ALL_CLUSTER_SNAPSHOTS,void 0,t):void 0,getClusterSnapshot:e.GET_CLUSTER_SNAPSHOT?async a=>dt(r,e.GET_CLUSTER_SNAPSHOT,{clusterId:a},t):void 0}})(e,t);return{sourcesApi:n,destinationsApi:o,actionsApi:l,instrumentationRulesApi:c,dataStreamsApi:m,namespacesApi:p,k8sManifestApi:A,configApi:P,describeApi:U,tokensApi:F,metricsApi:k,serviceMapApi:M,profilingApi:H,collectorsApi:x,samplingApi:$,recommendationsApi:K,snapshotsApi:V,insightsApi:bt(e,t),capabilities:a(()=>((e,t)=>{const a=t.platformType===T.K8s,r=a,n=a,s=t.platformType===T.Vm,o=!s,i=!(t.platformType===T.Connector);return{canBulkPersistSources:o&&!!e.PERSIST_SOURCES,canInstrumentNamespaces:n&&!!e.PERSIST_NAMESPACES,canFetchSnapshots:r&&!!e.GET_ALL_CLUSTER_SNAPSHOTS,canRecoverFromRollback:r&&!!e.RECOVER_FROM_ROLLBACK,canRestartWorkloads:r&&!!e.RESTART_WORKLOADS,canFetchPeerSources:!!e.GET_PEER_SOURCES,canFetchSourceLibraries:!!e.GET_SOURCE_LIBRARIES,canFetchInstrumentationInstructions:!!e.GET_INSTRUMENTATION_INSTRUCTIONS,canFetchK8sManifest:r&&!!e.GET_K8S_MANIFEST,canCreateDestination:!!e.CREATE_DESTINATION,canTestConnection:o&&!!e.TEST_DESTINATION_CONNECTION,canFetchDestinationCategories:!!e.GET_DESTINATION_CATEGORIES,canFetchPotentialDestinations:o&&!!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:o&&!!e.UPDATE_REMOTE_CONFIG,canFetchEffectiveConfig:!!e.GET_EFFECTIVE_CONFIG,canFetchConfigYamls:!!e.GET_CONFIG_YAMLS,canFetchProfiling:r&&!!e.GET_PROFILING_SLOTS||s&&(!!e.GET_SOURCE_PROFILING||!!e.GET_PROFILE_HOT_FUNCTIONS),canFetchCollectorInfo:r&&!!e.GET_GATEWAY_INFO,canManageSamplingRules:!!e.GET_SAMPLING_RULES,canManageInsightsPolicies:!!e.GET_INSIGHTS_POLICIES,canFetchInsights:!!e.GET_INSIGHTS_FINDINGS,canManageRecommendations:r&&!!e.GET_RECOMMENDATIONS}})(e,t),[e,t]),resetCache:s(async()=>{await r.cache.reset()},[r])}},xt={type:"",disabled:!1,name:"",notes:"",signals:[],fields:{}},$t=n(null),Kt=e=>e?.length?e.map(e=>!e.fromSources?.length&&e.from?{...e,fromSources:[e.from]}:e):e,Vt=(e,t)=>{const a=U(e??{}),r=a[k.ExtractAttribute];var n;r?.extractions?.length&&(r.extractions=r.extractions.map(e=>{const t=e;return{...t,method:t.method||(t.regex?.trim()?"regex":"preset")}})),a[k.LabelsAttributes]&&(a[k.LabelsAttributes]=Kt(a[k.LabelsAttributes])),a[k.AnnotationsAttributes]&&(a[k.AnnotationsAttributes]=Kt(a[k.AnnotationsAttributes])),a[k.UrlTemplatizationRulesGroups]&&(a[k.UrlTemplatizationRulesGroups]=(n=a[k.UrlTemplatizationRulesGroups],n?.length?n.map(e=>{const t=e.filterK8sWorkloadKind,a=e.filterK8sWorkloadName;return e.workloadFilters?.length||!t&&!a?e:{...e,workloadFilters:[{kind:t,name:a||void 0}]}}):n));const s=new Set((t?.fields||[]).filter(e=>e.componentType===M.SourceScopes).map(e=>e.name));return void 0!==a[k.Scopes]&&s.add(k.Scopes),s.forEach(e=>{const t=e;a[t]=Oe(a[t])}),a},Bt="All row fields are required",Yt="At least one row is required",Wt=(e,t)=>!!e&&t.every(t=>{const a=e[t];return Array.isArray(a)?a.length>0:!("string"==typeof(r=a)?!r.trim():x(r));var r}),jt=({children:t,sourceOptions:r=[],namespaceOptions:n=[]})=>{const[i,l]=o(null),c=P(xt),d=s(e=>{c.resetFormData(),c.handleErrorChange(void 0,void 0,{}),e?.type&&c.handleFormChange("type",e.type),l(e)},[]),m=s((e,t)=>{const a=t??(r=e.type,F.find(e=>e.type===r)??null);var r;c.resetFormData((({type:e,name:t,notes:a,disabled:r,signals:n,fields:s},o)=>({type:e,name:t||"",notes:a||"",disabled:!!r,signals:n??[],fields:Vt(s,o)}))(e,a)),c.handleErrorChange(void 0,void 0,{}),l(a)},[]),S=s(()=>{if(!i)return{errorMessage:"No action type selected",preparedFormData:U(xt)};const e=((e,t)=>{const a=U(e),r=a.fields||{},n=r[k.UrlTemplatizationRulesGroups];n?.length&&(r[k.UrlTemplatizationRulesGroups]=n.map(e=>({...e,templatizationRules:(e.templatizationRules||[]).filter(e=>!!e.template?.trim())})));const s=r[k.AttributeNamesToDelete];s?.length&&(r[k.AttributeNamesToDelete]=s.filter(e=>!!e?.trim()));const o=r[k.Renames];if(o){const e=Array.isArray(o)?o.map(e=>[e?.key??"",e?.value??""]):Object.entries(o);r[k.Renames]=Object.fromEntries(e.filter(([e,t])=>!!e?.trim()&&!!t?.trim()))}const i=new Set((t?.fields||[]).filter(e=>e.componentType===M.SourceScopes).map(e=>e.name));void 0!==r[k.Scopes]&&i.add(k.Scopes),i.forEach(e=>{const t=r[e];void 0!==t&&(r[e]=Re(t)?null:t)});const l=r[k.ExtractAttribute];return l?.extractions?.length&&(r[k.ExtractAttribute]={extractions:l.extractions.map(e=>{const t=e,a=t.method||(t.regex?.trim()?"regex":"preset"),r=t.targetAttributeName?.trim()||"";if("regex"===a)return{targetAttributeName:r,lookupKey:"",regex:t.regex?.trim()||""};const n={targetAttributeName:r,lookupKey:t.lookupKey?.trim()||"",regex:""};return t.dataFormat&&(n.dataFormat=t.dataFormat),n}).filter(e=>!!(e.targetAttributeName||e.lookupKey||e.dataFormat||e.regex))}),a.fields=r,a})(c.formData,i),t={};return x(e.signals)&&(t.signals=u.FIELD_IS_REQUIRED),i.type&&Object.assign(t,((e,t,a)=>{const r={},n=t.fields||{},s=a.fields||{};switch(e){case H.K8sAttributes:{const e=!(n[k.CollectContainerAttributes]||n[k.CollectReplicaSetAttributes]||n[k.CollectWorkloadId]||n[k.CollectClusterId]),t=!n[k.LabelsAttributes]?.length,a=!n[k.AnnotationsAttributes]?.length;e&&t&&a&&(r[k.CollectContainerAttributes]="Enable at least one option or add a label/annotation row");const s=n[k.LabelsAttributes];s?.some(e=>!Wt(e,["labelKey","attributeKey","fromSources"]))&&(r[k.LabelsAttributes]=Bt);const o=n[k.AnnotationsAttributes];o?.some(e=>!Wt(e,["annotationKey","attributeKey","fromSources"]))&&(r[k.AnnotationsAttributes]=Bt);break}case H.AddClusterInfo:{const e=n[k.ClusterAttributes];e?.length?e.some(e=>!Wt(e,["attributeName","attributeStringValue"]))&&(r[k.ClusterAttributes]=Bt):r[k.ClusterAttributes]=Yt;break}case H.DeleteAttributes:{const e=s[k.AttributeNamesToDelete]||[],t=n[k.AttributeNamesToDelete]||[];t.length?e.length>t.length&&(r[k.AttributeNamesToDelete]=Bt):r[k.AttributeNamesToDelete]=e.length?Bt:Yt;break}case H.RenameAttributes:{const e=Object.entries(s[k.Renames]||{}),t=Object.entries(n[k.Renames]||{}),a=e.some(([e,t])=>!e?.trim()||!t?.trim());t.length?a&&(r[k.Renames]=Bt):r[k.Renames]=e.length?Bt:Yt;break}case H.PiiMasking:{const e=n[k.PiiCategories];e?.length||(r[k.PiiCategories]="Select at least one attribute to mask");break}case H.URLTemplatization:{const e=n[k.UrlTemplatizationRulesGroups];(!e?.length||e.some(e=>!e.templatizationRules?.length))&&(r[k.UrlTemplatizationRulesGroups]="Each rule group needs at least one non-blank template");break}case H.ExtractAttribute:{const e=n[k.ExtractAttribute]?.extractions||[],t=s[k.ExtractAttribute]?.extractions||[];if(e.length)if(e.some(e=>{if(!e.targetAttributeName?.trim())return!0;const t=!!e.regex?.trim(),a=!!e.lookupKey?.trim();return a!==!!e.dataFormat||t===a}))r[k.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 a=e.targetAttributeName?.trim()||"";return!!t.has(a)||(t.add(a),!1)})&&(r[k.ExtractAttribute]="Each new span attribute name must be unique")}else r[k.ExtractAttribute]=t.length?Bt:Yt;break}}return r})(i.type,e,c.formData)),c.handleErrorChange(void 0,void 0,t),{errorMessage:Object.keys(t).length>0?"Invalid form values":void 0,preparedFormData:e}},[c,i]),p=a(()=>({selectedOption:i,onSelectOption:d,loadAction:m,genericForm:c,validateFormData:S,sourceOptions:r,namespaceOptions:n}),[i,d,m,c,S,r,n]);return e($t.Provider,{value:p,children:t})},qt=()=>{const e=r($t);if(!e)throw new Error("useActionFormContext must be used within an ActionFormContextProvider");return e},Qt={provider:"",permission:"",customCapabilities:{},authMethod:"",setupMethod:"",accountId:"",credentials:{},accessToken:"",secretId:"",name:""},zt=n(null),Jt=({children:t,providers:r=[]})=>{const n=P(Qt),o=s(()=>{const e=U(n.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}},[n]),i=a(()=>({providers:r,genericForm:n,validateFormData:o}),[r,n,o]);return e(zt.Provider,{value:i,children:t})},Xt=()=>{const e=r(zt);if(!e)throw new Error("useCloudConnectorFormContext must be used within a CloudConnectorFormContextProvider");return e},Zt={name:""},ea=n(null),ta=({children:t,defaultExcludeName:r=""})=>{const{dataStreams:n}=f(),[i,c]=o(void 0),[d,m]=o(r),[S,p]=o(void 0),[E,I]=o(null),T=l(null),y=P(Zt),_=s(e=>{y.resetFormData({name:e}),y.handleErrorChange(void 0,void 0,{}),c(void 0),m(e),p(e),I(null),T.current=null},[]),h=s(()=>{const e=U(y.formData),t=(e=>{const t={};return e.name?$(e.name)||(t.name=u.ILLEGAL_K8S_LABEL):t.name=u.FIELD_IS_REQUIRED,t})(e);y.handleErrorChange(void 0,void 0,t);const a=Object.keys(t).length>0?u.REQUIRED_FIELDS:void 0;return c(a),{errorMessage:a,preparedFormData:e}},[y]),g=s(async e=>{const{errorMessage:t,preparedFormData:a}=h();if(t)return;const r=n.find(e=>e.name===a.name&&e.name!==d);if(r)return T.current=e,void I({preparedFormData:a,existingName:r.name,editingName:S});await e(a)},[h,n,d,S]),N=s(async()=>{const e=T.current,t=E?.preparedFormData;T.current=null,I(null),e&&t&&await e(t)},[E]),v=s(()=>{T.current=null,I(null)},[]),A=a(()=>({genericForm:y,loadDataStream:_,editingName:S,validateFormData:h,requestSubmit:g,pendingMerge:E,confirmMerge:N,cancelMerge:v,errorMessage:i,excludeName:d,setExcludeName:m}),[y,_,S,h,g,E,N,v,i,d]);return e(ea.Provider,{value:A,children:t})},aa=()=>{const e=r(ea);if(!e)throw new Error("useDataStreamFormContext must be used within a DataStreamFormContextProvider");return e},ra={type:"",name:"",currentStreamName:"",disabled:!1,exportedSignals:{logs:!1,metrics:!1,traces:!1,profiles:!1},fields:[]},na={activeForm:null,onChangeActiveForm:()=>{},loadDestination:()=>{},genericForm:void 0,validateFormData:()=>({isOk:!1,preparedFormData:U(ra)}),unsavedDestinations:[],thisUnsavedDestination:void 0,setUnsavedDestinations:()=>{},addUnsavedDestination:()=>{},updateUnsavedDestination:()=>{},deleteUnsavedDestination:()=>{}},sa=n(na),oa=e=>e.filter(e=>!!e).map(e=>{const{name:t,componentType:a,componentProperties:r,displayName:n,initialValue:s,renderCondition:o}=e,i=a===M.Dropdown,l=Y(r,{});return{componentType:a,renderCondition:o,name:t,title:n,value:s,placeholder:l.placeholder||(i?"Select an option":void 0),options:i&&Array.isArray(l.values)?l.values.map(e=>({id:e,label:e})):void 0,...l}}),ia=({children:t})=>{const{selectedStreamName:r}=f(),{items:n}=Ht().destinationsApi.useDestinations(),[l,c]=o(null),[d,m]=o(na.unsavedDestinations),S=a(()=>"number"==typeof l?.unsavedIdx?d[l.unsavedIdx]:void 0,[l,d]),p=s((e,t)=>{l&&(m(t=>[...t,{...e,option:l.option}]),c(t?e=>e?{...e,listType:K.UNSAVED,unsavedIdx:d.length}:null:null))},[l,d.length]),E=s((e,t,a)=>{l&&(m(a=>a.map((a,r)=>r===e?{...a,...t,option:l.option}:a)),c(a?e=>e?{...e,listType:K.UNSAVED}:null:null))},[l]),I=s(e=>{m(t=>t.filter((t,a)=>a!==e)),c(null)},[]),T=P({...ra,currentStreamName:r});i(()=>{if(!l)return;if(S)return void T.resetFormData({...S.formData});if(l.listType===K.EXISTS&&l.option.id){const e=n.find(e=>e.id===l.option.id);if(e)return void T.resetFormData({type:e.destinationType.type,name:e.name||e.destinationType.displayName,currentStreamName:r,disabled:!!e.disabled,exportedSignals:{logs:!!e.exportedSignals?.logs,metrics:!!e.exportedSignals?.metrics,traces:!!e.exportedSignals?.traces,profiles:!!e.exportedSignals?.profiles},fields:l.dynamicFields.map(e=>({key:e.name,value:e.value}))})}const e=V(l.option.supportedSignals);T.resetFormData({type:l.option.type,name:l.option.displayName,currentStreamName:r,disabled:!1,exportedSignals:{logs:e.includes(B.Logs),metrics:e.includes(B.Metrics),traces:e.includes(B.Traces),profiles:e.includes(B.Profiles)},fields:l.dynamicFields.map(e=>({key:e.name,value:e.value}))})},[l,S]);const y=s(e=>{T.resetFormData(),T.handleErrorChange(void 0,void 0,{}),c(e?{...e,dynamicFields:e.option?.fields?oa(e.option.fields):[]}:null)},[]),_=s((e,t)=>{let a;for(const r of t){const t=r.items.find(t=>t.type===e.destinationType.type);if(t){a=t;break}}const r=Y(e.fields,{}),n={id:e.id,type:e.destinationType.type,displayName:e.name||e.destinationType.displayName,selected:!0,testConnectionSupported:a?.testConnectionSupported??!1,supportedSignals:e.destinationType.supportedSignals,fields:a?a.fields.map(e=>({...e,initialValue:r[e.name]??e.initialValue})):[]},s=oa(n.fields);c({listType:K.EXISTS,option:n,dynamicFields:s})},[]),h=s(()=>{const e=U(T.formData),t={};return l?.dynamicFields.forEach(({name:a,required:r})=>{if(r){const r=e.fields.find(e=>e.key===a)?.value;x(r)&&(t[a]=u.FIELD_IS_REQUIRED)}}),W(e.exportedSignals).length||(t.exportedSignals=u.FIELD_IS_REQUIRED),T.handleErrorChange(void 0,void 0,t),{errorMessage:0===Object.keys(t).length?void 0:"Invalid form values",preparedFormData:e}},[T,l]);return e(sa.Provider,{value:{activeForm:l,onChangeActiveForm:y,loadDestination:_,genericForm:T,validateFormData:h,unsavedDestinations:d,thisUnsavedDestination:S,setUnsavedDestinations:m,addUnsavedDestination:p,updateUnsavedDestination:E,deleteUnsavedDestination:I},children:t})},la=()=>r(sa),ca=(e,t)=>{switch(e){case"http.response.status_code":case"http.status_code":default:return t;case"rpc.grpc.status_code":return`gRPC ${t}`}},da=({operationName:e,identityDimensions:t})=>{const a=e||"",r=t??[];return r.length?`${a} · ${r.map(e=>ca(e.key,e.value)).join(" · ")}`:a},ua=e=>{const t=e.indexOf("\t"),a=t>=0?e.slice(0,t):"",r=t>=0?e.slice(t+1):e,{operationName:n,identityDimensions:s}=ma(r),o=da({operationName:n,identityDimensions:s});return a?`${a} ${o}`:o},ma=e=>{const t=e.indexOf(" [");if(t<0)return{operationName:e,identityDimensions:[]};const a=e.slice(0,t),r=[];let n=e.slice(t+1);for(;n.startsWith("[");){const e=n.indexOf("="),t=n.indexOf("]");if(e<0||t<0||e>t)break;r.push({key:n.slice(1,e),value:n.slice(e+1,t)}),n=n.slice(t+1)}return{operationName:a,identityDimensions:r}},Sa=e=>{const t=`${e.namespace}/${e.service}`,a=da(e);return a?`${t} · ${a}`:t},pa=({operationName:a,identityDimensions:r,tagVariant:n=Q.Blue,fallback:s="-"})=>{const o=r??[];return t(j,{$gap:6,$alignItems:"center",children:[e(q,{label:a||s,variant:n}),o.map(t=>e(z,{text:t.key,children:e(q,{label:ca(t.key,t.value)})},`${t.key}=${t.value}`))]})};var Ea,Ia;(e=>{e.Global="global",e.Service="service",e.Transaction="transaction"})(Ea||(Ea={})),(e=>{e.Low="low",e.Medium="medium",e.High="high",e.Critical="critical"})(Ia||(Ia={}));const Ta=e=>e.scope===Ea.Global,fa=n(null),ya=(e,t)=>`${e}/${t}`,_a={scopeType:Ea.Service,selectedKey:""},ha=({children:t,services:r,transactions:n,existingScopeKeys:l,onSubmit:c})=>{const d=P(_a),[u,m]=o(!1),{scopeType:S,selectedKey:p}=d.formData,E=a(()=>{const e=new Set,t=[];for(const a of r){if(!a.namespace||!a.service)continue;const r=ya(a.namespace,a.service);e.has(r)||(e.add(r),t.push({id:r,label:r}))}return t.sort((e,t)=>e.label.localeCompare(t.label))},[r]),I=a(()=>n.filter(e=>!!e.id).map(e=>({id:e.id,label:Sa(e)})).sort((e,t)=>e.label.localeCompare(t.label)),[n]),T=S===Ea.Service?E:I;i(()=>{const e=T.find(e=>!l.includes(e.id))?.id||T[0]?.id||"";p&&T.some(e=>e.id===p)||d.handleFormChange("selectedKey",e)},[T,l,p,d]);const f=!!p&&!u,y=s(async()=>{if(!f)return;const e=T.find(e=>e.id===p);m(!0);try{await c({scope:S,scopeKey:p,name:e?.label||p})}finally{m(!1)}},[f,T,p,S,c]),_=a(()=>({services:r,transactions:n,existingScopeKeys:l,genericForm:d,serviceOptions:E,transactionOptions:I,options:T,canCreate:f,submitting:u,handleSubmit:y}),[r,n,l,d,E,I,T,f,u,y]);return e(fa.Provider,{value:_,children:t})},ga=()=>{const e=r(fa);if(!e)throw new Error("useDetectionOverrideFormContext must be used within a DetectionOverrideFormContextProvider");return e},Na=[{id:Ia.Low,label:J},{id:Ia.Medium,label:X},{id:Ia.High,label:Z},{id:Ia.Critical,label:ee}],va={[Ia.Low]:20,[Ia.Medium]:40,[Ia.High]:60,[Ia.Critical]:75},Aa=n(null),Ra=({children:t,policy:r,onSave:n,onDelete:l})=>{const c=P(r),[d,u]=o(!1),[m,S]=o(!1);i(()=>{c.resetFormData(r)},[r]);const p=c.isFormDirty,E=d||m,I=p&&!E,T=p&&!E,f=s(e=>{const t=e[0]||Ia.Medium,a=c.formData;c.handleFormChange(void 0,void 0,{...a,riskLevel:t,fireAtScore:va[t],summary:Ta(a)?a.summary:te(va[t],a.signalWeightOverrideCount)})},[c]),y=s(e=>{const t=c.formData;c.handleFormChange(void 0,void 0,{...t,signalWeights:e.signalWeights,enricherLists:e.enricherLists,signalWeightOverrideCount:e.overrideCount,summary:Ta(t)?t.summary:te(t.fireAtScore,e.overrideCount)})},[c]),_=s(async()=>{if(I){u(!0);try{await n(c.formData)}finally{u(!1)}}},[c.formData,I,n]),h=s(()=>{c.resetFormData(r)},[c,r]),g=s(async()=>{if(l){S(!0);try{await l()}finally{S(!1)}}},[l]),N=a(()=>({policy:r,genericForm:c,isDirty:p,canUpdate:I,canDiscard:T,isSaving:d,isDeleting:m,handleSave:_,handleDiscard:h,handleDelete:g,handleRiskLevelChange:f,handleSignalWeightsChange:y}),[r,c,p,I,T,d,m,_,h,g,f,y]);return e(Aa.Provider,{value:N,children:t})},Oa=()=>{const e=r(Aa);if(!e)throw new Error("useDetectionPolicyFormContext must be used within a DetectionPolicyFormContextProvider");return e},Ca=e=>({id:e.scopeKey,scopeKey:e.scopeKey,rules:e.rules.map(e=>({key:e.key,label:e.label,allowlistCount:e.allowlist?.length??0,isAuto:e.origin===ie})),mode:ba(e)}),Ga=e=>{const t=e.indexOf("/");return t<0?{namespace:"",service:e}:{namespace:e.slice(0,t),service:e.slice(t+1)}},Da=(e,t)=>e.rules.find(e=>e.key===t)?.allowlist?.filter(Boolean)??[],ba=e=>e.rules[0]?.mode||ae.Suggest,La=(...e)=>{const t=new Set,a=[];for(const r of e)for(const e of r??[])e&&!t.has(e)&&(t.add(e),a.push(e));return a},wa=[""],Pa={mode:ae.Enforce,callers:[],callees:[],egress:[],transactions:[],extraCallers:wa,extraCallees:wa,extraEgress:wa},Ua=e=>({mode:ba(e),callers:Da(e,re),callees:Da(e,ne),egress:Da(e,se),transactions:Da(e,oe),extraCallers:wa,extraCallees:wa,extraEgress:wa}),Fa=e=>({mode:ae.Enforce,callers:e?.callers??[],callees:e?.callees??[],egress:e?.egress??[],transactions:e?.transactions??[],extraCallers:wa,extraCallees:wa,extraEgress:wa}),ka=e=>e.map(e=>e.trim()).filter(Boolean),Ma=n(null),Ha=(e,t,a)=>a?Array.from(new Set([...e,t])):e.filter(e=>e!==t),xa=({children:t,profile:r,profileLoading:n=!1,serviceNames:l=[],guardrail:c=null,namespace:d="",service:u="",onSubmit:m,onDelete:S})=>{const p=!!c,E=P(Pa),[I,T]=o(!1);i(()=>{c?E.resetFormData(Ua(c)):E.resetFormData(Fa(r))},[c,r]);const f=a(()=>c?Ga(c.scopeKey):null,[c]),y=p?f?.namespace||"":d,_=p?f?.service||"":u,{mode:h,callers:g,callees:N,egress:v,transactions:A,extraCallers:R,extraCallees:O,extraEgress:C}=E.formData,G=a(()=>l.filter(e=>e&&e!==_).sort((e,t)=>e.localeCompare(t)),[l,_]),D=a(()=>La(G,c?Da(c,re):void 0,r?.callers),[G,c,r?.callers]),b=a(()=>La(G,c?Da(c,ne):void 0,r?.callees),[G,c,r?.callees]),L=a(()=>c?La(Da(c,se),r?.egress):r?.egress??[],[c,r?.egress]),w=a(()=>c?La(Da(c,oe),r?.transactions):r?.transactions??[],[c,r?.transactions]),U=a(()=>ka(R),[R]),F=a(()=>ka(O),[O]),k=a(()=>ka(C),[C]),M=a(()=>c?{callers:D.length>0||U.length>0||c.rules.some(e=>e.key===re),callees:b.length>0||F.length>0||c.rules.some(e=>e.key===ne),egress:L.length>0||k.length>0||c.rules.some(e=>e.key===se),transactions:w.length>0||c.rules.some(e=>e.key===oe)}:{callers:D.length>0||U.length>0,callees:b.length>0||F.length>0,egress:L.length>0||k.length>0,transactions:(r?.transactions?.length??0)>0},[c,r,D,b,L,w,U,F,k]),H=E.isFormDirty,x=!!y&&!!_,$=!p&&x&&!I,K=p&&!I&&H,V=p&&H&&!I,B=p&&!!S,Y=s(()=>{p&&E.resetFormData(c?Ua(c):Fa(r))},[p,c,r,E]),W=s(e=>E.handleFormChange("mode",e),[E]),j=s(e=>E.handleFormChange("extraCallers",e),[E]),q=s(e=>E.handleFormChange("extraCallees",e),[E]),Q=s(e=>E.handleFormChange("extraEgress",e),[E]),z=s((e,t)=>E.handleFormChange("callers",Ha(E.formData.callers,e,t)),[E]),J=s((e,t)=>E.handleFormChange("callees",Ha(E.formData.callees,e,t)),[E]),X=s((e,t)=>E.handleFormChange("egress",Ha(E.formData.egress,e,t)),[E]),Z=s((e,t)=>E.handleFormChange("transactions",Ha(E.formData.transactions,e,t)),[E]),ee=s(e=>E.handleFormChange("callers",e?[...D]:[]),[E,D]),te=s(e=>E.handleFormChange("callees",e?[...b]:[]),[E,b]),ae=s(e=>E.handleFormChange("egress",e?[...L]:[]),[E,L]),ie=s(e=>E.handleFormChange("transactions",e?[...w]:[]),[E,w]),ce=s(()=>x?(e=>{const t=e.governed??{},a=e.origins??{},r=[{key:re,label:"Allowed callers",allowlist:e.callers,keep:e.callers.length>0||!!t.callers},{key:ne,label:"Allowed callees",allowlist:e.callees,keep:e.callees.length>0||!!t.callees},{key:se,label:"Allowed egress",allowlist:e.egress,keep:e.egress.length>0||!!t.egress},{key:oe,label:"Allowed transactions",allowlist:e.transactions,keep:e.transactions.length>0||!!t.transactions}].filter(e=>e.keep).map(t=>({key:t.key,label:t.label,allowlist:t.allowlist,mode:e.mode,origin:a[t.key]||void 0}));return{scope:e.scope,scopeKey:e.scopeKey,rules:r}})({scope:p&&c?c.scope:le.Service,scopeKey:p&&c?c.scopeKey:`${y}/${_}`,mode:h,callers:La(g,U),callees:La(N,F),egress:La(v,k),transactions:A,governed:M,origins:c?Object.fromEntries(c.rules.map(e=>[e.key,e.origin])):void 0}):null,[x,p,c,y,_,h,g,N,v,A,U,F,k,M]),de=s(async()=>{if(!(p?K:$))return;const e=ce();if(e){T(!0);try{await m(e)}finally{T(!1)}}},[p,K,$,ce,m]),ue=s(async()=>{if(S&&c&&!I){T(!0);try{await S(c.scopeKey)}finally{T(!1)}}},[S,c,I]),me=a(()=>({profile:r,profileLoading:n,guardrail:c,isEdit:p,namespace:y,service:_,genericForm:E,isDirty:H,isSubmitting:I,canCreate:$,canUpdate:K,canDiscard:V,canDelete:B,handleDiscard:Y,handleSubmit:de,handleDelete:ue,setMode:W,callerItems:D,calleeItems:b,egressItems:L,transactionItems:w,setExtraCallers:j,setExtraCallees:q,setExtraEgress:Q,toggleCaller:z,toggleCallee:J,toggleEgress:X,toggleTransaction:Z,toggleAllCallers:ee,toggleAllCallees:te,toggleAllEgress:ae,toggleAllTransactions:ie}),[r,n,c,p,y,_,E,H,I,$,K,V,B,Y,de,ue,W,D,b,L,w,j,q,Q,z,J,X,Z,ee,te,ae,ie]);return e(Ma.Provider,{value:me,children:t})},$a=()=>{const e=r(Ma);if(!e)throw new Error("useGuardrailFormContext must be used within a GuardrailFormContextProvider");return e};var Ka;(e=>{e.Minutes="minutes",e.Hours="hours",e.Days="days"})(Ka||(Ka={}));const Va=e=>e.scope===le.Global,Ba=[ce.D1_call_edges,ce.D2_egress,ce.D3_latency,ce.D5_libraries,ce.D7_db_access,ce.D8_payload_size],Ya=n(null),Wa=(e,t)=>`${e}/${t}`,ja=({children:t,services:r,transactions:n,existingOverrides:l,initialClass:c,onSubmit:d})=>{const u=P((e=>({deviationClass:e||Ba[0],scopeType:le.Service,selectedKey:""}))(c)),[m,S]=o(!1),{deviationClass:p,scopeType:E,selectedKey:I}=u.formData;i(()=>{c&&u.handleFormChange("deviationClass",c)},[c,u]);const T=a(()=>l.filter(e=>e.class===p).map(e=>e.scopeKey),[l,p]),f=a(()=>{const e=new Set,t=[];for(const a of r){if(!a.namespace||!a.service)continue;const r=Wa(a.namespace,a.service);e.has(r)||(e.add(r),t.push({id:r,label:r}))}return t.sort((e,t)=>e.label.localeCompare(t.label))},[r]),y=a(()=>n.filter(e=>!!e.id).map(e=>({id:String(e.id),label:Sa(e)})).sort((e,t)=>e.label.localeCompare(t.label)),[n]),_=E===le.Service?f:y;i(()=>{const e=_.find(e=>!T.includes(e.id))?.id||_[0]?.id||"";I&&_.some(e=>e.id===I)||u.handleFormChange("selectedKey",e)},[_,T,I,u]);const h=!!p&&!!I&&!m,g=s(async()=>{if(!h)return;const e=_.find(e=>e.id===I);S(!0);try{await d({class:p,scope:E,scopeKey:I,name:e?.label||I})}finally{S(!1)}},[h,_,I,p,E,d]),N=a(()=>({services:r,transactions:n,existingOverrides:l,genericForm:u,options:_,canCreate:h,submitting:m,handleSubmit:g}),[r,n,l,u,_,h,m,g]);return e(Ya.Provider,{value:N,children:t})},qa=()=>{const e=r(Ya);if(!e)throw new Error("useLearningOverrideFormContext must be used within a LearningOverrideFormContextProvider");return e};let Qa=0;const za=()=>"cond-"+ ++Qa,Ja=(e,t,a)=>`${e}:${t||"global"}:${a}`,Xa=(e,t)=>{switch(t){case Ka.Days:return Math.max(0,Math.round(24*e*60));case Ka.Hours:return Math.max(0,Math.round(60*e));case Ka.Minutes:default:return Math.max(0,Math.round(e))}},Za=e=>e<=0?{value:0,unit:Ka.Minutes}:e%1440==0?{value:e/1440,unit:Ka.Days}:e%60==0?{value:e/60,unit:Ka.Hours}:{value:e,unit:Ka.Minutes},er=e=>{const{value:t,unit:a}=Za(e);return a===Ka.Days?7===t?"1w":`${t}d`:a===Ka.Hours?`${t}h`:`${t}m`},tr=e=>{const{value:t,unit:a}=Za(e);return a===Ka.Days?1===t?"1 day":`${t} days`:a===Ka.Hours?1===t?"1 hour":`${t} hours`:1===t?"1 minute":`${t} minutes`},ar=e=>{switch(e.type){case ue.StableObservations:return`Unchanged for ${e.value} observations`;case ue.StableDuration:return`unchanged for ${er(Xa(e.value,e.durationUnit))}`;case ue.MinObservations:return`Min ${e.value} observations`;case ue.MinDuration:return`min ${er(Xa(e.value,e.durationUnit))}`;default:return""}},rr=e=>{switch(e.type){case ue.StableObservations:return`unchanged for ${e.value} observations`;case ue.StableDuration:return`unchanged for ${tr(Xa(e.value,e.durationUnit))}`;case ue.MinObservations:return`at least ${e.value} observations`;case ue.MinDuration:return`at least ${tr(Xa(e.value,e.durationUnit))}`;default:return""}},nr=(e,t,a)=>t.length?((e,t,a)=>{if(!e.length)return"";const r=e.map((e,t)=>0===t?e.charAt(0).toUpperCase()+e.slice(1):0===t?e:e.charAt(0).toLowerCase()+e.slice(1));if(1===r.length)return r[0];const n=t===Se.All?" AND ":t===Se.KOf?` (${de} ${a??1}) `:" OR ";return r.join(n)})(t.map(ar),e,a):"Falls back to count-only default",sr=e=>{const{value:t,durationUnit:a}=(e=>{switch(e.type){case ue.StableObservations:return{value:e.stableObservations??0,durationUnit:Ka.Hours};case ue.MinObservations:return{value:e.minObservations??0,durationUnit:Ka.Hours};case ue.StableDuration:{const t=e.stableMinutes??0,a=Za(t);return{value:a.value,durationUnit:a.unit}}case ue.MinDuration:{const t=e.minDurationMinutes??0,a=Za(t);return{value:a.value,durationUnit:a.unit}}default:return{value:0,durationUnit:Ka.Hours}}})(e);return{key:za(),type:e.type,value:t,durationUnit:a}},or=e=>{const t=Xa(e.value,e.durationUnit);switch(e.type){case ue.StableObservations:return{type:e.type,minObservations:null,minDurationMinutes:null,stableObservations:e.value,stableMinutes:null};case ue.MinObservations:return{type:e.type,minObservations:e.value,minDurationMinutes:null,stableObservations:null,stableMinutes:null};case ue.StableDuration:return{type:e.type,minObservations:null,minDurationMinutes:null,stableObservations:null,stableMinutes:t};case ue.MinDuration:return{type:e.type,minObservations:null,minDurationMinutes:t,stableObservations:null,stableMinutes:null};default:return{type:e.type}}},ir=(e=ue.StableObservations)=>({key:za(),type:e,value:me(e)?1:100,durationUnit:Ka.Hours}),lr=e=>{const t=(e.conditions??[]).map(sr),a=e.mode,r=e.minMatches??null,n=e.scope,s=pe[e.class],o=n===le.Global?s:`${s} · ${e.scopeKey}`;return{id:Ja(n,e.scopeKey,e.class),name:o,class:e.class,mode:a,conditions:t,minMatches:r,scope:n,scopeKey:e.scopeKey,summary:nr(a,t,r)}},cr=(e,t)=>{if(!t.length)return e;const a=new Map(t.map(e=>[String(e.id),e]));return e.map(e=>{if(e.scope!==le.Transaction)return e;const t=a.get(e.scopeKey);return t?{...e,name:`${pe[e.class]} · ${Sa(t)}`}:e})},dr=e=>({class:e.class,mode:e.mode,conditions:e.conditions.map(or),minMatches:e.mode===Se.KOf?e.minMatches??1:null,scope:e.scope,scopeKey:e.scopeKey}),ur=({scope:e,scopeKey:t,source:a,displayName:r})=>{const n=a.conditions.map(e=>({...e,key:za()})),s=r||t;return{id:Ja(e,t,a.class),name:`${pe[a.class]} · ${s}`,class:a.class,mode:a.mode,conditions:n,minMatches:a.minMatches,scope:e,scopeKey:t,summary:nr(a.mode,n,a.minMatches)}},mr=e=>{const t=[ir()],a=Se.Any;return{id:Ja(le.Global,"",e),name:pe[e],class:e,mode:a,conditions:t,minMatches:null,scope:le.Global,scopeKey:"",summary:nr(a,t,null)}},Sr=e=>({...e,summary:nr(e.mode,e.conditions,e.minMatches)}),pr=n(null),Er=({children:t,policy:r,onSave:n,onDelete:l})=>{const c=P(r),[d,u]=o(!1),[m,S]=o(!1),p=c.formData,E=!Va(p);i(()=>{c.resetFormData(r)},[r]);const I=c.isFormDirty,T=d||m,f=I&&!T,y=I&&!T,_=a(()=>((e,t,a)=>{if(!t.length)return{parts:["Falls back to the count-only default"],joiner:null};const r=t.map(rr).map((e,t)=>0===t?e:e.charAt(0).toLowerCase()+e.slice(1));return 1===r.length?{parts:r,joiner:null}:{parts:r,joiner:e===Se.All?"AND":e===Se.KOf?`${de} ${a??1}`:"OR"}})(p.mode,p.conditions,p.minMatches),[p.mode,p.conditions,p.minMatches]),h=a(()=>nr(p.mode,p.conditions,p.minMatches),[p.mode,p.conditions,p.minMatches]),g=s(e=>{c.handleFormChange(void 0,void 0,Sr({...c.formData,conditions:e(c.formData.conditions)}))},[c]),N=s(e=>{const t=e[0]||Se.Any,a=c.formData;c.handleFormChange(void 0,void 0,Sr({...a,mode:t,minMatches:t===Se.KOf?a.minMatches??1:null}))},[c]),v=s((e,t)=>{g(a=>a.map(a=>a.key===e?((e,t)=>{const a=me(e.type),r=me(t);return a===r?{...e,type:t}:{...e,type:t,value:r?1:100,durationUnit:e.durationUnit||Ka.Hours}})(a,t):a))},[g]),A=s((e,t)=>{const a=Number(t);g(t=>t.map(t=>t.key===e?{...t,value:Number.isFinite(a)?a:0}:t))},[g]),R=s((e,t)=>{g(a=>a.map(a=>a.key===e?{...a,durationUnit:t}:a))},[g]),O=s(e=>{g(t=>t.filter(t=>t.key!==e))},[g]),C=s(()=>{g(e=>[...e,ir()])},[g]),G=s(e=>{c.handleFormChange(void 0,void 0,Sr({...c.formData,minMatches:Math.max(1,e||1)}))},[c]),D=s(async()=>{if(f){u(!0);try{await n(Sr(c.formData))}finally{u(!1)}}},[c.formData,f,n]),b=s(()=>{c.resetFormData(r)},[c,r]),L=s(async()=>{if(l){S(!0);try{await l()}finally{S(!1)}}},[l]),w=a(()=>({policy:r,genericForm:c,isDirty:I,canUpdate:f,canDiscard:y,isOverride:E,isSaving:d,isDeleting:m,promotesWhen:_,currently:h,handleModeChange:N,handleConditionTypeChange:v,handleConditionValueChange:A,handleDurationUnitChange:R,handleRemoveCondition:O,handleAddCondition:C,handleMinMatchesChange:G,handleSave:D,handleDiscard:b,handleDelete:L}),[r,c,I,f,y,E,d,m,_,h,N,v,A,R,O,C,G,D,b,L]);return e(pr.Provider,{value:w,children:t})},Ir=()=>{const e=r(pr);if(!e)throw new Error("useLearningPolicyFormContext must be used within a LearningPolicyFormContextProvider");return e},Tr={examplesPerTransaction:0,exampleSampleIntervalSeconds:0,observationRetentionDays:0,maxResidentTransactions:0,maxBaselineSetMembers:0,flushIntervalSeconds:0,autoTransactionGuardrail:!0,identityDimensions:[...Ee]},fr=e=>e.map(e=>({key:e.key.trim(),enabled:e.enabled})).filter(e=>e.key.length>0),yr=e=>({examplesPerTransaction:e.sampling.examplesPerTransaction,exampleSampleIntervalSeconds:e.sampling.exampleSampleIntervalSeconds,observationRetentionDays:e.retention.observationRetentionDays,maxResidentTransactions:e.capacity.maxResidentTransactions,maxBaselineSetMembers:e.capacity.maxBaselineSetMembers,flushIntervalSeconds:e.writeback.flushIntervalSeconds,autoTransactionGuardrail:e.detection?.autoTransactionGuardrail??!0,identityDimensions:e.identity?.transactionIdentityDimensions?.length?e.identity.transactionIdentityDimensions.map(e=>({key:e.key,enabled:e.enabled})):[...Ee]}),_r=n(null),hr=({children:t,settings:r,onSave:n})=>{const l=P(Tr),[c,d]=o(!1),[u,m]=o(!1),S=a(()=>r?JSON.stringify(yr(r)):"",[r]);i(()=>{r&&S&&l.resetFormData(yr(r))},[S]);const p=l.formData,E=!!r&&l.isFormDirty,I=E&&(e=>{const t=e.identityDimensions.filter(e=>e.enabled&&e.key.trim()).length,a=e.identityDimensions.map(e=>e.key.trim()).filter(Boolean),r=new Set(a);return[e.examplesPerTransaction,e.exampleSampleIntervalSeconds,e.observationRetentionDays,e.maxResidentTransactions,e.maxBaselineSetMembers,e.flushIntervalSeconds].every(e=>Number.isFinite(e)&&e>0)&&t<=Ie&&r.size===a.length})(p)&&!c,T=E&&!c,f=p.identityDimensions.filter(e=>e.enabled&&e.key.trim()).length,y=s(async e=>{if(r){d(!0);try{await n(((e,t)=>({sampling:{examplesPerTransaction:e.examplesPerTransaction,exampleSampleIntervalSeconds:e.exampleSampleIntervalSeconds},retention:{observationRetentionDays:e.observationRetentionDays},capacity:{maxResidentTransactions:e.maxResidentTransactions,maxBaselineSetMembers:e.maxBaselineSetMembers},writeback:{flushIntervalSeconds:e.flushIntervalSeconds},detection:{autoTransactionGuardrail:e.autoTransactionGuardrail},identity:{transactionIdentityDimensions:fr(e.identityDimensions)},resetTransactions:t||void 0}))(p,e))}finally{d(!1),m(!1)}}},[r,p,n]),_=s(async()=>{r&&I&&(((e,t)=>{const a=yr(t);return r=fr(e.identityDimensions),n=fr(a.identityDimensions),!(r.length===n.length&&r.every((e,t)=>e.key===n[t].key&&e.enabled===n[t].enabled));var r,n})(p,r)?m(!0):await y(!1))},[r,I,p,y]),h=s(()=>{r&&T&&l.resetFormData(yr(r))},[r,T,l]),g=s((e,t)=>{l.handleFormChange(void 0,void 0,{...l.formData,identityDimensions:l.formData.identityDimensions.map((a,r)=>r===e?{...a,...t}:a)})},[l]),N=s(e=>{l.handleFormChange(void 0,void 0,{...l.formData,identityDimensions:l.formData.identityDimensions.filter((t,a)=>a!==e)})},[l]),v=s(()=>{const e=l.formData.identityDimensions.filter(e=>e.enabled&&e.key.trim()).length;l.handleFormChange(void 0,void 0,{...l.formData,identityDimensions:[...l.formData.identityDimensions,{key:"",enabled:e<Ie}]})},[l]),A=a(()=>({settings:r,genericForm:l,isDirty:E,canUpdate:I,canDiscard:T,isSaving:c,enabledDimCount:f,identityConfirmOpen:u,setIdentityConfirmOpen:m,handleSave:_,handleDiscard:h,persist:y,updateDim:g,removeDim:N,addDim:v}),[r,l,E,I,T,c,f,u,_,h,y,g,N,v]);return e(_r.Provider,{value:A,children:t})},gr=()=>{const e=r(_r);if(!e)throw new Error("useSystemSettingsFormContext must be used within a SystemSettingsFormContextProvider");return e},Nr={disabled:!1,ruleName:"",notes:"",sourceScopes:Ce(),workloads:null,instrumentationLibraries:null,payloadCollection:null,codeAttributes:null,headersCollection:null,customInstrumentations:null,networkMetrics:null},vr=n(null),Ar=({children:t,sourceOptions:r=[],namespaceOptions:n=[]})=>{const[i,l]=o(null),c=P(Nr),d=s(e=>{c.resetFormData(),c.handleErrorChange(void 0,void 0,{}),l(e)},[]),u=s((e,t)=>{var a;c.resetFormData((({ruleName:e,notes:t,disabled:a,sourceScopes:r,instrumentationLibraries:n,payloadCollection:s,codeAttributes:o,headersCollection:i,customInstrumentations:l,networkMetrics:c,workloads:d})=>({ruleName:e||"",notes:t||"",disabled:!!a,sourceScopes:Oe(r),workloads:d??null,instrumentationLibraries:n??null,payloadCollection:s??null,codeAttributes:o??null,headersCollection:i??null,customInstrumentations:l??null,networkMetrics:c??null}))(e)),c.handleErrorChange(void 0,void 0,{}),l(t??(a=e.type,Te.find(e=>e.type===a)??null))},[]),m=s(()=>{if(!i)return{errorMessage:"No rule type selected",preparedFormData:U(Nr)};const e=((e,t)=>{const a=U(e),{workloads:r,...n}=a,s={...n,sourceScopes:Re(a.sourceScopes)?null:a.sourceScopes,...r?.length?{workloads:r}:{}};return s.headersCollection?.[fe.HeaderKeys]?.length&&(s.headersCollection[fe.HeaderKeys]=s.headersCollection[fe.HeaderKeys].map(e=>e.trim()).filter(e=>e)),s.customInstrumentations?.[ye.Golang]?.length&&(s.customInstrumentations[ye.Golang]=s.customInstrumentations[ye.Golang].map(e=>new _e(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})),s.customInstrumentations?.[ye.Java]?.length&&(s.customInstrumentations[ye.Java]=s.customInstrumentations[ye.Java].map(e=>new he(e.className,e.methodName)).filter(e=>{return t=e,!(!t.className?.trim()&&!t.methodName?.trim());var t})),s.customInstrumentations?.[ye.Php]?.length&&(s.customInstrumentations[ye.Php]=s.customInstrumentations[ye.Php].map(e=>new ge(e.className,e.functionName)).filter(e=>{return t=e,!(!t.className?.trim()&&!t.functionName?.trim());var t})),t===Ne.NetworkMetrics&&(s.networkMetrics=!0),s})(c.formData,i.type),t=((e,t)=>{const a={};switch(e){case Ne.CodeAttributes:Object.values(t.codeAttributes||{}).some(e=>null!=e)||(a.codeAttributes="Code attributes are required");break;case Ne.PayloadCollection:Object.values(t.payloadCollection||{}).some(e=>null!=e)||(a.payloadCollection="Payload collection are required");break;case Ne.HeadersCollection:t.headersCollection?.[fe.HeaderKeys]?.length||(a.headersCollection="Header keys are required");break;case Ne.CustomInstrumentation:{const e=t.customInstrumentations?.[ye.Golang]||[],r=t.customInstrumentations?.[ye.Java]||[],n=t.customInstrumentations?.[ye.Php]||[];if(!e.length&&!r.length&&!n.length){a.customInstrumentations="Custom instrumentation are required";break}const s=e.findIndex(e=>!new _e(e.packageName,e.functionName,e.receiverName,e.receiverMethodName).Verify());if(-1!==s){a.customInstrumentations=`Golang probe #${s+1} is invalid: provide a package name plus either a function name OR both a receiver name and receiver method name`;break}const o=r.findIndex(e=>!new he(e.className,e.methodName).Verify());if(-1!==o){a.customInstrumentations=`Java probe #${o+1} is invalid: both class name and method name are required`;break}const i=n.findIndex(e=>!new ge(e.className,e.functionName).Verify());if(-1!==i){a.customInstrumentations=`PHP probe #${i+1} is invalid: function name is required`;break}break}}return a})(i.type,e);return c.handleErrorChange(void 0,void 0,t),{errorMessage:Object.keys(t).length>0?"Invalid form values":void 0,preparedFormData:e}},[c,i]),S=a(()=>({selectedOption:i,onSelectOption:d,loadRule:u,genericForm:c,validateFormData:m,sourceOptions:r,namespaceOptions:n}),[i,d,u,c,m,r,n]);return e(vr.Provider,{value:S,children:t})},Rr=()=>{const e=r(vr);if(!e)throw new Error("useRuleFormContext must be used within a RuleFormContextProvider");return e};var Or;(e=>{e.Create="create",e.View="view",e.EditAutoNoisy="edit-auto-noisy",e.EditAutoCostReduction="edit-auto-cost-reduction",e.EditAutoHighlyRelevant="edit-auto-highly-relevant"})(Or||(Or={}));const Cr=n(null),Gr=["50","25","10","1"];function Dr(e){const t=String(e);return Gr.includes(t)?t:"custom"}const br=({category:t,sourceOptions:r=[],namespaceOptions:n=[],children:l})=>{const{formData:c,handleFormChange:d,resetFormData:u}=P(we(t)),[m,S]=o(null);i(()=>{u(we(t)),S(null)},[t]);const p=s(e=>{S(null),d(void 0,void 0,{...c,...e})},[c,d]),E=s(()=>{u(we(t)),S(null)},[t,u]),I=a(()=>({formType:Or.Create,category:t,formData:c,handleChange:p,resetForm:E,duplicateWarning:m,setDuplicateWarning:S,sourceOptions:r,namespaceOptions:n}),[t,c,p,E,m,r,n]);return e(Cr.Provider,{value:I,children:l})},Lr=({data:t,defaultEditMode:r,sourceOptions:n=[],namespaceOptions:c=[],children:d})=>{const[u,m]=o(!1),{formData:S,handleFormChange:p,resetFormData:E}=P(void 0),I=l(null),[T,f]=o(null);i(()=>{t!==I.current&&(I.current=t,t&&r?(E(Le(t)),f(null),m(!0)):(m(!1),f(null)))},[t,r]);const y=s(e=>{f(null),p(void 0,void 0,{...S,...e})},[S,p]),_=s(()=>{t&&(E(Le(t)),f(null),m(!0))},[t,E]),h=s(()=>{m(!1),f(null)},[]),g=a(()=>({formType:Or.View,data:t,isEditing:u,formData:S,handleChange:y,handleEdit:_,handleCancelEdit:h,duplicateWarning:T,setDuplicateWarning:f,sourceOptions:n,namespaceOptions:c}),[t,u,S,y,_,h,T,n,c]);return e(Cr.Provider,{value:g,children:d})};function wr(e){const[t,r]=o(()=>0===e?"all":"sample"),[n,s]=o(()=>Dr(e)),[l,c]=o(()=>"custom"===Dr(e)?String(e):"");i(()=>{r(0===e?"all":"sample");const t=Dr(e);s(t),c("custom"===t?String(e):"")},[e]);const d=a(()=>"all"===t?0:"custom"===n?Number(l)||0:Number(n),[t,n,l]);return{percentageMode:t,setPercentageMode:r,percentagePreset:n,setPercentagePreset:s,customPercentage:l,setCustomPercentage:c,resolvedPercentage:d}}const Pr=({enabled:t,keepPercentage:r,children:n})=>{const[s,l]=o(t),c=wr(r);i(()=>{l(t)},[t]);const d=a(()=>be({enabled:s,keepPercentage:c.resolvedPercentage}),[s,c.resolvedPercentage]),u=a(()=>({formType:Or.EditAutoNoisy,localEnabled:s,setLocalEnabled:l,...c,summary:d}),[s,c,d]);return e(Cr.Provider,{value:u,children:n})},Ur=({enabled:t,dropPercentage:r,children:n})=>{const[s,l]=o(t),c=wr(r);i(()=>{l(t)},[t]);const d=a(()=>De(s?{disabled:!1,percentageAtMost:c.resolvedPercentage}:null),[s,c.resolvedPercentage]),u=a(()=>({formType:Or.EditAutoCostReduction,localEnabled:s,setLocalEnabled:l,...c,summary:d}),[s,c,d]);return e(Cr.Provider,{value:u,children:n})},Fr=({enabled:t,children:r})=>{const[n,s]=o(t);i(()=>{s(t)},[t]);const l=a(()=>Ge(n?{disabled:!1}:null),[n]),c=a(()=>({formType:Or.EditAutoHighlyRelevant,localEnabled:n,setLocalEnabled:s,summary:l}),[n,l]);return e(Cr.Provider,{value:c,children:r})},kr=t=>{switch(t.formType){case Or.Create:return e(br,{...t});case Or.View:return e(Lr,{...t});case Or.EditAutoNoisy:return e(Pr,{...t});case Or.EditAutoCostReduction:return e(Ur,{...t});case Or.EditAutoHighlyRelevant:return e(Fr,{...t})}};function Mr(e){const t=r(Cr);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 Hr={otelServiceName:"",currentStreamName:""},xr=n(null),$r=({children:t})=>{const[r,n]=o(void 0),i=P(Hr),l=s(e=>{i.resetFormData((({serviceName:e,id:t})=>({otelServiceName:e||t.name||"",currentStreamName:""}))(e)),i.handleErrorChange(void 0,void 0,{}),n(void 0)},[]),c=s(()=>{const e=U(i.formData);return i.handleErrorChange(void 0,void 0,{}),n(void 0),{errorMessage:void 0,preparedFormData:e}},[i]),d=a(()=>({loadSource:l,genericForm:i,validateFormData:c,errorMessage:r}),[l,i,c,r]);return e(xr.Provider,{value:d,children:t})},Kr=()=>{const e=r(xr);if(!e)throw new Error("useSourceEditFormContext must be used within a SourceEditFormContextProvider");return e},Vr=new Set([ve.StaticPod]),Br=e=>{const t=e.workloads.filter(({selected:e})=>e).length,a=e.workloads.length;return{selectedCount:t,isAllSourced:t>0&&t===a,isSomeSourced:t>0&&t<a,isFutureApps:e.selected||!1}},Yr=(e,t,a)=>{if(t&&!e.name.toLowerCase().includes(t.toLowerCase()))return!1;if(a.showOnlySelected){const{isAllSourced:t,isSomeSourced:a,isFutureApps:r}=Br(e);return t||a||r}return!0},Wr=(e,t,a)=>!(t&&!e.name.toLowerCase().includes(t.toLowerCase()))&&(!a.showOnlySelected||e.selected),jr=n({snapshots:null,setSnapshots:()=>{},isFetching:!1,setIsFetching:()=>{},formData:[],handleSourceChange:()=>{},handleSelectAll:()=>{},formDiff:{},isFormDirty:!1}),qr=(e,t)=>`${e}\0${t}`,Qr=(e,t,a,r)=>`${e}\0${t}\0${a}/${r}`,zr=(e,t)=>e.name===t.name&&e.kind===t.kind&&(e.region??"")===(t.region??""),Jr=(e,t,a)=>{const r=[];return t.workloads.forEach(n=>{const s=e?.workloads.find(e=>zr(e,n));n.selected!==s?.selected&&r.push({namespace:t.name,name:n.name,kind:n.kind,region:n.region||void 0,selected:n.selected||!1,currentStreamName:a})}),r},Xr=({children:t,selectedConnectionIds:r,initialInputs:n})=>{const{tier:c}=Pe(),d=c===Ae.Onprem,{capabilities:u}=Ht(),m=u.canInstrumentNamespaces,{selectedStreamName:S}=f(),[p,E]=o(!1),[T,y]=o(null),[_,h]=o([]),g=l(new Set),N=s((e,t)=>{t.forEach(t=>{const a=e.find(e=>e.clusterId===t.clusterId);a&&t.namespaces.forEach(e=>{const r=a.namespaces.find(t=>t.name===e.name);r&&(r.selected!==e.selected&&g.current.add(qr(t.clusterId,e.name)),e.workloads.forEach(a=>{const n=r.workloads.find(e=>e.name===a.name&&e.kind===a.kind);n&&n.selected!==a.selected&&g.current.add(Qr(t.clusterId,e.name,a.kind,a.name))}))})})},[]);i(()=>{T&&h(e=>{const t=((e,t)=>U(((e,t)=>e.clusters.filter(({clusterId:e})=>!t||t.includes(e)))(e,t)))(T,r);return t.map(t=>{const a=e?.find(e=>e.clusterId===t.clusterId),r=((e,t,a)=>{if(!t)return e;const r=new Map(t.namespaces.map(e=>[e.name,e]));return{...e,namespaces:e.namespaces.map(t=>{const n=r.get(t.name);if(!n)return t;const s=new Map(n.workloads.map(e=>[`${e.kind}/${e.name}`,e])),o=a.has(qr(e.clusterId,t.name));return{...t,selected:o?n.selected:t.selected,workloads:t.workloads.map(r=>{const n=s.get(`${r.kind}/${r.name}`),o=a.has(Qr(e.clusterId,t.name,r.kind,r.name));return n&&o?{...r,selected:n.selected}:r})}})}})(t,a,g.current);if(n?.[t.clusterId]){const e=n[t.clusterId],a=U(r);return e.forEach(e=>{const t=a.namespaces.find(t=>t.name===e.namespace);if(t)if(e.name&&e.kind){const a=t.workloads.find(t=>t.name===e.name&&t.kind===e.kind);a&&(a.selected=e.selected)}else t.selected=e.selected,e.selected&&t.workloads.forEach(e=>{Vr.has(e.kind)&&!d||(e.selected=!0)})}),a}return r})})},[T,r,n]);const{formDiff:v,isFormDirty:A}=a(()=>{const e=((e,t,a,r)=>{const n={};return e.forEach(e=>{e.namespaces.forEach(s=>{const o=t.find(t=>t.clusterId===e.clusterId)?.namespaces.find(e=>e.name===s.name);if(!r){const t=Jr(o,s,a);return void(t.length>0&&(n[e.clusterId]||(n[e.clusterId]=[]),n[e.clusterId].push(...t)))}const i=s.selected||!1;if(i!==o?.selected)n[e.clusterId]||(n[e.clusterId]=[]),n[e.clusterId].push({namespace:s.name,selected:i,currentStreamName:a}),i?n[e.clusterId]=n[e.clusterId].filter(e=>e.namespace!==s.name||e.namespace===s.name&&(!e.name||!e.kind)):s.workloads.forEach(t=>{t.selected&&n[e.clusterId].push({namespace:s.name,name:t.name,kind:t.kind,region:t.region||void 0,selected:!0,currentStreamName:a})});else{const t=Jr(o,s,a);t.length>0&&(n[e.clusterId]||(n[e.clusterId]=[]),n[e.clusterId].push(...t))}})}),n})(_,T?.clusters||[],S,m);return{formDiff:e,isFormDirty:Object.keys(e).length>0}},[_,T,S,m]),R=s(e=>!d&&Vr.has(e),[d]),O=s(({clusterId:e,workloadId:t,selected:a,auto:r})=>{h(n=>{const s=U(n),o=s.findIndex(t=>t.clusterId===e);if(-1===o)return s;const i=s[o].namespaces.findIndex(e=>e.name===t.namespace);if(-1===i)return s;if(t.kind&&t.name){const e=s[o].namespaces[i].workloads.findIndex(e=>zr(e,{name:t.name,kind:t.kind,region:t.region}));if(-1===e)return s;const r="boolean"==typeof a?a:!s[o].namespaces[i].workloads[e].selected;s[o].namespaces[i].workloads[e].selected=r,m&&(r?s[o].namespaces[i].workloads.filter(e=>!R(e.kind)).every(e=>e.selected)&&(s[o].namespaces[i].selected=!0):s[o].namespaces[i].selected=!1)}else if(m){const e="boolean"==typeof r?r:!s[o].namespaces[i].selected;s[o].namespaces[i].selected=e,e?s[o].namespaces[i].workloads.forEach(e=>{R(e.kind)||(e.selected=!0)}):"boolean"!=typeof a||a||s[o].namespaces[i].workloads.forEach(e=>{e.selected=!1})}else{const e="boolean"==typeof a?a:"boolean"!=typeof r||r;s[o].namespaces[i].workloads.forEach(t=>{e&&R(t.kind)||(t.selected=e)})}return N(n,s),s})},[R,m,N]),C=s(({clusterId:e,namespaceName:t,boolean:a,searchText:r="",searchBy:n="",filters:s})=>{h(o=>{const i=U(o),l=n===I.Namespace?r:"",c=n===I.Source?r:"",d=!!l||!!c||!!s?.showOnlySelected;return i.forEach((r,n)=>{e&&r.clusterId!==e||r.namespaces.forEach(({name:e,workloads:r},o)=>{if(!t||e===t)if(d)if(t){if(r.forEach((e,t)=>{a&&R(e.kind)||Wr(e,c,s||{showOnlySelected:!1})&&(i[n].namespaces[o].workloads[t].selected=a)}),m){const e=i[n].namespaces[o].workloads.filter(e=>!R(e.kind)).every(e=>e.selected);i[n].namespaces[o].selected=e}}else{if(!Yr(i[n].namespaces[o],l,s||{showOnlySelected:!1}))return;m&&(i[n].namespaces[o].selected=a),r.forEach((e,t)=>{a&&R(e.kind)||(i[n].namespaces[o].workloads[t].selected=a)})}else m&&(i[n].namespaces[o].selected=a),r.forEach((e,t)=>{a&&R(e.kind)||(i[n].namespaces[o].workloads[t].selected=a)})})}),N(o,i),i})},[R,m,N]);return e(jr.Provider,{value:{snapshots:T,setSnapshots:y,isFetching:p,setIsFetching:E,formData:_,handleSourceChange:O,handleSelectAll:C,formDiff:v,isFormDirty:A},children:t})},Zr=()=>r(jr);export{ca as $,jt as A,Ht as B,Jt as C,ta as D,Rr as E,Mr as F,xa as G,Kr as H,Zr as I,gr as J,ua as K,ja as L,Ka as M,Ba as N,at as O,Na as P,Ta as Q,Ar as R,Or as S,Ea as T,Ia as U,Wr as V,Vr as W,Yr as X,Br as Y,pa as Z,da as _,mt as a,Va as a0,mr as a1,ur as a2,cr as a3,lr as a4,dr as a5,va as a6,Ca as a7,Ga as a8,ia as b,ha as c,Ra as d,Er as e,Xe as f,kr as g,$r as h,Xr as i,hr as j,gt as k,qt as l,yt as m,_t as n,ft as o,Nt as p,Xt as q,ut as r,aa as s,la as t,Je as u,ga as v,Oa as w,$a as x,qa as y,Ir as z};
|