@odigos/ui-kit 0.0.294 → 0.0.296

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 (55) hide show
  1. package/CHANGELOG.md +31 -0
  2. package/lib/chunks/{helpers-BbLwXwCP.js → helpers-BV_MHw06.js} +1 -1
  3. package/lib/chunks/index-vZsC8Ggg.js +353 -0
  4. package/lib/chunks/{source-instrument-form-context-TaNVlKMt.js → source-instrument-form-context-CWv4NCRf.js} +1 -1
  5. package/lib/chunks/{ui-components-CnvJIMbW.js → ui-components-BlmdA--F.js} +303 -304
  6. package/lib/components/field-title/index.d.ts +1 -1
  7. package/lib/components/input/index.d.ts +3 -1
  8. package/lib/components/table/types.d.ts +8 -0
  9. package/lib/components/tooltip/index.d.ts +0 -2
  10. package/lib/components/trace-view/types.d.ts +2 -1
  11. package/lib/components.js +1 -1
  12. package/lib/constants.js +1 -1
  13. package/lib/containers/insights/findings/drawer/anomaly/anomaly-trace-compare/helpers.d.ts +2 -2
  14. package/lib/containers/insights/service-with-language-icons.d.ts +12 -0
  15. package/lib/containers/insights/transactions/drawer/baselines/data-drawer/db-access-view/helpers.d.ts +0 -4
  16. package/lib/containers/insights/transactions/drawer/baselines/data-drawer/db-access-view/map.d.ts +0 -1
  17. package/lib/containers/insights/transactions/drawer/baselines/data-drawer/outbound-peers-view/helpers.d.ts +0 -4
  18. package/lib/containers/insights/transactions/drawer/baselines/data-drawer/outbound-peers-view/map.d.ts +0 -1
  19. package/lib/containers/insights/transactions/drawer/baselines/data-drawer/service-call-edges-view/helpers.d.ts +0 -4
  20. package/lib/containers/insights/transactions/drawer/baselines/data-drawer/service-call-edges-view/map.d.ts +0 -1
  21. package/lib/containers/service-map/helpers/types.d.ts +2 -1
  22. package/lib/containers/service-map/react-flow/edges/animated-traffic-edge.d.ts +5 -1
  23. package/lib/containers/service-map/react-flow/edges/self-loop-edge.d.ts +6 -0
  24. package/lib/containers/service-map/service-map-context.d.ts +3 -0
  25. package/lib/containers.js +556 -621
  26. package/lib/contexts/odigos-api/types.d.ts +1 -0
  27. package/lib/contexts.js +1 -1
  28. package/lib/functions/find-source-by-service/index.d.ts +3 -0
  29. package/lib/functions/index.d.ts +1 -0
  30. package/lib/functions/parse-raw-otlp/index.d.ts +2 -1
  31. package/lib/functions.js +1 -1
  32. package/lib/hooks/useCopy.d.ts +1 -1
  33. package/lib/hooks.js +1 -1
  34. package/lib/icons/common/index.d.ts +1 -0
  35. package/lib/icons/common/self-loop-icon/index.d.ts +2 -0
  36. package/lib/icons.js +1 -1
  37. package/lib/snippets/blast-radius/helpers.d.ts +5 -5
  38. package/lib/snippets/blast-radius/index.d.ts +0 -1
  39. package/lib/snippets/blast-radius/types.d.ts +0 -4
  40. package/lib/snippets/graph-flow/animated-edge.d.ts +12 -0
  41. package/lib/snippets/graph-flow/auto-fit-view.d.ts +14 -0
  42. package/lib/snippets/graph-flow/elk-layout.d.ts +6 -0
  43. package/lib/snippets/graph-flow/get-edge-path.d.ts +14 -0
  44. package/lib/snippets/graph-flow/graph-flow.d.ts +9 -0
  45. package/lib/snippets/graph-flow/index.d.ts +5 -0
  46. package/lib/snippets/graph-flow/types.d.ts +61 -0
  47. package/lib/snippets/index.d.ts +1 -0
  48. package/lib/snippets.js +1 -1
  49. package/lib/store.js +1 -1
  50. package/lib/theme.js +1 -1
  51. package/lib/types.js +1 -1
  52. package/lib/visuals.js +1 -1
  53. package/package.json +9 -9
  54. package/lib/chunks/index-DrntqYmU.js +0 -338
  55. package/lib/snippets/blast-radius/animated-edge.d.ts +0 -10
