@odigos/ui-kit 0.0.254 → 0.0.255

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (59) hide show
  1. package/CHANGELOG.md +14 -0
  2. package/docs/api-context.md +1 -1
  3. package/lib/chunks/{connections-scope-DDNmfpzA.js → connections-scope-DATTj_XG.js} +1 -1
  4. package/lib/chunks/consts-D6GCMJ6c.js +1 -0
  5. package/lib/chunks/{helpers-Cy9W3KCg.js → helpers-CUmUiA_l.js} +1 -1
  6. package/lib/chunks/index-hiRPXsEi.js +155 -0
  7. package/lib/chunks/{source-instrument-form-context-BJGS7jKX.js → source-instrument-form-context-DY-QjJ0l.js} +1 -1
  8. package/lib/chunks/{ui-components-D_eeOuIL.js → ui-components-B1TCLO_N.js} +225 -233
  9. package/lib/chunks/{use-odigos-api-W15RTo5l.js → use-odigos-api-FiChYL7A.js} +2 -2
  10. package/lib/components/_v2/icon-group/index.d.ts +4 -3
  11. package/lib/components/_v2/no-data/index.d.ts +2 -2
  12. package/lib/components/v2.js +1 -1
  13. package/lib/components.js +1 -1
  14. package/lib/constants/strings/index.d.ts +1 -0
  15. package/lib/constants.js +1 -1
  16. package/lib/containers/service-map/helpers/build-edges.d.ts +1 -1
  17. package/lib/containers/service-map/helpers/build-map-nodes.d.ts +2 -3
  18. package/lib/containers/service-map/helpers/consts.d.ts +1 -0
  19. package/lib/containers/service-map/helpers/elk-layout.d.ts +4 -3
  20. package/lib/containers/service-map/helpers/types.d.ts +21 -0
  21. package/lib/containers/service-map/index.d.ts +2 -10
  22. package/lib/containers/service-map/react-flow/edges/animated-traffic-edge.d.ts +6 -0
  23. package/lib/containers/service-map/react-flow/flow.d.ts +7 -0
  24. package/lib/containers/service-map/react-flow/index.d.ts +1 -0
  25. package/lib/containers/service-map/react-flow/nodes/map-item-node.d.ts +6 -0
  26. package/lib/containers/service-map/react-flow/nodes/no-data-node.d.ts +6 -0
  27. package/lib/containers/service-map/react-flow/search-and-select-nodes.d.ts +3 -0
  28. package/lib/containers/service-map/service-map-context.d.ts +24 -0
  29. package/lib/containers/v2.js +138 -138
  30. package/lib/containers.js +76 -20
  31. package/lib/contexts/odigos-api/capabilities.d.ts +1 -0
  32. package/lib/contexts/odigos-api/index.d.ts +1 -1
  33. package/lib/contexts/odigos-api/types.d.ts +14 -4
  34. package/lib/contexts/odigos-api.js +1 -1
  35. package/lib/contexts.js +1 -1
  36. package/lib/functions/get-nearest-typography-size/index.d.ts +3 -0
  37. package/lib/functions/index.d.ts +1 -0
  38. package/lib/functions.js +1 -1
  39. package/lib/hooks.js +1 -1
  40. package/lib/snippets/index.d.ts +1 -1
  41. package/lib/snippets/v2.js +1 -1
  42. package/lib/snippets.js +1 -1
  43. package/lib/store/index.d.ts +0 -1
  44. package/lib/store/useDrawerStore.d.ts +2 -1
  45. package/lib/store.js +1 -1
  46. package/lib/theme.js +1 -1
  47. package/lib/types/index.d.ts +0 -1
  48. package/lib/types.js +1 -1
  49. package/lib/visuals.js +1 -1
  50. package/package.json +1 -1
  51. package/lib/chunks/flow-Bu1VbeQt.js +0 -49
  52. package/lib/chunks/index-D2nQHheF.js +0 -155
  53. package/lib/containers/service-map/service-map-drawer.d.ts +0 -17
  54. package/lib/snippets/react-flow/flow.d.ts +0 -17
  55. package/lib/snippets/react-flow/index.d.ts +0 -3
  56. package/lib/snippets/react-flow/nodes/map-item-node.d.ts +0 -13
  57. package/lib/snippets/react-flow/nodes/no-data-node.d.ts +0 -9
  58. package/lib/store/useActiveNodeStore.d.ts +0 -11
  59. package/lib/types/data-flow/index.d.ts +0 -21
