@elevasis/ui 2.28.0 → 2.29.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.
- package/dist/api/index.js +2 -2
- package/dist/app/index.d.ts +6 -12
- package/dist/app/index.js +4 -4
- package/dist/charts/index.js +3 -3
- package/dist/{chunk-OHXU5WWK.js → chunk-3DUOPXOJ.js} +146 -9
- package/dist/{chunk-LWKZ3BCC.js → chunk-5CW2HXQA.js} +4 -4
- package/dist/{chunk-JKBGDFX2.js → chunk-65RQE3XF.js} +378 -254
- package/dist/{chunk-XZSEPJZQ.js → chunk-6NHCE7JM.js} +49 -28
- package/dist/{chunk-RIFTUOPE.js → chunk-6WXDE5LZ.js} +1 -1
- package/dist/{chunk-SGS4CQ2B.js → chunk-7E3FUTND.js} +1 -1
- package/dist/{chunk-UPMX5GJI.js → chunk-A7R2URMV.js} +88 -26
- package/dist/{chunk-UY5I2KOZ.js → chunk-AK5E6ILJ.js} +9 -8
- package/dist/{chunk-G26INIF3.js → chunk-CEHUFNAL.js} +1 -1
- package/dist/{chunk-ONFKASZI.js → chunk-CLUP5H3C.js} +7 -10
- package/dist/{chunk-MYEOTM7D.js → chunk-CN2HC4D4.js} +5 -1
- package/dist/chunk-FFDAE2QI.js +330 -0
- package/dist/{chunk-WUVR4QY6.js → chunk-FGDUK74A.js} +4 -4
- package/dist/{chunk-YHBPR67D.js → chunk-HNFQCOD2.js} +4 -4
- package/dist/{chunk-QD4X4H5A.js → chunk-HXZQWMKE.js} +2 -3
- package/dist/{chunk-KEFWANZY.js → chunk-JCGD4GM6.js} +5 -1
- package/dist/{chunk-YO2YORW4.js → chunk-OHGNCWJP.js} +3 -3
- package/dist/{chunk-JPGX3533.js → chunk-OIMPGKDB.js} +2 -2
- package/dist/{chunk-W2ZTLH7Y.js → chunk-OWESKPTJ.js} +85 -26
- package/dist/{chunk-G66QFZXD.js → chunk-QNL7UI5G.js} +15 -9
- package/dist/{chunk-OGXKOMUT.js → chunk-SZWXQHKO.js} +2 -2
- package/dist/{chunk-ZFLM2YVW.js → chunk-Y3YJKKEB.js} +1 -1
- package/dist/components/index.d.ts +16 -14
- package/dist/components/index.js +26 -26
- package/dist/features/auth/index.d.ts +6 -12
- package/dist/features/auth/index.js +1 -0
- package/dist/features/crm/index.d.ts +16 -14
- package/dist/features/crm/index.js +9 -9
- package/dist/features/dashboard/index.d.ts +16 -3
- package/dist/features/dashboard/index.js +10 -10
- package/dist/features/delivery/index.d.ts +6 -12
- package/dist/features/delivery/index.js +9 -9
- package/dist/features/knowledge/index.js +42 -20
- package/dist/features/lead-gen/index.d.ts +187 -24
- package/dist/features/lead-gen/index.js +10 -10
- package/dist/features/monitoring/index.js +11 -11
- package/dist/features/monitoring/requests/index.js +8 -8
- package/dist/features/operations/index.d.ts +16 -3
- package/dist/features/operations/index.js +15 -15
- package/dist/features/settings/index.d.ts +6 -12
- package/dist/features/settings/index.js +9 -9
- package/dist/hooks/delivery/index.d.ts +6 -12
- package/dist/hooks/delivery/index.js +2 -2
- package/dist/hooks/index.d.ts +110 -28
- package/dist/hooks/index.js +8 -8
- package/dist/hooks/published.d.ts +110 -28
- package/dist/hooks/published.js +8 -8
- package/dist/index.d.ts +149 -31
- package/dist/index.js +8 -8
- package/dist/initialization/index.d.ts +6 -12
- package/dist/knowledge/index.d.ts +44 -1
- package/dist/knowledge/index.js +149 -12
- package/dist/profile/index.d.ts +6 -12
- package/dist/provider/index.d.ts +44 -12
- package/dist/provider/index.js +6 -6
- package/dist/provider/published.d.ts +44 -12
- package/dist/provider/published.js +5 -5
- package/dist/supabase/index.d.ts +12 -24
- package/dist/test-utils/index.js +2 -2
- package/dist/typeform/index.d.ts +5 -1
- package/dist/typeform/index.js +52 -7
- package/dist/types/index.d.ts +7 -13
- package/dist/utils/index.d.ts +1 -3
- package/dist/utils/index.js +1 -1
- package/dist/vite/index.js +2 -2
- package/dist/vite-plugin-knowledge/index.js +1 -1
- package/package.json +5 -5
- package/dist/chunk-4KTLOK7K.js +0 -230
package/dist/api/index.js
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
import '../chunk-XCYKC6OZ.js';
|
|
2
|
-
export { ApiClientProvider, useApiClient, useApiClientContext } from '../chunk-
|
|
3
|
-
import '../chunk-
|
|
2
|
+
export { ApiClientProvider, useApiClient, useApiClientContext } from '../chunk-7E3FUTND.js';
|
|
3
|
+
import '../chunk-HXZQWMKE.js';
|
|
4
4
|
import '../chunk-KRWALB24.js';
|
|
5
5
|
import '../chunk-DD3CCMCZ.js';
|
|
6
6
|
import '../chunk-I2KLQ2HA.js';
|
package/dist/app/index.d.ts
CHANGED
|
@@ -78,7 +78,7 @@ type Database = {
|
|
|
78
78
|
name: string;
|
|
79
79
|
num_employees: number | null;
|
|
80
80
|
organization_id: string;
|
|
81
|
-
|
|
81
|
+
processing_state: Json;
|
|
82
82
|
qualification_rubric_key: string | null;
|
|
83
83
|
qualification_score: number | null;
|
|
84
84
|
qualification_signals: Json | null;
|
|
@@ -104,7 +104,7 @@ type Database = {
|
|
|
104
104
|
name: string;
|
|
105
105
|
num_employees?: number | null;
|
|
106
106
|
organization_id: string;
|
|
107
|
-
|
|
107
|
+
processing_state?: Json;
|
|
108
108
|
qualification_rubric_key?: string | null;
|
|
109
109
|
qualification_score?: number | null;
|
|
110
110
|
qualification_signals?: Json | null;
|
|
@@ -130,7 +130,7 @@ type Database = {
|
|
|
130
130
|
name?: string;
|
|
131
131
|
num_employees?: number | null;
|
|
132
132
|
organization_id?: string;
|
|
133
|
-
|
|
133
|
+
processing_state?: Json;
|
|
134
134
|
qualification_rubric_key?: string | null;
|
|
135
135
|
qualification_score?: number | null;
|
|
136
136
|
qualification_signals?: Json | null;
|
|
@@ -169,7 +169,7 @@ type Database = {
|
|
|
169
169
|
nurture: boolean;
|
|
170
170
|
opening_line: string | null;
|
|
171
171
|
organization_id: string;
|
|
172
|
-
|
|
172
|
+
processing_state: Json;
|
|
173
173
|
qualification_rubric_key: string | null;
|
|
174
174
|
qualification_score: number | null;
|
|
175
175
|
qualification_signals: Json | null;
|
|
@@ -197,7 +197,7 @@ type Database = {
|
|
|
197
197
|
nurture?: boolean;
|
|
198
198
|
opening_line?: string | null;
|
|
199
199
|
organization_id: string;
|
|
200
|
-
|
|
200
|
+
processing_state?: Json;
|
|
201
201
|
qualification_rubric_key?: string | null;
|
|
202
202
|
qualification_score?: number | null;
|
|
203
203
|
qualification_signals?: Json | null;
|
|
@@ -225,7 +225,7 @@ type Database = {
|
|
|
225
225
|
nurture?: boolean;
|
|
226
226
|
opening_line?: string | null;
|
|
227
227
|
organization_id?: string;
|
|
228
|
-
|
|
228
|
+
processing_state?: Json;
|
|
229
229
|
qualification_rubric_key?: string | null;
|
|
230
230
|
qualification_score?: number | null;
|
|
231
231
|
qualification_signals?: Json | null;
|
|
@@ -621,7 +621,6 @@ type Database = {
|
|
|
621
621
|
id: string;
|
|
622
622
|
list_id: string;
|
|
623
623
|
pipeline_key: string;
|
|
624
|
-
processing_state: Json;
|
|
625
624
|
source_execution_id: string | null;
|
|
626
625
|
source_input_hash: string | null;
|
|
627
626
|
source_resource_id: string | null;
|
|
@@ -636,7 +635,6 @@ type Database = {
|
|
|
636
635
|
id?: string;
|
|
637
636
|
list_id: string;
|
|
638
637
|
pipeline_key?: string;
|
|
639
|
-
processing_state?: Json;
|
|
640
638
|
source_execution_id?: string | null;
|
|
641
639
|
source_input_hash?: string | null;
|
|
642
640
|
source_resource_id?: string | null;
|
|
@@ -651,7 +649,6 @@ type Database = {
|
|
|
651
649
|
id?: string;
|
|
652
650
|
list_id?: string;
|
|
653
651
|
pipeline_key?: string;
|
|
654
|
-
processing_state?: Json;
|
|
655
652
|
source_execution_id?: string | null;
|
|
656
653
|
source_input_hash?: string | null;
|
|
657
654
|
source_resource_id?: string | null;
|
|
@@ -730,7 +727,6 @@ type Database = {
|
|
|
730
727
|
id: string;
|
|
731
728
|
list_id: string;
|
|
732
729
|
pipeline_key: string;
|
|
733
|
-
processing_state: Json;
|
|
734
730
|
source_execution_id: string | null;
|
|
735
731
|
source_input_hash: string | null;
|
|
736
732
|
source_resource_id: string | null;
|
|
@@ -745,7 +741,6 @@ type Database = {
|
|
|
745
741
|
id?: string;
|
|
746
742
|
list_id: string;
|
|
747
743
|
pipeline_key?: string;
|
|
748
|
-
processing_state?: Json;
|
|
749
744
|
source_execution_id?: string | null;
|
|
750
745
|
source_input_hash?: string | null;
|
|
751
746
|
source_resource_id?: string | null;
|
|
@@ -760,7 +755,6 @@ type Database = {
|
|
|
760
755
|
id?: string;
|
|
761
756
|
list_id?: string;
|
|
762
757
|
pipeline_key?: string;
|
|
763
|
-
processing_state?: Json;
|
|
764
758
|
source_execution_id?: string | null;
|
|
765
759
|
source_input_hash?: string | null;
|
|
766
760
|
source_resource_id?: string | null;
|
package/dist/app/index.js
CHANGED
|
@@ -1,13 +1,13 @@
|
|
|
1
|
-
import { ElevasisUIProvider } from '../chunk-
|
|
1
|
+
import { ElevasisUIProvider } from '../chunk-OIMPGKDB.js';
|
|
2
2
|
import '../chunk-LH4GPYDX.js';
|
|
3
3
|
import '../chunk-HLFFKKT3.js';
|
|
4
4
|
import '../chunk-WLOQ4IBG.js';
|
|
5
|
-
import '../chunk-
|
|
5
|
+
import '../chunk-OWESKPTJ.js';
|
|
6
6
|
import '../chunk-SZHARWKU.js';
|
|
7
|
-
import '../chunk-
|
|
7
|
+
import '../chunk-7E3FUTND.js';
|
|
8
8
|
import '../chunk-HOIT677G.js';
|
|
9
9
|
import '../chunk-E565XMTQ.js';
|
|
10
|
-
import '../chunk-
|
|
10
|
+
import '../chunk-HXZQWMKE.js';
|
|
11
11
|
import '../chunk-KRWALB24.js';
|
|
12
12
|
import { useInitialization } from '../chunk-WKJ47GIW.js';
|
|
13
13
|
import '../chunk-DD3CCMCZ.js';
|
package/dist/charts/index.js
CHANGED
|
@@ -1,14 +1,14 @@
|
|
|
1
|
-
export { ActivityTrendChart, ChartFrame, CombinedTrendChart, CostTrendChart, HeroStatsRow } from '../chunk-
|
|
1
|
+
export { ActivityTrendChart, ChartFrame, CombinedTrendChart, CostTrendChart, HeroStatsRow } from '../chunk-SZWXQHKO.js';
|
|
2
2
|
export { CyberAreaChart, CyberDonut, CyberDonutTooltip, CyberLegendItem, getSeriesColor, useCyberColors } from '../chunk-CW3UNAF2.js';
|
|
3
3
|
import '../chunk-VKMNWHTL.js';
|
|
4
|
-
import '../chunk-
|
|
4
|
+
import '../chunk-6WXDE5LZ.js';
|
|
5
5
|
import '../chunk-3KMDHCAR.js';
|
|
6
6
|
import '../chunk-SZHARWKU.js';
|
|
7
7
|
import '../chunk-NYBEU5TE.js';
|
|
8
8
|
import '../chunk-2IFYDILW.js';
|
|
9
9
|
import '../chunk-Q7DJKLEN.js';
|
|
10
10
|
import '../chunk-DT3QYZVU.js';
|
|
11
|
-
import '../chunk-
|
|
11
|
+
import '../chunk-HXZQWMKE.js';
|
|
12
12
|
import '../chunk-KRWALB24.js';
|
|
13
13
|
import '../chunk-WFTNY755.js';
|
|
14
14
|
import '../chunk-WKJ47GIW.js';
|
|
@@ -1,13 +1,13 @@
|
|
|
1
|
-
import { SemanticIcon } from './chunk-
|
|
1
|
+
import { SemanticIcon } from './chunk-JCGD4GM6.js';
|
|
2
2
|
import { SubshellSidebarLoader } from './chunk-XQQEKWTL.js';
|
|
3
|
-
import { OrganizationModelProspectingSchema } from './chunk-
|
|
3
|
+
import { OrganizationModelProspectingSchema, CAPABILITY_REGISTRY } from './chunk-FFDAE2QI.js';
|
|
4
4
|
import { useCyberColors, CyberDonut } from './chunk-CW3UNAF2.js';
|
|
5
5
|
import { SubshellSidebarSection } from './chunk-IIMU5YAJ.js';
|
|
6
|
-
import { collectResourceFilterFacets, useCommandViewStore, useCommandViewData, useCommandViewStats, usePaginationState, useResourceExecutions, useCheckpointTasks } from './chunk-
|
|
7
|
-
import { EmptyState, APIErrorAlert } from './chunk-
|
|
8
|
-
import { LabelSchema, ColorTokenSchema, IconNameSchema, PathSchema, DescriptionSchema, DisplayMetadataSchema, ModelIdSchema, ReferenceIdsSchema, OrganizationModelSalesSchema } from './chunk-
|
|
6
|
+
import { collectResourceFilterFacets, useCommandViewStore, useCommandViewData, useCommandViewStats, usePaginationState, useResourceExecutions, useCheckpointTasks } from './chunk-HNFQCOD2.js';
|
|
7
|
+
import { EmptyState, APIErrorAlert } from './chunk-6WXDE5LZ.js';
|
|
8
|
+
import { LabelSchema, ColorTokenSchema, IconNameSchema, PathSchema, DescriptionSchema, DisplayMetadataSchema, ModelIdSchema, ReferenceIdsSchema, OrganizationModelSalesSchema } from './chunk-OWESKPTJ.js';
|
|
9
9
|
import { useElevasisFeatures } from './chunk-V3HUIZJX.js';
|
|
10
|
-
import { getNodeId } from './chunk-
|
|
10
|
+
import { getNodeId } from './chunk-HXZQWMKE.js';
|
|
11
11
|
import { useRef, useEffect, useMemo } from 'react';
|
|
12
12
|
import { Paper, Stack, Group, Text, Button, Badge, SimpleGrid, Divider, Select, NumberInput, MultiSelect, Switch, Card, Checkbox, UnstyledButton, useMantineTheme, Box, Title, Space, Center, Loader, Pagination, TextInput, SegmentedControl } from '@mantine/core';
|
|
13
13
|
import { IconShare2, IconTopologyStar3, IconRefresh, IconCircleX, IconCircleCheck, IconCircleDashed, IconSitemap, IconExternalLink, IconSearch } from '@tabler/icons-react';
|
|
@@ -514,6 +514,8 @@ var DEFAULT_ORGANIZATION_MODEL_STATUSES = {
|
|
|
514
514
|
var KnowledgeLinkSchema = z.object({
|
|
515
515
|
nodeId: NodeIdStringSchema
|
|
516
516
|
});
|
|
517
|
+
var KnowledgeSkillBindingSchema = z.string().trim().min(1).max(120);
|
|
518
|
+
var KnowledgeDomainBindingSchema = z.string().trim().min(1).max(80);
|
|
517
519
|
var OrgKnowledgeKindSchema = z.enum(["playbook", "strategy", "reference"]);
|
|
518
520
|
var OrgKnowledgeNodeSchema = z.object({
|
|
519
521
|
id: ModelIdSchema,
|
|
@@ -528,6 +530,10 @@ var OrgKnowledgeNodeSchema = z.object({
|
|
|
528
530
|
* Each link emits a `governs` edge: knowledge-node -> target node.
|
|
529
531
|
*/
|
|
530
532
|
links: z.array(KnowledgeLinkSchema).default([]),
|
|
533
|
+
/** Operator skill or command bindings relevant to this node. */
|
|
534
|
+
skills: z.array(KnowledgeSkillBindingSchema).optional(),
|
|
535
|
+
/** Domain key used to derive fast graph->skill registries. */
|
|
536
|
+
domain: KnowledgeDomainBindingSchema.optional(),
|
|
531
537
|
/** Identifiers of the roles or members who own this knowledge node. */
|
|
532
538
|
ownerIds: z.array(ModelIdSchema).default([]),
|
|
533
539
|
/** ISO date string (YYYY-MM-DD or full ISO 8601) of last meaningful update. */
|
|
@@ -581,8 +587,12 @@ var LEGACY_FEATURE_ALIASES = /* @__PURE__ */ new Map([
|
|
|
581
587
|
function hasFeature(featuresById, featureId) {
|
|
582
588
|
return featuresById.has(featureId) || featuresById.has(LEGACY_FEATURE_ALIASES.get(featureId) ?? "");
|
|
583
589
|
}
|
|
590
|
+
function defaultFeaturePathFor(id) {
|
|
591
|
+
return `/${id.replaceAll(".", "/")}`;
|
|
592
|
+
}
|
|
584
593
|
var OrganizationModelSchema = OrganizationModelSchemaBase.superRefine((model, ctx) => {
|
|
585
594
|
const featuresById = collectIds(model.features, ctx, ["features"], "Feature");
|
|
595
|
+
const featureIdsByEffectivePath = /* @__PURE__ */ new Map();
|
|
586
596
|
model.features.forEach((feature, featureIndex) => {
|
|
587
597
|
const segments = feature.id.split(".");
|
|
588
598
|
if (segments.length > 1) {
|
|
@@ -598,6 +608,20 @@ var OrganizationModelSchema = OrganizationModelSchemaBase.superRefine((model, ct
|
|
|
598
608
|
const hasChildren = model.features.some(
|
|
599
609
|
(candidate) => candidate.id.startsWith(`${feature.id}.`) && candidate.id !== feature.id
|
|
600
610
|
);
|
|
611
|
+
const contributesRoutePath = feature.path !== void 0 || !hasChildren;
|
|
612
|
+
if (contributesRoutePath) {
|
|
613
|
+
const effectivePath = feature.path ?? defaultFeaturePathFor(feature.id);
|
|
614
|
+
const existingFeatureId = featureIdsByEffectivePath.get(effectivePath);
|
|
615
|
+
if (existingFeatureId !== void 0) {
|
|
616
|
+
addIssue(
|
|
617
|
+
ctx,
|
|
618
|
+
["features", featureIndex, feature.path === void 0 ? "id" : "path"],
|
|
619
|
+
`Feature "${feature.id}" effective path "${effectivePath}" duplicates feature "${existingFeatureId}"`
|
|
620
|
+
);
|
|
621
|
+
} else {
|
|
622
|
+
featureIdsByEffectivePath.set(effectivePath, feature.id);
|
|
623
|
+
}
|
|
624
|
+
}
|
|
601
625
|
if (hasChildren && feature.enabled) {
|
|
602
626
|
const hasEnabledDescendant = model.features.some(
|
|
603
627
|
(candidate) => candidate.id.startsWith(`${feature.id}.`) && candidate.enabled
|
|
@@ -611,6 +635,43 @@ var OrganizationModelSchema = OrganizationModelSchemaBase.superRefine((model, ct
|
|
|
611
635
|
}
|
|
612
636
|
}
|
|
613
637
|
});
|
|
638
|
+
const surfacesById = collectIds(model.navigation.surfaces, ctx, ["navigation", "surfaces"], "Navigation surface");
|
|
639
|
+
if (model.navigation.defaultSurfaceId !== void 0 && !surfacesById.has(model.navigation.defaultSurfaceId)) {
|
|
640
|
+
addIssue(
|
|
641
|
+
ctx,
|
|
642
|
+
["navigation", "defaultSurfaceId"],
|
|
643
|
+
`Navigation defaultSurfaceId references unknown surface "${model.navigation.defaultSurfaceId}"`
|
|
644
|
+
);
|
|
645
|
+
}
|
|
646
|
+
model.navigation.groups.forEach((group, groupIndex) => {
|
|
647
|
+
group.surfaceIds.forEach((surfaceId, surfaceIndex) => {
|
|
648
|
+
if (!surfacesById.has(surfaceId)) {
|
|
649
|
+
addIssue(
|
|
650
|
+
ctx,
|
|
651
|
+
["navigation", "groups", groupIndex, "surfaceIds", surfaceIndex],
|
|
652
|
+
`Navigation group "${group.id}" references unknown surface "${surfaceId}"`
|
|
653
|
+
);
|
|
654
|
+
}
|
|
655
|
+
});
|
|
656
|
+
});
|
|
657
|
+
model.navigation.surfaces.forEach((surface, surfaceIndex) => {
|
|
658
|
+
if (surface.featureId !== void 0 && !hasFeature(featuresById, surface.featureId)) {
|
|
659
|
+
addIssue(
|
|
660
|
+
ctx,
|
|
661
|
+
["navigation", "surfaces", surfaceIndex, "featureId"],
|
|
662
|
+
`Navigation surface "${surface.id}" references unknown feature "${surface.featureId}"`
|
|
663
|
+
);
|
|
664
|
+
}
|
|
665
|
+
surface.featureIds.forEach((featureId, featureIndex) => {
|
|
666
|
+
if (!hasFeature(featuresById, featureId)) {
|
|
667
|
+
addIssue(
|
|
668
|
+
ctx,
|
|
669
|
+
["navigation", "surfaces", surfaceIndex, "featureIds", featureIndex],
|
|
670
|
+
`Navigation surface "${surface.id}" references unknown feature "${featureId}"`
|
|
671
|
+
);
|
|
672
|
+
}
|
|
673
|
+
});
|
|
674
|
+
});
|
|
614
675
|
const segmentsById = new Map(model.customers.segments.map((seg) => [seg.id, seg]));
|
|
615
676
|
model.offerings.products.forEach((product, productIndex) => {
|
|
616
677
|
product.targetSegmentIds.forEach((segmentId, segmentIndex) => {
|
|
@@ -658,6 +719,7 @@ var OrganizationGraphNodeKindSchema = z.enum([
|
|
|
658
719
|
"surface",
|
|
659
720
|
"entity",
|
|
660
721
|
"capability",
|
|
722
|
+
"stage",
|
|
661
723
|
"resource",
|
|
662
724
|
"knowledge"
|
|
663
725
|
]);
|
|
@@ -839,6 +901,75 @@ function buildOrganizationGraph(input) {
|
|
|
839
901
|
});
|
|
840
902
|
}
|
|
841
903
|
}
|
|
904
|
+
const allStages = [
|
|
905
|
+
...organizationModel.prospecting.companyStages,
|
|
906
|
+
...organizationModel.prospecting.contactStages
|
|
907
|
+
].sort((a, b) => a.order - b.order || a.id.localeCompare(b.id));
|
|
908
|
+
for (const stage of allStages) {
|
|
909
|
+
const id = nodeId("stage", stage.id);
|
|
910
|
+
pushUniqueNode(nodes, nodeIds, {
|
|
911
|
+
id,
|
|
912
|
+
kind: "stage",
|
|
913
|
+
label: stage.label,
|
|
914
|
+
sourceId: stage.id,
|
|
915
|
+
...stage.description ? { description: stage.description } : {},
|
|
916
|
+
...stage.icon ? { icon: stage.icon } : {}
|
|
917
|
+
});
|
|
918
|
+
pushUniqueEdge(edges, edgeIds, {
|
|
919
|
+
id: edgeId("contains", organizationNode.id, id),
|
|
920
|
+
kind: "contains",
|
|
921
|
+
sourceId: organizationNode.id,
|
|
922
|
+
targetId: id
|
|
923
|
+
});
|
|
924
|
+
}
|
|
925
|
+
for (const cap of [...CAPABILITY_REGISTRY].sort((a, b) => a.id.localeCompare(b.id))) {
|
|
926
|
+
const id = nodeId("capability", cap.id);
|
|
927
|
+
pushUniqueNode(nodes, nodeIds, {
|
|
928
|
+
id,
|
|
929
|
+
kind: "capability",
|
|
930
|
+
label: cap.label,
|
|
931
|
+
sourceId: cap.id,
|
|
932
|
+
description: cap.description
|
|
933
|
+
});
|
|
934
|
+
pushUniqueEdge(edges, edgeIds, {
|
|
935
|
+
id: edgeId("contains", organizationNode.id, id),
|
|
936
|
+
kind: "contains",
|
|
937
|
+
sourceId: organizationNode.id,
|
|
938
|
+
targetId: id
|
|
939
|
+
});
|
|
940
|
+
const resourceNode = ensureResourceNode(nodes, nodeIds, resourceNodesById, cap.resourceId);
|
|
941
|
+
pushUniqueEdge(edges, edgeIds, {
|
|
942
|
+
id: edgeId("maps_to", id, resourceNode.id),
|
|
943
|
+
kind: "maps_to",
|
|
944
|
+
sourceId: id,
|
|
945
|
+
targetId: resourceNode.id
|
|
946
|
+
});
|
|
947
|
+
}
|
|
948
|
+
for (const template of [...organizationModel.prospecting.buildTemplates].sort((a, b) => a.id.localeCompare(b.id))) {
|
|
949
|
+
const stepById = new Map(template.steps.map((s) => [s.id, s]));
|
|
950
|
+
for (const step of [...template.steps].sort((a, b) => a.id.localeCompare(b.id))) {
|
|
951
|
+
const stageNodeId = nodeId("stage", step.stageKey);
|
|
952
|
+
const capNodeId = nodeId("capability", step.capabilityKey);
|
|
953
|
+
pushUniqueEdge(edges, edgeIds, {
|
|
954
|
+
id: edgeId("uses", stageNodeId, capNodeId, step.id),
|
|
955
|
+
kind: "uses",
|
|
956
|
+
sourceId: stageNodeId,
|
|
957
|
+
targetId: capNodeId
|
|
958
|
+
});
|
|
959
|
+
for (const depId of step.dependsOn ?? []) {
|
|
960
|
+
const depStep = stepById.get(depId);
|
|
961
|
+
if (depStep) {
|
|
962
|
+
const depStageNodeId = nodeId("stage", depStep.stageKey);
|
|
963
|
+
pushUniqueEdge(edges, edgeIds, {
|
|
964
|
+
id: edgeId("references", stageNodeId, depStageNodeId, step.id),
|
|
965
|
+
kind: "references",
|
|
966
|
+
sourceId: stageNodeId,
|
|
967
|
+
targetId: depStageNodeId
|
|
968
|
+
});
|
|
969
|
+
}
|
|
970
|
+
}
|
|
971
|
+
}
|
|
972
|
+
}
|
|
842
973
|
if (commandViewData) {
|
|
843
974
|
const commandViewResources = collectCommandViewResources(commandViewData).sort(
|
|
844
975
|
(a, b) => a.resourceId.localeCompare(b.resourceId)
|
|
@@ -902,6 +1033,7 @@ var NODE_KIND_LABELS = {
|
|
|
902
1033
|
surface: "Surface",
|
|
903
1034
|
entity: "Entity",
|
|
904
1035
|
capability: "Capability",
|
|
1036
|
+
stage: "Stage",
|
|
905
1037
|
resource: "Resource",
|
|
906
1038
|
knowledge: "Knowledge"
|
|
907
1039
|
};
|
|
@@ -911,6 +1043,7 @@ var NODE_KIND_MEANINGS = {
|
|
|
911
1043
|
surface: "A user-facing or operational surface that exposes feature behavior in the model.",
|
|
912
1044
|
entity: "A shared business concept that can be referenced by surfaces, resources, or capabilities.",
|
|
913
1045
|
capability: "A reusable capability that can be attached to a feature or surface.",
|
|
1046
|
+
stage: "A lifecycle stage that records progress for an entity through a build pipeline.",
|
|
914
1047
|
resource: "A concrete command-view or mapped resource that bridges execution topology into the model.",
|
|
915
1048
|
knowledge: "An operational knowledge node that documents a process, strategy, or runbook in the org model."
|
|
916
1049
|
};
|
|
@@ -1570,6 +1703,7 @@ var ORGANIZATION_GRAPH_NODE_KIND_ORDER = [
|
|
|
1570
1703
|
"surface",
|
|
1571
1704
|
"entity",
|
|
1572
1705
|
"capability",
|
|
1706
|
+
"stage",
|
|
1573
1707
|
"resource",
|
|
1574
1708
|
"knowledge"
|
|
1575
1709
|
];
|
|
@@ -1579,6 +1713,7 @@ var ORGANIZATION_GRAPH_NODE_KIND_LABELS = {
|
|
|
1579
1713
|
surface: "Surface",
|
|
1580
1714
|
entity: "Entity",
|
|
1581
1715
|
capability: "Capability",
|
|
1716
|
+
stage: "Stage",
|
|
1582
1717
|
resource: "Resource",
|
|
1583
1718
|
knowledge: "Knowledge"
|
|
1584
1719
|
};
|
|
@@ -2474,15 +2609,17 @@ var NODE_KIND_ORDER = {
|
|
|
2474
2609
|
feature: 1,
|
|
2475
2610
|
surface: 2,
|
|
2476
2611
|
capability: 3,
|
|
2477
|
-
|
|
2478
|
-
|
|
2479
|
-
|
|
2612
|
+
stage: 4,
|
|
2613
|
+
entity: 5,
|
|
2614
|
+
resource: 6,
|
|
2615
|
+
knowledge: 7
|
|
2480
2616
|
};
|
|
2481
2617
|
var NODE_KIND_LABEL = {
|
|
2482
2618
|
organization: "Organization",
|
|
2483
2619
|
feature: "Feature",
|
|
2484
2620
|
surface: "Surface",
|
|
2485
2621
|
capability: "Capability",
|
|
2622
|
+
stage: "Stage",
|
|
2486
2623
|
entity: "Entity",
|
|
2487
2624
|
resource: "Resource",
|
|
2488
2625
|
knowledge: "Knowledge"
|
|
@@ -1,13 +1,13 @@
|
|
|
1
|
-
import { CostTrendChart, ActivityTrendChart } from './chunk-
|
|
1
|
+
import { CostTrendChart, ActivityTrendChart } from './chunk-SZWXQHKO.js';
|
|
2
2
|
import { CyberAreaChart } from './chunk-CW3UNAF2.js';
|
|
3
3
|
import { AppShellLoader } from './chunk-RYTEQBAO.js';
|
|
4
4
|
import { FilterBar } from './chunk-PDHTXPSF.js';
|
|
5
5
|
import { CustomModal } from './chunk-KVJ3LFH2.js';
|
|
6
6
|
import { formatDuration } from './chunk-E4WQGJNS.js';
|
|
7
|
-
import { useResolveError, useResolveAllErrors, usePaginationState, useErrorDetails, useMarkAsRead, useExecutionLogsFilters, useExecutionLogs, useExecutionHealth, useErrorAnalysis, useTimeRangeDates, useErrorDetail, useResolveErrorsByExecution, useResources, useCostTrends, useCostSummary, useCostByModel, useCostBreakdown, useActivityFilters, useActivityTrend, useActivities, useNotifications, useMarkAllAsRead, useTestNotification } from './chunk-
|
|
8
|
-
import { CenteredErrorState, CardHeader, StatsCardSkeleton, TrendIndicator, DetailCardSkeleton, EmptyState, PageTitleCaption, JsonViewer } from './chunk-
|
|
7
|
+
import { useResolveError, useResolveAllErrors, usePaginationState, useErrorDetails, useMarkAsRead, useExecutionLogsFilters, useExecutionLogs, useExecutionHealth, useErrorAnalysis, useTimeRangeDates, useErrorDetail, useResolveErrorsByExecution, useResources, useCostTrends, useCostSummary, useCostByModel, useCostBreakdown, useActivityFilters, useActivityTrend, useActivities, useNotifications, useMarkAllAsRead, useTestNotification } from './chunk-HNFQCOD2.js';
|
|
8
|
+
import { CenteredErrorState, CardHeader, StatsCardSkeleton, TrendIndicator, DetailCardSkeleton, EmptyState, PageTitleCaption, JsonViewer } from './chunk-6WXDE5LZ.js';
|
|
9
9
|
import { useRouterContext } from './chunk-Q7DJKLEN.js';
|
|
10
|
-
import { formatBucketTime, PAGE_SIZE_DEFAULT, getTimeRangeDates } from './chunk-
|
|
10
|
+
import { formatBucketTime, PAGE_SIZE_DEFAULT, getTimeRangeDates } from './chunk-HXZQWMKE.js';
|
|
11
11
|
import { useState, useMemo, useCallback } from 'react';
|
|
12
12
|
import { Table, Text, Badge, Tooltip, Card, Group, Select, SegmentedControl, Button, TextInput, Stack, Paper, Center, Loader, ActionIcon, NumberFormatter, Box, Alert, Switch, Pagination, UnstyledButton, Title, Divider, Code, CopyButton, Accordion } from '@mantine/core';
|
|
13
13
|
import { IconActivity, IconFilterOff, IconCircleCheck, IconThumbDown, IconThumbUp, IconClock, IconCircleX, IconSearch, IconArrowUpRight, IconAlertTriangle, IconAlertCircle, IconExternalLink, IconChartPie, IconHeartbeat, IconDownload, IconCpu, IconTrendingUp, IconChartBar, IconCash, IconInfoCircle, IconExclamationCircle, IconBug, IconChecks, IconCircle, IconCircleFilled, IconCheck, IconCopy, IconCircleDashed, IconPlus, IconArrowUp, IconArrowDown, IconFileOff, IconRobot, IconKey, IconUser } from '@tabler/icons-react';
|