@@ -621,6 +621,7 @@ export interface GetInsightsTransactionsVars {
621
621
  namespace?: string | null;
622
622
  service?: string | null;
623
623
  kind?: InsightsTransactionKind | null;
624
+ windowHours?: number | null;
624
625
  }
625
626
  export interface GetInsightsTransactionVars {
626
627
  id: string;
package/lib/contexts.js CHANGED
@@ -1 +1 @@
1
- import{u as a,r as P,a as T}from"./chunks/source-instrument-form-context-TaNVlKMt.js";export{A as ActionFormContextProvider,C as CloudConnectorFormContextProvider,D as DataStreamFormContextProvider,b as DestinationFormContextProvider,c as DetectionOverrideFormContextProvider,d as DetectionPolicyFormContextProvider,G as GuardrailFormContextProvider,L as LearningOverrideFormContextProvider,e as LearningPolicyFormContextProvider,O as OdigosApiConnectionsScope,f as OdigosApiProvider,R as RuleFormContextProvider,S as SamplingRuleFormType,g as SamplingRulesFormProvider,h as SourceEditFormContextProvider,i as SourceInstrumentFormContextProvider,j as SystemSettingsFormContextProvider,p as prepareNamespacePayloads,k as prepareSourcePayloads,l as useActionFormContext,m as useApiLazyQuery,n as useApiMutation,o as useApiQuery,q as useCloudConnectorFormContext,s as useDataStreamFormContext,t as useDestinationFormContext,v as useDetectionOverrideFormContext,w as useDetectionPolicyFormContext,x as useGuardrailFormContext,y as useLearningOverrideFormContext,z as useLearningPolicyFormContext,B as useOdigosApi,E as useRuleFormContext,F as useSamplingRulesFormContext,H as useSourceEditFormContext,I as useSourceInstrumentFormContext,J as useSystemSettingsFormContext}from"./chunks/source-instrument-form-context-TaNVlKMt.js";export{O as OdigosProvider,c as checkVersionSupport,r as resolveMinSupportedVersion,u as useOdigos}from"./chunks/helpers-BbLwXwCP.js";import{jsx as _}from"react/jsx-runtime";import{useMemo as M,useContext as N,createContext as V}from"react";import{P as U,t as $}from"./chunks/ui-components-CnvJIMbW.js";import{useApolloClient as K}from"@apollo/client/react";import"@apollo/client/link/error";import"@apollo/client/link/context";import"@apollo/client/utilities";import"@apollo/client/errors";import"@apollo/client";import"styled-components";import"./icons.js";import"zustand";import"javascript-time-ago";import"javascript-time-ago/locale/en";import"react-dom";import"prism-react-renderer";import"react-error-boundary";import"virtua";const Q=()=>{const o=K(),{operations:r,context:e}=a();return{multiFetch:async(t,n,s)=>{const i=r[t];return i?T(o,i,n,s,e):{results:[],allSucceeded:!1,anySucceeded:!1,successCount:0,failureCount:n.length,error:`Operation ${String(t)} not configured`}},bulkPersistSources:async(t,n)=>{const s=[];for(const i of t){const t={...e,proxyID:i},{error:a}=await P(o,r.PERSIST_SOURCES,n,t);a&&s.push(`${i}: ${a}`)}return s.length?{error:s.join(", ")}:void 0},applyConfigurations:async(t,n)=>{if(!r.UPDATE_REMOTE_CONFIG)return{error:"UPDATE_REMOTE_CONFIG not configured"};if(!t.length)return{error:"No connections selected"};const s={formData:n,connectionIds:t},i=r.UPDATE_REMOTE_CONFIG;let a;return 1===t.length?({error:a}=await P(o,i,s,e)):({error:a}=await T(o,i,t,s,e)),a?{error:a}:void 0}}},W=(o,r)=>o.platformType===U.K8s?r.K8s:[U.Vm,U.Connector,U.AwsEcs].includes(o.platformType)?r.Vm:void 0,X=o=>r=>{const e=o[r.platformType];if(!e)return;const t=Object.keys(e);if(0===t.length)return;const n=$(r.schemaVersion??r.version),s=[...t].sort((o,r)=>$(r)-$(o)).find(o=>n>=$(o));return s?e[s]:void 0},Y=(o,r)=>{const e={};for(const t of Object.keys(o))e[t]=r(o[t]);return e},Z=V({formType:void 0}),oo=({children:o,formType:r})=>{const e=M(()=>({formType:r}),[r]);return _(Z.Provider,{value:e,children:o})},ro=()=>N(Z);export{oo as StorybookProvider,W as pickByPlatform,Q as useApiForConnections,ro as useStorybook,X as versionedDocument,Y as vmDialectMap};
1
+ import{u as a,r as P,a as T}from"./chunks/source-instrument-form-context-CWv4NCRf.js";export{A as ActionFormContextProvider,C as CloudConnectorFormContextProvider,D as DataStreamFormContextProvider,b as DestinationFormContextProvider,c as DetectionOverrideFormContextProvider,d as DetectionPolicyFormContextProvider,G as GuardrailFormContextProvider,L as LearningOverrideFormContextProvider,e as LearningPolicyFormContextProvider,O as OdigosApiConnectionsScope,f as OdigosApiProvider,R as RuleFormContextProvider,S as SamplingRuleFormType,g as SamplingRulesFormProvider,h as SourceEditFormContextProvider,i as SourceInstrumentFormContextProvider,j as SystemSettingsFormContextProvider,p as prepareNamespacePayloads,k as prepareSourcePayloads,l as useActionFormContext,m as useApiLazyQuery,n as useApiMutation,o as useApiQuery,q as useCloudConnectorFormContext,s as useDataStreamFormContext,t as useDestinationFormContext,v as useDetectionOverrideFormContext,w as useDetectionPolicyFormContext,x as useGuardrailFormContext,y as useLearningOverrideFormContext,z as useLearningPolicyFormContext,B as useOdigosApi,E as useRuleFormContext,F as useSamplingRulesFormContext,H as useSourceEditFormContext,I as useSourceInstrumentFormContext,J as useSystemSettingsFormContext}from"./chunks/source-instrument-form-context-CWv4NCRf.js";export{O as OdigosProvider,c as checkVersionSupport,r as resolveMinSupportedVersion,u as useOdigos}from"./chunks/helpers-BV_MHw06.js";import{jsx as _}from"react/jsx-runtime";import{useMemo as M,useContext as N,createContext as V}from"react";import{P as U,t as $}from"./chunks/ui-components-BlmdA--F.js";import{useApolloClient as K}from"@apollo/client/react";import"@apollo/client/link/error";import"@apollo/client/link/context";import"@apollo/client/utilities";import"@apollo/client/errors";import"@apollo/client";import"styled-components";import"./icons.js";import"zustand";import"javascript-time-ago";import"javascript-time-ago/locale/en";import"react-dom";import"prism-react-renderer";import"react-error-boundary";import"virtua";const Q=()=>{const o=K(),{operations:r,context:e}=a();return{multiFetch:async(t,n,s)=>{const i=r[t];return i?T(o,i,n,s,e):{results:[],allSucceeded:!1,anySucceeded:!1,successCount:0,failureCount:n.length,error:`Operation ${String(t)} not configured`}},bulkPersistSources:async(t,n)=>{const s=[];for(const i of t){const t={...e,proxyID:i},{error:a}=await P(o,r.PERSIST_SOURCES,n,t);a&&s.push(`${i}: ${a}`)}return s.length?{error:s.join(", ")}:void 0},applyConfigurations:async(t,n)=>{if(!r.UPDATE_REMOTE_CONFIG)return{error:"UPDATE_REMOTE_CONFIG not configured"};if(!t.length)return{error:"No connections selected"};const s={formData:n,connectionIds:t},i=r.UPDATE_REMOTE_CONFIG;let a;return 1===t.length?({error:a}=await P(o,i,s,e)):({error:a}=await T(o,i,t,s,e)),a?{error:a}:void 0}}},W=(o,r)=>o.platformType===U.K8s?r.K8s:[U.Vm,U.Connector,U.AwsEcs].includes(o.platformType)?r.Vm:void 0,X=o=>r=>{const e=o[r.platformType];if(!e)return;const t=Object.keys(e);if(0===t.length)return;const n=$(r.schemaVersion??r.version),s=[...t].sort((o,r)=>$(r)-$(o)).find(o=>n>=$(o));return s?e[s]:void 0},Y=(o,r)=>{const e={};for(const t of Object.keys(o))e[t]=r(o[t]);return e},Z=V({formType:void 0}),oo=({children:o,formType:r})=>{const e=M(()=>({formType:r}),[r]);return _(Z.Provider,{value:e,children:o})},ro=()=>N(Z);export{oo as StorybookProvider,W as pickByPlatform,Q as useApiForConnections,ro as useStorybook,X as versionedDocument,Y as vmDialectMap};
@@ -0,0 +1,3 @@
1
+ import type { Workload } from '../../types';
2
+ /** Match a workload by insights service name (+ optional namespace). Prefers namespace when provided. */
3
+ export declare const findSourceByService: (sources: Workload[], service: string, namespace?: string | null) => Workload | undefined;
@@ -10,6 +10,7 @@ export * from './filter-destinations';
10
10
  export * from './filter-destinations-by-stream';
11
11
  export * from './filter-sources';
12
12
  export * from './filter-sources-by-stream';
13
+ export * from './find-source-by-service';
13
14
  export * from './flatten-object-keys';
14
15
  export * from './format-bytes';
15
16
  export * from './format-duration';
@@ -32,6 +32,7 @@ export interface InsightsOtlpSpan {
32
32
  events?: InsightsOtlpSpanEvent[] | null;
33
33
  }
34
34
  export interface InsightsParsedOtlpTrace {
35
+ traceId?: string | null;
35
36
  spans?: InsightsOtlpSpan[] | null;
36
37
  /** Present when decode fails; `spans` is then null/empty. */
37
38
  error?: string | null;
@@ -40,4 +41,4 @@ export interface InsightsParsedOtlpTrace {
40
41
  * Decode a base64 OTLP `TracesData` protobuf into optional/nullable span views.
41
42
  * Never throws — returns `{ spans: null, error }` on failure.
42
43
  */
43
- export declare const parseRawOtlp: (rawOtlp?: string | null) => InsightsParsedOtlpTrace;
44
+ export declare const parseRawOtlp: (traceId?: string | null, rawOtlp?: string | null) => InsightsParsedOtlpTrace;
package/lib/functions.js CHANGED
@@ -1 +1 @@
1
- export{br as adaptInstrumentationRuleFromWire,bp as adaptInstrumentationRuleInputForWire,eC as buildBadgeForDesiredStatus,le as buildCatalogFieldsDataCard,es as buildCatalogFieldsSegments,lf as capitalizeFirstLetter,lg as cleanObjectEmptyStringsValues,a5 as compareCondition,lh as decimalsOnly,a$ as deepClone,jz as entityIdKey,jE as filterActions,jD as filterDestinations,ew as filterDestinationsByStream,jC as filterSources,jp as filterSourcesByStream,li as flattenObjectKeys,eQ as formatBytes,iQ as formatDuration,b5 as generateId,jw as getActionConditions,eu as getActionIcon,jx as getConditionsBooleans,f6 as getContainersIcons,lj as getContainersInstrumentedCount,lk as getDeepValue,ek as getDestinationIcon,ll as getDetectedLanguageIcons,eH as getEffectiveLanguage,eY as getEffectiveRuntimeVersion,jA as getEntityIcon,bk as getEntityId,jv as getEntityIdKey,jy as getEntityLabel,lm as getHealthBadgeLabel,bg as getIdFromSseTarget,ey as getInstrumentationRuleIcon,ln as getMainContainerLanguage,lo as getMetricForEntity,lp as getMonitorIcon,lq as getNearestTypographySize,f5 as getPlatformIcon,iD as getPlatformLabel,X as getProgrammingLanguageIcon,lr as getRecursiveValues,eP as getSourceKindLabel,eM as getSourceLanguageIcons,b9 as getSseTargetFromId,eW as getStatusColor,jG as getStatusFromPodStatus,eX as getStatusIcon,eR as getStatusTypeFromOdigosHealth,ls as getValueForRange,eL as getVirtualServiceIcon,eK as getWorkloadId,ex as getYamlFieldsForDestination,lt as hasUnhealthyInstances,lu as instrumentationRuleSourceScopesFromWire,lv as instrumentationRuleSourceScopesToWire,bw as isEmpty,bx as isLegalK8sLabel,hm as isOverTime,lw as isStringABoolean,lx as isTimeElapsed,eV as isValidVersion,ly as mapConditions,eE as mapDesiredStatusToConditionStatus,eq as mapDesiredStatusesToConditions,ev as mapDestinationFieldsForDisplay,bB as mapExportedSignals,bz as mapSupportedSignals,lz as numbersOnly,lA as parseBooleanFromString,lB as parseJsonStringToPrettyString,iS as parseRawOtlp,c9 as prepareDestinationFormData,lC as removeEmptyValuesFromObject,w as safeJsonParse,lD as safeJsonStringify,lE as setDeepValue,lF as sleep,aj as splitCamelString,lG as stringifyNonStringValues,t as trimVersion}from"./chunks/ui-components-CnvJIMbW.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"react-dom";import"prism-react-renderer";import"react-error-boundary";import"virtua";
1
+ export{bs as adaptInstrumentationRuleFromWire,bq as adaptInstrumentationRuleInputForWire,eD as buildBadgeForDesiredStatus,lf as buildCatalogFieldsDataCard,et as buildCatalogFieldsSegments,lg as capitalizeFirstLetter,lh as cleanObjectEmptyStringsValues,a6 as compareCondition,li as decimalsOnly,b0 as deepClone,jA as entityIdKey,jF as filterActions,jE as filterDestinations,ex as filterDestinationsByStream,jD as filterSources,jq as filterSourcesByStream,iH as findSourceByService,lj as flattenObjectKeys,eR as formatBytes,iS as formatDuration,b6 as generateId,jx as getActionConditions,ev as getActionIcon,jy as getConditionsBooleans,f7 as getContainersIcons,lk as getContainersInstrumentedCount,ll as getDeepValue,el as getDestinationIcon,lm as getDetectedLanguageIcons,eI as getEffectiveLanguage,eZ as getEffectiveRuntimeVersion,jB as getEntityIcon,bl as getEntityId,jw as getEntityIdKey,jz as getEntityLabel,ln as getHealthBadgeLabel,bh as getIdFromSseTarget,ez as getInstrumentationRuleIcon,lo as getMainContainerLanguage,lp as getMetricForEntity,lq as getMonitorIcon,lr as getNearestTypographySize,f6 as getPlatformIcon,iE as getPlatformLabel,Y as getProgrammingLanguageIcon,ls as getRecursiveValues,eQ as getSourceKindLabel,eN as getSourceLanguageIcons,ba as getSseTargetFromId,eX as getStatusColor,jH as getStatusFromPodStatus,eY as getStatusIcon,eS as getStatusTypeFromOdigosHealth,lt as getValueForRange,eM as getVirtualServiceIcon,eL as getWorkloadId,ey as getYamlFieldsForDestination,lu as hasUnhealthyInstances,lv as instrumentationRuleSourceScopesFromWire,lw as instrumentationRuleSourceScopesToWire,bx as isEmpty,by as isLegalK8sLabel,hn as isOverTime,lx as isStringABoolean,ly as isTimeElapsed,eW as isValidVersion,lz as mapConditions,eF as mapDesiredStatusToConditionStatus,er as mapDesiredStatusesToConditions,ew as mapDestinationFieldsForDisplay,bC as mapExportedSignals,bA as mapSupportedSignals,lA as numbersOnly,lB as parseBooleanFromString,lC as parseJsonStringToPrettyString,iU as parseRawOtlp,ca as prepareDestinationFormData,lD as removeEmptyValuesFromObject,x as safeJsonParse,lE as safeJsonStringify,lF as setDeepValue,lG as sleep,ak as splitCamelString,lH as stringifyNonStringValues,t as trimVersion}from"./chunks/ui-components-BlmdA--F.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"react-dom";import"prism-react-renderer";import"react-error-boundary";import"virtua";
@@ -6,7 +6,7 @@ interface UseCopyProps {
6
6
  declare const useCopy: ({ onDone }?: UseCopyProps) => {
7
7
  CopyButton: React.FC<{
8
8
  value: string;
9
- } & Omit<ButtonProps, "onClick" | "leftIcon" | "rightIcon">>;
9
+ } & Omit<ButtonProps, "onClick" | "size" | "leftIcon" | "rightIcon">>;
10
10
  isCopied: boolean;
11
11
  copiedIndex: number;
12
12
  clickCopy: (str: string, idx?: number) => Promise<void>;
package/lib/hooks.js CHANGED
@@ -1 +1 @@
1
- export{ns as IGNORE_OUTSIDE_CLICK_ATTR,d8 as PopupAlignX,hn as PopupAlignY,iM as formatDurationMinutes,nt as formatDurationMs,nu as isInsideIgnoredPortal,nv as useActionFormData,nw as useAnchoredPopup,nx as useBodyScroll,jB as useContainerSize,b4 as useCopy,ny as useDataStreamFormData,nz as useDestinationFormData,bs as useGenericForm,nA as useInstrumentationRuleFormData,hl as useKeyDown,eS as useOnClickOutside,nB as useOverflow,nC as usePopup,eB as useScrollIntoViewWhen,jY as useScrollTo,js as useSessionStorage,nD as useSourceFormData,ez as useTimeAgo}from"./chunks/ui-components-CnvJIMbW.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"react-dom";import"prism-react-renderer";import"react-error-boundary";import"virtua";
1
+ export{nt as IGNORE_OUTSIDE_CLICK_ATTR,d9 as PopupAlignX,ho as PopupAlignY,iO as formatDurationMinutes,nu as formatDurationMs,nv as isInsideIgnoredPortal,nw as useActionFormData,nx as useAnchoredPopup,ny as useBodyScroll,jC as useContainerSize,b5 as useCopy,nz as useDataStreamFormData,nA as useDestinationFormData,bt as useGenericForm,nB as useInstrumentationRuleFormData,hm as useKeyDown,eT as useOnClickOutside,nC as useOverflow,nD as usePopup,eC as useScrollIntoViewWhen,jZ as useScrollTo,jt as useSessionStorage,nE as useSourceFormData,eA as useTimeAgo}from"./chunks/ui-components-BlmdA--F.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"react-dom";import"prism-react-renderer";import"react-error-boundary";import"virtua";
@@ -48,6 +48,7 @@ export * from './refresh-right-arrow-icon';
48
48
  export * from './role-icon';
49
49
  export * from './rotate-arrows-icon';
50
50
  export * from './search-icon';
51
+ export * from './self-loop-icon';
51
52
  export * from './server-disconnected-icon';
52
53
  export * from './settings-icon';
53
54
  export * from './sort-arrows-icon';
@@ -0,0 +1,2 @@
1
+ import type { SVG } from '../../../types';
2
+ export declare const SelfLoopIcon: SVG;