@elevasis/ui 2.45.1 → 2.46.0

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 (50) hide show
  1. package/dist/api/index.js +3 -3
  2. package/dist/app/index.d.ts +2 -3
  3. package/dist/app/index.js +3 -3
  4. package/dist/auth/index.d.ts +6 -0
  5. package/dist/auth/index.js +3 -3
  6. package/dist/charts/index.js +3 -3
  7. package/dist/{chunk-XDEUR36B.js → chunk-CDZB24OR.js} +6 -11
  8. package/dist/{chunk-NVVAQNKE.js → chunk-OFLWSKSC.js} +1 -1
  9. package/dist/{chunk-UBTSEZJK.js → chunk-REPITZKU.js} +2504 -1819
  10. package/dist/{chunk-UECAFQKT.js → chunk-SOGPJFO6.js} +1 -1
  11. package/dist/components/index.d.ts +1 -2
  12. package/dist/components/index.js +3 -3
  13. package/dist/components/navigation/index.js +3 -3
  14. package/dist/features/auth/index.js +4 -4
  15. package/dist/features/clients/index.js +3 -3
  16. package/dist/features/crm/index.js +3 -3
  17. package/dist/features/dashboard/index.d.ts +1 -2
  18. package/dist/features/dashboard/index.js +3 -3
  19. package/dist/features/delivery/index.js +3 -3
  20. package/dist/features/knowledge/index.js +3 -3
  21. package/dist/features/lead-gen/index.d.ts +2 -3
  22. package/dist/features/lead-gen/index.js +3 -3
  23. package/dist/features/monitoring/index.js +3 -3
  24. package/dist/features/monitoring/requests/index.js +4 -4
  25. package/dist/features/operations/index.d.ts +2 -3
  26. package/dist/features/operations/index.js +3 -3
  27. package/dist/features/settings/index.js +3 -3
  28. package/dist/hooks/access/index.d.ts +6 -0
  29. package/dist/hooks/access/index.js +3 -3
  30. package/dist/hooks/delivery/index.js +3 -3
  31. package/dist/hooks/index.d.ts +7 -2
  32. package/dist/hooks/index.js +3 -3
  33. package/dist/hooks/operations/command-view/utils/transformCommandViewData.d.ts +1 -2
  34. package/dist/hooks/published.d.ts +7 -2
  35. package/dist/hooks/published.js +3 -3
  36. package/dist/index.d.ts +8 -3
  37. package/dist/index.js +4 -4
  38. package/dist/knowledge/index.d.ts +3 -4
  39. package/dist/knowledge/index.js +286 -67
  40. package/dist/layout/index.js +3 -3
  41. package/dist/organization/index.js +3 -3
  42. package/dist/provider/index.d.ts +2 -3
  43. package/dist/provider/index.js +3 -3
  44. package/dist/provider/published.d.ts +2 -3
  45. package/dist/provider/published.js +3 -3
  46. package/dist/test-utils/index.js +3 -3
  47. package/dist/types/index.d.ts +1 -2
  48. package/dist/utils/index.d.ts +1 -2
  49. package/dist/utils/index.js +1 -1
  50. package/package.json +4 -4
@@ -1,5 +1,5 @@
1
- import { SemanticIcon, getKnowledgeIconToken, PageContainer, getKnowledgeGraphNodeCommand, IdentityDomainSchema, WorkflowResourceEntrySchema, AgentResourceEntrySchema, IntegrationResourceEntrySchema, ScriptResourceEntrySchema, getKnowledgeNodeReadCommand, getKnowledgeOntologyProjection, getPrimaryOntologyItemsForDomain, projectNavigationSurfaces, projectNavigationGroups, SurfaceDefinitionSchema, RoleSchema, PolicySchema, getOntologyDomainLabel, getKnowledgeDomainFolderCommand, getKnowledgeTreeFolderCommand, KNOWLEDGE_DOMAINS_WITH_PANELS } from '../chunk-UBTSEZJK.js';
2
- export { KNOWLEDGE_ICON_TOKEN_BY_KIND, KnowledgeSearchBar, KnowledgeTree, OM_NESTED_TREE_GROUPS, OM_TREE_GROUPS, SemanticIcon, extendSemanticIconRegistry, findOmTreeGroup, getKnowledgeIconToken, getSemanticIconComponent, getSharedOrganizationGraph, resolveSemanticIconComponent } from '../chunk-UBTSEZJK.js';
1
+ import { getConceptDefinition, normaliseConceptKey, SemanticIcon, getKnowledgeIconToken, PageContainer, getKnowledgeGraphNodeCommand, IdentityDomainSchema, WorkflowResourceEntrySchema, AgentResourceEntrySchema, IntegrationResourceEntrySchema, ScriptResourceEntrySchema, getKnowledgeNodeReadCommand, getKnowledgeOntologyProjection, getPrimaryOntologyItemsForDomain, projectNavigationSurfaces, projectNavigationGroups, SurfaceDefinitionSchema, RoleSchema, PolicySchema, getOntologyDomainLabel, getKnowledgeDomainFolderCommand, getKnowledgeTreeFolderCommand, KNOWLEDGE_DOMAINS_WITH_PANELS } from '../chunk-REPITZKU.js';
2
+ export { KNOWLEDGE_ICON_TOKEN_BY_KIND, KnowledgeSearchBar, KnowledgeTree, OM_NESTED_TREE_GROUPS, OM_TREE_GROUPS, SemanticIcon, extendSemanticIconRegistry, findOmTreeGroup, getKnowledgeIconToken, getSemanticIconComponent, getSharedOrganizationGraph, resolveSemanticIconComponent } from '../chunk-REPITZKU.js';
3
3
  import { usePresetsContext } from '../chunk-NZ2F5RQ4.js';
4
4
  import '../chunk-OJJK27GC.js';
5
5
  import '../chunk-AUDNF2Q7.js';
@@ -10,7 +10,7 @@ import '../chunk-SJHM4WDG.js';
10
10
  import '../chunk-ZTWA5H77.js';
11
11
  import '../chunk-S3XR4II4.js';
12
12
  import '../chunk-6DO4PE3O.js';
13
- import '../chunk-NVVAQNKE.js';
13
+ import '../chunk-OFLWSKSC.js';
14
14
  import '../chunk-DD3CCMCZ.js';
15
15
  import '../chunk-GMXGDO3I.js';
16
16
  import '../chunk-2IFYDILW.js';
@@ -19,7 +19,7 @@ import '../chunk-HENXLGVD.js';
19
19
  import '../chunk-7FPLLSHN.js';
20
20
  import '../chunk-RNP5R5I3.js';
21
21
  import '../chunk-W2SFTXMT.js';
22
- import { getSystem, SystemEntrySchema, EntitySchema, ActionSchema, OntologyIdSchema, ontologyGraphNodeId, compileOrganizationOntology, parseOntologyId } from '../chunk-XDEUR36B.js';
22
+ import { getSystem, SystemEntrySchema, EntitySchema, ActionSchema, OntologyIdSchema, ontologyGraphNodeId, compileOrganizationOntology, parseOntologyId } from '../chunk-CDZB24OR.js';
23
23
  import '../chunk-KRWALB24.js';
