@elevasis/ui 2.33.0 → 2.33.1

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 (61) hide show
  1. package/dist/app/index.d.ts +3 -0
  2. package/dist/app/index.js +3 -3
  3. package/dist/{chunk-IUKFNASA.js → chunk-2VYMDNJ3.js} +1 -1
  4. package/dist/{chunk-XOFSMJLF.js → chunk-3YZRKADM.js} +4 -4
  5. package/dist/{chunk-QNOVUCSV.js → chunk-4AAZXKLL.js} +1 -1
  6. package/dist/{chunk-E7C4XEWH.js → chunk-53436UTQ.js} +1 -1
  7. package/dist/{chunk-YAQ25UNM.js → chunk-AV2TKVVV.js} +7 -2
  8. package/dist/{chunk-GNRMB6DC.js → chunk-DYIDXUJS.js} +160 -13
  9. package/dist/{chunk-MHLZ4F4N.js → chunk-F3MXFE72.js} +1 -1
  10. package/dist/{chunk-AHCKOU2M.js → chunk-FOUYP4JX.js} +1 -1
  11. package/dist/{chunk-XG57WXOL.js → chunk-H6EFQP2P.js} +1 -1
  12. package/dist/{chunk-E4T2N7P7.js → chunk-KW7ZNQD7.js} +4 -2
  13. package/dist/{chunk-UVFOURXR.js → chunk-NCEQGEW5.js} +4 -4
  14. package/dist/{chunk-FFPHJBJC.js → chunk-PIS24NIV.js} +1 -1
  15. package/dist/{chunk-52NLZN6Z.js → chunk-QVTIOT73.js} +2 -2
  16. package/dist/{chunk-2GMF5IRF.js → chunk-SWMQTF2H.js} +2 -2
  17. package/dist/{chunk-TKF5S4XP.js → chunk-UNVRVCXZ.js} +1 -1
  18. package/dist/{chunk-NOIRGGW2.js → chunk-UYRT7SPM.js} +1 -1
  19. package/dist/{chunk-UW7IV2Y3.js → chunk-WGUEIGPC.js} +1 -1
  20. package/dist/{chunk-ZGTDKH3P.js → chunk-WJOE76FI.js} +1 -1
  21. package/dist/{chunk-JHT5JIJ3.js → chunk-YENKDBUU.js} +7 -7
  22. package/dist/components/index.d.ts +7 -3
  23. package/dist/components/index.js +21 -21
  24. package/dist/components/navigation/index.js +3 -3
  25. package/dist/execution/index.d.ts +4 -3
  26. package/dist/features/auth/index.d.ts +3 -0
  27. package/dist/features/clients/index.js +7 -7
  28. package/dist/features/crm/index.d.ts +3 -0
  29. package/dist/features/crm/index.js +9 -9
  30. package/dist/features/dashboard/index.d.ts +4 -3
  31. package/dist/features/dashboard/index.js +8 -8
  32. package/dist/features/delivery/index.d.ts +3 -0
  33. package/dist/features/delivery/index.js +8 -8
  34. package/dist/features/knowledge/index.js +4 -4
  35. package/dist/features/lead-gen/index.js +9 -9
  36. package/dist/features/monitoring/index.js +9 -9
  37. package/dist/features/monitoring/requests/index.js +7 -7
  38. package/dist/features/operations/index.d.ts +131 -33
  39. package/dist/features/operations/index.js +11 -11
  40. package/dist/features/settings/index.d.ts +3 -0
  41. package/dist/features/settings/index.js +8 -8
  42. package/dist/hooks/delivery/index.d.ts +3 -0
  43. package/dist/hooks/index.d.ts +23 -8
  44. package/dist/hooks/index.js +7 -7
  45. package/dist/hooks/operations/command-view/utils/transformCommandViewData.d.ts +20 -8
  46. package/dist/hooks/published.d.ts +23 -8
  47. package/dist/hooks/published.js +7 -7
  48. package/dist/index.d.ts +134 -33
  49. package/dist/index.js +7 -7
  50. package/dist/initialization/index.d.ts +3 -0
  51. package/dist/knowledge/index.d.ts +92 -6
  52. package/dist/knowledge/index.js +4 -5
  53. package/dist/profile/index.d.ts +3 -0
  54. package/dist/provider/index.d.ts +94 -5
  55. package/dist/provider/index.js +6 -6
  56. package/dist/provider/published.d.ts +94 -5
  57. package/dist/provider/published.js +4 -4
  58. package/dist/supabase/index.d.ts +6 -0
  59. package/dist/types/index.d.ts +23 -8
  60. package/dist/utils/index.d.ts +4 -3
  61. package/package.json +4 -4