@@ -1,5 +1,5 @@
1
- import{useMemo as e,useContext as t,createContext as r,useCallback as a,useState as n,useEffect as o}from"react";import{HttpLink as i,from as s,split as c,ApolloClient as d,InMemoryCache as u,ApolloProvider as l,useLazyQuery as E,useApolloClient as f,useQuery as T,gql as _}from"@apollo/client";import{jsx as S}from"react/jsx-runtime";import{onError as y}from"@apollo/client/link/error";import{setContext as R}from"@apollo/client/link/context";import{getMainDefinition as p}from"@apollo/client/utilities";import{o as m,y as O,D as A,S as I,X as N,Y as C,E as g,P as h,c as L,z as G,Z as P,_ as v,$ as U,a0 as D,a1 as w,a2 as F,a3 as M}from"./ui-components-D_eeOuIL.js";const k=e=>{if(!e)return!1;const t=e.toLowerCase();return t.includes("authentication required")||t.includes("authentication expired")||t.includes("http 401")},b=r(null),Y=()=>{const e=t(b);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},H=({apolloConfig:t,operations:r,context:a,children:n})=>{const o=e(()=>(e=>{const t=new i({uri:e.httpUrl,credentials:e.credentials??"same-origin"}),r=y(({graphQLErrors:t,networkError:r})=>{t&&t.length>0&&t.some(e=>k(e.message))&&e.onAuthError?.(),r&&(401===r.statusCode||k(r.message))&&e.onAuthError?.()}),a=R(async(t,r)=>{const a={...r.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(a,r,t);let o=s(n);e.wsLink&&(o=c(({query:e})=>{const t=p(e);return"OperationDefinition"===t.kind&&"subscription"===t.operation},e.wsLink,o));const l=e.defaultFetchPolicies;return new d({link:o,cache:new u({addTypename:e.addTypename??!0,typePolicies:e.cacheTypePolicies}),defaultOptions:{watchQuery:{fetchPolicy:l?.watchQuery??"cache-and-network"},query:{fetchPolicy:l?.query??"cache-first"},mutate:{fetchPolicy:l?.mutate??"network-only"}}})})(t),[t.httpUrl,t.wsLink,t.addTypename,t.credentials]),E=e(()=>({operations:r,context:a,apolloConfig:t}),[r,a,t]);return S(l,{client:o,children:S(b.Provider,{value:E,children:n})})},W=b,x=(e,t)=>{if(e)return"string"==typeof e?e:N(e,t)},K=e=>{const{addNotification:t}=m(),r=(r,a,n,o,i)=>t({type:r,title:a,message:n,crdType:e,target:x(o,e),hideFromHistory:i});return{notify:r,notifyError:(e,t,a)=>r(I.Error,e,t,a),notifySuccess:(e,t,a)=>r(I.Success,e,t,a),notifyPending:(e,t)=>r(I.Default,"Pending",e,t,!0),notifyReadonly:()=>{t({type:I.Warning,title:A.READONLY,message:O.READONLY_WARNING,hideFromHistory:!0})}}},V=e=>{e({type:I.Warning,title:A.READONLY,message:O.READONLY_WARNING,hideFromHistory:!0})},$=e=>({error:e,results:[],allSucceeded:!1,anySucceeded:!1,successCount:0,failureCount:0}),B=(e,t)=>{if(e)return"function"==typeof e?e(t):e},j=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)},q=(e,t)=>e.client??t,Q=async(e,t,r,a,n)=>{if(!t)return{error:"Query operation not configured"};if(t.canRun&&!t.canRun(a))return{data:void 0};if(t.run)try{return await t.run(q(t,e),r,a)}catch(e){return{error:j(e)}}const o=B(t.document,a);if(!o)return{error:"Query operation not supported in this context"};const i=t.transformVariables?t.transformVariables(r,a):r,s=q(t,e);try{const e=await s.query({query:o,variables:i,fetchPolicy:n??"network-only"});return{data:t.transformResult?t.transformResult(e.data,a):e.data,error:e.error?j(e.error):void 0}}catch(e){return{error:j(e)}}},z=async(e,t,r,a)=>{if(!t)return{error:"Mutation operation not configured"};if(t.canRun&&!t.canRun(a))return{data:void 0};if(t.run)try{return await t.run(q(t,e),r,a)}catch(e){return{error:j(e)}}const n=B(t.document,a);if(!n)return{error:"Mutation operation not supported in this context"};const o=t.transformVariables?t.transformVariables(r,a):r,i=q(t,e);try{const e=await i.mutate({mutation:n,variables:o});return{data:t.transformResult?t.transformResult(e.data,a):e.data,error:void 0}}catch(e){return{error:j(e)}}},X=async(e,t,r,a,n)=>{if(!t)return $("Multi fetch operation not configured");if(!r.length)return $("No proxy ids supplied for multi fetch");const o=q(t,e);if(t.transformVariablesMulti&&(t.documentMulti||t.document)){const e=t.transformVariablesMulti(r,a,n),i=[];for(const r of e)try{const e=await o.query({query:r.document,variables:r.variables,fetchPolicy:"network-only"});t.transformMultiResult?t.transformMultiResult(e.data,n).forEach(e=>i.push(e)):r.proxyIDs.forEach(t=>{i.push({proxyID:t,success:!e.error,data:e.data,error:e.error?.message})})}catch(e){const t=j(e);r.proxyIDs.forEach(e=>i.push({proxyID:e,success:!1,error:t}))}const s=i.filter(e=>e.success).length,c=i.length-s,d=Array.from(new Set(i.filter(e=>!!e.error).map(e=>e.error)));return{results:i,allSucceeded:0===c,anySucceeded:s>0,successCount:s,failureCount:c,error:d.length?d.join(", "):void 0}}const i=await Promise.all(r.map(async r=>{const o={...n,proxyID:r},i=await Q(e,t,a,o);return{proxyID:r,success:!i.error,data:i.data,error:i.error}})),s=i.filter(e=>e.success).length,c=i.length-s,d=Array.from(new Set(i.filter(e=>!!e.error).map(e=>e.error)));return{results:i,allSucceeded:0===c,anySucceeded:s>0,successCount:s,failureCount:c,error:d.length?d.join(", "):void 0}},J=_`
1
+ import{useMemo as e,useContext as t,createContext as r,useCallback as a,useState as n,useEffect as o}from"react";import{HttpLink as i,from as s,split as c,ApolloClient as d,InMemoryCache as u,ApolloProvider as l,useLazyQuery as E,useApolloClient as f,useQuery as T,gql as _}from"@apollo/client";import{jsx as S}from"react/jsx-runtime";import{onError as y}from"@apollo/client/link/error";import{setContext as R}from"@apollo/client/link/context";import{getMainDefinition as p}from"@apollo/client/utilities";import{O as m,F as O,p as A,o as I,U as N,V as C,E as h,P as g,T as L,h as P,W as G,X as U,Y as v,Z as D,_ as w,$ as F,a0 as M}from"./ui-components-B1TCLO_N.js";const k=e=>{if(!e)return!1;const t=e.toLowerCase();return t.includes("authentication required")||t.includes("authentication expired")||t.includes("http 401")},b=r(null),H=()=>{const e=t(b);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},Y=({apolloConfig:t,operations:r,context:a,children:n})=>{const o=e(()=>(e=>{const t=new i({uri:e.httpUrl,credentials:e.credentials??"same-origin"}),r=y(({graphQLErrors:t,networkError:r})=>{t&&t.length>0&&t.some(e=>k(e.message))&&e.onAuthError?.(),r&&(401===r.statusCode||k(r.message))&&e.onAuthError?.()}),a=R(async(t,r)=>{const a={...r.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(a,r,t);let o=s(n);e.wsLink&&(o=c(({query:e})=>{const t=p(e);return"OperationDefinition"===t.kind&&"subscription"===t.operation},e.wsLink,o));const l=e.defaultFetchPolicies;return new d({link:o,cache:new u({addTypename:e.addTypename??!0,typePolicies:e.cacheTypePolicies}),defaultOptions:{watchQuery:{fetchPolicy:l?.watchQuery??"cache-and-network"},query:{fetchPolicy:l?.query??"cache-first"},mutate:{fetchPolicy:l?.mutate??"network-only"}}})})(t),[t.httpUrl,t.wsLink,t.addTypename,t.credentials]),E=e(()=>({operations:r,context:a,apolloConfig:t}),[r,a,t]);return S(l,{client:o,children:S(b.Provider,{value:E,children:n})})},W=b,V=(e,t)=>{if(e)return"string"==typeof e?e:N(e,t)},x=e=>{const{addNotification:t}=m(),r=(r,a,n,o,i)=>t({type:r,title:a,message:n,crdType:e,target:V(o,e),hideFromHistory:i});return{notify:r,notifyError:(e,t,a)=>r(I.Error,e,t,a),notifySuccess:(e,t,a)=>r(I.Success,e,t,a),notifyPending:(e,t)=>r(I.Default,"Pending",e,t,!0),notifyReadonly:()=>{t({type:I.Warning,title:A.READONLY,message:O.READONLY_WARNING,hideFromHistory:!0})}}},K=e=>{e({type:I.Warning,title:A.READONLY,message:O.READONLY_WARNING,hideFromHistory:!0})},$=e=>({error:e,results:[],allSucceeded:!1,anySucceeded:!1,successCount:0,failureCount:0}),B=(e,t)=>{if(e)return"function"==typeof e?e(t):e},j=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)},q=(e,t)=>e.client??t,Q=async(e,t,r,a,n)=>{if(!t)return{error:"Query operation not configured"};if(t.canRun&&!t.canRun(a))return{data:void 0};if(t.run)try{return await t.run(q(t,e),r,a)}catch(e){return{error:j(e)}}const o=B(t.document,a);if(!o)return{error:"Query operation not supported in this context"};const i=t.transformVariables?t.transformVariables(r,a):r,s=q(t,e);try{const e=await s.query({query:o,variables:i,fetchPolicy:n??"network-only"});return{data:t.transformResult?t.transformResult(e.data,a):e.data,error:e.error?j(e.error):void 0}}catch(e){return{error:j(e)}}},X=async(e,t,r,a)=>{if(!t)return{error:"Mutation operation not configured"};if(t.canRun&&!t.canRun(a))return{data:void 0};if(t.run)try{return await t.run(q(t,e),r,a)}catch(e){return{error:j(e)}}const n=B(t.document,a);if(!n)return{error:"Mutation operation not supported in this context"};const o=t.transformVariables?t.transformVariables(r,a):r,i=q(t,e);try{const e=await i.mutate({mutation:n,variables:o});return{data:t.transformResult?t.transformResult(e.data,a):e.data,error:void 0}}catch(e){return{error:j(e)}}},z=async(e,t,r,a,n)=>{if(!t)return $("Multi fetch operation not configured");if(!r.length)return $("No proxy ids supplied for multi fetch");const o=q(t,e);if(t.transformVariablesMulti&&(t.documentMulti||t.document)){const e=t.transformVariablesMulti(r,a,n),i=[];for(const r of e)try{const e=await o.query({query:r.document,variables:r.variables,fetchPolicy:"network-only"});t.transformMultiResult?t.transformMultiResult(e.data,n).forEach(e=>i.push(e)):r.proxyIDs.forEach(t=>{i.push({proxyID:t,success:!e.error,data:e.data,error:e.error?.message})})}catch(e){const t=j(e);r.proxyIDs.forEach(e=>i.push({proxyID:e,success:!1,error:t}))}const s=i.filter(e=>e.success).length,c=i.length-s,d=Array.from(new Set(i.filter(e=>!!e.error).map(e=>e.error)));return{results:i,allSucceeded:0===c,anySucceeded:s>0,successCount:s,failureCount:c,error:d.length?d.join(", "):void 0}}const i=await Promise.all(r.map(async r=>{const o={...n,proxyID:r},i=await Q(e,t,a,o);return{proxyID:r,success:!i.error,data:i.data,error:i.error}})),s=i.filter(e=>e.success).length,c=i.length-s,d=Array.from(new Set(i.filter(e=>!!e.error).map(e=>e.error)));return{results:i,allSucceeded:0===c,anySucceeded:s>0,successCount:s,failureCount:c,error:d.length?d.join(", "):void 0}},J=_`
2
2
  query OdigosApiNoop {
3
3
  __typename
4
4
  }
5
- `,Z=(e,t)=>{if(e)return"function"==typeof e?e(t):e},ee=(e,t)=>e[t],te=(e,t,r)=>{if(void 0===t)return;return e?.transformResult?e.transformResult(t,r):t},re=(e,t,r)=>{if(!e)return;const a=e.transformVariables;return a?a(t,r):t},ae=(t,r,n)=>{const{operations:o,context:i}=Y(),s=ee(o,t),c=e(()=>Z(s?.document,i),[s,i]),d=e(()=>re(s,r,i),[s,r,i]),u=!s||!c,l=!!s?.canRun&&!s.canRun(i),E=n?.skip||u||l,f=T(c??J,{variables:d,skip:E,pollInterval:n?.pollInterval,fetchPolicy:n?.fetchPolicy??"cache-and-network",notifyOnNetworkStatusChange:n?.notifyOnNetworkStatusChange,client:s?.client,onCompleted:n?.onCompleted?e=>{const t=te(s,e,i);void 0!==t&&n.onCompleted(t)}:void 0,onError:n?.onError}),_=e(()=>{if(!E)return te(s,f.data,i)},[s,i,f.data,E]),S=a(async()=>{if(u)return{data:void 0};const e=await f.refetch();return{data:te(s,e.data,i)}},[s,i,f,u]);return{data:_,loading:!E&&f.loading,error:f.error,refetch:S,unsupported:u}},ne=(t,r)=>{const{operations:n,context:o}=Y(),i=ee(n,t),s=e(()=>Z(i?.document,o),[i,o]),c=!i||!s,[d,u]=E(s??J,{fetchPolicy:r?.fetchPolicy??"network-only",notifyOnNetworkStatusChange:r?.notifyOnNetworkStatusChange,client:i?.client});return{execute:a(async e=>{if(c)return{error:void 0};if(i?.canRun&&!i.canRun(o))return{data:void 0};const t=re(i,e,o),r=await d({variables:t});return r.error?{error:r.error}:{data:te(i,r.data,o)}},[i,o,d,c]),data:e(()=>te(i,u.data,o),[i,o,u.data]),loading:u.loading,error:u.error,called:u.called,unsupported:c}},oe=(t,r)=>{const{operations:o,context:i}=Y(),s=f(),c=ee(o,t),d=e(()=>Z(c?.document,i),[c,i]),u=!c||!d,[l,E]=n({loading:!1,called:!1}),T=a(()=>E({loading:!1,called:!1}),[]);return[a(async e=>{if(u||!d)return{error:void 0};if(c?.canRun&&!c.canRun(i))return{data:void 0};const t=re(c,e,i),a=c?.client??s;E(e=>({...e,loading:!0,called:!0}));try{const e=await a.mutate({mutation:d,variables:t}),n=te(c,e.data,i);if(E({data:n,loading:!1,error:void 0,called:!0}),r?.refetchQueries){const e=a.refetchQueries({include:r.refetchQueries});r?.awaitRefetchQueries&&await e}return void 0!==n&&r?.onCompleted?.(n),{data:n}}catch(e){const t=e;return E({data:void 0,loading:!1,error:t,called:!0}),r?.onError?.(t),{error:t}}},[c,i,s,d,u,r]),{data:l.data,loading:l.loading,error:l.error,called:l.called,unsupported:u,reset:T}]},ie=[],se=(e,t,r,a)=>{let n=!0;const o={sources:[]};for(const[i,s]of Object.entries(e)){if(!s.length)continue;n=!1;const e=s.map(({id:e,selected:t,currentStreamName:a})=>({namespace:e.namespace,name:e.name,kind:e.kind,selected:void 0!==t&&t,currentStreamName:a||r}));let c=0,d=0;for(const r of e){const e=t.find(e=>e.id.namespace===i&&e.id.name===r.name&&e.id.kind===r.kind),a=e?.dataStreamNames||[];r.selected&&!e?c++:!r.selected&&e&&a.length<=1&&d++}a(c,d),o.sources.push(...e)}return{payload:o,isEmpty:n}},ce=(e,t)=>{let r=!0;const a={namespaces:[]};for(const[n,{selected:o,currentStreamName:i}]of Object.entries(e))"boolean"==typeof o&&(r=!1,a.namespaces.push({namespace:n,selected:o,currentStreamName:i||t}));return{payload:a,isEmpty:r}},de={filter:{markedForInstrumentation:!0}},ue=[],le=[],Ee=async e=>{const t=(e=>{try{return new URL("/diagnose/download",e).toString()}catch{return null}})(e.httpUrl);if(t)try{const[r,a]=await Promise.all([Promise.resolve(e.authHeader?.()??{}),Promise.resolve(e.csrfHeader?.()??{})]),n=await fetch(t,{credentials:e.credentials??"same-origin",headers:{...r,...a}});if(!n.ok)throw new Error(`Failed to download diagnose archive: ${n.status} ${n.statusText}`);((e,t)=>{if("undefined"==typeof document)return;const r=URL.createObjectURL(e),a=document.createElement("a");a.href=r,a.download=t,document.body.appendChild(a),a.click(),document.body.removeChild(a),URL.revokeObjectURL(r)})(await n.blob(),`odigos-diagnose-${Date.now()}.tar.gz`)}catch(e){}},fe=[],Te=[],_e=[],Se=[],ye=(e,t)=>({...e,fields:e.fields.filter(({value:e})=>void 0!==e),currentStreamName:t}),Re=()=>{const{operations:t,context:r}=Y(),n=f(),i=((e,t)=>{const r=f(),{notifyError:n,notifySuccess:o,notifyPending:i,notifyReadonly:s}=K(g.Source),{selectedStreamName:c}=G(),{setProgress:d,resetProgress:u}=P(),{setConfiguredSources:l,setConfiguredFutureApps:E}=v(),T=(e,t)=>{const{progress:r}=P.getState();e>0&&d(U.Instrumenting,{total:(r[U.Instrumenting]?.total||0)+e,current:r[U.Instrumenting]?.current||0}),t>0&&d(U.Uninstrumenting,{total:(r[U.Uninstrumenting]?.total||0)+t,current:r[U.Uninstrumenting]?.current||0})},_=a(async()=>{const{error:a}=await Q(r,e.GET_WORKLOADS,de,t);a&&n(C.Read,a)},[r,e.GET_WORKLOADS,t,n]);return{useSources:()=>{const e=ae("GET_WORKLOADS",de,{fetchPolicy:"cache-first"});return{items:e.data?.workloads??ue,loading:e.loading,refetch:_}},fetchAll:_,fetchByTargets:async(a,o)=>{const i=!!o?.slim,s=a.map(e=>D(e,g.Source)).filter(e=>e.namespace&&e.name&&e.kind);if(0===s.length)return;if(s.length>50)return void await _();const c=i&&e.GET_WORKLOADS_BY_IDS_SLIM?e.GET_WORKLOADS_BY_IDS_SLIM:e.GET_WORKLOADS_BY_IDS,{error:d}=await Q(r,c,{ids:s.map(({namespace:e,kind:t,name:r})=>({namespace:e,kind:t,name:r}))},t);d?n(C.Read,d):await _()},fetchById:async a=>{const{data:o,error:i}=await Q(r,e.GET_WORKLOADS_BY_IDS,{ids:[{namespace:a.namespace,kind:a.kind,name:a.name}]},t);if(!i)return await _(),o?.workloadsByIds?.find(e=>e.id.namespace===a.namespace&&e.id.kind===a.kind&&e.id.name===a.name);n(C.Read,i)},fetchLibraries:async a=>Q(r,e.GET_SOURCE_LIBRARIES,a,t),fetchPeerSources:async a=>Q(r,e.GET_PEER_SOURCES,{serviceName:a},t),usePeerSources:(e,t)=>ae("GET_PEER_SOURCES",e,t),persist:async(a,o)=>{if(t.isReadonly)return s();const{data:d}=await Q(r,e.GET_WORKLOADS,de,t,"cache-first"),f=d?.workloads??ue,{payload:_,isEmpty:S}=se(a,f,c,T),{payload:y,isEmpty:R}=ce(o,c);let p=!1;S||(p=!0,i("Persisting sources...")),R||p||i("Persisting namespaces...");const{error:m}=await z(r,e.PERSIST_SOURCES,_,t);if(m&&(u(U.Instrumenting),u(U.Uninstrumenting),n(C.Update,m)),e.PERSIST_NAMESPACES){const{error:a}=await z(r,e.PERSIST_NAMESPACES,y,t);a&&n(C.Update,a)}l({}),E({})},persistV2:async a=>{if(t.isReadonly)return s(),{error:"readonly"};const n=[];for(const[,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);if(i.namespaces.length>0&&e.PERSIST_NAMESPACES){const{error:a}=await z(r,e.PERSIST_NAMESPACES,i,t);a&&n.push(a)}if(a.sources.length>0){const{error:o}=await z(r,e.PERSIST_SOURCES,a,t);o&&n.push(o)}}return n.length?{error:n.join(", ")}:void 0},update:async(a,d)=>{if(t.isReadonly)return s();i("Updating source...");const u={sourceId:a,patchSourceRequest:{...d,currentStreamName:c}},{data:l,error:E}=await z(r,e.UPDATE_SOURCE,u,t);E?n(C.Update,E,a):l?.updateK8sActualSource&&o(C.Update,`Successfully updated "${a.name}" source`,a)},restartWorkloads:async a=>{if(t.isReadonly)return s();i("Restarting sources...");const{data:c,error:d}=await z(r,e.RESTART_WORKLOADS,{sourceIds:a},t);d?n(C.Update,d):c?.restartWorkloads&&o(C.Update,`Successfully restarted ${a.length} sources`)},restartPod:async(a,c)=>{if(t.isReadonly)return s();i("Restarting pod...");const{data:d,error:u}=await z(r,e.RESTART_POD,{namespace:a,name:c},t);u?n(C.Update,u):d?.restartPod&&o(C.Update,`Successfully restarted pod ${a}/${c}`)},recoverFromRollback:async a=>{if(t.isReadonly)return s();i("Recovering from rollback...");const{data:c,error:d}=await z(r,e.RECOVER_FROM_ROLLBACK,{sourceId:a},t);d?n(C.Update,d,a):c?.recoverFromRollbackForWorkload&&o(C.Update,"Successfully triggered recovery from rollback")}}})(t,r),s=((e,t)=>{const r=f(),{notifyError:a,notifySuccess:n,notifyReadonly:o}=K(g.Destination),{selectedStreamName:i}=G(),s=async()=>{const{error:n}=await Q(r,e.GET_DESTINATIONS,void 0,t);n&&a(C.Read,n)};return{useDestinations:()=>{const e=ae("GET_DESTINATIONS",void 0,{fetchPolicy:"cache-first"});return{items:e.data?.computePlatform?.destinations??e.data?.destinations??Se,loading:e.loading,refetch:s}},useDestinationCategories:()=>{const e=ae("GET_DESTINATION_CATEGORIES",void 0);return{data:e.data,loading:e.loading}},usePotentialDestinations:()=>{const e=ae("GET_POTENTIAL_DESTINATIONS",void 0);return{data:e.data,loading:e.loading}},fetchAll:s,testConnection:async a=>{const{data:n}=await z(r,e.TEST_DESTINATION_CONNECTION,{destination:ye(a,i)},t);return n},create:async c=>{if(t.isReadonly)return o();const{error:d}=await z(r,e.CREATE_DESTINATION,{destination:ye(c,i)},t);d?a(C.Create,d):(n(C.Create,`Successfully created "${c.type}" destination`),await s())},update:async(c,d)=>{if(t.isReadonly)return o();const{data:u,error:l}=await z(r,e.UPDATE_DESTINATION,{id:c,destination:ye(d,i)},t);l?a(C.Update,l,c):u?.updateDestination&&(n(C.Update,`Successfully updated "${d.type}" destination`,c),await s())},remove:async c=>{if(t.isReadonly)return o();const{data:d}=await Q(r,e.GET_DESTINATIONS,void 0,t,"cache-first"),u=d?.computePlatform?.destinations??d?.destinations??Se,l=u.find(e=>w(e)===c)?.destinationType?.type,{error:E}=await z(r,e.DELETE_DESTINATION,{id:c,currentStreamName:i},t);E?a(C.Delete,E,c):(n(C.Delete,`Successfully deleted "${l??c}" destination`,c),await s())}}})(t,r),c=((e,t)=>{const r=f(),{notifyError:a,notifySuccess:n,notifyReadonly:o}=K(g.Action),i=async()=>{const{error:n}=await Q(r,e.GET_ACTIONS,void 0,t);n&&a(C.Read,n)};return{useActions:()=>{const e=ae("GET_ACTIONS",void 0,{fetchPolicy:"cache-first"});return{items:e.data?.computePlatform?.actions??e.data?.actions??le,loading:e.loading,refetch:i}},fetchAll:i,create:async s=>{if(t.isReadonly)return o();if(!e.CREATE_ACTION)return;const{error:c}=await z(r,e.CREATE_ACTION,{action:s},t);c?a(C.Create,c):(n(C.Create,`Successfully created "${s.type}" action`),await i())},update:async(s,c)=>{if(t.isReadonly)return o();if(!e.UPDATE_ACTION)return;const{error:d}=await z(r,e.UPDATE_ACTION,{id:s,action:c},t);d?a(C.Update,d,s):(n(C.Update,`Successfully updated "${c.type}" action`,s),await i())},remove:async(s,c)=>{if(t.isReadonly)return o();if(!e.DELETE_ACTION)return;const{error:d}=await z(r,e.DELETE_ACTION,{id:s,actionType:c},t);d?a(C.Delete,d,s):(n(C.Delete,`Successfully deleted "${c}" action`,s),await i())}}})(t,r),d=((t,r)=>{const a=f(),{notifyError:n,notifySuccess:o,notifyReadonly:i}=K(g.InstrumentationRule),s=async()=>{const{error:e}=await Q(a,t.GET_INSTRUMENTATION_RULES,void 0,r);e&&n(C.Read,e)};return{useRules:()=>{const t=ae("GET_INSTRUMENTATION_RULES",void 0,{fetchPolicy:"cache-first"});return{items:e(()=>(t.data?.computePlatform?.instrumentationRules??t.data?.instrumentationRules??[]).map(M),[t.data]),loading:t.loading,refetch:s}},fetchAll:s,create:async(e,c)=>{if(r.isReadonly)return i();if(!t.CREATE_INSTRUMENTATION_RULE)return;const{error:d}=await z(a,t.CREATE_INSTRUMENTATION_RULE,{instrumentationRule:F(e)},r);d?n(C.Create,d):(o(C.Create,`Successfully created${c?` "${c}"`:""} rule`),await s())},update:async(e,c,d)=>{if(r.isReadonly)return i();if(!t.UPDATE_INSTRUMENTATION_RULE)return;const{error:u}=await z(a,t.UPDATE_INSTRUMENTATION_RULE,{ruleId:e,instrumentationRule:F(c)},r);u?n(C.Update,u,e):(o(C.Update,`Successfully updated${d?` "${d}"`:""} rule`,e),await s())},remove:async(e,c)=>{if(r.isReadonly)return i();if(!t.DELETE_INSTRUMENTATION_RULE)return;const{error:d}=await z(a,t.DELETE_INSTRUMENTATION_RULE,{ruleId:e},r);d?n(C.Delete,d,e):(o(C.Delete,`Successfully deleted${c?` "${c}"`:""} rule`,e),await s())}}})(t,r),u=((e,t)=>{const r=f(),{addNotification:a}=m(),{setDataStreams:n}=G(),i=(e,t)=>a({type:I.Error,title:e,message:t}),s=async()=>{const{data:a,error:o}=await Q(r,e.GET_DATA_STREAMS,void 0,t);if(o)i(C.Read,o);else if(a){const e=a.computePlatform?.dataStreams??a.dataStreams??[];n(e)}},c=e.CREATE_DATA_STREAM?async n=>{if(t.isReadonly)return V(a);const{error:o}=await z(r,e.CREATE_DATA_STREAM,{stream:n},t);o?i(C.Create,o):await s()}:void 0;return{useDataStreams:()=>{const e=ae("GET_DATA_STREAMS",void 0,{fetchPolicy:"cache-first"}),t=e.data?.computePlatform?.dataStreams??e.data?.dataStreams??_e;return o(()=>{n(t)},[JSON.stringify(t.map(e=>e.name))]),{items:t,loading:e.loading,refetch:s}},fetchAll:s,create:c,update:async(n,o)=>{if(t.isReadonly)return V(a);const{error:c}=await z(r,e.UPDATE_DATA_STREAM,{id:n,dataStream:o},t);c?i(C.Update,c):await s()},remove:async n=>{if(t.isReadonly)return V(a);const{error:o}=await z(r,e.DELETE_DATA_STREAM,{id:n},t);o?i(C.Delete,o):await s()}}})(t,r),l=((e,t)=>{const r=f(),{notifyError:a,notifyReadonly:n}=K(g.Namespace),o=async()=>{const n=await Q(r,e.GET_NAMESPACES_WITH_WORKLOADS,void 0,t);return n.error&&a(C.Read,n.error),n};return{useNamespaces:()=>{const e=ae("GET_NAMESPACES_WITH_WORKLOADS",void 0,{fetchPolicy:"cache-first"});return{items:e.data?.namespaces??Te,loading:e.loading,refetch:o}},fetchAll:o,persist:async o=>{if(t.isReadonly)return n();const{error:i}=await z(r,e.PERSIST_NAMESPACES,o,t);return i&&a(C.Update,i),i?{error:i}:void 0}}})(t,r),E=((e,t)=>{const r=f(),{notifyError:a}=K(g.Source);return{fetch:async n=>{const o=await Q(r,e.GET_K8S_MANIFEST,n,t);return o.error&&a(C.Read,o.error),o}}})(t,r),T=((e,t)=>{const r=f(),{notifyError:a,notifySuccess:n,notifyReadonly:o}=K(g.Source);return{useEffectiveConfig:(e,t)=>ae("GET_EFFECTIVE_CONFIG",e,t),useConfigYamls:e=>ae("GET_CONFIG_YAMLS",void 0,e),getEffectiveConfig:async a=>e.GET_EFFECTIVE_CONFIG?Q(r,e.GET_EFFECTIVE_CONFIG,{id:a},t):{error:"GET_EFFECTIVE_CONFIG not configured"},applyConfigurations:e.UPDATE_REMOTE_CONFIG?async(n,i)=>{if(t.isReadonly)return o();const{error:s}=await z(r,e.UPDATE_REMOTE_CONFIG,{formData:n,connectionIds:i},t);return s&&a(C.Update,s),s?{error:s}:void 0}:void 0,getConfigYamls:e.GET_CONFIG_YAMLS?async()=>Q(r,e.GET_CONFIG_YAMLS,void 0,t):void 0,updateLocalUiConfig:e.UPDATE_LOCAL_UI_CONFIG?async i=>{if(t.isReadonly)return o();const{error:s}=await z(r,e.UPDATE_LOCAL_UI_CONFIG,{config:i},t);return s?a(C.Update,s):n(C.Update,"Local UI configuration updated successfully"),s?{error:s}:void 0}:void 0,resetLocalUiConfigToDefaults:e.RESET_LOCAL_UI_CONFIG_TO_FACTORY_DEFAULTS?async()=>{if(t.isReadonly)return o();const{error:i}=await z(r,e.RESET_LOCAL_UI_CONFIG_TO_FACTORY_DEFAULTS,void 0,t);return i?a(C.Update,i):n(C.Update,"Local UI configuration reset to factory defaults"),i?{error:i}:void 0}:void 0}})(t,r),_=((e,t)=>{const r=f(),{apolloConfig:a}=Y();return{fetchDescribeOdigos:e.GET_DESCRIBE_ODIGOS?async()=>Q(r,e.GET_DESCRIBE_ODIGOS,void 0,t):void 0,fetchDescribeSource:e.GET_DESCRIBE_SOURCE?async a=>Q(r,e.GET_DESCRIBE_SOURCE,a,t):void 0,downloadDiagnose:e.GET_DIAGNOSE?async(n,o)=>{const i=await Q(r,e.GET_DIAGNOSE,{input:n,dryRun:o?.dryRun??!1},t),s=i?.data?.stats?.fileCount??0;return!i.error&&s>0&&!o?.dryRun&&await Ee(a),i}:void 0}})(t,r),S=((e,t)=>{const r=f(),{notifyError:a,notifyReadonly:n}=K(g.Source),o=async()=>{e.GET_TOKENS&&await Q(r,e.GET_TOKENS,void 0,t)};return{useTokens:()=>{const e=ae("GET_TOKENS",void 0,{fetchPolicy:"cache-first"});return{items:e.data??ie,loading:e.loading,refetch:o}},updateToken:e.UPDATE_TOKEN?async o=>{if(t.isReadonly)return n();const{error:i}=await z(r,e.UPDATE_TOKEN,{token:o},t);return i&&a(C.Update,i),i?{error:i}:void 0}:void 0}})(t,r),y=((e,t)=>{const r=f();return{useMetrics:e=>ae("GET_METRICS",void 0,e),fetch:async()=>Q(r,e.GET_METRICS,void 0,t)}})(t,r),R=((e,t)=>{const r=f();return{useServiceMap:e=>ae("GET_SERVICE_MAP",void 0,e),fetch:e.GET_SERVICE_MAP?async()=>Q(r,e.GET_SERVICE_MAP,void 0,t):void 0}})(t,r),p=((e,t)=>{const r=f();return{useSlots:e=>ae("GET_PROFILING_SLOTS",void 0,e),useSourceProfiling:(e,t)=>ae("GET_SOURCE_PROFILING",e,t),fetchSlots:e.GET_PROFILING_SLOTS?async()=>Q(r,e.GET_PROFILING_SLOTS,void 0,t):void 0,fetchSourceProfiling:e.GET_SOURCE_PROFILING?async a=>Q(r,e.GET_SOURCE_PROFILING,a,t):void 0,enableProfiling:e.ENABLE_SOURCE_PROFILING?async a=>z(r,e.ENABLE_SOURCE_PROFILING,a,t):void 0}})(t,r),O=((e,t)=>{const r=f();return{useGatewayInfo:e=>ae("GET_GATEWAY_INFO",void 0,e),useGatewayPods:e=>ae("GET_GATEWAY_PODS",void 0,e),useNodeCollectorInfo:e=>ae("GET_NODE_COLLECTOR_INFO",void 0,e),useNodeCollectorPods:e=>ae("GET_NODE_COLLECTOR_PODS",void 0,e),usePodInfo:(e,t)=>ae("GET_COLLECTOR_POD_INFO",e,t),getGatewayInfo:e.GET_GATEWAY_INFO?async()=>Q(r,e.GET_GATEWAY_INFO,void 0,t):void 0,getGatewayPods:e.GET_GATEWAY_PODS?async()=>Q(r,e.GET_GATEWAY_PODS,void 0,t):void 0,getNodeCollectorInfo:e.GET_NODE_COLLECTOR_INFO?async()=>Q(r,e.GET_NODE_COLLECTOR_INFO,void 0,t):void 0,getNodeCollectorPods:e.GET_NODE_COLLECTOR_PODS?async()=>Q(r,e.GET_NODE_COLLECTOR_PODS,void 0,t):void 0,getExtendedPodInfo:e.GET_COLLECTOR_POD_INFO?async(a,n)=>Q(r,e.GET_COLLECTOR_POD_INFO,{namespace:a,name:n},t):void 0}})(t,r),A=((e,t)=>{const r=f(),{notifyError:a,notifySuccess:n,notifyReadonly:o}=K(g.SamplingRule),i=async()=>{e.GET_SAMPLING_RULES&&await Q(r,e.GET_SAMPLING_RULES,void 0,t)},s=(e,s)=>e?async c=>{if(t.isReadonly)return o();const{error:d}=await z(r,e,c,t);return d?a(s,d):(n(C.Create,"Successfully created sampling rule"),await i()),d?{error:d}:void 0}:void 0,c=(e,s)=>e?async(c,d)=>{if(t.isReadonly)return o();const{error:u}=await z(r,e,{samplingId:d.samplingId,ruleId:c,rule:d.rule},t);return u?a(s,u):(n(C.Update,"Successfully updated sampling rule"),await i()),u?{error:u}:void 0}:void 0,d=e=>e?async(s,c)=>{if(t.isReadonly)return o();const{error:d}=await z(r,e,{samplingId:c,ruleId:s},t);return d?a(C.Delete,d):(n(C.Delete,"Successfully deleted sampling rule"),await i()),d?{error:d}:void 0}:void 0;return{useSamplingRules:()=>{const e=ae("GET_SAMPLING_RULES",void 0,{fetchPolicy:"cache-first"});return{items:e.data?.computePlatform?.samplingRules??e.data?.samplingRules??fe,k8sHealthProbesConfig:e.data?.computePlatform?.k8sHealthProbesConfig??e.data?.k8sHealthProbesConfig??null,loading:e.loading,refetch:i}},fetchAll:e.GET_SAMPLING_RULES?async()=>Q(r,e.GET_SAMPLING_RULES,void 0,t):void 0,createNoisy:s(e.CREATE_NOISY_OPERATION_RULE,C.Create),updateNoisy:c(e.UPDATE_NOISY_OPERATION_RULE,C.Update),deleteNoisy:d(e.DELETE_NOISY_OPERATION_RULE),createHighlyRelevant:s(e.CREATE_HIGHLY_RELEVANT_OPERATION_RULE,C.Create),updateHighlyRelevant:c(e.UPDATE_HIGHLY_RELEVANT_OPERATION_RULE,C.Update),deleteHighlyRelevant:d(e.DELETE_HIGHLY_RELEVANT_OPERATION_RULE),createCostReduction:s(e.CREATE_COST_REDUCTION_RULE,C.Create),updateCostReduction:c(e.UPDATE_COST_REDUCTION_RULE,C.Update),deleteCostReduction:d(e.DELETE_COST_REDUCTION_RULE),updateK8sHealthProbesConfig:e.UPDATE_LOCAL_UI_SAMPLING_CONFIG?async n=>{if(t.isReadonly)return o();const{error:s}=await z(r,e.UPDATE_LOCAL_UI_SAMPLING_CONFIG,{config:n},t);return s?a(C.Update,s):await i(),s?{error:s}:void 0}:void 0}})(t,r),N=((e,t)=>{const r=f();return{useSnapshots:()=>{const e=ae("GET_ALL_CLUSTER_SNAPSHOTS",void 0,{fetchPolicy:"cache-first"});return{data:e.data,loading:e.loading,unsupported:e.unsupported}},getAllClusterSnapshots:e.GET_ALL_CLUSTER_SNAPSHOTS?async()=>Q(r,e.GET_ALL_CLUSTER_SNAPSHOTS,void 0,t):void 0,getClusterSnapshot:e.GET_CLUSTER_SNAPSHOT?async a=>Q(r,e.GET_CLUSTER_SNAPSHOT,{clusterId:a},t):void 0}})(t,r);return{sourcesApi:i,destinationsApi:s,actionsApi:c,instrumentationRulesApi:d,dataStreamsApi:u,namespacesApi:l,k8sManifestApi:E,configApi:T,describeApi:_,tokensApi:S,metricsApi:y,serviceMapApi:R,profilingApi:p,collectorsApi:O,samplingApi:A,snapshotsApi:N,capabilities:e(()=>((e,t)=>{const r=t.platformType===h.Vm,a=t.tier===L.Onprem,n=!r;return{canBulkPersistSources:n&&!!e.PERSIST_SOURCES,canFetchSnapshots:n&&!!e.GET_ALL_CLUSTER_SNAPSHOTS,canRecoverFromRollback:n&&!!e.RECOVER_FROM_ROLLBACK,canRestartWorkloads:n&&!!e.RESTART_WORKLOADS,canFetchPeerSources:!!e.GET_PEER_SOURCES,canFetchSourceLibraries:!!e.GET_SOURCE_LIBRARIES,canFetchK8sManifest:n&&!!e.GET_K8S_MANIFEST,canCreateDestination:n&&!!e.CREATE_DESTINATION,canTestConnection:n&&!!e.TEST_DESTINATION_CONNECTION,canFetchDestinationCategories:!!e.GET_DESTINATION_CATEGORIES,canFetchPotentialDestinations:n&&!!e.GET_POTENTIAL_DESTINATIONS,canCreateAction:n&&!!e.CREATE_ACTION,canCreateInstrumentationRule:n&&!!e.CREATE_INSTRUMENTATION_RULE,canApplyEffectiveConfig:n&&!!e.UPDATE_REMOTE_CONFIG&&!!e.GET_EFFECTIVE_CONFIG,canFetchEffectiveConfig:!!e.GET_EFFECTIVE_CONFIG,canFetchConfigYamls:!!e.GET_CONFIG_YAMLS,canFetchProfiling:n&&!!e.GET_PROFILING_SLOTS,canFetchCollectorInfo:n&&!!e.GET_GATEWAY_INFO,canManageSamplingRules:!!e.GET_SAMPLING_RULES,isEnterprise:a,isVm:r}})(t,r),[t,r]),resetCache:a(async()=>{await n.cache.reset()},[n])}};export{H as O,W as _,se as a,oe as b,ae as c,Re as d,Y as e,X as f,ce as p,z as r,ne as u};
5
+ `,Z=(e,t)=>{if(e)return"function"==typeof e?e(t):e},ee=(e,t)=>e[t],te=(e,t,r)=>{if(void 0===t)return;return e?.transformResult?e.transformResult(t,r):t},re=(e,t,r)=>{if(!e)return;const a=e.transformVariables;return a?a(t,r):t},ae=(t,r,n)=>{const{operations:o,context:i}=H(),s=ee(o,t),c=e(()=>Z(s?.document,i),[s,i]),d=e(()=>re(s,r,i),[s,r,i]),u=!s||!c,l=!!s?.canRun&&!s.canRun(i),E=n?.skip||u||l,f=T(c??J,{variables:d,skip:E,pollInterval:n?.pollInterval,fetchPolicy:n?.fetchPolicy??"cache-and-network",notifyOnNetworkStatusChange:n?.notifyOnNetworkStatusChange,client:s?.client,onCompleted:n?.onCompleted?e=>{const t=te(s,e,i);void 0!==t&&n.onCompleted(t)}:void 0,onError:n?.onError}),_=e(()=>{if(!E)return te(s,f.data,i)},[s,i,f.data,E]),S=a(async()=>{if(u)return{data:void 0};const e=await f.refetch();return{data:te(s,e.data,i)}},[s,i,f,u]);return{data:_,loading:!E&&f.loading,error:f.error,refetch:S,unsupported:u}},ne=(t,r)=>{const{operations:n,context:o}=H(),i=ee(n,t),s=e(()=>Z(i?.document,o),[i,o]),c=!i||!s,[d,u]=E(s??J,{fetchPolicy:r?.fetchPolicy??"network-only",notifyOnNetworkStatusChange:r?.notifyOnNetworkStatusChange,client:i?.client});return{execute:a(async e=>{if(c)return{error:void 0};if(i?.canRun&&!i.canRun(o))return{data:void 0};const t=re(i,e,o),r=await d({variables:t});return r.error?{error:r.error}:{data:te(i,r.data,o)}},[i,o,d,c]),data:e(()=>te(i,u.data,o),[i,o,u.data]),loading:u.loading,error:u.error,called:u.called,unsupported:c}},oe=(t,r)=>{const{operations:o,context:i}=H(),s=f(),c=ee(o,t),d=e(()=>Z(c?.document,i),[c,i]),u=!c||!d,[l,E]=n({loading:!1,called:!1}),T=a(()=>E({loading:!1,called:!1}),[]);return[a(async e=>{if(u||!d)return{error:void 0};if(c?.canRun&&!c.canRun(i))return{data:void 0};const t=re(c,e,i),a=c?.client??s;E(e=>({...e,loading:!0,called:!0}));try{const e=await a.mutate({mutation:d,variables:t}),n=te(c,e.data,i);if(E({data:n,loading:!1,error:void 0,called:!0}),r?.refetchQueries){const e=a.refetchQueries({include:r.refetchQueries});r?.awaitRefetchQueries&&await e}return void 0!==n&&r?.onCompleted?.(n),{data:n}}catch(e){const t=e;return E({data:void 0,loading:!1,error:t,called:!0}),r?.onError?.(t),{error:t}}},[c,i,s,d,u,r]),{data:l.data,loading:l.loading,error:l.error,called:l.called,unsupported:u,reset:T}]},ie=[],se=(e,t,r,a)=>{let n=!0;const o={sources:[]};for(const[i,s]of Object.entries(e)){if(!s.length)continue;n=!1;const e=s.map(({id:e,selected:t,currentStreamName:a})=>({namespace:e.namespace,name:e.name,kind:e.kind,selected:void 0!==t&&t,currentStreamName:a||r}));let c=0,d=0;for(const r of e){const e=t.find(e=>e.id.namespace===i&&e.id.name===r.name&&e.id.kind===r.kind),a=e?.dataStreamNames||[];r.selected&&!e?c++:!r.selected&&e&&a.length<=1&&d++}a(c,d),o.sources.push(...e)}return{payload:o,isEmpty:n}},ce=(e,t)=>{let r=!0;const a={namespaces:[]};for(const[n,{selected:o,currentStreamName:i}]of Object.entries(e))"boolean"==typeof o&&(r=!1,a.namespaces.push({namespace:n,selected:o,currentStreamName:i||t}));return{payload:a,isEmpty:r}},de={filter:{markedForInstrumentation:!0}},ue=[],le=[],Ee=async e=>{const t=(e=>{try{return new URL("/diagnose/download",e).toString()}catch{return null}})(e.httpUrl);if(t)try{const[r,a]=await Promise.all([Promise.resolve(e.authHeader?.()??{}),Promise.resolve(e.csrfHeader?.()??{})]),n=await fetch(t,{credentials:e.credentials??"same-origin",headers:{...r,...a}});if(!n.ok)throw new Error(`Failed to download diagnose archive: ${n.status} ${n.statusText}`);((e,t)=>{if("undefined"==typeof document)return;const r=URL.createObjectURL(e),a=document.createElement("a");a.href=r,a.download=t,document.body.appendChild(a),a.click(),document.body.removeChild(a),URL.revokeObjectURL(r)})(await n.blob(),`odigos-diagnose-${Date.now()}.tar.gz`)}catch(e){}},fe=[],Te=[],_e=[],Se=[],ye=(e,t)=>({...e,fields:e.fields.filter(({value:e})=>void 0!==e),currentStreamName:t}),Re=()=>{const{operations:t,context:r}=H(),n=f(),i=((e,t)=>{const r=f(),{notifyError:n,notifySuccess:o,notifyPending:i,notifyReadonly:s}=x(h.Source),{selectedStreamName:c}=P(),{setProgress:d,resetProgress:u}=G(),{setConfiguredSources:l,setConfiguredFutureApps:E}=U(),T=(e,t)=>{const{progress:r}=G.getState();e>0&&d(v.Instrumenting,{total:(r[v.Instrumenting]?.total||0)+e,current:r[v.Instrumenting]?.current||0}),t>0&&d(v.Uninstrumenting,{total:(r[v.Uninstrumenting]?.total||0)+t,current:r[v.Uninstrumenting]?.current||0})},_=a(async()=>{const{error:a}=await Q(r,e.GET_WORKLOADS,de,t);a&&n(C.Read,a)},[r,e.GET_WORKLOADS,t,n]);return{useSources:()=>{const e=ae("GET_WORKLOADS",de,{fetchPolicy:"cache-first"});return{items:e.data?.workloads??ue,loading:e.loading,refetch:_}},fetchAll:_,fetchByTargets:async(a,o)=>{const i=!!o?.slim,s=a.map(e=>D(e,h.Source)).filter(e=>e.namespace&&e.name&&e.kind);if(0===s.length)return;if(s.length>50)return void await _();const c=i&&e.GET_WORKLOADS_BY_IDS_SLIM?e.GET_WORKLOADS_BY_IDS_SLIM:e.GET_WORKLOADS_BY_IDS,{error:d}=await Q(r,c,{ids:s.map(({namespace:e,kind:t,name:r})=>({namespace:e,kind:t,name:r}))},t);d?n(C.Read,d):await _()},fetchById:async a=>{const{data:o,error:i}=await Q(r,e.GET_WORKLOADS_BY_IDS,{ids:[{namespace:a.namespace,kind:a.kind,name:a.name}]},t);if(!i)return await _(),o?.workloadsByIds?.find(e=>e.id.namespace===a.namespace&&e.id.kind===a.kind&&e.id.name===a.name);n(C.Read,i)},fetchLibraries:async a=>Q(r,e.GET_SOURCE_LIBRARIES,a,t),fetchPeerSources:async a=>Q(r,e.GET_PEER_SOURCES,{serviceName:a},t),usePeerSources:(e,t)=>ae("GET_PEER_SOURCES",e,t),persist:async(a,o)=>{if(t.isReadonly)return s();const{data:d}=await Q(r,e.GET_WORKLOADS,de,t,"cache-first"),f=d?.workloads??ue,{payload:_,isEmpty:S}=se(a,f,c,T),{payload:y,isEmpty:R}=ce(o,c);let p=!1;S||(p=!0,i("Persisting sources...")),R||p||i("Persisting namespaces...");const{error:m}=await X(r,e.PERSIST_SOURCES,_,t);if(m&&(u(v.Instrumenting),u(v.Uninstrumenting),n(C.Update,m)),e.PERSIST_NAMESPACES){const{error:a}=await X(r,e.PERSIST_NAMESPACES,y,t);a&&n(C.Update,a)}l({}),E({})},persistV2:async a=>{if(t.isReadonly)return s(),{error:"readonly"};const n=[];for(const[,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);if(i.namespaces.length>0&&e.PERSIST_NAMESPACES){const{error:a}=await X(r,e.PERSIST_NAMESPACES,i,t);a&&n.push(a)}if(a.sources.length>0){const{error:o}=await X(r,e.PERSIST_SOURCES,a,t);o&&n.push(o)}}return n.length?{error:n.join(", ")}:void 0},update:async(a,d)=>{if(t.isReadonly)return s();i("Updating source...");const u={sourceId:a,patchSourceRequest:{...d,currentStreamName:c}},{data:l,error:E}=await X(r,e.UPDATE_SOURCE,u,t);E?n(C.Update,E,a):l?.updateK8sActualSource&&o(C.Update,`Successfully updated "${a.name}" source`,a)},restartWorkloads:async a=>{if(t.isReadonly)return s();i("Restarting sources...");const{data:c,error:d}=await X(r,e.RESTART_WORKLOADS,{sourceIds:a},t);d?n(C.Update,d):c?.restartWorkloads&&o(C.Update,`Successfully restarted ${a.length} sources`)},restartPod:async(a,c)=>{if(t.isReadonly)return s();i("Restarting pod...");const{data:d,error:u}=await X(r,e.RESTART_POD,{namespace:a,name:c},t);u?n(C.Update,u):d?.restartPod&&o(C.Update,`Successfully restarted pod ${a}/${c}`)},recoverFromRollback:async a=>{if(t.isReadonly)return s();i("Recovering from rollback...");const{data:c,error:d}=await X(r,e.RECOVER_FROM_ROLLBACK,{sourceId:a},t);d?n(C.Update,d,a):c?.recoverFromRollbackForWorkload&&o(C.Update,"Successfully triggered recovery from rollback")}}})(t,r),s=((e,t)=>{const r=f(),{notifyError:a,notifySuccess:n,notifyReadonly:o}=x(h.Destination),{selectedStreamName:i}=P(),s=async()=>{const{error:n}=await Q(r,e.GET_DESTINATIONS,void 0,t);n&&a(C.Read,n)};return{useDestinations:()=>{const e=ae("GET_DESTINATIONS",void 0,{fetchPolicy:"cache-first"});return{items:e.data?.computePlatform?.destinations??e.data?.destinations??Se,loading:e.loading,refetch:s}},useDestinationCategories:()=>{const e=ae("GET_DESTINATION_CATEGORIES",void 0);return{data:e.data,loading:e.loading}},usePotentialDestinations:()=>{const e=ae("GET_POTENTIAL_DESTINATIONS",void 0);return{data:e.data,loading:e.loading}},fetchAll:s,testConnection:async a=>{const{data:n}=await X(r,e.TEST_DESTINATION_CONNECTION,{destination:ye(a,i)},t);return n},create:async c=>{if(t.isReadonly)return o();const{error:d}=await X(r,e.CREATE_DESTINATION,{destination:ye(c,i)},t);d?a(C.Create,d):(n(C.Create,`Successfully created "${c.type}" destination`),await s())},update:async(c,d)=>{if(t.isReadonly)return o();const{data:u,error:l}=await X(r,e.UPDATE_DESTINATION,{id:c,destination:ye(d,i)},t);l?a(C.Update,l,c):u?.updateDestination&&(n(C.Update,`Successfully updated "${d.type}" destination`,c),await s())},remove:async c=>{if(t.isReadonly)return o();const{data:d}=await Q(r,e.GET_DESTINATIONS,void 0,t,"cache-first"),u=d?.computePlatform?.destinations??d?.destinations??Se,l=u.find(e=>w(e)===c)?.destinationType?.type,{error:E}=await X(r,e.DELETE_DESTINATION,{id:c,currentStreamName:i},t);E?a(C.Delete,E,c):(n(C.Delete,`Successfully deleted "${l??c}" destination`,c),await s())}}})(t,r),c=((e,t)=>{const r=f(),{notifyError:a,notifySuccess:n,notifyReadonly:o}=x(h.Action),i=async()=>{const{error:n}=await Q(r,e.GET_ACTIONS,void 0,t);n&&a(C.Read,n)};return{useActions:()=>{const e=ae("GET_ACTIONS",void 0,{fetchPolicy:"cache-first"});return{items:e.data?.computePlatform?.actions??e.data?.actions??le,loading:e.loading,refetch:i}},fetchAll:i,create:async s=>{if(t.isReadonly)return o();if(!e.CREATE_ACTION)return;const{error:c}=await X(r,e.CREATE_ACTION,{action:s},t);c?a(C.Create,c):(n(C.Create,`Successfully created "${s.type}" action`),await i())},update:async(s,c)=>{if(t.isReadonly)return o();if(!e.UPDATE_ACTION)return;const{error:d}=await X(r,e.UPDATE_ACTION,{id:s,action:c},t);d?a(C.Update,d,s):(n(C.Update,`Successfully updated "${c.type}" action`,s),await i())},remove:async(s,c)=>{if(t.isReadonly)return o();if(!e.DELETE_ACTION)return;const{error:d}=await X(r,e.DELETE_ACTION,{id:s,actionType:c},t);d?a(C.Delete,d,s):(n(C.Delete,`Successfully deleted "${c}" action`,s),await i())}}})(t,r),d=((t,r)=>{const a=f(),{notifyError:n,notifySuccess:o,notifyReadonly:i}=x(h.InstrumentationRule),s=async()=>{const{error:e}=await Q(a,t.GET_INSTRUMENTATION_RULES,void 0,r);e&&n(C.Read,e)};return{useRules:()=>{const t=ae("GET_INSTRUMENTATION_RULES",void 0,{fetchPolicy:"cache-first"});return{items:e(()=>(t.data?.computePlatform?.instrumentationRules??t.data?.instrumentationRules??[]).map(M),[t.data]),loading:t.loading,refetch:s}},fetchAll:s,create:async(e,c)=>{if(r.isReadonly)return i();if(!t.CREATE_INSTRUMENTATION_RULE)return;const{error:d}=await X(a,t.CREATE_INSTRUMENTATION_RULE,{instrumentationRule:F(e)},r);d?n(C.Create,d):(o(C.Create,`Successfully created${c?` "${c}"`:""} rule`),await s())},update:async(e,c,d)=>{if(r.isReadonly)return i();if(!t.UPDATE_INSTRUMENTATION_RULE)return;const{error:u}=await X(a,t.UPDATE_INSTRUMENTATION_RULE,{ruleId:e,instrumentationRule:F(c)},r);u?n(C.Update,u,e):(o(C.Update,`Successfully updated${d?` "${d}"`:""} rule`,e),await s())},remove:async(e,c)=>{if(r.isReadonly)return i();if(!t.DELETE_INSTRUMENTATION_RULE)return;const{error:d}=await X(a,t.DELETE_INSTRUMENTATION_RULE,{ruleId:e},r);d?n(C.Delete,d,e):(o(C.Delete,`Successfully deleted${c?` "${c}"`:""} rule`,e),await s())}}})(t,r),u=((e,t)=>{const r=f(),{addNotification:a}=m(),{setDataStreams:n}=P(),i=(e,t)=>a({type:I.Error,title:e,message:t}),s=async()=>{const{data:a,error:o}=await Q(r,e.GET_DATA_STREAMS,void 0,t);if(o)i(C.Read,o);else if(a){const e=a.computePlatform?.dataStreams??a.dataStreams??[];n(e)}},c=e.CREATE_DATA_STREAM?async n=>{if(t.isReadonly)return K(a);const{error:o}=await X(r,e.CREATE_DATA_STREAM,{stream:n},t);o?i(C.Create,o):await s()}:void 0;return{useDataStreams:()=>{const e=ae("GET_DATA_STREAMS",void 0,{fetchPolicy:"cache-first"}),t=e.data?.computePlatform?.dataStreams??e.data?.dataStreams??_e;return o(()=>{n(t)},[JSON.stringify(t.map(e=>e.name))]),{items:t,loading:e.loading,refetch:s}},fetchAll:s,create:c,update:async(n,o)=>{if(t.isReadonly)return K(a);const{error:c}=await X(r,e.UPDATE_DATA_STREAM,{id:n,dataStream:o},t);c?i(C.Update,c):await s()},remove:async n=>{if(t.isReadonly)return K(a);const{error:o}=await X(r,e.DELETE_DATA_STREAM,{id:n},t);o?i(C.Delete,o):await s()}}})(t,r),l=((e,t)=>{const r=f(),{notifyError:a,notifyReadonly:n}=x(h.Namespace),o=async()=>{const n=await Q(r,e.GET_NAMESPACES_WITH_WORKLOADS,void 0,t);return n.error&&a(C.Read,n.error),n};return{useNamespaces:()=>{const e=ae("GET_NAMESPACES_WITH_WORKLOADS",void 0,{fetchPolicy:"cache-first"});return{items:e.data?.namespaces??Te,loading:e.loading,refetch:o}},fetchAll:o,persist:async o=>{if(t.isReadonly)return n();const{error:i}=await X(r,e.PERSIST_NAMESPACES,o,t);return i&&a(C.Update,i),i?{error:i}:void 0}}})(t,r),E=((e,t)=>{const r=f(),{notifyError:a}=x(h.Source);return{fetch:async n=>{const o=await Q(r,e.GET_K8S_MANIFEST,n,t);return o.error&&a(C.Read,o.error),o}}})(t,r),T=((e,t)=>{const r=f(),{notifyError:a,notifySuccess:n,notifyReadonly:o}=x(h.Source);return{useEffectiveConfig:(e,t)=>ae("GET_EFFECTIVE_CONFIG",e,t),useConfigYamls:e=>ae("GET_CONFIG_YAMLS",void 0,e),getEffectiveConfig:async a=>e.GET_EFFECTIVE_CONFIG?Q(r,e.GET_EFFECTIVE_CONFIG,{id:a},t):{error:"GET_EFFECTIVE_CONFIG not configured"},applyConfigurations:e.UPDATE_REMOTE_CONFIG?async(n,i)=>{if(t.isReadonly)return o();const{error:s}=await X(r,e.UPDATE_REMOTE_CONFIG,{formData:n,connectionIds:i},t);return s&&a(C.Update,s),s?{error:s}:void 0}:void 0,getConfigYamls:e.GET_CONFIG_YAMLS?async()=>Q(r,e.GET_CONFIG_YAMLS,void 0,t):void 0,updateLocalUiConfig:e.UPDATE_LOCAL_UI_CONFIG?async i=>{if(t.isReadonly)return o();const{error:s}=await X(r,e.UPDATE_LOCAL_UI_CONFIG,{config:i},t);return s?a(C.Update,s):n(C.Update,"Local UI configuration updated successfully"),s?{error:s}:void 0}:void 0,resetLocalUiConfigToDefaults:e.RESET_LOCAL_UI_CONFIG_TO_FACTORY_DEFAULTS?async()=>{if(t.isReadonly)return o();const{error:i}=await X(r,e.RESET_LOCAL_UI_CONFIG_TO_FACTORY_DEFAULTS,void 0,t);return i?a(C.Update,i):n(C.Update,"Local UI configuration reset to factory defaults"),i?{error:i}:void 0}:void 0}})(t,r),_=((e,t)=>{const r=f(),{apolloConfig:a}=H();return{fetchDescribeOdigos:e.GET_DESCRIBE_ODIGOS?async()=>Q(r,e.GET_DESCRIBE_ODIGOS,void 0,t):void 0,fetchDescribeSource:e.GET_DESCRIBE_SOURCE?async a=>Q(r,e.GET_DESCRIBE_SOURCE,a,t):void 0,downloadDiagnose:e.GET_DIAGNOSE?async(n,o)=>{const i=await Q(r,e.GET_DIAGNOSE,{input:n,dryRun:o?.dryRun??!1},t),s=i?.data?.stats?.fileCount??0;return!i.error&&s>0&&!o?.dryRun&&await Ee(a),i}:void 0}})(t,r),S=((e,t)=>{const r=f(),{notifyError:a,notifyReadonly:n}=x(h.Source),o=async()=>{e.GET_TOKENS&&await Q(r,e.GET_TOKENS,void 0,t)};return{useTokens:()=>{const e=ae("GET_TOKENS",void 0,{fetchPolicy:"cache-first"});return{items:e.data??ie,loading:e.loading,refetch:o}},updateToken:e.UPDATE_TOKEN?async o=>{if(t.isReadonly)return n();const{error:i}=await X(r,e.UPDATE_TOKEN,{token:o},t);return i&&a(C.Update,i),i?{error:i}:void 0}:void 0}})(t,r),y=((e,t)=>{const r=f();return{useMetrics:e=>ae("GET_METRICS",void 0,e),fetch:async()=>Q(r,e.GET_METRICS,void 0,t)}})(t,r),R=((e,t)=>{const r=f();return{useServiceMap:e=>ae("GET_SERVICE_MAP",void 0,e),fetch:e.GET_SERVICE_MAP?async()=>Q(r,e.GET_SERVICE_MAP,void 0,t):void 0}})(t,r),p=((e,t)=>{const r=f();return{useSlots:e=>ae("GET_PROFILING_SLOTS",void 0,e),useSourceProfiling:(e,t)=>ae("GET_SOURCE_PROFILING",e,t),fetchSlots:e.GET_PROFILING_SLOTS?async()=>Q(r,e.GET_PROFILING_SLOTS,void 0,t):void 0,fetchSourceProfiling:e.GET_SOURCE_PROFILING?async a=>Q(r,e.GET_SOURCE_PROFILING,a,t):void 0,enableProfiling:e.ENABLE_SOURCE_PROFILING?async a=>X(r,e.ENABLE_SOURCE_PROFILING,a,t):void 0}})(t,r),O=((e,t)=>{const r=f();return{useGatewayInfo:e=>ae("GET_GATEWAY_INFO",void 0,e),useGatewayPods:e=>ae("GET_GATEWAY_PODS",void 0,e),useNodeCollectorInfo:e=>ae("GET_NODE_COLLECTOR_INFO",void 0,e),useNodeCollectorPods:e=>ae("GET_NODE_COLLECTOR_PODS",void 0,e),usePodInfo:(e,t)=>ae("GET_COLLECTOR_POD_INFO",e,t),getGatewayInfo:e.GET_GATEWAY_INFO?async()=>Q(r,e.GET_GATEWAY_INFO,void 0,t):void 0,getGatewayPods:e.GET_GATEWAY_PODS?async()=>Q(r,e.GET_GATEWAY_PODS,void 0,t):void 0,getNodeCollectorInfo:e.GET_NODE_COLLECTOR_INFO?async()=>Q(r,e.GET_NODE_COLLECTOR_INFO,void 0,t):void 0,getNodeCollectorPods:e.GET_NODE_COLLECTOR_PODS?async()=>Q(r,e.GET_NODE_COLLECTOR_PODS,void 0,t):void 0,getExtendedPodInfo:e.GET_COLLECTOR_POD_INFO?async(a,n)=>Q(r,e.GET_COLLECTOR_POD_INFO,{namespace:a,name:n},t):void 0}})(t,r),A=((e,t)=>{const r=f(),{notifyError:a,notifySuccess:n,notifyReadonly:o}=x(h.SamplingRule),i=async()=>{e.GET_SAMPLING_RULES&&await Q(r,e.GET_SAMPLING_RULES,void 0,t)},s=(e,s)=>e?async c=>{if(t.isReadonly)return o();const{error:d}=await X(r,e,c,t);return d?a(s,d):(n(C.Create,"Successfully created sampling rule"),await i()),d?{error:d}:void 0}:void 0,c=(e,s)=>e?async(c,d)=>{if(t.isReadonly)return o();const{error:u}=await X(r,e,{samplingId:d.samplingId,ruleId:c,rule:d.rule},t);return u?a(s,u):(n(C.Update,"Successfully updated sampling rule"),await i()),u?{error:u}:void 0}:void 0,d=e=>e?async(s,c)=>{if(t.isReadonly)return o();const{error:d}=await X(r,e,{samplingId:c,ruleId:s},t);return d?a(C.Delete,d):(n(C.Delete,"Successfully deleted sampling rule"),await i()),d?{error:d}:void 0}:void 0;return{useSamplingRules:()=>{const e=ae("GET_SAMPLING_RULES",void 0,{fetchPolicy:"cache-first"});return{items:e.data?.computePlatform?.samplingRules??e.data?.samplingRules??fe,k8sHealthProbesConfig:e.data?.computePlatform?.k8sHealthProbesConfig??e.data?.k8sHealthProbesConfig??null,loading:e.loading,refetch:i}},fetchAll:e.GET_SAMPLING_RULES?async()=>Q(r,e.GET_SAMPLING_RULES,void 0,t):void 0,createNoisy:s(e.CREATE_NOISY_OPERATION_RULE,C.Create),updateNoisy:c(e.UPDATE_NOISY_OPERATION_RULE,C.Update),deleteNoisy:d(e.DELETE_NOISY_OPERATION_RULE),createHighlyRelevant:s(e.CREATE_HIGHLY_RELEVANT_OPERATION_RULE,C.Create),updateHighlyRelevant:c(e.UPDATE_HIGHLY_RELEVANT_OPERATION_RULE,C.Update),deleteHighlyRelevant:d(e.DELETE_HIGHLY_RELEVANT_OPERATION_RULE),createCostReduction:s(e.CREATE_COST_REDUCTION_RULE,C.Create),updateCostReduction:c(e.UPDATE_COST_REDUCTION_RULE,C.Update),deleteCostReduction:d(e.DELETE_COST_REDUCTION_RULE),updateK8sHealthProbesConfig:e.UPDATE_LOCAL_UI_SAMPLING_CONFIG?async n=>{if(t.isReadonly)return o();const{error:s}=await X(r,e.UPDATE_LOCAL_UI_SAMPLING_CONFIG,{config:{k8sHealthProbesSampling:n}},t);return s?a(C.Update,s):await i(),s?{error:s}:void 0}:void 0}})(t,r),N=((e,t)=>{const r=f();return{useSnapshots:()=>{const e=ae("GET_ALL_CLUSTER_SNAPSHOTS",void 0,{fetchPolicy:"cache-first"});return{data:e.data,loading:e.loading,unsupported:e.unsupported}},getAllClusterSnapshots:e.GET_ALL_CLUSTER_SNAPSHOTS?async()=>Q(r,e.GET_ALL_CLUSTER_SNAPSHOTS,void 0,t):void 0,getClusterSnapshot:e.GET_CLUSTER_SNAPSHOT?async a=>Q(r,e.GET_CLUSTER_SNAPSHOT,{clusterId:a},t):void 0}})(t,r);return{sourcesApi:i,destinationsApi:s,actionsApi:c,instrumentationRulesApi:d,dataStreamsApi:u,namespacesApi:l,k8sManifestApi:E,configApi:T,describeApi:_,tokensApi:S,metricsApi:y,serviceMapApi:R,profilingApi:p,collectorsApi:O,samplingApi:A,snapshotsApi:N,capabilities:e(()=>((e,t)=>{const r=t.platformType===g.Vm,a=t.tier===L.Onprem,n=!r;return{canBulkPersistSources:n&&!!e.PERSIST_SOURCES,canInstrumentNamespaces:n&&!!e.PERSIST_NAMESPACES,canFetchSnapshots:n&&!!e.GET_ALL_CLUSTER_SNAPSHOTS,canRecoverFromRollback:n&&!!e.RECOVER_FROM_ROLLBACK,canRestartWorkloads:n&&!!e.RESTART_WORKLOADS,canFetchPeerSources:!!e.GET_PEER_SOURCES,canFetchSourceLibraries:!!e.GET_SOURCE_LIBRARIES,canFetchK8sManifest:n&&!!e.GET_K8S_MANIFEST,canCreateDestination:n&&!!e.CREATE_DESTINATION,canTestConnection:n&&!!e.TEST_DESTINATION_CONNECTION,canFetchDestinationCategories:!!e.GET_DESTINATION_CATEGORIES,canFetchPotentialDestinations:n&&!!e.GET_POTENTIAL_DESTINATIONS,canCreateAction:n&&!!e.CREATE_ACTION,canCreateInstrumentationRule:n&&!!e.CREATE_INSTRUMENTATION_RULE,canApplyEffectiveConfig:n&&!!e.UPDATE_REMOTE_CONFIG&&!!e.GET_EFFECTIVE_CONFIG,canFetchEffectiveConfig:!!e.GET_EFFECTIVE_CONFIG,canFetchConfigYamls:!!e.GET_CONFIG_YAMLS,canFetchProfiling:n&&!!e.GET_PROFILING_SLOTS,canFetchCollectorInfo:n&&!!e.GET_GATEWAY_INFO,canManageSamplingRules:!!e.GET_SAMPLING_RULES,isEnterprise:a,isVm:r}})(t,r),[t,r]),resetCache:a(async()=>{await n.cache.reset()},[n])}};export{Y as O,W as _,se as a,oe as b,ae as c,Re as d,H as e,z as f,ce as p,X as r,ne as u};
@@ -1,10 +1,11 @@
1
1
  import { type FC } from 'react';
2
- import type { SVG } from '@/types';
2
+ import { SVG, StatusType } from '@/types';
3
3
  export interface IconGroupProps {
4
4
  icons?: SVG[];
5
5
  icon?: SVG;
6
6
  iconSrc?: string;
7
- smallIconSize?: number;
8
- largeIconSize?: number;
7
+ status?: StatusType;
8
+ size?: number;
9
+ padding?: number;
9
10
  }
10
11
  export declare const IconGroup: FC<IconGroupProps>;
@@ -1,11 +1,11 @@
1
1
  import { type FC } from 'react';
2
2
  import type { SVG } from '@/types';
3
3
  import { type ButtonProps } from '../button';
4
- export interface NoDataProps {
4
+ export type NoDataProps = {
5
5
  icon?: SVG;
6
6
  hideIcon?: boolean;
7
7
  title?: string;
8
8
  subTitle?: string;
9
9
  button?: Omit<ButtonProps, 'variant'>;
10
- }
10
+ };
11
11
  export declare const NoData: FC<NoDataProps>;
@@ -1 +1 @@
1
- export{eH as Autocomplete,ax as Badge,ae as Button,af as ButtonSize,gl as ButtonTab,gm as ButtonTabList,ag as ButtonVariants,a5 as Checkbox,gn as CheckboxList,di as CheckboxSize,bh as CliCommand,bb as Condition,a$ as Conditions,go as DEFAULT_TIME_UNITS,a_ as DataCard,l as Drawer,bV as DropData,bX as DropDataAlignX,bW as DropDataAlignY,aN as DropDown,a6 as FieldMessage,a4 as FieldTitle,dz as GaugeChart,gp as GaugeChartVariant,gq as Header,gr as HoverActions,aO as IconButton,aP as IconButtonSize,bn as IconGroup,an as Input,ab as InputList,a7 as InputTable,db as Island,aQ as Loader,b_ as Modal,gs as Navbar,N as NoData,q as Note,ak as Radio,gt as RadioGroup,am as RadioSize,bj as Search,aJ as SectionCard,gu as SectionCardSize,ah as Segment,ap as SegmentSize,bx as SegmentVariant,dy as StatusCard,dc as Stepper,bz as Table,bA as TableVariant,b5 as Tag,bg as TagVariants,ar as TextArea,dA as TextCard,dT as TimeInput,a9 as Toggle,aa as ToggleLabelAlign,gv as ToggleList,aU as ToggleSize,gw as ToggleVariant,ao as TruncatableTypography,f as Typography,ad as TypographyColor,h as TypographySize,aV as TypographyVariants,aA as WarningModal,gx as resolveTypographyColor}from"../chunks/ui-components-D_eeOuIL.js";import"react/jsx-runtime";import"styled-components";import"../icons.js";import"zustand";import"react";import"javascript-time-ago";import"javascript-time-ago/locale/en";import"prism-react-renderer";import"../chunks/vendor-BFqT13Me.js";import"zustand/middleware";import"react-error-boundary";import"react-dom";import"virtua";
1
+ export{eD as Autocomplete,B as Badge,ac as Button,ad as ButtonSize,gi as ButtonTab,gj as ButtonTabList,ae as ButtonVariants,M as Checkbox,gk as CheckboxList,dd as CheckboxSize,bf as CliCommand,b9 as Condition,aZ as Conditions,gl as DEFAULT_TIME_UNITS,aY as DataCard,a9 as Drawer,bQ as DropData,bS as DropDataAlignX,bR as DropDataAlignY,aL as DropDown,a3 as FieldMessage,a2 as FieldTitle,dv as GaugeChart,gm as GaugeChartVariant,gn as Header,go as HoverActions,aM as IconButton,aN as IconButtonSize,w as IconGroup,al as Input,a8 as InputList,a4 as InputTable,d6 as Island,aO as Loader,bV as Modal,gp as Navbar,N as NoData,R as Note,ai as Radio,gq as RadioGroup,ak as RadioSize,z as Search,aH as SectionCard,gr as SectionCardSize,af as Segment,ao as SegmentSize,bs as SegmentVariant,du as StatusCard,d7 as Stepper,bu as Table,bv as TableVariant,b3 as Tag,be as TagVariants,aq as TextArea,dw as TextCard,dP as TimeInput,a6 as Toggle,a7 as ToggleLabelAlign,gs as ToggleList,aS as ToggleSize,gt as ToggleVariant,an as TruncatableTypography,b as Typography,ab as TypographyColor,c as TypographySize,aT as TypographyVariants,ay as WarningModal,gu as resolveTypographyColor}from"../chunks/ui-components-B1TCLO_N.js";import"react/jsx-runtime";import"styled-components";import"../icons.js";import"zustand";import"react";import"javascript-time-ago";import"javascript-time-ago/locale/en";import"prism-react-renderer";import"../chunks/vendor-BFqT13Me.js";import"zustand/middleware";import"react-error-boundary";import"react-dom";import"virtua";
package/lib/components.js CHANGED
@@ -1 +1 @@
1
- export{aM as CenterThis,eN as Code,m as Divider,g3 as ErrorBoundary,g4 as FadeLoader,F as FlexColumn,n as FlexRow,g5 as IconButton,I as IconGroup,g6 as IconWrapped,g7 as ImageControlled,g8 as LoadingText,g9 as ModalBody,ga as NotificationNote,gb as Overlay,aZ as Padding,da as PageContent,e as Popup,gc as ScrollX,bk as ScrollY,bo as SkeletonLoader,gd as TableContainer,ge as TableTitleWrap,gf as TableWrap,T as Text,gg as ToggleCodeComponent,av as Tooltip,dB as UpgradeRequiredWrapper,gh as VerticalScroll,gi as getLinksFromText,gj as getStrongsFromText,gk as renderText}from"./chunks/ui-components-D_eeOuIL.js";import"react/jsx-runtime";import"styled-components";import"./icons.js";import"zustand";import"react";import"javascript-time-ago";import"javascript-time-ago/locale/en";import"prism-react-renderer";import"./chunks/vendor-BFqT13Me.js";import"zustand/middleware";import"react-error-boundary";import"react-dom";import"virtua";
1
+ export{aK as CenterThis,eJ as Code,am as Divider,f_ as ErrorBoundary,f$ as FadeLoader,a1 as FlexColumn,y as FlexRow,g0 as IconButton,g1 as IconGroup,g2 as IconWrapped,g3 as ImageControlled,g4 as LoadingText,g5 as ModalBody,g6 as NotificationNote,g7 as Overlay,aX as Padding,d5 as PageContent,a as Popup,g8 as ScrollX,L as ScrollY,bj as SkeletonLoader,g9 as TableContainer,ga as TableTitleWrap,gb as TableWrap,gc as Text,gd as ToggleCodeComponent,au as Tooltip,dx as UpgradeRequiredWrapper,ge as VerticalScroll,gf as getLinksFromText,gg as getStrongsFromText,gh as renderText}from"./chunks/ui-components-B1TCLO_N.js";import"react/jsx-runtime";import"styled-components";import"./icons.js";import"zustand";import"react";import"javascript-time-ago";import"javascript-time-ago/locale/en";import"prism-react-renderer";import"./chunks/vendor-BFqT13Me.js";import"zustand/middleware";import"react-error-boundary";import"react-dom";import"virtua";
@@ -178,6 +178,7 @@ export declare const DISPLAY_TITLES: {
178
178
  SEARCH_NAMESPACES: string;
179
179
  SEARCH_SOURCES: string;
180
180
  SELECT_ALL: string;
181
+ UNSELECT_ALL: string;
181
182
  ONLY_SELECTED: string;
182
183
  ONLY_RUNNING_INSTANCES: string;
183
184
  TO_COLLECT_OTEL_DATA: string;
package/lib/constants.js CHANGED
@@ -1 +1 @@
1
- export{A as ACTION_OPTIONS,fJ as ALL_SOURCES,bC as BTN_CANCEL,dF as BTN_CREATE_FIRST_RULE,bJ as BTN_CREATE_RULE,bF as BTN_DELETE_RULE,dV as BTN_EDIT_AUTO_RULE,bE as BTN_EDIT_RULE,bR as BTN_SAVE,bD as BTN_SAVE_RULE,aY as BUTTON_TEXTS,bG as CATEGORY_DESCRIPTIONS,ex as CATEGORY_LABELS,bK as CATEGORY_TITLES,fK as CREATE_COST_REDUCTION_AUTO_RULE_DRAWER_TITLE,fL as CREATE_HIGHLY_RELEVANT_AUTO_RULE_DRAWER_TITLE,fM as CREATE_NOISY_AUTO_RULE_DRAWER_TITLE,aX as DEFAULT_CLUSTER_ID,aW as DEFAULT_CLUSTER_NAME,dt as DEFAULT_DATA_STREAM_NAME,e0 as DESC_DURATION,d$ as DESC_ERRORS,e3 as DESC_OPERATION,fN as DESC_PERCENTAGE_HIGHLY_RELEVANT,aF as DESC_PERCENTAGE_NOISY,ey as DESC_RULE_TYPE,eG as DESC_SOURCE_SCOPE,aR as DESTINATION_CATEGORIES,ay as DISPLAY_LANGUAGES,D as DISPLAY_TITLES,aq as DOCS_BASE_URL,C as DestinationCategoryTypes,bN as EDIT_COST_REDUCTION_AUTO_RULE_DRAWER_SUBTITLE,bO as EDIT_COST_REDUCTION_AUTO_RULE_DRAWER_TITLE,bL as EDIT_HIGHLY_RELEVANT_AUTO_RULE_DRAWER_SUBTITLE,bM as EDIT_HIGHLY_RELEVANT_AUTO_RULE_DRAWER_TITLE,bP as EDIT_NOISY_AUTO_RULE_DRAWER_SUBTITLE,bQ as EDIT_NOISY_AUTO_RULE_DRAWER_TITLE,bH as EDIT_TITLES,ef as EMPTY_VALUE,al as EXTRACTION_FORMAT_COPY,ai as EXTRACT_ATTRIBUTE_FORM,dD as FILTER_TYPE_ALL,y as FORM_ALERTS,M as INSTRUMENTATION_RULE_OPTIONS,e1 as LABEL_CUSTOM_DURATION,aK as LABEL_CUSTOM_PERCENTAGE,aI as LABEL_DISABLED,dC as LABEL_DISABLED_RULE,ep as LABEL_DROP_ALL,aC as LABEL_DROP_AT_MOST,aH as LABEL_ENABLED,e8 as LABEL_HTTP_ROUTE,ea as LABEL_HTTP_ROUTE_PREFIX,ec as LABEL_KAFKA_TOPIC,eq as LABEL_KEEP_ALL,em as LABEL_KEEP_AT_LEAST,en as LABEL_KEEP_AT_MOST,el as LABEL_KEEP_PERCENTAGE,d_ as LABEL_KEEP_TRACES_DURATION,dY as LABEL_KEEP_TRACES_ERRORS,eb as LABEL_METHOD,et as LABEL_NOTE,dW as LABEL_NO_PREVIEW,ee as LABEL_OPERATION_TYPE,fO as LABEL_RULE_DISABLED,fP as LABEL_RULE_ENABLED,er as LABEL_RULE_NAME,es as LABEL_RULE_TYPE,eo as LABEL_SAMPLE,e5 as LABEL_SERVER_ADDRESS,e7 as LABEL_TEMPLATED_PATH,e9 as LABEL_TEMPLATED_PATH_PREFIX,bu as LANGUAGE_OPTIONS,dg as MONITORS_OPTIONS,eA as NOTE_ENTIRE_CLUSTER,eF as NOTE_SOURCE_SCOPE_LOGIC,fQ as OPENTELEMETRY_EBPF_DISTRO_OPTION,eh as OPERATION_ALL,eg as OPERATION_HTTP_CLIENT,ed as OPERATION_HTTP_SERVER,ei as OPERATION_KAFKA_CONSUMER,ej as OPERATION_KAFKA_PRODUCER,bt as OTEL_DISTRO_NAME_OPTIONS,ek as PERCENTAGE_SECTION_DESCRIPTIONS,ev as PLACEHOLDER_NOTE,e6 as PLACEHOLDER_ROUTE,eu as PLACEHOLDER_RULE_NAME,eI as PLACEHOLDER_SEARCH_SOURCE,e4 as PLACEHOLDER_SERVER_ADDRESS,bd as PROCESS_ATTRIBUTE_NAMES,ac as REGEX_TESTER_DRAWER,aG as SAMPLING_AUTO_RULE_TITLE,dL as SAMPLING_BTN_CREATE_RULE,dJ as SAMPLING_BTN_DOCS,dK as SAMPLING_BTN_REFRESH,aE as SAMPLING_COST_REDUCTION_AUTO_RULE_TITLE,dO as SAMPLING_DELETE_MODAL_APPROVE,dP as SAMPLING_DELETE_MODAL_CANCEL,dQ as SAMPLING_DELETE_MODAL_DESCRIPTION,dR as SAMPLING_DELETE_MODAL_TITLE,bS as SAMPLING_DRAWER_WIDTH,dI as SAMPLING_DUPLICATE_RULE_WARNING,aB as SAMPLING_HIGHLY_RELEVANT_AUTO_RULE_TITLE,cJ as SAMPLING_ONBOARDING_ADVANCED_LEFT_BULLET_1,cK as SAMPLING_ONBOARDING_ADVANCED_LEFT_BULLET_2,cL as SAMPLING_ONBOARDING_ADVANCED_LEFT_BULLET_3,cM as SAMPLING_ONBOARDING_ADVANCED_LEFT_TITLE,cN as SAMPLING_ONBOARDING_ADVANCED_RIGHT_BULLET_1,cO as SAMPLING_ONBOARDING_ADVANCED_RIGHT_BULLET_2,cP as SAMPLING_ONBOARDING_ADVANCED_RIGHT_BULLET_3,cQ as SAMPLING_ONBOARDING_ADVANCED_RIGHT_BULLET_4,cR as SAMPLING_ONBOARDING_ADVANCED_RIGHT_BULLET_5,cS as SAMPLING_ONBOARDING_ADVANCED_RIGHT_TITLE,cU as SAMPLING_ONBOARDING_ADVANCED_SUBTITLE,cT as SAMPLING_ONBOARDING_ADVANCED_TITLE,d9 as SAMPLING_ONBOARDING_AMBIENT_LABEL,cf as SAMPLING_ONBOARDING_BTN_GO_TO,c0 as SAMPLING_ONBOARDING_BTN_NEXT,cI as SAMPLING_ONBOARDING_BTN_READ_MORE,cq as SAMPLING_ONBOARDING_BTN_SKIP,cr as SAMPLING_ONBOARDING_BTN_START,cV as SAMPLING_ONBOARDING_COMMON_BANNER,d8 as SAMPLING_ONBOARDING_COMMON_RULES_SECTION,cY as SAMPLING_ONBOARDING_DROP_DESCRIPTION,cX as SAMPLING_ONBOARDING_DROP_SUBTITLE,cW as SAMPLING_ONBOARDING_DROP_TITLE,c$ as SAMPLING_ONBOARDING_ERROR_PRESET_NAME,c_ as SAMPLING_ONBOARDING_ERROR_PRESET_TOGGLE_LABEL,d2 as SAMPLING_ONBOARDING_KEEP_DESCRIPTION,d1 as SAMPLING_ONBOARDING_KEEP_SUBTITLE,d0 as SAMPLING_ONBOARDING_KEEP_TITLE,d3 as SAMPLING_ONBOARDING_KEEP_USE_CASE_1,d4 as SAMPLING_ONBOARDING_KEEP_USE_CASE_2,d5 as SAMPLING_ONBOARDING_KEEP_USE_CASE_3,d6 as SAMPLING_ONBOARDING_KEEP_USE_CASE_4,d7 as SAMPLING_ONBOARDING_KEEP_USE_CASE_5,c7 as SAMPLING_ONBOARDING_NOISY_BANNER,c3 as SAMPLING_ONBOARDING_NOISY_DESCRIPTION,c6 as SAMPLING_ONBOARDING_NOISY_PRESET_NAME,c4 as SAMPLING_ONBOARDING_NOISY_PRESET_SECTION,c5 as SAMPLING_ONBOARDING_NOISY_PRESET_TOGGLE_LABEL,c2 as SAMPLING_ONBOARDING_NOISY_SUBTITLE,c1 as SAMPLING_ONBOARDING_NOISY_TITLE,cZ as SAMPLING_ONBOARDING_PRESET_RULES_SECTION,b$ as SAMPLING_ONBOARDING_RECOMMENDED_BADGE,cF as SAMPLING_ONBOARDING_STRATEGY_ADVANCED_BADGE,cG as SAMPLING_ONBOARDING_STRATEGY_ADVANCED_DESC,cH as SAMPLING_ONBOARDING_STRATEGY_ADVANCED_NAME,cC as SAMPLING_ONBOARDING_STRATEGY_DROP_BADGE,cA as SAMPLING_ONBOARDING_STRATEGY_DROP_BULLET_1,cB as SAMPLING_ONBOARDING_STRATEGY_DROP_BULLET_2,cD as SAMPLING_ONBOARDING_STRATEGY_DROP_DESC,cE as SAMPLING_ONBOARDING_STRATEGY_DROP_NAME,cx as SAMPLING_ONBOARDING_STRATEGY_KEEP_BADGE,cv as SAMPLING_ONBOARDING_STRATEGY_KEEP_BULLET_1,cw as SAMPLING_ONBOARDING_STRATEGY_KEEP_BULLET_2,cy as SAMPLING_ONBOARDING_STRATEGY_KEEP_DESC,cz as SAMPLING_ONBOARDING_STRATEGY_KEEP_NAME,cu as SAMPLING_ONBOARDING_STRATEGY_KEEP_WARNING,ct as SAMPLING_ONBOARDING_STRATEGY_SUBTITLE,cs as SAMPLING_ONBOARDING_STRATEGY_TITLE,cc as SAMPLING_ONBOARDING_SUCCESS_BULLET_1,cd as SAMPLING_ONBOARDING_SUCCESS_BULLET_2,ce as SAMPLING_ONBOARDING_SUCCESS_BULLET_3,cb as SAMPLING_ONBOARDING_SUCCESS_INTRO,ca as SAMPLING_ONBOARDING_SUCCESS_SUBTITLE,c9 as SAMPLING_ONBOARDING_SUCCESS_TITLE,cp as SAMPLING_ONBOARDING_WELCOME_BANNER,ci as SAMPLING_ONBOARDING_WELCOME_INTRO,cj as SAMPLING_ONBOARDING_WELCOME_STAGE_1_DESC,ck as SAMPLING_ONBOARDING_WELCOME_STAGE_1_TITLE,cl as SAMPLING_ONBOARDING_WELCOME_STAGE_2_DESC,cm as SAMPLING_ONBOARDING_WELCOME_STAGE_2_TITLE,cn as SAMPLING_ONBOARDING_WELCOME_STAGE_3_DESC,co as SAMPLING_ONBOARDING_WELCOME_STAGE_3_TITLE,ch as SAMPLING_ONBOARDING_WELCOME_SUBTITLE,cg as SAMPLING_ONBOARDING_WELCOME_TITLE,dM as SAMPLING_PAGE_DESCRIPTION,dN as SAMPLING_PAGE_TITLE,eK as SCOPE_AND_LABEL,eJ as SCOPE_GROUP_ANY_OF_HINT,eE as SCOPE_GROUP_LANGUAGES_TITLE,eD as SCOPE_GROUP_NAMESPACES_TITLE,eB as SCOPE_GROUP_SOURCES_TITLE,dZ as SECTION_DURATION,dX as SECTION_ERRORS,aD as SECTION_KEEP_PERCENTAGE,e2 as SECTION_OPERATION,ez as SECTION_SAMPLING_PREVIEW,eL as SECTION_SOURCE_SCOPE,df as STORAGE_KEYS,dE as TITLE_NO_RESULTS,dG as TITLE_NO_RULES,fR as TOKEN_ABOUT_TO_EXPIRE,ew as TOOLTIP_NOTE,eC as UNKNOWN_SOURCE_LABEL,bI as UNNAMED_RULE,dH as getNoResultsSubTitle}from"./chunks/ui-components-D_eeOuIL.js";import"react/jsx-runtime";import"styled-components";import"./icons.js";import"zustand";import"react";import"javascript-time-ago";import"javascript-time-ago/locale/en";import"prism-react-renderer";import"./chunks/vendor-BFqT13Me.js";import"zustand/middleware";import"react-error-boundary";import"react-dom";import"virtua";
1
+ export{A as ACTION_OPTIONS,fE as ALL_SOURCES,bx as BTN_CANCEL,dB as BTN_CREATE_FIRST_RULE,bE as BTN_CREATE_RULE,bA as BTN_DELETE_RULE,dR as BTN_EDIT_AUTO_RULE,bz as BTN_EDIT_RULE,bM as BTN_SAVE,by as BTN_SAVE_RULE,aW as BUTTON_TEXTS,bB as CATEGORY_DESCRIPTIONS,et as CATEGORY_LABELS,bF as CATEGORY_TITLES,fF as CREATE_COST_REDUCTION_AUTO_RULE_DRAWER_TITLE,fG as CREATE_HIGHLY_RELEVANT_AUTO_RULE_DRAWER_TITLE,fH as CREATE_NOISY_AUTO_RULE_DRAWER_TITLE,aV as DEFAULT_CLUSTER_ID,aU as DEFAULT_CLUSTER_NAME,dp as DEFAULT_DATA_STREAM_NAME,dY as DESC_DURATION,dX as DESC_ERRORS,d$ as DESC_OPERATION,fI as DESC_PERCENTAGE_HIGHLY_RELEVANT,aD as DESC_PERCENTAGE_NOISY,eu as DESC_RULE_TYPE,eC as DESC_SOURCE_SCOPE,aP as DESTINATION_CATEGORIES,aw as DISPLAY_LANGUAGES,p as DISPLAY_TITLES,ap as DOCS_BASE_URL,D as DestinationCategoryTypes,bI as EDIT_COST_REDUCTION_AUTO_RULE_DRAWER_SUBTITLE,bJ as EDIT_COST_REDUCTION_AUTO_RULE_DRAWER_TITLE,bG as EDIT_HIGHLY_RELEVANT_AUTO_RULE_DRAWER_SUBTITLE,bH as EDIT_HIGHLY_RELEVANT_AUTO_RULE_DRAWER_TITLE,bK as EDIT_NOISY_AUTO_RULE_DRAWER_SUBTITLE,bL as EDIT_NOISY_AUTO_RULE_DRAWER_TITLE,bC as EDIT_TITLES,eb as EMPTY_VALUE,aj as EXTRACTION_FORMAT_COPY,ag as EXTRACT_ATTRIBUTE_FORM,dz as FILTER_TYPE_ALL,F as FORM_ALERTS,I as INSTRUMENTATION_RULE_OPTIONS,dZ as LABEL_CUSTOM_DURATION,aI as LABEL_CUSTOM_PERCENTAGE,aG as LABEL_DISABLED,dy as LABEL_DISABLED_RULE,el as LABEL_DROP_ALL,aA as LABEL_DROP_AT_MOST,aF as LABEL_ENABLED,e4 as LABEL_HTTP_ROUTE,e6 as LABEL_HTTP_ROUTE_PREFIX,e8 as LABEL_KAFKA_TOPIC,em as LABEL_KEEP_ALL,ei as LABEL_KEEP_AT_LEAST,ej as LABEL_KEEP_AT_MOST,eh as LABEL_KEEP_PERCENTAGE,dW as LABEL_KEEP_TRACES_DURATION,dU as LABEL_KEEP_TRACES_ERRORS,e7 as LABEL_METHOD,ep as LABEL_NOTE,dS as LABEL_NO_PREVIEW,ea as LABEL_OPERATION_TYPE,fJ as LABEL_RULE_DISABLED,fK as LABEL_RULE_ENABLED,en as LABEL_RULE_NAME,eo as LABEL_RULE_TYPE,ek as LABEL_SAMPLE,e1 as LABEL_SERVER_ADDRESS,e3 as LABEL_TEMPLATED_PATH,e5 as LABEL_TEMPLATED_PATH_PREFIX,bp as LANGUAGE_OPTIONS,db as MONITORS_OPTIONS,ew as NOTE_ENTIRE_CLUSTER,eB as NOTE_SOURCE_SCOPE_LOGIC,fL as OPENTELEMETRY_EBPF_DISTRO_OPTION,ed as OPERATION_ALL,ec as OPERATION_HTTP_CLIENT,e9 as OPERATION_HTTP_SERVER,ee as OPERATION_KAFKA_CONSUMER,ef as OPERATION_KAFKA_PRODUCER,bo as OTEL_DISTRO_NAME_OPTIONS,eg as PERCENTAGE_SECTION_DESCRIPTIONS,er as PLACEHOLDER_NOTE,e2 as PLACEHOLDER_ROUTE,eq as PLACEHOLDER_RULE_NAME,eE as PLACEHOLDER_SEARCH_SOURCE,e0 as PLACEHOLDER_SERVER_ADDRESS,bb as PROCESS_ATTRIBUTE_NAMES,aa as REGEX_TESTER_DRAWER,aE as SAMPLING_AUTO_RULE_TITLE,dH as SAMPLING_BTN_CREATE_RULE,dF as SAMPLING_BTN_DOCS,dG as SAMPLING_BTN_REFRESH,aC as SAMPLING_COST_REDUCTION_AUTO_RULE_TITLE,dK as SAMPLING_DELETE_MODAL_APPROVE,dL as SAMPLING_DELETE_MODAL_CANCEL,dM as SAMPLING_DELETE_MODAL_DESCRIPTION,dN as SAMPLING_DELETE_MODAL_TITLE,bN as SAMPLING_DRAWER_WIDTH,dE as SAMPLING_DUPLICATE_RULE_WARNING,az as SAMPLING_HIGHLY_RELEVANT_AUTO_RULE_TITLE,cE as SAMPLING_ONBOARDING_ADVANCED_LEFT_BULLET_1,cF as SAMPLING_ONBOARDING_ADVANCED_LEFT_BULLET_2,cG as SAMPLING_ONBOARDING_ADVANCED_LEFT_BULLET_3,cH as SAMPLING_ONBOARDING_ADVANCED_LEFT_TITLE,cI as SAMPLING_ONBOARDING_ADVANCED_RIGHT_BULLET_1,cJ as SAMPLING_ONBOARDING_ADVANCED_RIGHT_BULLET_2,cK as SAMPLING_ONBOARDING_ADVANCED_RIGHT_BULLET_3,cL as SAMPLING_ONBOARDING_ADVANCED_RIGHT_BULLET_4,cM as SAMPLING_ONBOARDING_ADVANCED_RIGHT_BULLET_5,cN as SAMPLING_ONBOARDING_ADVANCED_RIGHT_TITLE,cP as SAMPLING_ONBOARDING_ADVANCED_SUBTITLE,cO as SAMPLING_ONBOARDING_ADVANCED_TITLE,d4 as SAMPLING_ONBOARDING_AMBIENT_LABEL,ca as SAMPLING_ONBOARDING_BTN_GO_TO,bX as SAMPLING_ONBOARDING_BTN_NEXT,cD as SAMPLING_ONBOARDING_BTN_READ_MORE,cl as SAMPLING_ONBOARDING_BTN_SKIP,cm as SAMPLING_ONBOARDING_BTN_START,cQ as SAMPLING_ONBOARDING_COMMON_BANNER,d3 as SAMPLING_ONBOARDING_COMMON_RULES_SECTION,cT as SAMPLING_ONBOARDING_DROP_DESCRIPTION,cS as SAMPLING_ONBOARDING_DROP_SUBTITLE,cR as SAMPLING_ONBOARDING_DROP_TITLE,cW as SAMPLING_ONBOARDING_ERROR_PRESET_NAME,cV as SAMPLING_ONBOARDING_ERROR_PRESET_TOGGLE_LABEL,cZ as SAMPLING_ONBOARDING_KEEP_DESCRIPTION,cY as SAMPLING_ONBOARDING_KEEP_SUBTITLE,cX as SAMPLING_ONBOARDING_KEEP_TITLE,c_ as SAMPLING_ONBOARDING_KEEP_USE_CASE_1,c$ as SAMPLING_ONBOARDING_KEEP_USE_CASE_2,d0 as SAMPLING_ONBOARDING_KEEP_USE_CASE_3,d1 as SAMPLING_ONBOARDING_KEEP_USE_CASE_4,d2 as SAMPLING_ONBOARDING_KEEP_USE_CASE_5,c2 as SAMPLING_ONBOARDING_NOISY_BANNER,b_ as SAMPLING_ONBOARDING_NOISY_DESCRIPTION,c1 as SAMPLING_ONBOARDING_NOISY_PRESET_NAME,b$ as SAMPLING_ONBOARDING_NOISY_PRESET_SECTION,c0 as SAMPLING_ONBOARDING_NOISY_PRESET_TOGGLE_LABEL,bZ as SAMPLING_ONBOARDING_NOISY_SUBTITLE,bY as SAMPLING_ONBOARDING_NOISY_TITLE,cU as SAMPLING_ONBOARDING_PRESET_RULES_SECTION,bW as SAMPLING_ONBOARDING_RECOMMENDED_BADGE,cA as SAMPLING_ONBOARDING_STRATEGY_ADVANCED_BADGE,cB as SAMPLING_ONBOARDING_STRATEGY_ADVANCED_DESC,cC as SAMPLING_ONBOARDING_STRATEGY_ADVANCED_NAME,cx as SAMPLING_ONBOARDING_STRATEGY_DROP_BADGE,cv as SAMPLING_ONBOARDING_STRATEGY_DROP_BULLET_1,cw as SAMPLING_ONBOARDING_STRATEGY_DROP_BULLET_2,cy as SAMPLING_ONBOARDING_STRATEGY_DROP_DESC,cz as SAMPLING_ONBOARDING_STRATEGY_DROP_NAME,cs as SAMPLING_ONBOARDING_STRATEGY_KEEP_BADGE,cq as SAMPLING_ONBOARDING_STRATEGY_KEEP_BULLET_1,cr as SAMPLING_ONBOARDING_STRATEGY_KEEP_BULLET_2,ct as SAMPLING_ONBOARDING_STRATEGY_KEEP_DESC,cu as SAMPLING_ONBOARDING_STRATEGY_KEEP_NAME,cp as SAMPLING_ONBOARDING_STRATEGY_KEEP_WARNING,co as SAMPLING_ONBOARDING_STRATEGY_SUBTITLE,cn as SAMPLING_ONBOARDING_STRATEGY_TITLE,c7 as SAMPLING_ONBOARDING_SUCCESS_BULLET_1,c8 as SAMPLING_ONBOARDING_SUCCESS_BULLET_2,c9 as SAMPLING_ONBOARDING_SUCCESS_BULLET_3,c6 as SAMPLING_ONBOARDING_SUCCESS_INTRO,c5 as SAMPLING_ONBOARDING_SUCCESS_SUBTITLE,c4 as SAMPLING_ONBOARDING_SUCCESS_TITLE,ck as SAMPLING_ONBOARDING_WELCOME_BANNER,cd as SAMPLING_ONBOARDING_WELCOME_INTRO,ce as SAMPLING_ONBOARDING_WELCOME_STAGE_1_DESC,cf as SAMPLING_ONBOARDING_WELCOME_STAGE_1_TITLE,cg as SAMPLING_ONBOARDING_WELCOME_STAGE_2_DESC,ch as SAMPLING_ONBOARDING_WELCOME_STAGE_2_TITLE,ci as SAMPLING_ONBOARDING_WELCOME_STAGE_3_DESC,cj as SAMPLING_ONBOARDING_WELCOME_STAGE_3_TITLE,cc as SAMPLING_ONBOARDING_WELCOME_SUBTITLE,cb as SAMPLING_ONBOARDING_WELCOME_TITLE,dI as SAMPLING_PAGE_DESCRIPTION,dJ as SAMPLING_PAGE_TITLE,eG as SCOPE_AND_LABEL,eF as SCOPE_GROUP_ANY_OF_HINT,eA as SCOPE_GROUP_LANGUAGES_TITLE,ez as SCOPE_GROUP_NAMESPACES_TITLE,ex as SCOPE_GROUP_SOURCES_TITLE,dV as SECTION_DURATION,dT as SECTION_ERRORS,aB as SECTION_KEEP_PERCENTAGE,d_ as SECTION_OPERATION,ev as SECTION_SAMPLING_PREVIEW,eH as SECTION_SOURCE_SCOPE,da as STORAGE_KEYS,dA as TITLE_NO_RESULTS,dC as TITLE_NO_RULES,fM as TOKEN_ABOUT_TO_EXPIRE,es as TOOLTIP_NOTE,ey as UNKNOWN_SOURCE_LABEL,bD as UNNAMED_RULE,dD as getNoResultsSubTitle}from"./chunks/ui-components-B1TCLO_N.js";import"react/jsx-runtime";import"styled-components";import"./icons.js";import"zustand";import"react";import"javascript-time-ago";import"javascript-time-ago/locale/en";import"prism-react-renderer";import"./chunks/vendor-BFqT13Me.js";import"zustand/middleware";import"react-error-boundary";import"react-dom";import"virtua";
@@ -1,6 +1,6 @@
1
1
  import { DefaultTheme } from 'styled-components';
2
- import { type Edge, type Node } from '@xyflow/react';
3
2
  import { type AggregatedServiceMap } from '@/types';
3
+ import { type Edge, type Node } from '@xyflow/react';
4
4
  interface Params {
5
5
  theme: DefaultTheme;
6
6
  nodes: Node[];
@@ -1,11 +1,10 @@
1
- import type { Node } from '@xyflow/react';
2
1
  import { type Workload, type AggregatedServiceMap } from '@/types';
2
+ import { type MapItemNodeType, type NoDataNodeType } from './types';
3
3
  export declare const NODE_WIDTH = 80;
4
4
  export declare const NODE_HEIGHT = 80;
5
- export declare const toFlowNodeId: (graphKey: string) => string;
6
5
  interface Params {
7
6
  sources: Workload[];
8
7
  aggregatedServiceMap: AggregatedServiceMap;
9
8
  }
10
- export declare const buildMapNodes: ({ sources, aggregatedServiceMap }: Params) => Node[];
9
+ export declare const buildMapNodes: ({ sources, aggregatedServiceMap }: Params) => (MapItemNodeType | NoDataNodeType)[];
11
10
  export {};
@@ -0,0 +1 @@
1
+ export declare const USER_NODE_ID = "user";
@@ -1,5 +1,6 @@
1
- import type { Node, Edge } from '@xyflow/react';
2
- export declare const getElkLayoutedElements: (nodes: Node[], edges: Edge[], options?: Record<string, string>) => Promise<{
3
- nodes: Node[];
1
+ import { type Edge } from '@xyflow/react';
2
+ import { type ServiceMapNode } from './types';
3
+ export declare const getElkLayoutedElements: (nodes: ServiceMapNode[], edges: Edge[], options?: Record<string, string>) => Promise<{
4
+ nodes: ServiceMapNode[];
4
5
  edges: Edge[];
5
6
  }>;
@@ -0,0 +1,21 @@
1
+ import { type Node } from '@xyflow/react';
2
+ import { type NoDataProps } from '@/components/_v2';
3
+ import { type AggregatedService, type SVG, StatusType } from '@/types';
4
+ export declare enum NodeTypes {
5
+ MapItem = "map-item",
6
+ NoData = "no-data"
7
+ }
8
+ export declare enum EdgeTypes {
9
+ AnimatedTraffic = "animated-traffic"
10
+ }
11
+ export type MapItemNodeData = {
12
+ icons: SVG[];
13
+ status?: StatusType;
14
+ isVirtual?: boolean;
15
+ aggService?: AggregatedService;
16
+ selected?: boolean;
17
+ };
18
+ export type MapItemNodeType = Node<MapItemNodeData, NodeTypes.MapItem>;
19
+ export type ServiceMapNode = MapItemNodeType | NoDataNodeType;
20
+ export type NoDataNodeData = NoDataProps;
21
+ export type NoDataNodeType = Node<NoDataNodeData, NodeTypes.NoData>;
@@ -1,10 +1,2 @@
1
- import React from 'react';
2
- import { type ServiceMapSources } from '@/types';
3
- interface ServiceMapProps {
4
- /** Optional override; when omitted the container polls via `useApiQuery('GET_SERVICE_MAP')`. */
5
- serviceMap?: ServiceMapSources;
6
- /** Polling cadence in ms. Defaults to 15s. */
7
- pollIntervalMs?: number;
8
- }
9
- declare const ServiceMap: React.FC<ServiceMapProps>;
10
- export { ServiceMap, type ServiceMapProps };
1
+ import { type FC } from 'react';
2
+ export declare const ServiceMap: FC;
@@ -0,0 +1,6 @@
1
+ import React from 'react';
2
+ import { type EdgeTypes } from '../../helpers/types';
3
+ import { type Edge, type EdgeProps } from '@xyflow/react';
4
+ export type AnimatedTrafficEdgeType = Edge<Record<string, unknown>, typeof EdgeTypes.AnimatedTraffic>;
5
+ declare const AnimatedTrafficEdgeComponent: React.FC<EdgeProps<AnimatedTrafficEdgeType>>;
6
+ export { AnimatedTrafficEdgeComponent as AnimatedTrafficEdge };
@@ -0,0 +1,7 @@
1
+ import { type FC } from 'react';
2
+ import '@xyflow/react/dist/style.css';
3
+ interface Props {
4
+ onRefresh: () => void;
5
+ }
6
+ export declare const Flow: FC<Props>;
7
+ export {};
@@ -0,0 +1 @@
1
+ export * from './flow';
@@ -0,0 +1,6 @@
1
+ import { type FC } from 'react';
2
+ import { type MapItemNodeType } from '../../helpers/types';
3
+ import { type NodeProps } from '@xyflow/react';
4
+ type MapItemNodeProps = NodeProps<MapItemNodeType>;
5
+ export declare const MapItemNode: FC<MapItemNodeProps>;
6
+ export {};
@@ -0,0 +1,6 @@
1
+ import React from 'react';
2
+ import { type NodeProps } from '@xyflow/react';
3
+ import { type NoDataNodeType } from '../../helpers/types';
4
+ type NoDataNodeProps = NodeProps<NoDataNodeType>;
5
+ export declare const NoDataNode: React.FC<NoDataNodeProps>;
6
+ export {};
@@ -0,0 +1,3 @@
1
+ import { type FC } from 'react';
2
+ export declare const SAERCH_AND_SELECT_NODES_WIDTH = 358;
3
+ export declare const SearchAndSelectNodes: FC;
@@ -0,0 +1,24 @@
1
+ import { type FC, type ReactNode } from 'react';
2
+ import { type ServiceMapSources } from '@/types';
3
+ import { type ServiceMapNode } from './helpers/types';
4
+ import { type Edge, type OnEdgesChange, type OnNodesChange } from '@xyflow/react';
5
+ interface ServiceMapContextValue {
6
+ nodes: ServiceMapNode[];
7
+ edges: Edge[];
8
+ onNodesChange: OnNodesChange<ServiceMapNode>;
9
+ onEdgesChange: OnEdgesChange<Edge>;
10
+ setNodesSelected: (ids: string[], selected: boolean) => void;
11
+ fitViewTrigger: number;
12
+ hoveredNodeId: string | null;
13
+ setHoveredNodeId: (id: string | null) => void;
14
+ selectedNodeId: string | null;
15
+ toggleSelectedNode: (id: string) => void;
16
+ resetSelectedNode: () => void;
17
+ }
18
+ export declare const useServiceMapContext: () => ServiceMapContextValue;
19
+ interface ServiceMapProviderProps {
20
+ serviceMap: ServiceMapSources;
21
+ children: ReactNode;
22
+ }
23
+ export declare const ServiceMapProvider: FC<ServiceMapProviderProps>;
24
+ export {};