24
24
  import '../chunk-2FTX4WO2.js';
25
25
  import '../chunk-MQZE7SUI.js';
@@ -27,7 +27,7 @@ import '../chunk-TVTSASST.js';
27
27
  import '../chunk-BRJ3QZ4E.js';
28
28
  import '../chunk-I2KLQ2HA.js';
29
29
  import { createContext, Children, isValidElement, cloneElement, useMemo, useContext, useRef, useState, useEffect } from 'react';
30
- import { Card, Text, SimpleGrid, Group, Stack, Alert, Tabs, Box, Table, CopyButton, Tooltip, ActionIcon, Title, Badge, Divider, Button, Paper, TableOfContents, ThemeIcon, UnstyledButton, List, Code, Progress, Loader } from '@mantine/core';
30
+ import { Card, Text, SimpleGrid, Group, Stack, Alert, Tabs, Box, Table, CopyButton, Tooltip, ActionIcon, Title, Badge, Divider, Button, Paper, TableOfContents, ThemeIcon, UnstyledButton, List, Code, Progress, Loader, Spoiler } from '@mantine/core';
31
31
  import { IconBook, IconCheck, IconCopy, IconExternalLink, IconCircleX, IconAlertTriangle, IconInfoCircle } from '@tabler/icons-react';
32
32
  import { jsxs, jsx, Fragment } from 'react/jsx-runtime';
33
33
  import { Highlight, themes } from 'prism-react-renderer';
@@ -6897,6 +6897,19 @@ function useKnowledgeAllowlist() {
6897
6897
  }
6898
6898
  return ctx;
6899
6899
  }
