@eventcatalog/core 4.0.0-beta.1 → 4.0.0-beta.3
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/bin/eventcatalog.config.d.ts +1 -1
- package/dist/analytics/analytics.cjs +1 -1
- package/dist/analytics/analytics.js +2 -2
- package/dist/analytics/log-build.cjs +1 -1
- package/dist/analytics/log-build.js +3 -3
- package/dist/{chunk-TZTPGQGL.js → chunk-77HKKB65.js} +1 -1
- package/dist/{chunk-MBVTS76Q.js → chunk-CMFOHBTI.js} +1 -1
- package/dist/{chunk-JTZT2SDF.js → chunk-GHYHLEQZ.js} +1 -1
- package/dist/{chunk-U5OTNDVQ.js → chunk-ID4TZKSG.js} +1 -1
- package/dist/{chunk-M2ZRT7KQ.js → chunk-J5GFXQT3.js} +1 -1
- package/dist/constants.cjs +1 -1
- package/dist/constants.js +1 -1
- package/dist/eventcatalog.cjs +1 -1
- package/dist/eventcatalog.config.d.cts +40 -7
- package/dist/eventcatalog.config.d.ts +40 -7
- package/dist/eventcatalog.js +5 -5
- package/dist/generate.cjs +1 -1
- package/dist/generate.js +3 -3
- package/dist/utils/cli-logger.cjs +1 -1
- package/dist/utils/cli-logger.js +2 -2
- package/eventcatalog/src/components/ChatPanel/ChatPanel.tsx +16 -2
- package/eventcatalog/src/components/CopyAsMarkdown.tsx +6 -57
- package/eventcatalog/src/content.config.ts +21 -29
- package/eventcatalog/src/enterprise/ai/chat-api.ts +4 -2
- package/eventcatalog/src/enterprise/custom-documentation/pages/docs/custom/index.astro +26 -7
- package/eventcatalog/src/enterprise/directory/user-team-directory.ts +3 -3
- package/eventcatalog/src/enterprise/feature.ts +0 -4
- package/eventcatalog/src/enterprise/integrations/eventcatalog-features.ts +0 -9
- package/eventcatalog/src/enterprise/tools/catalog-tools.ts +6 -1
- package/eventcatalog/src/layouts/VerticalSideBarLayout.astro +343 -282
- package/eventcatalog/src/pages/diagrams/[id]/[version]/index.astro +6 -81
- package/eventcatalog/src/pages/docs/[type]/[id]/[version]/index.astro +0 -8
- package/eventcatalog/src/stores/sidebar-store/state.ts +4 -4
- package/eventcatalog/src/utils/collections/glob-loader.ts +70 -0
- package/eventcatalog/src/utils/feature.ts +0 -2
- package/package.json +2 -1
- package/eventcatalog/src/enterprise/print/_message.data.ts +0 -63
- package/eventcatalog/src/enterprise/print/components/PrintHeader.astro +0 -183
- package/eventcatalog/src/enterprise/print/components/PrintLayout.astro +0 -271
- package/eventcatalog/src/enterprise/print/components/PrintParticipantsTable.astro +0 -64
- package/eventcatalog/src/enterprise/print/components/PrintSchemaPropertiesTable.astro +0 -65
- package/eventcatalog/src/enterprise/print/components/PrintSchemaViewer.tsx +0 -55
- package/eventcatalog/src/enterprise/print/components/PrintSection.astro +0 -17
- package/eventcatalog/src/enterprise/print/message.astro +0 -353
- package/eventcatalog/src/enterprise/print/utils.ts +0 -58
- package/eventcatalog/src/utils/sidebar-visibility.ts +0 -41
|
@@ -1,6 +1,5 @@
|
|
|
1
1
|
import { defineCollection, reference } from 'astro:content';
|
|
2
2
|
import { z } from 'astro/zod';
|
|
3
|
-
import { glob } from 'astro/loaders';
|
|
4
3
|
import { glob as globPackage } from 'glob';
|
|
5
4
|
import { v4 as uuidv4 } from 'uuid';
|
|
6
5
|
import { badge, ownerReference } from './content.config-shared-collections';
|
|
@@ -10,6 +9,7 @@ import path from 'path';
|
|
|
10
9
|
import { userTeamDirectoryLoader } from './enterprise/directory/user-team-directory';
|
|
11
10
|
import config from '@config';
|
|
12
11
|
import { schemaLoader } from './utils/collections/schema-loader';
|
|
12
|
+
import { globWithSafeWatcher, withIgnoredBuildArtifacts } from './utils/collections/glob-loader';
|
|
13
13
|
|
|
14
14
|
// Enterprise Collections
|
|
15
15
|
import { customPagesSchema, resourceDocsSchema, resourceDocCategoriesSchema } from './enterprise/collections';
|
|
@@ -34,16 +34,8 @@ export const projectDirBase = (() => {
|
|
|
34
34
|
return projectDir;
|
|
35
35
|
})();
|
|
36
36
|
|
|
37
|
-
const withIgnoredBuildArtifacts = (patterns: string | string[]) => {
|
|
38
|
-
if (process.env.IGNORE_BUILD_ARTIFACTS === 'true') {
|
|
39
|
-
const ignoredArtifacts = ['!dist/**', '!**/dist/**'];
|
|
40
|
-
return Array.isArray(patterns) ? [...patterns, ...ignoredArtifacts] : [patterns, ...ignoredArtifacts];
|
|
41
|
-
}
|
|
42
|
-
return patterns;
|
|
43
|
-
};
|
|
44
|
-
|
|
45
37
|
const pages = defineCollection({
|
|
46
|
-
loader:
|
|
38
|
+
loader: globWithSafeWatcher({
|
|
47
39
|
pattern: withIgnoredBuildArtifacts(['**/pages/*.(md|mdx)']),
|
|
48
40
|
base: projectDirBase,
|
|
49
41
|
}),
|
|
@@ -123,7 +115,7 @@ const directoryEntrySource = z.object({
|
|
|
123
115
|
});
|
|
124
116
|
|
|
125
117
|
const changelogs = defineCollection({
|
|
126
|
-
loader:
|
|
118
|
+
loader: globWithSafeWatcher({
|
|
127
119
|
pattern: withIgnoredBuildArtifacts(['**/changelog.(md|mdx)']),
|
|
128
120
|
base: projectDirBase,
|
|
129
121
|
}),
|
|
@@ -264,7 +256,7 @@ const flowStep = z
|
|
|
264
256
|
.optional();
|
|
265
257
|
|
|
266
258
|
const flows = defineCollection({
|
|
267
|
-
loader:
|
|
259
|
+
loader: globWithSafeWatcher({
|
|
268
260
|
pattern: withIgnoredBuildArtifacts(['**/flows/**/index.(md|mdx)', '**/flows/**/versioned/*/index.(md|mdx)']),
|
|
269
261
|
base: projectDirBase,
|
|
270
262
|
generateId: ({ data }) => {
|
|
@@ -372,7 +364,7 @@ const messageDetailsPanelPropertySchema = z.object({
|
|
|
372
364
|
});
|
|
373
365
|
|
|
374
366
|
const events = defineCollection({
|
|
375
|
-
loader:
|
|
367
|
+
loader: globWithSafeWatcher({
|
|
376
368
|
pattern: withIgnoredBuildArtifacts(['**/events/*/index.(md|mdx)', '**/events/*/versioned/*/index.(md|mdx)']),
|
|
377
369
|
base: projectDirBase,
|
|
378
370
|
generateId: ({ data, ...rest }) => {
|
|
@@ -395,7 +387,7 @@ const events = defineCollection({
|
|
|
395
387
|
});
|
|
396
388
|
|
|
397
389
|
const commands = defineCollection({
|
|
398
|
-
loader:
|
|
390
|
+
loader: globWithSafeWatcher({
|
|
399
391
|
pattern: withIgnoredBuildArtifacts(['**/commands/*/index.(md|mdx)', '**/commands/*/versioned/*/index.(md|mdx)']),
|
|
400
392
|
base: projectDirBase,
|
|
401
393
|
generateId: ({ data }) => {
|
|
@@ -418,7 +410,7 @@ const commands = defineCollection({
|
|
|
418
410
|
});
|
|
419
411
|
|
|
420
412
|
const queries = defineCollection({
|
|
421
|
-
loader:
|
|
413
|
+
loader: globWithSafeWatcher({
|
|
422
414
|
pattern: withIgnoredBuildArtifacts(['**/queries/*/index.(md|mdx)', '**/queries/*/versioned/*/index.(md|mdx)']),
|
|
423
415
|
base: projectDirBase,
|
|
424
416
|
generateId: ({ data }) => {
|
|
@@ -453,7 +445,7 @@ const dataProductOutputPointer = z.object({
|
|
|
453
445
|
});
|
|
454
446
|
|
|
455
447
|
const dataProducts = defineCollection({
|
|
456
|
-
loader:
|
|
448
|
+
loader: globWithSafeWatcher({
|
|
457
449
|
pattern: withIgnoredBuildArtifacts(['**/data-products/*/index.(md|mdx)', '**/data-products/*/versioned/*/index.(md|mdx)']),
|
|
458
450
|
base: projectDirBase,
|
|
459
451
|
generateId: ({ data }) => {
|
|
@@ -481,7 +473,7 @@ const dataProducts = defineCollection({
|
|
|
481
473
|
});
|
|
482
474
|
|
|
483
475
|
const services = defineCollection({
|
|
484
|
-
loader:
|
|
476
|
+
loader: globWithSafeWatcher({
|
|
485
477
|
pattern: withIgnoredBuildArtifacts([
|
|
486
478
|
'domains/*/services/*/index.(md|mdx)',
|
|
487
479
|
'domains/*/services/*/versioned/*/index.(md|mdx)',
|
|
@@ -546,7 +538,7 @@ const agentModel = z.object({
|
|
|
546
538
|
});
|
|
547
539
|
|
|
548
540
|
const agents = defineCollection({
|
|
549
|
-
loader:
|
|
541
|
+
loader: globWithSafeWatcher({
|
|
550
542
|
pattern: withIgnoredBuildArtifacts(['**/agents/*/index.(md|mdx)', '**/agents/*/versioned/*/index.(md|mdx)']),
|
|
551
543
|
base: projectDirBase,
|
|
552
544
|
generateId: ({ data }) => {
|
|
@@ -608,7 +600,7 @@ const adrResourcePointer = adrPointer.extend({
|
|
|
608
600
|
});
|
|
609
601
|
|
|
610
602
|
const adrs = defineCollection({
|
|
611
|
-
loader:
|
|
603
|
+
loader: globWithSafeWatcher({
|
|
612
604
|
pattern: withIgnoredBuildArtifacts(['**/adrs/*/index.(md|mdx)', '**/adrs/*/versioned/*/index.(md|mdx)']),
|
|
613
605
|
base: projectDirBase,
|
|
614
606
|
generateId: ({ data }) => `${data.id}-${data.version}`,
|
|
@@ -658,7 +650,7 @@ const accessModeEnum = z.enum(['read', 'write', 'readWrite', 'appendOnly']);
|
|
|
658
650
|
const dataClassificationEnum = z.enum(['public', 'internal', 'confidential', 'regulated']);
|
|
659
651
|
|
|
660
652
|
const containers = defineCollection({
|
|
661
|
-
loader:
|
|
653
|
+
loader: globWithSafeWatcher({
|
|
662
654
|
pattern: withIgnoredBuildArtifacts(['**/containers/**/index.(md|mdx)', '**/containers/**/versioned/*/index.(md|mdx)']),
|
|
663
655
|
base: projectDirBase,
|
|
664
656
|
generateId: ({ data }) => {
|
|
@@ -697,7 +689,7 @@ const containers = defineCollection({
|
|
|
697
689
|
});
|
|
698
690
|
|
|
699
691
|
const customPages = defineCollection({
|
|
700
|
-
loader:
|
|
692
|
+
loader: globWithSafeWatcher({
|
|
701
693
|
// any number of child folders
|
|
702
694
|
pattern: withIgnoredBuildArtifacts(['docs/*.(md|mdx)', 'docs/**/*.@(md|mdx)']),
|
|
703
695
|
base: projectDirBase,
|
|
@@ -706,7 +698,7 @@ const customPages = defineCollection({
|
|
|
706
698
|
});
|
|
707
699
|
|
|
708
700
|
const resourceDocs = defineCollection({
|
|
709
|
-
loader:
|
|
701
|
+
loader: globWithSafeWatcher({
|
|
710
702
|
// Resource-level docs are restricted to known resource paths.
|
|
711
703
|
// This avoids scanning external docs such as node_modules/**/docs.
|
|
712
704
|
pattern: withIgnoredBuildArtifacts([
|
|
@@ -723,7 +715,7 @@ const resourceDocs = defineCollection({
|
|
|
723
715
|
});
|
|
724
716
|
|
|
725
717
|
const resourceDocCategories = defineCollection({
|
|
726
|
-
loader:
|
|
718
|
+
loader: globWithSafeWatcher({
|
|
727
719
|
pattern: withIgnoredBuildArtifacts([
|
|
728
720
|
'{agents,events,commands,queries,services,flows,containers,channels,entities,data-products,systems}/**/docs/**/category.json',
|
|
729
721
|
'{agents,events,commands,queries,services,flows,containers,channels,entities,data-products,systems}/**/docs/**/_category_.json',
|
|
@@ -740,7 +732,7 @@ const resourceDocCategories = defineCollection({
|
|
|
740
732
|
});
|
|
741
733
|
|
|
742
734
|
const domains = defineCollection({
|
|
743
|
-
loader:
|
|
735
|
+
loader: globWithSafeWatcher({
|
|
744
736
|
pattern: withIgnoredBuildArtifacts([
|
|
745
737
|
// ✅ Strictly include only index.md at the expected levels
|
|
746
738
|
'domains/*/index.(md|mdx)',
|
|
@@ -808,7 +800,7 @@ const systemActorRelationship = z.object({
|
|
|
808
800
|
});
|
|
809
801
|
|
|
810
802
|
const systems = defineCollection({
|
|
811
|
-
loader:
|
|
803
|
+
loader: globWithSafeWatcher({
|
|
812
804
|
pattern: withIgnoredBuildArtifacts([
|
|
813
805
|
'**/systems/**/index.(md|mdx)',
|
|
814
806
|
'**/systems/**/versioned/*/index.(md|mdx)',
|
|
@@ -865,7 +857,7 @@ const systems = defineCollection({
|
|
|
865
857
|
});
|
|
866
858
|
|
|
867
859
|
const channels = defineCollection({
|
|
868
|
-
loader:
|
|
860
|
+
loader: globWithSafeWatcher({
|
|
869
861
|
pattern: withIgnoredBuildArtifacts(['**/channels/**/index.(md|mdx)', '**/channels/**/versioned/*/index.(md|mdx)']),
|
|
870
862
|
base: projectDirBase,
|
|
871
863
|
generateId: ({ data }) => {
|
|
@@ -910,7 +902,7 @@ const channels = defineCollection({
|
|
|
910
902
|
});
|
|
911
903
|
|
|
912
904
|
const ubiquitousLanguages = defineCollection({
|
|
913
|
-
loader:
|
|
905
|
+
loader: globWithSafeWatcher({
|
|
914
906
|
pattern: withIgnoredBuildArtifacts([
|
|
915
907
|
'domains/*/ubiquitous-language.(md|mdx)',
|
|
916
908
|
'domains/*/subdomains/*/ubiquitous-language.(md|mdx)',
|
|
@@ -937,7 +929,7 @@ const ubiquitousLanguages = defineCollection({
|
|
|
937
929
|
});
|
|
938
930
|
|
|
939
931
|
const entities = defineCollection({
|
|
940
|
-
loader:
|
|
932
|
+
loader: globWithSafeWatcher({
|
|
941
933
|
pattern: withIgnoredBuildArtifacts(['**/entities/*/index.(md|mdx)', '**/entities/*/versioned/*/index.(md|mdx)']),
|
|
942
934
|
base: projectDirBase,
|
|
943
935
|
generateId: ({ data, ...rest }) => {
|
|
@@ -1078,7 +1070,7 @@ const designs = defineCollection({
|
|
|
1078
1070
|
});
|
|
1079
1071
|
|
|
1080
1072
|
const diagrams = defineCollection({
|
|
1081
|
-
loader:
|
|
1073
|
+
loader: globWithSafeWatcher({
|
|
1082
1074
|
pattern: withIgnoredBuildArtifacts(['**/diagrams/**/index.(md|mdx)', '**/diagrams/**/versioned/*/index.(md|mdx)']),
|
|
1083
1075
|
base: projectDirBase,
|
|
1084
1076
|
generateId: ({ data }) => `${data.id}-${data.version}`,
|
|
@@ -61,7 +61,7 @@ try {
|
|
|
61
61
|
const builtInToolsMetadata = [
|
|
62
62
|
{
|
|
63
63
|
name: 'getResources',
|
|
64
|
-
description: 'Get events, services, commands, queries, flows, domains, channels, entities from EventCatalog',
|
|
64
|
+
description: 'Get events, services, commands, queries, flows, domains, systems, channels, entities from EventCatalog',
|
|
65
65
|
},
|
|
66
66
|
{ name: 'getResource', description: 'Get a specific resource by its id and version' },
|
|
67
67
|
{ name: 'getProducersAndConsumersFromSchema', description: 'Get the producers and consumers for a schema' },
|
|
@@ -101,6 +101,8 @@ There are many different resource types in EventCatalog, including:
|
|
|
101
101
|
- example docs url: /docs/services/MyService/1.0.0
|
|
102
102
|
- Domains (collection name 'domains') (business capabilities or functional areas)
|
|
103
103
|
- example docs url: /docs/domains/MyDomain/1.0.0
|
|
104
|
+
- Systems (collection name 'systems') (business capabilities or functional areas)
|
|
105
|
+
- example docs url: /docs/systems/MySystem/1.0.0
|
|
104
106
|
- Flows (collection name 'flows') (state machines)
|
|
105
107
|
- example docs url: /docs/flows/MyFlow/1.0.0
|
|
106
108
|
- Channels (collection name 'channels') (communication channels)
|
|
@@ -340,7 +342,7 @@ export const POST = async ({ request }: APIContext<{ question: string; messages:
|
|
|
340
342
|
resourceVersion: z.string().describe('The version of the resource to get the architecture diagram for'),
|
|
341
343
|
resourceCollection: visualiserCollectionSchema
|
|
342
344
|
.describe(
|
|
343
|
-
'The collection of the resource (events, commands, queries, services, domains, flows, containers, data-products)'
|
|
345
|
+
'The collection of the resource (events, commands, queries, services, domains, systems, flows, containers, data-products)'
|
|
344
346
|
)
|
|
345
347
|
.default('services'),
|
|
346
348
|
}),
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
---
|
|
2
2
|
import VerticalSideBarLayout from '@layouts/VerticalSideBarLayout.astro';
|
|
3
|
-
import { render } from 'astro:content';
|
|
3
|
+
import { getEntry, render } from 'astro:content';
|
|
4
4
|
import config from '@config';
|
|
5
5
|
import { AlignLeftIcon, UserIcon, UsersIcon } from 'lucide-react';
|
|
6
6
|
|
|
@@ -28,6 +28,26 @@ const nodeGraphs =
|
|
|
28
28
|
return nodeGraph.id && nodeGraph.version && nodeGraph.type;
|
|
29
29
|
}) || [];
|
|
30
30
|
|
|
31
|
+
const resolvedNodeGraphs = await Promise.all(
|
|
32
|
+
nodeGraphs.map(async (nodeGraph: any) => {
|
|
33
|
+
const collection = resourceToCollectionMap[nodeGraph.type as keyof typeof resourceToCollectionMap];
|
|
34
|
+
const domain = collection === 'domains' ? await getEntry('domains', `${nodeGraph.id}-${nodeGraph.version}`) : undefined;
|
|
35
|
+
const hasSystems = ((domain?.data as any)?.systems || []).length > 0;
|
|
36
|
+
const graphCollection = hasSystems ? 'domains-systems-context' : collection;
|
|
37
|
+
|
|
38
|
+
return {
|
|
39
|
+
...nodeGraph,
|
|
40
|
+
collection,
|
|
41
|
+
graphCollection,
|
|
42
|
+
title: nodeGraph.title ?? (hasSystems ? 'System Context Map' : undefined),
|
|
43
|
+
hrefLabel: hasSystems ? 'Open System Context Map' : 'Open in Visualiser',
|
|
44
|
+
visualiserUrl: hasSystems
|
|
45
|
+
? buildUrl(`/visualiser/domains/${nodeGraph.id}/${nodeGraph.version}/systems-context`)
|
|
46
|
+
: buildUrl(`/visualiser/${collection}/${nodeGraph.id}/${nodeGraph.version}`),
|
|
47
|
+
};
|
|
48
|
+
})
|
|
49
|
+
);
|
|
50
|
+
|
|
31
51
|
const { prev, next } = await getAdjacentPages(currentSlug);
|
|
32
52
|
|
|
33
53
|
const ownersRaw = doc?.owners || [];
|
|
@@ -129,14 +149,13 @@ const editUrl =
|
|
|
129
149
|
</div>
|
|
130
150
|
|
|
131
151
|
{
|
|
132
|
-
|
|
133
|
-
|
|
134
|
-
const collection = resourceToCollectionMap[nodeGraph.type as keyof typeof resourceToCollectionMap];
|
|
152
|
+
resolvedNodeGraphs.length > 0 &&
|
|
153
|
+
resolvedNodeGraphs.map((nodeGraph: any) => {
|
|
135
154
|
return (
|
|
136
155
|
<NodeGraph
|
|
137
156
|
id={nodeGraph.id}
|
|
138
157
|
version={nodeGraph.version}
|
|
139
|
-
collection={
|
|
158
|
+
collection={nodeGraph.graphCollection}
|
|
140
159
|
title={nodeGraph.title}
|
|
141
160
|
mode={nodeGraph.mode || 'simple'}
|
|
142
161
|
linksToVisualiser={true}
|
|
@@ -145,8 +164,8 @@ const editUrl =
|
|
|
145
164
|
href={
|
|
146
165
|
isVisualiserEnabled()
|
|
147
166
|
? {
|
|
148
|
-
label:
|
|
149
|
-
url:
|
|
167
|
+
label: nodeGraph.hrefLabel,
|
|
168
|
+
url: nodeGraph.visualiserUrl,
|
|
150
169
|
}
|
|
151
170
|
: undefined
|
|
152
171
|
}
|
|
@@ -1,12 +1,12 @@
|
|
|
1
|
-
import {
|
|
1
|
+
import type { Loader } from 'astro/loaders';
|
|
2
2
|
import pc from 'picocolors';
|
|
3
3
|
import { isEventCatalogScaleEnabled } from '../feature';
|
|
4
4
|
import { EventCatalogStore } from '../../stores/eventcatalog-store';
|
|
5
|
+
import { globWithSafeWatcher, type GlobOptions } from '../../utils/collections/glob-loader';
|
|
5
6
|
|
|
6
7
|
const colors = pc.createColors(true);
|
|
7
8
|
|
|
8
9
|
type UserTeamCollection = 'users' | 'teams';
|
|
9
|
-
type GlobOptions = Parameters<typeof glob>[0];
|
|
10
10
|
|
|
11
11
|
type DirectoryEntry = {
|
|
12
12
|
id: string;
|
|
@@ -58,7 +58,7 @@ export const userTeamDirectoryLoader = ({
|
|
|
58
58
|
conflictStrategy = 'local-wins',
|
|
59
59
|
storePath,
|
|
60
60
|
}: UserTeamDirectoryLoaderOptions): Loader => {
|
|
61
|
-
const localLoader =
|
|
61
|
+
const localLoader = globWithSafeWatcher(local);
|
|
62
62
|
const directoryStore = createDirectoryStore({ base: local.base, storePath });
|
|
63
63
|
|
|
64
64
|
return {
|
|
@@ -64,12 +64,8 @@ export const isCustomStylesEnabled = () => {
|
|
|
64
64
|
return isEventCatalogStarterEnabled() || isEventCatalogScaleEnabled();
|
|
65
65
|
};
|
|
66
66
|
|
|
67
|
-
export const isDiagramComparisonEnabled = () => isEventCatalogScaleEnabled();
|
|
68
|
-
|
|
69
67
|
export const isEventCatalogMCPEnabled = () => isEventCatalogScaleEnabled() && isSSR();
|
|
70
68
|
|
|
71
69
|
export const isEventCatalogMCPAuthEnabled = () => isEventCatalogMCPEnabled() && (config?.mcp?.auth?.enabled ?? false);
|
|
72
70
|
|
|
73
71
|
export const isIntegrationsEnabled = () => isEventCatalogScaleEnabled();
|
|
74
|
-
|
|
75
|
-
export const isExportPDFEnabled = () => true;
|
|
@@ -16,7 +16,6 @@ import {
|
|
|
16
16
|
isFullCatalogAPIEnabled,
|
|
17
17
|
isDevMode,
|
|
18
18
|
isIntegrationsEnabled,
|
|
19
|
-
isExportPDFEnabled,
|
|
20
19
|
isCustomDocsEnabled,
|
|
21
20
|
isSSR,
|
|
22
21
|
} from '../../utils/feature';
|
|
@@ -137,14 +136,6 @@ export default function eventCatalogIntegration(): AstroIntegration {
|
|
|
137
136
|
});
|
|
138
137
|
}
|
|
139
138
|
|
|
140
|
-
// Export to PDF print pages (Scale plan)
|
|
141
|
-
if (isExportPDFEnabled()) {
|
|
142
|
-
params.injectRoute({
|
|
143
|
-
pattern: '/docs/print/[type]/[id]/[version]',
|
|
144
|
-
entrypoint: path.join(catalogDirectory, 'src/enterprise/print/message.astro'),
|
|
145
|
-
});
|
|
146
|
-
}
|
|
147
|
-
|
|
148
139
|
// Fields Explorer (requires SSR — pages live outside src/pages to avoid static-mode auto-discovery)
|
|
149
140
|
if (isSSR()) {
|
|
150
141
|
params.injectRoute({
|
|
@@ -25,6 +25,7 @@ import { getNodesAndEdges as getNodesAndEdgesForDomain } from '@utils/node-graph
|
|
|
25
25
|
import { getNodesAndEdges as getNodesAndEdgesForFlows } from '@utils/node-graphs/flows-node-graph';
|
|
26
26
|
import { getNodesAndEdges as getNodesAndEdgesForDataProduct } from '@utils/node-graphs/data-products-node-graph';
|
|
27
27
|
import { getNodesAndEdges as getNodesAndEdgesForContainer } from '@utils/node-graphs/container-node-graph';
|
|
28
|
+
import { getNodesAndEdges as getNodesAndEdgesForSystem } from '@utils/node-graphs/systems-node-graph';
|
|
28
29
|
import { convertToMermaid } from '@utils/node-graphs/export-mermaid';
|
|
29
30
|
import config from '@config';
|
|
30
31
|
import { glob } from 'glob';
|
|
@@ -178,6 +179,7 @@ export const collectionSchema = z.enum([
|
|
|
178
179
|
'queries',
|
|
179
180
|
'flows',
|
|
180
181
|
'domains',
|
|
182
|
+
'systems',
|
|
181
183
|
'channels',
|
|
182
184
|
'entities',
|
|
183
185
|
'containers',
|
|
@@ -196,6 +198,7 @@ export const resourceCollectionSchema = z.enum([
|
|
|
196
198
|
'queries',
|
|
197
199
|
'flows',
|
|
198
200
|
'domains',
|
|
201
|
+
'systems',
|
|
199
202
|
'channels',
|
|
200
203
|
'entities',
|
|
201
204
|
'data-products',
|
|
@@ -208,6 +211,7 @@ export const visualiserCollectionSchema = z.enum([
|
|
|
208
211
|
'agents',
|
|
209
212
|
'services',
|
|
210
213
|
'domains',
|
|
214
|
+
'systems',
|
|
211
215
|
'flows',
|
|
212
216
|
'containers',
|
|
213
217
|
'data-products',
|
|
@@ -1028,6 +1032,7 @@ const getNodesAndEdgesFunctions = {
|
|
|
1028
1032
|
flows: getNodesAndEdgesForFlows,
|
|
1029
1033
|
containers: getNodesAndEdgesForContainer,
|
|
1030
1034
|
'data-products': getNodesAndEdgesForDataProduct,
|
|
1035
|
+
systems: getNodesAndEdgesForSystem,
|
|
1031
1036
|
};
|
|
1032
1037
|
|
|
1033
1038
|
/**
|
|
@@ -1125,5 +1130,5 @@ export const toolDescriptions = {
|
|
|
1125
1130
|
getDataProductOutputs:
|
|
1126
1131
|
'Use this tool to get the outputs (resources produced) for a data product. Returns fully hydrated output resources with their id, version, name, summary, collection type, and data contracts (if defined). Data contracts include the contract name, path, format, type, and content.',
|
|
1127
1132
|
getArchitectureDiagramAsMermaid:
|
|
1128
|
-
'Use this tool to get the architecture diagram for a resource as Mermaid flowchart code. This shows how the resource connects to other resources (agents, services, events, channels, etc.) in the architecture. The mermaid code can be rendered to visualize the architecture or used to understand relationships. Supported collections: events, commands, queries, agents, services, domains, flows, containers, data-products.',
|
|
1133
|
+
'Use this tool to get the architecture diagram for a resource as Mermaid flowchart code. This shows how the resource connects to other resources (agents, services, systems, events, channels, etc.) in the architecture. The mermaid code can be rendered to visualize the architecture or used to understand relationships. Supported collections: events, commands, queries, agents, services, domains, systems, flows, containers, data-products.',
|
|
1129
1134
|
};
|