@@ -1602,6 +1602,7 @@ type Database = {
1602
1602
  origin_execution_id: string | null;
1603
1603
  output: Json | null;
1604
1604
  resource_id: string;
1605
+ resource_snapshot: Json | null;
1605
1606
  resource_status: string;
1606
1607
  resource_type: string;
1607
1608
  resource_version: string | null;
@@ -1627,6 +1628,7 @@ type Database = {
1627
1628
  origin_execution_id?: string | null;
1628
1629
  output?: Json | null;
1629
1630
  resource_id: string;
1631
+ resource_snapshot?: Json | null;
1630
1632
  resource_status?: string;
1631
1633
  resource_type?: string;
1632
1634
  resource_version?: string | null;
@@ -1652,6 +1654,7 @@ type Database = {
1652
1654
  origin_execution_id?: string | null;
1653
1655
  output?: Json | null;
1654
1656
  resource_id?: string;
1657
+ resource_snapshot?: Json | null;
1655
1658
  resource_status?: string;
1656
1659
  resource_type?: string;
1657
1660
  resource_version?: string | null;
package/dist/app/index.js CHANGED
@@ -1,10 +1,10 @@
1
- import { ElevasisUIProvider } from '../chunk-E7C4XEWH.js';
1
+ import { ElevasisUIProvider } from '../chunk-53436UTQ.js';
2
2
  import '../chunk-RQA2EVN3.js';
3
3
  import '../chunk-3FV6HBXS.js';
4
4
  import '../chunk-WLOQ4IBG.js';
5
- import '../chunk-UW7IV2Y3.js';
5
+ import '../chunk-WGUEIGPC.js';
6
6
  import '../chunk-SZHARWKU.js';
7
- import '../chunk-GNRMB6DC.js';
7
+ import '../chunk-DYIDXUJS.js';
8
8
  import '../chunk-ND5TDV2J.js';
9
9
  import '../chunk-HUJCU55S.js';
10
10
  import '../chunk-E565XMTQ.js';
@@ -4,7 +4,7 @@ import { useCyberColors, HeroStatsRow } from './chunk-4DYOXEH6.js';
4
4
  import { AppShellCenteredContainer, AppShellLoader } from './chunk-RYTEQBAO.js';
5
5
  import { Graph_module_css_default, useDirectedChainHighlighting, useNodeSelection, useFitViewTrigger } from './chunk-22UVE3RA.js';
6
6
  import { STATUS_COLORS, getStatusIcon, formatDuration, getStatusColors, AGENT_CONSTANTS, shouldAnimateEdge, TIMELINE_CONSTANTS, calculateBarPosition, CONTAINER_CONSTANTS, useExecutionPath, useUnifiedWorkflowLayout, WORKFLOW_CONSTANTS, useReactFlowAgent } from './chunk-E4WQGJNS.js';
7
- import { useExecuteResource, useDashboardMetrics, useResources, useTimeRangeDates, useUnresolvedErrors, useRecentExecutionsByResource, useCommandQueue, useScheduledTasks, useResourcesHealth } from './chunk-2GMF5IRF.js';
7
+ import { useExecuteResource, useDashboardMetrics, useResources, useTimeRangeDates, useUnresolvedErrors, useRecentExecutionsByResource, useCommandQueue, useScheduledTasks, useResourcesHealth } from './chunk-SWMQTF2H.js';
8
8
  import { glassBase } from './chunk-RQA2EVN3.js';
9
9
  import { GlowDot, CardHeader, EmptyState, PageTitleCaption, TabCountBadge } from './chunk-EPTHX4VZ.js';
10
10
  import { formatTimeAgo, getTimeRangeDates, formatRelativeTime } from './chunk-2RJMVWFJ.js';
@@ -1,16 +1,16 @@
1
- import { SalesSidebar, LeadGenSidebarMiddle } from './chunk-QNOVUCSV.js';
1
+ import { SalesSidebar, LeadGenSidebarMiddle } from './chunk-4AAZXKLL.js';
2
2
  import { sanitizeInput } from './chunk-3MEXPLWT.js';
3
3
  import { SubshellSidebarSection } from './chunk-IIMU5YAJ.js';
4
4
  import { PageContainer } from './chunk-BZZCNLT6.js';
5
5
  import { TableSelectionToolbar, SortableHeader } from './chunk-TUMSNGTX.js';
6
6
  import { FilterBar } from './chunk-PDHTXPSF.js';
7
7
  import { CustomModal } from './chunk-R66W5UDG.js';
8
- import { acquisitionListKeys, useListsTelemetry, useLists, useCreateList, useTableSort, sortData, usePaginationState, useTableSelection, useWorkflowExecution, useList, useListProgress, useListExecutions, useDeleteList, useCompanyFacets, useCompanies, useDeleteCompanies, useContacts, useDeleteContacts, useCredentials, useVerifyCredential, useInFlightExecutions, useListRecords, useExecutionSSE, useListMembers, useListMember, useTransitionListMember, useDeriveActions, useArtifacts } from './chunk-2GMF5IRF.js';
8
+ import { acquisitionListKeys, useListsTelemetry, useLists, useCreateList, useTableSort, sortData, usePaginationState, useTableSelection, useWorkflowExecution, useList, useListProgress, useListExecutions, useDeleteList, useCompanyFacets, useCompanies, useDeleteCompanies, useContacts, useDeleteContacts, useCredentials, useVerifyCredential, useInFlightExecutions, useListRecords, useExecutionSSE, useListMembers, useListMember, useTransitionListMember, useDeriveActions, useArtifacts } from './chunk-SWMQTF2H.js';
9
9
  import { showApiErrorNotification, showSuccessNotification } from './chunk-XZGSCABI.js';
10
10
  import { PageTitleCaption, CenteredErrorState, StatCard, CardHeader, EmptyState, JsonViewer } from './chunk-EPTHX4VZ.js';
11
- import { useListActions } from './chunk-UW7IV2Y3.js';
11
+ import { useListActions } from './chunk-WGUEIGPC.js';
12
12
  import { SubshellContentContainer } from './chunk-TKAYX2SP.js';
13
- import { PROSPECTING_STEPS, LEAD_GEN_STAGE_CATALOG, LEAD_GEN_PIPELINE_DEFINITIONS, findPipeline } from './chunk-GNRMB6DC.js';
13
+ import { PROSPECTING_STEPS, LEAD_GEN_STAGE_CATALOG, LEAD_GEN_PIPELINE_DEFINITIONS, findPipeline } from './chunk-DYIDXUJS.js';
14
14
  import { isStepStartedContext, isStepCompletedContext, isStepFailedContext } from './chunk-KRWALB24.js';
15
15
  import { useElevasisServices } from './chunk-KJ3QUBNU.js';
16
16
  import { Stack, Group, Title, Text, Alert, Button, Collapse, Paper, Anchor, Center, Loader, SimpleGrid, Card, Table, Badge, TextInput, Select, Checkbox, Pagination, Textarea, ActionIcon, Tooltip, Tabs, ThemeIcon, Box, Pill, SegmentedControl, UnstyledButton, Drawer, JsonInput, Switch, NumberInput, MultiSelect, TagsInput, ScrollArea, Progress } from '@mantine/core';
@@ -1,6 +1,6 @@
1
1
  import { SubshellNavItem } from './chunk-X4WBGKJQ.js';
2
2
  import { SubshellSidebarSection } from './chunk-IIMU5YAJ.js';
3
- import { useDealsLookup, useCreateDealTask, useDealTasksDue } from './chunk-2GMF5IRF.js';
3
+ import { useDealsLookup, useCreateDealTask, useDealTasksDue } from './chunk-SWMQTF2H.js';
4
4
  import { useRouterContext } from './chunk-Q7DJKLEN.js';
5
5
  import { Box, Stack, Text, UnstyledButton, Group, Button, Modal, Title, Select, TextInput, Textarea, Badge, Center, Loader } from '@mantine/core';
6
6
  import { IconLayoutGrid, IconColumns, IconFileInvoice, IconList, IconBuilding, IconAddressBook, IconTrophy, IconClockExclamation, IconUser, IconPlus, IconChecklist, IconTarget, IconCheckbox, IconCalendar, IconMail, IconPhone } from '@tabler/icons-react';
@@ -1,7 +1,7 @@
1
1
  import { mantineThemeOverride, createCssVariablesResolver, PresetsProvider } from './chunk-RQA2EVN3.js';
2
2
  import { PRESETS, getPreset, generateShades } from './chunk-3FV6HBXS.js';
3
3
  import { AppBackground } from './chunk-WLOQ4IBG.js';
4
- import { ElevasisCoreProvider } from './chunk-UW7IV2Y3.js';
4
+ import { ElevasisCoreProvider } from './chunk-WGUEIGPC.js';
5
5
  import { ElevasisLoader } from './chunk-SZHARWKU.js';
6
6
  import { AppearanceProvider } from './chunk-E565XMTQ.js';
7
7
  import { getErrorInfo, formatErrorMessage, getErrorTitle } from './chunk-2RJMVWFJ.js';
@@ -1,5 +1,5 @@
1
1
  import { SemanticIcon } from './chunk-DWXDNT7P.js';
2
- import { buildOrganizationGraph, projectOrganizationSurfaces, compileOrganizationOntology, getSortedSidebarEntries, parseOntologyId, getSystem, resolveSystemConfig } from './chunk-GNRMB6DC.js';
2
+ import { buildOrganizationGraph, projectOrganizationSurfaces, compileOrganizationOntology, getSortedSidebarEntries, parseOntologyId, getSystem, resolveSystemConfig } from './chunk-DYIDXUJS.js';
3
3
  import { useMemo, useState, useRef, useEffect } from 'react';
4
4
  import { useTree, Text, Tree, UnstyledButton, Group, TextInput } from '@mantine/core';
5
5
  import { useClipboard } from '@mantine/hooks';
@@ -104,7 +104,12 @@ function titleFromId(id) {
104
104
  return localId.replace(/[-_.]+/g, " ").replace(/\s+/g, " ").trim().replace(/\b\w/g, (char) => char.toUpperCase());
105
105
  }
106
106
  function isLegacyBridgeRecord(record) {
107
- return typeof record["legacyEntityId"] === "string" || typeof record["legacyActionId"] === "string" || typeof record["legacyContentId"] === "string";
107
+ const origin = record["origin"];
108
+ if (typeof origin === "object" && origin !== null) {
109
+ const source = origin.source;
110
+ if (typeof source === "string" && source.startsWith("legacy.")) return true;
111
+ }
112
+ return typeof record["legacyActionId"] === "string";
108
113
  }
109
114
  function ontologyItem(id, record, fallbackKind) {
110
115
  let parsed;
@@ -273,7 +273,6 @@ function addLegacyEntityProjections(index, diagnostics, sourcesById, entities) {
273
273
  table: entity.table
274
274
  }
275
275
  } : {},
276
- legacyEntityId: entity.id,
277
276
  ...entity.rowSchema !== void 0 ? { rowSchema: entity.rowSchema } : {},
278
277
  ...entity.stateCatalogId !== void 0 ? { stateCatalogId: entity.stateCatalogId } : {}
279
278
  };
@@ -298,8 +297,7 @@ function addLegacyEntityProjections(index, diagnostics, sourcesById, entities) {
298
297
  from: legacyObjectId(entity),
299
298
  to: legacyObjectId(targetEntity),
300
299
  cardinality: link.kind,
301
- ...link.via !== void 0 ? { via: link.via } : {},
302
- legacyEntityId: entity.id
300
+ ...link.via !== void 0 ? { via: link.via } : {}
303
301
  };
304
302
  addRecord(index, diagnostics, sourcesById, "linkTypes", linkType, {
305
303
  source: "legacy.entities.links",
@@ -357,8 +355,7 @@ function addSystemContentProjections(index, diagnostics, sourcesById, systemPath
357
355
  kind: node.type,
358
356
  ...typeof node.data?.["entityId"] === "string" ? { appliesTo: formatOntologyId({ scope: systemPath, kind: "object", localId: node.data["entityId"] }) } : {},
359
357
  ...Object.keys(entries).length > 0 ? { entries } : {},
360
- ...node.data !== void 0 ? { data: node.data } : {},
361
- legacyContentId: `${systemPath}:${localId}`
358
+ ...node.data !== void 0 ? { data: node.data } : {}
362
359
  };
363
360
  addRecord(index, diagnostics, sourcesById, "catalogTypes", catalogType, {
364
361
  source: "legacy.system.content",
@@ -1166,11 +1163,20 @@ EventEmissionDescriptorSchema.extend({
1166
1163
  ownerKind: z.enum(["resource", "entity"]).meta({ label: "Owner kind" })
1167
1164
  });
1168
1165
  var ResourceOntologyBindingSchema = z.object({
1169
- implements: z.array(OntologyIdSchema).optional(),
1166
+ actions: z.array(OntologyIdSchema).optional(),
1167
+ primaryAction: OntologyIdSchema.optional(),
1170
1168
  reads: z.array(OntologyIdSchema).optional(),
1171
1169
  writes: z.array(OntologyIdSchema).optional(),
1172
1170
  usesCatalogs: z.array(OntologyIdSchema).optional(),
1173
1171
  emits: z.array(OntologyIdSchema).optional()
1172
+ }).superRefine((binding, ctx) => {
1173
+ if (binding.primaryAction === void 0) return;
1174
+ if (binding.actions?.includes(binding.primaryAction)) return;
1175
+ ctx.addIssue({
1176
+ code: z.ZodIssueCode.custom,
1177
+ path: ["primaryAction"],
1178
+ message: "Resource ontology primaryAction must be included in actions"
1179
+ });
1174
1180
  });
1175
1181
  var CodeReferenceSchema = z.object({
1176
1182
  path: z.string().trim().min(1).max(500).regex(/^[A-Za-z0-9_./$@()[\] -]+$/, "Code reference paths must be repo-relative paths"),
@@ -1185,6 +1191,10 @@ var ResourceEntryBaseSchema = z.object({
1185
1191
  order: z.number().default(0),
1186
1192
  /** Required single System membership — value is a dot-separated system path (e.g. "sales.lead-gen"). */
1187
1193
  systemPath: SystemPathSchema.meta({ ref: "system" }),
1194
+ /** Executable display title owned by the OM Resource descriptor. */
1195
+ title: LabelSchema.optional(),
1196
+ /** Executable display description owned by the OM Resource descriptor. */
1197
+ description: DescriptionSchema.optional(),
1188
1198
  /** Optional role responsible for maintaining this resource. */
1189
1199
  ownerRoleId: ModelIdSchema.meta({ ref: "role" }).optional(),
1190
1200
  status: ResourceGovernanceStatusSchema,
@@ -1199,8 +1209,6 @@ var ResourceEntryBaseSchema = z.object({
1199
1209
  });
1200
1210
  var WorkflowResourceEntrySchema = ResourceEntryBaseSchema.extend({
1201
1211
  kind: z.literal("workflow"),
1202
- /** Mirrors WorkflowConfig.actionKey when the runtime workflow has one. */
1203
- actionKey: z.string().trim().min(1).max(255).optional(),
1204
1212
  emits: z.array(EventEmissionDescriptorSchema).optional()
1205
1213
  });
1206
1214
  var AgentResourceEntrySchema = ResourceEntryBaseSchema.extend({
@@ -2475,6 +2483,73 @@ var OrgKnowledgeNodeSchema = z.object({
2475
2483
  updatedAt: z.string().trim().min(1).max(50)
2476
2484
  });
2477
2485
  var KnowledgeDomainSchema = z.record(ModelIdSchema, OrgKnowledgeNodeSchema).default({});
2486
+ var SecretLikeMetadataKeySchema = /(?:secret|password|passwd|token|api[-_]?key|credential|private[-_]?key)/i;
2487
+ var SecretLikeMetadataValueSchema = /(?:sk-[A-Za-z0-9_-]{12,}|pk_live_[A-Za-z0-9_-]{12,}|eyJ[A-Za-z0-9_-]{20,}|-----BEGIN (?:RSA |OPENSSH |EC )?PRIVATE KEY-----)/;
2488
+ z.enum([
2489
+ "system",
2490
+ "resource",
2491
+ "ontology",
2492
+ "policy",
2493
+ "role",
2494
+ "trigger",
2495
+ "humanCheckpoint",
2496
+ "externalResource"
2497
+ ]);
2498
+ var OmTopologyRelationshipKindSchema = z.enum(["triggers", "uses", "approval"]);
2499
+ var OmTopologyNodeRefSchema = z.discriminatedUnion("kind", [
2500
+ z.object({ kind: z.literal("system"), id: ModelIdSchema }),
2501
+ z.object({ kind: z.literal("resource"), id: ResourceIdSchema }),
2502
+ z.object({ kind: z.literal("ontology"), id: OntologyIdSchema }),
2503
+ z.object({ kind: z.literal("policy"), id: ModelIdSchema }),
2504
+ z.object({ kind: z.literal("role"), id: ModelIdSchema }),
2505
+ z.object({ kind: z.literal("trigger"), id: ResourceIdSchema }),
2506
+ z.object({ kind: z.literal("humanCheckpoint"), id: ResourceIdSchema }),
2507
+ z.object({ kind: z.literal("externalResource"), id: ResourceIdSchema })
2508
+ ]);
2509
+ var OmTopologyMetadataSchema = z.record(z.string().trim().min(1).max(120), JsonValueSchema).superRefine((metadata, ctx) => {
2510
+ function visit(value, path) {
2511
+ if (typeof value === "string" && SecretLikeMetadataValueSchema.test(value)) {
2512
+ ctx.addIssue({
2513
+ code: z.ZodIssueCode.custom,
2514
+ path,
2515
+ message: "Topology metadata must not contain secret-like values"
2516
+ });
2517
+ return;
2518
+ }
2519
+ if (Array.isArray(value)) {
2520
+ value.forEach((entry, index) => visit(entry, [...path, index]));
2521
+ return;
2522
+ }
2523
+ if (typeof value !== "object" || value === null) return;
2524
+ Object.entries(value).forEach(([key, entry]) => {
2525
+ if (SecretLikeMetadataKeySchema.test(key)) {
2526
+ ctx.addIssue({
2527
+ code: z.ZodIssueCode.custom,
2528
+ path: [...path, key],
2529
+ message: `Topology metadata key "${key}" looks secret-like`
2530
+ });
2531
+ }
2532
+ visit(entry, [...path, key]);
2533
+ });
2534
+ }
2535
+ visit(metadata, []);
2536
+ });
2537
+ var OmTopologyRelationshipSchema = z.object({
2538
+ from: OmTopologyNodeRefSchema,
2539
+ kind: OmTopologyRelationshipKindSchema,
2540
+ to: OmTopologyNodeRefSchema,
2541
+ systemPath: SystemPathSchema.optional(),
2542
+ required: z.boolean().optional(),
2543
+ metadata: OmTopologyMetadataSchema.optional()
2544
+ });
2545
+ var OmTopologyDomainSchema = z.object({
2546
+ version: z.literal(1).default(1),
2547
+ relationships: z.record(z.string().trim().min(1).max(255), OmTopologyRelationshipSchema).default({})
2548
+ }).default({ version: 1, relationships: {} });
2549
+ var DEFAULT_ORGANIZATION_MODEL_TOPOLOGY = {
2550
+ version: 1,
2551
+ relationships: {}
2552
+ };
2478
2553
  var PolicyIdSchema = ModelIdSchema;
2479
2554
  var PolicyApplicabilitySchema = z.object({
2480
2555
  systemIds: z.array(ModelIdSchema.meta({ ref: "system" })).default([]),
@@ -2564,6 +2639,7 @@ z.enum([
2564
2639
  "systems",
2565
2640
  "ontology",
2566
2641
  "resources",
2642
+ "topology",
2567
2643
  "actions",
2568
2644
  "entities",
2569
2645
  "policies",
@@ -2583,6 +2659,7 @@ var DEFAULT_ORGANIZATION_MODEL_DOMAIN_METADATA = {
2583
2659
  systems: { version: 1, lastModified: "2026-05-10" },
2584
2660
  ontology: { version: 1, lastModified: "2026-05-14" },
2585
2661
  resources: { version: 1, lastModified: "2026-05-10" },
2662
+ topology: { version: 1, lastModified: "2026-05-14" },
2586
2663
  actions: { version: 1, lastModified: "2026-05-10" },
2587
2664
  entities: { version: 1, lastModified: "2026-05-10" },
2588
2665
  policies: { version: 1, lastModified: "2026-05-10" },
@@ -2598,6 +2675,7 @@ var OrganizationModelDomainMetadataByDomainSchema = z.object({
2598
2675
  systems: OrganizationModelDomainMetadataSchema,
2599
2676
  ontology: OrganizationModelDomainMetadataSchema,
2600
2677
  resources: OrganizationModelDomainMetadataSchema,
2678
+ topology: OrganizationModelDomainMetadataSchema,
2601
2679
  actions: OrganizationModelDomainMetadataSchema,
2602
2680
  entities: OrganizationModelDomainMetadataSchema,
2603
2681
  policies: OrganizationModelDomainMetadataSchema,
@@ -2616,6 +2694,7 @@ var OrganizationModelSchemaBase = z.object({
2616
2694
  systems: SystemsDomainSchema.default(DEFAULT_ORGANIZATION_MODEL_SYSTEMS),
2617
2695
  ontology: OntologyScopeSchema.default(DEFAULT_ONTOLOGY_SCOPE),
2618
2696
  resources: ResourcesDomainSchema.default(DEFAULT_ORGANIZATION_MODEL_RESOURCES),
2697
+ topology: OmTopologyDomainSchema.default(DEFAULT_ORGANIZATION_MODEL_TOPOLOGY),
2619
2698
  actions: ActionsDomainSchema.default(DEFAULT_ORGANIZATION_MODEL_ACTIONS),
2620
2699
  entities: EntitiesDomainSchema.default(DEFAULT_ORGANIZATION_MODEL_ENTITIES),
2621
2700
  policies: PoliciesDomainSchema.default(DEFAULT_ORGANIZATION_MODEL_POLICIES),
@@ -2958,6 +3037,25 @@ var OrganizationModelSchema = OrganizationModelSchemaBase.superRefine((model, ct
2958
3037
  surface: ontologyCompilation.ontology.surfaces
2959
3038
  };
2960
3039
  const ontologyIds = new Set(Object.values(ontologyIndexByKind).flatMap((index) => Object.keys(index)));
3040
+ function topologyTargetExists(ref) {
3041
+ if (ref.kind === "system") return systemsById.has(ref.id);
3042
+ if (ref.kind === "resource") return resourcesById.has(ref.id);
3043
+ if (ref.kind === "ontology") return ontologyIds.has(ref.id);
3044
+ if (ref.kind === "policy") return policiesById.has(ref.id);
3045
+ if (ref.kind === "role") return rolesById.has(ref.id);
3046
+ return true;
3047
+ }
3048
+ Object.entries(model.topology.relationships).forEach(([relationshipId, relationship]) => {
3049
+ ["from", "to"].forEach((side) => {
3050
+ const ref = relationship[side];
3051
+ if (topologyTargetExists(ref)) return;
3052
+ addIssue(
3053
+ ctx,
3054
+ ["topology", "relationships", relationshipId, side],
3055
+ `Topology relationship "${relationshipId}" ${side} references unknown ${ref.kind} "${ref.id}"`
3056
+ );
3057
+ });
3058
+ });
2961
3059
  const ontologyReferenceKeyKinds = {
2962
3060
  valueType: "value-type",
2963
3061
  catalogType: "catalog",
@@ -3096,11 +3194,18 @@ var OrganizationModelSchema = OrganizationModelSchemaBase.superRefine((model, ct
3096
3194
  }
3097
3195
  });
3098
3196
  function validateResourceOntologyBinding(resourceId, bindingKey, expectedKind, ids) {
3099
- ids?.forEach((ontologyId, ontologyIndex) => {
3197
+ const ontologyIds2 = ids === void 0 ? [] : Array.isArray(ids) ? ids : [ids];
3198
+ ontologyIds2.forEach((ontologyId, ontologyIndex) => {
3100
3199
  if (ontologyIndexByKind[expectedKind][ontologyId] === void 0) {
3101
3200
  addIssue(
3102
3201
  ctx,
3103
- ["resources", resourceId, "ontology", bindingKey, ontologyIndex],
3202
+ [
3203
+ "resources",
3204
+ resourceId,
3205
+ "ontology",
3206
+ bindingKey,
3207
+ ...Array.isArray(ids) ? [ontologyIndex] : []
3208
+ ],
3104
3209
  `Resource "${resourceId}" ontology binding "${bindingKey}" references unknown ${expectedKind} ontology ID "${ontologyId}"`
3105
3210
  );
3106
3211
  }
@@ -3109,7 +3214,8 @@ var OrganizationModelSchema = OrganizationModelSchemaBase.superRefine((model, ct
3109
3214
  Object.values(model.resources).forEach((resource) => {
3110
3215
  const binding = resource.ontology;
3111
3216
  if (binding === void 0) return;
3112
- validateResourceOntologyBinding(resource.id, "implements", "action", binding.implements);
3217
+ validateResourceOntologyBinding(resource.id, "actions", "action", binding.actions);
3218
+ validateResourceOntologyBinding(resource.id, "primaryAction", "action", binding.primaryAction);
3113
3219
  validateResourceOntologyBinding(resource.id, "reads", "object", binding.reads);
3114
3220
  validateResourceOntologyBinding(resource.id, "writes", "object", binding.writes);
3115
3221
  validateResourceOntologyBinding(resource.id, "usesCatalogs", "catalog", binding.usesCatalogs);
@@ -3257,9 +3363,10 @@ var OrganizationGraphEdgeKindSchema = z.enum([
3257
3363
  "emits",
3258
3364
  "originates_from",
3259
3365
  "triggers",
3366
+ "approval",
3260
3367
  "applies_to",
3261
3368
  "effects",
3262
- "implements",
3369
+ "actions",
3263
3370
  "reads",
3264
3371
  "writes",
3265
3372
  "uses_catalog"
@@ -3580,6 +3687,32 @@ function buildOrganizationGraph(input) {
3580
3687
  }
3581
3688
  const validSystemRefs = new Set(systemPathByRef.keys());
3582
3689
  const systemNodeId = (systemRef) => nodeId("system", systemPathByRef.get(systemRef) ?? systemRef);
3690
+ function topologyNodeId(ref) {
3691
+ if (ref.kind === "system") return systemNodeId(ref.id);
3692
+ if (ref.kind === "resource") return nodeId("resource", ref.id);
3693
+ if (ref.kind === "ontology") return ontologyGraphNodeId(ref.id);
3694
+ if (ref.kind === "policy") return nodeId("policy", ref.id);
3695
+ if (ref.kind === "role") return nodeId("role", ref.id);
3696
+ return nodeId("resource", ref.id);
3697
+ }
3698
+ function ensureTopologyNode(ref) {
3699
+ const id = topologyNodeId(ref);
3700
+ if (nodeIds.has(id)) return id;
3701
+ if (ref.kind === "resource") {
3702
+ ensureResourceNode(nodes, nodeIds, resourceNodesById, ref.id);
3703
+ return id;
3704
+ }
3705
+ if (ref.kind === "trigger" || ref.kind === "humanCheckpoint" || ref.kind === "externalResource") {
3706
+ pushUniqueNode(nodes, nodeIds, {
3707
+ id,
3708
+ kind: "resource",
3709
+ label: ref.id,
3710
+ sourceId: ref.id,
3711
+ resourceType: ref.kind === "trigger" ? "trigger" : ref.kind === "humanCheckpoint" ? "human_checkpoint" : "external"
3712
+ });
3713
+ }
3714
+ return id;
3715
+ }
3583
3716
  for (const { path, system } of systemsWithPaths.sort((a, b) => a.path.localeCompare(b.path))) {
3584
3717
  const id = nodeId("system", path);
3585
3718
  pushUniqueNode(nodes, nodeIds, {
@@ -3895,7 +4028,7 @@ function buildOrganizationGraph(input) {
3895
4028
  targetId: resourceNode.id
3896
4029
  });
3897
4030
  }
3898
- pushOntologyBindingEdges(edges, edgeIds, resourceNode.id, "implements", resource.ontology?.implements);
4031
+ pushOntologyBindingEdges(edges, edgeIds, resourceNode.id, "actions", resource.ontology?.actions);
3899
4032
  pushOntologyBindingEdges(edges, edgeIds, resourceNode.id, "reads", resource.ontology?.reads);
3900
4033
  pushOntologyBindingEdges(edges, edgeIds, resourceNode.id, "writes", resource.ontology?.writes);
3901
4034
  pushOntologyBindingEdges(edges, edgeIds, resourceNode.id, "uses_catalog", resource.ontology?.usesCatalogs);
@@ -4029,6 +4162,19 @@ function buildOrganizationGraph(input) {
4029
4162
  }
4030
4163
  }
4031
4164
  }
4165
+ for (const [relationshipId, relationship] of Object.entries(organizationModel.topology.relationships).sort(
4166
+ ([a], [b]) => a.localeCompare(b)
4167
+ )) {
4168
+ const sourceId = ensureTopologyNode(relationship.from);
4169
+ const targetId = ensureTopologyNode(relationship.to);
4170
+ pushUniqueEdge(edges, edgeIds, {
4171
+ id: edgeId(relationship.kind, sourceId, targetId, `topology-${relationshipId}`),
4172
+ kind: relationship.kind,
4173
+ sourceId,
4174
+ targetId,
4175
+ relationshipType: relationship.kind
4176
+ });
4177
+ }
4032
4178
  for (const segment of Object.values(organizationModel.customers).sort(
4033
4179
  (a, b) => a.order - b.order || a.id.localeCompare(b.id)
4034
4180
  )) {
@@ -4976,6 +5122,7 @@ var DEFAULT_ORGANIZATION_MODEL = {
4976
5122
  },
4977
5123
  ontology: DEFAULT_ONTOLOGY_SCOPE,
4978
5124
  resources: DEFAULT_ORGANIZATION_MODEL_RESOURCES,
5125
+ topology: DEFAULT_ORGANIZATION_MODEL_TOPOLOGY,
4979
5126
  actions: DEFAULT_ORGANIZATION_MODEL_ACTIONS,
4980
5127
  entities: DEFAULT_ORGANIZATION_MODEL_ENTITIES2,
4981
5128
  policies: DEFAULT_ORGANIZATION_MODEL_POLICIES,
@@ -1,5 +1,5 @@
1
1
  import { useCyberColors, CyberLegendItem, CyberAreaChart } from './chunk-4DYOXEH6.js';
2
- import { useResourcesHealth } from './chunk-2GMF5IRF.js';
2
+ import { useResourcesHealth } from './chunk-SWMQTF2H.js';
3
3
  import { CardHeader, EmptyState } from './chunk-EPTHX4VZ.js';
4
4
  import { getTimeRangeDates, formatBucketTime } from './chunk-2RJMVWFJ.js';
5
5
  import { Paper, Center, Loader, Group } from '@mantine/core';
@@ -1,4 +1,4 @@
1
- import { ElevasisSystemsProvider } from './chunk-ZGTDKH3P.js';
1
+ import { ElevasisSystemsProvider } from './chunk-WJOE76FI.js';
2
2
  import { jsx } from 'react/jsx-runtime';
3
3
 
4
4
  function createTestSystemsProvider({
@@ -1,4 +1,4 @@
1
- import { useOptionalElevasisSystems } from './chunk-ZGTDKH3P.js';
1
+ import { useOptionalElevasisSystems } from './chunk-WJOE76FI.js';
2
2
  import { useRouterContext } from './chunk-Q7DJKLEN.js';
3
3
  import { useMemo } from 'react';
4
4
 
@@ -86,9 +86,10 @@ var ORGANIZATION_GRAPH_EDGE_KIND_LABELS = {
86
86
  emits: "Emits",
87
87
  originates_from: "Originates from",
88
88
  triggers: "Triggers",
89
+ approval: "Approval",
89
90
  applies_to: "Applies to",
90
91
  effects: "Effects",
91
- implements: "Implements",
92
+ actions: "Actions",
92
93
  reads: "Reads",
93
94
  writes: "Writes",
94
95
  uses_catalog: "Uses catalog"
@@ -104,9 +105,10 @@ var ORGANIZATION_GRAPH_EDGE_KIND_MEANINGS = {
104
105
  emits: "The source produces an event that can be inspected or traversed.",
105
106
  originates_from: "The source is derived from or owned by the target origin.",
106
107
  triggers: "The source can start or activate the target.",
108
+ approval: "The source requests or participates in an approval path.",
107
109
  applies_to: "A policy or rule targets the node it applies to.",
108
110
  effects: "A policy or event produces the target effect.",
109
- implements: "The source implements or realizes the target ontology contract.",
111
+ actions: "The source is bound to the target ontology action contract.",
110
112
  reads: "The source reads data described by the target ontology record.",
111
113
  writes: "The source writes data described by the target ontology record.",
112
114
  uses_catalog: "The source uses the target ontology catalog."
@@ -1,15 +1,15 @@
1
- import { SalesSidebar, CrmSidebarMiddle } from './chunk-QNOVUCSV.js';
1
+ import { SalesSidebar, CrmSidebarMiddle } from './chunk-4AAZXKLL.js';
2
2
  import { SubshellSidebarSection } from './chunk-IIMU5YAJ.js';
3
3
  import { PageContainer } from './chunk-BZZCNLT6.js';
4
4
  import { TableSelectionToolbar, SortableHeader } from './chunk-TUMSNGTX.js';
5
5
  import { FilterBar } from './chunk-PDHTXPSF.js';
6
6
  import { CustomModal } from './chunk-R66W5UDG.js';
7
- import { useDealsSummary, useDeleteDeal, usePaginationState, useDeals, useTableSort, sortData, useTableSelection, useDealDetail, useCompany, dealKeys, useContact, useExecuteAction } from './chunk-2GMF5IRF.js';
7
+ import { useDealsSummary, useDeleteDeal, usePaginationState, useDeals, useTableSort, sortData, useTableSelection, useDealDetail, useCompany, dealKeys, useContact, useExecuteAction } from './chunk-SWMQTF2H.js';
8
8
  import { showApiErrorNotification, showSuccessNotification } from './chunk-XZGSCABI.js';
9
9
  import { CenteredErrorState, CardHeader, StatCard, PageTitleCaption, EmptyState, ActivityTimeline } from './chunk-EPTHX4VZ.js';
10
- import { useCrmActions, deriveActions } from './chunk-UW7IV2Y3.js';
10
+ import { useCrmActions, deriveActions } from './chunk-WGUEIGPC.js';
11
11
  import { SubshellContentContainer } from './chunk-TKAYX2SP.js';
12
- import { CRM_PIPELINE_DEFINITION, DEFAULT_CRM_PRIORITY_RULE_CONFIG, CRM_PRIORITY_BUCKETS } from './chunk-GNRMB6DC.js';
12
+ import { CRM_PIPELINE_DEFINITION, DEFAULT_CRM_PRIORITY_RULE_CONFIG, CRM_PRIORITY_BUCKETS } from './chunk-DYIDXUJS.js';
13
13
  import { PAGE_SIZE_DEFAULT, formatTimeAgo } from './chunk-2RJMVWFJ.js';
14
14
  import { useElevasisServices } from './chunk-KJ3QUBNU.js';
15
15
  import { Stack, Paper, Center, Loader, Group, Box, Text, Alert, Table, SimpleGrid, Button, Select, TextInput, Tabs, Checkbox, Badge, Tooltip, Pagination, Title, Code, Card, Switch, NumberInput, ColorSwatch, Popover, ActionIcon, Anchor, CopyButton, Divider, Textarea } from '@mantine/core';
@@ -1,5 +1,5 @@
1
1
  import { FeatureUnavailableState } from './chunk-EPTHX4VZ.js';
2
- import { useElevasisSystems } from './chunk-ZGTDKH3P.js';
2
+ import { useElevasisSystems } from './chunk-WJOE76FI.js';
3
3
  import { SubshellContainer, SubshellSidebar, SubshellRightSideContainer } from './chunk-TKAYX2SP.js';
4
4
  import { useRouterContext } from './chunk-Q7DJKLEN.js';
5
5
  import { jsx, Fragment, jsxs } from 'react/jsx-runtime';
@@ -5,11 +5,11 @@ import { PageContainer } from './chunk-BZZCNLT6.js';
5
5
  import { TableSelectionToolbar, SortableHeader } from './chunk-TUMSNGTX.js';
6
6
  import { FilterBar } from './chunk-PDHTXPSF.js';
7
7
  import { CustomModal } from './chunk-R66W5UDG.js';
8
- import { useProjectRealtime, useTableSort, sortData, usePaginationState, useTableSelection, useProjectActivities } from './chunk-2GMF5IRF.js';
8
+ import { useProjectRealtime, useTableSort, sortData, usePaginationState, useTableSelection, useProjectActivities } from './chunk-SWMQTF2H.js';
9
9
  import { useCreateTask, useCreateMilestone, useProjectMilestones, useUpdateTask, useProjects, useDeleteProject, useProject, useProjectNotes, useUpdateMilestone, useCreateNote, showApiErrorNotification, projectKeys } from './chunk-XZGSCABI.js';
10
10
  import { StatusBadge, EmptyState, PageTitleCaption, CenteredErrorState, StatCard, CardHeader } from './chunk-EPTHX4VZ.js';
11
11
  import { SubshellContentContainer } from './chunk-TKAYX2SP.js';
12
- import { PROJECTS_VIEW_ACTION_ID } from './chunk-GNRMB6DC.js';
12
+ import { PROJECTS_VIEW_ACTION_ID } from './chunk-DYIDXUJS.js';
13
13
  import { useRouterContext } from './chunk-Q7DJKLEN.js';
14
14
  import { PAGE_SIZE_DEFAULT, formatTimeAgo, formatDate, formatRelativeTime } from './chunk-2RJMVWFJ.js';
15
15
  import { useElevasisServices } from './chunk-KJ3QUBNU.js';
@@ -1,8 +1,8 @@
1
1
  import { observabilityKeys } from './chunk-VNAZTCHA.js';
2
2
  import { showApiErrorNotification, showSuccessNotification, projectKeys, noteKeys, taskKeys, milestoneKeys } from './chunk-XZGSCABI.js';
3
3
  import { useSupabase } from './chunk-BRXELOHC.js';
4
- import { useNotificationAdapter, deriveActions } from './chunk-UW7IV2Y3.js';
5
- import { useOptionalElevasisSystems } from './chunk-ZGTDKH3P.js';
4
+ import { useNotificationAdapter, deriveActions } from './chunk-WGUEIGPC.js';
5
+ import { useOptionalElevasisSystems } from './chunk-WJOE76FI.js';
6
6
  import { HTTP_HEADERS } from './chunk-ND5TDV2J.js';
7
7
  import { ResourceTypeSchema, NonEmptyStringSchema, OriginResourceTypeSchema, UuidSchema, CredentialNameSchema, STALE_TIME_DEFAULT, REFETCH_INTERVAL_DASHBOARD, STALE_TIME_MONITORING, getTimeRangeDates, REFETCH_INTERVAL_RUNNING, WS_MAX_RETRIES_BEFORE_ERROR, WS_RECONNECT_BASE_DELAY, WS_RECONNECT_MAX_DELAY, STALE_TIME_ADMIN, APIClientError, GC_TIME_MEDIUM, GC_TIME_SHORT } from './chunk-2RJMVWFJ.js';
8
8
  import { useStableAccessToken } from './chunk-VKIZUUPM.js';
@@ -2,7 +2,7 @@ import { AppShellLoader } from './chunk-RYTEQBAO.js';
2
2
  import { FilterBar } from './chunk-PDHTXPSF.js';
3
3
  import { CustomModal } from './chunk-R66W5UDG.js';
4
4
  import { useAvailablePresets } from './chunk-JFL3GRD4.js';
5
- import { useDeleteCredential, useCreateCredential, useCredentials, MEMBERSHIP_STATUS_COLORS, transformMembershipToTableRow, useUserMemberships, useUpdateWebhookEndpoint, useResources, useDeleteWebhookEndpoint, useCreateWebhookEndpoint, useListWebhookEndpoints, useOrgRoles, useAssignRole, useRevokeRole, useHasPermission, useUpdateMemberConfig, useOrganizationMembers, useUpdateCredential, CredentialSchemas } from './chunk-2GMF5IRF.js';
5
+ import { useDeleteCredential, useCreateCredential, useCredentials, MEMBERSHIP_STATUS_COLORS, transformMembershipToTableRow, useUserMemberships, useUpdateWebhookEndpoint, useResources, useDeleteWebhookEndpoint, useCreateWebhookEndpoint, useListWebhookEndpoints, useOrgRoles, useAssignRole, useRevokeRole, useHasPermission, useUpdateMemberConfig, useOrganizationMembers, useUpdateCredential, CredentialSchemas } from './chunk-SWMQTF2H.js';
6
6
  import { showApiErrorNotification, showErrorNotification, showSuccessNotification } from './chunk-XZGSCABI.js';
7
7
  import { ListSkeleton, EmptyState, PageTitleCaption, CardHeader, APIErrorAlert, StatCard } from './chunk-EPTHX4VZ.js';
8
8
  import { RoleBadge } from './chunk-JA5ECJJB.js';
@@ -3,7 +3,7 @@ import { AppShellLoader } from './chunk-RYTEQBAO.js';
3
3
  import { FilterBar } from './chunk-PDHTXPSF.js';
4
4
  import { CustomModal } from './chunk-R66W5UDG.js';
5
5
  import { formatDuration } from './chunk-E4WQGJNS.js';
6
- import { useResolveError, useResolveAllErrors, usePaginationState, useErrorDetails, useMarkAsRead, useExecutionLogsFilters, useExecutionLogs, useExecutionHealth, useErrorAnalysis, useTimeRangeDates, useErrorDetail, useResolveErrorsByExecution, useResources, useCostTrends, useCostSummary, useCostByModel, useCostBreakdown, useActivityFilters, useActivityTrend, useActivities, useNotifications, useMarkAllAsRead } from './chunk-2GMF5IRF.js';
6
+ import { useResolveError, useResolveAllErrors, usePaginationState, useErrorDetails, useMarkAsRead, useExecutionLogsFilters, useExecutionLogs, useExecutionHealth, useErrorAnalysis, useTimeRangeDates, useErrorDetail, useResolveErrorsByExecution, useResources, useCostTrends, useCostSummary, useCostByModel, useCostBreakdown, useActivityFilters, useActivityTrend, useActivities, useNotifications, useMarkAllAsRead } from './chunk-SWMQTF2H.js';
7
7
  import { CenteredErrorState, CardHeader, StatsCardSkeleton, TrendIndicator, DetailCardSkeleton, EmptyState, PageTitleCaption, JsonViewer } from './chunk-EPTHX4VZ.js';
8
8
  import { useRouterContext } from './chunk-Q7DJKLEN.js';
9
9
  import { formatBucketTime, PAGE_SIZE_DEFAULT, getTimeRangeDates } from './chunk-2RJMVWFJ.js';
@@ -1,4 +1,4 @@
1
- import { formatOntologyId, DEFAULT_ORGANIZATION_MODEL, CRM_DISCOVERY_NUDGING_STATE, compileOrganizationOntology, CRM_DISCOVERY_REPLIED_STATE, CRM_DISCOVERY_LINK_SENT_STATE, CRM_DISCOVERY_BOOKING_CANCELLED_STATE, CRM_PIPELINE_DEFINITION, LEAD_GEN_STAGE_CATALOG } from './chunk-GNRMB6DC.js';
1
+ import { formatOntologyId, DEFAULT_ORGANIZATION_MODEL, CRM_DISCOVERY_NUDGING_STATE, compileOrganizationOntology, CRM_DISCOVERY_REPLIED_STATE, CRM_DISCOVERY_LINK_SENT_STATE, CRM_DISCOVERY_BOOKING_CANCELLED_STATE, CRM_PIPELINE_DEFINITION, LEAD_GEN_STAGE_CATALOG } from './chunk-DYIDXUJS.js';
2
2
  import { ApiClientProvider, useApiClient } from './chunk-ND5TDV2J.js';
3
3
  import { OrganizationProvider } from './chunk-HUJCU55S.js';
4
4
  import { getErrorInfo, getErrorTitle, formatErrorMessage } from './chunk-2RJMVWFJ.js';
@@ -1,5 +1,5 @@
1
1
  import { getSemanticIconComponent } from './chunk-DWXDNT7P.js';
2
- import { devOnlyFor, requiresAdminFor, topLevel, parentOf, ancestorsOf, childrenOf, findById, findByPath, listAllSystems, defaultPathFor, getSortedSidebarEntries } from './chunk-GNRMB6DC.js';
2
+ import { devOnlyFor, requiresAdminFor, topLevel, parentOf, ancestorsOf, childrenOf, findById, findByPath, listAllSystems, defaultPathFor, getSortedSidebarEntries } from './chunk-DYIDXUJS.js';
3
3
  import { useInitialization } from './chunk-533DUEQY.js';
4
4
  import { useOrganization } from './chunk-DD3CCMCZ.js';
5
5
  import { createContext, useMemo, useCallback, useContext } from 'react';
@@ -1,9 +1,9 @@
1
1
  import { ChatHeader, ChatSidebar } from './chunk-CXY7FMUM.js';
2
- import { DEFAULT_ORGANIZATION_GRAPH_FILTERS, ORGANIZATION_GRAPH_NODE_KIND_ORDER, ORGANIZATION_GRAPH_NODE_KIND_LABELS, ORGANIZATION_GRAPH_EDGE_KIND_LABELS, ORGANIZATION_GRAPH_NODE_KIND_DETAIL_LABELS, ORGANIZATION_GRAPH_NODE_KIND_MEANINGS, ORGANIZATION_GRAPH_EDGE_KIND_MEANINGS } from './chunk-E4T2N7P7.js';
2
+ import { DEFAULT_ORGANIZATION_GRAPH_FILTERS, ORGANIZATION_GRAPH_NODE_KIND_ORDER, ORGANIZATION_GRAPH_NODE_KIND_LABELS, ORGANIZATION_GRAPH_EDGE_KIND_LABELS, ORGANIZATION_GRAPH_NODE_KIND_DETAIL_LABELS, ORGANIZATION_GRAPH_NODE_KIND_MEANINGS, ORGANIZATION_GRAPH_EDGE_KIND_MEANINGS } from './chunk-KW7ZNQD7.js';
3
3
  import { SubshellSidebarLoader, SubshellLoader } from './chunk-N55DVMAG.js';
4
- import { BaseNode, useGraphTheme, BaseEdge, ExecutionStats, UnifiedWorkflowGraph, WorkflowExecutionTimeline, AgentExecutionVisualizer, AgentExecutionTimeline, GraphBackground, GraphFitViewButton, GraphFitViewHandler } from './chunk-IUKFNASA.js';
4
+ import { BaseNode, useGraphTheme, BaseEdge, ExecutionStats, UnifiedWorkflowGraph, WorkflowExecutionTimeline, AgentExecutionVisualizer, AgentExecutionTimeline, GraphBackground, GraphFitViewButton, GraphFitViewHandler } from './chunk-2VYMDNJ3.js';
5
5
  import { FormFieldRenderer } from './chunk-3MEXPLWT.js';
6
- import { ResourceHealthPanel } from './chunk-MHLZ4F4N.js';
6
+ import { ResourceHealthPanel } from './chunk-F3MXFE72.js';
7
7
  import { useCyberColors, CyberDonut } from './chunk-4DYOXEH6.js';
8
8
  import { ConfirmationModal } from './chunk-VNFR57DF.js';
9
9
  import { SubshellSidebarSection } from './chunk-IIMU5YAJ.js';
@@ -12,15 +12,15 @@ import { PageContainer } from './chunk-BZZCNLT6.js';
12
12
  import { CustomModal } from './chunk-R66W5UDG.js';
13
13
  import { useGraphHighlighting, calculateGraphHeight, Graph_module_css_default, GRAPH_CONSTANTS } from './chunk-22UVE3RA.js';
14
14
  import { getResourceStatusColor, useTimelineData, useAgentIterationData, getStatusIcon } from './chunk-E4WQGJNS.js';
15
- import { useErrorDetail, useExecution, useArchivedLogs, useDeleteExecution, useRetryExecution, useCancelExecution, useCommandQueueTotals, useStatusFilter, useResourceSearch, useResourcesDomainFilters, usePaginationState, useResources, useRecentExecutionsByResource, filterByDomainFilters, collectResourceFilterFacets, useResourceDefinition, isSessionCapable, useDeleteTask, useCommandQueue, useSubmitAction, useCommandViewData, useCommandViewStats, useCommandViewStore, useResourceExecutions, useCheckpointTasks, useExecutionPanelState, useDeleteSession, useCreateSession, useSessions, useSessionExecutions, useSession, useBulkDeleteExecutions, useSystemHealth } from './chunk-2GMF5IRF.js';
15
+ import { useErrorDetail, useExecution, useArchivedLogs, useDeleteExecution, useRetryExecution, useCancelExecution, useCommandQueueTotals, useStatusFilter, useResourceSearch, useResourcesDomainFilters, usePaginationState, useResources, useRecentExecutionsByResource, filterByDomainFilters, collectResourceFilterFacets, useResourceDefinition, isSessionCapable, useDeleteTask, useCommandQueue, useSubmitAction, useCommandViewData, useCommandViewStats, useCommandViewStore, useResourceExecutions, useCheckpointTasks, useExecutionPanelState, useDeleteSession, useCreateSession, useSessions, useSessionExecutions, useSession, useBulkDeleteExecutions, useSystemHealth } from './chunk-SWMQTF2H.js';
16
16
  import { showApiErrorNotification, showSuccessNotification } from './chunk-XZGSCABI.js';
17
17
  import { useMergedExecution } from './chunk-3ZMAGTWF.js';
18
18
  import { JsonViewer, CardHeader, PageTitleCaption, CollapsibleSection, TabCountBadge, ResourceCard, ContextViewer, EmptyState, APIErrorAlert } from './chunk-EPTHX4VZ.js';
19
19
  import { StyledMarkdown } from './chunk-3KMDHCAR.js';
20
- import { useOptionalElevasisSystems, useElevasisSystems } from './chunk-ZGTDKH3P.js';
20
+ import { useOptionalElevasisSystems, useElevasisSystems } from './chunk-WJOE76FI.js';
21
21
  import { SubshellContentContainer } from './chunk-TKAYX2SP.js';
22
22
  import { resolveSemanticIconComponent, SemanticIcon } from './chunk-DWXDNT7P.js';
23
- import { buildOrganizationGraph, getResourcesForSystem, resolveOrganizationModel, listAllSystems, getSystem, compileOrganizationOntology, getSystemAncestors } from './chunk-GNRMB6DC.js';
23
+ import { buildOrganizationGraph, getResourcesForSystem, resolveOrganizationModel, listAllSystems, getSystem, compileOrganizationOntology, getSystemAncestors } from './chunk-DYIDXUJS.js';
24
24
  import { useRouterContext } from './chunk-Q7DJKLEN.js';
25
25
  import { useAppearance } from './chunk-E565XMTQ.js';
26
26
  import { topbarHeight } from './chunk-DT3QYZVU.js';
@@ -7528,7 +7528,7 @@ function getEdgeColor(edge, tokens) {
7528
7528
  return mixColors(tokens.primary, tokens.text, 0.45);
7529
7529
  case "maps_to":
7530
7530
  case "originates_from":
7531
- case "implements":
7531
+ case "actions":
7532
7532
  return mixColors(tokens.primary, tokens.warning, 0.4);
7533
7533
  case "uses":
7534
7534
  case "links":