6900
+ function ConceptTooltip({ conceptKey, variant = "chip", children }) {
6901
+ const definition = getConceptDefinition(conceptKey);
6902
+ if (!definition) {
6903
+ return /* @__PURE__ */ jsx(Fragment, { children });
6904
+ }
6905
+ if (variant === "label") {
6906
+ return /* @__PURE__ */ jsxs(Group, { gap: 4, wrap: "nowrap", align: "center", style: { display: "inline-flex" }, children: [
6907
+ children,
6908
+ /* @__PURE__ */ jsx(Tooltip, { label: definition.description, withArrow: true, multiline: true, maw: 260, children: /* @__PURE__ */ jsx(IconInfoCircle, { size: 12, style: { color: "var(--color-text-subtle)", cursor: "help", flexShrink: 0 } }) })
6909
+ ] });
6910
+ }
6911
+ return /* @__PURE__ */ jsx(Tooltip, { label: definition.description, withArrow: true, multiline: true, maw: 260, children: /* @__PURE__ */ jsx("span", { style: { cursor: "help", display: "inline-flex", width: "fit-content" }, children }) });
6912
+ }
6900
6913
  var KIND_CHIP_TONE_STYLES = {
6901
6914
  subtle: {
6902
6915
  backgroundColor: "var(--color-surface-hover)",
@@ -6915,7 +6928,7 @@ var KIND_CHIP_TONE_STYLES = {
6915
6928
  }
6916
6929
  };
6917
6930
  function KindChip({ kind, tone = "subtle", style, ...spanProps }) {
6918
- return /* @__PURE__ */ jsx(
6931
+ const chip = /* @__PURE__ */ jsx(
6919
6932
  "span",
6920
6933
  {
6921
6934
  ...spanProps,
@@ -6942,6 +6955,9 @@ function KindChip({ kind, tone = "subtle", style, ...spanProps }) {
6942
6955
  children: kind
6943
6956
  }
6944
6957
  );
6958
+ const hasDefinition = Boolean(getConceptDefinition(normaliseConceptKey(kind)));
6959
+ if (!hasDefinition) return chip;
6960
+ return /* @__PURE__ */ jsx(ConceptTooltip, { conceptKey: kind, variant: "chip", children: chip });
6945
6961
  }
6946
6962
  function NodeHeader({
6947
6963
  title,
@@ -6996,7 +7012,7 @@ function EdgeChip({ id, onClick }) {
6996
7012
  }
6997
7013
  function EdgeGroup({ label, ids, onNavigateToNode }) {
6998
7014
  return /* @__PURE__ */ jsxs(Stack, { gap: 4, children: [
6999
- /* @__PURE__ */ jsx(Text, { size: "xs", fw: 500, style: { color: "var(--color-text-subtle)" }, children: label }),
7015
+ /* @__PURE__ */ jsx(Text, { component: "span", size: "xs", fw: 500, style: { color: "var(--color-text-subtle)", display: "block" }, children: /* @__PURE__ */ jsx(ConceptTooltip, { conceptKey: label, variant: "label", children: label }) }),
7000
7016
  ids.map((id) => /* @__PURE__ */ jsx(EdgeChip, { id, onClick: onNavigateToNode ? () => onNavigateToNode(id) : void 0 }, id))
7001
7017
  ] });
7002
7018
  }
@@ -7745,10 +7761,9 @@ function UiPlacementSection({
7745
7761
  uiOrder,
7746
7762
  uiPosition,
7747
7763
  requiresAdmin,
7748
- devOnly,
7749
- color
7764
+ devOnly
7750
7765
  }) {
7751
- const hasAny = uiOrder !== void 0 || uiPosition !== void 0 || requiresAdmin !== void 0 || devOnly !== void 0 || color !== void 0;
7766
+ const hasAny = uiOrder !== void 0 || uiPosition !== void 0 || requiresAdmin !== void 0 || devOnly !== void 0;
7752
7767
  if (!hasAny) return null;
7753
7768
  return /* @__PURE__ */ jsxs(Stack, { gap: 4, children: [
7754
7769
  /* @__PURE__ */ jsx(Text, { size: "xs", fw: 500, style: { color: "var(--color-text-subtle)" }, children: "UI placement" }),
@@ -7756,8 +7771,7 @@ function UiPlacementSection({
7756
7771
  uiOrder !== void 0 && /* @__PURE__ */ jsx(KindChip, { kind: `order: ${uiOrder}`, tone: "subtle" }),
7757
7772
  uiPosition !== void 0 && /* @__PURE__ */ jsx(KindChip, { kind: uiPosition, tone: "subtle" }),
7758
7773
  requiresAdmin && /* @__PURE__ */ jsx(KindChip, { kind: "requiresAdmin", tone: "muted" }),
7759
- devOnly && /* @__PURE__ */ jsx(KindChip, { kind: "devOnly", tone: "muted" }),
7760
- color !== void 0 && /* @__PURE__ */ jsx(KindChip, { kind: `color: ${color}`, tone: "subtle" })
7774
+ devOnly && /* @__PURE__ */ jsx(KindChip, { kind: "devOnly", tone: "muted" })
7761
7775
  ] })
7762
7776
  ] });
7763
7777
  }
@@ -7791,7 +7805,7 @@ function SystemDescribeView({
7791
7805
  const ontologyObjectIds = getPrimaryOntologyNodeIds(systemSourceId, organizationModel, "ontology-objects") ?? getContainedOntologyNodeIds(node, graph, "object");
7792
7806
  const ontologyActionIds = getPrimaryOntologyNodeIds(systemSourceId, organizationModel, "ontology-actions") ?? getContainedOntologyNodeIds(node, graph, "action");
7793
7807
  const ontologyCatalogIds = getPrimaryOntologyNodeIds(systemSourceId, organizationModel, "ontology-catalogs") ?? getContainedOntologyNodeIds(node, graph, "catalog");
7794
- const ontologySurfaceIds = getPrimaryOntologyNodeIds(systemSourceId, organizationModel, "ontology-surfaces") ?? getContainedOntologyNodeIds(node, graph, "surface");
7808
+ const ontologyEndpointIds = getPrimaryOntologyNodeIds(systemSourceId, organizationModel, "ontology-endpoints") ?? getContainedOntologyNodeIds(node, graph, "endpoint");
7795
7809
  const uiIcon = system?.ui?.icon ?? system?.icon;
7796
7810
  const uiPath = system?.ui?.path ?? system?.path;
7797
7811
  const uiSurfaces = system?.ui?.surfaces;
@@ -7799,7 +7813,6 @@ function SystemDescribeView({
7799
7813
  const uiPosition = system?.uiPosition;
7800
7814
  const requiresAdmin = system?.requiresAdmin;
7801
7815
  const devOnly = system?.devOnly;
7802
- const color = system?.color;
7803
7816
  const policies = system?.policies;
7804
7817
  const governedByKnowledge = system?.governedByKnowledge;
7805
7818
  return /* @__PURE__ */ jsx(
@@ -7882,8 +7895,7 @@ function SystemDescribeView({
7882
7895
  uiOrder,
7883
7896
  uiPosition,
7884
7897
  requiresAdmin,
7885
- devOnly,
7886
- color
7898
+ devOnly
7887
7899
  }
7888
7900
  ),
7889
7901
  ontologyObjectIds.length > 0 && /* @__PURE__ */ jsx(
@@ -7910,11 +7922,11 @@ function SystemDescribeView({
7910
7922
  onNavigateToNode
7911
7923
  }
7912
7924
  ),
7913
- ontologySurfaceIds.length > 0 && /* @__PURE__ */ jsx(
7925
+ ontologyEndpointIds.length > 0 && /* @__PURE__ */ jsx(
7914
7926
  EdgeGroup,
7915
7927
  {
7916
- label: `Ontology surfaces (${ontologySurfaceIds.length})`,
7917
- ids: ontologySurfaceIds,
7928
+ label: `Ontology endpoints (${ontologyEndpointIds.length})`,
7929
+ ids: ontologyEndpointIds,
7918
7930
  onNavigateToNode
7919
7931
  }
7920
7932
  ),
@@ -8901,6 +8913,19 @@ function formatValue(value) {
8901
8913
  }
8902
8914
  return JSON.stringify(value, null, 2);
8903
8915
  }
8916
+ function RecordSection({ title, record }) {
8917
+ if (!record) return null;
8918
+ const entries = Object.entries(record).filter(([, value]) => value !== void 0 && value !== null && value !== "");
8919
+ if (entries.length === 0) return null;
8920
+ return /* @__PURE__ */ jsxs(Fragment, { children: [
8921
+ /* @__PURE__ */ jsx(Divider, {}),
8922
+ /* @__PURE__ */ jsx(Text, { size: "sm", fw: 600, c: "dimmed", tt: "uppercase", style: { letterSpacing: "0.05em" }, children: title }),
8923
+ /* @__PURE__ */ jsx(Stack, { gap: "xs", children: entries.map(([key, value]) => /* @__PURE__ */ jsxs("div", { style: { display: "flex", gap: 8 }, children: [
8924
+ /* @__PURE__ */ jsx(Text, { size: "sm", fw: 500, c: "dimmed", style: { minWidth: 140, flexShrink: 0 }, children: key }),
8925
+ /* @__PURE__ */ jsx(Text, { size: "sm", style: { flex: 1, whiteSpace: "pre-wrap", wordBreak: "break-word" }, children: formatValue(value) })
8926
+ ] }, key)) })
8927
+ ] });
8928
+ }
8904
8929
  function AdditionalProperties({ domain, knownKeys }) {
8905
8930
  const knownSet = new Set(knownKeys);
8906
8931
  const extras = Object.entries(domain).filter(
@@ -9080,10 +9105,158 @@ function ThemeSwatchRow({ tokens }) {
9080
9105
  /* @__PURE__ */ jsx(Text, { size: "xs", c: "dimmed", ta: "center", children: label })
9081
9106
  ] }, label)) });
9082
9107
  }
9108
+ var IDENTITY_KNOWN_KEYS = [
9109
+ "organizationName",
9110
+ "shortName",
9111
+ "clientBrief",
9112
+ "geographicFocus",
9113
+ "timeZone"
9114
+ ];
9115
+ var BRANDING_KNOWN_KEYS2 = ["voice", "tagline", "values", "palette", "typography"];
9116
+ var PROMPTS_KNOWN_KEYS = ["defaultContext"];
9083
9117
  function formatLabel(value) {
9084
9118
  return value.split(/[-_]/).filter(Boolean).map((part) => part.charAt(0).toUpperCase() + part.slice(1)).join(" ");
9085
9119
  }
9086
- function ClientsPanel({ model, filterToItemId }) {
9120
+ function ClientDetail({ client, onNavigateToNode }) {
9121
+ const identity = client.identity;
9122
+ const branding = client.branding;
9123
+ const prompts = client.prompts;
9124
+ const links = client.links;
9125
+ const brandingRecord = branding;
9126
+ const palette = brandingRecord["palette"];
9127
+ const typography = brandingRecord["typography"];
9128
+ const hasBrandingSection = branding.tagline || branding.voice || branding.values && branding.values.length > 0 || palette || typography;
9129
+ const hasLinksSection = links.projectIds && links.projectIds.length > 0 || links.primaryCompanyId || links.primaryContactId || links.sourceDealId;
9130
+ return /* @__PURE__ */ jsxs(Stack, { p: "md", gap: "md", children: [
9131
+ /* @__PURE__ */ jsx(
9132
+ KnowledgePageHeader,
9133
+ {
9134
+ title: client.name,
9135
+ kind: "Client",
9136
+ tone: "subtle",
9137
+ copyCommand: getKnowledgeDomainFolderCommand("clients")
9138
+ }
9139
+ ),
9140
+ /* @__PURE__ */ jsxs(Group, { gap: "xs", wrap: "wrap", children: [
9141
+ /* @__PURE__ */ jsx(Badge, { variant: "light", size: "sm", children: formatLabel(client.status) }),
9142
+ client.source ? /* @__PURE__ */ jsx(Badge, { variant: "outline", size: "sm", children: formatLabel(client.source) }) : null,
9143
+ /* @__PURE__ */ jsx(Text, { size: "xs", c: "dimmed", children: client.slug })
9144
+ ] }),
9145
+ /* @__PURE__ */ jsx(Divider, {}),
9146
+ /* @__PURE__ */ jsx(Text, { size: "sm", fw: 600, c: "dimmed", tt: "uppercase", style: { letterSpacing: "0.05em" }, children: "Identity" }),
9147
+ /* @__PURE__ */ jsxs(Stack, { gap: "xs", children: [
9148
+ identity.organizationName ? /* @__PURE__ */ jsx(FieldRow, { label: "Organization", value: identity.organizationName }) : null,
9149
+ identity.shortName ? /* @__PURE__ */ jsx(FieldRow, { label: "Short Name", value: identity.shortName }) : null,
9150
+ identity.geographicFocus && identity.geographicFocus.length > 0 ? /* @__PURE__ */ jsx(FieldRow, { label: "Geographic Focus", value: identity.geographicFocus.join(", ") }) : null,
9151
+ identity.timeZone && identity.timeZone !== "UTC" ? /* @__PURE__ */ jsx(FieldRow, { label: "Time Zone", value: identity.timeZone }) : null,
9152
+ identity.clientBrief ? /* @__PURE__ */ jsxs(Stack, { gap: 4, children: [
9153
+ /* @__PURE__ */ jsx(Text, { size: "sm", fw: 500, c: "dimmed", children: "Brief" }),
9154
+ /* @__PURE__ */ jsx(Card, { withBorder: true, padding: "sm", style: { background: "var(--color-surface)" }, children: /* @__PURE__ */ jsx(Text, { size: "sm", style: { whiteSpace: "pre-wrap", lineHeight: 1.6 }, children: identity.clientBrief }) })
9155
+ ] }) : null
9156
+ ] }),
9157
+ /* @__PURE__ */ jsx(AdditionalProperties, { domain: identity, knownKeys: IDENTITY_KNOWN_KEYS }),
9158
+ hasBrandingSection ? /* @__PURE__ */ jsxs(Fragment, { children: [
9159
+ /* @__PURE__ */ jsx(Divider, {}),
9160
+ /* @__PURE__ */ jsx(Text, { size: "sm", fw: 600, c: "dimmed", tt: "uppercase", style: { letterSpacing: "0.05em" }, children: "Branding" }),
9161
+ /* @__PURE__ */ jsxs(Stack, { gap: "xs", children: [
9162
+ branding.tagline ? /* @__PURE__ */ jsxs(Stack, { gap: 4, children: [
9163
+ /* @__PURE__ */ jsx(Text, { size: "sm", fw: 500, c: "dimmed", children: "Tagline" }),
9164
+ /* @__PURE__ */ jsx(Text, { size: "sm", children: branding.tagline })
9165
+ ] }) : null,
9166
+ branding.voice ? /* @__PURE__ */ jsxs(Stack, { gap: 4, children: [
9167
+ /* @__PURE__ */ jsx(Text, { size: "sm", fw: 500, c: "dimmed", children: "Voice" }),
9168
+ /* @__PURE__ */ jsx(Text, { size: "sm", children: branding.voice })
9169
+ ] }) : null,
9170
+ branding.values && branding.values.length > 0 ? /* @__PURE__ */ jsxs(Stack, { gap: 4, children: [
9171
+ /* @__PURE__ */ jsx(Text, { size: "sm", fw: 500, c: "dimmed", children: "Values" }),
9172
+ /* @__PURE__ */ jsx(Group, { gap: "xs", wrap: "wrap", children: branding.values.map((v) => /* @__PURE__ */ jsx(Badge, { variant: "light", size: "sm", children: v }, v)) })
9173
+ ] }) : null,
9174
+ palette ? /* @__PURE__ */ jsxs(Stack, { gap: 4, children: [
9175
+ /* @__PURE__ */ jsx(Text, { size: "sm", fw: 500, c: "dimmed", children: "Palette" }),
9176
+ /* @__PURE__ */ jsx(PaletteSwatches, { palette })
9177
+ ] }) : null,
9178
+ typography ? /* @__PURE__ */ jsxs(Stack, { gap: 4, children: [
9179
+ /* @__PURE__ */ jsx(Text, { size: "sm", fw: 500, c: "dimmed", children: "Typography" }),
9180
+ /* @__PURE__ */ jsx(TypographyRows, { typography })
9181
+ ] }) : null
9182
+ ] }),
9183
+ /* @__PURE__ */ jsx(AdditionalProperties, { domain: brandingRecord, knownKeys: BRANDING_KNOWN_KEYS2 })
9184
+ ] }) : null,
9185
+ prompts.defaultContext ? /* @__PURE__ */ jsxs(Fragment, { children: [
9186
+ /* @__PURE__ */ jsx(Divider, {}),
9187
+ /* @__PURE__ */ jsx(Text, { size: "sm", fw: 600, c: "dimmed", tt: "uppercase", style: { letterSpacing: "0.05em" }, children: "Prompts" }),
9188
+ /* @__PURE__ */ jsx(Spoiler, { maxHeight: 200, showLabel: "Show more", hideLabel: "Show less", children: /* @__PURE__ */ jsx(Text, { size: "sm", style: { whiteSpace: "pre-wrap", lineHeight: 1.6 }, children: prompts.defaultContext }) }),
9189
+ /* @__PURE__ */ jsx(AdditionalProperties, { domain: prompts, knownKeys: PROMPTS_KNOWN_KEYS })
9190
+ ] }) : null,
9191
+ hasLinksSection ? /* @__PURE__ */ jsxs(Fragment, { children: [
9192
+ /* @__PURE__ */ jsx(Divider, {}),
9193
+ /* @__PURE__ */ jsx(Text, { size: "sm", fw: 600, c: "dimmed", tt: "uppercase", style: { letterSpacing: "0.05em" }, children: "Links" }),
9194
+ /* @__PURE__ */ jsxs(Stack, { gap: "sm", children: [
9195
+ links.projectIds && links.projectIds.length > 0 ? /* @__PURE__ */ jsx(
9196
+ EdgeGroup,
9197
+ {
9198
+ label: `Project IDs (${links.projectIds.length})`,
9199
+ ids: links.projectIds,
9200
+ onNavigateToNode
9201
+ }
9202
+ ) : null,
9203
+ links.primaryCompanyId ? /* @__PURE__ */ jsxs(Stack, { gap: 4, children: [
9204
+ /* @__PURE__ */ jsx(Text, { size: "xs", fw: 500, style: { color: "var(--color-text-subtle)" }, children: "Primary Company" }),
9205
+ /* @__PURE__ */ jsx(
9206
+ EdgeChip,
9207
+ {
9208
+ id: links.primaryCompanyId,
9209
+ onClick: onNavigateToNode ? () => onNavigateToNode(links.primaryCompanyId) : void 0
9210
+ }
9211
+ )
9212
+ ] }) : null,
9213
+ links.primaryContactId ? /* @__PURE__ */ jsxs(Stack, { gap: 4, children: [
9214
+ /* @__PURE__ */ jsx(Text, { size: "xs", fw: 500, style: { color: "var(--color-text-subtle)" }, children: "Primary Contact" }),
9215
+ /* @__PURE__ */ jsx(
9216
+ EdgeChip,
9217
+ {
9218
+ id: links.primaryContactId,
9219
+ onClick: onNavigateToNode ? () => onNavigateToNode(links.primaryContactId) : void 0
9220
+ }
9221
+ )
9222
+ ] }) : null,
9223
+ links.sourceDealId ? /* @__PURE__ */ jsxs(Stack, { gap: 4, children: [
9224
+ /* @__PURE__ */ jsx(Text, { size: "xs", fw: 500, style: { color: "var(--color-text-subtle)" }, children: "Source Deal" }),
9225
+ /* @__PURE__ */ jsx(
9226
+ EdgeChip,
9227
+ {
9228
+ id: links.sourceDealId,
9229
+ onClick: onNavigateToNode ? () => onNavigateToNode(links.sourceDealId) : void 0
9230
+ }
9231
+ )
9232
+ ] }) : null
9233
+ ] })
9234
+ ] }) : null,
9235
+ /* @__PURE__ */ jsx(RecordSection, { title: "Config", record: client.config }),
9236
+ /* @__PURE__ */ jsx(RecordSection, { title: "Custom Values", record: client.customValues })
9237
+ ] });
9238
+ }
9239
+ function ClientSummaryCard({ client }) {
9240
+ return /* @__PURE__ */ jsx(Card, { withBorder: true, padding: "md", style: { background: "var(--color-surface)" }, children: /* @__PURE__ */ jsxs(Stack, { gap: "sm", children: [
9241
+ /* @__PURE__ */ jsxs(Group, { gap: "xs", justify: "space-between", wrap: "nowrap", children: [
9242
+ /* @__PURE__ */ jsxs(Stack, { gap: 2, style: { minWidth: 0 }, children: [
9243
+ /* @__PURE__ */ jsx(Text, { fw: 600, size: "sm", lineClamp: 1, children: client.name }),
9244
+ /* @__PURE__ */ jsx(Text, { size: "xs", c: "dimmed", lineClamp: 1, children: client.slug })
9245
+ ] }),
9246
+ /* @__PURE__ */ jsxs(Group, { gap: "xs", wrap: "nowrap", style: { flexShrink: 0 }, children: [
9247
+ /* @__PURE__ */ jsx(Badge, { variant: "light", size: "sm", children: formatLabel(client.status) }),
9248
+ client.source ? /* @__PURE__ */ jsx(Badge, { variant: "outline", size: "sm", children: formatLabel(client.source) }) : null
9249
+ ] })
9250
+ ] }),
9251
+ client.identity.clientBrief ? /* @__PURE__ */ jsx(Text, { size: "sm", c: "dimmed", children: client.identity.clientBrief }) : null,
9252
+ /* @__PURE__ */ jsxs(Group, { gap: "xs", wrap: "wrap", children: [
9253
+ client.workspace.kind ? /* @__PURE__ */ jsx(Badge, { variant: "light", color: "gray", size: "sm", children: formatLabel(client.workspace.kind) }) : null,
9254
+ client.workspace.owner ? /* @__PURE__ */ jsx(Badge, { variant: "light", color: "gray", size: "sm", children: formatLabel(client.workspace.owner) }) : null,
9255
+ client.workspace.projectId ? /* @__PURE__ */ jsx(Badge, { variant: "light", color: "gray", size: "sm", children: client.workspace.projectId }) : null
9256
+ ] })
9257
+ ] }) }, client.id);
9258
+ }
9259
+ function ClientsPanel({ model, filterToItemId, onNavigateToNode }) {
9087
9260
  const clients = Object.values(model.clients).filter((client) => !filterToItemId || client.id === filterToItemId).sort((left, right) => left.slug.localeCompare(right.slug));
9088
9261
  if (clients.length === 0) {
9089
9262
  return /* @__PURE__ */ jsxs(Stack, { p: "md", gap: "sm", children: [
@@ -9099,6 +9272,9 @@ function ClientsPanel({ model, filterToItemId }) {
9099
9272
  /* @__PURE__ */ jsx(Text, { size: "sm", c: "dimmed", children: filterToItemId ? "Client profile not found." : "No client profiles defined yet." })
9100
9273
  ] });
9101
9274
  }
9275
+ if (filterToItemId) {
9276
+ return /* @__PURE__ */ jsx(ClientDetail, { client: clients[0], onNavigateToNode });
9277
+ }
9102
9278
  return /* @__PURE__ */ jsxs(Stack, { p: "md", gap: "md", children: [
9103
9279
  /* @__PURE__ */ jsx(
9104
9280
  KnowledgePageHeader,
@@ -9116,26 +9292,43 @@ function ClientsPanel({ model, filterToItemId }) {
9116
9292
  " defined."
9117
9293
  ] }),
9118
9294
  /* @__PURE__ */ jsx(Divider, {}),
9119
- /* @__PURE__ */ jsx(Stack, { gap: "md", children: clients.map((client) => /* @__PURE__ */ jsx(Card, { withBorder: true, padding: "md", style: { background: "var(--color-surface)" }, children: /* @__PURE__ */ jsxs(Stack, { gap: "sm", children: [
9120
- /* @__PURE__ */ jsxs(Group, { gap: "xs", justify: "space-between", wrap: "nowrap", children: [
9121
- /* @__PURE__ */ jsxs(Stack, { gap: 2, style: { minWidth: 0 }, children: [
9122
- /* @__PURE__ */ jsx(Text, { fw: 600, size: "sm", lineClamp: 1, children: client.name }),
9123
- /* @__PURE__ */ jsx(Text, { size: "xs", c: "dimmed", lineClamp: 1, children: client.slug })
9124
- ] }),
9125
- /* @__PURE__ */ jsxs(Group, { gap: "xs", wrap: "nowrap", style: { flexShrink: 0 }, children: [
9126
- /* @__PURE__ */ jsx(Badge, { variant: "light", size: "sm", children: formatLabel(client.status) }),
9127
- client.source ? /* @__PURE__ */ jsx(Badge, { variant: "outline", size: "sm", children: formatLabel(client.source) }) : null
9128
- ] })
9129
- ] }),
9130
- client.identity.clientBrief ? /* @__PURE__ */ jsx(Text, { size: "sm", c: "dimmed", children: client.identity.clientBrief }) : null,
9131
- /* @__PURE__ */ jsxs(Group, { gap: "xs", wrap: "wrap", children: [
9132
- client.workspace.kind ? /* @__PURE__ */ jsx(Badge, { variant: "light", color: "gray", size: "sm", children: formatLabel(client.workspace.kind) }) : null,
9133
- client.workspace.owner ? /* @__PURE__ */ jsx(Badge, { variant: "light", color: "gray", size: "sm", children: formatLabel(client.workspace.owner) }) : null,
9134
- client.workspace.projectId ? /* @__PURE__ */ jsx(Badge, { variant: "light", color: "gray", size: "sm", children: client.workspace.projectId }) : null
9135
- ] })
9136
- ] }) }, client.id)) })
9295
+ /* @__PURE__ */ jsx(Stack, { gap: "md", children: clients.map((client) => /* @__PURE__ */ jsx(ClientSummaryCard, { client }, client.id)) })
9296
+ ] });
9297
+ }
9298
+ function FieldRow({ label, value }) {
9299
+ return /* @__PURE__ */ jsxs("div", { style: { display: "flex", gap: 8 }, children: [
9300
+ /* @__PURE__ */ jsx(Text, { size: "sm", fw: 500, c: "dimmed", style: { minWidth: 140, flexShrink: 0 }, children: label }),
9301
+ /* @__PURE__ */ jsx(Text, { size: "sm", children: value })
9137
9302
  ] });
9138
9303
  }
9304
+ function PaletteSwatches({ palette }) {
9305
+ const entries = Object.entries(palette).filter(([, v]) => typeof v === "string" && v.trim().length > 0);
9306
+ if (entries.length === 0) return null;
9307
+ return /* @__PURE__ */ jsx(Group, { gap: "sm", wrap: "wrap", children: entries.map(([name, color]) => /* @__PURE__ */ jsxs(Stack, { gap: 4, align: "center", style: { minWidth: 56 }, children: [
9308
+ /* @__PURE__ */ jsx(
9309
+ "div",
9310
+ {
9311
+ style: {
9312
+ width: 32,
9313
+ height: 32,
9314
+ borderRadius: 6,
9315
+ backgroundColor: color,
9316
+ border: "1px solid var(--color-border, rgba(0,0,0,0.12))"
9317
+ },
9318
+ title: color
9319
+ }
9320
+ ),
9321
+ /* @__PURE__ */ jsx(Text, { size: "xs", c: "dimmed", ta: "center", children: name })
9322
+ ] }, name)) });
9323
+ }
9324
+ function TypographyRows({ typography }) {
9325
+ const entries = Object.entries(typography).filter(([, v]) => typeof v === "string" && v.trim().length > 0);
9326
+ if (entries.length === 0) return null;
9327
+ return /* @__PURE__ */ jsx(Stack, { gap: "xs", children: entries.map(([name, fontValue]) => /* @__PURE__ */ jsxs(Group, { gap: "xs", children: [
9328
+ /* @__PURE__ */ jsx(Text, { size: "sm", fw: 500, c: "dimmed", style: { minWidth: 140 }, children: name }),
9329
+ /* @__PURE__ */ jsx(Text, { size: "sm", style: { fontFamily: fontValue }, children: fontValue })
9330
+ ] }, name)) });
9331
+ }
9139
9332
  function CustomersPanel({ model, filterToItemId }) {
9140
9333
  const customers = model.customers;
9141
9334
  const segments = Object.values(customers).filter((segment) => !filterToItemId || segment.id === filterToItemId).sort((a, b) => a.order - b.order);
@@ -9280,7 +9473,7 @@ function GoalsPanel({ model, filterToItemId }) {
9280
9473
  ] });
9281
9474
  }
9282
9475
  var DAYS_OF_WEEK = ["monday", "tuesday", "wednesday", "thursday", "friday", "saturday", "sunday"];
9283
- var IDENTITY_KNOWN_KEYS = [
9476
+ var IDENTITY_KNOWN_KEYS2 = [
9284
9477
  "organizationName",
9285
9478
  "productName",
9286
9479
  "shortName",
@@ -9299,7 +9492,7 @@ var IDENTITY_KNOWN_KEYS = [
9299
9492
  function capitalize(s) {
9300
9493
  return s.charAt(0).toUpperCase() + s.slice(1);
9301
9494
  }
9302
- function FieldRow({ label, value }) {
9495
+ function FieldRow2({ label, value }) {
9303
9496
  return /* @__PURE__ */ jsxs("div", { style: { display: "flex", gap: 8 }, children: [
9304
9497
  /* @__PURE__ */ jsx(Text, { size: "sm", fw: 500, c: "dimmed", style: { minWidth: 140, flexShrink: 0 }, children: label }),
9305
9498
  /* @__PURE__ */ jsx(Text, { size: "sm", children: value })
@@ -9325,7 +9518,7 @@ function IdentityPanel({ model }) {
9325
9518
  }
9326
9519
  ),
9327
9520
  /* @__PURE__ */ jsx(Text, { size: "sm", c: "dimmed", children: "No identity configured." }),
9328
- /* @__PURE__ */ jsx(AdditionalProperties, { domain: identity, knownKeys: IDENTITY_KNOWN_KEYS })
9521
+ /* @__PURE__ */ jsx(AdditionalProperties, { domain: identity, knownKeys: IDENTITY_KNOWN_KEYS2 })
9329
9522
  ] });
9330
9523
  }
9331
9524
  const businessHoursRows = DAYS_OF_WEEK.map((day) => {
@@ -9347,10 +9540,10 @@ function IdentityPanel({ model }) {
9347
9540
  (organizationName || productName || shortName || description) && /* @__PURE__ */ jsxs(Fragment, { children: [
9348
9541
  /* @__PURE__ */ jsx(Text, { size: "sm", fw: 600, c: "dimmed", tt: "uppercase", style: { letterSpacing: "0.05em" }, children: "Naming" }),
9349
9542
  /* @__PURE__ */ jsxs(Stack, { gap: "xs", children: [
9350
- organizationName && /* @__PURE__ */ jsx(FieldRow, { label: "Organization Name", value: organizationName }),
9351
- productName && /* @__PURE__ */ jsx(FieldRow, { label: "Product Name", value: productName }),
9352
- shortName && /* @__PURE__ */ jsx(FieldRow, { label: "Short Name", value: shortName }),
9353
- description && /* @__PURE__ */ jsx(FieldRow, { label: "Description", value: description })
9543
+ organizationName && /* @__PURE__ */ jsx(FieldRow2, { label: "Organization Name", value: organizationName }),
9544
+ productName && /* @__PURE__ */ jsx(FieldRow2, { label: "Product Name", value: productName }),
9545
+ shortName && /* @__PURE__ */ jsx(FieldRow2, { label: "Short Name", value: shortName }),
9546
+ description && /* @__PURE__ */ jsx(FieldRow2, { label: "Description", value: description })
9354
9547
  ] })
9355
9548
  ] }),
9356
9549
  /* @__PURE__ */ jsxs(Stack, { gap: "xs", children: [
@@ -9367,12 +9560,12 @@ function IdentityPanel({ model }) {
9367
9560
  /* @__PURE__ */ jsx(Divider, {}),
9368
9561
  /* @__PURE__ */ jsx(Text, { size: "sm", fw: 600, c: "dimmed", tt: "uppercase", style: { letterSpacing: "0.05em" }, children: "Legal & Operational" }),
9369
9562
  /* @__PURE__ */ jsxs(Stack, { gap: "xs", children: [
9370
- identity.legalName && /* @__PURE__ */ jsx(FieldRow, { label: "Legal Name", value: identity.legalName }),
9371
- identity.entityType && /* @__PURE__ */ jsx(FieldRow, { label: "Entity Type", value: identity.entityType }),
9372
- identity.jurisdiction && /* @__PURE__ */ jsx(FieldRow, { label: "Jurisdiction", value: identity.jurisdiction }),
9373
- identity.industryCategory && /* @__PURE__ */ jsx(FieldRow, { label: "Industry", value: identity.industryCategory }),
9374
- identity.geographicFocus && /* @__PURE__ */ jsx(FieldRow, { label: "Geographic Focus", value: identity.geographicFocus }),
9375
- identity.timeZone && /* @__PURE__ */ jsx(FieldRow, { label: "Timezone", value: identity.timeZone })
9563
+ identity.legalName && /* @__PURE__ */ jsx(FieldRow2, { label: "Legal Name", value: identity.legalName }),
9564
+ identity.entityType && /* @__PURE__ */ jsx(FieldRow2, { label: "Entity Type", value: identity.entityType }),
9565
+ identity.jurisdiction && /* @__PURE__ */ jsx(FieldRow2, { label: "Jurisdiction", value: identity.jurisdiction }),
9566
+ identity.industryCategory && /* @__PURE__ */ jsx(FieldRow2, { label: "Industry", value: identity.industryCategory }),
9567
+ identity.geographicFocus && /* @__PURE__ */ jsx(FieldRow2, { label: "Geographic Focus", value: identity.geographicFocus }),
9568
+ identity.timeZone && /* @__PURE__ */ jsx(FieldRow2, { label: "Timezone", value: identity.timeZone })
9376
9569
  ] })
9377
9570
  ] }),
9378
9571
  hasBusinessHours && /* @__PURE__ */ jsxs(Fragment, { children: [
@@ -9396,7 +9589,7 @@ function IdentityPanel({ model }) {
9396
9589
  /* @__PURE__ */ jsx(Text, { size: "sm", fw: 600, c: "dimmed", tt: "uppercase", style: { letterSpacing: "0.05em" }, children: "Client Brief" }),
9397
9590
  /* @__PURE__ */ jsx(Card, { withBorder: true, padding: "sm", style: { background: "var(--color-surface)" }, children: /* @__PURE__ */ jsx(Text, { size: "sm", style: { whiteSpace: "pre-wrap", lineHeight: 1.6 }, children: identity.clientBrief }) })
9398
9591
  ] }),
9399
- /* @__PURE__ */ jsx(AdditionalProperties, { domain: identity, knownKeys: IDENTITY_KNOWN_KEYS })
9592
+ /* @__PURE__ */ jsx(AdditionalProperties, { domain: identity, knownKeys: IDENTITY_KNOWN_KEYS2 })
9400
9593
  ] });
9401
9594
  }
9402
9595
  var SURFACE_TYPE_COLORS = {
@@ -9973,16 +10166,14 @@ var SOURCE_COLORS = {
9973
10166
  function formatSource(source) {
9974
10167
  return source === "legacy-bridge" ? "legacy bridge" : source;
9975
10168
  }
9976
- function OntologyStats({
9977
- projection
9978
- }) {
10169
+ function OntologyStats({ projection }) {
9979
10170
  const primaryStats = [
9980
10171
  "ontology-objects",
9981
10172
  "ontology-links",
9982
10173
  "ontology-actions",
9983
10174
  "ontology-catalogs",
9984
10175
  "ontology-events",
9985
- "ontology-surfaces"
10176
+ "ontology-endpoints"
9986
10177
  ];
9987
10178
  const optionalStats = [
9988
10179
  "ontology-interfaces",
@@ -10122,7 +10313,7 @@ function DomainPanel({
10122
10313
  case "ontology-value-types":
10123
10314
  case "ontology-properties":
10124
10315
  case "ontology-groups":
10125
- case "ontology-surfaces":
10316
+ case "ontology-endpoints":
10126
10317
  case "ontology-resources":
10127
10318
  return /* @__PURE__ */ jsx(OntologyPanel, { model, domainKey, filterToItemId });
10128
10319
  default:
@@ -10143,7 +10334,10 @@ function childSummary(child) {
10143
10334
  const count = child.children?.length ?? 0;
10144
10335
  return count > 0 ? `${count} child${count === 1 ? "" : "ren"}` : "No child nodes";
10145
10336
  }
10146
- function GroupOverviewPanel({ node }) {
10337
+ function GroupOverviewPanel({
10338
+ node,
10339
+ onNavigateToNode
10340
+ }) {
10147
10341
  const children = node.children ?? [];
10148
10342
  const copyCommand = node.value ? getKnowledgeTreeFolderCommand(node.value) : void 0;
10149
10343
  return /* @__PURE__ */ jsxs(Stack, { p: "md", gap: "md", children: [
@@ -10158,13 +10352,38 @@ function GroupOverviewPanel({ node }) {
10158
10352
  }
10159
10353
  ),
10160
10354
  /* @__PURE__ */ jsx(Divider, {}),
10161
- children.length === 0 ? /* @__PURE__ */ jsx(Text, { size: "sm", c: "dimmed", children: "No child branches available." }) : /* @__PURE__ */ jsx(Stack, { gap: "sm", children: children.map((child) => /* @__PURE__ */ jsx(Card, { withBorder: true, padding: "md", children: /* @__PURE__ */ jsxs(Group, { justify: "space-between", align: "start", gap: "md", wrap: "nowrap", children: [
10162
- /* @__PURE__ */ jsxs(Stack, { gap: 4, style: { minWidth: 0 }, children: [
10163
- /* @__PURE__ */ jsx(Text, { fw: 650, size: "sm", lineClamp: 1, children: child.label }),
10164
- /* @__PURE__ */ jsx(Text, { size: "sm", c: "dimmed", lineClamp: 2, children: childSummary(child) })
10165
- ] }),
10166
- /* @__PURE__ */ jsx(Badge, { variant: "light", color: "gray", style: { flexShrink: 0 }, children: child.nodeType })
10167
- ] }) }, child.value ?? child.id ?? `${child.nodeType}:${child.label}`)) })
10355
+ children.length === 0 ? /* @__PURE__ */ jsx(Text, { size: "sm", c: "dimmed", children: "No child branches available." }) : /* @__PURE__ */ jsx(Stack, { gap: "sm", children: children.map((child) => {
10356
+ const routeId = child.value;
10357
+ const navigable = Boolean(routeId && onNavigateToNode);
10358
+ const cardKey = routeId ?? child.id ?? `${child.nodeType}:${child.label}`;
10359
+ const cardBody = /* @__PURE__ */ jsxs(Group, { justify: "space-between", align: "start", gap: "md", wrap: "nowrap", children: [
10360
+ /* @__PURE__ */ jsxs(Stack, { gap: 4, style: { minWidth: 0 }, children: [
10361
+ /* @__PURE__ */ jsx(Text, { fw: 650, size: "sm", lineClamp: 1, children: child.label }),
10362
+ /* @__PURE__ */ jsx(Text, { size: "sm", c: "dimmed", lineClamp: 2, children: childSummary(child) })
10363
+ ] }),
10364
+ /* @__PURE__ */ jsx(Badge, { variant: "light", color: "gray", style: { flexShrink: 0 }, children: child.nodeType })
10365
+ ] });
10366
+ if (navigable) {
10367
+ return /* @__PURE__ */ jsx(
10368
+ UnstyledButton,
10369
+ {
10370
+ role: "button",
10371
+ tabIndex: 0,
10372
+ onClick: () => onNavigateToNode(routeId),
10373
+ onKeyDown: (e) => {
10374
+ if (e.key === "Enter" || e.key === " ") {
10375
+ e.preventDefault();
10376
+ onNavigateToNode(routeId);
10377
+ }
10378
+ },
10379
+ style: { cursor: "pointer", width: "100%", textAlign: "left", display: "block" },
10380
+ children: /* @__PURE__ */ jsx(Card, { withBorder: true, padding: "md", children: cardBody })
10381
+ },
10382
+ cardKey
10383
+ );
10384
+ }
10385
+ return /* @__PURE__ */ jsx(Card, { withBorder: true, padding: "md", children: cardBody }, cardKey);
10386
+ }) })
10168
10387
  ] });
10169
10388
  }
10170
10389
  function OntologyDescribeView({
@@ -10217,7 +10436,7 @@ function OntologyDescribeView({
10217
10436
  }
10218
10437
  function renderTreeSelection(node, organizationModel, onNavigateToNode) {
10219
10438
  if (node.nodeType === "group") {
10220
- return /* @__PURE__ */ jsx(GroupOverviewPanel, { node });
10439
+ return /* @__PURE__ */ jsx(GroupOverviewPanel, { node, onNavigateToNode });
10221
10440
  }
10222
10441
  if ((node.nodeType === "domain-collection" || node.nodeType === "domain") && node.domainKey) {
10223
10442
  return /* @__PURE__ */ jsx(DomainPanel, { domainKey: node.domainKey, model: organizationModel, onNavigateToNode });
@@ -10807,7 +11026,7 @@ function DomainPanelDispatcher({
10807
11026
  case "ontology-value-types":
10808
11027
  case "ontology-properties":
10809
11028
  case "ontology-groups":
10810
- case "ontology-surfaces":
11029
+ case "ontology-endpoints":
10811
11030
  case "ontology-resources":
10812
11031
  return /* @__PURE__ */ jsx(DomainPanelFrame, { children: /* @__PURE__ */ jsx(OntologyPanel, { model, domainKey, filterToItemId }) });
10813
11032
  default:
@@ -1,4 +1,4 @@
1
- export { AppShellCenteredContainer, AppShellContainer, AppShellContentContainer, AppShellError, AppShellLoader, AppShellRightSideContainer, AppShellRightSideOuterContainer, AppTopbarAdjusterWrapper, CollapsibleSidebarGroup, CyberParticles, LinksGroup, PageContainer, Sidebar, SidebarContext, SidebarProvider, SubshellContainer, SubshellContentContainer, SubshellLoader, SubshellNavList, SubshellRightSideContainer, SubshellSidebar, SubshellSidebarLoader, Topbar, TopbarActions, TopbarContainer, Vignette, subsidebarWidth, useSidebar, useSidebarCollapse } from '../chunk-UBTSEZJK.js';
1
+ export { AppShellCenteredContainer, AppShellContainer, AppShellContentContainer, AppShellError, AppShellLoader, AppShellRightSideContainer, AppShellRightSideOuterContainer, AppTopbarAdjusterWrapper, CollapsibleSidebarGroup, CyberParticles, LinksGroup, PageContainer, Sidebar, SidebarContext, SidebarProvider, SubshellContainer, SubshellContentContainer, SubshellLoader, SubshellNavList, SubshellRightSideContainer, SubshellSidebar, SubshellSidebarLoader, Topbar, TopbarActions, TopbarContainer, Vignette, subsidebarWidth, useSidebar, useSidebarCollapse } from '../chunk-REPITZKU.js';
2
2
  import '../chunk-NZ2F5RQ4.js';
3
3
  export { AmbientBloomGrid, AppBackground, CyberBackground, FilmGrain, FloatingMotes, FloatingOrbs, PerspectiveGrid, RadiantGlow, WaveBackground } from '../chunk-OJJK27GC.js';
4
4
  import '../chunk-AUDNF2Q7.js';
@@ -9,7 +9,7 @@ import '../chunk-SJHM4WDG.js';
9
9
  import '../chunk-ZTWA5H77.js';
10
10
  import '../chunk-S3XR4II4.js';
11
11
  import '../chunk-6DO4PE3O.js';
12
- import '../chunk-NVVAQNKE.js';
12
+ import '../chunk-OFLWSKSC.js';
13
13
  import '../chunk-DD3CCMCZ.js';
14
14
  export { SubshellNavItem, SubshellSidebarSection, sidebarBottomSectionCollapsedHeight, sidebarBottomSectionHeight, sidebarCollapsedWidth, sidebarGroupChevronSize, sidebarHoverDelay, sidebarIconInnerSize, sidebarIconSize, sidebarIconStroke, sidebarItemGap, sidebarItemHeight, sidebarItemPadding, sidebarSectionPadding, sidebarSubLinkIndent, sidebarSubLinkPaddingX, sidebarSubLinkPaddingY, sidebarToggleIconSize, sidebarTransitionDuration, sidebarWidth, subshellNavItemIconSize, topbarHeight } from '../chunk-GMXGDO3I.js';
15
15
  import '../chunk-2IFYDILW.js';
@@ -18,7 +18,7 @@ import '../chunk-HENXLGVD.js';
18
18
  import '../chunk-7FPLLSHN.js';
19
19
  import '../chunk-RNP5R5I3.js';
20
20
  import '../chunk-W2SFTXMT.js';
21
- import '../chunk-XDEUR36B.js';
21
+ import '../chunk-CDZB24OR.js';
22
22
  import '../chunk-KRWALB24.js';
23
23
  import '../chunk-2FTX4WO2.js';
24
24
  import '../chunk-MQZE7SUI.js';
@@ -1,4 +1,4 @@
1
- export { OrganizationProvider, OrganizationSwitcher, OrganizationSwitcherConnected, createOrganizationsSlice, createUseOrgInitialization, createUseOrganizations } from '../chunk-UBTSEZJK.js';
1
+ export { OrganizationProvider, OrganizationSwitcher, OrganizationSwitcherConnected, createOrganizationsSlice, createUseOrgInitialization, createUseOrganizations } from '../chunk-REPITZKU.js';
2
2
  import '../chunk-NZ2F5RQ4.js';
3
3
  import '../chunk-OJJK27GC.js';
4
4
  import '../chunk-AUDNF2Q7.js';
@@ -9,7 +9,7 @@ import '../chunk-SJHM4WDG.js';
9
9
  import '../chunk-ZTWA5H77.js';
10
10
  import '../chunk-S3XR4II4.js';
11
11
  import '../chunk-6DO4PE3O.js';
12
- import '../chunk-NVVAQNKE.js';
12
+ import '../chunk-OFLWSKSC.js';
13
13
  export { OrganizationContext, useOrganization } from '../chunk-DD3CCMCZ.js';
14
14
  import '../chunk-GMXGDO3I.js';
15
15
  import '../chunk-2IFYDILW.js';
@@ -18,7 +18,7 @@ import '../chunk-HENXLGVD.js';
18
18
  import '../chunk-7FPLLSHN.js';
19
19
  import '../chunk-RNP5R5I3.js';
20
20
  import '../chunk-W2SFTXMT.js';
21
- import '../chunk-XDEUR36B.js';
21
+ import '../chunk-CDZB24OR.js';
22
22
  import '../chunk-KRWALB24.js';
23
23
  import '../chunk-2FTX4WO2.js';
24
24
  import '../chunk-MQZE7SUI.js';