@eventcatalog/core 3.40.2 → 3.41.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.
- package/dist/__mocks__/astro-content.d.cts +1 -1
- package/dist/__mocks__/astro-content.d.ts +1 -1
- package/dist/analytics/analytics.cjs +1 -1
- package/dist/analytics/analytics.js +2 -2
- package/dist/analytics/count-resources.cjs +1 -0
- package/dist/analytics/count-resources.js +1 -1
- package/dist/analytics/log-build.cjs +3 -1
- package/dist/analytics/log-build.js +4 -4
- package/dist/catalog-to-astro-content-directory.cjs +1 -0
- package/dist/catalog-to-astro-content-directory.js +2 -2
- package/dist/{chunk-4UVFXLPI.js → chunk-3DVHEVHQ.js} +1 -0
- package/dist/{chunk-K3ZVEX2Y.js → chunk-3H2RT3CM.js} +1 -1
- package/dist/{chunk-PWIB7GLR.js → chunk-6C2H2YLW.js} +1 -1
- package/dist/{chunk-D6UVZABG.js → chunk-GNLFCESR.js} +1 -1
- package/dist/{chunk-55D645EH.js → chunk-IR4IAKWS.js} +1 -0
- package/dist/{chunk-YDXB3BD2.js → chunk-O6KT4DPL.js} +1 -1
- package/dist/{chunk-D6IBLY3O.js → chunk-QMORF42U.js} +1 -0
- package/dist/{chunk-5FFRK3S5.js → chunk-UGNBEYJJ.js} +3 -2
- package/dist/{chunk-HSSCHCQA.js → chunk-X5JM6SAH.js} +1 -1
- package/dist/{chunk-B7LKNRMT.js → chunk-Z5A2F2DN.js} +1 -1
- package/dist/constants.cjs +1 -1
- package/dist/constants.js +1 -1
- package/dist/docs/development/components/components/04-agent-tools.md +43 -0
- package/dist/docs/development/guides/agents/01-introduction.md +43 -0
- package/dist/docs/development/guides/agents/02-adding-agents.md +152 -0
- package/dist/docs/development/guides/agents/03-adding-tools.md +92 -0
- package/dist/docs/development/guides/agents/04-model-metadata.md +96 -0
- package/dist/docs/development/guides/agents/_category_.json +11 -0
- package/dist/docs/development/guides/agents/adding-to-agents/01-messages.md +122 -0
- package/dist/docs/development/guides/agents/adding-to-agents/02-datastores.md +62 -0
- package/dist/docs/development/guides/agents/adding-to-agents/_category_.json +10 -0
- package/dist/docs/development/guides/agents/ownership/01-owners.md +67 -0
- package/dist/docs/development/guides/agents/ownership/_category_.json +11 -0
- package/dist/docs/development/guides/agents/versioning-and-lifecycle/01-versioning.md +48 -0
- package/dist/docs/development/guides/agents/versioning-and-lifecycle/02-changelog.md +40 -0
- package/dist/docs/development/guides/agents/versioning-and-lifecycle/03-deprecating.md +41 -0
- package/dist/docs/development/guides/agents/versioning-and-lifecycle/_category_.json +11 -0
- package/dist/docs/development/guides/domains/02-creating-domains/03-adding-services-to-domains.md +27 -0
- package/dist/docs/development/guides/flows/03-flow-nodes.md +30 -0
- package/dist/eventcatalog.cjs +5 -1
- package/dist/eventcatalog.config.d.cts +4 -0
- package/dist/eventcatalog.config.d.ts +4 -0
- package/dist/eventcatalog.js +10 -10
- package/dist/generate.cjs +1 -1
- package/dist/generate.js +3 -3
- package/dist/map-catalog-to-astro.cjs +1 -0
- package/dist/map-catalog-to-astro.js +1 -1
- package/dist/search-indexer.cjs +1 -0
- package/dist/search-indexer.js +1 -1
- package/dist/utils/cli-logger.cjs +1 -1
- package/dist/utils/cli-logger.js +2 -2
- package/dist/watcher.cjs +1 -0
- package/dist/watcher.js +2 -2
- package/eventcatalog/public/agents/anthropic-dark.svg +1 -0
- package/eventcatalog/public/agents/anthropic-light.svg +1 -0
- package/eventcatalog/public/agents/openai-dark.svg +1 -0
- package/eventcatalog/public/agents/openai-light.svg +1 -0
- package/eventcatalog/public/agents/openai.svg +1 -0
- package/eventcatalog/public/icons/agent/anthropic-dark.svg +1 -0
- package/eventcatalog/public/icons/agent/anthropic-light.svg +1 -0
- package/eventcatalog/public/icons/agent/anthropic.svg +1 -0
- package/eventcatalog/public/icons/agent/gemini.svg +1 -0
- package/eventcatalog/public/icons/agent/openai-dark.svg +1 -0
- package/eventcatalog/public/icons/agent/openai-light.svg +1 -0
- package/eventcatalog/public/icons/agent/openai.svg +1 -0
- package/eventcatalog/public/icons/agents/anthropic-dark.svg +1 -0
- package/eventcatalog/public/icons/agents/anthropic-light.svg +1 -0
- package/eventcatalog/public/icons/agents/anthropic.svg +1 -0
- package/eventcatalog/public/icons/agents/gemini.svg +1 -0
- package/eventcatalog/public/icons/agents/openai-dark.svg +1 -0
- package/eventcatalog/public/icons/agents/openai-light.svg +1 -0
- package/eventcatalog/public/icons/agents/openai.svg +1 -0
- package/eventcatalog/public/icons/protocols/mcp-dark.svg +1 -0
- package/eventcatalog/public/icons/protocols/mcp-light.svg +1 -0
- package/eventcatalog/public/icons/protocols/mcp.svg +1 -0
- package/eventcatalog/public/icons/tools/datadog.svg +1 -0
- package/eventcatalog/public/icons/tools/github.svg +1 -0
- package/eventcatalog/public/icons/tools/hubspot.svg +1 -0
- package/eventcatalog/public/icons/tools/slack.svg +1 -0
- package/eventcatalog/public/icons/tools/snowflake.svg +1 -0
- package/eventcatalog/public/icons/tools/zendesk.svg +1 -0
- package/eventcatalog/src/components/Badge.astro +41 -2
- package/eventcatalog/src/components/Grids/MessageGrid.tsx +16 -11
- package/eventcatalog/src/components/MDX/AgentTools/AgentTools.astro +132 -0
- package/eventcatalog/src/components/MDX/NodeGraph/NodeGraph.astro +2 -0
- package/eventcatalog/src/components/MDX/ResourceRef/ResourceRef.astro +8 -3
- package/eventcatalog/src/components/MDX/components.tsx +2 -0
- package/eventcatalog/src/components/Search/SearchModal.tsx +3 -0
- package/eventcatalog/src/components/Search/search-utils.ts +2 -0
- package/eventcatalog/src/components/SideNav/NestedSideBar/SearchBar.tsx +3 -0
- package/eventcatalog/src/components/SideNav/NestedSideBar/index.tsx +3 -0
- package/eventcatalog/src/components/Tables/Discover/DiscoverTable.tsx +165 -0
- package/eventcatalog/src/components/Tables/Discover/columns.tsx +132 -7
- package/eventcatalog/src/components/Tables/Table.tsx +2 -0
- package/eventcatalog/src/components/Tables/columns/TeamsTableColumns.tsx +17 -0
- package/eventcatalog/src/components/Tables/columns/UserTableColumns.tsx +17 -0
- package/eventcatalog/src/content.config.ts +83 -25
- package/eventcatalog/src/enterprise/collections/resource-docs-utils.ts +7 -4
- package/eventcatalog/src/enterprise/mcp/mcp-server.ts +9 -2
- package/eventcatalog/src/enterprise/tools/catalog-tools.ts +62 -28
- package/eventcatalog/src/layouts/VerticalSideBarLayout.astro +13 -1
- package/eventcatalog/src/pages/_index.astro +1 -3
- package/eventcatalog/src/pages/architecture/[type]/[id]/[version]/_index.data.ts +5 -5
- package/eventcatalog/src/pages/architecture/[type]/[id]/[version]/index.astro +5 -2
- package/eventcatalog/src/pages/directory/[type]/index.astro +2 -0
- package/eventcatalog/src/pages/discover/[type]/_index.data.ts +5 -0
- package/eventcatalog/src/pages/discover/[type]/index.astro +69 -23
- package/eventcatalog/src/pages/docs/[type]/[id]/[version]/[docType]/[docId].mdx.ts +1 -0
- package/eventcatalog/src/pages/docs/[type]/[id]/[version]/_index.data.ts +1 -0
- package/eventcatalog/src/pages/docs/[type]/[id]/[version]/changelog/_index.data.ts +1 -1
- package/eventcatalog/src/pages/docs/[type]/[id]/[version]/index.astro +47 -2
- 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/[type]/[id]/_index.data.ts +1 -0
- package/eventcatalog/src/pages/docs/llm/llms-full.txt.ts +3 -0
- package/eventcatalog/src/pages/docs/llm/llms.txt.ts +3 -0
- package/eventcatalog/src/pages/docs/teams/[id]/index.astro +24 -1
- package/eventcatalog/src/pages/docs/users/[id]/index.astro +24 -1
- package/eventcatalog/src/pages/visualiser/[type]/[id]/[version]/_index.data.ts +2 -1
- package/eventcatalog/src/stores/sidebar-store/builders/agent.ts +141 -0
- package/eventcatalog/src/stores/sidebar-store/builders/domain.ts +9 -0
- package/eventcatalog/src/stores/sidebar-store/builders/flow.ts +19 -0
- package/eventcatalog/src/stores/sidebar-store/builders/message.ts +8 -2
- package/eventcatalog/src/stores/sidebar-store/builders/shared.ts +10 -7
- package/eventcatalog/src/stores/sidebar-store/state.ts +121 -2
- package/eventcatalog/src/types/index.ts +3 -1
- package/eventcatalog/src/utils/collection-colors.ts +5 -0
- package/eventcatalog/src/utils/collections/agents.ts +163 -0
- package/eventcatalog/src/utils/collections/commands.ts +3 -2
- package/eventcatalog/src/utils/collections/domains.ts +94 -15
- package/eventcatalog/src/utils/collections/events.ts +3 -2
- package/eventcatalog/src/utils/collections/flows.ts +20 -3
- package/eventcatalog/src/utils/collections/icons.ts +3 -1
- package/eventcatalog/src/utils/collections/messages.ts +35 -5
- package/eventcatalog/src/utils/collections/queries.ts +3 -2
- package/eventcatalog/src/utils/collections/schemas.ts +4 -4
- package/eventcatalog/src/utils/collections/services.ts +1 -1
- package/eventcatalog/src/utils/collections/teams.ts +5 -1
- package/eventcatalog/src/utils/collections/types.ts +1 -0
- package/eventcatalog/src/utils/collections/users.ts +5 -1
- package/eventcatalog/src/utils/collections/util.ts +2 -0
- package/eventcatalog/src/utils/eventcatalog-config/catalog.ts +1 -0
- package/eventcatalog/src/utils/llms.ts +1 -1
- package/eventcatalog/src/utils/node-graphs/agents-node-graph.ts +4 -0
- package/eventcatalog/src/utils/node-graphs/container-node-graph.ts +2 -2
- package/eventcatalog/src/utils/node-graphs/domains-node-graph.ts +42 -9
- package/eventcatalog/src/utils/node-graphs/export-mermaid.ts +20 -0
- package/eventcatalog/src/utils/node-graphs/export-node-graph.ts +4 -0
- package/eventcatalog/src/utils/node-graphs/flows-node-graph.ts +22 -1
- package/eventcatalog/src/utils/node-graphs/message-node-graph.ts +175 -98
- package/eventcatalog/src/utils/node-graphs/services-node-graph.ts +117 -23
- package/eventcatalog/src/utils/node-graphs/utils/utils.ts +30 -0
- package/eventcatalog/src/utils/page-loaders/page-data-loader.ts +2 -0
- package/eventcatalog/src/utils/resource-reference-colors.ts +1 -0
- package/package.json +4 -4
- /package/dist/docs/development/components/components/{04-attachments.md → 05-attachments.md} +0 -0
- /package/dist/docs/development/components/components/{05-channel-information.md → 06-channel-information.md} +0 -0
- /package/dist/docs/development/components/components/{06-design.md → 07-design.md} +0 -0
- /package/dist/docs/development/components/components/{07-entitymap.md → 08-entitymap.md} +0 -0
- /package/dist/docs/development/components/components/{08-flow.md → 09-flow.md} +0 -0
- /package/dist/docs/development/components/components/{09-link.md → 10-link.md} +0 -0
- /package/dist/docs/development/components/components/{10-mermaid-file-loader.md → 11-mermaid-file-loader.md} +0 -0
- /package/dist/docs/development/components/components/{11-message-table.md → 12-message-table.md} +0 -0
- /package/dist/docs/development/components/components/{12-nodegraph.md → 13-nodegraph.md} +0 -0
- /package/dist/docs/development/components/components/{13-openapi.md → 14-openapi.md} +0 -0
- /package/dist/docs/development/components/components/{14-prompt.md → 15-prompt.md} +0 -0
- /package/dist/docs/development/components/components/{15-remote-schema.md → 16-remote-schema.md} +0 -0
- /package/dist/docs/development/components/components/{16-resource-group-table.md → 17-resource-group-table.md} +0 -0
- /package/dist/docs/development/components/components/{17-resource-link.md → 18-resource-link.md} +0 -0
- /package/dist/docs/development/components/components/{18-schema.md → 19-schema.md} +0 -0
- /package/dist/docs/development/components/components/{19-schema-viewer.md → 20-schema-viewer.md} +0 -0
- /package/dist/docs/development/components/components/{20-steps.md → 21-steps.md} +0 -0
- /package/dist/docs/development/components/components/{21-tabs.md → 22-tabs.md} +0 -0
- /package/dist/docs/development/components/components/{22-tiles.md → 23-tiles.md} +0 -0
- /package/dist/docs/development/components/components/{23-visibility.md → 24-visibility.md} +0 -0
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
declare const getCollection: (key: string, filter?: (entry: any) => boolean) => Promise<never[]>;
|
|
2
|
-
type CollectionKey = 'events' | 'services' | 'commands' | 'queries' | 'domains' | 'channels' | 'flows' | 'messages' | 'entities' | 'schemas';
|
|
2
|
+
type CollectionKey = 'agents' | 'events' | 'services' | 'commands' | 'queries' | 'domains' | 'channels' | 'flows' | 'messages' | 'entities' | 'schemas';
|
|
3
3
|
type CollectionEntry<T extends CollectionKey> = {
|
|
4
4
|
id: string;
|
|
5
5
|
slug: string;
|
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
declare const getCollection: (key: string, filter?: (entry: any) => boolean) => Promise<never[]>;
|
|
2
|
-
type CollectionKey = 'events' | 'services' | 'commands' | 'queries' | 'domains' | 'channels' | 'flows' | 'messages' | 'entities' | 'schemas';
|
|
2
|
+
type CollectionKey = 'agents' | 'events' | 'services' | 'commands' | 'queries' | 'domains' | 'channels' | 'flows' | 'messages' | 'entities' | 'schemas';
|
|
3
3
|
type CollectionEntry<T extends CollectionKey> = {
|
|
4
4
|
id: string;
|
|
5
5
|
slug: string;
|
|
@@ -26,6 +26,7 @@ __export(count_resources_exports, {
|
|
|
26
26
|
module.exports = __toCommonJS(count_resources_exports);
|
|
27
27
|
var import_glob = require("glob");
|
|
28
28
|
var RESOURCE_PATTERNS = {
|
|
29
|
+
agents: ["**/agents/*/index.@(md|mdx)"],
|
|
29
30
|
events: ["**/events/*/index.@(md|mdx)"],
|
|
30
31
|
commands: ["**/commands/*/index.@(md|mdx)"],
|
|
31
32
|
queries: ["**/queries/*/index.@(md|mdx)"],
|
|
@@ -111,7 +111,7 @@ var import_axios = __toESM(require("axios"), 1);
|
|
|
111
111
|
var import_os = __toESM(require("os"), 1);
|
|
112
112
|
|
|
113
113
|
// package.json
|
|
114
|
-
var version = "3.
|
|
114
|
+
var version = "3.41.1";
|
|
115
115
|
|
|
116
116
|
// src/constants.ts
|
|
117
117
|
var VERSION = version;
|
|
@@ -143,6 +143,7 @@ async function raiseEvent(eventData) {
|
|
|
143
143
|
// src/analytics/count-resources.js
|
|
144
144
|
var import_glob = require("glob");
|
|
145
145
|
var RESOURCE_PATTERNS = {
|
|
146
|
+
agents: ["**/agents/*/index.@(md|mdx)"],
|
|
146
147
|
events: ["**/events/*/index.@(md|mdx)"],
|
|
147
148
|
commands: ["**/commands/*/index.@(md|mdx)"],
|
|
148
149
|
queries: ["**/queries/*/index.@(md|mdx)"],
|
|
@@ -189,6 +190,7 @@ var getFeatures = async (configFile) => {
|
|
|
189
190
|
};
|
|
190
191
|
var CLOUD_ANALYTICS_ENDPOINT = "https://api.ecingest.dev/v1/analytics/ingest";
|
|
191
192
|
var toCloudResourceCounts = (counts) => ({
|
|
193
|
+
agents: counts.agents || 0,
|
|
192
194
|
domains: counts.domains || 0,
|
|
193
195
|
services: counts.services || 0,
|
|
194
196
|
events: counts.events || 0,
|
|
@@ -1,9 +1,9 @@
|
|
|
1
1
|
import {
|
|
2
2
|
log_build_default
|
|
3
|
-
} from "../chunk-
|
|
4
|
-
import "../chunk-
|
|
5
|
-
import "../chunk-
|
|
6
|
-
import "../chunk-
|
|
3
|
+
} from "../chunk-UGNBEYJJ.js";
|
|
4
|
+
import "../chunk-6C2H2YLW.js";
|
|
5
|
+
import "../chunk-3DVHEVHQ.js";
|
|
6
|
+
import "../chunk-X5JM6SAH.js";
|
|
7
7
|
import "../chunk-5T63CXKU.js";
|
|
8
8
|
export {
|
|
9
9
|
log_build_default as default
|
|
@@ -120,6 +120,7 @@ var verifyRequiredFieldsAreInCatalogConfigFile = async (projectDirectory) => {
|
|
|
120
120
|
// src/map-catalog-to-astro.js
|
|
121
121
|
var import_node_path2 = __toESM(require("path"), 1);
|
|
122
122
|
var COLLECTION_KEYS = [
|
|
123
|
+
"agents",
|
|
123
124
|
"events",
|
|
124
125
|
"commands",
|
|
125
126
|
"services",
|
|
@@ -1,6 +1,7 @@
|
|
|
1
1
|
// src/analytics/count-resources.js
|
|
2
2
|
import { glob } from "glob";
|
|
3
3
|
var RESOURCE_PATTERNS = {
|
|
4
|
+
agents: ["**/agents/*/index.@(md|mdx)"],
|
|
4
5
|
events: ["**/events/*/index.@(md|mdx)"],
|
|
5
6
|
commands: ["**/commands/*/index.@(md|mdx)"],
|
|
6
7
|
queries: ["**/queries/*/index.@(md|mdx)"],
|
|
@@ -4,6 +4,7 @@ import path from "path";
|
|
|
4
4
|
import { glob } from "glob";
|
|
5
5
|
import matter from "gray-matter";
|
|
6
6
|
var RESOURCE_COLLECTIONS = {
|
|
7
|
+
agents: { docsPath: "agents", type: "Agent" },
|
|
7
8
|
channels: { docsPath: "channels", type: "Channel" },
|
|
8
9
|
commands: { docsPath: "commands", type: "Command" },
|
|
9
10
|
containers: { docsPath: "containers", type: "Container" },
|
|
@@ -1,10 +1,10 @@
|
|
|
1
1
|
import {
|
|
2
2
|
raiseEvent
|
|
3
|
-
} from "./chunk-
|
|
3
|
+
} from "./chunk-6C2H2YLW.js";
|
|
4
4
|
import {
|
|
5
5
|
countResources,
|
|
6
6
|
serializeCounts
|
|
7
|
-
} from "./chunk-
|
|
7
|
+
} from "./chunk-3DVHEVHQ.js";
|
|
8
8
|
import {
|
|
9
9
|
getEventCatalogConfigFile,
|
|
10
10
|
verifyRequiredFieldsAreInCatalogConfigFile
|
|
@@ -21,6 +21,7 @@ var getFeatures = async (configFile) => {
|
|
|
21
21
|
};
|
|
22
22
|
var CLOUD_ANALYTICS_ENDPOINT = "https://api.ecingest.dev/v1/analytics/ingest";
|
|
23
23
|
var toCloudResourceCounts = (counts) => ({
|
|
24
|
+
agents: counts.agents || 0,
|
|
24
25
|
domains: counts.domains || 0,
|
|
25
26
|
services: counts.services || 0,
|
|
26
27
|
events: counts.events || 0,
|
package/dist/constants.cjs
CHANGED
package/dist/constants.js
CHANGED
|
@@ -0,0 +1,43 @@
|
|
|
1
|
+
---
|
|
2
|
+
sidebar_position: 2
|
|
3
|
+
keywords:
|
|
4
|
+
- components
|
|
5
|
+
- agents
|
|
6
|
+
- agent tools
|
|
7
|
+
sidebar_label: AgentTools
|
|
8
|
+
title: AgentTools
|
|
9
|
+
description: Component for displaying the tools an agent can call in EventCatalog
|
|
10
|
+
---
|
|
11
|
+
|
|
12
|
+
import AddedIn from '@site/src/components/MDX/AddedIn';
|
|
13
|
+
|
|
14
|
+
<AddedIn version="3.41.0" />
|
|
15
|
+
|
|
16
|
+
The `<AgentTools/>` component renders a table of the tools an agent can call (MCP servers, REST APIs, internal search indexes, databases, and so on).
|
|
17
|
+
|
|
18
|
+
The component reads the `tools` array from the current agent's frontmatter, so it requires no props.
|
|
19
|
+
|
|
20
|
+
### Use case
|
|
21
|
+
|
|
22
|
+
- Display all the external capabilities an agent reaches out to at runtime.
|
|
23
|
+
- Show MCP server endpoints, REST APIs, and other integrations on the agent page.
|
|
24
|
+
|
|
25
|
+
**Basic Example**
|
|
26
|
+
|
|
27
|
+
```jsx /agents/OrderSupportAgent/index.mdx
|
|
28
|
+
<AgentTools />
|
|
29
|
+
```
|
|
30
|
+
|
|
31
|
+
### Output
|
|
32
|
+
|
|
33
|
+

|
|
34
|
+
|
|
35
|
+
### Props
|
|
36
|
+
|
|
37
|
+
The `<AgentTools/>` component takes no props — it reads the `tools` array from the current agent's frontmatter.
|
|
38
|
+
|
|
39
|
+
For details on the `tools` frontmatter shape, see [Agent tools](/docs/development/guides/agents/adding-tools).
|
|
40
|
+
|
|
41
|
+
### Support
|
|
42
|
+
|
|
43
|
+
The `<AgentTools/>` component is supported in agent pages only. If you add it to a service, message, or domain page, the catalog will display a warning and skip the table.
|
|
@@ -0,0 +1,43 @@
|
|
|
1
|
+
---
|
|
2
|
+
sidebar_position: 1
|
|
3
|
+
keywords:
|
|
4
|
+
- EventCatalog agents
|
|
5
|
+
- AI agents
|
|
6
|
+
- LLM agents
|
|
7
|
+
- agent documentation
|
|
8
|
+
sidebar_label: What are agents?
|
|
9
|
+
title: Understanding agents
|
|
10
|
+
description: Document and govern AI agents alongside your services and events.
|
|
11
|
+
---
|
|
12
|
+
|
|
13
|
+
import AddedIn from '@site/src/components/MDX/AddedIn';
|
|
14
|
+
|
|
15
|
+
<AddedIn version="3.41.0" />
|
|
16
|
+
|
|
17
|
+
In EventCatalog, agents represent AI-powered components in your architecture. They sit alongside services, messages, domains, and flows as first-class catalog resources.
|
|
18
|
+
|
|
19
|
+
An agent typically wraps a large language model (LLM) and is given access to tools (MCP servers, APIs, databases) so it can take autonomous or semi-autonomous actions.
|
|
20
|
+
|
|
21
|
+

|
|
22
|
+
|
|
23
|
+
## Why document agents?
|
|
24
|
+
|
|
25
|
+
As AI agents take on real responsibilities in production systems they become part of your architecture whether or not they are documented.
|
|
26
|
+
|
|
27
|
+
Cataloging them gives your team:
|
|
28
|
+
|
|
29
|
+
- **Discoverability** — engineers and stakeholders can find what agents exist, what they do, and who owns them.
|
|
30
|
+
- **Model governance** — the `model` block captures which provider, model, and snapshot version the agent runs on so drift is visible in the catalog.
|
|
31
|
+
- **Tool transparency** — the `tools` array lists every external capability (MCP server, API, database) the agent can reach.
|
|
32
|
+
|
|
33
|
+
## Where agents live in your architecture
|
|
34
|
+
|
|
35
|
+
Agents can belong to a domain or subdomain, or sit at the root of your catalog alongside services. They participate in flows as first-class steps and appear in search, the sidebar, and the discover page.
|
|
36
|
+
|
|
37
|
+

|
|
38
|
+
|
|
39
|
+
## Finding agents in your catalog
|
|
40
|
+
|
|
41
|
+
Agents appear in the discover page alongside services, messages, domains, and flows. You can search, filter, and browse them the same way you would any other resource.
|
|
42
|
+
|
|
43
|
+

|
|
@@ -0,0 +1,152 @@
|
|
|
1
|
+
---
|
|
2
|
+
sidebar_position: 2
|
|
3
|
+
keywords:
|
|
4
|
+
- EventCatalog agents
|
|
5
|
+
- AI agents
|
|
6
|
+
- creating agents
|
|
7
|
+
sidebar_label: Creating an agent
|
|
8
|
+
title: Creating agents
|
|
9
|
+
description: Creating and managing agents within EventCatalog.
|
|
10
|
+
---
|
|
11
|
+
|
|
12
|
+
import AddedIn from '@site/src/components/MDX/AddedIn';
|
|
13
|
+
|
|
14
|
+
<AddedIn version="3.41.0" />
|
|
15
|
+
|
|
16
|
+
Agents in EventCatalog are a great way to document AI-powered capabilities in your architecture.
|
|
17
|
+
|
|
18
|
+
You can also add [tools](/docs/development/guides/agents/adding-tools) and [model metadata](/docs/development/guides/agents/model-metadata) to your agents.
|
|
19
|
+
|
|
20
|
+
### What do agents look like in EventCatalog?
|
|
21
|
+
|
|
22
|
+

|
|
23
|
+
|
|
24
|
+
## Adding a new agent
|
|
25
|
+
|
|
26
|
+
To add a new agent, create a folder inside an `agents` directory with an `index.mdx` file.
|
|
27
|
+
|
|
28
|
+
- `/agents/{Agent Name}/index.mdx`
|
|
29
|
+
- (example `/agents/FraudReviewAgent/index.mdx`)
|
|
30
|
+
|
|
31
|
+
You can also place agents inside a domain or subdomain:
|
|
32
|
+
|
|
33
|
+
- `/domains/{Domain Name}/agents/{Agent Name}/index.mdx`
|
|
34
|
+
- (example `/domains/Payment/agents/FraudReviewAgent/index.mdx`)
|
|
35
|
+
- `/domains/{Domain Name}/subdomains/{Subdomain Name}/agents/{Agent Name}/index.mdx`
|
|
36
|
+
- (example `/domains/E-Commerce/subdomains/Payment/agents/FraudReviewAgent/index.mdx`)
|
|
37
|
+
|
|
38
|
+
_Here is an example of what an agent markdown file may look like._
|
|
39
|
+
|
|
40
|
+
```md title="/agents/FraudReviewAgent/index.mdx (example)"
|
|
41
|
+
---
|
|
42
|
+
# id of your agent, used for slugs and references in EventCatalog.
|
|
43
|
+
id: FraudReviewAgent
|
|
44
|
+
|
|
45
|
+
# Display name of the Agent, rendered in EventCatalog
|
|
46
|
+
name: Fraud Review Agent
|
|
47
|
+
|
|
48
|
+
# Version of the Agent
|
|
49
|
+
version: 0.0.1
|
|
50
|
+
|
|
51
|
+
# Short summary of your Agent
|
|
52
|
+
summary: |
|
|
53
|
+
Reviews risky payments, explains fraud signals, and recommends whether payment processing should continue.
|
|
54
|
+
|
|
55
|
+
# Optional owners, references teams or users
|
|
56
|
+
owners:
|
|
57
|
+
- dboyne
|
|
58
|
+
|
|
59
|
+
# Optional model metadata describing the LLM this agent runs on
|
|
60
|
+
model:
|
|
61
|
+
provider: OpenAI
|
|
62
|
+
name: gpt-4.1
|
|
63
|
+
version: "2025-04-14"
|
|
64
|
+
|
|
65
|
+
# Optional external tools the agent can call
|
|
66
|
+
tools:
|
|
67
|
+
- name: Risk profile lookup
|
|
68
|
+
type: mcp
|
|
69
|
+
icon: /icons/tools/datadog.svg
|
|
70
|
+
url: https://mcp.example.com/fraud/risk-profile
|
|
71
|
+
description: Retrieves transaction anomaly, device fingerprint, and fraud model signals.
|
|
72
|
+
|
|
73
|
+
# Optional messages this agent receives and it's version
|
|
74
|
+
receives:
|
|
75
|
+
- id: PaymentInitiated
|
|
76
|
+
version: 0.0.1
|
|
77
|
+
|
|
78
|
+
# Optional messages this agent sends and it's version
|
|
79
|
+
sends:
|
|
80
|
+
- id: FraudReviewCompleted
|
|
81
|
+
version: 0.0.1
|
|
82
|
+
|
|
83
|
+
# Optional data stores this agent reads from
|
|
84
|
+
readsFrom:
|
|
85
|
+
- id: fraud-analytics-db
|
|
86
|
+
version: 0.0.1
|
|
87
|
+
|
|
88
|
+
# Optional badges, rendered to UI by EventCatalog
|
|
89
|
+
badges:
|
|
90
|
+
- content: AI Agent
|
|
91
|
+
backgroundColor: purple
|
|
92
|
+
textColor: purple
|
|
93
|
+
---
|
|
94
|
+
|
|
95
|
+
## Overview
|
|
96
|
+
|
|
97
|
+
The Fraud Review Agent reviews risky payment attempts before they continue through the payment gateway.
|
|
98
|
+
|
|
99
|
+
<NodeGraph />
|
|
100
|
+
|
|
101
|
+
## Tools
|
|
102
|
+
|
|
103
|
+
<AgentTools />
|
|
104
|
+
```
|
|
105
|
+
|
|
106
|
+
## Adding content
|
|
107
|
+
|
|
108
|
+
With **agents** you can write any Markdown you want and it will render on your page. Every agent gets its own page.
|
|
109
|
+
|
|
110
|
+
Within your markdown content you can use [components](/docs/development/components/using-components) to add interactive components to your page.
|
|
111
|
+
|
|
112
|
+
## Adding tools to your agent
|
|
113
|
+
|
|
114
|
+
You can document the external tools (MCP servers, APIs, databases) an agent can call.
|
|
115
|
+
|
|
116
|
+
You can read more about adding tools to your agent [here](/docs/development/guides/agents/adding-tools).
|
|
117
|
+
|
|
118
|
+
## Attaching an agent to a domain
|
|
119
|
+
|
|
120
|
+
To associate an agent with a domain, add its `id` to the `agents` array in the domain's frontmatter:
|
|
121
|
+
|
|
122
|
+
```md title="/domains/Payment/index.mdx (example)"
|
|
123
|
+
---
|
|
124
|
+
id: Payment
|
|
125
|
+
name: Payment Domain
|
|
126
|
+
version: 0.0.1
|
|
127
|
+
agents:
|
|
128
|
+
- id: FraudReviewAgent
|
|
129
|
+
version: 0.0.1
|
|
130
|
+
services:
|
|
131
|
+
- id: PaymentService
|
|
132
|
+
version: 0.0.1
|
|
133
|
+
---
|
|
134
|
+
```
|
|
135
|
+
|
|
136
|
+
EventCatalog will show the agent in the domain sidebar and include it in the domain visualiser.
|
|
137
|
+
|
|
138
|
+
## Custom icon
|
|
139
|
+
|
|
140
|
+
Set `styles.icon` in your frontmatter to display a custom icon on the agent. The icon appears in the visualiser node, sidebar navigation, page header, and search results.
|
|
141
|
+
|
|
142
|
+
```md title="/agents/FraudReviewAgent/index.mdx (example)"
|
|
143
|
+
---
|
|
144
|
+
id: FraudReviewAgent
|
|
145
|
+
name: Fraud Review Agent
|
|
146
|
+
version: 0.0.1
|
|
147
|
+
styles:
|
|
148
|
+
icon: /icons/agents/fraud-review.svg
|
|
149
|
+
---
|
|
150
|
+
```
|
|
151
|
+
|
|
152
|
+
The value can be a path to a file in your catalog's `public/` folder (e.g. `/icons/logo.svg`) or an absolute URL. [Simple Icons CDN](https://cdn.simpleicons.org) is a useful source for brand logos.
|
|
@@ -0,0 +1,92 @@
|
|
|
1
|
+
---
|
|
2
|
+
sidebar_position: 3
|
|
3
|
+
keywords:
|
|
4
|
+
- EventCatalog agents
|
|
5
|
+
- agent tools
|
|
6
|
+
- MCP
|
|
7
|
+
- AgentTools component
|
|
8
|
+
sidebar_label: Agent tools
|
|
9
|
+
title: Agent tools
|
|
10
|
+
description: Document and display the tools an agent can call.
|
|
11
|
+
---
|
|
12
|
+
|
|
13
|
+
import AddedIn from '@site/src/components/MDX/AddedIn';
|
|
14
|
+
|
|
15
|
+
<AddedIn version="3.41.0" />
|
|
16
|
+
|
|
17
|
+
Agents often call external capabilities to do their work — MCP servers, REST APIs, internal search indexes, or databases. The `tools` array in an agent's frontmatter captures these dependencies so anyone reading the catalog can understand what the agent reaches out to at runtime.
|
|
18
|
+
|
|
19
|
+

|
|
20
|
+
|
|
21
|
+
## Define tools in frontmatter
|
|
22
|
+
|
|
23
|
+
Add a `tools` array to your agent's frontmatter. Each entry describes one tool:
|
|
24
|
+
|
|
25
|
+
```md title="/agents/OrderSupportAgent/index.mdx (example)"
|
|
26
|
+
---
|
|
27
|
+
# id of your agent, used for slugs and references in EventCatalog.
|
|
28
|
+
id: OrderSupportAgent
|
|
29
|
+
|
|
30
|
+
# Display name of the Agent, rendered in EventCatalog
|
|
31
|
+
name: Order Support Agent
|
|
32
|
+
|
|
33
|
+
# Version of the Agent
|
|
34
|
+
version: 0.0.1
|
|
35
|
+
|
|
36
|
+
# Optional external tools the agent can call
|
|
37
|
+
tools:
|
|
38
|
+
# Display name of the tool
|
|
39
|
+
- name: Order lookup
|
|
40
|
+
# Type of tool (e.g. `mcp`, `api`) — free-form string
|
|
41
|
+
type: mcp
|
|
42
|
+
# Optional icon path (from your catalog's `public/` folder) or absolute URL
|
|
43
|
+
icon: /icons/tools/snowflake.svg
|
|
44
|
+
# Optional link to the tool endpoint or documentation
|
|
45
|
+
url: https://mcp.example.com/orders/lookup
|
|
46
|
+
# Optional short description of what the tool does
|
|
47
|
+
description: Retrieves order status, totals, shipment milestones, and recent order events from the operational read model.
|
|
48
|
+
- name: Support case notes
|
|
49
|
+
type: mcp
|
|
50
|
+
icon: /icons/tools/zendesk.svg
|
|
51
|
+
url: https://mcp.example.com/support/case-notes
|
|
52
|
+
description: Appends investigation notes, suggested customer replies, and follow-up actions to the support ticket.
|
|
53
|
+
---
|
|
54
|
+
```
|
|
55
|
+
|
|
56
|
+
### Tool fields
|
|
57
|
+
|
|
58
|
+
| Field | Required | Description |
|
|
59
|
+
|-------|----------|-------------|
|
|
60
|
+
| `name` | Yes | Display name of the tool |
|
|
61
|
+
| `type` | Yes | Free-form string — use `mcp` for MCP servers, `api` for REST/HTTP endpoints, or any label that fits your stack |
|
|
62
|
+
| `icon` | No | Path in your catalog's `public/` folder or an absolute URL to an icon image |
|
|
63
|
+
| `url` | No | Link to the tool endpoint or documentation |
|
|
64
|
+
| `description` | No | One or two sentences describing what the tool does |
|
|
65
|
+
|
|
66
|
+
The `type` field is a plain string. `mcp` gets special rendering in the catalog (the MCP logo appears next to the badge), but you can use any value that is meaningful to your team.
|
|
67
|
+
|
|
68
|
+
## Render tools on the page
|
|
69
|
+
|
|
70
|
+
Add the [`<AgentTools />`](/docs/development/components/components/agent-tools) component anywhere in your agent's MDX body to render the tools table. The component reads the `tools` array from the current agent's frontmatter — no props needed.
|
|
71
|
+
|
|
72
|
+
```md title="/agents/OrderSupportAgent/index.mdx (example)"
|
|
73
|
+
---
|
|
74
|
+
id: OrderSupportAgent
|
|
75
|
+
# ... rest of frontmatter
|
|
76
|
+
---
|
|
77
|
+
|
|
78
|
+
This agent helps the support team answer order questions.
|
|
79
|
+
|
|
80
|
+
## Tools
|
|
81
|
+
|
|
82
|
+
<AgentTools />
|
|
83
|
+
|
|
84
|
+
## Responsibilities
|
|
85
|
+
|
|
86
|
+
- Summarize the current state of an order for support staff.
|
|
87
|
+
```
|
|
88
|
+
|
|
89
|
+
`<AgentTools />` is only supported inside agent pages. If you add it to a service or message page, the catalog will display a warning and skip the table.
|
|
90
|
+
|
|
91
|
+

|
|
92
|
+
|
|
@@ -0,0 +1,96 @@
|
|
|
1
|
+
---
|
|
2
|
+
sidebar_position: 4
|
|
3
|
+
keywords:
|
|
4
|
+
- EventCatalog agents
|
|
5
|
+
- LLM model
|
|
6
|
+
- model governance
|
|
7
|
+
- AI governance
|
|
8
|
+
sidebar_label: Model metadata
|
|
9
|
+
title: Model metadata
|
|
10
|
+
description: Capture the LLM provider, model, and version your agent uses.
|
|
11
|
+
---
|
|
12
|
+
|
|
13
|
+
import AddedIn from '@site/src/components/MDX/AddedIn';
|
|
14
|
+
|
|
15
|
+
<AddedIn version="3.41.0" />
|
|
16
|
+
|
|
17
|
+
Every agent can declare the LLM it uses through a `model` block in its frontmatter. This gives your team a single place to see which model powers each agent across your entire catalog.
|
|
18
|
+
|
|
19
|
+

|
|
20
|
+
|
|
21
|
+
## Why track the model?
|
|
22
|
+
|
|
23
|
+
LLM providers release new model versions, retire old snapshots, and change behavior between releases — often without a corresponding code deployment. Capturing `provider`, `name`, and `version` makes it easy to:
|
|
24
|
+
|
|
25
|
+
- Audit which agents are running on deprecated or retired snapshots.
|
|
26
|
+
- Surface model drift when a provider rolls out a new default.
|
|
27
|
+
- Give reviewers the context they need when an agent's output changes unexpectedly.
|
|
28
|
+
|
|
29
|
+
## Add model metadata
|
|
30
|
+
|
|
31
|
+
Add a `model` block to your agent's frontmatter:
|
|
32
|
+
|
|
33
|
+
```md title="/agents/FraudReviewAgent/index.mdx (OpenAI example)"
|
|
34
|
+
---
|
|
35
|
+
id: FraudReviewAgent
|
|
36
|
+
name: Fraud Review Agent
|
|
37
|
+
version: 0.0.1
|
|
38
|
+
|
|
39
|
+
# Optional model metadata describing the LLM this agent runs on
|
|
40
|
+
model:
|
|
41
|
+
# The provider or platform powering the model
|
|
42
|
+
provider: OpenAI
|
|
43
|
+
# The model identifier
|
|
44
|
+
name: gpt-4.1
|
|
45
|
+
# The snapshot or API version of the model
|
|
46
|
+
version: "2025-04-14"
|
|
47
|
+
---
|
|
48
|
+
```
|
|
49
|
+
|
|
50
|
+
```md title="/agents/InventoryRebalancingAgent/index.mdx (Gemini example)"
|
|
51
|
+
---
|
|
52
|
+
id: InventoryRebalancingAgent
|
|
53
|
+
name: Inventory Rebalancing Agent
|
|
54
|
+
version: 0.0.1
|
|
55
|
+
|
|
56
|
+
# Optional model metadata describing the LLM this agent runs on
|
|
57
|
+
model:
|
|
58
|
+
# The provider or platform powering the model
|
|
59
|
+
provider: Gemini
|
|
60
|
+
# The model identifier
|
|
61
|
+
name: gemini-2.5-pro
|
|
62
|
+
# The snapshot or API version of the model
|
|
63
|
+
version: "2025-06-17"
|
|
64
|
+
---
|
|
65
|
+
```
|
|
66
|
+
|
|
67
|
+
```md title="/agents/ProductContentAgent/index.mdx (Anthropic example)"
|
|
68
|
+
---
|
|
69
|
+
id: ProductContentAgent
|
|
70
|
+
name: Product Content Agent
|
|
71
|
+
version: 0.0.1
|
|
72
|
+
|
|
73
|
+
# Optional model metadata describing the LLM this agent runs on
|
|
74
|
+
model:
|
|
75
|
+
# The provider or platform powering the model
|
|
76
|
+
provider: Anthropic
|
|
77
|
+
# The model identifier
|
|
78
|
+
name: claude-sonnet-4-5
|
|
79
|
+
# The snapshot or API version of the model
|
|
80
|
+
version: "20241022"
|
|
81
|
+
---
|
|
82
|
+
```
|
|
83
|
+
|
|
84
|
+
### Model fields
|
|
85
|
+
|
|
86
|
+
| Field | Required | Description |
|
|
87
|
+
|-------|----------|-------------|
|
|
88
|
+
| `provider` | No | The provider or platform — e.g. `OpenAI`, `Anthropic`, `Gemini`, `Azure OpenAI` |
|
|
89
|
+
| `name` | No | The model identifier — e.g. `gpt-4.1`, `claude-sonnet-4-5`, `gemini-2.5-pro` |
|
|
90
|
+
| `version` | No | The snapshot or API version — e.g. `2025-04-14`, `20241022` |
|
|
91
|
+
|
|
92
|
+
All three fields are optional strings. Use whatever convention your provider uses for model identifiers and snapshot dates.
|
|
93
|
+
|
|
94
|
+
## Model changes and versioning
|
|
95
|
+
|
|
96
|
+
When you upgrade the model an agent uses, consider whether the behavior change is significant enough to warrant a new agent version. Capturing the new `model.version` in a versioned snapshot (see [Versioning](/docs/development/guides/agents/versioning-and-lifecycle/versioning)) gives your team a clear record of when the model changed and who approved it.
|