@eventcatalog/core 3.36.5 → 3.38.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/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-2WL2AHTJ.js → chunk-ISACLDZD.js} +1 -1
- package/dist/{chunk-TGSOUKM7.js → chunk-MTJE3WRQ.js} +1 -1
- package/dist/{chunk-CZV4WMQ2.js → chunk-NMQNDJSA.js} +1 -1
- package/dist/{chunk-J3ZV5QI5.js → chunk-QQP5T27E.js} +1 -1
- package/dist/{chunk-VDTDZ4XR.js → chunk-WQWNABXQ.js} +1 -1
- package/dist/constants.cjs +1 -1
- package/dist/constants.js +1 -1
- package/dist/eventcatalog.cjs +1 -1
- 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/FieldsExplorer/FieldsTable.tsx +2 -8
- package/eventcatalog/src/components/MDX/Admonition.tsx +45 -35
- package/eventcatalog/src/components/MDX/MessageTable/MessageTable.client.tsx +2 -1
- package/eventcatalog/src/components/MDX/ResourceGroupTable/ResourceGroupTable.client.tsx +2 -1
- package/eventcatalog/src/components/MDX/ResourceLink/ResourceLink.astro +7 -1
- package/eventcatalog/src/components/MDX/ResourceRef/ResourceRef.astro +68 -47
- package/eventcatalog/src/components/Settings/LlmAccessSettingsForm.tsx +2 -4
- package/eventcatalog/src/components/SideNav/NestedSideBar/utils.ts +1 -0
- package/eventcatalog/src/components/Tables/Discover/columns.tsx +3 -16
- package/eventcatalog/src/components/Tables/columns/ContainersTableColumns.tsx +2 -2
- package/eventcatalog/src/components/Tables/columns/ServiceTableColumns.tsx +3 -2
- package/eventcatalog/src/components/Tables/columns/TeamsTableColumns.tsx +4 -14
- package/eventcatalog/src/components/Tables/columns/UserTableColumns.tsx +4 -14
- package/eventcatalog/src/enterprise/auth/middleware/middleware-auth.ts +8 -1
- package/eventcatalog/src/pages/docs/[type]/[id]/[version]/[docType]/[docId]/[docVersion]/index.astro +9 -27
- package/eventcatalog/src/pages/docs/[type]/[id]/[version]/[docType]/[docId]/index.astro +9 -27
- package/eventcatalog/src/pages/docs/[type]/[id]/[version]/graphql/[filename].astro +12 -28
- package/eventcatalog/src/pages/docs/[type]/[id]/[version]/index.astro +14 -33
- package/eventcatalog/src/pages/docs/[type]/[id]/[version].md.ts +2 -0
- package/eventcatalog/src/pages/docs/[type]/[id]/[version].mdx.ts +2 -0
- package/eventcatalog/src/pages/docs/llm/llms-full.txt.ts +6 -0
- package/eventcatalog/src/pages/docs/llm/llms.txt.ts +3 -0
- package/eventcatalog/src/pages/llms-full.txt.ts +1 -0
- package/eventcatalog/src/pages/llms.txt.ts +1 -0
- package/eventcatalog/src/pages/settings/llm-access.astro +2 -2
- package/eventcatalog/src/styles/tailwind.css +44 -26
- package/eventcatalog/src/styles/theme.css +4 -0
- package/eventcatalog/src/styles/themes/forest.css +4 -0
- package/eventcatalog/src/styles/themes/ocean.css +4 -0
- package/eventcatalog/src/styles/themes/sapphire.css +4 -0
- package/eventcatalog/src/styles/themes/sunset.css +4 -0
- package/eventcatalog/src/utils/collection-colors.ts +76 -0
- package/eventcatalog/src/utils/collections/icons.ts +2 -29
- package/eventcatalog/src/utils/resource-reference-colors.ts +49 -0
- package/package.json +3 -3
|
@@ -4,26 +4,13 @@ import { DocumentTextIcon, MapIcon } from '@heroicons/react/24/solid';
|
|
|
4
4
|
import { ArrowDownIcon, ArrowUpIcon, EllipsisVerticalIcon, StarIcon } from '@heroicons/react/24/outline';
|
|
5
5
|
import { buildUrl } from '@utils/url-builder';
|
|
6
6
|
import { getColorAndIconForCollection } from '@utils/collections/icons';
|
|
7
|
+
import { getCollectionTextColorClass } from '@utils/collection-colors';
|
|
7
8
|
import { isIconPath, resolveIconUrl } from '@utils/icon';
|
|
8
9
|
import { useStore } from '@nanostores/react';
|
|
9
10
|
import { favoritesStore, toggleFavorite, type FavoriteItem } from '../../../stores/favorites-store';
|
|
10
11
|
import type { DiscoverTableData, CollectionType } from './DiscoverTable';
|
|
11
12
|
import type { TableConfiguration } from '@types';
|
|
12
13
|
|
|
13
|
-
// Color mapping to ensure Tailwind classes are included in the build
|
|
14
|
-
const colorClasses: Record<string, string> = {
|
|
15
|
-
orange: 'text-orange-500',
|
|
16
|
-
blue: 'text-blue-500',
|
|
17
|
-
green: 'text-green-500',
|
|
18
|
-
pink: 'text-pink-500',
|
|
19
|
-
yellow: 'text-yellow-500',
|
|
20
|
-
teal: 'text-teal-500',
|
|
21
|
-
purple: 'text-purple-500',
|
|
22
|
-
red: 'text-red-500',
|
|
23
|
-
gray: 'text-gray-500',
|
|
24
|
-
cyan: 'text-cyan-500',
|
|
25
|
-
};
|
|
26
|
-
|
|
27
14
|
const columnHelper = createColumnHelper<DiscoverTableData>();
|
|
28
15
|
|
|
29
16
|
// Badge cell component (proper React component to use hooks)
|
|
@@ -80,7 +67,7 @@ const ResourceNameCell = ({ item }: { item: DiscoverTableData }) => {
|
|
|
80
67
|
{resourceIconUrl ? (
|
|
81
68
|
<img src={resourceIconUrl} alt="" className="h-5 w-5 flex-shrink-0 rounded-sm object-contain" />
|
|
82
69
|
) : (
|
|
83
|
-
<Icon className={`h-4 w-4 flex-shrink-0 ${
|
|
70
|
+
<Icon className={`h-4 w-4 flex-shrink-0 ${getCollectionTextColorClass(color, 'text-[rgb(var(--ec-icon-color))]')}`} />
|
|
84
71
|
)}
|
|
85
72
|
<span className="text-sm font-semibold text-[rgb(var(--ec-page-text))] group-hover:text-[rgb(var(--ec-accent))]">
|
|
86
73
|
{item.data.name}
|
|
@@ -248,7 +235,7 @@ const CollectionListCell = ({
|
|
|
248
235
|
href={buildUrl(`/docs/${item.collection}/${item.data.id}/${item.data.version}`)}
|
|
249
236
|
className="group inline-flex items-center gap-1.5 text-[0.8rem] text-[rgb(var(--ec-icon-color))] hover:text-[rgb(var(--ec-accent))] transition-colors"
|
|
250
237
|
>
|
|
251
|
-
<item.Icon className={`h-3.5 w-3.5 ${
|
|
238
|
+
<item.Icon className={`h-3.5 w-3.5 ${getCollectionTextColorClass(item.color)} flex-shrink-0`} />
|
|
252
239
|
<span className="truncate max-w-[120px]" title={item.data.name}>
|
|
253
240
|
{item.data.name}
|
|
254
241
|
</span>
|
|
@@ -21,8 +21,8 @@ export const columns = (tableConfiguration: TableConfiguration) => [
|
|
|
21
21
|
href={buildUrl(`/docs/${containerRaw.collection}/${containerRaw.data.id}/${containerRaw.data.version}`)}
|
|
22
22
|
className="group inline-flex items-center"
|
|
23
23
|
>
|
|
24
|
-
<span className="inline-flex items-center rounded-md border border-[rgb(var(--ec-page-border))] bg-[rgb(var(--ec-card-bg,var(--ec-page-bg)))] hover:border-
|
|
25
|
-
<span className="flex items-center justify-center w-6 h-6 bg-
|
|
24
|
+
<span className="inline-flex items-center rounded-md border border-[rgb(var(--ec-page-border))] bg-[rgb(var(--ec-card-bg,var(--ec-page-bg)))] hover:border-indigo-400 dark:hover:border-indigo-500 hover:bg-indigo-50 dark:hover:bg-indigo-500/10 transition-colors">
|
|
25
|
+
<span className="flex items-center justify-center w-6 h-6 bg-indigo-500 rounded-l-md">
|
|
26
26
|
<DatabaseIcon className="h-3 w-3 text-white" />
|
|
27
27
|
</span>
|
|
28
28
|
<span className="px-2 py-1 text-xs text-[rgb(var(--ec-page-text))] group-hover:text-[rgb(var(--ec-page-text))]">
|
|
@@ -5,6 +5,7 @@ import { useMemo, useState } from 'react';
|
|
|
5
5
|
import { filterByName, filterCollectionByName } from '../filters/custom-filters';
|
|
6
6
|
import { buildUrl } from '@utils/url-builder';
|
|
7
7
|
import { getColorAndIconForCollection } from '@utils/collections/icons';
|
|
8
|
+
import { getCollectionTextColorClass } from '@utils/collection-colors';
|
|
8
9
|
import { createBadgesColumn } from './SharedColumns';
|
|
9
10
|
import FavoriteButton from '@components/FavoriteButton';
|
|
10
11
|
import type { TData } from '../Table';
|
|
@@ -95,7 +96,7 @@ export const columns = (tableConfiguration: TableConfiguration) => [
|
|
|
95
96
|
href={buildUrl(`/docs/${consumer.collection}/${consumer.data.id}/${consumer.data.version}`)}
|
|
96
97
|
className="group inline-flex items-center gap-1.5 text-xs hover:text-[rgb(var(--ec-accent))] transition-colors"
|
|
97
98
|
>
|
|
98
|
-
<consumer.Icon className={`h-3.5 w-3.5
|
|
99
|
+
<consumer.Icon className={`h-3.5 w-3.5 ${getCollectionTextColorClass(consumer.color)} flex-shrink-0`} />
|
|
99
100
|
<span className="truncate max-w-[120px]" title={consumer.data.name}>
|
|
100
101
|
{consumer.data.name}
|
|
101
102
|
</span>
|
|
@@ -154,7 +155,7 @@ export const columns = (tableConfiguration: TableConfiguration) => [
|
|
|
154
155
|
href={buildUrl(`/docs/${sender.collection}/${sender.data.id}/${sender.data.version}`)}
|
|
155
156
|
className="group inline-flex items-center gap-1.5 text-xs hover:text-[rgb(var(--ec-accent))] transition-colors"
|
|
156
157
|
>
|
|
157
|
-
<sender.Icon className={`h-3.5 w-3.5
|
|
158
|
+
<sender.Icon className={`h-3.5 w-3.5 ${getCollectionTextColorClass(sender.color)} flex-shrink-0`} />
|
|
158
159
|
<span className="truncate max-w-[120px]" title={sender.data.name}>
|
|
159
160
|
{sender.data.name}
|
|
160
161
|
</span>
|
|
@@ -6,21 +6,9 @@ import type { TData } from '../Table';
|
|
|
6
6
|
import type { CollectionUserTypes } from '@types';
|
|
7
7
|
import type { TableConfiguration } from '@types';
|
|
8
8
|
import { getColorAndIconForCollection } from '@utils/collections/icons';
|
|
9
|
+
import { getCollectionTextColorClass } from '@utils/collection-colors';
|
|
9
10
|
const columnHelper = createColumnHelper<TData<CollectionUserTypes>>();
|
|
10
11
|
|
|
11
|
-
const colorClasses: Record<string, string> = {
|
|
12
|
-
orange: 'text-orange-500',
|
|
13
|
-
blue: 'text-blue-500',
|
|
14
|
-
green: 'text-green-500',
|
|
15
|
-
pink: 'text-pink-500',
|
|
16
|
-
yellow: 'text-yellow-500',
|
|
17
|
-
teal: 'text-teal-500',
|
|
18
|
-
purple: 'text-purple-500',
|
|
19
|
-
red: 'text-red-500',
|
|
20
|
-
gray: 'text-gray-500',
|
|
21
|
-
cyan: 'text-cyan-500',
|
|
22
|
-
};
|
|
23
|
-
|
|
24
12
|
const CollectionListCell = ({
|
|
25
13
|
items,
|
|
26
14
|
emptyText,
|
|
@@ -49,7 +37,9 @@ const CollectionListCell = ({
|
|
|
49
37
|
href={href}
|
|
50
38
|
className="group inline-flex items-center gap-1.5 text-[0.8rem] text-[rgb(var(--ec-icon-color))] transition-colors hover:text-[rgb(var(--ec-accent))]"
|
|
51
39
|
>
|
|
52
|
-
<Icon
|
|
40
|
+
<Icon
|
|
41
|
+
className={`h-3.5 w-3.5 flex-shrink-0 ${getCollectionTextColorClass(color, 'text-[rgb(var(--ec-icon-color))]')}`}
|
|
42
|
+
/>
|
|
53
43
|
<span className="max-w-[140px] truncate" title={item.data.name}>
|
|
54
44
|
{item.data.name}
|
|
55
45
|
</span>
|
|
@@ -6,21 +6,9 @@ import type { TData } from '../Table';
|
|
|
6
6
|
import type { CollectionUserTypes } from '@types';
|
|
7
7
|
import type { TableConfiguration } from '@types';
|
|
8
8
|
import { getColorAndIconForCollection } from '@utils/collections/icons';
|
|
9
|
+
import { getCollectionTextColorClass } from '@utils/collection-colors';
|
|
9
10
|
const columnHelper = createColumnHelper<TData<CollectionUserTypes>>();
|
|
10
11
|
|
|
11
|
-
const colorClasses: Record<string, string> = {
|
|
12
|
-
orange: 'text-orange-500',
|
|
13
|
-
blue: 'text-blue-500',
|
|
14
|
-
green: 'text-green-500',
|
|
15
|
-
pink: 'text-pink-500',
|
|
16
|
-
yellow: 'text-yellow-500',
|
|
17
|
-
teal: 'text-teal-500',
|
|
18
|
-
purple: 'text-purple-500',
|
|
19
|
-
red: 'text-red-500',
|
|
20
|
-
gray: 'text-gray-500',
|
|
21
|
-
cyan: 'text-cyan-500',
|
|
22
|
-
};
|
|
23
|
-
|
|
24
12
|
const CollectionListCell = ({
|
|
25
13
|
items,
|
|
26
14
|
emptyText,
|
|
@@ -52,7 +40,9 @@ const CollectionListCell = ({
|
|
|
52
40
|
href={href}
|
|
53
41
|
className="group inline-flex items-center gap-1.5 text-[0.8rem] text-[rgb(var(--ec-icon-color))] transition-colors hover:text-[rgb(var(--ec-accent))]"
|
|
54
42
|
>
|
|
55
|
-
<Icon
|
|
43
|
+
<Icon
|
|
44
|
+
className={`h-3.5 w-3.5 flex-shrink-0 ${getCollectionTextColorClass(color, 'text-[rgb(var(--ec-icon-color))]')}`}
|
|
45
|
+
/>
|
|
56
46
|
<span className="max-w-[140px] truncate" title={item.data.name}>
|
|
57
47
|
{item.data.name}
|
|
58
48
|
</span>
|
|
@@ -87,7 +87,14 @@ export function getPublicRoutes(isLLMSTextEnabled: boolean) {
|
|
|
87
87
|
return publicRoutes;
|
|
88
88
|
}
|
|
89
89
|
|
|
90
|
-
return [
|
|
90
|
+
return [
|
|
91
|
+
...publicRoutes,
|
|
92
|
+
'/llms.txt',
|
|
93
|
+
'/llms-full.txt',
|
|
94
|
+
'/docs/llm/llms.txt',
|
|
95
|
+
'/docs/llm/llms-full.txt',
|
|
96
|
+
'/docs/llm/schemas.txt',
|
|
97
|
+
];
|
|
91
98
|
}
|
|
92
99
|
|
|
93
100
|
export const authMiddleware: MiddlewareHandler = async (context, next) => {
|
package/eventcatalog/src/pages/docs/[type]/[id]/[version]/[docType]/[docId]/[docVersion]/index.astro
CHANGED
|
@@ -2,6 +2,7 @@
|
|
|
2
2
|
import { render } from 'astro:content';
|
|
3
3
|
|
|
4
4
|
import VerticalSideBarLayout from '@layouts/VerticalSideBarLayout.astro';
|
|
5
|
+
import Admonition from '@components/MDX/Admonition';
|
|
5
6
|
import components from '@components/MDX/components';
|
|
6
7
|
import CopyAsMarkdown from '@components/CopyAsMarkdown';
|
|
7
8
|
import { buildUrl } from '@utils/url-builder';
|
|
@@ -99,33 +100,14 @@ const pagefindAttributes =
|
|
|
99
100
|
<div data-pagefind-ignore>
|
|
100
101
|
{
|
|
101
102
|
props.data.version !== props.data.latestVersion && (
|
|
102
|
-
<
|
|
103
|
-
<
|
|
104
|
-
<
|
|
105
|
-
|
|
106
|
-
|
|
107
|
-
|
|
108
|
-
|
|
109
|
-
|
|
110
|
-
/>
|
|
111
|
-
</svg>
|
|
112
|
-
</div>
|
|
113
|
-
<div class="ml-3">
|
|
114
|
-
<h3 class="text-sm font-medium text-[rgb(var(--ec-accent-text))]">New version found</h3>
|
|
115
|
-
<div class="mt-2 text-sm text-[rgb(var(--ec-accent-text))]">
|
|
116
|
-
<p>
|
|
117
|
-
You are looking at a previous version of the {singularResourceName} doc <strong>{title}</strong>.{' '}
|
|
118
|
-
<a
|
|
119
|
-
class="underline hover:text-primary block pt-2"
|
|
120
|
-
href={buildUrl(`${docsBasePath}/${props.data.latestVersion}`)}
|
|
121
|
-
>
|
|
122
|
-
The latest version of this doc is <span>v{props.data.latestVersion}</span> →
|
|
123
|
-
</a>
|
|
124
|
-
</p>
|
|
125
|
-
</div>
|
|
126
|
-
</div>
|
|
127
|
-
</div>
|
|
128
|
-
</div>
|
|
103
|
+
<Admonition type="warning" title="New version found">
|
|
104
|
+
<p>
|
|
105
|
+
You are looking at a previous version of the {singularResourceName} doc <strong>{title}</strong>.{' '}
|
|
106
|
+
<a class="underline block pt-2" href={buildUrl(`${docsBasePath}/${props.data.latestVersion}`)}>
|
|
107
|
+
The latest version of this doc is <span>v{props.data.latestVersion}</span> →
|
|
108
|
+
</a>
|
|
109
|
+
</p>
|
|
110
|
+
</Admonition>
|
|
129
111
|
)
|
|
130
112
|
}
|
|
131
113
|
</div>
|
|
@@ -2,6 +2,7 @@
|
|
|
2
2
|
import { render } from 'astro:content';
|
|
3
3
|
|
|
4
4
|
import VerticalSideBarLayout from '@layouts/VerticalSideBarLayout.astro';
|
|
5
|
+
import Admonition from '@components/MDX/Admonition';
|
|
5
6
|
import components from '@components/MDX/components';
|
|
6
7
|
import CopyAsMarkdown from '@components/CopyAsMarkdown';
|
|
7
8
|
import { buildUrl } from '@utils/url-builder';
|
|
@@ -93,33 +94,14 @@ const pagefindAttributes =
|
|
|
93
94
|
<div data-pagefind-ignore>
|
|
94
95
|
{
|
|
95
96
|
props.data.version !== props.data.latestVersion && (
|
|
96
|
-
<
|
|
97
|
-
<
|
|
98
|
-
<
|
|
99
|
-
|
|
100
|
-
|
|
101
|
-
|
|
102
|
-
|
|
103
|
-
|
|
104
|
-
/>
|
|
105
|
-
</svg>
|
|
106
|
-
</div>
|
|
107
|
-
<div class="ml-3">
|
|
108
|
-
<h3 class="text-sm font-medium text-[rgb(var(--ec-accent-text))]">New version found</h3>
|
|
109
|
-
<div class="mt-2 text-sm text-[rgb(var(--ec-accent-text))]">
|
|
110
|
-
<p>
|
|
111
|
-
You are looking at a previous version of the {singularResourceName} doc <strong>{title}</strong>.{' '}
|
|
112
|
-
<a
|
|
113
|
-
class="underline hover:text-primary block pt-2"
|
|
114
|
-
href={buildUrl(`${docsBasePath}/${props.data.latestVersion}`)}
|
|
115
|
-
>
|
|
116
|
-
The latest version of this doc is <span>v{props.data.latestVersion}</span> →
|
|
117
|
-
</a>
|
|
118
|
-
</p>
|
|
119
|
-
</div>
|
|
120
|
-
</div>
|
|
121
|
-
</div>
|
|
122
|
-
</div>
|
|
97
|
+
<Admonition type="warning" title="New version found">
|
|
98
|
+
<p>
|
|
99
|
+
You are looking at a previous version of the {singularResourceName} doc <strong>{title}</strong>.{' '}
|
|
100
|
+
<a class="underline block pt-2" href={buildUrl(`${docsBasePath}/${props.data.latestVersion}`)}>
|
|
101
|
+
The latest version of this doc is <span>v{props.data.latestVersion}</span> →
|
|
102
|
+
</a>
|
|
103
|
+
</p>
|
|
104
|
+
</Admonition>
|
|
123
105
|
)
|
|
124
106
|
}
|
|
125
107
|
</div>
|
|
@@ -109,34 +109,18 @@ const pagefindAttributes =
|
|
|
109
109
|
<div data-pagefind-ignore>
|
|
110
110
|
{
|
|
111
111
|
data.version !== data.latestVersion && (
|
|
112
|
-
<
|
|
113
|
-
<
|
|
114
|
-
<
|
|
115
|
-
|
|
116
|
-
|
|
117
|
-
|
|
118
|
-
|
|
119
|
-
|
|
120
|
-
|
|
121
|
-
|
|
122
|
-
|
|
123
|
-
|
|
124
|
-
<h3 class="text-sm font-medium text-[rgb(var(--ec-accent-text))]">New version found</h3>
|
|
125
|
-
<div class="mt-2 text-sm text-[rgb(var(--ec-accent-text))]">
|
|
126
|
-
<p>
|
|
127
|
-
You are looking at a previous version of the service <strong>{data.name}</strong>.{' '}
|
|
128
|
-
<a
|
|
129
|
-
class="underline hover:text-primary block pt-2"
|
|
130
|
-
href={buildUrl(`/docs/${collection}/${data.id}/${data.latestVersion}/graphql/${filename}`)}
|
|
131
|
-
>
|
|
132
|
-
The latest version of this GraphQL schema is
|
|
133
|
-
<span>v{data.latestVersion}</span> →
|
|
134
|
-
</a>
|
|
135
|
-
</p>
|
|
136
|
-
</div>
|
|
137
|
-
</div>
|
|
138
|
-
</div>
|
|
139
|
-
</div>
|
|
112
|
+
<Admonition type="warning" title="New version found">
|
|
113
|
+
<p>
|
|
114
|
+
You are looking at a previous version of the service <strong>{data.name}</strong>.{' '}
|
|
115
|
+
<a
|
|
116
|
+
class="underline block pt-2"
|
|
117
|
+
href={buildUrl(`/docs/${collection}/${data.id}/${data.latestVersion}/graphql/${filename}`)}
|
|
118
|
+
>
|
|
119
|
+
The latest version of this GraphQL schema is
|
|
120
|
+
<span>v{data.latestVersion}</span> →
|
|
121
|
+
</a>
|
|
122
|
+
</p>
|
|
123
|
+
</Admonition>
|
|
140
124
|
)
|
|
141
125
|
}
|
|
142
126
|
</div>
|
|
@@ -349,10 +349,7 @@ if (!hasCurrentFlowEmbed && !hasCurrentPageNodeGraph) {
|
|
|
349
349
|
)
|
|
350
350
|
}
|
|
351
351
|
<div class="flex items-center gap-2">
|
|
352
|
-
<h2
|
|
353
|
-
id="doc-page-header"
|
|
354
|
-
class={`text-2xl md:text-4xl font-bold text-[rgb(var(--ec-page-text))] ${props.data.deprecated && hasDeprecated ? 'text-red-500' : ''}`}
|
|
355
|
-
>
|
|
352
|
+
<h2 id="doc-page-header" class="text-2xl md:text-4xl font-bold text-[rgb(var(--ec-page-text))]">
|
|
356
353
|
{props.data.name}
|
|
357
354
|
{props.data.latestVersion !== props.data.version && <span>(v{props.data.version})</span>}
|
|
358
355
|
</h2>
|
|
@@ -485,35 +482,19 @@ if (!hasCurrentFlowEmbed && !hasCurrentPageNodeGraph) {
|
|
|
485
482
|
<div data-pagefind-ignore>
|
|
486
483
|
{
|
|
487
484
|
props.data.version !== props.data.latestVersion && (
|
|
488
|
-
<
|
|
489
|
-
<
|
|
490
|
-
|
|
491
|
-
|
|
492
|
-
|
|
493
|
-
|
|
494
|
-
|
|
495
|
-
|
|
496
|
-
|
|
497
|
-
</
|
|
498
|
-
</
|
|
499
|
-
|
|
500
|
-
|
|
501
|
-
<div class="mt-2 text-sm text-[rgb(var(--ec-accent-text))]">
|
|
502
|
-
<p>
|
|
503
|
-
You are looking at a previous version of the {props.collection.slice(0, props.collection.length - 1)}{' '}
|
|
504
|
-
<strong>{props.data.name}</strong>.{' '}
|
|
505
|
-
<a
|
|
506
|
-
class="underline hover:text-primary block pt-2"
|
|
507
|
-
href={buildUrl(`/docs/${props.collection}/${props.data.id}/${props.data.latestVersion}`)}
|
|
508
|
-
>
|
|
509
|
-
The latest version of this {props.collection.slice(0, props.collection.length - 1)} is
|
|
510
|
-
<span>v{props.data.latestVersion}</span> →
|
|
511
|
-
</a>
|
|
512
|
-
</p>
|
|
513
|
-
</div>
|
|
514
|
-
</div>
|
|
515
|
-
</div>
|
|
516
|
-
</div>
|
|
485
|
+
<Admonition type="warning" title="New version found">
|
|
486
|
+
<p>
|
|
487
|
+
You are looking at a previous version of the {props.collection.slice(0, props.collection.length - 1)}{' '}
|
|
488
|
+
<strong>{props.data.name}</strong>.{' '}
|
|
489
|
+
<a
|
|
490
|
+
class="underline block pt-2"
|
|
491
|
+
href={buildUrl(`/docs/${props.collection}/${props.data.id}/${props.data.latestVersion}`)}
|
|
492
|
+
>
|
|
493
|
+
The latest version of this {props.collection.slice(0, props.collection.length - 1)} is
|
|
494
|
+
<span>v{props.data.latestVersion}</span> →
|
|
495
|
+
</a>
|
|
496
|
+
</p>
|
|
497
|
+
</Admonition>
|
|
517
498
|
)
|
|
518
499
|
}
|
|
519
500
|
</div>
|
|
@@ -14,6 +14,7 @@ const events = await getCollection('events');
|
|
|
14
14
|
const commands = await getCollection('commands');
|
|
15
15
|
const queries = await getCollection('queries');
|
|
16
16
|
const services = await getCollection('services');
|
|
17
|
+
const dataProducts = await getCollection('data-products');
|
|
17
18
|
const domains = await getCollection('domains');
|
|
18
19
|
const flows = await getCollection('flows');
|
|
19
20
|
const channels = await getCollection('channels');
|
|
@@ -25,6 +26,7 @@ const collections = {
|
|
|
25
26
|
commands,
|
|
26
27
|
queries,
|
|
27
28
|
services,
|
|
29
|
+
'data-products': dataProducts,
|
|
28
30
|
domains,
|
|
29
31
|
flows,
|
|
30
32
|
channels,
|
|
@@ -12,6 +12,7 @@ const events = await getCollection('events');
|
|
|
12
12
|
const commands = await getCollection('commands');
|
|
13
13
|
const queries = await getCollection('queries');
|
|
14
14
|
const services = await getCollection('services');
|
|
15
|
+
const dataProducts = await getCollection('data-products');
|
|
15
16
|
const domains = await getCollection('domains');
|
|
16
17
|
const flows = await getCollection('flows');
|
|
17
18
|
const channels = await getCollection('channels');
|
|
@@ -25,6 +26,7 @@ const collections = {
|
|
|
25
26
|
commands,
|
|
26
27
|
queries,
|
|
27
28
|
services,
|
|
29
|
+
'data-products': dataProducts,
|
|
28
30
|
domains,
|
|
29
31
|
flows,
|
|
30
32
|
channels,
|
|
@@ -9,6 +9,7 @@ type AllowedCollections =
|
|
|
9
9
|
| 'commands'
|
|
10
10
|
| 'queries'
|
|
11
11
|
| 'services'
|
|
12
|
+
| 'data-products'
|
|
12
13
|
| 'domains'
|
|
13
14
|
| 'teams'
|
|
14
15
|
| 'users'
|
|
@@ -17,12 +18,14 @@ type AllowedCollections =
|
|
|
17
18
|
| 'entities'
|
|
18
19
|
| 'flows'
|
|
19
20
|
| 'containers'
|
|
21
|
+
| 'ubiquitousLanguages'
|
|
20
22
|
| 'resourceDocs';
|
|
21
23
|
|
|
22
24
|
const events = await getCollection('events');
|
|
23
25
|
const commands = await getCollection('commands');
|
|
24
26
|
const queries = await getCollection('queries');
|
|
25
27
|
const services = await getCollection('services');
|
|
28
|
+
const dataProducts = await getCollection('data-products');
|
|
26
29
|
const domains = await getCollection('domains');
|
|
27
30
|
const teams = await getCollection('teams');
|
|
28
31
|
const users = await getCollection('users');
|
|
@@ -30,6 +33,7 @@ const entities = await getCollection('entities');
|
|
|
30
33
|
const channels = await getCollection('channels');
|
|
31
34
|
const flows = await getCollection('flows');
|
|
32
35
|
const containers = await getCollection('containers');
|
|
36
|
+
const ubiquitousLanguages = await getCollection('ubiquitousLanguages');
|
|
33
37
|
const customDocs = await getCollection('customPages');
|
|
34
38
|
const resourceDocs = isResourceDocsEnabled() ? await getCollection('resourceDocs') : [];
|
|
35
39
|
|
|
@@ -43,6 +47,7 @@ export const GET: APIRoute = async ({ params, request }) => {
|
|
|
43
47
|
...commands,
|
|
44
48
|
...queries,
|
|
45
49
|
...services,
|
|
50
|
+
...dataProducts,
|
|
46
51
|
...domains,
|
|
47
52
|
...teams,
|
|
48
53
|
...users,
|
|
@@ -50,6 +55,7 @@ export const GET: APIRoute = async ({ params, request }) => {
|
|
|
50
55
|
...channels,
|
|
51
56
|
...containers,
|
|
52
57
|
...flows,
|
|
58
|
+
...ubiquitousLanguages,
|
|
53
59
|
];
|
|
54
60
|
|
|
55
61
|
if (isCustomDocsEnabled()) {
|
|
@@ -11,6 +11,7 @@ const commands = await getCollection('commands');
|
|
|
11
11
|
const queries = await getCollection('queries');
|
|
12
12
|
|
|
13
13
|
const services = await getCollection('services');
|
|
14
|
+
const dataProducts = await getCollection('data-products');
|
|
14
15
|
const domains = await getCollection('domains');
|
|
15
16
|
|
|
16
17
|
const teams = await getCollection('teams');
|
|
@@ -141,6 +142,8 @@ export const GET: APIRoute = async ({ params, request }) => {
|
|
|
141
142
|
queries.map((item) => formatVersionedItem(item, 'queries')).join(''),
|
|
142
143
|
'\n## Services',
|
|
143
144
|
services.map((item) => formatVersionedItem(item, 'services')).join(''),
|
|
145
|
+
'\n## Data Products',
|
|
146
|
+
dataProducts.map((item) => formatVersionedItem(item, 'data-products')).join('\n'),
|
|
144
147
|
'\n## Domains',
|
|
145
148
|
domains.map((item) => formatVersionedItem(item, 'domains')).join(''),
|
|
146
149
|
'\n## Flows',
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
export { GET } from './docs/llm/llms-full.txt.ts';
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
export { GET } from './docs/llm/llms.txt.ts';
|
|
@@ -15,8 +15,8 @@ const initial = {
|
|
|
15
15
|
const hasScalePlan = isEventCatalogScaleEnabled();
|
|
16
16
|
|
|
17
17
|
const apiBase = buildUrl('/api/settings');
|
|
18
|
-
const llmsTxtUrl = buildUrl('/
|
|
19
|
-
const llmsFullTxtUrl = buildUrl('/
|
|
18
|
+
const llmsTxtUrl = buildUrl('/llms.txt');
|
|
19
|
+
const llmsFullTxtUrl = buildUrl('/llms-full.txt');
|
|
20
20
|
const schemasTxtUrl = buildUrl('/docs/llm/schemas.txt');
|
|
21
21
|
---
|
|
22
22
|
|
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
@import
|
|
1
|
+
@import 'tailwindcss';
|
|
2
2
|
|
|
3
3
|
@plugin "@tailwindcss/typography";
|
|
4
4
|
|
|
@@ -24,23 +24,41 @@
|
|
|
24
24
|
--animate-contentShow: contentShow 200ms ease-out;
|
|
25
25
|
|
|
26
26
|
@keyframes progress-bar {
|
|
27
|
-
0% {
|
|
28
|
-
|
|
27
|
+
0% {
|
|
28
|
+
transform: translateX(-100%);
|
|
29
|
+
}
|
|
30
|
+
100% {
|
|
31
|
+
transform: translateX(100%);
|
|
32
|
+
}
|
|
29
33
|
}
|
|
30
34
|
|
|
31
35
|
@keyframes progress-bar-reverse {
|
|
32
|
-
0% {
|
|
33
|
-
|
|
36
|
+
0% {
|
|
37
|
+
transform: translateX(100%);
|
|
38
|
+
}
|
|
39
|
+
100% {
|
|
40
|
+
transform: translateX(-100%);
|
|
41
|
+
}
|
|
34
42
|
}
|
|
35
43
|
|
|
36
44
|
@keyframes overlayShow {
|
|
37
|
-
from {
|
|
38
|
-
|
|
45
|
+
from {
|
|
46
|
+
opacity: 0;
|
|
47
|
+
}
|
|
48
|
+
to {
|
|
49
|
+
opacity: 1;
|
|
50
|
+
}
|
|
39
51
|
}
|
|
40
52
|
|
|
41
53
|
@keyframes contentShow {
|
|
42
|
-
from {
|
|
43
|
-
|
|
54
|
+
from {
|
|
55
|
+
opacity: 0;
|
|
56
|
+
transform: scale(0.96);
|
|
57
|
+
}
|
|
58
|
+
to {
|
|
59
|
+
opacity: 1;
|
|
60
|
+
transform: scale(1);
|
|
61
|
+
}
|
|
44
62
|
}
|
|
45
63
|
}
|
|
46
64
|
|
|
@@ -49,20 +67,20 @@
|
|
|
49
67
|
* at runtime (e.g. `bg-${color}-50`). Tailwind v4 can't detect these from source
|
|
50
68
|
* scanning, so we explicitly declare them here.
|
|
51
69
|
*
|
|
52
|
-
* Colors used: orange, blue, green, emerald, amber, violet, pink, purple, gray, yellow, teal
|
|
70
|
+
* Colors used: orange, blue, green, emerald, amber, violet, pink, purple, gray, yellow, teal, cyan, indigo
|
|
53
71
|
* Used in: SchemaListItem, Grids/components, SchemaExplorer, MessageGrid
|
|
54
72
|
*/
|
|
55
|
-
@source inline("bg-{orange,blue,green,emerald,amber,violet,pink,purple,gray}-{50,100}");
|
|
56
|
-
@source inline("bg-{orange,blue,green,emerald,amber,violet,pink,purple,gray}-500/{10,20}");
|
|
57
|
-
@source inline("text-{orange,blue,green,emerald,amber,violet,pink,purple,gray}-{400,500,600,700}");
|
|
58
|
-
@source inline("border-l-{orange,blue,green,emerald,amber,violet,pink,purple,gray}-500");
|
|
73
|
+
@source inline("bg-{orange,blue,green,emerald,amber,violet,pink,purple,gray,yellow,teal,cyan,indigo}-{50,100}");
|
|
74
|
+
@source inline("bg-{orange,blue,green,emerald,amber,violet,pink,purple,gray,yellow,teal,cyan,indigo}-500/{10,20}");
|
|
75
|
+
@source inline("text-{orange,blue,green,emerald,amber,violet,pink,purple,gray,yellow,teal,cyan,indigo}-{400,500,600,700}");
|
|
76
|
+
@source inline("border-l-{orange,blue,green,emerald,amber,violet,pink,purple,gray,yellow,teal,cyan,indigo}-500");
|
|
59
77
|
@source inline("ring-2");
|
|
60
|
-
@source inline("ring-{orange,blue,green,emerald,amber,violet,pink,purple,gray}-500");
|
|
78
|
+
@source inline("ring-{orange,blue,green,emerald,amber,violet,pink,purple,gray,yellow,teal,cyan,indigo}-500");
|
|
61
79
|
|
|
62
80
|
/* Border color variants for MessageGrid cards */
|
|
63
|
-
@source inline("border-{orange,blue,green,emerald,amber,violet,pink,purple,gray}-{200,300}");
|
|
64
|
-
@source inline("{dark:,}border-{orange,blue,green,emerald,amber,violet,pink,purple,gray}-500/{30,50}");
|
|
65
|
-
@source inline("{hover:,dark:hover:,}border-{orange,blue,green,emerald,amber,violet,pink,purple,gray,yellow,teal}-{300,400,500,500/50}");
|
|
81
|
+
@source inline("border-{orange,blue,green,emerald,amber,violet,pink,purple,gray,yellow,teal,cyan,indigo}-{200,300}");
|
|
82
|
+
@source inline("{dark:,}border-{orange,blue,green,emerald,amber,violet,pink,purple,gray,yellow,teal,cyan,indigo}-500/{30,50}");
|
|
83
|
+
@source inline("{hover:,dark:hover:,}border-{orange,blue,green,emerald,amber,violet,pink,purple,gray,yellow,teal,cyan,indigo}-{300,400,500,500/50}");
|
|
66
84
|
|
|
67
85
|
/* Explicit safelist classes used in various components */
|
|
68
86
|
@source inline("bg-{blue,orange}-600");
|
|
@@ -72,13 +90,13 @@
|
|
|
72
90
|
@source inline("text-[5px] text-[9px] min-h-[100px]");
|
|
73
91
|
|
|
74
92
|
/* Gradient classes for dynamic colors */
|
|
75
|
-
@source inline("from-{orange,blue,green,emerald,amber,violet,pink,purple,gray}-{100,200,300,400,500,600,700}");
|
|
76
|
-
@source inline("to-{orange,blue,green,emerald,amber,violet,pink,purple,gray}-{100,200,300,400,500,600,700}");
|
|
93
|
+
@source inline("from-{orange,blue,green,emerald,amber,violet,pink,purple,gray,yellow,teal,cyan,indigo}-{100,200,300,400,500,600,700}");
|
|
94
|
+
@source inline("to-{orange,blue,green,emerald,amber,violet,pink,purple,gray,yellow,teal,cyan,indigo}-{100,200,300,400,500,600,700}");
|
|
77
95
|
|
|
78
96
|
/* Dark variant safelist for dynamic colors */
|
|
79
|
-
@source inline("{dark:,}bg-{orange,blue,green,emerald,amber,violet,pink,purple,gray}-{100,200,400,500}");
|
|
80
|
-
@source inline("{dark:,}bg-{orange,blue,green,emerald,amber,violet,pink,purple,gray}-500/{20,30}");
|
|
81
|
-
@source inline("{dark:,}text-{orange,blue,green,emerald,amber,violet,pink,purple,gray}-{100,300,400,500,800}");
|
|
82
|
-
@source inline("{dark:,group-hover:,}text-{orange,blue,green,emerald,amber,violet,pink,purple,gray}-{100,300,400,500,600,800}");
|
|
83
|
-
@source inline("{dark:,}ring-{orange,blue,green,emerald,amber,violet,pink,purple,gray}-500/30");
|
|
84
|
-
@source inline("{group-hover:,dark:group-hover:,}text-{orange,blue,green,emerald,amber,violet,pink,purple,gray}-{400,600}");
|
|
97
|
+
@source inline("{dark:,}bg-{orange,blue,green,emerald,amber,violet,pink,purple,gray,yellow,teal,cyan,indigo}-{100,200,400,500}");
|
|
98
|
+
@source inline("{dark:,}bg-{orange,blue,green,emerald,amber,violet,pink,purple,gray,yellow,teal,cyan,indigo}-500/{20,30}");
|
|
99
|
+
@source inline("{dark:,}text-{orange,blue,green,emerald,amber,violet,pink,purple,gray,yellow,teal,cyan,indigo}-{100,300,400,500,800}");
|
|
100
|
+
@source inline("{dark:,group-hover:,}text-{orange,blue,green,emerald,amber,violet,pink,purple,gray,yellow,teal,cyan,indigo}-{100,300,400,500,600,800}");
|
|
101
|
+
@source inline("{dark:,}ring-{orange,blue,green,emerald,amber,violet,pink,purple,gray,yellow,teal,cyan,indigo}-500/30");
|
|
102
|
+
@source inline("{group-hover:,dark:group-hover:,}text-{orange,blue,green,emerald,amber,violet,pink,purple,gray,yellow,teal,cyan,indigo}-{400,600}");
|
|
@@ -108,6 +108,8 @@
|
|
|
108
108
|
--ec-badge-design-text: 15 118 110; /* teal-700 */
|
|
109
109
|
--ec-badge-channel-bg: 224 231 255; /* indigo-100 */
|
|
110
110
|
--ec-badge-channel-text: 67 56 202; /* indigo-700 */
|
|
111
|
+
--ec-badge-container-bg: 224 231 255; /* indigo-100 */
|
|
112
|
+
--ec-badge-container-text: 67 56 202; /* indigo-700 */
|
|
111
113
|
--ec-badge-data-product-bg: 219 234 254; /* blue-100 */
|
|
112
114
|
--ec-badge-data-product-text: 30 64 175; /* blue-800 */
|
|
113
115
|
--ec-badge-default-bg: 243 244 246; /* gray-100 */
|
|
@@ -214,6 +216,8 @@
|
|
|
214
216
|
--ec-badge-design-text: 94 234 212; /* teal-300 */
|
|
215
217
|
--ec-badge-channel-bg: 49 46 129 / 0.3; /* indigo-900/30 */
|
|
216
218
|
--ec-badge-channel-text: 165 180 252; /* indigo-300 */
|
|
219
|
+
--ec-badge-container-bg: 49 46 129 / 0.3; /* indigo-900/30 */
|
|
220
|
+
--ec-badge-container-text: 165 180 252; /* indigo-300 */
|
|
217
221
|
--ec-badge-data-product-bg: 30 64 175 / 0.3; /* blue-800/30 */
|
|
218
222
|
--ec-badge-data-product-text: 147 197 253; /* blue-300 */
|
|
219
223
|
--ec-badge-default-bg: 63 63 70 / 0.3; /* zinc-700/30 */
|